Wednesday, May 10, 2006

Vim indenting tip

This is just a note to self. Move ahead without complaining about geekiness.

How to reindent a line in vim: =. It follows that gg=G reindents the whole file and V= reindents a section. Couple with vim 7 new html/php indent script for best results.

 

Posted by K at 12:56:42 | Permanent Link | Comments (0) |

Friday, September 23, 2005

Employee reviews@MSFT

The mini-microsoft blog is worth being thoroughly read, mainly because of the comments! Yes, that's what I said. Blog comments better than its content. Unfortunately, with massive volume, the blog makes for some time-consuming read.

For today, I picked up the two entries on employee review:
  Microsoft's 3.0 (or, How I Learned to Stop Worrying and Love The Curve); and
  Microsoft Stack Ranking is not Good Management

Employee review systems fascinate me. As I've written before, I believe organizational units (teams, companies, individuals, partners) maintain (just?) the efficiency required by its surrounding environment. It's the Invisible Hand all over again.

What is so interesting about employee reviews, is that these are artificial inputs on a dynamic system. Employee reviewsbonuses[1] exist only to leverage the intrinsic egoism, of individuals, on behalf of the company. They spark the Invisible Hand. As any artificial input on a dynamic system, review systems are fraught with misconceptions, wrong designs, misadapted assumptions or generally leaky abstractions. Artificial inputs on dynamic systems are difficult.

All of this makes reading on Microsoft's review system quite interesting indeed. I was quite surprised to find out it is pretty primitive. It's a ten point scale, vertical feedback, bell curve-fitted yearly evaluation:
  • There is no 360º evaluation, so peers and subordinates do not affect review.
  • The bell curve fitting is an uniformization corporate-brain-death toll. (Tom de Marco defines it much better than I do)
360º evaluation can be questioned. It should be possible, in fact, to get good evaluation underway top-down (managers evaluate subordinates). However, it strikes me as odd tossing out the opinion of direct co-workers. This is valuable information, and should be taken into account during evaluation.

The bell curve fitting -- stating that 30% of the team must have 3.0, and no more than 10% may have 5.0 -- on the other hand, is a clear Magnum .357 shot on the foot. You are effectively stating there are no 100% excellent teams on your company (and no dumbass teams either).

Selected comments, with good points:
All in all, there are great ideas here on what a review system should not be. Nice stuff to build on. I promise to balance this rather destructive post with one defining my requisites for a good review system.

Notes:
[1] Employee reviews are as effective as the end result in employees' pockets. That may be as a result of a bonus or a promotion. Promotions can be delayed but not too much. Bonuses can be smallish, but never ridiculous. I once saw a company's review system reduced to shreds in five minutes when the audience noticed the yearly bonus ammounted to 25% of the monthly wage. Don't make that mistake.
Posted by K at 17:36:01 | Permanent Link | Comments (1) |

Monday, July 11, 2005

Yahoo "Oddpost" Mail

At last, it seems Yahoo is bringing to light the new Yahoo Mail based on Oddpost -- which they acquired in response to Google's Gmail. This was expected, although it's been a long time since the buyout. It now looks like the time was taken to implement the Oddopst Javascript library in cross-browser mode.

Now, how about open-sourcing the base javascript library? A complete, cross-browser, open-source  JS user-interface library is a sure open source success.
Posted by K at 13:37:17 | Permanent Link | Comments (1) |

Monday, June 20, 2005

Comfortable PHP editing with VIM

After taking a look at Thobias Schlitt's Comfortable editing with vim, I decided to go a bit further on the code template feature. Here's the result: php_template.vim. Take it for a spin and send feedback, plz.
Posted by K at 19:09:54 | Permanent Link | Comments (1) |

Tuesday, April 12, 2005

BaseCamp drops MSIE 5

I'm glad to see IE 5.x is starting to be phased out. Granted, BaseCamp is not a website, it is a webapp. Web applications may phase out browsers with a slightly larger market share:
  • They provide customers with greater added value than web sites, so these probably cope better with adapting their software to the application's requirements; and
  • They push the interactivity border further than web sites, imposing a much higher cost when dealing with the mile-long bug lists of the MSIE line of browsers.
in Signal Versus Noise

Sure, we could have hacked in support for IE 5.x, or built alternate versions for older browsers, but legacy support is not the way to build a forward looking product. IE 6, Firefox, and Safari are now the tickets to ride.

Posted by K at 12:39:14 | Permanent Link | Comments (0) |

Friday, April 08, 2005

Javascript Behaviours

I've just published kSubMenuBehaviour, along with a generic Javascript kBehaviour class. This is an implementation of the concepts presented in ALA Javascript Triggers. All of the software is GPLed.

Also, I took the time to create a page for software I've written and released in Open Source. Some of it is already a couple of years old, but I never took the time to present it all in one place.

Update: There actually is a demo here. The pointer is in the docs page, even if it's buried three-levels deep at the bottom of the page :-P.
Posted by K at 11:03:13 | Permanent Link | Comments (0) |

Thursday, February 17, 2005

IE on Wine

WineIE

I finally made it, getting Microsoft Internet Explorer running inside wine, on top of Linux. Now, I can see crappy CSS layouts without a reboot.

... which can be more useful than the description makes it sound :-P

It's a snap with Sidenet wine config. It's just emerge wine, download the script and ./setup.

Update:

Got IE5.01 and IE5.5 running alongside IE6 on the same install :-D using these standalone versions:
 http://www.webuser.co.uk/downloads/ie501sp2_nt.zip
 http://www.webuser.co.uk/downloads/ie55sp2_nt.zip
Posted by K at 17:37:20 | Permanent Link | Comments (1) |

Wednesday, February 02, 2005

Custom CSS

As the design change suggests, blog.com now allows custom stylesheets and custom headers. It'll soon allow custom HTML blocks -- which I need to provide the global navigator found in the top right corner of www.sergiocarvalho.com
Posted by K at 20:07:37 | Permanent Link | Comments (7) |

Thursday, January 13, 2005

Cool reorder web widget


found in the Basecamp app.
Posted by K at 19:21:29 | Permanent Link | Comments (0) |

Tuesday, June 15, 2004

My other car is a cdr, or GIMP LISP scripting

Say you have to convert a hundred images, scaling and padding them... How to go on about it? Fire up your favorite image editor, painstakingly repeat the same operation over and over, develop RSI and curse the world.

Unless you're a software engineer. GIMP is easily scriptable, if you know LISP. Fire up gimp with gimp --batch - . Open up the Xtns | DB Browser for help reference, and hack away:

Posted by K at 14:53:01 | Permanent Link | Comments (0) |
1 2