Working at Six Apart
April 29th, 2007 by SodaBrew I am setting sail for San Francisco, to a web development firm. My new daily grind awaits! Oh, heh, and hopefully they won’t mind that this blog runs WordPress
I am setting sail for San Francisco, to a web development firm. My new daily grind awaits! Oh, heh, and hopefully they won’t mind that this blog runs WordPress
I had a pretty good job offer this past month from a natural language search firm looking for computational linguists — a dream job, right up my alley — but had to turn it down, for no other reason but the horrendously lopsided employment contract. Bottom ine: this management team does not trust the people it hires. So, for the benefit of those out there who have a habit of not reading what you sign, pay heed to some of the onerous provisions you may be committing yourself to.
They did invite me to launch party, though, and between meeting famous linguists whose papers I studied in school, and watching the party crashing going on, the entire scene almost had me break out in uncontrollable lulz.
In November, I took a job at Decru, a Network Appliance company, as a QA Engineer. I’m in the Partner Relations group. Our job is to establish relationships with third party QA labs to run formal interoperability certifications between our products and their products. There’s two other people in the group, and they’re both really great to work with.
Decru’s products are a set of hardware encryption appliances that sit on Ethernet, Fibre Channel or SCSI links between users, servers, disk arrays and tape backup systems, encrypting the data as it goes to the storage device and decrypting the data it goes towards the users.
Decru itself is a fun little company, very laid back and friendly people who are really keen on security, good code, and sane release schedules. This is a company that sells to Fortune 500’s and the government, so there’s no hot-dogging of features that don’t work, don’t make sense or won’t be reliable. But this is still Silicon Valley, so while the products need to be really staid devices, the company itself is still a dynamic place with lots of neat ideas floating around.
Company trivia: the co-founders knew that they wanted to start a company, and knew the crew that they wanted to start it with, and knew the wanted to do something in either storage or security. They combined the two, called up ‘da crew’ (think bad Israeli accents) and thus Decru was formed.
I’ve been interviewing all week with small and large firms in the San Jose / Silicon Valley area for work as a Software Engineer. Interviewing is a lot of fun — dress just slightly better than the firm you’re walking into, but not too much better, else they’ll think you’re a business person and not an engineer — get tons of adrenaline flowing but stay calm and try not to forget everything you learned in school (which you’ll inevitably be asked to draw out on the nearest whiteboard) — and, most importantly, don’t forget to interview them! The company wants someone who wants to be there, so you have to ask a lot of questions about the company to see if you do want to be there. What’s their management style? How well funded are they? Are they turning a profit on current products? How many people work there? Is there a program in place to reward extra effort that you put into projects? Do they order in dinner on the late work nights before a major product launch? And when it’s over, don’t tarry, just thank them, give an honest impression if you liked the work place, and be sure to follow up in 2-3 days.
I got in! Joomla! will be my project, with Lee Cher Yeong as my mentor. To celebrate, I’m reading two books and building a barbeque pit.
I wrote four applications for the Summer of Code. The first one took like 12 hours to research and write, and the other three took 1-3 hours each. Once I got the hang of how I wanted to present stuff, it was just a matter of serializing it out of my head. In descending order of time put into the application (which happens to be inversely proportional to the amount of time I’ve already spent on the project): Joomla, Network Monitoring, libSieve, TWIG.
Amazingly I got through my midterms alive, got back an A on an essay, and am not going crazy! I am totally sick with a yucky head cold, though. Damn you, not enough sleep demon! And on an unrelated note, I installed WorkRave to keep me from typing too much at a time. It would really benefit from having information from XIDLE to keep track of how long I’m actually at the computer rather than just blindly counting down all the time.
I’m planning on putting out a few proposals to get into the SoC 2006. I had hoped to get TWIG in as a mentor, but that didn’t go through. So I’ll take a tangent, and definitely see if there’s other good PHP work that can benefit everyone. My ideas are:
Portland State University: Open to “projects that might fall through the cracks” — I’m going to pitch XIDLE/XCB, TWIG and the network monitoring integration.
X.Org: See if they’ll go for my XIDLE request to get that working again. Otherwise, check out their XCB stuff. I’d like to learn it!
Joomla: wants to do a phpGACL layer, a DB abstraction layer and an AJAX layer. I’m good for all of those. I’m not sure if I want to be reporting to this project, although the work looks good.
Horde LDAP Browser / Manager: Develop a Horde LDAP application capable of both browsing and managing an LDAP directory. Should also support importing and exporting LDIF files. Now this would just be funny. Basically I’d port/rewrite my TWIG ldap browser into Horde. Or maybe is funny-sad :-\
PostgreSQL: PL/PHP Build Improvments: PL/PHP is a PHP based procedural language for PostgreSQL. This project would clean up memory usage and the plphp_proc_desc struct, be built without Apache’s SAPI module, allow large resultsets to be processed through transparent use of prefetching on a cursor when spi_exec is called, and support IN/OUT and named parameters.
Proposal guidelines and example.
Last week I got an itch to learn something about AJAX, and procrastinate a little bit on some work. I started out by trying to find some useful springboard to get into AJAXland, but discovered that a) most of the PHP toolkits for AJAX are really big and foreboding, and b) JSON notation is the new preferred X format in AJAX. So we’ll call it Ajax and Jason, I guess.
After a while, I scoped out a few bare-bones tutorials and hacked together my own script in their fashion. Then I found a Jason converter for PHP that follows the semantics of what will probably be a pair of PHP built-ins, json_encode and json_decode. Simple as that. Pass in an array and it spits out the array in Jason, ready for consumption by your JavaScript. Well, about six hours of hacking later, I now have TWIG 4’s data tables slurping data asynchronously from Jason modules. Model-View separation suddenly became incredibly easy! In fact, when I copy-pasted code from the Wiki feature, the first to get its Jason upgrade, into the Mail feature, and tied it together with a simple public domain tree system, it pulled up my mailboxes but showed me the contents of the Wiki system! Wait, that’s good! It took just five keystrokes to switch the request over to grab data from Mail ![]()
Ok, here’s the new wishlist item: ThinkPad X60s
Cash in hand: $400. More to raise: $1400.
I wish I could go for something cheaper, but the battery life on this thing, especially with the extra battery pack, is just amazing. Two models ago, when new, I got an honest 8 hours. After a year and a half, it has died down to 5 hours. This new model has the same size batteries, and lower power consumption on the hard drive and CPU. The reviews have been awesome, just as they were with my poor old laptop ![]()
My laptop was stolen at about 4am-ish this past Friday. I’d been pulling all-nighters at the dining room table for weeks, and I’d just turned in at about 2am. The thief let himself in one of the doors, headed for a housemate’s room, scoping it out with a flashlight and woke her up. At first she thought it was a housemate needing help or something, but then the thief bolted out of her room, grabbed whatever he could from the dining room, stuffed it in a backpack stolen from the living room, and left out the side door, taking a bike as a get-away vehicle. He also got two wallets and two sets of keys, but chose to steal a bike to get away. Major bummer! I’m starting a collection for the buy-a-new-laptop fund.