An Almost Very Embarrassing Moment

I was sitting at a restaurant today as this couple (the normative boy-girl kind) came in and sat next to me on bar stools. The girl sat on the stool near me. I gave a short glance and she looked familiar. Since I couldn’t recognize her I decided not to say anything and continue eating my lunch. She went away (apparently to the bathroom) and when she came back a few minutes later she looked straight at me, said “Hi” and smiled.

Since I thought I recognized her earlier I decided to reply with a friendly hi and a smile. Still not remembering her name or where I know her from, I started to feel more and more nervous. I apologized for not recognizing her and hoped this was all over before she realizes I don’t remember her name (or anything else about her.) But then she decided to introduce me to her companion. Introducing me, she said a name that wasn’t mine and told him I was the friend of someone’s daughter (which I’m not), and then it hit me: I don’t know this girl at all.

So while they were contemplating the menu I asked for the bill and decided to flee the scene as fast as I could before conversation develops and my deceit uncovers. There was a moment of fear there for me when the guy decided to go to the bathroom, but luckily the girl didn’t start talking to me and I was almost out. Wishing her a good time I was out of there in a few seconds.

And thus I avoided a very embarrassing moment.

Random Thoughts About Caching

Imagine for a moment that there is a place where the results of all non-trivial computations are kept. Kind of a universal cache with unlimited capacity. To access this cache and get the results of a desired computation you need to specify the computation type and the problem set. For example, a computation type may be sorting and the problem set is the collection of numbers you wish to sort.

Let’s further assume that this cache isn’t local on the computer requiring the result. If that’s the case, accessing the cache to even find out if the result of your problem exists costs you quite a lot and you have to consider whether it’ll be worth your while to try and access the cache, get a cache miss and compute the result yourself. Considering the amount of storage required to store everything and the time it would take to send the problem set, access the data and send the results back, most problems aren’t good candidates for such a universal cache. Today.

However, storage space is becoming cheaper and network speed is constantly rising, so more and more problems will benefit from a universal cache service like that. Creating such a service isn’t too hard. It can be implemented, as an example, using Amazon’s Simple Storage Service (S3) for results storage. The universal cache can be self learning – for example, if there is a high percentage of cache misses, enlarge cache storage space automatically. In addition, you can use Amazon’s Elastic Computing (EC2) for computing the cache misses instead of performing the calculations yourself. So in the case of high percentage of cache misses, you may choose to add more computers to the grid.

I Blinked And Now I’m An IBM Employee

It’s all over the news: IBM acquired Diligent Technologies, the place I work for (or worked for, I wonder what the right term is.) I think IBM made a good choice because I truly believe that ProtecTIER, our flagship deduplication product, is a great product of great value to customers.

I joined Diligent Technologies just about 2 years ago (April 23rd 2006 was my first day at work.) This is the first time a company I work for has been bought. From a personal point of view there are mixed feelings – on the one hand, the ride was too short. I wish we had more time to operate as a (relatively speaking) small company so that I would feel I contributed more than I did during the past 2 years. Also, even if we won’t feel the change immediately, we are probably no longer the small family we used to be. On the other hand, being an IBM employee is definitely a good thing for many obvious reasons.

Diligent Technologies (now “an IBM company”) is a great place to work. We have great, award-winning products and technology. Most importantly, Diligent has great people who care about their work. These were definitely 2 good years, career-wise. I hope the next 2 will be at least as good.

p.s.

In the past, during the difficult post-bubble times, IBM’s HR would not even consider interviewing me for a job despite my many attempts. Kind of funny :)

April 1st (Fools’ Day) Roundup

I’ll try to update during the day, but no promises:

OK, so it’s much too hard to follow the amount of April Fools’ jokes and actually get work done. Here’s a Google search that will find you (just today’s) April Fools’ roundups. Enjoy.

Programmatically Getting The Number Of (Online) CPUs On Linux

In case you wondered, if you want to know how many online (aka working) CPUs there are inside a program, use:

const int nCPUs = sysconf(_SC_NPROCESSORS_ONLN);

Note that man sysconf doesn’t mention many of the configuration bits you may ask about. See /usr/include/bits/confname.h for more options.

Tomorrow I’m Moving My Daily Schedule 1 Hour Forward

I’ve been thinking about moving my daily schedule one hour forward for a long time. Currently I get up at around 5:10am and start the daily workout at around 6am. This is mostly for historical reasons: when I worked out in Motorola’s gym there was only one cross trainer and I wanted to be the one taking it. Now that I’m in a larger gym there’s no need to be one of the first-arrivers.

The reason I didn’t do this until now is that I didn’t want to get stuck in any traffic but mainly I was afraid that this will affect my workouts somehow. However, the benefit will be greater than the risk – saner wake up and bed time hours and mostly living like a more normal human being.

Hopefully the drive to the gym won’t be a nightmare and the change won’t affect my workouts for a long time (I’m pretty sure I’ll adjust.) I know I’m going to feel the pressure when I see all the familiar faces leaving, but I’ll get over it :)

The Prodigy – New Website, Hopefully New Album Soon

This is going to be a great year music-wise for me. The Prodigy have revamped their website, preparing for the new album that is hopefully coming out this year (after waiting 7 years waiting for “Always Outnumbered, Never Outgunned” anything can happen.) nekosite, the no. 1 Prodigy fan site has also gone through remodeling and the new design looks great. This is also a good sign for fans like me.

This time I decided not to download any illegal material related to the new album. Last time it kind of ruined the experience of the first listen. I’m going to even try and not listen to official singles, but I doubt that will hold.

Damn! I Missed Steak And BJ Day

I simply didn’t know about it, and what a shame it is. Turns out March 14 is Steak and BJ Day. It even has a website, so it must be true. And if you want to know exactly what’s supposed to happen on Steak and BJ Day can see the video instructions.

Next year I won’t miss it. Hopefully.

Note to self: find girlfriend after Valentine’s Day and before March 14 :)

UPDATE: A friend pointed to me that March 14 is also Pi Day. There’s a website for Pi Day too, but who cares, right?

Facebook Is So 2007

After the initial joy of joining Facebook and playing around with it a little, I find myself entering the website less and less. Applications always seemed annoying to me (some of them are nice, but very few are useful.) I didn’t want to post anything too personal on Facebook because I have this blog and if I’ll want to publish something it would be here. Additionally, the privacy issues are really disturbing – did you know that if a friend installs an application then the application can read your data?

I’ve noticed, though, that my friends have also stopped sharing things on Facebook. One friend even simply disappeared. I have no idea why or what happened. The news feed, where you see all the updates from your friends, now contains very few new items every day, where before it used to fill the entire page. I don’t know why people stopped using Facebook, but the domino effect is apparent – once you realize your friends aren’t logging into Facebook every day, you have no motivation to update your photo albums, activities, etc. Then you gradually stop using Facebook as well.

Anyway, it was nice while it lasted. I still have my (very modest) profile on Facebook and it will probably stay there just so that people can find me. Other than that, I’m pretty much done with Facebook.