CodeCon 2006

I am currently attending CodeCon 2006 in San Francisco. Interesting talks, as usual. Really atrocious folding chairs that look OK at first glance, but then you sit on them for an hour and realize everything down there is numb.

Three talks on Friday about fighting Malware/Spyware/Phishing. The first two, on Daylight Fraud Prevention and SiteAdvisor had in common that they were about commercial offerings and did not include any code. TRUMAN, The Reusable Unknown Malware Analysis Net, is available under the GPL.

SiteAdvisor combines automated analysis of potentially malicious websites with “a bunch of guys in India??? to produce a rating of the malice these sites wreak on the user’s computer. They put a red/green status indicator in the browser status bar, and inject red and
green icons in Google search result pages. This is pretty interesting and I’d like to see where this goes. The presenter seems to have a good grasp of the fact that they don’t know all the consequences of offering this service on a large scale, how it will be abused etc. Watch that
space.

The other two talks on Friday were about the P2P space: VidTorrent is a P2P streaming application out of the MIT Media Lab. Finally, I think Localhost essentially slaps a file system onto BitTorrent.

The presentations this year seem to have a noticable practical slant. These are actual products that are shipping or close to shipping, not vague unpractical ideas hatched in someone’s basement and destined to never venture beyond.

Be Sociable, Share!

No More Blind Dialing

Went ahead and got the RAZR. Not the ROKR or the SLVR because I really don’t care about the iTunes. I also really wanted a clamshell phone because I don’t want to dial my friends with my phone in my pants. That would be wrong. The RAZR doesn’t look as sturdy as the V60i it replaces, you know the one with the broken display. We’ll see. Hope it’s not a LEMN.

Be Sociable, Share!

Everything in Subversion

I finally set up a small Subversion repository on my local server. The box now has a HD without holes in it (for the moment), so perhaps the repository backend will stick around for a while.

Besides my private software projects, this repository will hold the /etc and kernel configs of my local boxes and this blog. That in turn should allow me to start making modifications to the CGI and the unfortunate default templates.

A couple of To-Dos: I’ll need some checkin hook scripture that pushes the entries out to the server as I commit them, and the CGI uses the file system last-modified date to determine publishing date on the pages. That’s real elegant, but not tremendously robust, especially when the content eventually goes through svn, an export, rsync etc.

Be Sociable, Share!

My Phone is Dying

The display of my Motorola V60i has been flaky for the past couple of weeks, but it now seems completely dead. This means I have to get a new phone, and need it fairly quickly. Time to do some research…

Be Sociable, Share!

Working Around an Installed Copy of APR

The Apache httpd 2 build system expects to find a copy of the Apache Portable Runtime (APR) and its utility library (APR-Util) under srclib in the source tree. However, if an installed copy of APR is already present on the system, the build system will use that instead. As far as I can see, there currently is no way to force the httpd build system to use the bundled APR instead of the installed one. This is an insurmountable problem in situations where, for instance, the APR that came with your FreeBSD ports when you installed Subversion is too old to build httpd-trunk.

This is a problem that should be solved by that same build system: it needs to check more thorougly whether the installed APR fits the bill, and it should have an option (like –with-bundled-apr) that forces building against the included source tree regardless of what is already installed. However, I currently lack both auto-fu and round tuits to come up with a fix. Fortunately, all the httpd configure script checks for is the presence of the APR and APR-Util configuration scripts, so renaming /usr/local/bin/ap{r,u}-1-config to something inocuous makes the problem go away.

Be Sociable, Share!

Getting There is Half the Fun

Really. I promised a post on how I actually completed my outbound travel. Let’s start with the sweet tingling sensation of being whacked by a pack of bricks what was the realization that my ticket was an our one way, while my flight was 45 minutes the other way. Of course my first course of action was to talk to the American Airlines ground staff. Oops, just realized I do have a paper ticket, but I forgot to bring it. “You can reprint that, right? I’ll pay a reprinting fee???? I hopeful.

No, reprinting is not possible. This is a Swissair ticket, so you’ll have to talk to them. Swiss does not have a representation in Oakland. Or to your travel agent. By the way, you’re not going to be on this flight. Buh-bye. No-no, buh-bye now. Actually, they were very professional. Numerous calls to the travel agent and Swissair occur, and the latter eventually agrees to put me on standby for a flight from LAX to Zürich later that day. Oakland to LAX is served just about every hour by Southwest, who sell no-hassle one-way tickets through their website. This is a sizeable gamble, because the Swissair flights tend to be full of ski enthusiasts around this time of year. However, it’s the only feasible way to get going without buying a full-fare ticket (going rate about $3000, which I can not justify). I buy my Southwest ticket at 1:30PM for the 3PM flight, make my way to LAX and end up just about the last passenger called for standby on the Zürich flight… Aaaarrgh!

Moral of the story: E-tickets rule, because you get on flights by just telling the airline who you are. This reduces the amount of stuff you can’t fly without to an important extent. And if you happen to end up with a paper ticket, grasshopper, do not forget to bring it. Fold it in your passport (I did bring my passport) or something. The only reason I ended up in Amsterdam at all is that the Swissair ground staff was very, very nice to me and allowed me to fly out of a completely different city with a ticket that was absolutely non-changeable.

Be Sociable, Share!

Travel Day From Hell

I guess it could be worse. It could be raining. Actually, it is raining here in the Netherlands. And hailing, and occasionally snowing. But there’s no earthly reason I could possibly be here. Let’s back up a bit.

Imagine you got up at 5:45AM in order to catch a flight. Actually, you woke up at five and were unable to go back to sleep so that’s when your day really started. Imagine arriving at the airport well in time for your flight because the airporter was late but arrived early, and like a fleck of dust on your should you carry around this feeling that there is something wrong with this trip, but you can’t figure out what. In fact, the day before you called the travel agency, the airline they booked you on and the codeshare partner you’ll actually be traveling with, and everyone told you yes, you are in the system, we can see your reservation, you’ll be fine. You are subsequently told that you cannot check in because you don’t have a ticket.

So, that’s what’s wrong. OK, no problem, you made all the checks yesterday, some disconnect for sure, couple phone calls should sort that out. Plenty of time, it’s a small airport and you only have a carry-on. “Didn’t you receive a paper ticket???? ask the ground staff and no, of course you don’t, you only use E-tickets. Then, the Ely hits you. Please do a text search here for ELY (n.). This is what’s weird about this reservation: there is a paper ticket, it arrived days after you made the reservation and you didn’t give it much thought. It’s probably in your bedside table. Your bedside table is an hour away, each way, and the flight leaves in forty-five minutes. There will be two connections.

Welcome to my day last Thursday. I did eventually make it to Amsterdam, and will blog later on how this came to pass, but suffice to say that there is no earthly reason this should have happened and a bunch of friendly airline people were really helpful when they really didn’t have to be.

Be Sociable, Share!

Austin, Texas

I’m in Austin, where it’s over 100F most of the year. Tonight, it’s freezing and raining… a killer combination. It took me two hours to get to the hotel from the airport, usually a half hour trip.
The outside thermometer in my rental Corolla dropped from 30F to 26F along the way, and the car was covered with a layer of ice when I finally got to the hotel. Radio stations were telling people to stay the hell off the road, and I’ve been hearing sirens go by all night from my hotel room. Fortunately, I did not get into any skids. Stopped by Rudy’s, across the expressway, for some Brisket. And Barbecue sauce. After all, I’m in Texas.

Be Sociable, Share!

FreeBSD and Wireless PCI Card

I’m now running my main development PC directly on the wireless
network. This took two trips to CompUSA (three if you count my initial
survey of the products on offer), upgrading to FreeBSD 6.0 and a
custom kernel build, but it is a going concern now. Very exciting, I’m
sure. It is for me, since now this box does not have to live behind an
old Powerbook with a chafing hard disk sharing its Airport connection
in NAT mode, which eliminates one noisy beast from my office.

Initially, I came away with a LinkSys WMP11 card that would cost me,
after two rebates, the grand sum of five dollars. I had googled for
this product and found out it is based on the well-supported Prism
chipset, so I took one home. However, the card I had bought turned out to be a new revision, with a completely different chipset that the
FreeBSD developers had never heard of! Thanks Linksys for springing
that on the unsuspecting public. Of course there are Windows drivers,
so the unsuspecting public still has something to play with. As, it
turned out, did I. I turned to the NDIS wrapper support and found out
that this only came with FreeBSD 5: time to upgrade the box from
4-STABLE. After a fresh new install (the only thing building world did
for me was make every program I started dump core… boy was I glad
that I had backed up my home directory before I started on this
track), I got the NDIS driver to work (great hints by Dannyman),
but unfortunately it did not support WEP. Why do we care about WEP?
Isn’t it completely uncool to rely on WEP these days? Actually, it is
in a way. In the same way that the lock on a bathroom stall door
prompts most people to try the other stall, I assume the
1337 H@x0R is going to hook up to the unencrypted network first and I can see up to six open networks from my second bedroom.

So, I pulled the Linksys card, took it back to CompUSA and got a
Netgear WG311T instead. This card is directly supported by the ath(4) driver… or so I thought. Of course, this was also a newer revision of the chipset, but at least Netgear didn’t switch sources on me. Support for this, the 5212 chip, was only in FreeBSD 6.0, so another upgrade was in order. However, everything works now. Phew.

Be Sociable, Share!

Hong Kong

Hong Kong is still hot, sticky, and intense. And full of high rise. It must help that I’m staying right in the middle of Tsim Sha Tsui, that most touristy of neighborhoods at the tip of the Kowloon peninsula. I ambled through the spelunks of the Chung King Mansions and the hostel on the top floor where I stayed the last time around is still there. I did not take the elevator up but instead fled back to the street and was dripped on by window air conditioners. There are definitely more nice looking high rise apartment buildings than there were ten years ago, but there are still a lot with unfinished dirty concrete façades. Hong Kong makes me think of the conditions described in the Cyberpunk novels of William Gibson et. al. Another impression that keeps crowding into my mind is the Cold Chisel song Khe Sanh, but that is mainly because I flew from Sydney to Hong Kong myself ten years ago. It’s one of those songs that turns out to be a lot nastier than it seems when you first hear it. Too bad it’s not on the iTMS.

Be Sociable, Share!