Thursday, December 29, 2005

Couldn't agree more ...

Just read this (from Joel on Software) on the benefits/dangers of teaching Java instead of C and Scheme. Oh so true, if you have ever interviewed people that only knew Java. Every programmer should know what pointers are and how recursive functions work.

Wednesday, December 21, 2005

Working at Yahoo!

So, I am in my second week now, my laptop and my linux box are alomst configured how I really like it (thanks Dan for some config files) and I am getting ready to do stuff. First though I need to learn a little about PHP, javascript, firefox plugins and the stuff my group has done so far. Over the past 5 years I have mainly worked on the backend of indexing and query processing and not so much on front end issues. Here at Yahoo! I will have to, which is pretty exciting to me and a welcome change. Maybe, in the future you will get to see something on the Yahoo site that I did ... Am working on it.
Other than that I am trying to get an idea on who does what and how things generally work at Yahoo!. Since I am bad remebering names it's doubly hard for me. Don't worry, I will manage. ;-)

Tuesday, December 13, 2005

My first day ...

Had my first day at Yahoo! Orientation day. Not overly thrilling ... but then ... how thrilling can it be to present the benefits options related to health care ...
Ran into a few people I knew from my old job ... felt a little like coming home. Anyway, doing another short intro class today and then I will join my new group in the Mission College campus. Already got my Mac laptop (sweet 15" powerbook) all set up and am not paying too much attention. anyway, I am good to go ... Stay tuned ...

Saturday, December 10, 2005

Need to finish a project report ...

Now that I am done with the bathroom remodel, I need to crank it up a notch for my class project report. It's due on Monday at 1pm. Monday is also my first day at work at Yahoo!. Since I haven't really done an awful lot, I basically have today and tomorrow at nights and when the kids are not sleeping. Somehow I will get it done, but I am not very excited about it. I really should be super-psyched to finish it because it means that I won't have to take another class, yet I somehow don't care ...
Oh well, back to report writing, it will be over soon...

My first post-IBM project ... DONE

437 trips to home depot (there is always something you forget) and two minor setbacks later (a cracked toilet bowl and non-fitting pipes), the bathroom remodel is complete.


Image026.jpg
Originally uploaded by jmeyer.



Was fun doing something that did not involve a computer ... well, it kind of did anyway since I was posting about it ...
I am just thankful, that a home depot is less than 1 mile away from my house ... maybe, that's why I never go with a list and always forget something ... Anyway, all that's left to do is now to give the kids a bath, who had to wait for a bath for a week ... (just kidding ...)

Monday, December 05, 2005

My first post-IBM project ... (4)

Half way done with tiling the bathroom...


Image020.jpg
Originally uploaded by jmeyer.



Man, because the darn room is so narrow, we chose a diagonal pattern. As it turns out, out of roughly 45 tiles, only 6 of them did not need to be cut... Makes for extremely fast tiling. ( ... Got the whole thing tiled by 7pm ... ). Tomorrow I will do the grout, maybe paint the walls and then install a new toilet and voila, the (almost) new bathroom will be ready.

My first post-IBM project ... (3)

So, now I am ready to tile ...


Image019.jpg
Originally uploaded by jmeyer.



Because, the original 2x6 tongue and groove oak subfloor was too uneven, had to go with plywood and then backerboard. Caused a little delay ... 'cause I had to go back to Home Depot and get plywood.

Saturday, December 03, 2005

My first post-IBM project ... (2)

Barely 3 hours later, a not-so-bad looking bath room is turned into an awful mess ...


Image018.jpg
Originally uploaded by jmeyer.



Already, my back hurts but need to make progress until the kids go down for their nap and I have to stop making noise. Stay tuned for more ...

My first post-IBM project ...

You are probably wondering what on earth a picture of a bathroom/toilet is doing on my blog ... The picture below shows one of the bathrooms in the house my wife Sonja and I bought two years ago. It is now time for a remodeling.


Image017.jpg
Originally uploaded by jmeyer.



Doesn't look so bad in the picture you think? Well, if you had the luxury (or not) of taking a closer look you would see that the flooring is dingy, the toilet constantly runs and that everything could use an overhaul. Saty tuned for progess I will hoepfully make ...

Friday, December 02, 2005

My last day at work ...

Today was the day! I left IBM but not before taking a silly picture of myself. ;-)


Image015.jpg
Originally uploaded by jmeyer.



As it turns out, I seem to have touched or impressed more people than I thought. It's very cool to know that what I did mattered to more people than just me. It was sort of an emotional day, not so much for leaving IBM and my work there behind me but rather having to part with my friends there. I wish all of them all the success and luck. With that, I am now going to remodel my bathroom during the week between jobs and then see if I can do some cool stuff at Yahoo! Stay tuned for more on that ...

Monday, November 28, 2005

And another one ...

True to the name of this blog, I have another Starbucks name story to tell. Same scenario: Bunch of work people and I have a bagel (actually two bagels today as it was a two-bagel-day) for lunch and then head over to the Starbucks to get a cup of coffee. Well, there is the few of us that order girly drinks like eggnog latte or peppermint mocha. The rest (including me of course) order manly drinks like pure coffee or Americanos. (Yes, I am that shallow ... ;-) and it's really irrelevant but always wanted to say this)
Anyway, my turn, I order my Americano and she asks for my name. I say it and she starts writing, and writing, and writing, strikes everyting through and keeps writing, then she gets stuck (like a deer in the headlights). She started out with -j- -u- -j- and did not get anywhere. So I spell my name for her ... twice. Guess what was written on my cup? -J- -U- -G- -R- -E- Truly amazing ...
Later in the afternoon, I go to Peet's and get another coffee (yeah, I know I spend way too much money on coffee). There I spell my name and she gets it right...

One more week ...

In a previous post I mentioned that I will be leaving IBM soon. Well, time went fast and I am in my last week. Feels a little weird knowing I will be doing a different commute soon, seeing other people and doing different work. There are a lot of things I enjoyed here at the IBM Almaden Research Center. I worked (or still work) with incredibly smart people, worked on some interesting projects and learned a lot of stuff. After this week, I will take a week off and then start my job at Yahoo!. Right now my official title at IBM is "Senior Software Engineer". At Yahoo! I will be called a "Technical Yahoo". Don't quite know yet what that means, but sounds pretty funny and less serious. May be part of my job will be to shout "Yahoo" all the time ... who knows. As I said before, leaving IBM leaves me with a bag of mixed feelings. I am excited to do something new but at the same time I am a little sad having to let go of a place I spent more time than at home (at times at least). But in the end, things at work developed differently than I had hoped. Now that I am getting ready to leave (cleaning out my fabulous window office), all I am hoping is that I made a difference in what I did and that Dan and Jeff don't find too many embarrassing bugs in my code. The treatment I got from my management after telling them about my resignation leaves absolutely nothing to be desired. They have been treating me very well and told me to come back should things not work out at Yahoo!. I guess that is a good sign that they liked what I did?
Anyway, just wanted to make clear that I am not leaving because I am bitter about IBM or people there. I strongly believe that my time has come to try something else and to seek a new challenge. I sort of made it at IBM (in ways that matter to me). Don;t get the wrong idea, unfortunately that did not make me rich ... ;-) Now, I want to see whether I can make it elsewhere. There is lots of other little issues that weighed into my decision to leave IBM but I don't want to bore you with all the nitty-gritty details. Let's just say that I believe that Yahoo! and the things it is offering and doing aligns better with my interests than IBM does. With that I am off to finding the remaining two bugs I don't want to hand over ...

Monday, November 21, 2005

Another name story ...

This afternoon, before heading to the grad class of boredom, my buddy Jan and I stopped at one of the local Peet's coffee stores. I order my Latte and the girl behind the counter asks for my name. I tell her my name which left her totally disoriented on her little touch screen. So I go ahead and spell my name for her: J - o - e - r - g
She types it in (correctly that is) and feels compelled to say something because the name strikes her as not being typically American. So she asks me where I am from and I tell that I am German. Oh boy, what a mistake. She starts telling me that she is German too. She doesn't speak the language and was born in the U.S. (which she tells me w/o me even asking for any of that), and that she is partially German and Norwegian. She asks me whether I get this a lot. Not sure what she meant I say: "Do you mean that every American is partially German?" I think she got my hint ... But how come that once people either figure out that I am German (or after I told them) feel compelled to either tell me that they are German as well or, run down the list of all the German words they know. They all seem to know the same words, which are either lame curse words, names of towns or names of food. What do they expect? That I hug them because I am so happy I met another (partial) German? All I wanted is a cup of coffee ... but at least she wrote down my name correctly.

Trying posting to my blog using email ...

... because I am sitting in class (Computer Networks at UCSC) and I am incredibly bored. Thank god for wireless access. This is one of the worst classes I have ever taken. It appears as if the professor is only teaching this class because he has to fulfill some teaching requirement.  This class truly sucks even though the subject is rather interesting ... for geeks that is ...
Anyway, hopefully this will be my last class before moving on to my dissertation ... Wish me luck that I don't die of boredom in this class before then.

Saturday, November 19, 2005

A car I really like ...

I have always been a fan of the Porsche 911. Ever since I got a driver's license, I wanted one, maybe even before then. What I like about the 911 is that over the years it has maintained its Porsche form. You can still find style elements of the original 911 in today's model. There were a couple of model years which could have been better but the new one looks really cool.
And now they have come out with something that's almost as cool. The Porsche Cayman. Some say it's a a mixture of Boxster and 911 ... I don't really care. I think it looks compact, great and fun to drive. Wish me luck that I make enough money down the road that my dream of a Porsche comes true. Until then I will keep driving my VW Diesel ...

Thursday, November 17, 2005

I quit my job ....

About a week ago I quit my job. After 7 years working for IBM Research and coming close to leaving about 6 months ago, I decided to move on. From previous posts in my blog you could probably tell that I wasn't 100% happy anymore with what I was doing and the direction my project was headed.
Starting December 12th, I will join Yahoo!. I am really fired up about doing something else in a new environment. I am sad about having to depart from some very cool people I have worked with and became good friends with. I am also thankful to many people within IBM Research who helped me get where I am today. They all know and they understand that I wish to do something else. Thanks Jan, Dan, Paul, Ron, Linda and Jim for still being supportive.
If I feel like it, I will post more on what made me quit. (An ex-coworker of mine described it pretty well, although I have never been worried about losing my job.) But for now, I am very excited about the new thing at Yahoo! and I am a little sad having to say Good Bye to Almaden.

Thursday, October 20, 2005

When work drives you crazy ...

So this week at work was not one of the best, or to be more accurate, it stunk. A few things went wrong and management panics, needs things fixed ASAP. What they like to forget is that all the problems we are seeing now were foreseeable. In fact, I and a few others even made proposals on how to fix it. Nothing of course happened back then, but now as the problems keep occurring, the cries for fixes get louder and louder. And some even recommend now what we proposed months and sometimes years ago. So you may ask, why did we never implement our recommendations?
The answer is that my project is notoriously understaffed when it comes to good programmers that can go with an idea and make it happen. Without requiring handholding and another PY to fix what they did. The reality is, that for every capable programmer there are about three to four who have no clue what they are doing. On top of that, there is more and more people who are watching what is being done. Right now it feels like a pyramid org chart tat is upside down. Tons of management and other useless positions for every few people who actually do work and can do the work. I have a job that should be done by at least 3 good people and to do it really well, 5 to 6 would be the right number. Yet, for the past few years I and at most one inexperienced or part-time programmer helped. What does that mean for the quality of the code? Well, you have to cut corners. You have to go with solutions that will work but are easy to implement in a relatively short amount of time. They are often not the best solutions or the ones that should be used. (To give you an idea what my job is: I am trying to write code to maintain a web scale full-text index on too few machines ... ) The problem with this chronic lack of resources is, that over time, you end up in situations where you keep patching, and patching, and patching ... It is time for a rewrite. But for that I will not have the time, I already know that. And that bugs me!

Thursday, September 29, 2005

It's the time of the year ...

... when you call it a day early, go to a bar and watch some postseason baseball. Who cares about deadlines ... Did that last year a few times and it was a lot of fun. And this is way better than the NFL playoffs because they play on weekends and don't give you an excuse to leave early. Not that we really need that but having a reason is better than just being lazy. Let's all hope for interesting playoffs and a World Series winner other than the Yankees (if they make it).

Tuesday, September 13, 2005

My Quest for a PhD ...

For the past 4 years I have been attending the PhD program in Computer Science of University of California in Santa Cruz. Now that I have completed most of the class work I am (sort of) ready to tackle that tiny problem of coming up with a dissertation topic and then actually writing it. Now, I have no illusions that my PhD work is going to change the world but doing this part-time while having a full-time job it better be something I enjoy. Well, I do enjoy sports, fast cars, my two kids, Ben and Jonas, but that ain't going to work ... Unless I can bribe the thesis committee to accept a proposal of studying an entire baseball season from a computer scientists point of view.

Anyway, so here I am and I am not quite sure on how to start this whole thing. It will definitely be in the area of information retrieval, indexing, etc., because that's where I have spent the last 4 years of my work life and it is actually very interesting. Will keep you posted here on what I am going to do ... (or not if it so secret that noone can ever find out).

Career stuff and credit histories ...

I had one of these frustrating days at work. I am at a point at my job where it seems it's not good enough anymore to do a really good job at what you do. Instead having become a more senior employee it is expected to reach out, make others better, etc. While I don't have a problem with this, on top of that stuff, my managers want me to become more visible. So, within a company like IBM, there are certain groups, panels or institutions that can help to get to the next step on the career ladder. I am told, that it is important for me to connect to these folks. One of these groups often hosts internal studies or conferences and any IBMer can submit his proposal for participation, sort of like a conference. Now, a month ago, I submitted a write-up and got the notice that while there was nothing wrong with my proposal, I wasn't invited. No reviews or criticism, just the notice that there were many proposals and that they were sorry. After a little bit of poking around, I found out that participation was sort of restricted to the people who have already made it. Now here is the dilemma, in order to get to the next phase of my career I need to part of these things, but in order ot part of these things and get exposure, you already need to have reached that next phase. Doesn't make sense, you say? I agree, it is like trying to get a credit card when you come to this country as a foreigner. Most often, they tell you you can't have one because you got no credit history and you can't really build a credit history without a credit card. Sometimes I don't get it ...

Tuesday, August 30, 2005

C++ and Java ...

I work at IBM Research on the WebFountain project. I pretty much do 95% of my programming work in C++. I consider myself a fairly decent C++ programmer. Nevertheless, every once in a while I run into these embarrassing moments, where I write a simple piece of code and lazily use an explicit cast and all of a sudden my simple program simply won't work. That's the reason why there is the C++ casting operators static_cast, dynamic_cast and const_cast. My advice is, that you should learn how to use them because they can save you a lot of time. Anyway, thankfully I found the problem myself after I asked my friend and co-worker Dan to take a look. But it was still embarrassing having to tell him that I f..... it up.
Which brings me to my next point, C++ and/or Java. That thing would have never happened in Java, since there aren't any pointers and you either geta compiler error for casting inappropriately or you get an exception during runtime. However, even though you have to be more careful in C++, I like it better because it gives you more control and programmers who start out in a language like C or C++ are generall the better programmers because they have to know the concepts of memory management.
I mean, why for crying out loud, does a simple instant messaging application written in Java have to have a memory footprint of 50MB or more (referring to an in-house IM client which is nice but a memory hog). I occasionally interview people for jobs here and come across students that only learned Java and never wrote a line of C or even Assembler. I think that's wrong because it teaches them to not worry about memory management because there is garbage collection. I know machines have more memory and get faster by the minute, but the way some programs are written these days, it looks like there will always be a programmer to fill the extra Gig of RAM.
The moral of the story is, to be careful when and how to cast, and C++ is still way cool.

Tuesday, August 16, 2005

Good programmers, big projects and useless head counts ...

Someone send me links to two blog posts related to programmers and working on a big project.

The fist one is about how working on a big project is somewhat like trap:
Formula Engine Rewrite

Reading it, I felt like I only need to replace the company and project names with the names of my cmpany and project and it would still make sense ...
I still like my project and I am still working on it (IBM's WebFountain) but nonetheless, there is lot of truth in what he is writing about.

The other one is from the blog "Joel on Software" and deals with the widely spread misconception (Hitting the High Notes) that adding more programmers to a project will help finish it faster and get more done. What you really need is a few really good programmers.

Which brings me to the point I am trying to make today. In most big companies, each group has a certain number of positions available, so called head count. Additionally, such head counts are categorized into different salary levels, so that you cannot just hire a bunch of kick-ass programmers and also pay them a competitive salary because it would exceed the salary budget. Instead, what is being done is to fill positions with average programmers that fit into certain salary levels. Waiting for the right guy to come along also does not work, because if you don't use the head count you will lose it. My solution to the problem is to get rid of the notion of head count and just give each group a certain budget for salaries. Then it is up to the group to decide on whether they want to get 10 medicore developers or 3 to 4 really good ones that are paid slightly (or significantly) more. Just having people for the sake of filling head count is not right, and if you have an important position to fill, you want to get a good if not great programmer. To stay competitive you can't be stuck in some head count, salary level jungle that makes it impossible to make a competitive offer.

Now, what if you don't use your salary budget in a year. Well, there is two ways, you can use the money to reward you top performers at the end of the year, or you just save the money. I also don't believe in the model that a lot of companies have that you will get less money next year if you don't spend it all. Makes no sense whatsoever. You get punished for being conservative in spending money. Yeah, really makes no sense. I will leave it at that for today.

Thursday, August 11, 2005

What about the title of this page ... ?

Well, my real first name is Jörg or Joerg if you cannot find the ö on your keyboard or know how to type using key combinations. It is a German name and the -J- is pronounced as a -Y-. Anyway, I work as a programmer/researcher and, like all good or not so good programmers, I like coffee and espresso. When my work buddies and I go out for lunch we usually cap it off with a cup of Joe from Starbucks. (I am not the biggest fan of Starbucks because they really make money selling milk, but I will leave this to another post). So back to getting coffee at that Starbucks. After standing in line for a few minutes and being bombarded by a whole lot of displays that scream at you: "Please by whatever is displayed here, even though you only want a cup of coffee ...", it is finally my turn to put in my order. As part of that they generally want to know my name. Now, here is where it gets interesting, pronouncing my name the right way in English gives you no idea how to spell it. The correct pronounciation would sound something like saying Yirk. No, no, I know what you are thinking, sounds an awful lot like jerk, but I must disagree here. Back to Starbucks. So I spell my name for them and they write it on the cup which will eventually be picked up by the barista, who will prepare my Americano or coffee and then try to call my name. That's usually the time I am being called a jerk. Even more interesting, looking on the cup after I finally hold it in my hands, I see the weirdest names:
  • jurich
  • jourg
  • yurk
  • jorge
  • joreg
  • george
  • gork
  • borg
There is many more and the saddest part of this story is that I spelled my name for them, -j-, -o-, -e-, -r-, -g-. And what you see above is what I find on the cup. Now, I will leave it up to you to make a judgement what this says about Starbucks or the people who work there. But it provides me and my work buddies with tremendous entertainment to see what variation of my name they come up with.
In the future, expect more here about all kinds of stuff, not just buying coffee and spelling names.