Binu Jose Philip's Weblog
Nostalgia and a lesson
Recently, I happened to stumble upon my old old home page. This was created 10 or more years ago. In it, I had a list of software I like. Finding how the list changed over time was an educating experience. My original list: - GNU - Linux - Emacs - Tcl/Tk - Windowmaker My current list: - Emacs - Windowmaker - GNU (to a certain extend) Emacs, no uncertainties there. Number one. Learned more about it, wrote more for it and converted a few unbelievers. Switched to Gnus meanwhile and I spend horrendous amounts of time there. Windowmaker, tried xfce and gnome and kde. After a little while everything else started getting in the way. Got half way to writing couple of applets. Windowmaker on Solaris applet menagerie isn't anything to write home about. GNU, even though not an absolute must, not having some of the things would cause pain in the wrong place. Having switched to Solaris, and spending the rest of my time in Windows, means, other than for things like Gimp, I really don't need most of it. Linux, not in the preferred list anymore. The last happy experience I had was installing DSL in a no good laptop and finding the laptop come alive. Nothing against and nothing for. As I mentioned, spending all my Unix time on Solaris is a big reason. Still, I don't find anything driving me back to Linux. Using it at home for example. Tcl/Tk, absolutely not in the list. I can't for my life think why it was in the list in the first place. I remember being impressed with expect, but that is no excuse. I use multixterm regularly but that is about it for Tcl. Trying to explain the above to myself... A few months back, me and a colleague were trying to burn a DVD. He had just got his MacBook. The legendary usability of Mac was put to test. After a futile 10 minutes with the Mac, a few seconds with google put us right. It wasn't even worth the question "How do I ..." after we found how to do it. The lesson learned was, usability is as much about how much you use it, as it is about how well it is designed.
Posted at 10:55AM Jul 11, 2008 by binujp in verbal diarrhea |
JES and another installer
JES installer in text mode. Ugliest, most useless of all installers of all time. If there is a user surly award, JES should surely get the award. Yes and Y and Enter and 1 and A, it is a menagerie of choices with the same meaning. But none of them can be intermixed. While I am in the topic of installers. Recently I had to make a choice against my wish where installer could use a new feature and using this feature would allow an existing error to be eliminated. The install would use the new feature and proceed. That would hide one more question from the user and that I thought a good thing. But surprise surprise. It was decided that the existing error must be replaced by a screen to inform the user of the alternative *and* get his confirmation to use the new feature. If he says "No" install would fail. The screen would say """ Error, can't install unless I use feature 'X'". Use feature "Yes/No"? """ I translate the second line as: Fail install so I can throw an error "Yes/No"? Logic? Existing customers could depend on the install failing and hence we should not change the behavior. All newcomers are lemmings anyway. *We* design only for existing users! With this excellent logic in place, I can foresee the future where every new feature will need multiple menu choices which says only "Fail/Succeed">.
Posted at 05:29AM May 03, 2008 by binujp in verbal diarrhea |
How to kill software
This is yet another rantish blog entry. Too many of them recently. Well.. Why some software dies while some survive? I have convinced myself quality, usability and applicability has nothing to do with it. I use Emacs, you may use vi or notepad or brief. brief? brief from underware Inc. No longer out there. Notepad? alive, even my 2 year old has accidentally launched it while "exploring". Windowmaker, dying. I always come back to it because it gives me functionality I need and nothing more unless I ask. You would have your own examples. I am not talking about open software alone. TruCluster. I work on Solaris Cluster and couldn't help hearing tales about how good it was - going going. OS/2 - gone, Windows - very much around, eh? Bad management. From inside Sun I have seen some wonderful products die a horrible and prolonged death because of internal politics. I have seen that happen outside Sun too. The usual reason - even a failed new project helps in increased visibility. Old wonderful products just bring in money, not promotions. Usually new projects cannot happen unless an existing something is killed. Wait for an ambitious enough person with sufficient lack of understanding to come along and you can see the death of a fine piece of software. That will not be a long wait usually. Laziness and lack of neurons. It is highly unlikely that the same person(s) who conceived and coded the first cut will continue to work on some software for ever. Lisp, vi and Emacs anyone? The new person(s) working on it have to be motivated and maybe *better* skilled than the author(s). It takes skill to understand a piece of software well enough to play it. More than that, it takes dedication and hard-work to stick with it long enough to start understanding it well enough. Lack of courage. The simple belief "if it breaks I will fix it" is very hard to come by. Tweaks and blobs and nudges are all well and good. I worked for sustaining for 5.5 years. The written and unwritten law there is "lesser lines changed better the fix". That works only to a certain extent. Every once in a while you have to rip out huge gobs of code and replace it with something better, more elegant, more scale-able more tuned to the present designs. Software must change to survive. If you want proof, read this blog entry by Charles Suresh (BTW, he was my mentor when I joined sustaining). One last reason, lack of vision. If the software is conceived with a limited scope it is guaranteed not to survive long. Over reaching and over engineering all aside, when you are talking about surviving 20 or 30 years or more, the initial idea has to be grand enough and solid enough to survive and kick butts of new kids on the block for all that time. Take Emacs. Survives and kicks butt. The above is not halfway to a complete list. Still, all said and done, it hurts when a perfectly fine piece of software you like, is put on the chopping block for any or some of the above reasons and you have to watch it die.
Posted at 04:14AM Mar 19, 2008 by binujp in verbal diarrhea |
Making money and panicing
Last week I was going through a gargantuan depression triggered by
economic depression and realization that life is not fair and that
everyone and everything is mortal. I lurked around like a an unhappy
pumpkin till I got Terry Pratchett's latest - "Making Money". It put a
smile on my face the moment I felt it in my hand.
I finished the book cackling, laughing and giggling while maintaining
the unhappy pumpkin look. "Recursive premonition" caused me some
thought. There were some almost page turning moments towards the end.
Overall not as good as Thud! even, enjoyable if you are a fan.
Finished it sans unhappy pumpkin face. Then it hit me that I should be
further depressed due to the "embuggerance" Terry was diagnosed
with. That should have tickled the mortality factor of my depression.
That didn't happen and once again a Pratchett creation worked for me
as the perfect anti-depressant. I am now fit enough to tackle bugs
that should not exist in the first place. The current one is that
Solaris tries it's utmost to write dirty pages after panic. The
comment in zfs_sync tells the problem as it is.
/*ARGSUSED*/
int
zfs_sync(vfs_t *vfsp, short flag, cred_t *cr)
{
/*
* Data integrity is job one. We don't want a compromised kernel
* writing to the storage pool, so we never sync during panic.
*/
if (panicstr)
return (0);
...
That is not the only problem. After a panic there is only one cpu
running threads and there is no pre-emption. Perfectly normal calls
like mutex_enter() and delay() will behave differently after a panic.
Understandable. But does panic code account for all that? No!
usr/src/uts/common/os/panic.c:panicsys()
It first asks filesystems to sync() by calling vfs_sync on all mounted
file systems. I can work around by returning immediately if a panic is
in progress as ZFS does. Added that to PxFS. But panic is not done.
It calls pageout on every dirty page. To workaround I have to add the
same panic-check in pxfs's putpage. Did that and the bug is fixed.
But why? Why would you want pages from a compromised and hobbled
system to be written out? With a non-local filesystem almost nothing
works. You can't trust the data any more. System behavior after panic
is different enough to not trust locks and timeouts. My conclusion is
this is a throwback from the age of no-logging in ufs and pushing out
pages at panic was needed to avoid file system corruption.
Posted at 06:40AM Mar 07, 2008 by binujp in verbal diarrhea |
saving the e-mail tag by tag
Is it only me who is stuck behind a not-very HTML friendly e-mail
mentality? Everyday I feel so. Many a time I have risked the enamel of
my teeth grinding away than ask the sender to please reduce HTML tags
to less than the message content. I confess I use XEmacs and gnus and
w3m to render HTML. While it can render HTML it is not as HTML
friendly as any of the holy browser based e-mail clients. Any time I
raise this issue the answer I get is "loose the looser e-mail client
looser!". After hearing that I get the feeling the sender didn't know
there is an option to disable HTML in his or her e-mail client.
Ever so often, instead of reading only the sentence "LOL, you *are* an
idiot" as a reply to a mail of mine, I end up reading pages of css and
HTML tags and the ancestry of the HTML e-mail composer which was used
to type in "LOL" in large red underlined font, oh, and it is centered
on the line and maybe justified too. Is anyone else irked by the large
amount of non-information e-mails contain? If I am reading my mail on
a poor man's terminal and if the client couldn't get correct colors, I
end up looking at black letters on a black background.
For me ASCII is rich enough to convey emphasis and rage and tantrums.
If holy wars could be wages on much poorer terminals, why use these
bells and whistles?
When conveyed in an e-mail, the message:
*DON'T DELETE THAT FILE.*
is as emphatic or more emphatic than
DON'T DELETE THAT FILE.
It is much easier on the eyes and I can also understand that I really
really should not have deleted the file. Contrary to the psychedelics,
shocking me into obeying, I know not deleting was important because
the sender didn't take time to change font colours and size.
Even more irksome is while deep into a e-mail thread with many
participants contributing, some of them insist on quoting with HTML
something or the other and indentation. I am attuned to reading this:
+--------------------- +---------------------
| >> them | them
| |
| > him and not | him
| |
| " me now" |" me now"
+--------------------- +---------------------
I can understand indentation for delineating code blocks. But e-mail
as I remember did not depend on indentation alone for quoting. I still
don't believe e-mail is a web product. Leveraging web provided
services and features is fine. Over-use and mis-use is not the same as
leveraging.
That brings me to another story my father narrates...
The priest and his helper are walking along a river. This is a long
time ago and you should know that the priest is of a higher cast and
have rights which the helper does not. They are walking along and they
reach a place where the river stinks like rotten eggs.
The priest pinches his nose and walks on ahead. That is when he
notices his helper also pinching his nose.
The priest asks: "You Idiot, I am pinching my nose to keep the smell
out. Who gave you permission to pinch your nose?"
Helper: "Oh exalted one. It is below me to keep the smell from
entering my unworthy nostrils. I am pinching them to keep the smell
that came in from going out.".
The moral of the story is to not quote non-contextual stories.
Posted at 04:43AM Nov 07, 2007 by binujp in verbal diarrhea |
A rant for good english
I am not a compulsive essay writer. Never got the urge for verbal diarrhea every day around morning or noon or even night. What gets my goat or sheep or the whole flock is, any long standing irritant. The equivalent of Chinese water torture without the water or the Chinese. The water in this case is prose or what passes by with that name and the Chinese is substituted by countless bloggers, article writers and emailers. If I missed your favorite group feel free to add it mentally. But what am I ranting about here? English. Plain, simple English. Something that seems to exist rarely now-a-days. "Whut u doin n d wknd man?" - babbles a friend on email. "That experience was like awesome and stuff, you know?" - guzzles a product reviewer. "Your making no sense!" - exactly! "There are three configuration files are to be modified" - 'are' fetish ;) Having been in this (computer/software) industry for 10 odd years I can read variables of the kind - fls_idl_pkntr - without breaking stride. There is some kind of justification for that; using 'i' and 'foo' and 'retval' too often can be injurious to health. But, I don't see the extra effort of typing "t h e" instead of "d" bringing on RSI or exhausting your alphabet quota for life. An apostrophe isn't a mustn't, it is your choice, you are writing it. Now for the big question. WHY? Why should I get all worked up over this? Tolerance, allowance, extrapolation, experience and mind reading is enough to get through all of the above and more. Then WHY am I getting worked up? I feel insulted. I feel the other person isn't serious about communicating. Heated rinse water from a suitable dish is soup-ish, but is not exactly soup. You wouldn't wear a broad banana leaf to office, though that too is clothing. (okay, I may some day.) Why the difference there? Because you know there is a limit to the deviance expected from a normal human being. Also because you are showing respect to others in the same social/work circle. Why shouldn't communicating in English follow the same principle? To me, reading a well written article or a book or a blog is a joy. I know everyone can't be a Steinbeck or O'Henry or Terry Pratchett. The least you can do is complete your words, use words in the dictionary and use words as they are meant to be used. Not like you know awful stuff like 'like and stuff'. Punctuations aren't very difficult. If in doubt don't use don't - use do not. You're right, using you are is your choice. One of them is less confusing. Spell checking isn't rocket science unless you have the wrong dictionary installed. At least, when you are publishing something to the big wide world, do a spell check. Weather you goat it rite will depend on wot you rot. Read it after the initial spurt of adrenaline that made your start has worn off. Arrgg... now I sound prissy enough to be hated ;) But I'll tell you this. Writing about "how someone else should write" is fraught with danger. I would have to read the above many times to make sure there are no silly grammar mistakes or non-deliberate spelling mistakes or bad language or ... think before you write. I will conclude with a story my father narrates (17 times as of last month ;) ) whenever I deliver a well thought argument point. There was a priest who was well respected in the village. One day, to the horror of the villagers, they found him being dragged through the paddy fields by a buffalo. Apparently the priest's head had got caught between the buffalo's horns. They caught the buffalo and managed to extricate the priest mostly unharmed. The village elder asked: "Priest! What stupidity is this? Couldn't you have thought a bit before doing something like this?" The priest grew angry: "Who told you I didn't think? For the last three weeks I have been watching this buffalo and it's perfectly curved horns. It's after three weeks of deep thought that I decided to put my head between it's horns. Don't you call me stupid!" The moral of the story for me is to not argue with my father. For you it is to do spell check or to think before you write.
Posted at 12:22AM Apr 04, 2007 by binujp in verbal diarrhea |
Today's Page Hits: 13
| « November 2009 | ||||||
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | |||||
| Today | ||||||