Tuesday, February 24, 2009

Billy Boxwood's Baby Pictures!



There is a new member of the household, Billy Boxwood, my new pet plant. He's a pure-bread Faulkner Boxwood from Summer Winds nursery in Campbell.

When he grows up, he want's to be a topiary elephant or a hedge at a nice country club. He enjoys direct or indirect sunshine, frequent watering, concrete, and being read his favorite books, The Sound and the Fury or As I Lay Dying. He's very fussy when he's about to get trimmed, but he's a good sport about it. His greatest fear in life is temperatures below -20 F and golf clubs.

My parents are very excited to be plant-grandparents. They helped me pick out and transplant Billy. I'm working on a registry for him, but in place of gifts, you can make a donation to your local arborist society. Please join me in welcoming Billy!

Labels:

Tuesday, February 17, 2009

Adware and programmers and scheme, oh my!

A few clips for an interview with an adware author. These probably won't make much sense unless you are a computer science major, but provide a lot of interesting insight into how you ruin someone's Windows machine.

About Scheme:

S: You wrote adware. You bastard.

M: [sheepishly] Yes, I did. I got to write half of it in Scheme, which probably means that I deployed more Scheme runtime than anybody else on the planet.

About IE:

IE has a mechanism called a Browser Helper Object (BHO) which is basically a gob of executable code that gets informed of web requests as they’re going. It runs in the actual browser process, which means it can do anything the browser can do– which means basically anything. We would have a Browser Helper Object that actually served the ads, and then we made it so that you had to kill all the instances of the browser to be able to delete the thing. That’s a little bit of persistence right there.

(Warning, even more technical) About writing invisible registry keys:

We did create unwritable registry keys and file names, by exploiting an “impedance mismatch” between the Win32 API and the NT API. Windows, ever since XP, is fundamentally built on top of the NT kernel. NT is fundamentally a Unicode system, so all the strings internally are 16-bit counter Unicode. The Win32 API is fundamentally Ascii. There are strings that you can express in 16-bit counted Unicode that you can’t express in ASCII. Most notably, you can have things with a Null in the middle of it.

That meant that we could, for instance, write a Registry key that had a Null in the middle of it. Since the user interface is based on the Win32 API, people would be able to see the key, but they wouldn’t be able to interact with it because when they asked for the key by name, they would be asking for the Null-terminated one. Because of that, we were able to make registry keys that were invisible or immutable to anyone using the Win32 API. Interestingly enough, this was not only all civilians and pretty much all of our competitors, but even most of the antivirus people.

Labels: ,

Wednesday, February 4, 2009

Mayne Street

On the lighter side of life, one internet pod-cast I've found entertaining is Mayne Street, a fictional depiction of the life of Kenny Mayne at ESPN. Kenny goes around covering various news stories being his cynical self and he's surround by a crew of flat characters that really seems to work. Or maybe I'm just blinded by the fact his producer is really cute. Its a bit of Office Space meets ESPN with lots of cameos from not terribly famous sports figures.

Someone promoting NyQuil must have paid them a lot to make the series, because you have to watch the exact same commercial before every episode if you watch it on the ESPN site.

Since there are so few of us and we're all so critical to keeping the earth spinning, I'm going to try my best to promote all the important Kennys of this world. Lets face it, where would we be without Southpark? So stay tuned for updates.



This isn't the best episode, but its on youtube and I felt compelled to embed something. Plus this is the first HD embedded video on this blog!

Labels: ,