htop, alternative to top

htop is an alternative to the traditional unix top, with a lot more features, being the most visible the pseudo-graphical header.


As images are worth a thousand words, here you have top and htop running in the same machine, notice that in htop apart from the graphical header the processes are showed in a tree.

 

(download)

Reset and Cancel buttons considered harmful

While working on a couple of forms for an upcoming web I decided they deserve a "Cancel" button. Searching for a way to implement it I arrived to the Reset / Cancel Button Considered Harmful by Jakob Nielsen, the usability guru.

The main idea is that a Cancel/Reset button is not necessary because the user will use the back button if they decide not to save the form. Also, more buttons mean more clutters, in this case unnecessary.

Of course, these are online guidelines and in a shopping cart or in a multi-step form it may be desirable to have a remove and cancel, respectively, buttons.

Why screencasts?

Having videos on the net is cool, sure, but why people is replacing good ol' text tutorials with screencasts?

I mean, a screencasts is something good to take a peek to a new project, but if you want to learn how to use a piece of text where you can go at your own pace, in some places faster in other slower. Although, in the embedded flash videos is almost impossible to read what they type.

Coolness, or ugliness?

In Ruby many operators are implemented as method calls. For example you can write:

>> 3 + 4
=> 7

as:

>> 3.+4
=> 7

In this case we call the method + on the Fixnum 3 and pass as argument the Fixnum 4.

>> 3.class
=> Fixnum

While it's good to have expressions built-in as methods, so the programmer can extend/modify them I think thay still relying on the receiver class to determine the method to be called is not the best solution. Personally I think that generic functions, found for example in Lisp, are a way better and more elegant solution