Tuesday, January 06, 2009 Register  Login
RSS Feeds
Categories
  
Blog Archives
  
Blog

Little visual tweak

 176 Views ::  0 Comments RSS comment feed

I have several Subversion servers on my network, so I'm registering new servers in PainlessSVN fairly often. I got tired of trying to figure out what server I was hooked to, so I added a little visual tweak on the server node.

Server node has server name and drive

So now, I can tell exactly what server I'm working with at a glance. I will probably end up adding the ability to keep several servers registered, a la Enterprise Manager and SQL Server Management Studio.

I had to mess with Win32 APIs in order to get this working correctly. Here are the API calls that I used:


public
const uint DRIVE_UNKNOWN = 0; // unknow drive type
public
const uint DRIVE_NO_ROOT_DIR = 1; // invalid root path was given to the function
public
const uint DRIVE_REMOVABLE = 2; // removeable drive like a floppy
public
const uint DRIVE_FIXED = 3; // a fixed drive like a hard disk
public
const uint DRIVE_REMOTE = 4; // a network drive
public
const uint DRIVE_CDROM = 5; // a cd-rom drive
public
const uint DRIVE_RAMDISK = 6; // a ram disk
 
[DllImport("Kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public
static extern uint GetDriveType(string lpRootPathName);

[DllImport("mpr.dll")]
[return: MarshalAs(UnmanagedType.U4)]
public
static extern int WNetGetUniversalName(
string
lpLocalPath,
[MarshalAs(UnmanagedType.U4)] int dwInfoLevel,
IntPtr
lpBuffer,
[MarshalAs(UnmanagedType.U4)] ref int lpBufferSize);

posted @ Wednesday, April 02, 2008 10:22 PM by Hector Sosa, Jr

Posted in: PainlessSVN, Code
Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us

PainlessSVN on Windows Server

 144 Views ::  0 Comments RSS comment feed

Just wanted to let people know that I have now confirmed that PainlessSVN works in the following versions of Windows Servers:

  • Windows 2003 Server 32-bit
  • Windows 2003 Server SP1 32-bit
  • Windows 2003 R2 32-bit
  • Windows 2003 R2 SP1 32-bit
  • Windows 2008 Server 32-bit

I haven't been able to get it to work on the 64-bit versions yet.

posted @ Wednesday, April 02, 2008 10:13 PM by Hector Sosa, Jr

Posted in: PainlessSVN
Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us

Back in the saddle

 130 Views ::  0 Comments RSS comment feed

I'm finally back to productive work with SystemWidgets. I just got the trial stuff worked out. Here's what it will look like:

That part was actually pretty easy to setup with Infralution Licensing System (ILS). The actual registration key creation is taking a tad longer. I had a weird situation with ILS. I couldn't get the sample apps to create and take serial numbers. It turns out that most people will try creating keys before purchasing. The unlicensed code always uses TEST as the password, because the UI will restrict to only be able to use TEST. Well, it happens that I had registered ILS, before I did any serial key testing. I didn't have a trial period, since I just went out and bought it. Since ILS was now unlocked, it was letting me use any password. There was some head scratching, but Infralution tech support set me straight quickly.

The code for PainlessSVN is actually all done. The code has been done for at least 2 months. It's the key generation and integration into my systems that is taking a while. Man, this is painful! I'll endure it, because I hate waiting for serial numbers. It's a personal pet peeve of mine, and don't want to inflict that on my customers. So, I'm making sure that the sales funnel is all automated. I don't have any time frames, as I'm taking it easy with this. I still have low energy levels, and I'm trying to avoid doing too much too quickly.

posted @ Tuesday, April 01, 2008 8:26 PM by Hector Sosa, Jr

Posted in: PainlessSVN
Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us

Light at the end of the tunnel...

 158 Views ::  0 Comments RSS comment feed

The first couple months of 2008 have been quite miserable for me physically. I was having bad headaches and/or migraines every day. It got so bad that I ended up taking up to 6 Excedrin Migraine pills a day. I kept going to the local InstaCare (a non-emergency medical service), but the doctors there did not know what was wrong. Thankfully, one of the doctors gave me Ambien, so that I could at least get some sleep.

Now that I wasn't totally exhausted, I was able to formulate a plan to help me get to the bottom of the headaches. I first removed foods as the culprit, by eating only beef jerky, Gatorade, and water for about a week. I then started looking at stuff like tooth paste, deodorant, shampoo, and hair gel. I went without these for a day.

I first introduced tooth paste. Nothing happened. I introduced my deodorant, and nothing again. Then I introduced the last shampoo, and BLAMO!, nasty headache. I was using both Garnier Fructis with moisturizer and Neutragena T-Gel with scalp treatment. I only tried the Nutragena one, but that was enough to convince me to try Johnson's Baby Shampoo. No headache with the baby stuff. I then tried the hair gel, and BLAMO! again. So I switched to a pomade from Fantastic Sams that only has beeswax, honey, and raspberry. No headache. Whew, relief at last!

Apparently, I've become more sensitive to chemicals than I was before. These two things didn't give me headaches before. Looks like I'm becoming allergic to the modern world. Oh well, now that I'm somewhat back to normal, I can get back to working on the products on this website.

posted @ Monday, March 10, 2008 12:20 PM by Hector Sosa, Jr

Posted in: Personal
Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us

Upper-cut, upper-cut, body-blow, body-blow...

 218 Views ::  0 Comments RSS comment feed

Well, I'm sorry to say that I've been sick with food allergies and reactions to smog. This has been a nasty one-two punch. I haven't been able to concentrate on finishing the last 10% needed to get PainlessSVN out the door.

I have a constant headache, that occasionally spikes into migraines. I'm totally exhausted when I get home from my day job. This means that I've been using the weekends to catch up on my sleep. I started taking some pancreatic enzyme replacement pills to help with the food allergies, but there are a few things that really make me sick, even with the enzymes. Some specific products with wheat have made me really sick this week. My twin daughter made some Valentine's sugar cookies. I tried one from each of their batch. Bad move! I had a very nasty migraine and nausea today. So bad that I had to leave work, and sleep in a darkened room.

Oh well, just wanted to let people know why there wasn't any movement with PainlessSVN or any of the other utilities.

posted @ Wednesday, February 13, 2008 8:20 PM by Hector Sosa, Jr

Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us

Licensing for .NET applications

 231 Views ::  2 Comments RSS comment feed

I had promised a potential customer that I would blog about Infralution Licensing System, a few days ago. Well, here it is.

I want to first talk about what is out there, and why I decided on Infralution. I had a 4 item list for my criteria:

  1. The system/framework must work with my .NET tools and not get in my way. This also means that it needs to be designed specifically designed for .NET applications.
  2. As a bootstrapper, I needed something inexpensive, at least in the current phase of my business. The system/framework must be $200 or less.
  3. The system/framework must be designed with small companies in mind. This means that I want it to work with the least amount of hassle possible.
  4. The system/framework must be easy to integrate with ecommerce/payment systems.

Here's a list of the frameworks that I looked at:

Your needs will most likely be different than mine, so you still need to make an evaluation of these systems yourself. I'm only giving my opinion, within my own circumstances. I'm also sure that I missed several systems that I've never heard of.

The two finalist were .NET Reactor and Infralution. Reactor is actually more than just a licensing system, it also does obfuscation, anti-debugging, assembly merging, and other sleight of hand. The reasons I ended up with Infralution were:

  • The company encourages you to copy their code into your application.
  • It's easy to create custom generators for your licensing needs.
  • It comes with a full blown licensing management application.
  • It doesn't use the annoying activation scheme that most major vendors use now-a-days. I didn't want to subject my customers to activation either.

The framework was $90 with source. I opted for also buying the source of the licensing application. That set me back another $90, for a total of $180. To me that's well worth it, since I have no desire to roll my own system, and I rather let somebody else create improvements to this area that is not my core competency.

The licensing application runs on .NET and uses MS Access to store data. Fortunately, you can hook it up with SQL Server. I just downloaded version 3.7.1, and it looks like it the included starter database work with only SQL Server 2005. No problem, I just attached it to one of my SQL Server 2005 Express instances.

I posted a inquiry about why it wasn't attaching to SQL Server 2000 on their support forums. I was surprised that I got an answer in a couple hours. I actually posted around 1:30 AM. I didn't stick around to see the response, but I was happy to find that there was a reply when I went over there to their forums.

Here's what the initial screen for the License Tracker looks like:

The first thing that you need to do is setup a product.

 

Products need to be associated with a distributor, so that's the next step.

Next, I associated SystemWidgets with the product I created earlier, and here is the result:

Once you have these setup, you can then start with your putting licensing in your application. The gist of it is that you copy a couple of their classes into your solution. The framework has a bunch of samples, that even I can follow. Their forums have information readily available, and the company is involved heavily in them.

I've never done licensing before, even though I've been developing for around nine years. It took me about 3 hours of tinkering with their code to start feeling comfortable with how it integrates with my code. I've actually wanted to wait more than 30 days after I installed this, so that I can study several expired trial scenarios.

Doing licensing for MMC snapIns has been challenging. I think I'm the only ISV that has a snapIn as their main product. Diskeeper sells a snapIn, but it is part of their whole product hard drive defrag suite.

I have several things that I need to do to get PainlessSVN out the door. The first is to create a custom generator that incorporates all of the client and sale information into the registration keys. The second thing I need to do is to create a custom assembly that will run as a step in the sales funnel in the purchasing DotNetNuke module that I bought.

Fortunately for me, this module handles all of the purchasing integration with my DotNetNuke portal, so I don't have to mess with PayPal response codes. I'm adding automatic emailing of the registration keys as part of this custom assembly. The last step is to push back the new purchased keys and sale information into the Infralution License Tracker. This should be fairly easy, since databases are my bread and butter.

Feel free to contact me through comments to this post, or through private messages. You will need to create an account in this site to use private messages though.

posted @ Monday, January 21, 2008 1:41 PM by Hector Sosa, Jr

Posted in: .NET Tools
Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us

SQLite in 3 minutes

 198 Views ::  0 Comments RSS comment feed

I'm a big fan of the SQLite database. Mike Duncan just put up a blog post on how to get you up to speed quite quickly with .NET and SQLite. Brian Cook, a contributor to Mike's blog, created a spiffy graphic for SQLite:

Anyways, go read Mike's post:

SQLite on .NET - Get up and running in 3 minutes

posted @ Tuesday, January 15, 2008 11:36 PM by Hector Sosa, Jr

Posted in: .NET Tools
Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us

New Years Letter (Plans for 2008)

 400 Views ::  9 Comments RSS comment feed

Happy New Year!

I wanted to start a new tradition of writing a letter every year. I want to mostly touch on where I was and where I'm going.

I spent last year (2007) getting ramped up on coding PainlessSVN. I also released two free utilities, SVN Backup Widget and Text File Splitter, that I created myself, and a third one, WinTivoDecode, from a friend. I've also been working with AdWords and several bloggers to spread the word about PainlessSVN. I had combined downloads of over 25K for all products. And this is not counting the two open sourced projects that I started and maintain.

I learned a lot from other micro ISV bloggers. There are so many of you out there! I'm heartened by your successes and hope to join your ranks in 2008.

Roadmap for 2008

Roadmaps are something that are fairly hard to predict when you are a one man company, especially with software. One thing that I know for certain, is that I will be changing the current tag line from "Where the command-line meets the GUI" to "Taming IT Operations." I worked in IT Operation during the first 6 years of my career, and I always enjoyed creating utilities to automate things. I want to focus my energies this year in helping IT people tame IT Operations with software.

PainlessSVN

The very first thing I want to do is release PainlessSVN Professional version 1.0. As some of you have noticed, I have pulled the beta download. I haven't received any problem reports in more than 3 weeks. I didn't see the point of having an open beta anymore.

I had a couple things holding back the release of PainlessSVN; payment system (ecommerce) and licensing. I got my payment system working just last week. I'm using a DotNetNuke (DNN) module called ActivePurchase, from Active Modules. This lets me integrate payments with the DNN framework and other useful modules for CRM and help desk. I will support PayPal when I first launch. So payment is now officially taken care of.

The second thing is licensing. I'm using Infralution for this. The actual holdup is that I want to automatically issue keys as soon as the payment is confirmed. ActivePurchase has something called Custom Actions that lets me add a custom business logic to the purchasing funnel by creating an assembly in .NET. The author is supposed to release the API docs for this tomorrow (Monday Jan 14th).

I will be releasing an extra couple editions of PainlessSVN shortly after the release of the Professional editions. These will be:

  • Standard - This will have just the basics for server and repository maintenance. It will also be cheaper than the Pro edition.
  • Portable - This will allow you to run PainlessSVN from your favorite USB flash drive.

Free Utilities

I also want to release at least two new free utilities. One of them will be a text file joiner to compliment my text file splitter. The second utility is a program that I created when I needed to monitor data integrations at a contract. Its current name is NSQLAudit. It is already coded. I just need to polish for release. I might create a professional version depending on demand. I'm also open to other ideas that you will like to see implemented.

I really appreciate the feedback that I have received. My hope is that you feel that you are getting good service and that my utilities help your work be less tedious. I also hope that these are helping you deal with some unpleasant tasks faster, so that you can get to the fun stuff quicker.

Here's to the new year!

posted @ Sunday, January 13, 2008 6:43 PM by Hector Sosa, Jr

Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us

Is Eziriz back?

 187 Views ::  0 Comments RSS comment feed

I just noticed that Eziriz released a new version of .NET Reactor yesterday. I think I speak for all of the uISVs out there when I say "WHEW!" I depend heavily on .NET Reactor for obfuscation and assembly merging. I'm really happy that the company is still around.

I do wonder why they have been so silent and incommunicado...

Welcome back!

posted @ Thursday, December 13, 2007 3:46 PM by Hector Sosa, Jr

Posted in: .NET Tools
Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us

Not dead!

 195 Views ::  0 Comments RSS comment feed

I know that people have been wondering what has happened to me. I have been sick with a sinus infection for the past couple weeks. Winter is a very bad season for me. I'm originally from the Caribbean (Puerto Rico), and even after 25 years, the cold does not agree with me.

I'm working on the last 20% of any program. I have a blog post that will contain the details on that. Let me close this by saying that I'm not dead, and I'm still hard at work on PainlessSVN.

posted @ Tuesday, December 04, 2007 7:18 AM by Hector Sosa, Jr

Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us
Page 6 of 14First   Previous   1  2  3  4  5  [6]  7  8  9  10  Next   Last   
Terms Of Use | Privacy Statement | SystemWidgets
Copyright 2002-2008 by SystemWidgets