2006-11-27

Eye candy

I retract my previous jest regarding being in with the IT guys. One of them hooked my workstation up with Beryl and I'm gushing like the geek I am. I remember seeing some vids/demos of it over this past year and I thought it was nifty... I never thought I'd actually play with it. A) I don't have root at work and B) my linux box at home is not that powerful.

But now I can. Yes it's completely useless, doesn't do anything that I actually need, and it's kind of distracting; I find myself playing more with the window manager than I am working at times. However, I think there's nothing wrong with eye candy, and I think no matter how much people harp on bloated overkill waste-of-cycles things, they internally know that style counts for something. I mean, just look at cars and cell phones and Apple products. "function over form"... yes, but not that's not to say that form doesn't count. As for me, anything to break the monotony of the screen I stare at all day is a plus.

2006-11-08

Linux Layout

Over the course of my life in the Unix/Unix-like world it's every so often occurred to me that there's just gotta be a better directory layout for the beast. 2 things about that: 1) it's messy with items belonging to the same program spread all over the place and mixed in with other applications making it hard to keep track of; and 2) the places programs want to install to are root-owned so adding new programs on my own as a non-root become more work, if not downright frustrating, to put it somewhere else.

WHY!!! is it standard operating procedure in the Linux community to assume that everyone has root?

Anyhow, one of the frustrating things is wanting to try out new packages and having to jump through hoops to get it to work in place without installing files into X different directories. I'd envisioned many times a system where applications were self contained in their own sub-directory tree that can be easily maintained and deleted if desired. There would of course be a convention for searching and sharing dependent libraries and items. I guess this is how it's done in the new OS-X world, good for them.

I recently read about a Linux distro that does exactly that: GoboLinux. It's nearly exactly what I was thinking of and I strongly suspect that it has occurred to the minds of a LOT of Unix/Linux users.

Reading the forums and talkbacks and comments though, it seems like there are a lot of people that are against the idea of re-organizing the Unix layout of /bin /sbin /usr/bin /usr/sbin /usr/lib /opt /etc etc. etc. They seem to fall into 3 camps:

  1. Too Windows like... dumbing it down for the n00bs... things of that nature
  2. There are good reasons for the layout, aint-broke-don't-fix
  3. Too set in our ways
Number 1 I dismiss outright... partly because I don't find it really true (being more Windows like) and partly because I think they just like being "in the know" of some esoteric stuff and want a barrier to entry.

Number 2 probably has some valid points but I don't fully buy it. They seem to think Unix was designed to be sensible. There were indeed decisions for the layout but by and large I'm convinced that it grew organically from a day when there were far far fewer applications and when memory and space and speed were at a premium. IMHO, there was really no long-term plan for this organization and this directory structure just doesn't scale well to the number of users and applications now. It's created a mess and all the work on packaging and dependency tracking were grafted on and only serve to obfuscate the basic underlying cause being this antiquated file tree.

Number 3 is probably why we're forever going to be stuck with complicated system management.

Thing of it is, there are already good examples to refute the reasons not to have an alternate organization scheme for applications and files. OS-X is one example it's a BSD based system. But there are other sub-examples in the typical Linux world. Rubygems comes to mind immediately. It's relatively simple (only 1 command organizes the whole thing), gracefully handles multiple versions of the same package, and casual inspection of the tree proves it to be fairly logical.

I may try out GoboLinux at some point, they even have a Live CD which I find impressive. They made a couple of design decisions that I find practical and interesting and possibly even better than what I was originally imagining. The linking of pertinent files to the old tree structure is sensible. I had imagined turning the includes, paths, and library finding features into more of a device such that any attempted access to /usr/local/lib/xxx.so would be handled by the system as a redirect, like the way web pages are. It was just a thought experiment. Links (and the possibly clever use of hiding) seems more practical. I just fear that dependence on the old tree structure will remain if one always assumes it's there.

But again there's the inertia problem. Not enough people would conform to the new layout. The spark of hope is that if developers would make their program installs well enough to easily allow installation to non-standard places, then this may become less and less of an issue. I'd certainly welcome a system where the organization is implicit and not reliant on a myriad of package handlers where there are as many as there are distributions.

2006-10-12

A reason not to be good friends with the IT department

I've been buddies with the current instatiation of my company IT department. It has been a good thing. Service is a hair better, I have an easier time getting upgrades (like a new flatscreen monitor) and I can more or less provide a little influence on the system and ask for some geeky things to be installed that aren't really important to the work grind.

Alas, today I finally found a reason not to be so buddy-buddy with them. I get an email and one of them installed World of Warcraft on my workstation, running under Gentoo Linux of course.

Must... resist...

Distro feel

I finally allowed the IT guys at work to replace/upate my machine to the new regime. I have a Gentoo box sitting on my desk now. It's actually been ready for a couple of weeks but I had to make them wait because I couldn't afford the interruption in the meantime. At last I got my upgrade. Most of the folks in my group are very resistant to system updates and changes... some notoriously so. I can see their point of view, I just don't share it. And knowing that I'm very amenable to updates and changes despite the glitches that always appear, the IT folk had slated me as one of the earlier guinea pigs (though not the first). I'd been waiting for this update for quite some time actually. Newer software with newer features and at last I can use my USB flash. I also like that my machine seems more responsive all around (mostly due to newer machine with more memory but I suspect some of it is due to how Gentoo builds things).

One thing that kind of surprised me this time around, though, is that the feel of the Gentoo distro is not what I expected. True, I've only used it for a few days but it almost feels like I'm really just using a generic KDE box. Here's what I mean. When I was using RedHat it somehow felt like I was using RedHat. When I was using Debian it felt like I was using Debian. My home machine has Ubuntu and it definitely feels like I'm using Ubuntu. But right now, I don't have this strong feeling that I'm using Gentoo. Not that I feel like I'm using some other distro, but more that I'm just using some generic Linux with KDE. It's just a feeling and I'm sure it's more than just splash screens and extra icons here and there. It's a bit hard to define precisely and maybe it's largely subconscious. It's probably a good thing but is that not wierd?

Readme

I'd been a Bloglines user for some time now, but the only things I used it for were for the smaller things like friend's blogs and things that didn't have a huge update frequency on the scale of, say, Digg or even Slashdot or Boingboing. For the bigger stuff that I checked daily, I went to the actual pages in sequence and at most kept a recent articles listing on my personalized Google page. I tested out readers and aggregators that ran locally on my machine but determined pretty quickly that it didn't serve my purposes because there wasn't a convenient way to sync between my home machine(s) and workstation. So Bloglines sufficed but the interface was just clumsy enough that I only used it for a "here's what's updated" list.

Then a week or so ago I found that Google Reader aggregator was updated and I started using it. I'm a huge fan of Gmail, one of the few, if not only, web apps that I prefer to use online rather than with a local program. I gave it a go and, true to form, I like the interface. I've moved just about everything I monitor to it and even deleted the overlapped items on my personal Google page. The main usage difference (other than the interface) I noticed between this and Bloglines is that with Bloglines, I would just see what was updated and click over to the actual site to read the articles. Something about the look and the missing images just made me not like to read within it. On the Goolge Reader, I am just as happy to read the full text (when available) within the reader and only click over to the site when I want to look at the whole article or when I care about the comments. It's not perfect of course, but very well done and I have now changed my viewing habits.

Of course now that everything's in more or less a single stream, I'm starting to feel my own version of the Digg effect. Up to hundreds and hundreds of new and unread items waiting for me to click through them. I'm sure I'll find a system to not get too overloaded, the layout and interface seems to allow for it a lot better than other aggregators I've tried.

One aggregator to rule them all.

2006-08-28

Open formats reaffirmation

I very nearly got burned by a proprietary format again. In my recent mission to collect, collate, and back up my data, I stumbled upon an old collection of .SNG files that I had long since thought I had lost (with sadness). These were recorded a DOS Midi sequencing program from back in the day, circa Windows 3.0's intro, when I was a bit more into music and had a Midi box to connect my digital piano to my computer. I used it to record and later transcribe some songs I learned and even managed once to capture some of my dad's old songs he knew from his more serious piano playing days (sadly, didn't record enough of them).

Well, I found these song files and discovered that they are completely obsolete, undocumented and unsupported. I started to sweat a little and spent a good solid night looking for something, someone, anyone(!), to convert them to normal Midi files. Nothing, nada, zip. I checked the Voyetra site the company that made the sequencer and thankfully they're still in business. Posted in their help/faq/support area was a notice that the format was completely unsupported... along with this note:
NOTE:
We understand that a lot of SPG users have created libraries over the years (some with thousands of SNG files) that they need to use in newer systems. These users had a good chance to purchase the discounted. Upgrades that we offered for almost a decade. Unfortunately, at this time "Digital Orchestrator Pro" is a Discontinued product that is no longer available.

I read that to mean "you didn't keep shelling out for our software so tuff shitz for J00". Incidentally I was using a program much older than the one they mentioned here. I was furious and almost fired off a little former customer "feedback". But instead I kept searching and finally found a solution to my problem which ended up being their solution. They basically said I had to install my old DOS program version of the program, get it up and running, load the SNG files in (one by one) and re-save them. WTF! I don't even know where that stuff is from 15 years ago and countless moves. Heck, it came on 5.25 inch floppies and I don't know anyone that has one of those drives anymore. They didn't even have a simple program available that would simply convert or extract the Midi track items out of their own file format. No, you had to use the full blown DOS program, get it working, load the file in, then export it within the program. This blows my mind. As some consolation though, they did at least provide a version of the program (Sequencer Plus Gold) for free on their FTP site, with no manuals.

So I downloaded it and went through the paces to get it installed. Get this, I had to find some 3.5 inch floppies to copy the disk images too because it would only install from disk. Luckily I keep some around and even luckier that I had the foresight to a 3.5 inch drive added to my new computer (combo drive with the little media card readers, pretty cool). Installation wasn't a problem, but getting it to run was a little tricky with the whole WinXP compatibility mode stuff. Eventually, and after some scares, it ran. I spent even more time figuring out how to work it (this was pre standard menu interface) and then correcting for the fact that it was a "newer" version of the program I used and I had to figure out a correction to some of the differences. (It did something special with track 1 and the output Midi files would be incomplete or just empty.) After figuring out the right tweaks to make to the imported songs files, I was finally able to save all the tracks individually to Midi. At last. They even play in Windows Media Player. Hallelujah.

I guess I should have had some kind of inkling back then that I should have taken some steps to future-proof my data. I've lost a lot over the years due to negligence. But back then, the stuff was still relatively new. I was young and foolish and still of the opinion that so long as I kept the data, I'd be in good shape. Hah. Hindsight 20-20. I know that i still have a bunch of Wordstar, Word Perfect, DBase III, and a slew of other stuff sitting in my collection waiting to be salvaged before it really gets too late. Sadly, it will have to wait, because they're all on 5.25 inch floppies. I'm sure I'll find one of these drives somewhere, right? I'm having a similar problem with my zip disks, though I'm less worried about that at the present moment.

Anyhow, the (obvious) lessons to be reaffirmed are:
  1. Use open, documented formats, or at least industry standard ones.
  2. Always migrate your data (ALL of it) to newer media.
Final notes for anyone who happened to have used Voyetra Sequencer Plus:
  1. download their Sequencer Plus Gold (sp_gold.zip), unzip it and copy each disk image to a separate 3.5 floppy.
  2. the floppies are labelled disks 1, 2, 3, and 4 but this is wrong, it should be "install" disks 1,2 and "driver" disks 1,2. take this into account when going through the install.
  3. when installing, select just the sequencer option, not the midi equipment drivers.
  4. on WinXP, I set the install and the programs to Windows 95 compatibility
  5. When firing up the program, there would be a loading message and then it would just hang there. I thought the bloody thing was broken and did several re-installs... but once unintentionally I let the window sit there and some 15 minutes later or more it actually run.
  6. experiment with how to work their menus, eventually you'll get the hang of it. basically to load: F for filemenu; M for mode (click until mode is SNG); highlight .sng file (best to move the .sng files to their song directory beforehand); L for load. To save: same except put it in MIDI mode and S for save. I used the default options when saving to .mid.
  7. Prior to saving the songs, make sure you have no real song information in Track 1. Use "J" to "jump" the track to another number
  8. For my files, I would delete all tracks but one, and save each track separately, but you not need to do this.

2006-08-22

Firefox bound

Ever have something nagging at you for the longest time and yet you do nothing about it and just try and deal with it. I do that all the time. I'd always been bugged that when entering web forms in a browser, namely Firefox, I didn't have my emacs-style keybindings for editing text. And yet, I did nothing about, not even something as trivial as doing a web search. I think there's a certain amount of learned helplessness in there somewhere. Well, now that I've set up my work Instiki, I will be doing more and more text entry into my browser than I used to and enough was enough.

Thank the maker! My solution was within a few keystrokes reach. As usual, I feel like an idiot for not looking this up ages ago.

Sadly, those keybindings don't seem to work in Blogger. Curses!

ADDENDUM:

Speaking of binding Firefox, I had an issue when I upgraded to 1.5 and Thunderbird as well. They didn't work together by default on my workstation. Now... there's a reason for this. The IT guys were so overworked that our workstations are way out of date. Not their fault really, there are other political reasons why our systems stay out of date. Anyhow, I ended up installing it locally in my home directory and using it there. When I clicked on a link in the email client, it would try and bring up epiphany, and when i clicked on an email address in the browser, nothing would happen. I did a web search and all the pages pointed to making sure the "Default Browser" was set properly. I changed it everywhere I could with the control panel(s) and such. None of it work. So I got stuck with doing the cut/paste method of following links and I was irritated for months. Fed up I finally cornered an IT guy for help and he was able to dig up a couple web pages that had the solution. Ugh! I did web searches but he used one or two different words in the search that I did not (nonobvious ones like "force") and was able to get the result whereas I was not. I applied the changes and voila, all fixed in a snap. What a difference a search makes. I feel like a n00b. In my defense, he had done that fix before so remembered what to look for, but still.

Oh, a solution can be found here and it didn't involve any system or window manager or desktop "Defaults".

Rails rocks

I hadn't done much in the way of web stuff since the days I maintained some personal static research logs at my lab way back when. I wouldn't even count that as web stuff. Had a cursory knowledge of HTML by inspection, never learned Java, nor PHP, nor pretty much anything else. wget was my friend when I wanted or needed to do anything fancy. I did some digging, looked at some complicated-looking scripts, dabbled with a cgi script or two but not a lot. I'd always wanted to play around with it but never put much effort.

That sort of changed recently when I finally had some cause to investigate it for work related reasons. I'd been a scripting fiend for a decade and fell smitten with Ruby over a year ago. I'd been hearing about Rails (who hasn't) but only read enough to get an idea of what it was. Well, now I have dug a bit deeper, had time to play, and I have to say that it is way cool. Even without any formal or informal experience with other types of webdev platforms, I can already feel that I'd rather learn this than those others (save maybe Java but for different reasons). I was set up very quickly, ran though a neat tutorial, and marvelled at the relative ease and quickness with which I was able to get something working. I felt the excitement. I hadn't actually looked forward to getting home to play on my Linux box to play for a long time.

It didn't stop there, either. Before I knew it, I had Typo and Instiki installed in a snap. Those systems are just insanely cool, especially to a webdev n00b like me. I love that they come with their own servers ready to go via Webrick or tapping into Lighttpd. Instiki is now going to be a part of my work logs; it's just convenient to have a wiki where I can collect tips and results. As for home use, I don't really have much in the way of a web application or set of them, it's just to play around with. Next step, find out how to access my home Linux servers from outside. For some reason the port forwarding isn't doing the trick. I suspect my ISP is blocking those ports but I won't rule out my doing something wrong.

2006-08-18

Labels at last

So it looks like I may keep using Blogger afterall. I kept telling myself, "come on, they're not that stupid, what's the holdup?". At long last, Google has finally stepped up to the plate and updated Blogger (now Beta.Blogger of course) and one such valuable upgrade is the addition of labels. For the longest time, I'd been confounded by the lack of any significant features added to Blogger, most notably, the lack of categories or tags. The lack of that feature really makes a blog inaccessable. I mean, if you stumble upon someone's blog and happen to dig an article and want to learn more on what they have to say on the subject via categories, then manyally sifting through the archives is a miserable option. Even site search is a poor substitute. Categories give topics an identity in a way that keyword search cannot (at least currently). Further, a listing of categories gives the entire blog a kind of identity and at the very least hints as to whether other articles on the site would be of interest.

It's not that I think anyone would be interested in this blog, but even for personal use, down the road, it would be nice to at least peruse the different things I had to write about a given interest at the time. There are still tons of cool features that area available to the likes of Wordpress and Typepad and others but for now, the simple category listing is a what I was looking for. I don't necessarily think they display or handle their "labels" elegantly at the moment but I'm happy it's there.

The synchronicity here is that I'd only last week started playing around with my own web servers and webdev stuff on my home Linux box. Some work projects had me playing around with web-works and through that I became more interested in the whole web-development thing. I finally got around to playing with Ruby on Rails and subsequently Typo after reading about them for the past year or so. So far, I think they're fantastic. I'd been imagining setting up something more focused and porting it to a hosted site and such, I have a few ideas in mind, but for now I'm content with the minor dribblings that I have here on Blogger. Perhaps someday after (or if) I develop more webdev chops I'll make a more serious attempt.

2006-08-03

Enough with the mp3

MP3's by themselves don't really piss me off. They were an important piece of online history. What irritates me is that it's the de facto standard for all players, especially portable ones. It's a licensed beast and it's also old. There are newer, modern, and arguably better encoding formats out now that have the extra advantage of being royalty and license free. Ogg is probably the most popular of these formats right now, having the backing of the geek community to keep it going strong. Problem is, I can only play it back on my computer and I don't want to be tied to my computer to listen to music. The vast majority of portable players, boom boxes, car CD players and that ilk don't support it... but they do support MP3. I wish they would just switch or add Ogg. Most notably, Apple should have at least have included it in their iTunes/iPod. I mean, the freaking encoder would be free for them to include, so what the heck? The second iTunes supports Ogg is the second that others will start to follow suit and this whole MP3 format thing, which has admirably served it's purpose, can finally start to step aside and let a modern public format prevail.

Ok, I know, pipe dream. Companies are more interested in DRM than free public formats, and I know that they only grudgingly support MP3 because it is so wide spread. Feh!

Technorati Profile

Happy with the Linux distro choice

These days I find myself rarely booting my Linux box (laptop) but when I do, I become more and more pleased with having picked Ubuntu. It is definitely the low maintenance distro that caused me to install and keep it in the first place. I'm still interested in Gentoo but until my office workstation uses it, I'm just as happy to not use it since it would require a lot more tinkering which at the moment I'm just not willing to do. I sit in front of Linux all day and with all of my other personal projects I just don't feel like booting up Linux at home unless I need to log in and such. That may and probably will change in the future, or at least I hope so. But for now, I'm pleased with Ubuntu and I think that so far it's the best distro that I've had at home.

What prompted this? I hadn't turned on my laptop in a month or so, and like clockwork, there was a new Ubuntu release. It updated without a hitch and I noticed that it did indeed correct some of the glitches that I had seen before. I later experimented with ripping a CD to mp3 to discover that it could not. Apparently, the philosophy of Ubuntu prevents the mp3 encoder from being installed by default due to the whole licensing BS. A little bit of due diligence and web searching through the forums and the solution was there in front of me. Install stated packages and voila it works. I read a lot of press about the helpfulness of the Ubuntu community and my experience so far has led me to agree.

Now, is it fully dumb-user friendly? No, I wouldn't say so. But for someone like me with a lot of *nix experience who at the moment doesn't want to take the time to tweak and tweak, it's as close as I've found.

2006-06-12

OMG, a piece of spyware on MY machine...

I've been smug. I didn't pay much attention to what's on my home Windows PC to the point where I didn't even take the basic precautionary steps for protecting one's PC that seem to be standard fare. I felt I didn't really have to. I mean, I don't execute programs emailed to me, I don't click on executable links, I don't install anything a web site asks me to (unless I independently grab said item from a trusted site, not the one they link, e.g. Flash updates and such). And I don't buy Sony CDs. For years I only booted up my PC at home to play Evercrack and then check email or web search for directions and such. Now, I still do those things but added iPod/iTunes to the regular usage list. Oh, I'm also on a re-newed mission to archive/scan/purge my collection of documents and other paper stuffs.

However over the weekend, a piece of spyware has been popping up unexpectedly. Never seen it on this new machine that I've had since late last year. Where did I get that? I pondered. Turns out it came over from my old machine when I transfered a bunch of stuff. Failing to effectively rid it on my own, I finally downloaded something sensable to scan/remove spyware: Ad-aware. Low and behold it notified me of several other things that I was unaware of. It was a sobering moment. Now I'm left with considering the possible virus-scanners out there, most of which I detest installing due to annoyingly bad experiences with Norton Anti-Virus (and even McAfee). Those programs, while good to have were very intrusive and always seemed to cause problems with programs I use, especially games. I just want a virus checker that I can run on my own when I feel I need to, not one that creates popups at the most inconvenient times, one that doesn't pester me every 5 minutes to update it, one that doesn't slow my bootup to a crawl, one that doesn't reside on my taskbar, one that doesn't always reside in memory unless I'm actively running it.

Relatedly, I hate that every single program that I install wants to put an auto-run or other memory-resident item on my taskbar, and put icons in a gazillion places.

2006-05-23

Search defense

A while back Google was taken to court over its scanning books for the purposes of search and indexing. They raised a lot of quasi-interesting but mostly bad arguments regarding copyright and control and such. From a social standpoint I think it would be a tremendous boon to have all works collectively indexed and searchable. I think there's a "public-good" argument similar to "immanent domain" that one could make. I recently read an article on Slate that contains one of the best analogies I've come across:

The idea that there is no tradeoff between authorial control and exposure is attractive. But it is also wrong. Individually, more control may always seem appealing—who wouldn't want more control? But collectively, it can be a disaster. Consider what it would mean, by analogy, if map-makers needed the permission of landowners to create maps. As a property owner, your point would be clear: How can you put my property on your map without my permission? Map-makers, we might say, are clearly exploiting property owners, for profit, when they publish an atlas. And as an individual property owner, you might want more control over how your property appears on a map, and whether it appears at all, as well as the right to demand payment.

But the law would be stupid to give property owners that right. Imagine how terrible maps would be if you had to negotiate with every landowner in the United States to publish the Rand McNally Road Atlas. Maps might still exist, but they'd be expensive and incomplete. Property owners might think they'd individually benefit, but collectively they would lose out—a classic collective action problem. There just wouldn't really be maps in the sense we think of today.

The critical point is this: Just as maps do not compete with or replace property, neither do book searches replace books. Both are just tools for finding what is otherwise hard to find. And if we really want to have true, comprehensive book searches, we cannot require that every author's permission be individually sought out. The book search engines that emerge would be a shadow of the real thing, just as a negotiated map would be a lousy one. Studies suggest that millions of out-of-print books are of unclear copyright status, and Google estimates that relying solely on books provided by publishers and authors will yield only 20% of the books in existence. Not only might it be difficult to get permission. (At least with real property we know who the owners are.) But there are just too many books with owners who are hard or impossible to find"orphan works."

Each of those is a hole in the "map," and a shame.

But again, for every decision there's a good reason, and a real reason. Others have pointed out what I also think is the real reason: Dispite the high minded claims regarding author rights, copyrights, control, and intellectual property, publishers really just want a cut of the potential Ad-Sense revenue that Google will probably make. If it really comes down to a bare-knuckle legal-fight though, and if Google really wants to support the altruistic image that it purports, perhaps they can at some point come to an agreement not to connect advertisement to its book search, or perhaps to branch it off to a non-profit arm and promise to donate revenue above and beyond the project costs to libraries; I think the project is important enough to make happen dispite any greed factors.

2006-05-18

The return to the console?

I've been seeing a slew of articles on Nintendo's new Wii game console coming out over at digg and a few other places. I never read articles on console games much because at some point I realized that I would probably never buy a console game again. I didn't see the point to it.

  • They're dedicated single-purpose machines whereas my computer can play games and is useful for many other things.
  • They become obsolete every few years.
  • They're not THAT cheap.
  • I haven't been much of a game enthusiast since I was a kid.

The last time I considered a console was for the PS2 and because I was kind of interested in the Dance Dance Revolution thingy. I read some excitement of its addictiveness and use in exercise and health. But it was an idle consideration. The PS2 and the Xbox both had some interesting games, and I'd gotten some modest pressure from friends I had who owned them but I never took the interest I had too seriously.

The last console I owned was the Atari 5200 (date me alert). Well, I did have a Sega but that was given to me and I didn't use it. That 5200 was a let down. I was excited when I got it but with all the saving I did at that age to get it, it didn't last long; it basically tanked as a console and had some other problems with it. My brother and sister had newer consoles over the years so at least I got to play with theirs.

Anyhow, coming back to they Wii... I finally decided to look it up and see what the hoopla was about. I'm simultaneously impressed and skeptical, and this mostly stems from the unique controllers that have accelerometers in them. It may indeed lend itself to some innovative game play and I find myself interested a little more seriously on getting one when it finally comes out. I guess I'll come back to it when the time comes.

2006-04-10

You complete me

Being the lazy typist, like most programmers, I use command/file-name completion A LOT. I probably press "tab" more than I do "return". That works fine for the commands and for the file arguments.
However, there are a few command-line programs that are collected into toolkit style and operate on the form:

command subcommand subargs

It's sometimes a useful thing to do to wrap a bunch of little but related commands into a single command line, especially when the subcommands would otherwise share a bunch of code and procedures. Sadly, completion doesn't fill in choices for the secondary command; how can it? So one has to remember what choices there are and type the whole thing. This also applies to commands where the argument is another command, string, or filename that may not exist yet, as in makefiles.

But no more! Found another little *nix gem that's been in existence for who knows how long but lost on me because I never bothered reading the complete bash man page. I was alerted to it during my dig on Ruby Rake tips. Basically it concerns being able to write your own bash completion. Way cool!

In the makefile (and rakefile) example, it's very convenient to type "make [tab]" and get a list of possible targets of make. And in my toolkit example, I can type "command [tab]" and get a list of possible subcommands and a completion when it's unique. Very handy. It can save seconds at a time and has some good "wow" potential since I haven't seen anyone else in my group use this feature. I don't feel so bad that I missed this little time-saving gem all these years, but I wish I had known of it earlier.

2006-04-07

Perl fondly

I've read a many complaints about how Ruby took on too many Perl-isms. Actually, that's probably one of the bigger criticisms, and I completely disagree. In fact, I think Ruby is missing a few Perl-isms.

Some things about Perl that keep me coming back or I just appreciate.
  • THE BEST regex syntax, which basically was inherited from awk/sed and the like. I am puzzled that while Ruby smartly has "=~" they didn't include the substitution syntax form "s/.../.../g" which is so common, ingrained, and best of all, compact. WHY WHY WHY?!! I mean, Ruby can still keep the sub() and gsub() (so as not to munge in-place). This is why I still use Perl for all of my command-line hacks [perl -pe] instead of Ruby. BTW, Python's regexps suck balls.
  • Variables are easily identifiable because ALL variables begin with a $ or @ or %. Since Ruby is OO and has good data structures, only one symbol would be needed, say the $ (which means global in Ruby though). When I first learned Perl, the constantly having to type $, I admit, was kind of annoying. But I learned to appreciate it.
  • Because of the regex syntax and the "everything is a string" paradigm, it really is nice and convenient to quickly manipulate strings which is what I spend a good chunk of the time doing at work.
But generally, I've outgrown Perl for most of my scripting tasks; it's just not practical or convenient since the data structures are rather weak. I wish others in my group would follow suit.

2006-03-25

Screen gems

So there's this *nix tool called "screen" that I know has been around a long time and I've seen it before and in use... but never used myself. I never really felt like I had a compelling reason to use it until this week. Now I wish I had added it to my tools arsenal long ago. It's just really handy. It basically just lets you run multiple shell sessions in the same window, BUT with the ability to detach them and re-attach them elsewhere. Now that's handy. I can run some stuff at home, detach the screen and resume it at work with history and output text and all. The multi-session lets me have fewer ssh windows up as well. At the office I just use kterm which has tabs and I keep multiple (maybe too many) windows up. No real need for screen there. But when remotely logged in, it's just that useful.

Then I thought, back when I was doing a lot of remote work before on a previous Linux box, how come I never used it? I guess it's the nature of the work. Back in grad school (ugh, I keep saying that) I did actual developing on my laptop, which I would rsync back to my workstation. In this instance, I can't really do that since I'm not developing (much) and what I do requires running through many gigs of data that I don't, can't, and prefer not to download. So I'm forced to work remotely through ssh. The other thing is, these jobs can sometimes run for hours, of which I don't necessarily need to be connected to completion... or it gets to late and I want to resume the next day. Screen to the rescue, just detach and exit and then the next day re-attach and continue.

I don't know how I missed such a little gem. I'm such a noob.

Just in time Linux

Fates have conspired in my favor for once in a minor way. Meaning... I'm really really glad that I got my home Linux box working last weekend. It turned out that all week long I was working long hours, like until 2am and such. The first day I sat in my cubicle all night, leaving only for breaks and dinner, but only because I didn't realize it was going to take that long so I kept staying a little longer and a little longer. Problem is, the stuff I was working on took a long time to run each step. Luckily, the web is a good time sink but doing it at the office that late seemed like a waste. The next day I saw it coming sooner because the compute servers were clogged with jobs from others in my group and it took half an hour to even get to mine (our job server is decrepit but we don't have the balls to change it). Screw you guys, I'm going home.

Fire up the Linux laptop, turn on the TV, grab some junk food. Ah, much better. Good thing I set my VPN up. Managed to catch up on some queued up shows including a Netflix DVD that I've had for months but was never in the mood to watch; all while monitoring my jobs, making adjustments, checking for errors, and taking the necessary time out to do some actual scripting. I was really really happy I had set this laptop up the previous weekend. I didn't want to go to work the next day, just work from home in front of the boob toob.

Ok, I could have done this anyways with my Winblows computer. I do have cygwin on it afterall, and cygwin is great. But it's more of a crutch and I resist using it too much. I think it has to do with the environment. Maybe it's because I'm used to working a certain way at work with Linux that I can't do completely on Windows. Little things like mouse focus, middle button, copy/paste, etc.; just the feel that I'm used to for that setting. Well there are a couple annoyances, I never figured out how to copy/paste in and out of cygwin windows reliably. Anyhow, I don't have an exact mirror distro and setup on the Linux box (different distro and a better one at that) but most of the basic use is there. It's all familiar and at my fingertips, man pages and all.

Only bad thing is I couldn't get the X forwarding to work. Works fine on my cygwin but won't accept my display on my laptop. It wasn't that important, it was all command line and text editting and thankfully emacs can run in that mode. X was always too slow and annoying remotely anyways but it was occasionally necessary. Correction, it was fine back in grad school when I had T1 in my room (oh how I missed it). On cable internet, there's just enough lag to get turned off, especially when it's just text stuff.

It also worked out that I ended up using Ubuntu instead of Gentoo because the packages are binary and install in a jiffy whereas Gentoo would have taken hours to get set up since it compiles from source. I could see myself getting frustrated knowing I had a lot of work to do but having to wait. There's still a big desire in me to try it out but this is good enough for now.

2006-03-20

First day with Ubuntu

The jury's still out but from what I can tell from a day's tinkering with Ubuntu I can sort of see why it's become so popular. It installed fairly cleanly and I was a little excited to see the login screen and get going rather quickly... and with the sound and screen and most things working. I remember having to do a lot of config file editting to get Redhat working on my old Toshiba (especially the video) and I had all kinds of problems with the sound. I remember moving over to the enlightenment system (still experimental back then) but Rasterman's esound stuff worked pretty well. Anyhow, the only setup problem I had was getting my wireless to work. My Linksys PC card wasn't set up for me. After some digging I finally found an excellent step-by-step guide that did the trick (wasn't about my particular card but close enough). After that was resolved, I could finally unchain my laptop to my switch and move it to the TV room.

Mental notes from a first day's playing with Ubuntu
  • Hey, sudo isn't so bad afterall! No need to keep a root terminal up. Menu'd items work after typing in the password. Fairly straight forward even if it means I'll eventually hate my password from all the typing.
  • The system really is more for the commoner... gcc and g++ not installed by default??!!? Now that's a first.
  • It defaults to Firefox 1.0.7, not 1.5. What's more is there seems to be a dependency on this version of Firefox. I had to do some trickery (found online) to get 1.5 installed and usable. That worries me.
  • The community seems nice and large, some fixes and tweaks were readily findable online.
  • Ugh, package managers. The dependency problems creep in. The package manager app I find quite good but there seems to be stuff missing. See below.
The first thing I did after getting the wireless set up was try and install Ruby. Fine. Go to package manager, select all Ruby related packages. Install. Uh... Interactive Ruby (irb) doesn't seem to be listed in the manager. WTF? Ok, download it from somewhere else. Dependency problems from hell. Look online, do a few more things, try some apt-getting. Nada. So I delete it all, all the Ruby related packaging, and just download the source. Looks like I'll be managing Ruby by myself. This is, incidentally, how I found out my normal compilers were missing.

Ok now for Openvpn and something else I can't recall right now. Package found, great! Uh, looks like the dependencies aren't quite there. I needed to get the -dev packages for some other things.

I admit, managing software manually from source is often the way to go but takes more time and effort grabbing the right things. So I can appreciate package managers for what they do right when they work right, which I guess is most of the time.

So far though, it hasn't been so bad. No matter what distro I use there's bound to be a lot of fixing and tweaking and such. So it's a good thing to start from a system where as much works as possible when one doesn't want to invest the time in starting more from scratch (though that can be its own reward at times) and Ubuntu seems to have a lot of the raw equipment setup stuff down fairly decently (my particular wireless card excepted of course).

I'll probably switch later.

Distro choice

So with my new home Linux box, I was only strongly considering two distros. Gentoo and Ubuntu which from what I understand are at the opposite ends of the user spectrum; Gentoo being geared more towards the hands-on and Ubuntu more towards the commoner.

I wanted Gentoo because
  • I haven't managed my own box in some 8 years and was therefore very rusty with Linux innards. Quite a bit has changed/advanced. I wanted to get back into it.
  • I like the philosophy of Gentoo. I like the idea of optimizing performance for my machine.
  • Someday my office workstation is supposed to use Gentoo.
  • It has a strong following.
But
  • I know it's more time consuming in getting things setup.
  • It would take me quite a bit of digging to learn the ins and outs and details.
  • I just have too many other projects as it is.
Ubuntu was the other option, the fallback options. I was interested because
  • I read a lot of press on it. It seems to be the most popular new distro around.
  • It was easy to set up and use.
  • One of the IT guys tried it out and said it just works pretty cleanly out of the box. Very simple to set up. Sound works, CD works, etc. etc.
  • Seems like the low-maintenance solution
But
  • The feel-good global-tribe theme I find kind of creepy. The naming convention too.
  • No root? Everything is sudo. Now that's odd. Interesting.
  • Having been using Debian for the past many years I've grown disenchanted by it and things based on .deb packages. Same with .rpms and the Red Hat line.
Turns out Gentoo failed to install on the first couple attempts but Ubuntu started up almost perfectly. And there-in lies the deciding factor. I was just not willing to do too much tinkering to get things working and at 4-5am decided I would stick with what worked. I could always switch later. Or maybe I should just face facts that I've become a commoner.

Home Linux again

I haven't had a working home installation of Linux since grad school. Back then it was an ancient Red Hat on my old Toshiba Satellite Pro. Came in really handy. I eventually put Winblows back on it near the end when I lost my home-T1 access but also because I wanted to use Illustrator to work on the graphics in my Diss and a couple other pieces of software. When I finally got a new laptop some 5-odd years ago, I tried several of the newer distributions on that old Toshiba. The install scripts always failed. I did a modicum of research and with the help of a company IT guy I got X to work, like for a day. Rebooting always crashed though. I gave up and gave the laptop away. It was way old anyways with a small drive, little memory, slow processor, small screen... only thing I truly liked about it was the keyboard keys.

So after getting a new computer last year I figured it was time to do it again but with my older Dell laptop. This time, I didn't want to put a lot of time into it, I have enough personal projects to keep me busy. I was going to use the first distro that worked, starting with Gentoo. I burned the latest install CD 2006.0. Tried both install scripts with a couple different configs including the defaults and it failed each time. Did a couple searches but decided that rather than fix it I moved on to Ubuntu which I was also curious about. It worked as advertised, with only a couple gotchas.

2006-02-13

I've always wanted a ST:TNG console

I've dreamed of an interface where I can move windows with my fingers, draw, type directly on the screen, have some amazing ways to edit, develop, and explore using a very large drafting table-type touch screen. I even went so far as to imagine the types of fingering would be involved to do some of those things. A lot of those dreams and practical ideas suddenly felt really mundane when I saw this excellent demo of just what I was imagining, only with way cooler effects. What they did to create a virtual desktop, map and image manipulation, and some very nifty application interfaces was very inspired. And I hadn't considered the addition of force measurements as yet another input control as they did. Very very cool.

I had wondered why there wasn't something like this out there in consumer land by now. It's such a much more natural interface than having to slide around a pointer on the screen via a mouse. Even the touch screens out there were very simple when I consider that they required only one touch point at a time. I hope that this thing gets commoditized because I want one.

Another video I saw that was kind of nifty was a real transformer robot. I wonder how long before a Veritech fighter can be made.

2006-02-09

And the next letter will be...?

I've witnessed the trends where a slew of companies, names, and products would nearly simultaneously begin with "x", "e", "@", and now "i". I can't say which is the worst offender though "i" is currently taking the cake because unlike "e" (email, ebusiness, ebay) it not only keeps its lowercase lettering but the letter after it is always capitalized (iPod, iTunes, iMac, iFinder, iHome, iBoom, iMotion... check out the name of this product). A close second would be "@" which isn't even a letter but at least it was short lived.

So what will be the next letter/symbol du jour?

While I'm at it, I think that "www" should be eliminated from any and all web addresses. It is a truly unfortunate those words that it stands for begin with the only English letter that is 3 syllables and therefore cumbersome to say, much less 3 times in a row. I think only the German speakers don't mind this since their pronunciation of "w" is "vay" (though they did compensate with "upsilon" for "y"). All basic atomic letters should be one syllable. I'd say numbers should be too but I there are good arguments for having them all be two syllables, but definitely not mixed (e.g. se ven, ze ro). But we can't do anything about the letters and numbers pronunciations that we've inherited. This "www" thing is though. And with the ubiquity of the web, it means nothing anymore.

2006-02-08

Context ads

I remember reading an article of how Amazon's context recommendations were proposing things like "Planet of the Apes" as "you might also be interested in" stuff for people looking up things related to Martin Luther King or Black History Month or something like that; creating a bit of a furor.

It occurs to me that stuff like this has to be happening all the time and I would be there's a site out there somewhere collecting it. I was just reading a Google groups post where a guy was suggesting using suspenders in place of belts for people with big bellies. The Google context ads on the side all concerned pregnancy. I'd post a link but the ads of course rotate in and out. On second read one had to do with pregnancy, one about babies, and one other regarding beanbags.

I wonder how many of these misapropos that can be deemed as offensive will pop up, how many will create a stir large enough for action to be taken, and how to handle it in freeform.

Fortunately, Google ads are (when used properly) unobtrusive and easily ignored, especially since they're all text and take up fairly little real estate. Boggles my mind how some people think it's not enough. I've seen pages where no less than 4 areas of the screen devoted to these ads, including between posts. Does this really help earn revenue that much?

2006-01-23

Delete this

I can only guess that the reason Google did not make a delete button (you had to go to the dropdown menu) was that they didn't really want you to delete anything. Now... why wouldn't they want you to delete anything? I have no freaking clue and I have no intention of digging through their literature in an effort to understand such an inane idea. There are just emails that are not worth saving. Maybe they figured so long as it was archived and out of the way then it wouldn't matter if it was there or not. That's kind of how I (used to) treat all of the accumulated items I have at home. File it and forget about it. The only advantage Gmail has is that the search is very good, whereas with my files, it is not. Still... clutter is clutter. The lack of a delete button was a big complaint by nearly every Gmail user I imagine and for such a simple thing to fix I'm astounded at their lack of response to it. But now it's there thankfully.

In slightly related news, I've finally started getting spam on my Gmail account. It took more than half a year for the spam to start and for that I'm both thankful and impressed. Well there was some spam there already but that was my fault due to some web purchases and signups but those were sensible, controlable, identifiable, and filterable. Now the typical maddening garbage is starting to trickle in. There's no escape.

2006-01-19

Meta meta

I feel like I'm getting bogged down with layers and layers of meta programming. I have programs that do things. Then I have scripts that run the programs that do things. Then I have scripts that run the scripts that run the programs that do things with different options. Then there are scripts to manage the myriad options and parameters. And just as that gets complicated I have to work with yet another wrapping of the scripts to manage the plethora of things to make sure the stuff has what it needs and runs correctly because by this layer it gets really confusing for all involved. But this new layer is every bit as confusing as every other layer.

I guess that's the history of programming.

So programs started out with machine code, 1's and 0's. Then came assembly which replaced the 1's and 0's with mnemonics for the instructions. Then came the mid and higher level languages which replaced the mnemonics with nicer and cleaner and more readable and one needn't know all of the individual steps to do some task. Then came the even higher level scripting languages to manage and glue together all of the various programs written in the higher level languages. And with it came systems of keeping tracks of arguments and parameters. Command line options and GUI's were made. And still more. Another layer after another to abstract and abstract until noone knows what goes on underneath. It's a bit of a maintainability nightmare all for the sake of making things more accessible. Ah well, there's a certain pleasure to it that goes with the pain.

2006-01-12

Loading please wait...

There are a couple of sites that I find I would probably use more, but dang they're slow. MySpace and Friendster are a couple of places that I have accounts. Once in a while the fit strikes me to do some people browsing, mostly through link following of friend's friends and such. Those fits get cut short frequently because the bloody pages are so polluted with cruft and busy with ads and markers and such that it gives me a headache. I think the data lookup is slow to begin with but when you top it off with all the flash and wierdness it grinds to a crawl. I applaud their popularity and am impressed with the whole social networking concept but I wish they had more elegant page designs, including layout and content, not just loading efficiency. Another offender in my book was Ain't It Cool News but at least they got rid of that infernal font-size system, where more popular stories were displayed in increasing font sizes. Was an eyesore.

That's something I grew to appreciate the likes of Google which since its inception has generally had minimalist and cleanly layed out pages. The simple and efficient text-only adds are also a breath of fresh air compared to the days when most pages had rows and rows of huge long banner adds and one had to scroll all the way to the bottom of the page to see the content, or worse, a link to the real content. But it seems to me that they also cared about speed. Their web-mail client is remarkable in not only its concept and user interface but sheer usability due to its speed. Until recently Yahoo mail was more of a burden to use for email, something I would only use in emergencies. I guess I've grown much more appreciative of the user viewing experience: elegant and attractive pages that load quickly.

Another page that I frequent but find frustrating is Lifehacker. It does have a simple and clean presentation. But for the life of me when it loads I get an eye-ache. I'm not sure if it's just my Firefox installations or not but it loads slow and with the few ads popping around the screen as things get filled in, and even afterwards. It's the page instability upon loading that is more the issue. They also keep relatively few posts on the same page and furthermore when you click next and previous links, a third of the posts or more are often the same posts as the original page, causing me to have to click next/prev more often and thus experiencing the loading page instability all the more. I hope someone there fixes that eventually, I do like that site a lot.

2006-01-06

Wish it away

I love those little clever pop-culture references, when I get them which I like to think I usually do. Some clever game designers put in a feature where misbehaving avatars are "wished into the cornfield" in reference to the Twilight Zone ep.

2006-01-04

Zeitgeist

The axiom of the age: If it's not on the internet then it doesn't exist.
The problem of the age: How to search and find what you are looking for when it does exist.