The New Platform Colophon

In my unabashed geek glee in seeing my first post from my new laptop appear on the interweb, I neglected to provide linkage to all the items that make up this cool little laptop. So, here goes:

  • The hardware: Toshiba Satellite A135-S4527.
  • The OS: Fedora 7. 1
  • The wireless drivers for the on-board Atheros wireless: MadWiFi. A relatively painless install, with minimal hand-to-laptop combat. The WPA key is installed via a program called wpa_supplicant; I thought that was an apt name.
  • The blog software: BloGTK. Again, easy to use, though I’d prefer a Linux version of ecto only because I’m used to ecto. I’ll learn to drive the BloGTK client in due time.
  • The case: The Brain Bag, from Tom Bihn. Not cheap, but durable, and oh so trendy. This item is on order.

And last but not least, every system deserves a name. My first laptop was named nomad, because it could travel around with me. I’ve christened this one gypsy, indicating far more wanderlust than I probably possess.

-k-

[tags], , , , , , [/tags]


1 Booted up from first boot off Fedora 7 DVD; no, I never saw the Redmondian flag, and the Winders decalomania has been removed, in favor of a “Powered by RedHat” sticker.

Securely Clustering

As we move more into clustered systems at work, I went trolling for cluster tools the other day. Or more precisely, went back to one of my del.icio.us bookmarks, and downloaded ClusterSSH.

This is a perl script which requires the Tk and X11::Protocol perl modules. After installation, you type:
cssh [user@]<host> [user@]<host> ...

and an xterm window will open and make an ssh connection, one window per host. After these windows are nicely and automatically tiled, you get a single input window, wherein you enter commands. These commands are then run on all connected hosts simultaneously. You can also set the focus to a single system, and type into its xterm window.

Most commercial clustering software vendors offer something similar, but I like ClusterSSH so far; it’s open source, and not tied to being used only with clustered systems. I oftentimes have a need to perform something on similar types of unclustered systems; this tool lends itself to that. It’s infinitely more configurable than I’ve indicated here, and is a great addition to any sysadmin’s software toolbox.

Like using any tool, with great power comes great responsibility. And thus far, I’ve been very careful with the axe.

-k-

Technorati Tags:

GTD – GID1

Dave Slusher writes of his struggles with GTD. He provides pointage to a David Allen/Merlin Mann podcast that said:

it takes two years to really get the GTD system internalized.

After reading Dave’s post, I see that he and I are in approximately the same GTD status: we both have Hipster PAA cards out the wazoo, an we’ve both been dutifully adding more day by day. In both our cases, we’ve not progressed steadily on the processing of that information.

I’m using the PAA as input into my Palm PDA, and to do information has been flowing smoothly. I look through the balance of my cards, and find that what needs to be handled is the reference type information (the command to initiate a Linux kickstart from an Open Firmware prompt, stuff like that). The plan is to transfer this info from cards, to properly categorized Palm memos. The Missing Synch for Palm OS does a wonderful job in synching everything from the Palm to a Mac-based desktop. Contact info goes to the Mac’s address book, calendar info to the calendar, etc. Plus, and this is a big plus, categories are created on the fly; for example, if you see a need for another to-do category, create it on the Palm, add the to-do, and Missing Sync will create the item and the category on the desktop at the next sync. Prior versions had a catchall category to lump items, and it was a real pain to have to edit items after a sync, just to get them properly categorized.

So, I’ve got all the tools, I know what needs to be done, and like Dave, I just need to do it. Once caught up, I think the daily portion will be easily maintained. And Dave has it right; pick a time for daily review (with the AM java is a great time), and weekly review (weekends are a great time), and then just do it, dammit.

If it takes two years to get this process internalized, there’s no time like the present to start.

-k-

1 – GID = Get It Done, not the gid in the Unix sense. And not GED, in the Larry the Cable Guy Sense.

Technorati Tags: ,

Love that Ruby

I’m still no great shakes as a Ruby coder, but I’m continually amazed at how much can be accomplished with a very few lines of code.

As an example, I mentioned that I’ve been buiding a lot of Solaris packages and Linux binary RPMS lately. One thing I miss on Linux is an equivalent to Solaris’ pkgproto command, which is used like this:

find /path/to/binaries | pkgproto > prototype , or also

pkgproto path ... > prototype

This is how Solaris handles the equivalent of the %files section of a RPM spec file. One thing to like about pkgproto is that it captures owner, group and permissions of each file. Linux supports an
%attr(owner,group,perms) name-of_file

construct; however, Linux provides no tool to directly generate this. In a very few lines of Ruby, I was able to implement a pkgproto equivalent that produces output with each line looking like this:

file_type %attr(uid,gid,perms) filename

This can then be read into the RPM %files section (after stripping the first field). I prefer to use a separate file, combined with the %files -f in the RPM spec file. I’ll discuss how I use that first field in a subsequent installment.

I love that Ruby; a tool to build tools.

-k-

Technorati Tags: , , ,

No More Troublesed

Well, my sed woes are over, and I’m not going crazy, at least because of that. As I detailed yesterday, I had a seemingly incorrect script, that apparently though unaccountably, did the right thing.

After further review, I discovered the application being packaged rewrites the file upon startup and shutdown. Apparently, the inputs to this rewrite process are obtained from files that were successfully created and converted during the Solaris pkgadd. Bottom line is, I need not have fiddled with the offending file at all. This is a hazard of 3rd party applications, when one knows little of their internal workings. The instinct, mine at least, is to convert every file that has a hostname, IP address, etc., that is different from the system on which you are currently installing the package.

I wish that vendors would supply a more transparent interface to their install/configuration process, without surrounding it with their (usually GUI) interface. I know the suits like GUIs, but they are rarely responsible for installing stuff on bunches of machines at once. And don’t even mention the “silent install” options some vendors offer. By using those, one loses the ability of the Solaris pkginfo command, or the Linux rpm -qa command to determine at one fell swoop what exactly is installed on a system. My mantra is if native OS tools are good enough to install the OS, they’re also good enough to install any applications the system needs.

Sometimes being old school is rough, but in this case worth it.

-k-

Troublesed

I’ve been converting some third-party software to Solaris packages(so you can use pkgadd) and Linux RPMS over the last few days. It’s the typical drill; install with the vendor’s install software, bundle up the resulting files, and surround with judiciously-crafted scripts to perform configuration. Then test, test, test.

As part of a postinstall script on Solaris, I have some innocent sed commands that resemble this:

sed -e “s/some_string/${some_environment_variable}/” \
-e “s/another_string/${another_env_variable}/” some_file > some_other_file

And I thought all was well until today. I’d installed the new package on a couple of Solaris systems, and everything worked. I then used those scripts as templates for my Linux %post section for the RPM. I then observed that one of the files operated on by the sed script had multiple instances of some_string on a single line of the input file. The above instructions to sed, in absence of a the “g” modifier, should have replaced only the first instance of some_string. But on Solaris, all instances were replaced, pretty as you please. I even hacked out the sed script, ran it from a shell, and only the first instance was replaced. So it appears the postinstall script handles something differently; it’s called from pkgadd. I am at a loss to explain what’s going on.

Things that work, when they apparently shouldn’t, are as troublesome as things that don’t work, when they apparently should.

-k-

Still Polishing the Ruby

Interventions of vacation, life, and “other priorities as assigned”, temporarily de-railed my Ruby efforts. I’ve been getting back on track for the last couple of days, and the hiatus was actually beneficial. I figured out some new ways to structure my program to greatly enhance its maintainability and more importantly its extensibility. Add to that that I now must support three Linux releases on three different kernel architectures, plus several Solaris releases, and the time away turned out to be a good thing.

I’m excited to get this thing done, but I’m also painfully aware that this will be the worst Ruby I’ll ever write, since it’s my first effort.

-k-

Even though this isn’t a Rails project, I thought the geekily inclined would appreciate the “derailed” and “back on track” references in the above.

Technorati Tags:

Free Veritas

Not Veritas, as in Truth. I’d like to think that truth is dispensed daily, and freely, on this ‘ol blog. I refer rather to Veritas Storage Foundation Basic, now available as a free download. It is limited to 4 volumes, and 4 mounted vxfs filesystems. It is also constrained to run on machines with 2 or fewer processors.

It’s available for various architectures and flavors of Linux, as well as for Solaris x86.

I’ve tried it at work, and it is the real deal. So, if you’re a hobbyist/geek/small_server_admin, this a tool that works well, at an unbeatable price.

The software is available here.

-k-

h/t: Ben Rockwood for the linkage.

Technorati Tags: ,

Geek Me!

After all these years being a Linux dabbler, I’m downloading the Fedora 5.0 isos as I type this. Credit cheap reliable broadband, and the desire of this old dog to learn some new tricks.

-k-

Technorati Tags: ,