Pat Gunn (dachte) wrote,
Pat Gunn

Hugs and Lies

In our society, the closer we get to someone, emotionally, the more likely we are to tell them comforting lies, because we care more about their short-term emotional state than about truth. In the long run, this might lead to more difficulty, but not as much as we'd initially think, because lying has become accepted. In this way, even extending into casual society, we become accustomed to cheating to achieve and maintain smiles, and create dark areas that we sometimes pirrouette to avoid.

In my reworking of the program I mentioned at work, and the rewriting of it into Perl/Tk, I am again reminded how much of a PITA Tk is to develop for. The layout is irritatingly primitive, the widgets are ugly, and sometimes the way the layout engine works makes it almost impossible to do things (well, the pack layout engine, anyhow). Tk does have the advantage of making it very easy to whip something together, but at the high price of making it very difficult to make nice later. I'm glad it's around -- otherwise I probably would've not gotten into GUI development on traditional Unix, but it's still disappointing. My first GUI programming was done on NeXTStep, which spoiled me heavily. The software I'm rewriting originally was written using glade, which as far as I can tell is trying very hard to match the quality of the NeXTDeveloper tools (or at least the GUI builder components). It's nowhere near there yet, but it's certainly far enough along that it makes the stuff I whip up in Tk look primitive. Part of that is just that the GTK/GNOME widgets actually look good (not as good as the NeXT widgets, but still good). Part of that is that Tk is much older -- Tk became popular when otherwise one was programming in raw X (difficult and because of the effort required to do anything at all, often ugly), using Athena widgets (much uglier than Tk), or using Motif (hard to program for but looked marginally less ugly than Tk). GTK and Qt are part of the last and present generation of graphical toolkits, and both look and behave nicely. I think I'm pretty neutral on the idea of GUI generators -- NeXTStep had a stellar implementation of GUI generation, especially with the ability to edit .nib files as a random user of an application. It is unfortunate that it's harder to do version control on gui design files (or, in the case of glade where the design files are in xml, harder to imagine how they work out visually because of no comments or programmer's arrangement of metadata in those files).

The arrangements for my travel to this weekend's wedding of my friend are now, finally, largely made. I still don't know which people will ride in the Behemoth with me, but at least now I know when I'll be going, and where I'll be staying. I decided to forego my traditional wedding gift because I don't know if it'd be possible/easy to get it in a kosher variant, and said gift also might not survive well the long car ride. I'll probably get an oil change tomorrow and clean out my car to make room for luggage. Hopefully I'll be able to find the hair clips for my Kippah.

On an unrelated matter, I managed to make it through another stage of a long, slow-lived game that I play in life with hardly any points docked. Hurrah.

Tags: tech

  • Testing functions in Perl

    (Nothing particularly profound or my-idea-centric here, and I was tempted to post it to my personal blog instead, but it's worth trying to learn…

  • Abstract strategies for abstraction

    There are a few purposes of abstraction in programming; one of them is to construct a uniform API that is independent of the backend that can work…

  • Statistical Software Components

    A few months ago I mentioned my big library of useful generic C/Perl functions (libpgunn). There are plenty of other general-purpose libraries out…

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded