Giant Inflatable Dog Turd Attacks Orphanage

No… really. And Scott Adams (as always) makes it even funnier.

Here’s an image of what this amazing piece of art looks like (on the right side of the page.) Also, here.

תלמה. הכח להצליח?

אין לי טלוויזיה בבית. זה לא אומר שאני לא רואה תוכניות טלוויזיה, אבל מה שבטוח זה שאני לא רואה פרסומות. עדיין אני נחשף לשלטי חוצות כשאני נוסע בכבישי ארצנו עמוסי השלטים.

לאחרונה אני רואה את הקמפיין החדש של תלמה. על השלטים כתוב “תלמה. הכח להצליח.” אני שואל את עצמי: למה חברה שעיסוקה מזון צריכה כזה מין סלוגן? איזה כח להצליח צריך כשאני מוסיף מים חמים לכוס של מרק מוכן? רק במדינה שנמצאת במלחמה מתמדת יש הגיון להוסיף את המילה “כח” בפרסומת לחברת מזון.

יש לי שני הסברים אפשריים לפרסומת הזו:

  • איזה משרד פרסום הצליח לשכנע מישהו בתלמה שהם צריכים סיסמא דמויית Just do it של נייקי ונכשל חרוצות
  • יש איזה שהוא קשר לפרסומת בטלוויזיה שאני לא יודע אותו כי אין לי טלוויזיה

בפני עצמו, הסלוגן “הכח להצליח” נראה לי דבילי במקרה הטוב. אם רוצים לקשר את תלמה להצלחה היה אפשר לחסוך את “הכח” ופשוט להגיד “תלמה. הצלחה.”

Cypress Hill In Israel: 10 Years Too Late. Still Rock

Yesterday I went to see Cypress Hill, the rap band I really liked 10 years ago and the one that is responsible for my Internet nickname. While rap is not the kind of music I listen to anymore, the show itself was great - these guys can really make a crowd jump up and down with their selection of hits from the 17 years they’ve been around.

I’m glad I went to see Cypress Hill live. I’m only sorry they didn’t come 10 years ago. Considering that I didn’t know the new songs and that I forgot most of the lyrics of the old songs, I probably would have enjoyed the show much more. Going to see them yesterday was like going to see really really good live rap. It was loads of fun.

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.

Mac vs. PC UK Ads

The Mac vs. PC ads by Apple are hilarious. Here’s a collection of the UK Mac vs. PC ads, which are just as funny as the American ones. (via Digg)

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 :)

Finding A Facebook Profile From an “Are YOU Interested” Image

Lately I started exploring Facebook dating applications. I know I said I won’t be using Facebook any more, but since Facebook is natural as a dating platform, I decided to give it another shot.

One of those dating-related applications is “Are YOU Interested”. In this application you get to see an image of a person that matches your search criteria and click “YES” (for interested) or “Skip” (to see the next image.) If a person, whose image you clicked “YES”, also clicks “YES” on you, then you are connected by the application.

Let’s say you see a picture you like, but want to know more about that person. Simply right click for the image’s properties. The file name would be something like http://profile.ak.facebook.com/…/n546597033_5173.jpg. Take the part between the ‘n’ and the ‘_’ (in this case 546597033) and put it in a URL as follows: http://www.facebook.com/profile.php?id=546597033 (at the time of writing this was not a real profile, so don’t try this one.)

This isn’t a security breach since the person can still have a private profile, but I don’t think the writer of the application meant for this to be done (otherwise a profile link would have been there somewhere.) So if you thought “Are YOU Interested” keeps your profile private, you better make your profile private (like mine, which is set to “friends only”)

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.