Friday, March 27, 2009
I grew up using the command line. And then with the Mac, Windows and the Internet - it was gone.
But it's been coming back slowly.
I've been thinking about the "web command line" for a while.
Yes, Google Search is a web command line for years now, doing conversions and calculations (to name a few) and not just search.
And there's been some attempts to take this further, like yubnub.org
But recently the command line is creeping back in web's true style - unnoticed, uncoordinated, distributed. Slowly and surely.
It's in twitter where you use prefix characters to denote other users and topics in a text box inside your browser.
It's in blip.fm where you control broadcasting to other sites by a prefix exclamation mark in a text box inside your browser.
It's in aardvark where you interact with other users using text commands in the text box of your IM client.

Bookmark and Share Friday, March 27, 2009 9:06:46 PM (Jerusalem Daylight Time, UTC+03:00)  #    Comments [4]  
 Thursday, March 26, 2009

So, this guy Glenn Beck is live on Fox, interviewing this guy Robert Gellately, author of Lenin, Stalin and Hitler.
Glenn Beck: So, when Lenin came to power through the 1917 revolution, he had all the heads of factories and businessmen killed, right?
Robert Gelatelly: Right.
GB: And, this is sort of like what president Obama is doing to the AIG execs now, right?
RG: Right.
And it goes on.

A little crazy in the head, aren't we?

Bookmark and Share Friday, March 27, 2009 6:39:14 AM (Jerusalem Standard Time, UTC+02:00)  #    Comments [1]  
 Monday, February 16, 2009

Bookmark and Share Monday, February 16, 2009 5:48:30 PM (Jerusalem Standard Time, UTC+02:00)  #    Comments [3]  
 Monday, February 02, 2009

Last night was Super Bowl 43. Alas, I am in a timezone that doesn't allow me to even care. But I love a good movie trailer, and a big bunch of them was released during the commercial breaks last night.

So here are four of them, in a biased order of ascending coolness:

1. G.I. Joe:



2. Terminator Salvation(sorry, no embed available)


3. Star Trek:



4. Transformers: Revenge of the Fallen(better quality here than in YouTube)

Bookmark and Share Monday, February 02, 2009 6:12:36 PM (Jerusalem Standard Time, UTC+02:00)  #    Comments [2]  
 Saturday, January 31, 2009

Update: this is the Google explanation (thanks Ofer).

While casually indulging in my favorite Saturday afternoon pass-time of Googling for... myself, I was rather surprised by the unusual results:



What? pashabitz.com may harm my computer? *My* computer? How? Wait. Every single result there seems to hold the power of hurting my computer. Do you have something against Pasha Bitz, Google? Or are you just trying to protect me from a severe case of Narcissism? And what happens when you do take the horrible risk and click the deadly link?



At my own risk?? Oh my. Will I be able to resist the temptation? Lets try something else:



Oh-ho. All of this is also extremely harmful for my precious innocent eyeballs and mind. What about Google itself?



Harmful again. Even Google itself! Reader, maps, google.co.uk. But wait, I am in Google right now. So how is this possible? Is it not self contradictory? Does it mean Godel was right? Is the universe about to collapse onto itself at this very moment? I was totally unprepared for this!


Luckily, I know some people working at Google. I examined the source code carefully and traced the problem to the following lines of code:


Bookmark and Share Sunday, February 01, 2009 12:22:24 AM (Jerusalem Standard Time, UTC+02:00)  #    Comments [2]  
 Tuesday, January 27, 2009

Left: Rembrandt, A Scholar, 1631, Oil on canvas.
Right: Me, picture by Aviel Lazar, 2009.

Bookmark and Share Tuesday, January 27, 2009 10:36:49 PM (Jerusalem Standard Time, UTC+02:00)  #    Comments [8]  
 Saturday, January 24, 2009

All I could think of for the first two minutes was...CSS! :)
Bookmark and Share Saturday, January 24, 2009 8:45:24 PM (Jerusalem Standard Time, UTC+02:00)  #    Comments [4]  
 Thursday, January 22, 2009

There are few reasons to have your code log extensive error/debug messages. One of them is to help with debugging issues on a remote (or worse, production) environment. Here are some tips to help you get the most out of this kind of logging:

Log Actual Values

With a well placed log message you will be able to easily pinpoint the line of code where the problem occurred. Now you're left staring at that line of code and trying to guess what caused the error. This will be so much easier if you include in the log message the actual run-time values that your code worked with. This includes stuff like the parameters to the method, fields of the class, session values etc.

Log at Component Boundaries

A component can be a different .net assembly, code that resides in a different logical layer of your application, a third-party library or a piece of code you communicate with using anything than just a method call (like HTTP or WCF). Wherever there's communication between two components, there are bound to be "wiring bugs". Because most components are well thought-out and tested on a standalone basis, it is very useful to know what data was exchanged to help with debugging the issue. Always log all parameter values, both on the client (caller) side and the server (called) side.

Log at Organization/Responsibility Boundaries

This is a slight variation on the previous suggestion. Whenever a call is made to a piece of code owned by another person or group, you should log all parameter values. When you walk across the hall to ask the owner of that code about the bug you're trying to fix, the first thing they'll ask you is what are the exact values you're sending in.

Bookmark and Share Thursday, January 22, 2009 10:58:45 PM (Jerusalem Standard Time, UTC+02:00)  #    Comments [0]