Let’s dump the last useful feature in Java. What castles in the sky are people building these days?
Smolt
The stats from smolt are pretty interesting if, like all stats, entirely useless. Some curiousities:
- i686 still beats x86_64 by a ton
- A (very) few people change their runlevel
- Acer is high in the vendor list, I guess they are still killing the netbook market
- People don’t configure their swap appropriately
- SMP is now the norm, outside of embedded kit anyway
- I want a 4+ GHz cpu
- No one uses omfs 🙁 …I guess I need to submit a profile.
Serial offender
There comes a time in every budding kernel developer’s life that he has to debug a mysterious lockup, and nothing will do but a serial console. Well, for my future recollections, here’s how to set it up:
- Get out your handy pl2303-based usb to serial adapter, because chances are good your laptop doesn’t have a serial port
- Build your kernel with CONFIG_USB_SERIAL_CONSOLE=y
- Add to your kernel command line: console=ttyUSB0,115200 console=tty0
- Hook your computer up to the other computer via a null-modem cable (man, these are pricey these days, $30 for something no one still uses?)
- Set up minicom to use your serial port, say ttyS0, at 115200 baud, 8N1, and turn off all the modem init strings
- Don’t bother futzing with getty, you only need it if you want to also allow logins over serial. For logging, it’s unnecessary
Now, start minicom on computer 2 and reboot your computer under test. If all goes well, you’ll capture a panic on the serial console. If all goes poorly (my case), you’ll have a lockup with no oops. The usual thing to try in this case is adding “nmi_watchdog=1” to the command line, which will use the non-maskable interrupt to break into any frozen code. Also, if you have CONFIG_DETECT_SOFTLOCKUP set, hopefully after 60 seconds or so you’ll get a soft lockup warning.
In my case, I still have a hard lock with no output. Ho hum.
The game
Did you see the game last night? Yeah, we were there! Did you see us on TV? Huh, what half-time show? Ohhh…. you are talking about that other game, what is it called, footsball? Nah, didn’t watch that one. But we did see Ovechkin get his second hat trick of the year in a 7-4 rout of the Senators yesterday. So be sure to get your 14 free toppings on your pizza this week.
Android
I haven’t had a chance to replace the kernel on my phone yet, but here is some useful software I recently installed:
- iptables + dnsmasq + IBSS mode = wireless tethering. (PPP over USB should also be an option, but I’m too lazy to figure that out.)
- Android build of busybox. Yay for vi!
None of that is original with me but both are very useful.
Post-(or is it peri?)-bama
We’re back from the inauguration, which was a surprisingly easy affair. Ange & I got up at the crack of 7am, a blustery morning with temps in the mid-teens. We walked across the street to our nearby Metro station, where we quickly snagged a train with a few empty seats. It took about 40 minutes to get to Farragut North, where we disembarked and walked west a couple of blocks, then south on 19th street. After a 30 minute walk we reached the throngs on the Mall. We set up camp against barricades near the World War II memorial, where the crowd wasn’t too bad and where there were three jumbotrons re-broadcasting the Lincoln Memorial service from Sunday. So we waited 3 hours, sang along with Garth Brooks, bid the feeling in our toes farewell, and reflected upon the amusing signage of the ever-present nutjobs until the main event.
The service went down just like on TV, so you have seen that much already. The only bonus we got was the crowd response in surround sound, and the occasional slip-ups of the A/V people running the live feed, such as the occasional mic-ing of random people who were invariably carrying on conversations that had nothing to do with the festivities.
On leaving, we retraced our steps but just continued up 19th to Dupont, where we again got seats on the first train. We’ve had much worse train rides before and after hockey games, so either we were lucky or Metro was handling the situation well. We got back about 1:45pm.
Anyway, frozen toes notwithstanding, it was very cool to be at the epicenter, moreso since we had the day off anyway. Insert stuff about once in a lifetime historical moments here.
Prebama
So it’s inauguration eve in DC. You can tell because all of the subway ads have some ‘Welcome to DC’ theme, and there are portable toilets spread all throughout the city. However, the most obvious sign of the new administration is all the utter crap you can buy with the First Family’s picture on it: key chains, mugs, postcards, buttons, playing cards, shirts, hats, knit caps, underwear and neckties. Radio Shack is even advertising: “Get your inauguration supplies here!” (you know, in case you need some speaker wire for the weekend). I hope he gets royalties somehow. Angeline and I are planning on braving the crowds tomorrow to hang with the groundlings in the non-ticketed section. We’ll see how that goes.
In hacking news, I have the following patches queued so far for 2.6.29:
Bob Copeland (12): mac80211: fix a few typos in mac80211 kernel doc ath9k: remove useless conditional ath5k: fix keytable type buglet in ath5k_hw_reset_key ath5k: enable hardware encryption for WEP ath5k: update keycache to support TKIP handling ath5k: set mac address in add_interface ath5k: preserve higher order bits when setting mac address ath5k: clean up ath5k_hw_set_key ath5k: enable combined michael mic in key cache ath5k: fix endianness of bitwise ops when installing mic ath5k: correct packet length in tx descriptors ath5k: fix return values from ath5k_tx
Basically, hardware crypto support, nothing else notable. In my unbaked tree, I have the mac80211 suspend/resume support patches (pushed today), some fixes for mixed b/g networking, and some silly LED patches. Most of that is 2.6.30 material.
In other news, glibc finally has endianness functions. I can’t say that I’m crazy about the names, and it has a bit of unnecessary Not Invented Here, but at least it gives an alternative to always using my own or using glib.
Pointless calendar increment
Another year has passed, so it’s time to take stock, and make soup from it.
In 2008, we downsized by selling my house, gave away lots of stuff, drove less, and called Angeline’s 700 sq ft apartment home. I’d like to continue the trend of reducing even while we try to find a slightly larger place.
Angeline landed her first real job after 14 years of training, receiving offers from every place she interviewed. She’ll begin at a private practice in Rockville in the middle of this year (if you have diabetes, I know a great endocrinologist!). We’re very excited and hope this practice will be a great place to work.
Meanwhile, I came into the year hating my job, resolved to leave by April. I did interview and receive a couple of job offers, but nothing too exciting. Instead, I decided to stop caring so much about work, and to wait and see what happens.
In 2008, I continued my hobbies. I cooked a lot, taking cooking classes on bread-making and sauces. I also messed around with electronics as usual, built a theme kite for the Smithsonian kite festival, and read a ton of books. Angeline and I completed hundreds of crossword puzzles together, and watched a lot of hockey games.
Most of my spare time, as boringly detailed on this blog, was spent focusing on kernel hacking, with OMFS being included and my becoming a maintainer of the ath5k wireless driver. In 2009, I hope to have my 100th patch included in the kernel (currently at around #35). I’d also like to make systems software a focus of my future career. To that end, I’ve applied for jobs with a couple of embedded device manufacturers, and applied to masters degree programs at nearby schools.
All in all, it was a good year. Our families are all reasonably healthy. Many were affected by the economic downturn but no one we know is suffering hardship. We look forward to spending more time with friends and family this year. 2009 holds lots of promise and all that other optimistic crap.
New Toy
After two weeks my developer’s G1 finally came in. Finally, I can use my 1990s text email client from a cell phone.
Komi
I suppose it’s a bit bourgeois to go to really expensive restaurants while the economy is crashing down around us. But Angeline’s birthday arrived last week, and it has been hard to resist the siren song of Komi from all the positive things we’ve heard. So off we went to Johnny Monis’ fancy greek restaurant last Friday night.
As we tend to do in the high end places, we went with the degustazione, the tasting menu. Angeline ordered a crisp glass of white wine, and I signed up for the three glass pairing. (Not being a wine connoisseur, I couldn’t really say whether the pairing was good or bad. The sommelier didn’t spend a lot of time explaining the choices, and there was nothing revelatory about the choices from my point of view. At any rate, that hardly put a damper on the meal.) The tasting menu begins with an almost unending parade of small plates, they call mezzethakia (actually if you google “mezzethakia,” you’ll get much better reviews of Komi right off the bat). Initial courses were primarily seafood: sashimi ahi in olive oil with salt and chives, sea urchin and oyster in a fruity gel, a salad with baby octopus tentacles, a really nice ceviche with sweet pine nuts (I forget the fish, salmon perhaps?), and scallop carpaccio with truffle mayonnaise. A steak tartare with white truffle ice cream soon followed. And finally, on a plate with tiny foie gras sandwiches, handmade animal crackers, and goat cheese smores, was a date stuffed with mascarpone cheese, sprinkled with fluer de sel. It may not sound like much, but this last, one of the most talked-about items from his restaurant, was excellent and well worth the hype.
For pasta, I had a tagliatelle, I think, while Ange had pumpkin ravioli that were amazing. Then they brought the “salad” course: a one inch crouton, deep fried with a caesar salad puree inside. Very imaginative, and it did taste just like a tiny caesar salad.
The small portions gave way for a massive katsikaki (slow roasted goat shoulder). This was very good: coated in artisanal salt, the outside was crisp and flavorful, a bit like roasted chicken skin, while the inside was fork tender, like a less-fatty pork barbecue. It was served with an array of home-made condiments. Dessert included various chocolate presentations (a mousse and a small cake, if I recall correctly) and some tasty greek donuts. The bill came with home-made almond lollipops, presumably to distract from the number of digits in the total.
Bottom line: definitely top three restaurants I’ve been to, top one or two in DC. Well worth eating PB&J for a month to save up the cash.