Jay McGavren's Journal

How a Head First author spends his days off

View on GitHub
2005-06-16

Detective work...

The gibberish entry that’s been appearing on my checking account statements, “gkard add [some bunch of random numbers]” always bothered me, but I figured it was probably one of the many legitimate automatic payments I’ve set up through the card, and they were just using a weird merchant ID. Besides, the $30 a month was always too far below my pain threshold to inspire me to check it out.

Until this month, that is, when my check card expired and I had to go through all my payees to update their info. I couldn’t figure out who these people were, so I called my bank. All they could give me was a phone number, no merchant name or anything. I called the number and got some kind of automated “card service” line, and I couldn’t even talk to a real person without an account number.

So I Googled for the phone number, and discovered it belonged to GKard, which is a company that sells “prepaid credit cards”. Got a second phone number from their site, called, and talked to a real person this time. I wanted to speak to a supervisor, but evidently they had all left at 5 PM (the call center is in Florida). I told them I’d call back the next day.

Still didn’t get to talk to a supervisor today, so I explained that I suspected fraudulent charges were being placed on my check card. I gave them the number, and they told me there was an account in my name. They also gave me a Hotmail address, and asked if it was mine; it wasn’t. (I quickly wrote the address down; I don’t think they were supposed to give it to me.) Evidently the account was used to purchase a subscription to some Russian (?) website. (I haven’t visited the site yet, as I’m betting it’s not work-safe.)

I told them I wanted the account canceled, and all charges refunded. (I knew this wouldn’t happen, as my bank statement show charges going back through April of last year. Don’t say it… I’ll be quicker to question unusual charges from now on.) I managed to haggle them up to 4 months worth of refund, and I promised I’d be calling back to get the rest. (I may or may not.)

Next task was to call my bank and cancel the check card. (Now I get to call all my automatic payees AGAIN and give them the new card number. Wheee.)

I then set up a new Hotmail account, for the purposes of writing my new friend. The e-mail was short and sweet, to the effect of: “My paypal account isnt working. Can you give me your address and Ill mail the auction payment to you instead?” We’ll see if he bites (or if he’s even monitoring the account any more).

GKard said they’d report this to their fraud department. Now I need to figure out who else to report this to. (Police? FTC? I really don’t know.)

Read more...
2005-06-13

Simpering Semprons!

Even my long-awaited Archy editor was slow as molasses on my old PC, and I finally decided I’d had it. I went to Fry’s Electronics to pick up a Father’s Day gift, and to learn about my options for computers.

My budget was virtually nonexistent, so most geeks would find the hardware I wound up with laughable, but I think I did pretty good for the price. I got a $40 Matsonic motherboard, a $60 AMD Sempron 2.5 Ghz, and a $40 case. My plan is to assemble everything, then steal the hard drive, optical drives, 3D card, and RAM from my old clunker.

If this works, I’ll get a three-fold increase in speed for $140, plus the beginnings of a basic system for Diana. And I my loved ones won’t have to hear me bitch about my computer any more.

Read more...
2005-06-06

Just got this automated e-mail from our new Microsoft Project Server installation:

> Below are the latest schedule changes. Contact your project > manager if there are any problems with the changes. > > > Project: Admin Time Commercial Development Phoenix > 2005-2006 > Assign to: > ———————————————————– > Task Name: Sick Request > Start: Jun 1 ‘05 Finish: Jun 1 ‘05 Work: 2h Rem > Work: 2h > > Task Name: Bereavement > Start: Jun 3 ‘05 Finish: Jun 3 ‘05 Work: 0h Rem > Work: 0h > ———————————————————–

Well, yeah, I do have one problem: the fact that I’m scheduled for bereavement!

Read more...
2005-06-01

A tale of soul and swords...

Someone had left a copy of Soul Calibur II on the shelf in front of me at Target, and I finally decided to stop stalling. I showed the screenshots to Diana, saying “This is the game I told you about that’s similar to Dead or Alive 2. Interested?” Her answer was a giddy “Yes!”, so into the cart it went.

She’s a bit of a button masher, but she’s actually getting pretty good. After playing the section of the quest mode that requires you to parry to defeat your opponents, she can deflect a few of my attacks now.

DOA Ultimate’s Live support was awesome. Why, oh why don’t more fighting games have online capability?

Read more...
2005-06-01

Dunno where I stumbled upon the review of Head First Design Patterns from O’Reilly, but after reading the sample chapter online, I knew I had to have it. The style is easy to understand, condensed, and every bit as hyperactive as me (sidebars include conversations between Grasshopper and his master on the tao of object-oriented design, for example).

One hour with the first chapter, and I already feel comfortable with the Strategy pattern, something I might not have accomplished in a week with the original Gang of Four book. I also know how to make simulated ducks fly under rocket power as easily as with a pair of wings. What more could you ask for?

Read more...
2005-05-25

FOAF interests...

So I’ve been listening to the new Prefuse 73 album, and I hop on Google to do a little research. I read he’s doing a tour to support the CD, and it occurs to me to check to see if there are any Phoenix dates.

Holy crap, he was here last night. :( That was a chance that is unlikely to come again for some time.

I’ve been thinking for some time about a centralized system which you can tell about your interests in bands, movies, actors, games, whatever, and it will go out and find news on them for you. I’m sure Prefuse 73 has a mailing list I could subscribe to that would have told me about the tour, but that’s just one artist, and besides, it would have subjected me to huge amounts of spam from his label, possibly regarding unrelated artists.

No, I want a system that lets me build a list like this: prefuse 73 david fincher sonic the hedgehog the pillows …

And then keeps me informed on those topics, with a minimum of spam. It could even update my LiveJournal and FOAF interests lists for me at the same time.

Fortunately, nowadays you can create an RSS feed that provides you with the results of a Google News search, and I think that could be used to build a prototype. I think that little project will be going on my someday/maybe list.

Read more...
2005-05-24

Archy...

I’m typing this message in Archy, the Raskin Center Humane Interface. I’ve been waiting for this day roughly five years, ever since reading the (now late) Jef Raskin’s The Humane Interface, which basically informed me that the entire direction human interfaces to software has taken for the last two decades has been wrong.

At one point, I was convinced I’d have to code this thing myself if I was ever going to see it, but here it sits on the screen in front of me; split-cursor blinking merrily away. A year ago, the installation instructions included directions to get Python and outdated versions of several libraries, because Archy wouldn’t work with the most current ones. Then the Raskin Center got a two-million-dollar grant to develop this (roughly coinciding, unfortunately, with Jef’s untimely death of pancreatic cancer). But his son Aza and associates have carried on, and now the program comes with a self-contained Windows installer. Evidently the Linux and Mac builds work fine too, although they’re officially unsupported while a few bugs are worked out.

So what the heck is it? At this point, little more than a glorified text editor. “Leaping”, a form of search, is absolutely central to its use, as there is no mouse. (Yay!) Rather than wait for a search dialog to load, I simply hold down the left Alt key to search backwards, or right Alt to search forwards through the text. It’s so easy and automatic that I find myself doing it a lot. If I don’t like the last sentence I typed, I simply leap to the period of the one before, highlight the text I leapt over, and hit delete. Gone in half a second. Infinite levels of undo (still available even after quitting the environment) ensure I can change my mind later. Demos can be found here to give you an idea.

Commands to use within the editor are easy to write, since they don’t need a GUI. I’m going to be submitting versions of several basic Unix utilities (sort, grep, etc.), and I expect each will take maybe a single night to code. There are already commands to access and respond to e-mail, right within the editor.

Most interesting is that Archy has no concept of files. “Document characters” separate sections of the text, which is auto-saved upon exiting and restored upon reentry. It’ll make work with formats where files are central (like MP3s, HTML documents, and Perl modules) quite challenging at first. I think it’s doable though.

One year from now, I expect this program will have replaced not only my text editor, but my e-mail client and iTunes as well, and I think I’ll be loving it. It’s that powerful. I’m already a lot less awkward than when I started typing this entry, and learning fast. Someday soon, I will likely refuse to work in anything else.

Read more...
2005-05-20

I went on an MP3 binge last night until 1 AM… that was dumb. Now I’m so tired I can’t think straight, and I have a deadline to deliver code today. Various forces are conspiring against that happening, but I could deal with them if I could just collect my thoughts…

Read more...
2005-05-19

There’s a software coding methodology called “test driven development”, which says that you write automated tests for your code first, giving sample input values and expected output. If input and output don’t match, the test raises an error.

Once the tests are complete, THEN you write the code. When your code clears all the tests, it’s done. If you make a change, rerun the tests. If something suddenly fails, you know something’s broken.

I was thinking about this last part today, and made an important realization. Automated tests give your program the sensation of “pain”. Previously, if the program were “injured” by defects, it would simply carry on happily until it died in production. But with testing in place, your application can actually tell you that something is wrong, and even what “limb” (module) the problem is in.

I have long had a vision of “self-healing” code in my mind - programs that, like a living organism, had internal mechanisms to detect problems and repair them without outside intervention. Well, outside intervention is still necessary at this point, but I think we’ve reached an important milestone along the path to self-healing applications.

Read more...
2005-05-11

I just grabbed what I thought was the SQL Pocket Guide off my shelf, to look up some database field types. I flipped to the index, and was surpised to see an entry for “Orwell, George”. “What is that doing in an IT handbook?”, I wondered, and flipped to the entry. It was only when I saw that it was in a section on creative writing technique that I realized I had grabbed Strunk and White’s The Elements of Style (which is about the same size and shape) instead.

Read more...
Copyright © Jay McGavren.