I started my internship at Endeca Technologies about two weeks ago, and I think I've settled in enough that I can make decent comments on my experiences so far. First of all, although you may not have heard of Endeca specifically, if you ever shopped online at Walmart, Newegg, Overstock.com, Barnes & Noble, Home Depot, and others I won't list here, you've used an Endeca powered website. Basically Endeca provides search technology that customers, like those above, can build their websites on top of. Specifically, what we call "guided navigation" is one of the key features of the Endeca software. Personally I think you can see this the best at Newegg, but essentially as you move through the page you are building up a query, and along with the actual query results, the Endeca software gives "refinements" that suggest the most promising ways to narrow your search. I could go on, and on, but suffice it to say both external facing and corporate internal sites have done some really exciting stuff with our software, and theres a lot more (secret) stuff in the works.
Anyhow, my specific project actually has little to do with the search side of the business. The team I'm on is developing a grid computing system to live on a group of new high-end computers we're getting in the office. The system can run any group of commands in parallel, but the first specific need for this system is to speed up our building and testing. We support somewhere in the neighborhood of a dozen platforms, the code for which needs to be built and tested very frequently. My end of the project is to write the client application that will live on the grid machines. It's a fairly interesting project, the client is responsible for determining the state of the computer, updating anything if neccesary, and when the computer falls below a certain usage level, spawning a VM and picking up a task or tasks from the grid. To make things a little more exciting for myself, I've chose to go about this using a combination of Ruby and C/C++ when necessary. So far it's been an enlightening experience, and I'm excited for what the rest of the summer has in store.
At work I switched to using solely Ubuntu on my machine, since the client I'm writing will live in a linux environment. So far I've found it very productive, and I've actually switched at home as well (though I keep a XP partition so I can play games). I've found it an interesting experience, expect another post in the near future that fully fleshes out my joys and difficulties in switching to Ubuntu from XP - for anyone interested in trying the same or with good advice for some of the issues I've confronted.