Note: This entry is a bit longer than most, so here’s the quick summary:
- Boise was great
- I hit a bird on the way home!
- See pictures here.
- HP was great
- I worked on network storage systems
- Initially boring, but ended being fun
- Cookie meetings
- Call of Duty meetings
- I worked on network storage systems
- Dorsha (my sister) had a baby, Zoe
- Zoe cries a lot
- Dorsha also managed to bowl a near-perfect game on the Wii
- See the picture (which she claims is not Photoshopped) here.
- I’m going back to school on Thursday
- Send money!
It has been a while since I have had an update. For those of you who haven’t been keeping up, this summer I decided to try something new, different, and exciting: I went to Boise! I know what you’re thinking: nothing about Boise says new, different or exciting. But, don’t knock it until you’ve tried it. I had a wonderful time hanging out in Boise and interning at Hewlett-Packard. It’s a great company and, believe it or not, Boise isn’t that bad if you have a few people to hang out with. Boise is primarily an outdoors town; the folks there love to hike, bike, do white-water rafting, and anything else that gets them outdoors. I’m not a big outdoors person, although I did go on one hike in McCall my first weekend there. McCall is a nice little place situated on a large lake and facing a small mountain. The description that I heard repeated a lot was “like Lake Tahoe, Nevada before it became popular and over-populated.” Besides this, the other interns and I filled our weekends with Friday dinners, movies and bowling, which isn’t too different from what I do in Dallas, except the bowling is at home on the Wii. Oh, speaking of bowling, I bowled a 152; it didn’t get me into the pro leagues, but I did beat the other interns and win a gift card.
Work was pretty cool; I didn’t do much of it! That’s the way it feels at HP, although everyone works hard, they just play hard, too. The atmosphere there is pretty laid back. Folks come into work in shorts and sandals; I stuck with my usual jeans and t-shirt (and sneakers, I haven’t been at MIT long enough to pick up the no shoes/socks form of dress). Everyone there is just…cool. It’s great. What I loved most (again, believe it or not) were the meetings. Not the 9:30 AM meetings, mind you, but the 1:30 PM cookie meetings every Wednesday and the 4:30 PM Call of Duty meetings every Friday. I couldn’t believe that I got paid to eat cookies and play video games, but I did and I enjoyed it. The purpose of both meetings is to relieve stress and just take some time to relax, and I think it worked. It was nice to be able to step out of my cube (which was actually the size of 2 cubes, so I had some working room) and step away from whatever problem I (had created) was trying to resolve.
Speaking of problems, I should mention what I did as far as work goes. I worked in the StorageWorks Division (SWD) this summer. SWD is responsible for producing storage area network (SAN) devices which are used by businesses (both big and small) to store data in a quick and safe manner. The overly-simplified description of the products is an array of hard drives connected to a computer network and used to store data. The more technical explanation is an array of really fast fibre channel SCSI storage devices connected via fibre channel to an array controller that controls the RAID configuration (0, 1, or 5, though we really wish you wouldn’t use 5) and flow of data (along with a fibre channel switch if you want a performance boost). Let’s leave it at that before I confuse you and me even further; if you want to get into the details, just email me.
The particular product line that I worked on is the Enterprise Virtual Array (EVA) family of systems. My project involved an overhaul of the error injection code in the firmware. For those of you non-programmers, firmware is the low-level of software that allows for the interactions between the hardware and higher-level software. A common piece of firmware is your computer’s BIOS; when you start your computer and see that nice HP logo initially, that’s the BIOS loading. The BIOS provides basic hardware (computer and mouse, among others) interactivity, and only after the operating system (Windows, Linux, or whatever you’re running) can you gain more functionality. In the case of the EVA systems, the firmware is pretty much all we need to function; it takes care of managing disk drives and data transmission, and there is no Windows or Linux installed on EVAs. Instead, the EVAs connect to computers via fibre channel cables (similar to the fibre optic cable used in many home theater systems, but transmitting data that isn’t necessarily a sound track), which are many times faster than your standard USB or FireWire, and are recognized as disk drives.
My job (I’m getting to it finally) with the error injection overhaul was to clean up the existing code and make it more modular. We’re working in the C programming language, so you can’t get too modular (no classes or inheritance), so I mainly move portions of the code around and made it look better and easier to access from other portions of the code. I’ll leave out the details because they might bore you, and I might not be able to disclose them without getting sued. That was the first part of my project, which was rather boring, but necessary to learn how the code works. The second and most-important achievement was to add the ability to inject errors in a particular code path. Before I forget, the purpose of injecting errors is to make sure that the arrays can properly recover from errors. If you pay many thousands of dollars for a system, you expect it to work. This, in a nutshell, was my project. I enjoyed it, and I ended up bringing home a nice new laptop, from which I am writing this entry.
I had a great time in Boise and at HP. My whole purpose for going there was to try something different: I had been in Dallas all of my life and at Texas Instruments for the past two summers. I admit, I was a bit worried about such a big change, but everything worked out.
I ended up driving back from Boise alone because I left a week early. That was a long drive, but I saw a few sights and took some pictures which I placed on Flickr. (By the way, all of my pictures are now on Flickr since Yahoo! closed its photo service.) It was pretty interesting to see the landscape as it transformed from the Rockie Mountains of the west into the rolling prairies of Texas. Most of it was a blur, however, since I sped about 95 MPH most of the way. I learned 3 things about the Tahoe during this trip: they go fast, highway driving at 95 MPH results in the same gas mileage as city driving (about 370 miles per tank), although I have heard that Chevy engines cutoff at 100 MPH, it’s actually 98 MPH according to the speedometer. (If anyone knows how to disable that speed governor, send me a message. If you buy a car, you should be able to drive it a recklessly as you like, which might explain why I’ve never bought a car.) I also learned that the HP Photosmart R827 (which I happen to own) takes pretty good pictures at 80 MPH, the speed at which most of my pictures were taken.
While I arrived in Dallas safely (and, surprisingly, without seeing more than 4 cops the entire trip) there was an unfortunate victim. I hit a bird in Amarillo while going 90 MPH. He didn’t have a chance, and as you can see, there wasn’t much left. And, on that rather disgusting note I’m done describing my summer activities. I head back to MIT on Thursday and classes start on Tuesday. My motto for this summer is
Ask and ye shall receive.
It worked for my new laptop, among other things. So, once again I’m asking that you show your support for the Clinton College Fund. Help a young man succeed in life. Give to the CCF, which is supported by readers like you. Good night, good morning, good bye. P.S. Hopefully you saw the lunar eclipse this morning. If not, wait another few years.