On the way to Rails on Canada

I’m in IAD airport on the way to Canada on Rails. I have gummi bears (Haribo, to be exact. the good kind), coke (I don’t drink caffeine often so lightweight there too), iPod, the Rails book and a laptop. Noticably missing is internet because T-Mobile wants $10 for the hour I would be here (note to self: find out of RS has an account with them).

The camera is in my checked baggage or I’d share one with you to share the dullness.

My rental car to get from the 'burg to IAD was an upgrade. Asked for compact, got the luxury (2006 Buick something-or-other). Very nice ride.

Next stop is Phoenix (!!), going to see if I can get Collaboa up and running replacing the svn swig wrapper with some Ruby DL code.

New Job

So I have a new job that started two weeks ago. I’m now a web developer at Rosetta Stone . Their website is built using Ruby on Rails, so I’m someone is paying me a to learn a new language, can’t get any better than that.

Also the team I work with kick ass. Unlike my last few jobs where I was the only coder/techie person physically there, I’m part of a team of 8 people, all of whom bring their own style of hotness to the group (hot being the word of highest praise).

One of the things they do in a job interview is an IQ test. They are moving away from having a hard go/no go score when they give these out, but as you talk with people around the company you can feel the collective mental powers radiating everywhere. Worse some of them are married to each other and they will soon have brainaic children that will no doubt enslave the world.

I’ve spent most of the 5 weeks getting Trac up and running for our team and adding custom fields and reports for what we need to do. When I got to the project the team had three “todo” lists: product/sprint backlog in Excel stored in SVN (we use the Scrum team management method), Bugzilla for formal QA, and Quickbase (an ASP intuit offers for business forms). A mess. The backlog has moved into Trac, but I don’t know if trac can elegantly accommodate Bugzilla and the Quickbase stuff. We need very different fields for these tickets and trac has the same fields for all ticket types. Subtickets would be really nice too.

I have done some Rails stuff, and the main trouble there is deployment. We use Apache + FCGI in the production site, and the built in ruby web server for development, but we have two rails apps that make up our site. The few changes I’ve had to make spanned these two apps and made testing them quite a pain.

#career

Your (Wo)Man in India

My Outsourced Life

Honey has completed her first project for me: research on the person Esquire has chosen as the Sexiest Woman Alive. (See page 232.) I’ve been assigned to write a profile of this woman, and I really don’t want to have to slog through all the heavy-breathing fan Web sites about her. When I open Honey’s file, I have this reaction: America is fucked. There are charts. There are section headers. There is a well-organized breakdown of her pets, measurements, and favorite foods (e.g., swordfish). If all Bangalorians are like Honey, I pity Americans about to graduate college. They’re up against a hungry, polite, Excel-proficient Indian army. Put it this way: Honey ends her emails with “Right time for right action, starts now!” Your average American assistant believes the “right time for right action” starts after a Starbucks venti latte and a discussion of last night’s Amazing Race 8.

The internet turns the whole world into a service economy.

Read the Laws before you pass them

I think this DownsizeDC idea is great:

To this end we have created the “Read the Bills Act of 2005 (RTBA).” RTBA requires that . . .

  • Each bill, and every amendment, must be read in its entirety before a quorum in both the House and Senate.

  • Every member of the House and Senate must sign a sworn affidavit, under penalty of perjury, that he or she has attentively either personally read, or heard read, the complete bill to be voted on.

  • Every old law coming up for renewal under the sunset provisions must also be read according to the same rules that apply to new bills.

  • Every bill to be voted on must be published on the Internet at least 7 days before a vote, and Congress must give public notice of the date when a vote will be held on that bill.

  • Passage of a bill that does not abide by these provisions will render the measure null and void, and establish grounds for the law to be challenged in court.

  • Congress cannot waive these requirements.

If they just get the “Full text must be on the Internet for 7 days done” that would be a revolution. I’m sure Newt is unhappy thomas.loc.gov has not been extended to it full potential.

UPnP NAT Traversal

I can’t really claim credit for this: more than a year ago I had started to write code to interface with the NAT box at my office via UPnP. I never finished but passed the python code on to one of the divmod guys. They put that in CVS, made major changes but didn’t get it working. Raphaël Slinckx now has taken that code and got it working resulting in Nattraverso. Good Job!

I see that he requires a SOAP library, so that means the a) python SOAP libraries have evolved enough to deal with the “not quite SOAP” used in UPnP, or b) He’s targeting some new UPnP spec.

I have no UPnP NAT box now to test on.