Monday, September 15, 2003

Programming Quiz #3

This one is pretty tricky. The programmer expected the code below to parse out the words of each semi-colon seperated line. However, it doesn't seem to process anything past the first semi-colon. What's wrong? void process(char *str) { char *ptr; ptr = strtok(str, " "); printf("Some words: "); while (ptr) { printf("%s ", ptr); ptr = strtok(NULL, " "); } printf("\n"); } int main(void) { char *ptr; char buf[80]; fgets(buf, 80, stdin); ptr = strtok(buf, ";"); while (ptr) { process(ptr); ptr = strtok(NULL, ";"); } }

Answer to quiz #2: Think about the order in which constructors are run. Passing a pointer to a member to the base class constructor is risky because the constructor for the member hasn't been run yet.

Friday, September 12, 2003

I met Lauren after class today for a little UW bouldering wall action. You pay your $7 to join the Outer's Club and then can use the wall that same day and for the rest of the term. Watch out for the wall nazis though: Lauren got busted for climbing without first registering at the front desk.

Thursday, September 11, 2003

Bob from Guelph Grotto recently mentioned that Laurier (University of, just down the street) has climbing facilities significantly closer to us. So I went over there the other day to check it out but unfortunately (or fortunately? ...) climbing there is not feasible for non-Laurier students. First of all, it wasn't even open yet. Secondly, from the viewing area the facilities looked really small. And finally, you need an expensive non-student membership to even get into the building in which the wall is located. Plus according to Bob, the thing cost $750,000 (!!!) to build due to mob controlled contracts?

Wednesday, September 10, 2003

Remember Adam Barr, the "Proudly Serving My Corporate Masters" guy? (If not, he is an ex-Microsoft programmer who wrote a book in part about the Microsoft hiring process, my continuing pet obsession) I really liked his response in Scobleizer's comments this morning to Trust Your Instinct by some VB.NET guy. This brings to mind my favorite Malcolm Gladwell article The New-Boy Network: What do job interviews really tell us? which examines how the interviewer's "gut feeling" or "instinct" can cloud their judgement of talent.

In a related story, thanks to Pat for writing me a great Microsoft referral (he's been down there for his last two co-op terms and now has a full time offer) which actually got me a phone interview. Last Friday I talked to Stacey, the MS recruiter responsible for UW, for about an hour (it was supposed to be a 20 minute call -- I guess that's a good sign). Here's a little point form summary:

  • What's your definition of "smart" ? Who do you know that fits this definition? Do you consider yourself smart under this definition?
  • Design: Suppose Disney World were to distribute Pocket PCs with wi-fi to visitors upon entrance to the park. What features can you imagine the budled software having?
  • Coding: Describe how you would write a function that, given a C string, returns a pointer to the first repeated character. eg "abca" returns the 2nd 'a'. Explain the pros and cons of your solution.
  • Why do you want to work for Microsoft? What projects/areas are you interested in?

The amazing thing is that I didn't totally screw these simple questions up. In fact, she called ME back Monday afternoon! We'll see where things go from here.

And now for something completely different, via Matt, Le Tigre's song Get Off the Internet (Pop-up warning). The chorus immediately evokes memories of being 12 years old dialing into MBNet at 2400bps, having your Mom pick up the phone to make a call, but instead of a dialtone hearing the carrier signal and screaming down the stairs at you to Get off ...

Sunday, September 07, 2003

Ah the last day off before Fall 2003 term begins at the University of Waterloo. Thousands of UW students, wondering what classes to show up for tomorrow morning are logging on to Quest, our web based student information system, to print off their schedule. Oh oops, you didn't think that the system would actually be AVAILABLE when you the student need it? No, only the helpful Microsoft VBScript runtime error '800a01f4' awaits eager schedule seekers this Sunday night.

Last term when this happened (it happens every term), I proposed firing the University employees responsible for chronic failures of mission critical systems, mimicing what would happen in a for-profit company where people are held accountable. This term, I have a new proposal, also inspired by industry, but perhaps more feasible. Robert Scoble recently noted that Microsoft's executives are compensated proportionally to improvements in customer satisfaction. As the University of Waterloo's customer, I would like to fill out a survey every term to indicate my satisfaction with the university's administration, much like I already rate my professors on their teaching effectiveness at the end of every term. If students are generally satisfied with the service they receive from the various tentacles of the UW bureaucracy: Co-operative Education & Career Services, their faculty's undergrad office, Information Systems & Technology, etc. then we will happily pay our $100k plus administrators' salaries. If not, and I guarantee that this is the state we are currently in, those salaries will be proportionately reduced.

Thursday, September 04, 2003

Lauren and I checked out the Guelph Grotto last night, which is the nearest "serious" indoor climbing facility to KW at over 30km away. I climbed a 5.7, some 5.8s and a 5.9 (with a few retries). The plan is to buy a 12 pack of day passes and to find two more people to split the cost of the kms with.

I'm in the math building waiting, along with about a dozen other students, for the math undergrad office to reopen after lunch. There's a sign on the door that says "Closed from 12:00 to 1:30" It's 1:45. I guess an hour and a half lunch isn't enough of a break after pushing paper all morning. It's rough being a University of Waterloo employee.