blow me

Newsweek circa 1995: The Internet is all hype

Stumbled across this article via slashdot where Newsweek (circa 1995) predicts that the internet is just a bunch of hype and that we'll never be ordering books, reading newspapers, reserving airline tickets, or basically doing any of the things we do nearly every day on the internet via cyberspace. Funny how, via the internet, this article came back to bite them. Gotta love the law of accelerating returns.

I also noticed the word "multimedia" all over this article. I don't think I've heard someone use "multimedia" in 5 years. I think I can now officially declare it a 1990s buzz word.
Sweet Jesus!

Reason 38,072 why I love being a programmer

For several years a had gotten in the habit of keeping Microsoft Money up to date with my latest account information, and I really appreciated the ability to track my finances well. Unfortunately, for numerous reasons, over the last year I have not been as diligent and all my accounts had not been updated in quite a while. I finally got around to updating for the first time in a year and found, to my disappointment, that several of my financial institutions only allow you do download Money-format statements 4-months previous. This left me with a few options, non of which seemed pleasant:

1. Manually enter 8 months worth of transactions. Ugh, that would take forever.
2. Abandon MS Money altogether. But how can I get a good hand on where my cash goes?
3. Switch to or a similar service. Something makes me uneasy about that though... I know they say they don't store your passwords but I dunno if I want some website having all my financial data...
4. Put in an adjustment for the missing data and have a giant 8-month hole in my accounting. Tempting, but this will screw up all my reports spanning this time range...
5. Switch to Quicken and abandon my years of previous data, then pay their yearly "upgrade fee" so I can download directly from the financial institution. And pay fees to enable this service from my financial institutions.

Option 2 topped my list for an hour or two until the programmer in me kicked in: I don't have the Money-format files for 8 months, but I CAN download PDF statements for the missing months. After having a look at some of the files I downloaded to import into Money and doing the research, I realized that the plain-text QIF file format was relatively easy to duplicate.

So how do I turn 8 months worth of PDFs into 8 months worth of QIF files to import into Money? It wasn't difficult at all - manually pull the transaction data from the PDF files into text files (which took all of 2 minutes), then write a regex to parse the data and do the transformation. This can be done easily in any number of languages (Perl is the first that comes to mind) but I found it quicker to just throw something together in C# as I am slightly more familiar with the language.

All in all, the entire process took me about a half an hour. Now I'm up to date and ready to go, with a valuable lesson learned: don't fall too far behind on downloading statements for Money. Next month's project: Automating the download/import of data from the web into Money.
Sweet Jesus!

Windows 7 includes free XP Image

I just found this out... if you have Windows 7 Professional or better, Microsoft includes a feature called "Windows XP Mode", which is basically just a free Windows XP image for MS Virtual PC. You have to download and install it (it isn't included in the basic install). Instructions and download materials here: Windows XP Mode. Even if you don't have an immediate need, you never know when it might be nice to have an XP image laying around, particularly if you don't need another license for it!

Also, I re-enabled anonymous comments. So you can call me a jerk or whatever.
Sweet Jesus!

GMail Spam Woes

About 6 months ago I noticed that spam was starting to leak through GMail's spam folder and into my inbox. Naturally my first response was to mark the spam as such, but I noticed that it didn't seem to make much of a difference, every day (sometimes several times a day) I still got basically the same exact identical message in my inbox. Eventually I began to get suspicious, so I decided to inspect the message.

At first glance, the spam message seemed the same as any other spam with one major difference: the spammer was using my e-mail address in the "from" line as well as the "to" line. This apparently fooled GMail into thinking that I sent the message to myself, regardless of the fact that it was clearly coming from some IP in China and not one of the 3 normal IPs I typically send stuff from.

For the first time since I fully switched over to GMail in 2006-2007, I found myself in a situation where I wanted greater control over my spam filter and couldn't have it without switching to another e-mail solution altogether. I figured I would just deal with it by flagging the spam as such, but then it got much worse - suddenly, EVERYTHING started going into my spam box - order confirmations from Amazon, legitimate e-mails from people I didn't know, basically everything except e-mail from people on my contact list.

After giving it much thought, I finally came up with a solution that seems to be working. I created a mail filter that looks for the telltale signs of the copycat spam I receive every day and automatically moves it to Trash. I then had to weed through my Spam box a few times to unmark all the spam that had been incorrectly marked. After a week or two, legitimate e-mail started coming back through to my inbox, spam continued to filter into the spam folder, and the stuff that was "slipping through the cracks" automatically ended up in my trash. Now I try to make it a habit of checking both Spam and Trash at least once a week for false positives, but it seems to be working for now.

So the lesson here is pretty simple - before you mark Spam as such in GMail, make sure the return address isn't your own. If it is, send it to the Trash. If it keeps coming back, make a rule to send it to the trash.
Teen Girl Squad

Hacker's Diet

Recently I decided that I've finally mustered up the energy and resolve to start dieting again. I've tried dieting several times before, mostly 10+ years ago when I was much younger and I had less control over the food I was eating and lacked the motivation to keep with it for many months at a time. Now that I have finished up grad school, I'm finding that I've got a bit of spare time and a bit more energy that I can devote to something else, so I figure this is productive choice.

I began my diet simply by beginning to exercise. I have an exercise bike that, among other things, gives me a calorie count of number of calories burned. I don't delude myself into thinking that this count is actually accurate, but it seems to take into account how hard I'm working myself and it is relatively consistent, so I figure it will do. Typically it takes me anywhere from 22 to 30 minutes to burn 300 calories according to this thing, which I figure is probably more like 200-250 "real calories". I started off three times a week and slowly worked up to every day in the week.

After 2-3 weeks of consistent exercise, I started feeling better about myself and decided to see how painful it would be to start cutting back on what I eat. At first I started doing simple stuff -- getting half subs instead of whole for lunch, not drinking sugary drinks, etc. Around this time I decided to go all out and get on the dreaded scale. This was difficult to face, but I was pleased to find that by simply making these cutbacks I lost 2 pounds in the span of a week.

Armed with my new "this isn't so bad" mentality, I started doing some more research into techniques and I came across The Hacker's Diet. Unlike most books in general, much less diet books, I found this book to be very entertaining. It looks at weight loss as an engineering problem, offering a view of the body as any other system - inputs and outputs. Most of the book is common sense cut-calories stuff, but it encourages you to gather as much data as you can by weighing yourself daily and counting calories, then using this data to chart and predict your progress. And it doesn't hurt that it was written by a fellow programmer, with whom I see eye to eye on diet and exercise.

I decided to take some of the suggestions from The Hacker's Diet and mold my own program. I am not strictly counting calories, but instead and trying to aim for an intake of 1500 calories per day or less. Most chain restaurants post calorie counts (or their calorie counts are available on The Daily Plate Mobile which is very Blackberry/iPhone friendly), and food that we have at home generally has counts on most ingredients so this isn't the problem. In situations where I don't have an exact calorie count, I just use common sense. For example, if I go to a restaurant and get a burger, I'll just cut it in half and eat half the burger and half the fries. Or get a salad and put very little dressing on it.

The new diet, in conjunction with the daily 25 minutes of exercise, seems to be working. I've lost 11.5 pounds in the last month. I hope I'm able to keep it up, especially through the holidays.

Here's my findings thus far:

1. There's no point in halfheartedly starting a diet; you're just setting yourself up for failure. I discovered this a long time ago, which is why I haven't tried starting one up in quite a while. I always knew that, when the time was right, I would know and things would fall into place.

2. Everyone has diet advice. It can't hurt to listen, but don't let other people tell you what's good and what's bad. Find what works for you and stick with it. For me, cutting calories and moderate exercise is doing the trick, but if someone else wants to try Atkins, and it works for them, I'm not going to think less of them for it. Keep this in mind for all points below this one.

3. It's not possible to be on a diet to lose weight and to not be hungry at least some of the time. The Hacker's Diet says this in a number of words as well.

4. If you ever find yourself suffering for a long period of time (like you feel like you're starving for more than 2 or 3 hours) you're setting yourself up to fail. Starvation diets might work for losing a quick 5 or 10 pounds, but if you're in it for the long run you're going to do more harm than good. It also makes it hard to keep up for months on end if you feel like you're dying all the time.

5. You can go out to eat pretty much anywhere you want, and you're not restricted to salads. You just have to eat very little of stuff that is high in calories. This is really really hard at first, but it's not so bad after a while. Lots of places have alternate foods that you can eat that are still good and more filling with less calories.
Sweet Jesus!

Automatic Image Sorting

I was looking for a way to harness the power of EXIF data in sorting the 15 gigs of images I have amassed since the early 2000s thanks to my digital cameras. Over the years my manual sorting has proved to be a bit of a mess. Anyway, thanks to some googling, I found a very simple solution using the free exiftool. Just run the following:

exiftool -d E:\SortedPics\%Y\%Y-%m-%d "-directory<createdate" -r C:\Temp\UnsortedPics

This will nicely sort all of your EXIF'd images into a year-day hierarchy. If a different sorting method suits you, it's pretty easy to customize.

Password Archivist (shameless plug)

I've gotten to the point where I have memberships to a ton of sites, therefore I have a ton of passwords to remember. For more common sites that I visit often this isn't a problem, but when I'm trying to order a pizza from and I can't even remember my username let alone the password I set because the last time I did it was probably 3+ months ago, I get a little aggravated.

A while back I took a look at some free software solutions to start keeping my passwords in order, but the more I thought about it, the more I started thinking "how do I know this is really encrypting my data well?" or even more concerning "how do I know that whatever I enter in this program isn't promptly sent to some guy in a basement in Russia who will empty my bank accounts in record time?" I though about alternatives to this (keeping an encrypted zip file with a txt document in it, for example) but they all seemed like a pain in the ass. So I decided to write my own.

Here's the description I posted on my site about it:

Password Archivist

Store all of your logins and passwords safely using AES 256-bit encryption. While there are plenty programs out there to do this for you, I've never felt comfortable using one so I wrote my own. Also provides stealth abilities so that you may mask passwords when others are around, copy passwords directly to Clipboard, and import/export to/from CSV files.

This application requires .NET 3.5 extensions. It has NOT been tested with Mono.

Download - 40 kb


So what sets this application apart from the rest? I don't know because I haven't tried any other ones. It just does what I wanted it to do. And why should you trust your data with some application I wrote? I can't answer that one either... I wrote it for myself and I'm putting it out there because some other people might find it useful. Use it if you like and if you feel comfortable. If you do decide to try it out, please give me some feedback.

Oh, and one more thing... the stupid name... all the good ones like "Password Keeper" and "Password Database" were long gone. So I used a thesaurus.
  • Current Music: Kansas - Carry On Wayward Son