Tuesday, September 26, 2006

Cool electric car ...

Came across the Tesla Motors site. They make a fully electric sports car that actually looks cool. No info on price though and I doubt it is affordable. But I think it's pretty cool that companies try to buck the trend of making ever bigger vehicles that suck up more and more gas. One would hope that politicians would actually support the development of fuel-efficient cars more than they have in the past. But it appears that they are even against it. So, watch out, owners of Tesla Motors or you will ask yourself Who killed the electric car?.

Saturday, September 16, 2006

Playing in the sand ...



Our son Jonas (18 months old) and I were playing in the sandbox and we had great fun launching all kinds of vehicles in the sand. I thought this looked kind of cool.

He is not a puppy ...



This is my dog and his name is "Peanut". Yes, I know it is a silly name but he had already been given that name when we "freed" him from the pound. Well, we didn't exactly free him and it wasn't an adventure at all but it sounds much better than "when we bought him". Anyway, we got Peanut through the South Bay Purebred Rescue Service. Oddly enough, Peanut is a mutt, most likely the mix between a cocker spaniel and a golden retriever. The latter is probably the reasosn why he appears to be a Golden puppy even though Peanut is already 6 years old. Which brings me to my actual story. Whenever we go places, people ask us about how old our puppy is. Usually, we very dryly remark that our "puppy is 6 years old, approaching 7 fast". What happens then is similar to what happens to me in emails when people seem to believe that I can't spell my name "Joerg" but must have meant "Jorge". Some people won't believe us. Same thing with the question about his breed. We usually answer "coker-retriever mix, most likely" which sometimes is met with great skepticism by these freaks that, just because they have a dog on themselves, believe they must be dog experts. To those people we then say: "Well, we weren't there but if you have seen his parents do it let us know". Anyway, Peanut's great, he loves to play ball, chase cats and squirrels and he is great with our two boys. An he will always be our puppy... ;-)

Wednesday, September 06, 2006

Hiring great people is hard ...

Back in those days when I worked at IBM I did a lot of interviewing candidates for jobs we had available there. What I noticed back then is that pretty much all candidates sound reasonable on paper but very few were actually as good as the paper made me believe. It even appeared as if only mediocre people would apply for the jobs we posted. What's the problem there? Well, Joel's blog provides some good explanations for this and I encourage anyone who is hiring or interviewing people to read his post on finding great developers. I completely agree with him on the one point that truly great people never really send resumes out to job postings, heck, they never even enter the job market. Why? For one thing, good people carry a reputation and will go to new places through friends, former co-workers that now work for someone else. Or they get approached approached by the same circle of people. So who is left on the job market? Probably those who were rejected before or those who just start out. I for one think that is almost always better to take someone who is fairly junior with good basic skills over a medicore candidate who may have some (worthless) experience already. We are currently looking for someone in my group and I am interviewing again. Let's see how that goes and hopefully we will find someone great. But what makes someone great? Well, for one thing it is hard to find that out in 30-45 minutes. And anyone who is not a complete idiot and has worked on a topic will sound like an expert in that particular field. Unless the interviewer works in the same field it is somtimes hard to determine whether the candidate is phony or not. What matters to me? Well, when interview I look at how people approach problems. I don't expect anyone to know all the answers to my questions in the area of programming or algorithms. But I expect them to come up with a reasonable/feasible way of attacking the problem. Should someone be able to write the source code for QuickSort in an interview? I don't think so because I couldn't do that either and it does not really prove anything. What is more important to me that someone could tell me about its properties or where he would go to find out about it.

Wednesday, August 23, 2006

Yahoo Night @ the Park



Last night I invited a few of my friends to see the San Jose Giants against the Stockton Ports (courtesy of Yahoo). To be honest, the quality of baseball was not spectacular but hey, it is single-A baseball after all. We had a good time though. Beer and food were affordable (5 bucks for a Bud or Bud light is still too much but it beats the 7.50 at a major league ballpark or at a Sharks game) and not bad and they do a bunch of stuff for kids for entertainment. And the fireworks afterwards were nice too.




I think Yahoo! does this once a year. So see you again next year...

Monday, August 21, 2006

Another remodeling project complete


Image023.jpg
Originally uploaded by jmeyer.
Sooooo, what started out as a simple job of replacing the linoleum floors in our master bedroom bathroom, turned into a complete remodel. I ripped out everything. There were a few setbacks, a trip to the energency room after I hurt my arm and a few tricky problems to solve. Not to mention the inhalation of (what can only be described as) toxic fumes form paint, cleaners and sealers. Oh and the obligatory 400+ trips to home depot and other home improvement stores (Thank god I live close to home depot). But hey, in the end I got it done. Here is a picture of the new sink setup. I built the pedestal myself. we still need to find a new lamp, mirror and a shelf but other than that it's complete and fully functional. Thanks to my neighbours who provided tools that I did not have or could not find.

Wednesday, August 09, 2006

Things to know about Management

Over the years at IBM, Yahoo and in other jobs I had my share of managers. With them came different management styles. Some of them were good managers, some of them were medicore and some of them plain sucked. I had very old guys as my manager and I had managers that were my peers and my age and then "moved on" to have their manager bit flipped. When I read Joels series of posts on management styles it reminded me of some of my previous managers and the way they interacted with me and my peers. There were the guys who felt they had to make a decision simply because they were the manager, ignoring the fact that they had no background or in-depth knowledge to even make such a decision. Then there were those that were afraid to make a decision. Or maybe not afraid to make a decision but rather afraid or scared to stick up for it. I admit it's probably not easy managing programmers because a lot of them have a self perception problem and think they are better than they really are. But what happened to "common sense"? I think if some managers would start thinking how they would like to be treated as a managee they would do things differently. So along those lines, here are some things a manager of a programmer should avoid:
  1. Don't make decisions based on traditions. Hearing "This is how we used to do things" drives me nuts. Listen to your people what they have to say.
  2. Don't treat everyone the same. Some people like to be told directly what's going on and others can't handle the truth. I don't suggest that lying should be part of a managers repertoire but it always drove me nuts hearing managers beating around the bushes and saying the most brutal things in such flowery words that it was almost impossible to figure out what they wanted to say. Let's face it, work is no kindergarten and if someone can't stand being told how things are they should find a different lien of work.
  3. Becoming a manager for the wrong reasons. You shouldn't become a manager because it is the natural advancement on the career ladder. If you are kick-ass programmer, researcher that doesn't mean that one will be a great manager. I for one hate to deal with all the personal BS and I can't see myself becoming one soon. However, if one becomes a manager they often stop to think like a programmer because they have to fit into the management chain.
  4. Not givning people some freedom. Micromanagement sucks. Constantly breathing down someone's neck sucks too. There are times when things like that are justified but again, these tools shouldn't be used in general but rather based on the individual managee. Some of them need the daily dose of manager interaction, others can go a week without it.
  5. Not sticking up for your people. I once had a manager who seemed threatened by me and the work I was doing. Don't know why but we never hit it off. When evaluations rolled around he wrote a one sentence evaluation like this: "Joerg did outstanding work!" What's wrong with that you may ask? Well, sounds pretty good but it was just an attempt to hide the fact that he did not want to push upper management for also giving me the best rating which really mattered in terms of recognition (by upper management and through compensation). So I talked to him and it turned out that he never even tried, had no idea what my contributions were. So I told him he sucked, went to his manager and told him what I had said. Now, don't try this at home. You should be very certain to do such a thing. I probably owuld have done it anyway even without being in very good standing. But it does raise the point why some people become managers when they truly suck and how they remain in that position for so long.
There is certainly more and I do want to add that I did have some good managers. The ones that I considered good were usually very direct, straightforward and demanded a lot. But they were also giving back a lot. So, whoever is a manager or becomes a manager, remember the times you were fed up with your manager and try to avoid exactly those things. That's the best way of becoming a great manager.

Tuesday, July 25, 2006

What a weekend ...

Man, last weekend was rough. Like many others, too many if you ask me, we lost power on Saturday evening and didn't get it back until Monday morning when PG&E temporarily fixed it. They permanently fixed it last night when we were again without power for another 4 hours. Now, of course, compared to some people in Almaden Valley, San Jose or some folks in St. Louis this is a short amount of time. But not when it is this hot and when you have small children. On Sunday afternoon, it was 97 degrees inside the house. We don't have A/C so we use regular fans in the evening to cool down our house and that generally is enough. However, when you lose power you can't even do that. And the weirdest part was that it was only one block of 23 houses in my neighborhood. As soon as you crossed a street, everyone had power. An old transfomer blew up. So what did we do? Well, friends of ours were kind enough to host Sonja and the boys for the day (Thanks Anke and John, and to your A/C unit). My friend and neighbor Brett across the street was (and still is) hosting our small freezer. And while Sonja and the boys were chilling, I tried to figure out how to cool the house somewhat so that we can at least spend the night. If it would not have been for our children, Sonja and I would have just pitched a tent and slept outside but our two boys need their sleep. So I bought a backup generator and another neighbor (Thanks Rich) helped me hook up the generator to the breaker panel so that we could use things in the house. We turned off everything but the fans and the fridge and that helped a lot. And I admit, at some point we turned on the dsl modem ... ;-)

Now all in all, it wasn't a major desaster but rather a big inconvenience. However, it felt great how our friends and neighbors helped and offered shelter, cold beverages and whatever else we could have needed. Thanks to everyone. If one of you ever needs a backup power generator in the future, just call me.

Changes ...


FW:
Originally uploaded by jmeyer.


This is a picture of a very good friend of mine. She is also the godmother of my two boys and pregnant herself. When we IM with each other we always call each other things like "hottie" and some other things. We sort of always flirt in joking way. We are both married but not to each other. Anyway, now that she is pregnant, obviously her body is undergoing somewhat drastic changes. We tell each other a lot of things and she was telling me about some pregnancy related changes. I told here to send me a picture of it, so she used her camera phone and did just that. A couple of hours later she was complaining that I had not put this on my blog. Well, not wanting to be rude, here it is. As you can tell from the picture, you can probably guess which body part we were talking about. Very impressive, from 34B to 36C in just 15 weeks. We have a bet going on how large they will become but I won't share the details on that one .. Anyway, May when you are reading this, you wanted it here but I wish you all the luck in the world and keep my finger crossed that you will have a healthy and beautiful little baby come January.

Friday, July 21, 2006

Almost didn't make it ...


Image012.jpg
Originally uploaded by jmeyer.
... to work this morning. What's that in the picture you ask? That's what's left of the rubber on my rear road bike tire. I was minding my own business in the bike lane when that tiny asian lady in her boring Toyota Camry decided to turn into the entrance of a parking lot and completely cut me off ... After she had sat in the turning lane for an eternity and I figured she had seen me, so I kept going. Turns out I was wrong and she started to cut me off. I grabbed the brakes as hard as I could, got out of my clipless pedals and started sliding towards her passenger side. Fortunately she saw and stopped so that I could hop onto the sidewalk and jump off my bike. Got lucky, this time. What did the lady do? Rolls down the window, flips up her full facial visor (you know, the black ones you always see on tiny asian women in minivans) and asks me whether I was alright. First I thought I should yell at her and tell her to never drive a car again but would it have mattered? Most likely not. So I picked up my bike and noticed a wobble in the rear wheel. Caused by the missing rubber. I was going abotu 20mph when this happened and it would have hurt. At least that's what I think. My heart rate after that was about 180 for a while. What's the moral of the story? Watch out for those people wearing full facial visors. They may not see you because they have that thing in front of their faces. And further watch out for that certain demographic. They simply can't drive or are just too clueless. I am glad my brakes worked and that I made it to work in one piece. At least I get to go to a bike store again and drool over those ridiculously expensive bikes.

Tuesday, July 18, 2006

A Thing of Beauty ...

Porsche announced a new version of the 911, the Targa. The glass roof top slides in front of the rear window. Check it out on Porsche's web site. Skydriving, a thing of beauty.

Monday, July 17, 2006

Math for dummies ...

Check out math for dummies (from Amr's blog). I wonder what math teachers/professors think when they read/grade stuff like that.

Thursday, July 13, 2006

Made the deadline ...

The past few nights I spent more time on my computer after work, trying to finish a paper about some cool indexing stuff with some of my former friends/coworkers from IBM. We made the deadline of July 12, 11:55pm PST. For a while we were debating what this means for our situation since we current have daylight savings (PDT) but we figured it out and submitted on time. It was kind of nice to work on some of the stuff again that I worked on for over 5 years at IBM. Hopefully, the paper gets in to the conference (ICDE 2007), held next year in Istanbul, Turkey. The only thing that sucks about writing a paper in your spare time is that it meant to work until midnight for a few nights in a row and I think I am getting too old for this. Man, I am tired. Especially, since my kids still get up around 6am and demand breakfast ... ;-)
But it was fun nonetheless. Thanks to Dan, Linda and Jeff, and our friends at Corona and Spaten breweries, as well as the Taste of China.

Tuesday, July 11, 2006

World Cup 2006 - Bottom 10

Ok, let's move on to the not so pleasant things about the past World Cup. And let's not confuse this with anything else, these are my bottom 10, feel free to disagree. ;-)
  1. Italy winning it all. Well, what can I say. I am German and was hoping for Germany to capture their fourth titel.
  2. Diving. Too much diving, play the game and only fall down if someone makes you. The worst teams: Italy, Portugal, Argentina. The worst individual offender: Christiano Ronaldo from Portugal.
  3. Brazil has to be the biggest disappointment of the tournament. No team chemistry, lackluster performances. I didn't mind at all seeing them leave the tournament early. Most overrated team.
  4. Overrated and overhyped players: David Beckham, Ronaldinho, Wayne Rooney. None of them showed that the hype about them was justified. Beckham had one goal, so what? Seemed out of shape to me. Wayne Rooney should have stayed home.
  5. England sucked (Most overrated team after Brazil). Not one of the games they played left you with an impression that they are one of the stronger teams. Thank god the English fans behaved.
  6. Zinedine Zidane's red card. I love Zidane as a player and what he can do with the ball and I always liked that he wasn't a diver. But his behavior in the final was wrong, regardless of what the Italian player (Materazzi) said to him.
  7. Materazzi, the Italian defender who provoked Zidane. First he claimed he didn't do anything and then he admits he provoked him. What they really said to each other we probably will never find out. But when Materazzi's soccer carreer is over, he will make a fine actor, as most Italian and Argentinian players will.
  8. The scenes after the PK shootout between Germany and Argentina. I am sure some German players weren't innocent in this but Argentina came across as poor losers.
  9. FIFA suspensions. What are they thinking and what footage were they watching? The Italian defender De Rossi gets 4 games after elbowing the American McBride who required stitches in this face. He could play again in the final. The Argentinian third goal keeper kicks a German player into the midsection after Argentina's loss to Germany and gets 3 or 4 games. They suspend the German player Frings after reviewing fishy footage. In that same incidence, teh Argentinian Maxi Rodrigues leaps in teh air to punch a German player from behind gets the two games. Wayne Rooney gets a two game suspension as well. They apprently don't compare and go by the book. De Rossi should have been suspended for the rest of the tournament.
  10. Players demanding yellow or red cards for their opponent. I say, any player who does that should be given a yellow card. Play the game, stop complaining and try to score honest goals not by diving and whining. Overall, it was amazing to see how many players returned from the dead in too many games after being barely fouled.

World Cup 2006 - Top 10

Damn, the soccer world cup is over, what am I going to do during lunch breaks now for the next 4 years? Good thing that the Euro 2008 is only 2 years away. Time to reflect, here are my personal top 10:
  1. The fans and the atmosphere. Being from Germany and seeing the enthusiasm and excitement in Germany. Made me wish I could be there. It was also great to see how Germans finally waved their flag without having to feel bad about what happened in the past. At times there were more than a million people watching and celebrating on the fan mile in Berlin.
  2. Germany's performance. There weren't a lot of people in Germany or elsewhere that believed in the team and Juergen Klinsmann. But the young group played well and made it far. Too bad we fell 2 minutes short in the semifinals.
  3. Fabio Cannavaro, the Italian team captain. Superb defender and clean player. Only likeable guy on an Italian team full of actors.
  4. Miroslav Klose, the German forward. Scored 5 goals himself and assisted on another one. Won the Golden Show award for best goal scorer in the tournament.
  5. Germany winning on PKs against Argentina. Jens Lehman, the German goalie was awesome.
  6. Ricardo, the Portuguese goalie, saving 3 PKs against England. Admittedly, the English PKs were weak but Riccardo didn't just jump into a corner hoping he would get lucky.
  7. The Italian defense. Say whatever you want, it's often not pretty but very effective. And even though I hated to seem win it all they played the most consistent soccer through the entire tournament and they were always dangerous up front.
  8. Maxi Rodriguez game-winning goal against Mexico in overtime. Clearly a lucky shot but nonetheless spectacular. Goal of the tournament.
  9. Zinedine Zidane's ball handling. Fun to watch. His action that led to a red card in the final was not but rather makes it onto the bottom 10 of this world cup (see next post).
  10. Phillip Lahm, the young German defender who lit up the left side with his runs and dangerous crosses. Scored the first goal of the tournament which was a beauty. Got Germany rolling, which was very important.
Yeah, I know, the list is a little biased towards German achievements but hey, it's ok to take a side here. I am German after all. Now let's move on to the bottom 10 of the World Cup, watch this blog for a post on that.

Wednesday, July 05, 2006

Fireworks are ...

... dumb, stupid, loud, annoying ... Do I need to continue? I never much liked fireworks and while I could live with the fireworks that are shot into the sky and light it up, I absolutely hate the firecrackers that just explode and make too much noise. My friend Dan put it nicely by saying that being at a party on 4th of July "resembled the Battle of Somme" more than a celebration of Independence Day. Why do I hate it so much? Well, for one thing, they scare my dog, they litter the neighborhood and they just make noise, so what's the point?
Apparently, a lot of people see a point in lighting up a firecracker and see it explode in front of them. I admit, when I was a teenager I did it too in Germany. Over there we don't celebrate Independence Day but use fireworks on New Year's Eve to welcome the new year. We did a lot of stupid things with it and I am not proud of it today. But pretty much, by the time I hit the age of 17 I stopped buying them because I think it's one of the dumbest ways to spend money. What is even more concerning is that some of these fireworks are put together for thousands and thousands of dollars. Where does the money come from? I sure hope that it is mostly corporate sponsor money and not tax dollars but even then, the money could be spent much better. I found a few articles online that in 2003 the estimated spending for fireworks was around 500 million dollars. Yup, that's right, that's a half billion dollars. How about donating it to schools? Or to feed the poor? There is places in the world, in which a few dollars a week can feed an entire family for a week or so and yet people choose to take their money and blow it up. Makes no sense to me.
At some point my little boys probably want to to blow up some firecrackers too and I am not quite sure what I will tell them why we don't want to do it. But they are young so I have a lot of time to come up with something. And if I am lucky (and all the dogs and cats that are scare senseless by the noise), firecrackers will be illegal or gone or at so heavily taxed that people won't buy them anymore.

Tuesday, July 04, 2006

The Dream is over ...

Watching the Soccer world cup throughout the last three and a half weeks was really cool. And it was fun and exciting to watch my home country go all the way to the semifinals. They have been better than expected and they put an entire nation into a World Cup frenzy. Even over here, more than 6500 miles away we were thrilled to watch the German national team win and, what's even better, play attractive soccer. Starting with group play, the expectations grew and the dream of winning it all became more real. Unfortunately, it ended today with a 2-0 loss to Italy, which weren't necessarily the better team but they were efficient. Germany has a very young team, and hopefully, 4 years from now, they will back to try for that elusive fourth World Championship. See you in 4 years in South Africa ... I am hoping now that France will go all the way. Not that I am very fond of the French, but I like Zinedine Zidane. In my opinion he is one of the best players of the last decade and it would be great to see him win a World Cup before he retires. I guess it's now Go Germany to win third place on Saturday and Go France to win it all.

Sunday, June 25, 2006

Romantic Dinner

Sonja and I had an anniversary of some sort last week and we went to a restaurant that was recommended to us, the Mt. Hamilton Grandview Restaurant. The picture was taken with my little cell phone while we were dining. The sunset was very nice, and it was very cool to see darkness overtake the valley and bring out all the lights. That's where the romance ended. Don't get me wrong, Sonja and I still had a good time and we were fine and enjoyed each other.


Image014.jpg
Originally uploaded by jmeyer.



The restaurant itself didn't really ooze romance, unless you are into 60's or 70's style dark brown wood paneling on the wall, flowery carpets and a somewhat dull interior decoration. The food was average, edible, not bad but not so good that I definitely want to come back. The views (especially around sunset) make up for a lot of shortcomings, just don't go there and expect romance to greet you at the door.

Thursday, June 15, 2006

Soccer Fever

Whoever reads this probably knows that the greatest sports tournament in the world is currently under way. Yeah baby, I am talking about Soccer World Cup, or Fußballweltmeisterschaft as we say in German. I overheard somehwere that an estimated 1.2 billion people watched the opening game of this World Cup between Germany and Costa Rica. For the final game an estimated 1.5 billion people will watch this event. It is truly the World's sport. Don't get me wrong, I like all kinds of sports but having played soccer my entire childhood in Germany and a few years after that, it truly is Germanys pastime. I have been watching games at home and at work (thanks to Yahoo for the nice big screens in the cafeteria) or been following them online. Yeah, my productivity suffers a little but once every 4 years you get to see the world's best soccer players in one tournament and it's just terrific. I wish I could be in Germany right now, my friends tell me that all of Germany is going uts and with every win of our national team, people will get more insane. I am hoping for a rematch of the last World Cup finals, between Germany and Brazil. This time though, Germany will be on top. And for someone like me who loves soccer to see your home team win is really, really cool. Germany has won 1954, 1974 and 1990. I wasn't born back in '54 and I was only 3 years old in '74 but I still remember watching the finals in Italy when Germany beat Argentina 1-0 in 1990. It wasn't a good game but winning the title pushed all of Germany into delirium for one night. Anyone who has ever played in a championship game on any level knows that it's a special feeling when you come out as the winner. I am hoping for something like it again. Let's see what happens. In the meantime I will keep wearing my red Germany jersey when they are playing. So far they are undefeated when I am wearing it and I have been saving it for almost a year for this world cup ... If that isn't helping I don't know what can.

Why comments in code are useful ...

Everyone who is a programmer knows that good coding isn't just writing code that has very few problems, is efficient, does what it's supposed to, requires little maintenance and is easily extensible. This means that it is not just about using correct syntax and the latest and greatest algorithms and implementing them correctly. It is about telling oneself and others why something was implemented a certain way. Yeah, you may already guess it and you are right. I am talking about comments in code. I know, I know, you may say: "I bet Joerg has sometimes delivered less than perfectly commented code". And you are right, but I try to always do it when appropriate. Hell, I don't need someone to tell me something like this:

void incrFunc( int& i ){
i++; // adding one to i
}

That's dumb, don't state the obvious. But when you chose a certain algorithm or use something that is non-standard, write a line or two about it and add documentation so that people that will have to pick up your code know what the hell you were thinking. Why am I writing about this? Well, I am currently working on a project that is about integrating something cool and new into an older codebase. And this includes using code others have written. It's amazing when you trying to code towards certain APIs what kind of surprises you sometimes see. And you don't see them by reading the code, you learn through painful and time-consuming debugging. Here is an example. Consider the case where you have larger buffer and you have to mark certain regions in the buffer to identify subsections. One way to do this would be through a struct like this:

struct section {
int start;
int end;
};

Now, for me, the intuitive thing would be to assume that start denotes the byte offset of the first byte of the section and end would denote the offset of last byte of the section. Well, I came across some code where end pointed to the first byte after the section. Why? Well, no comment or anything in the code. Thankfully, the programmer was still there and I could ask. And even though he had a reason for doing so (he wanted to be able to express section of length zero [don't ask me why], and ...well...laziness), a comment would have avoided a bunch of confusion. Even better, don't name it end but length and there is no ambiguity at all. What's even worse is that when I asked the programmer about it he did not know/remember why he did that. And this is where useful comments come in again. They are not just good for others, they help you as well. And believe it or not, the code that you write will be seen by more people than you might think. So use smart comments but don't litter the code, nobody wants to read source code files that are 4000 lines or longer. This is another one of these things that people shouldn't do but I will leave that to another post.