Monday, June 16, 2008

NAFTA: Finally doing something for me

I bummed a ride to Buffalo and got my TN status today: the official start of my career in computer security...or is it?

The process was pretty seamless. In fact, I didn't get fingerprinted, I didn't get grilled, and I didn't have to explain to the officer what to put on the form and where to sign it: it was easier than J-1 status!

The worst question was: "Any criminal record, arrests, or things we should know about?"

Since I got the TN status, you may infer that I answered no. But I had to give it some thought, especially after receiving my graduation gift from my parents this weekend:



Yes, it's a copy of my middle-school suspension notice, informing my parents that I had been suspended for computer hacking.

Apparently, I had the distinction of being the first student to be suspended for violating computer rules. It shows: my crime (keylogging a variety of computers) is described as violating copyright; the school's system administrator had a dictionary-attackable password; and, after a stern talking-to, the school librarian returned the floppy disk with the erased keylog file.

A few clicks later, and I had resurrected the list of usernames and passwords that she had erased. Mmmm, data.

So is my TN the official start of my career? Or is it just the next logical step, which will defeat attacks as naive as simple keylogging? I look forward to finding out!

Wednesday, April 23, 2008

1 degree of separation




I wrote my last exam, ever! Fittingly, it was of the cattle-herding variety in the PAC. Far from making me feel that my university experience was a generic, one-size-fits-all dehumanizing experience, this fact rejuvenated me: even downed cows get dragged off to market to be sold for beef.

Friday, April 18, 2008

Tripping in Europe

Check out our travel blog for the trip Jenn and I are taking this summer.

(That's right - now I have two blogs to neglect!)

Monday, January 28, 2008

Life-altering decisions

Please note that you might think that making life-altering decisions, like selling your home, breaking a lease, taking a trip abroad before starting your new job, or giving notice might be logical and immediate steps after receiving an offer from Microsoft, but if you are a visa-dependent candidate, these types of decisions can cause problems in the immigration process.

Please wait to may any life-altering decision until after you have spoken with our immigration team for advice. This will ensure a smooth transition to Microsoft.


Oops.

Monday, January 14, 2008

Windows CardSpace and me

I've accepted a job with Microsoft, where I will be working on Windows CardSpace.

Saturday, December 29, 2007

Cows, part 2

In Grade 9, I wrote a program to download comics and newspapers from the web[1] and display them in a whiz-bang DHTML page (that's right, back in my day we called it DHTML, you young whippersnappers, none of this new-age AJAX crap.)

Anyway, to drive this, I realized I could write a bunch of painstaking code to generate the URLs to download the images, or I could write some sort of text-based configuration file that would drive the program.

That worked well for simple cases. Over time, distributors got tricky: the URL for their image had some custom string in it that you could only get if you loaded a specific page on the given day. And you had to have a specific Referer, too! This required a complex pattern matching system. I realized I could write a bunch of painstaking code to match the patterns I needed... or I could look into this thing called regular expressions that I had kept seeing people use on the MOO.

As always, I didn't have a deep understanding of what they were, but seeing what they could do pretty much blew my 14-year-old mind away.

And thus, I committed my first act of (unintentional!) intellectual property theft by including the regexpr package from the LambdaMOO server into my program wholesale. "Attribution? What's that?" Consider this a mea culpa and a fix after the fact.

[1] I now understand how older folks feel when they say "it was the 70s," as if the date somehow excuses their pastel leisure suits. It was the 90s: back then, if you were on the web and didn't have enough popups and banner ads to induce seizures in rates competitive with modern Japanese anime, you were a nobody.

Labels: , , , , ,


Cows, part 1

I first learned to hack code in BASIC and Pascal, but the language that truly brought me into the inner circle of real programmers was the MOO language. Invented at the famous Xerox PARC facility, MOOs were programmable, object-oriented, networkable, multi-user, concurrent, distributed environments. Every nerd's wet dream.

An icon of MOO days was yduJ ("rhymes with fudge"), who wrote a few tutorials on the inner workings of MOOs. I am convinced that if a CS grad cannot explain all the concepts touched on in the MOO Lore Pamphlet, they should get a hard spanking and a stern talking-to. Although I didn't realize it at the time, the pamphlet mentions:



Sadly, the MOO where I truly learned to code is now basically a museum relic - it's once-youthful population has reached old age (i.e., kicked out of our parents' basements) and has moved on. Mostly to Google, it seems.

Friday, December 28, 2007

Stupid VIM tricks, part 1

To insert a GUID into your document simply by typing 'guid', toss this into your .vimrc:


imap guid <esc>:r! C:\path\to\uuidgen.exe<cr>k$Jx40la


The k$Jx40la does as follows:

k -> move up one line
$ -> go to end of line
J -> concatenate line below with this one
x -> delete the space that concatenation created
40l -> move cursor right 40 spaces (length of a guid)
a -> return to insert mode, with cursor positioned where it was before we started

Labels:


This page is powered by Blogger. Isn't yours?