# Friday, April 20, 2007

I loved seeing this story today; Vista is a worthless upgrade IMNSHO.

Kick It on DotNetKicks.com

posted on Friday, April 20, 2007 2:43:40 PM (Mountain Daylight Time, UTC-06:00)  #    Comments [0]
# Wednesday, April 04, 2007

ARGH! While reading comments on a blog today, I came across someone using a phrase which, for some reason, really gets to me: "I could care less." Reading it or hearing it, it really gets me. It is almost as bad as hearing someone say "irregardless," which, unfortunately, seems to be making inroads among those that should know better.

Okay people - think about things before you say or write them. Help me live...

Kick It on DotNetKicks.com

posted on Wednesday, April 04, 2007 10:19:50 PM (Mountain Daylight Time, UTC-06:00)  #    Comments [2]
# Friday, March 02, 2007


Just released this today - it yet needs a bit of work; the only major part not completed are the methods that provide metadata for stored procedures (mainly because I don't need this feature at the moment, so it was the lowest on my list of priorities), which I am planning on finishing within the next two weeks.

You can download it at www.sapientdevelopment.com.

Kick It on DotNetKicks.com

posted on Friday, March 02, 2007 5:09:47 PM (Mountain Standard Time, UTC-07:00)  #    Comments [0]
# Tuesday, February 27, 2007

 

The company I work for is hiring -  whether you are a project manager, senior-level Java developer, Microsoft application developer or a web design/usability expert, Software Technology Group has something for you.

I have worked for STG for over 2 years now and can tell you that, without a doubt, working for STG has been one of the highlights of my career.

Kick It on DotNetKicks.com

posted on Tuesday, February 27, 2007 9:28:28 AM (Mountain Standard Time, UTC-07:00)  #    Comments [0]
# Sunday, October 29, 2006


For the last client I worked for, we extensively modified a MochiKit port of a well-known 'Lightbox' implementation so that it would utilize IFrames - the users of the application loved it because they were used to primitive JavaScript alert and confirm boxes, and since a modal dialog was still the appropriate thing to do, it worked well.

A short time later, I found ThickBox - seems to be a much better implementation of this now-common technique, and I thought it might prove useful to have a MochiKit version of it in case I decide I want to use it (it is built on jQuery, which I don't personally use or care for, notwithstanding the library having a few useful constructs that I would like to see ported over to MochiKit).

In porting this script, I tried not to 'improve' it at all; i.e. I left nearly everything as-is with regards to naming conventions, use of certain constructs that I would like to improve, etc. and leave it up to you, if you choose to download it, to make any changes you see fit. Of course, any bugs you find would be great to know about, as well as ideas for enhancements, etc. and I will probably update this when I get time, because I would like to do things much differently (maybe I am smoking crack, but this whole idea of connecting to things based on the value of the 'class' attribute of a tag just seems stupid to me...).

My port of ThickBox isn't perfect and I did it as quickly as I could because I wanted to get it into the hands of those smarter than I - that means you. There are places in the code that are inconsistent and I will be working on that, but for now it does the job and should be a good starting point for those that find this useful.

Download ThickBox for MochiKit.

Kick It on DotNetKicks.com

posted on Sunday, October 29, 2006 11:02:53 AM (Mountain Standard Time, UTC-07:00)  #    Comments [2]
# Wednesday, September 13, 2006

It seems that Ajax.NET Pro has finally been open-sourced, and with a great license. I have been waiting for this to happen for a very long time now; Michael has released source code before, but it was just a snapshot of a specific version and you couldn’t really do anything with it according to the license he released it under. It seems that things are finally changing for the better with this library, this is a step in the right direction. Of course, as soon as Atlas is finally released, will it matter?
Kick It on DotNetKicks.com

posted on Wednesday, September 13, 2006 10:05:06 AM (Mountain Daylight Time, UTC-06:00)  #    Comments [1]
# Tuesday, August 15, 2006

A few years ago, for a short time, I worked at Neumont University (was "Northface University" until a certain company had issues with the name) with one Jonathan Ellis; a few months after he left NU, he told me about his new job at Berkeley Data Systems: they have a great product/service called Mozy which provides a really simple-to-use application that does backups of the data on your Windows machine. In the past I would back-up my data to DVDs and CDs, and while I still do that from time to time, the main problem is location – I store these discs in the same location as the computer that contains the data, so that if my house went up in flames or was broken into, I could still lose my data. Obviously, offsite storage is the answer, but what am I going to do? Run some discs over to my in-laws? It would work, but that is not the most convenient option, and what if the data changes on a fairly regular basis?

You may already know that offsite backup solutions have been around for a long time, and this is an established means for solving the “problem” of how to handle data backups, but Mozy is much cheaper than any other similar service available. In fact, if you don’t mind them emailing you once a month or so with some targeted advertising (i.e. ‘spam’ – but this is actually worthwhile spam), you can get 2GB of free backup storage space. Now, 2GB isn’t much if you are interested in backing up images, video, music, etc., but if you have a lot of source code or Word documents, etc. it may be adequate – and they will give you an extra 256MB for every user you refer, once that user has completed their first backup. If you don’t mind paying a little bit of money, you can upgrade to 30GB for $4.95 a month. Compare that to other services – you will be amazed at what a great deal Mozy represents; here is their (humorous) list of alternatives to using it:

  • Burn a new CD or DVD every Sunday night and store them at your brother-in-law's office.
  • Pay $200/year for an online backup service that uses old, mediocre software.
  • Buy a $200 external hard drive and hope your office doesn't burn down.
  • Do nothing and don't worry about backup. (We suggest closing your eyes, plugging your ears and repeating "I'm in my happy place, I'm in my happy place.")
  • Run a cron job of rsync, gzip and mcrypt piped over ssh to your friend's server over his DSL line.

Obviously, this is a slightly biased list, but there is truth to it nonetheless. A few things to note: their backup of your data is secure – SSL over the wire and then the data itself is encrypted using a key you provide or you can trust their use of the 448–bit power of the Blowfish algorithm; the backup is differential, so you don’t have to worry about large, time-consuming backups (except for the first time or any subsequent points in time where you decide to backup new, large files or sets thereof); Mozy does in-place upgrades to its software, automagically notifying you when they are needed; the application is small and uses a small amount of memory (usually around 12MB of my RAM).

I have been using Mozy for over a year now, if I remember correctly, and I have loved it. I have never needed (thankfully) to perform a restore on any files, so I can’t speak to how easy that is, but from all appearances, it doesn’t look like rocket science. The peace of mind I have from using it has been worth every piece of email I have ever received from Mozy. Give it a try and see if you don’t discover the same.

For some captioned screenshots of various aspects of the Mozy experience, expand this section:

Mozy runs in the system tray, and a tool tip tells you when the last backup occurred:

System Tray Tooltip

The context menu is fairly simple:

System Tray Menu

Choosing Status from said context menu gives you the following:

Status Dialog

If you choose Configure from either the context menu of the system tray item or the above status dialog:

LoadingConfig

If you know that you want to backup all files of a few certain types, the Backup Sets feature is nice:

BackupSetsTab

If the Backup Sets feature is too high-level for you, the File System tab lets you get as granular as you want:

FileSystemTab

There are three types of backups: manual (see the earlier Status dialog), automatic (checks CPU usage stats as well as idle time), and scheduled. You can specify that you want to be alerted if a backup has not occurred in n days.

ScheduleTab

The options are pretty self-explanatory:

OptionsTab

Want to know specific details about a given backup incident? This History is also available via a button on the Status dialog.

HistoryTab

Kick It on DotNetKicks.com

posted on Tuesday, August 15, 2006 8:51:47 AM (Mountain Daylight Time, UTC-06:00)  #    Comments [0]
# Friday, August 04, 2006

I have had my head buried in things at work so much that apparently I missed this Fjax thing; I came across it via this great post which derides it.

I couldn't agree more with Simon's assessment of the situation; just as he does, I plead with you to 'just say no' to this ridiculousness. What drives people to this? I wish I could have been there at the genesis of the idea so I could have tried my best quash it. Of course, some other idiot would have undoubtedly come up with it eventually.

While Simon (and many others) like the idea of using Flash for client-side storage, I don't know if I can agree with that either. Using Flash for much of anything other than animations like those found at HomestarRunner.com just seems wrong to me. :P

 

Kick It on DotNetKicks.com

posted on Friday, August 04, 2006 4:06:05 PM (Mountain Daylight Time, UTC-06:00)  #    Comments [0]

As much as it seems unwise to do so, I have started working on a JSON parser for .NET - why? Good question. Well, I have long used a certain library for doing "AJAX" with ASP.NET, and I don't much care for the way it handles some things with regards to dealing with client-side objects (i.e. JavaScript objects). Yes, there are other JSON-to-.NET libraries around, but what fun is that?

So, I am going to try to get something like this to work for myself. All I need to do is get a JSON string like "[1,2,3]" to convert to an integer array, right? Right! Not to mention getting any other JSON string to convert to an equivalent .NET type on the server, but that will be cake. ;) So, first thing I did was take the open-source and librerally-licensed JSON syntax checker implemented in C and convert it to C# (got the main file, JSON_checker.c done, haven't got to the UTF stuff yet). I ran it against all of the supplied tests (and a few of my own) and things are looking good (i.e. all the tests passed). This thing is implemented with a finite state machine - and it is hella-fast.

So, as it states on that site, the checker "could be adapted to produce a very fast JSON parser." Indeed. Using the state transition table and lots of stepping through the code and stepping through my brain, I have come up with a few ways (all of which need more work) of how I would create .NET objects from JSON using this tool. I am really having to reach back to my CS education to think about what data structures would be most appropriate for use in the process. Matching the json objects to their .NET counterparts is hopefully as simple as looking at the expected type and using reflection to instantiate it with the JSON data.

Well, anyway - who knows what will happen? My brain has been so fried lately that I don't know if I am heading down a dead-end or not. I want to create a simple, fairly bare-bones AJAX lib for use with ASP.NET that is built on top of MochiKit, since it is the best JavaScript library around. As much as I don't want to, I know someday I may need to learn Atlas, but I would rather not - it seems like it is going to be a pain in the rear. I am sure I will change my mind; after all, if Microsoft serves it to us on a platter, it must be good . . . right? :P Probably good like using DataSets as business objects...

Have you seen Script#, "a project for enabling script authoring via C#?!?!" Help me live, you have to be kidding me! I know it is hard to have code strewn across .js files, .aspx files, and .aspx.cs files, but I *really* don't like the idea of having all of my code in C# and have it magically converted to JavaScript. I mean, yeah, I suppose it is kind of cool in a weird, freaky geeky way, but I don't think I want to write code like that. Maybe I will sing a different tune a year or two from now, but something about it just seems . . . wrong. I am sure it is just me, I mean, Nikhil is a smart guy, much smarter than I, right? I'm pretty sure of it...99% at least.

Kick It on DotNetKicks.com

posted on Friday, August 04, 2006 12:50:33 AM (Mountain Daylight Time, UTC-06:00)  #    Comments [1]
# Sunday, April 30, 2006

In case you don't know about him, Stephen Colbert is the funniest guy around. He has a show (The Colbert Report (pronounced 'the coal-bear re-poor' - both t's are silent)) that parodies conservative talk shows such as The O'Reilly Factor, with Colbert playing an overt egomaniac who relies more on his gut feeling than rational thought. It is somewhat difficult for me to explain exactly why this show is so hilarious, which is why you had better sample it for yourself.

So, I just watched a re-broadcast of yesterday's annual White House Correspondents' Dinner event on C-Span, at which Stephen Colbert was the final guest speaker. Let's just say that he rocked. His sarcastic wit was in rare form as he skewered President Bush and various other people and institutions. Unfortunately, it has been reported that not everyone thought he was so funny; with Colbert's comments hitting so close to home, maybe Bush should find some the humility needed to examine his actions and those of his administration a little more closely (not that he would listen now).

Tonight the real Stephen Colbert (as opposed to the Stephen Colbert character he plays on The Colbert Report) will be featured on 60 Minutes. Also, if you find the samples of the show funny, and don't get Comedy Central on your TV, think about purchasing 16 episodes for the low price of $9.99 from iTunes (16 episodes, which is a full month's worth). That is how I get my Colbert fix, and I highly recommend it.

[UPDATE: Here is a full transcript of what was, essentially, a roast of Bush by Colbert.]

Kick It on DotNetKicks.com

posted on Sunday, April 30, 2006 2:35:18 PM (Mountain Daylight Time, UTC-06:00)  #    Comments [0]