My earliest memories of playing around with computer hardware were in high school, when my mom agreed to buy 8MB of RAM so that we could upgrade from the 4MB that our computer came with. Back then it was over $300, an inconceivable amount of money. I struggled with putting it in and I think we eventually figured out that I was being too delicate with the motherboard. In any case it was quite a stressful situation.
Later on in college I got a 3DFX card and it was amazing. Since then most of my computing has been done on a laptop (Thinkpads for 7 years and then MBP for 5 years). I had never put together an entire machine myself.
In any case, JR has been wearing me down over the past few months. For the most part it’s been easy for me to ignore his advice to get a gaming PC. The last thing I need is another platform to collect games that I don’t have time to play, no matter how cheap they are on Steam. But eventually I started looking into it. I still couldn’t justify the cost, but then the power of rationalization kicked in. I figured that if I installed OSX on it, Jen and I could use it as a family computer (mainly for organizing photos), which is something we’ve been wanting for a while but unwilling to splurge on a nice laptop or Mac Pro. Plus it could be a fun opportunity to build my own computer for the first time, something that was missing from my resume.
The research phase was really fun. I probably collected 40 links to PC-building websites that I’ve saved away. In particular:
Newegg and Amazon made it incredibly easy for me to quickly turn a whim into a pile of parts on my doorstep.
I raced to read every instruction manual and online resource I could find, and put the machine together over the course of a couple of evenings. Of course, when I went to turn it on, nothing happened, which was my biggest fear all along. I fiddled with a few ore things before taking the entire thing apart and trying to test individual components (which was really hard since I didn’t have any tools or extra parts).
I found a computer repair shop that (for a small fee) offered to help me test my motherboard and verify that most of the computer was working, so I swallowed my pride and brought some of my parts in. The guys were super-nice and excited on my behalf. My motherboard turned out to be broken, so I ordered a new one and we put the computer together and now it’s working.
A couple links that were helpful:
I’ve got all the parts hooked up now, but need to spend another few hours organizing the cables and putting all of the fans in. Right now it’s a mess of black wiring. But it works! Some highlights:
- Dual boots Windows 8 and OSX, each OS has its own SSD
- Windows: Bioshock:Infinite runs nicely, along with some cheap Steam games I’ve been accumulating over the last few weeks.
- OSX: Lightroom installed and working. Will probably do some development on this side.
Overall building my own computer turned out to be a really fun experience. I obsessed over it for a few weeks. There are definitely some fun problems to wrestle with, mostly on the spatial front (in what order should these components get installed into the machine? Where do all these cables go?), and who doesn’t love looking around for good deals on components? In retrospect I probably should have been more patient with the whole process. Jen was super-supportive throughout the entire thing, even when we had a pile of parts that were assembled into a completely unresponsive paperweight. I also borrowed a lot of evening and weekend time from her and the kids.
I also realized that it would be a waste for me to only build one machine after doing all this research. So I’m on the lookout for friends who are looking to build a computer (or reasons for having more than one computer in the house).
Finally, thanks to everyone who got excited on my behalf and offered support on this project all throughout the last few weeks.
I’m kind of a sucker for business and management books. I’ve read quite a few over the years (actually, ‘read’ is a pretty strong word, usually I just skim and take notes on things that interest me). These are the ones that I keep referring back to (and recommend to people on my team).
Tribal Leadership (Dave Logan, John King, Halee Fischer-Wright): The language used by members of the team tells you a lot about its coherence; this book proposes that there are 5 successive stages of team culture. It’s a nice framework for thinking about how to coach a team along from one state to another to improve effectiveness.
Great by Choice (Jim Collins, Morten T. Hansen): My favorite Jim Collins book with a lot of useful lessons on how the best companies are incredibly disciplined and careful with their investments.
Crucial Conversations (Kerry Patterson, Joseph Grenny, Ron McMillan, Al Switzler): Super, super helpful both at work and at home (even if you don’t memorize all of the helpful mnemonics). Except when I get in trouble with the wife for telling her to stick to the facts.
Kanban (David J. Anderson): My favorite software process book; it’s guided a lot of the things that I’ve tried to do at Yelp over the past few years. After working in a scrum environment for a couple of years I didn’t think that it would quite fit with what we were trying to do. Kanban emphasizes focus, teamwork, and incremental change.
I’ve never been into Twitter, though I recognize its appeal as a communication medium. It’s quick and convenient; a good place to share a transient thought and to record every freaking thing you’re up to.
My protest is against my wife’s usage of Twitter as a substitute for blogging. Some people should not be reduced to expressing their thoughts in 140 characters. It’s deprived me of one of the great joys of my life – reading my wife’s beautiful prose. Consider the following examples of words that would have gone unwritten and unread:
And Grant’s favorite (which I just spent some time hunting down):
For those of you who don’t know, Jen has started a new blog but thinks that no one is going to read it. Please give her some encouragement.
jcliao, consider yourself called-out.
The most ridiculous thing about my stay at Adtech (my IBM group) is that it lasted longer than college. There were about twenty of us, and we formed a talented, self-contained, and self-directing group. By the time I arrived, Adtech had already established itself and was charting its own course. The thing that kept me coming in (and enjoying it) was the team. We became very close, eating lunch together nearly every day. There were a good number of social gatherings with the extended Adtech family which includes several adorable children and lots of cool significant others. Jen and I played on the Adtech softball team for a year, which was a lot of fun.
The work was always interesting and changing at a good pace – projects were long enough to develop a deeper understanding of the technology but not so long that they dragged on. It was difficult to get the attention of the behemoth that is IBM, but it’s good to see that all of my work hasn’t completely disappeared. Technology areas included a rich Internet application framework, cluster computing and monitoring, a tiny bit of graphics programming, and Semantic Web technologies. I was also able to get involved in several community educational programs.
Even though most of us have left IBM, we’ve been meeting up on a semi-regular basis for lunch in Kendall Square. I’ll miss hanging out, though there are good number of us in the Bay Area now. Hoping to stay in close touch with everyone and to visit occasionally before the kids all grow up.
After spending over 5 great years at IBM, I’ve started a new job at Endeca. The bad news is that I’m currently computerless – the machine I ordered a month ago isn’t scheduled to be delivered for another two months. Unfortunately this means for now photo-processing (and recipe-posting) is on hold indefinitely while I try to figure out whether to get something else in the meantime.
Several months ago, Lee and I decided to volunteer with Citizen Schools. We taught a small class of sixth and seventh graders how to program a video game in Scheme. While it was a large time commitment and, at times, a struggle, it’s something that I am happy to have done and would encourage others with flexible hours to explore. For those who have not been following along, I tracked our progress throughout the 10-week apprenticeship:
Becoming a Citizen Teacher
Slowly (but surely) getting to WOW
Citizen Schools, Week 4
Night before WOW
Citizen Schools celebrations
I have spent most of my volunteering hours working with students; as the son of an educator, I cringe when I hear about how poorly the US does on math and science tests (which, unfortunately, is quite often). After working for several years with Boston Latin Academy in an event-coordinator role, I was interested in finding something inside the classroom just to get a glimpse of what it was like.
It was hard. There is no doubt that the students we had were very bright, but getting them to focus was quite difficult. We constantly questioned our ability to teach them effectively. We worried about losing control of the class, which was usually on the brink of chaos. On some Mondays the thought alone of facing them made us exhausted. And we were only doing this 90 minutes a week with a small class, getting to the school around 230pm, not waking up every weekday at the crack of dawn to teach for several hours. Teachers most certainly deserve that summer break of theirs.
Of course, the challenges made the rewards all the sweeter. We savored the times when students volunteered to answer questions, showed off accomplishments to us and to each other, and worked together to solve problems. They really hit their stride towards the end of the class, when every session was spent adding new functionality to their video games. We were happy to see them perform spectacularly at the end-of-term events, where they explained the inner workings of their code to friends, teachers, and strangers.
One of the things that I’ve realized is that it is incredibly easy to make excuses for everyone, especially the students. This one is having a tough time at home, that one had a rough day at school, this other one didn’t really want to be put in this class in the first place. It has the potential to be a huge demotivator for the teacher – at times it can seem too hard to overcome the baggage that the students are dragging around. But regardless of what was going on, I came to realize that we had those students for 90 minutes a week, and no matter what was going on in their lives it was our duty to try our hardest to teach them something. I imagine that it takes an incredible amount of willpower and energy to do this full-time, and I definitely appreciate more the teachers that I have learned from.
Overall I think that the Citizen Schools program is a very good one. Aside from teaching students how to behave properly be encouraging the demonstration of certain core values, it also addresses two problems of education: the disconnect between concepts learned in class and their application to real world problems as well as the one between a classroom and its local community. Bridging these gaps will give students interesting problems to think about and also make students aware of local career opportunities. In theory it should make their classroom studies more relevant to the world outside, and hopefully more interesting to them.
We have met several passionate educators (who have become good friends) – Emmanuel Schanzer, who developed the Boostrap curriculum; Alex Stryker and Kevin Ingram, who helped us maintain order in our classroom; Chris Conroy, who scrambled every week to make sure our classroom was equipped with everything we needed; and Brent Holsinger, who also provided a lot of support. Everyone gave us a lot of valuable advice and feedback, and it was great to have so much help.
We made it. Two Mondays ago we had the Online WOW! at the MIT Media Lab. Students explained how their games worked to event attendees in a science fair-style setup. One of our students, John, participated in a web videoconference with some students from a classroom in California and got to show off his game to them. This past Monday was our last class, during which we reflected and celebrated by handing out game CDs and playing the Wii.
Last Wednesday we had the Gavin WOW! We got to see some of our students in the contexts of their other apprenticeships, like dance and TV production. Of course, there was also a lot of game-playing and explaining as well. Overall I was quite impressed by how much they retained, and I really enjoyed seeing the students take pride in their work as they showed off their games.
Will post some final thoughts in the days to come. It has been a great experience all around, and at least one student is intent on continuing work on his game, which we count as one of our successes.
A few months ago I was working with Cathleen Finn (in IBM Corporate Community Relations), and she mentioned the pains she had to go through to get lists of employees working in New England states (for the purpose of sending recruitment emails). The process involves making a request to someone in another group and waiting for them to come back with a spreadsheet. Of course this is a process that has to be done every time and can take several days. It’s especially frustrating because we have all of the data (in a LDAP directory) but there isn’t any good way to get at it to solve this problem.
Lee, Elias, and I had mucked around with SquirrelRDF a while back, running it from the command line. Since I didn’t have access to that machine, I looked up our LDAP schema, wrote a mapping file, and wrote a SPARQL query to pull email addresses for everyone working at an office location in Massachusetts. It took a while to run the query, but in the end I got exactly the data I was looking for, no more and no less.
I played around with SquirrelRDF a bit more intending to set it up as a service to be used in some of our internal Semantic Web demos. I wrote up some of what I did in a recently published developerWorks article.
So the instruction part of our Citizen Schools apprenticeship has come to an end. Tomorrow evening at MIT we are holding an event for some of the technology apprenticeships across the city. Our students will get to demonstrate their games and explain basic concepts via some posters that they created last week.
The last few classes have been quite good, except for the week before spring break when only four students showed up. We enjoyed giving a lot of attention to the students who did show up, but we had to catch everyone else up over the next few weeks. The key thing that Lee and I have found very effective (suggested by Emmanuel) is trying to maintain a good deal of structure within the lessons, giving them one small milestone at a time rather than open-ended tasks.
There have been a lot of opportunities for the students to work on their games, and for the most part they have been more engaged than at the beginning of the class. Instead of covering function definitions and boolean logic, they’ve had fun drawing character graphics (using rectangles, circles, and triangles as primitives), moving characters around, and implementing collision detection. Of course we’ve had the occasional straggler who isn’t at all interested in exploring what can be done given their game framework, but overall things have been very positive. Students have been excitedly showing each other what they’ve done.
One thing that amuses me to no end: We have two students who we’ve assigned to work together. They have been paired together just about every week that they attend class. But without fail when they walk into the room and see their notebooks together, each will try to move to another workstation, and they complain (pretty loudly) about not wanting to work together. This is not all that surprising considering that most of our other partnerships don’t exactly demonstrate good teamwork; partners regularly antagonize each other. The thing about these guys, though, is that once they get down to work they actually help each other, looking over what’s being typed, making suggestions, and answering each other’s questions. It’s really great to see.
Thursday was Take Our Daughters and Sons to Work Day. I didn’t have a daughter or son to bring to work, but I did end up running an activity session for eighteen children aged 8 to 11. The topic was the Internet, and we covered the differences between analog and digital data, simulated a simple packet-routing scenario, and discussed the pros and cons of having a centrally regulated Internet. I was really happy to see the students point out two of the best things that the Internet has going for it: 1) free access for all and 2) no censorship. Pretty cool to see these guys so far ahead of where I was technology-wise at their age.
« Previous entries Next Page » Next Page »