• entries
  • comments
  • views

About this blog


Entries in this blog


this is my noob understanding of the concept, taken from a friend-of-a-friend's explanation of it (whose name I have forgotten so cannot credit, so I will change it enough to make it appropriately non-plagiarist but close enough to still be accurate)object oriented programming is a user-friendly way of grouping data together so that it's easier for the programmer to work with.So instead of making a list of all your data:

objList = [(fast, sleek), (slow, ugly)]obj1_speed = objList[0][0]obj1_design = objList[0][1]obj2_speed = objList[1][0]obj2_design = objList[1][1]

and then getting the data:

print obj1_speed> fast

you instead make a CLASS. This is a template of the data structure you want to use:

class coolObject():def __init__(car):car.speed = ""car.design = ""

and then you instantiate that classand you put in the data you want:

auto1 = coolObject("fast", "sleek")auto2 = coolObject("slow", "ugly")

and then you can call these newly created objects...

print auto1.speed

...and how on earth that applies to making computers do neat things is way beyond me. but that's more or less what object oriented programming is all about. next step, go back to school!


A few months ago, maybe, a company named Fixstar acquired Terra Soft (the makers of Yellow Dog Linux). There is no visible change really, it's just that now the company seems to be called Fixstar instead of Terra Soft.For some reason...probably because for the entirety, or most of, my computing life I have used PowerPC chips, I am often drawn back to yellow dog, the one of, maybe, two or three distros that specializes in linux-for-powerPC. So I tend to install it every once and a while and see how it's going for them...and to be honest it's a pretty solid little distro with lots of cool features for their default e17 desktop environment, and everything seems to be pretty much auto-detected and easily configured right away.The one thing they might not have finessed quite yet is the repo issue. I don't know how a user is supposed to know what version of Fedora, for instance, Yellow Dog x.x is equivalent to, and without knowing this, making use of rpmfusion or any similar extra repo, is a bit tricky. I don't want to add the wrong repo, and Yellow Dog doesn't make it terribly obvious as to what extra repos I should be looking for.And their support pages, from what I can find, seem to be consistently a little confusing. This was both with Terra Soft and Fixstar. I think they may really be trying to sell support, and the community support is so far fairly difficult to find.But all that means is that his isn't the proverbial "noob linux distro" for powerPC. I think I had come to it early on thinking that it was supposed to be a noob distro...not sure why I would think that. I guess the absence of certain geek tools from the default config suggested that this wasn't really a "pro" distro...but that is only because I am judging it off what I'm more used to: the full feature set of slack[intosh / ware]. No, in the end, this is a good distro that is really fun to have on a spare powerPC machine. I am still trying to figure out what repo to use but I guess I'll just start adding repos and seeing what works (hey I never said I WAS a "pro", just that I was used to a "pro" level distro!).e17 on Yellow Dog is fantastic, by the way. It's nicely themed to fit the blue flavour of YDL (yes, I know, that makes no sense...you would expect yellow...but it's the DOG that's yellow, not the distro, apparently). It has quite a few epplets available for the e17 shelf (including a weather forcast epplet, a cpu monitor, screenshot, and network monitor...oh and of course an analog clock...) and comes with the usual good stuff installed; Firefox, Thunderbird (I love that combo!!), pidgin, rhythmbox, open office, wicd, ekiga, gimp, glade, dictionary, et cetera. The codec installer seems to be the one from Fedora 9 (hey I think I just figured out what repo to add!) and is out of date...and I mean, it no longer functions. You try to add the free mp3 codec and it returns a 404 error or something similar. But once I get rpmfusion going, I don't see why this will matter.There are just enough animations and effects in e17 to make you feel like you're running a sleek modern OS.....um, and you are! You are running a lightweight blingy desktop environment that really ROCKS. I have install YDL 6 on an iBook G4 (so, integrated graphics) and it performed pretty well...although to be fair, integrated graphics are just so bad that I guess I'm never going to be happy with it. But this time I chose a PowerBook G4 (so, separate graphic card)...the 12" version, I think around 933mhz chip with 256mb RAM. YDL runs on it like a charm. I haven't tried anything TOO intensive yet but so far, this is really making me happy. I'm not saying Debian or straightup Fedora PPC or Slackintosh would do any worse -- they are all great -- but I am happy to see that YDL 6.1 is a cool distro with a nicely configured e17 environment. So I guess in Ubuntu-terms YDL would have been called eDora or something like that because basically, as far as I can tell, it's Fedora with a e17 environment. So, it's cool, I like it. I dig it. YDL 6.1---edit on 01/08/09 -- I still can't figure out what repo to use. It's such an annoyance in fact that I have cleared YDL off and loaded Fedora 10 onto the computer, which is working as expected. So I'm not sure what YDL is intending people to do about repositories, but they certainly don't make it obvious. Granted, I am not dedicating much time trying to find out; it's just a spare computer at work that I have set up so I can use Linux for some tasks. It's not like I have a whole lot of time to sit around and explore; in this case, I really just need a distro that "just works". So while I am still impressed with YDL, in terms of it being a quick-fix I would say that it is...well, not. I'm sure with a bit more effort I'd find the repo I needed...


As usual, I am writing as a non-programmer and have no clue as to what exactly I am talking about...but I have noticed in practically every distro of Linux and the various versions of OS X that I have used, that Dialogue Boxes do one of two things:1. steal focus at inopportune times2. pop up where ever they so pleaseI understand that sometimes stealing focus is necessary; if it's a warning of some kind, it may really need to stop you from whatever you are doing so that you can attend to whatever emergency is going on. A low battery warning, for instance, is important enough to steal focus. Or a warning that if you continue going down the path you are on, you might fry your CPU or whatever. But usually having focus stolen from what you are really doing by a random dialogue box is NOT preferable.And then there's the issue of placement. It's a sick mind game the OS plays on you; where will the dialogue box pop up next? Sometimes it pops up in the middle of the screen. Sometimes it will use the placement of its parent window, and pop up in the middle of that. Other times it seems to be completely arbitrary.Small diversion for a moment, but please follow me on this....If I want to know what time it is, I generally know where to look on the screen to see a clock. The most all-encompassing way to describe it would be "at the end of the kicker or panel" -- that's as generic as it gets, yet completely consistent and accurate; on Flux, it's at the right end of the panel. On KDE it's on the right end of hte kicker. On Gnome it's at the right of the top panel. On OS X it's on the right of the menu bar. Sure I can change most of these (well not OS X's of course!) but the defaults are always pretty predictable.So.....how about the concept of a Dialogue Box Corner? One corner for all dialogue boxes -- the user could choose which one but I propose a default being near one of the usual corners for clocks...top right or bottom right. The user's eye would not only know where to look when searching for a dialogue box that they may expect to be popping up, and their eye will also become acclimated to noticing activity in this corner so that when an uninvited or unexpected dialogue box pops up, it will catch their eye.Makes sense, right? I think it is "Growl" that does something like this already. I could be wrong on the name...but there is some system dialogue notification that occurs on the bottom right of my screen on a number of my systems...I think primarily for Firefox but possibly other apps too... It's just a little sliding box that creeps up onto my desktop -- never fails to get my attention and yet does it gently and unobtrusively -- and tells me something interesting, like "All Downloads Complete" or whatever. And then, as if it detects my gaze, after I have read it, it creeps back off screen. It's a beautiful thing...so much so that I was convinced it was a figment of my imagination for a long time. But it's real, it exists, and it works like a charm.I wonder if this could be implemented system wide on ALL operating systems, because that would rock. IMHO.


If you're partitioning a harddrive for a serious GNU/Linux then it is often suggested to have a separate partition for /var and sometimes for /home. The cool hing about Linux, of course, is that it's flexible and intelligent enough to be able to actually bring the puzzle pieces that are/var + /home + /swap + /into a complete and coherent system.But the question remains, why exactly might one wish to do this? Well, as with a lot of thing in Linux, one might not care to do it and one doesn't really HAVE to do it at all. Linux can be almost as easy as it can be hard; so unless you're a geek, I wouldn't bother. Just install Linux with all the defaults and relax.But if you've read this far you're probably a geek, so the reason one might want to do this (especially on one's server) is because there are attacks designed to fill up harddrive space until the computer comes to a grinding halt for lack of any place to store information. So a nice secure way of setting up your computer is to have a separate location for things that are most commonly written to; ie, the /var folder which contains all the system logs and the /home folder which contains all the user data. Should they ever be attacked, there is a good possibility that they will be the extent of the vulnerable failure, while the core of the system istself, the / folder, is happily inaccessible and untouched.Now you know.


Open Firmware

Funny thing, three people recently have come across powerPC computers and have mentioned it to me, and this started to get me thinking again about Open Firmware, the old pre-Intel "BIOS" for Apples computers. The obligatory history: around the original iMac days, Apple took Sun Microsystem's OPEN FIRMWARE and used it for their logic boards. When they switched to Intel, they continued in their tradition of "actually on second thought we hate things that are open" and went to that wonderful proprietary system of EFI.However, there are still Open Firmware systems out there, so I may as well jot down some notes on signficiant Open Firmware commands.To get into Open Firmware, you boot the powerPC Mac whilst holding down Apple-Option-O-FA scary white screen appears, with black text...looks a bit like a UNIX shell but doesn't really act much like one. This is open firmware, courtesy of Sun and crippled as much as possible by Apple.ALIASESThere are aliases assigned to certain bus locations (is that a real term?)...ie, they have assigned the alias "hd" to some location like /pci@f4000000/ata-3@d/disk@2To see a list of such aliases, you can type in:


And that will return a screenful of all the aliases that firmware is aware of. So in theory, if we set a certain variable to "cd" then we should be telling th ecomputer to automatically boot of of location /pci@f500000000000/ata-4@d/disk@1 (just an example)VARIABLES We can see what variables are set in the system by typing in

dev /option .properties

This returns a really long list of all the firmware variables. If you are seeking to add your own oem banner and logo, this would be the place to do that. More likely, if you are seeking to alter the device from which the computer starts, this is the right area as well. In this list, notice that boot-device is set to hd and perhaps tbxi. If you want to set it to a specific device, like ethernet, then you can issue a command like...

setenv boot-device enet

...which should return the value of "ok" and you can double-check that it's been set by issuing again:

dev /option .properties

and looking to see what the value of boot-device is.I have had success doing this with ethernet...and that's about it. For CD and others, it really seems to want you to hold down the 'option' key during boot. Of course, even Ethernet has a snag key -- hold down 'n' during boot -- so going into firmware just to set ethernet as your boot-device is kind of silly.But what you can also do here is define which IP address specifically you want to boot from:

boot enet:,filename,;255:255:255:0;

...which translates into: boot enet:<ip of server containing the linux boot image>,<the boot file..whatever that would be>,<your local machine's address>;<the gateway address>As of this writing, I have not yet had any success with that, but then again I have never really booted off a network much less set a netboot server up, so iI really have no idea what I'm doing.But what I have had a little success with is telnet.TELNETTo put this machine into telnet mode, you first type:

dev /packages/telnet

and, again, you should see an "ok" response. Now telnet is running and you will need to type this:

" enet:telnet," io

let's look at that character by character:" -- yes that's a quotation mark -- yes that's one blank spaceenet: -- that is "enet" for ethernet and a colontelnet, -- that is "telnet" to start the telnet protocol and a comma192.168.33.33 -- you can make up whatever ip address you want to give this computer; so take a look at your other computers, see what the IP address is, and choose an address within that same subnet...ie, if one machine is then you might choose and so on." -- close quotation io --- space and iohit return.The machine gives you an OK, I think, and then just kind of sits there stupidly. You might think it has crashed. But if you ping it, you will see that it is in fact responding to pings. Pretty fancy.To be safe, btw, what I usually do is get on my master computer and start pinging the address i'm about to give the little telnet server on the Mac. You'll see it respond that "host is down" or something like that. Now go to the Mac, do the open firmware magic, and as soon as you hit Return at the final telet command, you'll see the pinging kick in. That is not only extremely gratifying, but it also is fairly good confirmation that you are pinging the computer you think you are pinging.To telnet into the Mac, you simply type into your other computer's terminal:


and straight away your prompt there in the terminal becomes an open firmware prompt, and you can run all the commands...but with the benefits of copy and paste and all other bash-like functions. Now, what this is actually good for, I'm not really too sure. There is really only so much you can do in Open Firmware, and whether it is possibly to install a linux distro via THIS telnet connection, I am not clear about. I did try and failed, but then I failed on a telnet install via normal PC to normal PC as well, so basically installing linux via telnet is just something I am not ready for yet.WHAT'S THE POINT?The point of Open Firmware is, of course, that it's a door into the firmware settings of your "new world" but pre-Intel Mac. If you're a firmware programmer this probably means something to you. Otherwise, there is usually little you'll find that you can do here that you can't do via some OS. So whether you'll ever really NEED to go into Open Firmware is highly questionable.The one time it did save a laptop in my experience was when I had some iBooks that were acting strange, and all the Apple "Experts" (I mean "Geniuses" but I think it's a trademarked term now so one must be careful with it) were all telling me that it was a bad logic board.... on all the iBooks I brought to them. Talk about an odd coincidence! Of course I didn't believe them, and instead went home, got into Open Firmware, and found out what was REALLY going on. It was through open firmware (which was helpful because of course you get to open firmware well before you ever get to an OS, and the OS wouldn't boot) that I diagnosed what each iBook actually had wrong with it, and then I was able to take them all apart and reassemble them into one working iBook. But of course you would know all this if you listened to Season 2 of The Bad Apples, so I will say no more.Now, normally all the other normal things you'd want to do via Open Firmware can probably be achieved by non-volatile RAM settings (google "nvram + OS X")....but Linux doesn't have the nvram application that OS X ships with, so if you need to set these variables while running Linux (which you should be on a Mac) the Open Firmware might your ticket to setting things like boot devices and OEM banner messages and...I dunno...stuff.CLOSINGIn closing, I'd just like to say that Open Firmware > EFI < openEFI but let's face it: chip manufacturers are evil. They lock in their code, they program in Windows, write to the chips with proprietary chip baking machines powered by Windows, and make everyone's life difficult. So next time you close your fancy Linux laptop, or your OS X machines (even though they are perfect and never do anything wrong - if I had a buck for every time I closed my Mac at work and come back to find it either shut down or crashed or strangely suddenly in a deep hibernation that requires it to be shut down and then rebooted, I'd be rich) don't call up the Linux devs. Call the chip manufacturers. And heck, call Apple and HP and Sony and all these manufacturers. If they're good for anything, they would start putting some pressure on these chip manufacturers to go Open Source (haha, they would never do that) or at least start being more open about the code that everyone needs to access in order to get things to work the way it ought to work.TANGENTI know I know, I just closed...but let's face it...would that ever happen in open source? Technological advancement being held up because people won't share code? Well...obviously a rhetorical question.



Software and Multimedia Piracy is Wrong.Haha, just kidding. No, actually piracy is not wrong at all; the environment which forces it to exist is wrong. Think about it:It's human nature to want to share with others. I mean, real human nature, like when you are feeling good and you're with friends, and you're not thinking about mundane stuff like paying bills and going to work and nonsense stuff like that. When you are feeling like your true self, admit it, you like to share. You find a cool song that you really like -- you want other people to hear it. You find a computer application you like -- you want other people to try it and get as much satisfaction from it as you do. That's why we have music sharing sites like last.fm, and it's why we have podcasts in which people are raving about that cool file manager they just found.Proprietary software, copyrights, the idea of Intellectual Property, and so on -- all of these things rob you of your right to be truly passionate about the neat things in life that you discover and want to share. In fact they set you up to be what they will call "a pirate". Now I don't know about you, but a "pirate" to me is someone who sails the seven seas and kills people for their boats and gold and stuff. We could get into a sociological discussion of why Pirates feel they need to do this, but that would be a bit of a digression......but the point is that people who share music and software and stuff like that are NOT pirates.Furthermore, people WANT to share. And proprietary systems forbid that. There's this model of oppression that goes a little something like this:1. Establish the fear of punishment if a law is disobeyed.2. Create an arbitrary and unjust law.3. Encourage people to break the law.There are variations on this theme, but essentially the idea is to create an inescapable trap for people. Give them something that you are marketing as revolutionary and life-changing, and then threaten to lock them up in prison if they in turn share this revolutionary thing with their friends. You see similar techniques in society's treatment of sex, or even drugs; tell everyone it is bad to remain a virgin too long, but also add that sex is bad. Or tell everyone drugs are bad, mkay? but then manufacture all kinds of interesting pharmaceuticals and advertise them on TV and make them really desirable. Brilliant ways to send the general population into an infinite loop of moral dilemmas.Back to my point...My point is that if Photoshop is so freaking cool and will enable me to become a better artist, a more beautiful model, and more desirable in the Job Market and I just paid an arm and a leg for it, how am I supposed to NOT share it with a dear friend? Obviously I would want my friend to have the same benefits; I would want her to be a better photographer, a better model, to be able to get super cool graphic design work. But of course to share it would be illegal, and I would risk being arrested.So piracy is not wrong, it is in fact right. So...post all your copies of proprietary software on warez sites, right? Well, no.Piracy is Right but supporting proprietary software that creates an environment of moral dilemma, "illegality", and marketing nonsense is Wrong. If we, as GNU/Linux users, use proprietary software and push it out into the mainstream, we are helping create this environment. Put in a less abstract way:Let's say we all use GIMP and eschew Photoshop. We start demanding plug-ins for GIMP, we start asking about drivers to make sure wacom tablets (and the like) work to their full extent in Linux and GIMP, we write our own plug-ins and scripts... You can see what would happen; it would be a victory by popular demand. Photoshop would lose influence and popularity and market share, and "piracy" would no longer be an issue. Obviously I am just randomly using Photoshop / GIMP as one example, but it applies to all applications.So don't Pirate, just Reject.


Is free software really important?Actually, it is. Like it or not (and if you are here you probably like it) the world is dominated by teh Computer. It seems to me that if we support the big companies like Microsoft, Apple, Symantec, Adobe, Apple (yeah I know), Autodesk, Digidesign, and so on, and just keep taking what they are feeding us, the world will eventually become divided into two computing factions: those who can afford to compute and those who cannot. Those who know how to use computers will be able to get the cool jobs, and those who never got the training will remain computer illiterate and unable to get desirable jobs. We do not want this.Furthermore, we do not really want to remain stagnate. Computers and logic and programming and hacking -- these are things that enable ordinary people to find creative solutions to big problems. Even things that don't directly relate to computers can often times become much simpler when pondered by a mind familiar with the complexities of the computer. One of my favourite examples of this is the Unix philosophy of "one program to do one thing and to do it well". Modularity. Armed with this philosophical ideal, I have been able to take on some enormous (well, enormous for me anyway) tasks, break them down into components, and accomplish things that I would have not been able to even approach otherwise.And one more thing -- do we really need to be consumers?? It's so easy to go out to some department store and walk up and down the aisles like zombies and pick things up to purchase, and take the things home, and put them down, and forget why we even bought it in the first place. How much more satisfying to the creative spirit and to the esteem is participating in a project? helping create something, making something with real people who you can talk to or yell at or flirt with or whatever you want to do. It's a lot better than just going up to a faceless "company", handing over the money that you worked all month for, and then taking something away that you only get to play with on their terms -- it would be like buying a Lego set but only being allowed to make maybe one or two different models, and being told that if you attempted to make any other design, you were either out of warranty or worse yet a criminal.So yeah, software freedom is important. It's something that we need to support in as many ways as we each feel obligated to. It's a great model, I think, of a society that is free, communal (not in the oh-so-scary Leninist sense, yet not in the oh-so-cheesy Hippy sense either), open, free (yes, i know), and, I think, enlightened. There is much to be learned from Free Software. So let's support it and see where it takes us.


I know Apple has had its head under the covers for 20 years now, but I frankly feel like it might be time for them to admit that there are other operating systems out there aside from itself and Microsoft. And believe me, I know this is a lot to ask. Imagine whatever kind of unholy matrimony you want to, and picture Apple and Microsoft together, in an illicit affair that's lasted for decades. I know that publicly they are diametrically opposed to one another, but really? Microsoft loves Apple; they take care of that elusive and fickle hipster audience that Microsoft just can't seem to wrap their mind around. And Apple needs Microsoft because anyone who claims that Mac OS is "enterprise ready" (I learned that buzzword on the interwebs) is fooling themselves; I mean, even Apple doesn't lay claim to that.But anyway, Apple is supposedly the end-all and be-all of healthy Open Source development (if you listen to them talk about it). And yet their OS does not have any real support for an open source file system! I know what you're thinking, you're thinking, but Leopard has ZFS support. No it doesn't, brainiac, it will kind of read from ZFS if you know the proper incantations. There is a sourceforge project that brings SOME ext2 support to Mac but again, the support is a bit frail at times, and not very robust, and obviously has no Journaling support.But give me a break, will you? Apple is always touting their brilliant Unix foundation, and yet if I'm running a BSD (just to keep it in the same unix family) box at home and bring a thumbdrive -- that I can read and write to at home -- to work, it's useless to me. Apple just isn't going to read it. And even if it is one of the filesystems that can have support, there are quite often a few hoops to jump through to get it to work. And if I have to distribute a file from that thumbdrive onto a number of boxes at work, then I'd have to hack them all to accept that file system. Stupidity!You're telling me Apple can't throw in support for at least one or two major filesystems? Or am I really forced to use MS-DOS FATxx for all my drives that I wish to take from work to home? Thanks again, Microsoft, for saving the day. It's good to know that Apple is helping spread and perpetuate your evil no-files-larger-than-3.99-gigabytes filesystem. (Yeah, that just bit me too; tried copying a 10gb truecrypt volume to the FAT32 drive and kept getting errors until I finally recalled that FAT32 can't do files > 4gb. Opps.)ps - total side note here.......but can someone forward this entry to those morons at Ohio Linux Fest who were wearing the BIG Apple logos on their shirts, proclaiming that Apple was a fellow soldier in the fight against Microsoft's stupidity? Apple <3s Microsoft. REALLY!!!



In episode 2x14 of The Bad Apples Linux Cast, I talked about all manners of portable operating systems, including web-based, shell accounts, and usb drive OS's. One of the web-based systems was eyeOS (eyeos.info for demo) and I remember being impressed and intrigued but a little underwhelmed by performance.Enter threethirty, a fellow host of Linux Cranks and an all-around adventurous guy. One weekend he decides to learn how to set up a server, and then all week long he's loading up all kinds of insanely cool web services for everyone to fool around with. He put opengoo (online office suite) on his server, and then eyeOS.eyeOS ran much faster than I'd ever experienced it. I was very impressed with it.But I don't feel like writing a review of it because I've already talked about it in episode 2x14 and it's all pretty much the same, only better.What was interesting, however, was when we started messing around with themes; there was a Gnome theme that you apply to your eyeOS desktop, and strangely when I first logged back in to see the new theme I saw a Suse logo on the desktop. I blink, and it's gone, replaced by an eyeOS logo. I thought I'd imagined it but then monsterb saw it. We took screenshots. The Suse logo definitely disappears within a few seconds. I am wondering if eyeOS is running Suse, or if they just took the desktop art from Suse 10.3 and it happened to have the Suse logo on it. I tend to think the former, because the Suse logo is RIGHT where the eyeOS button is, and it seems like a strange coincidence that a logo they needed to cover just so happened to be right where their eyeOS logo is in ALL themes.Anyway, here's a screenshot.eyeOsSuse.png


I speak of course of Blender. Blender is one of my favourite apps ever. I use it, I love it, I am constantly amazed by it.But the one thing I'm really looking for in Linux, lately, is a really solid video editor. Yes, Blender can edit video...but..just because it can, doesn't mean it should -- at least in its present state. Let's get a few things straight and then move on to the pretty pictures:1. Blender is solid code, a robust and stable app, and absurdly powerful.2. Blender's current Video editor is technically sufficient to edit, but does not really have an interface designed exclusively to that purpose.3. As such, Blender would pale next to an Avid or Final Cut Pro workstation.The good news: in order to become the best video editing app for Linux/osX/Windows all Blender needs is a UI designed for the video editor, and a few patches to provide a few new functions that any professional video editor would expect.The bad news: I can design interfaces, but I can't actually program [yet]. Therefore, this is a post all about vaporware -- until a Blender dev (I am in contact with a few but can always talk to more!!) jumps on this idea.The idea is essentially this: design two interfaces -- one for the home video hobbyist (the iMovie, if you will, of Linux) and one for the video professional (the Final Cut Pro or Avid Express of Linux). Do not FORK Blender, as such, but simply provide an alternate interface for it, geared toward video editing.And now the pretty pictures:First, the home user version.Proposed Title: "Blender Movie Maker" or "Video Blender Lite"Features:1. Upper left quadrant is the preview window where you can audition video clips and lift good segments out of your hours of bad footage.2. Left quadrant also doubles as a file browser so that you can find your footage on your harddrive3. Upper Right Quadrant is your Target window (sometimes called a "canvas") where you get to see your movie as you edit it together.4. Middle of the screen is the timeline with audio and video and effect regions. You can make this as simple or complex as you wish; if you are getting close to being a professional editor, you have the capabilities to do multi-track editing. If you are just interested in stringing together the good parts of your home movies, then you can do a simple one-track edit.5. At the very bottom, we have thumbnails of all the cool effects you can put on your footage, like glows, blurs, fades, distorts, et cetera. Most of these effects already exist either in Blender or from independent programmers but can be downloaded and used for free (you can find them from the Blender site). The one thing we might want to look into is a simple and easy-to-use text generator but we could also argue that generating text in Inkscape and bringing it in as .png's would make more sense, too, which works for me.6. And that's it. Easy, elegant, and satisfying.blenderMovieEditor.pngNow, the professional version.Proposed Title: "Video Blender" or "Video Blender Pro"Features:1. pro editing environment with screen presets for rough cutting (would have easy access to video preview of raw footage), editing (seen in the picture), color correction (easy access to effects and color filters), and a screening room (intended for viewing the cut in a larger movie window, with fewer distractions on screen but with text editor open to make notes as you watch).2. video editor, not audio editor. Audio needs to be functional and in sync but trying to copy Final Cut's bloatware tendency to include audio editing capability is plain silly; it doesn't work well in FCP and it doesn't belong in a video editor!3. no video capture. Again, Avid and FCP include video capturing in the editing app. Bad idea. ffmpeg imports video quite well so Blender has no need to bother with that.4. SMPTE timecode given preference - video and film editors work in SMPTE not in an endless count of frames like many animators and motion graphic designers do. So videoBlender needs to give preference to SMPTE, and it will have counters so that the editor has quick reference to timecode.5. Customizable timline - video editors stare at strips of video all day long and it all starts to look the same. It seems silly, but color coding the video clip in the timeline is hugely helpful yet no video editing app has this as a feature. Let's put it into videoBlender.6. Screen Real Estate - Most video applications like to leave lots of windows open so you can be impressed by all their neat buttons blinking lights. videoBlender will conserve your screen real estate by using the upper left quadrant as a multi-purpose window (it can be your file browser when you need to look at files, it will be effect editor when you need effects, it will be node compositor when you composite, it will be the preview window when you need to preview a clip). The interface will still be customizable as in Blender, but the preset at least will be conservative on space.7. Intuitive interface for noobs, keyboard shortcuts for pros. There is a button row in the middle of the screen so that newcomers ca learn the tools. We can have keyboard shortcuts married to these buttons so that they are not necessary after you get to know the app.8. Easy Export - it's easy to render out to a file in Blender now, but it does involve navigating through a lot of mysteriously named buttons. This will be made simpler by excluding the 3d-modeling specific options.videoBlenderSpec.pngHere are some major features pointed out:videoBlenderFeatures.pngAnd here are the buttons explained:videoBlenderButtonTips.png----Comments, critique, further suggestions are all welcome. Yes, I'll be working on more UI specs later, to further detail various aspects of the application.Please spread the word about this idea if you like it, especially to all the super savvy Blender dev types out there! I have been told that the current Blender code is almost ready to be able to do this kind of "interface remix", and with just a few simple patches (some of which already exist, from discussions I've had with devs) the little extra functions that I think a video editor should have can be a reality.


Apple TV.Worst interface ever.Not only is it deathly slow, but it is just plain stupid. Why is it stupid? Let's look, shall we?You get into the main screen of Apple TV and immediately are greeted with different types of media you wish to view. This makes sense. Aside from the myriad restrictions Apple places on what kind of media you can actually play, this seems pretty good. Click on Movies. The top selection here is "Top Movies" and then "Genres", "All HD", "Search", and "Trailers"...and then finally "My Movies".Um wait, "My Movies" ? So you mean the top 5 selections had nothing to do with my collection of movies? No, of course not, silly goose! those were all links to the iTunes store. This isn't YOUR media player, this is Apple's media player. You are just having to have it in your house, hooked up to your tv, and on your network, stealing your bandwidth. How did it get there? Either you or a loved one actually PAID for it. Wow you probably feel stupid now. But no worries, let's go to the next selection."Music" --> again, "Top Music", "Music Videos", "Genres", "Search"......oh and finally "My Music". And don't worry, "My Music" isn't, as is the case with all of Apple TV, ALL of your music. It's only the ones thatt Apple TV can authorize against the iTunes Store as having not been purchased by someone other than you.On to "Photos" --> this time, since they can't really think of anything to sell you at this point, place "My Photos" at the top of the list...just when you were getting used to the idea of all your stuff being relegated to the bottom of the barrel! Then comes "MobileMe" (you're paying $100 a year for that) and of course you'll need to sign in. Uh oh, that means the text entry system of this horrible device. Just when you thought it couldn't get any worse!Text entry on the Apple TV is done with the brilliantly simple Apple TV remote, essentially the same horrible interface as an iPod. 6 buttons, most of them badly labelled, but none labelled as badly as "Menu" (which in fact is a "Previous Screen" button, not a menu button at all). The text entry consists of the alphabet, 0-9 numerals, and the usual symbols. The cursor moves slow, password entry is sometimes hidden and sometimes done in the clear (arbitrarily decided by some random guy at Apple, I guess), there is a "Clear" button that will -- without confirmation -- clear the entire field, an arrow to denote "backspace" or "delete one character", no auto-completion, no ".com" selection, no memory of any previously entered text....you're just on your own. It's a horrible experience.And then there's the "Settings" menu. Seven selections and not one for "Network"...which you'd think would be a fairly commonly needed selection. Happy hunting for that. And remember, some of your passwords will be entered in the clear, but we won't tell you which ones, so have fun guessing when to trick your friends into looking away at a moment's notice.And did I mention it was slow? Is it because there's only 256mb of 400 mhz RAM? Or is it because so much of the system is preoccupied with sending out zero-conf signals to the entire world wideweb so that it will possibly automagically appear on your computer when you go to set it up, because you can't be bothered to do a little network configuration? Who can say.But yes, all in all, I would say that this was some of the worst interface design I've ever seen. And no, I don't mean "some of the worst I've seen from Apple" -- I mean "some of the worst I've seen".And no, I did not buy an Apple TV. Just saw a friend's Apple TV and made fun of it. Publicly.


OK OK Apple is often known for its glitzy interface design. Yay. I think it's over-the-top and annoying, but some people lick it.Is it intuitive? Well, it's intuitive now because the whole "your computer as a desktop" paradigm has pretty much permeated computing society, such that, for instance, when we see the icon of a folder, we understand that our little document icons are supposed to go into. Get it? The documents are kinda like Paper and the folder icon is like a Dossier, and so one goes "inside" of another. And you set it down on your "Desk". Yes, it mirrors the real world. Incredible....ly inaccurate.What about a paradigm more accurately reflecting what's going on in that there computer? Do away with the trash can and establish an icon or button that will reallocate the space previously occupied by a file as "empty space"....and yet the file still exists until it is ACTUALLY overwritten with real data. How about representing files in relation to one another? such that a file that was created in vim or kate or kwrite is a direct associate of vim or kate or kwrite....whilst a file that could be opened in vim or kate or kwrite could be farther removed "cousins" of these applications... and to locate a file in your GUI, one of the ways you could actually find it is by selecting the application you wish to actually use. So if I knew that I'd created a text document in vim, but now want to open it in Open Office and do some fancy formatting, I could select Open Office as my destination app, and I could see the documents that were created in it, and then the documents taht could be opened in it. And so on. New paradigms. it'll blow your mind!


What is "intuitive"?

What is really intuitive, anyway? A lot of us seem to have some idea of what an Intuitive interface is...but really, everything we call intuitive usually translates to "this is like something I have used before". I mean, even simple stuff like trashing a file.... is it intuitive or are we all just really used to the idea of having a Trash Can icon into which we can drag a file? Well, because we are all so used to that concept, it IS intuitive, but what if we were all used to having an icon in a panel or kicker that meant "zero out space occupied on the harddrive by the currently selected file"...then the first thing we would all look for such an icon on a new system that we started using, and a system set before us with a trash can on the desktop would baffle us. We'd think it was a folder, maybe, for junk mail or just a funny icon for a folder. We wouldn't associate it with a method of erasing a file from our computer because "as everyone knows," we would say quite sensibly, "you don't put digital bits into a trash can."For me, "intuitive" is a process, not something tangible. Intuitive interface design is the collection of a series of logical steps, but it is also the collection of all the different applications on a system - the way they all work in similar ways so that to learn a few basic concepts is to learn a whole variety of more complex applications for those concepts, and it is the consistency of interface so that when my hand automatically goes to click a button, that button is where it would be regardless of what application i am in.Let's look at a simple example: I have a window with a red button and a blue button. Is that intuitive?Well, yeah, it is...sort of. You're supposed to click one of the buttons, right? Um...but what do they do? It's not so intuitive any more is it? Now it's absolutely counter-intuitive. If I tell you what you are doing, the context shifts, and suddenly it does become intuitive. So intuitiveness is not just simplicity; it is simplicity and context.Let's look at something that is frequently considered not intuitive: line commands. If I sit someone in front of a black screen with some green text on it and say, ok, find the file called needle.txt they are not going to know what to do. It is not intuitive. If I sit a geek in front of the screen and tell her the same thing, however, it is pretty intuitive; she will simply type ls | grep -i needle or something like that, and the problem will be solved. Now what if it turns out that I didn't sit that geek in front of a unix-like terminal and in fact she's starting at an EFI shell? Well, even that is intuitive to this geek, because she will know commands to try, and commands to try to get help, and sure enough, eventually she would be able to find the document I requested.So really, intuitive is not in the design of something, but in the similar design of a collection of things. It is the basis of knowledge of concepts that are consistent across many applications. And it is consistency of interface design. That is what it is, and don't forget it.


defending the GIMP & Co.

A multimedia-related blog I sometimes read had a post today about how the writer had sketched out an illustration of a [rather silly looking] superhero, and scanned it in so she could trace and colorize it. The blog post was not very good, so I'm not linking to it, but she apparently meant the post to be an Adobe vs. Gimp & Inkscape deal, and Adobe in the end won. She didn't go into detail about what she tried in each application, but she posted the results and Adobe's result was glitzy and full o' bling, whereas GIMP and Inkscape looked raw and simple.OK, so, just because you don't know how to do something in a F/OSS application does not mean that it cannot be done. Ah, I know what you're thinking, "Yes but the fact that she could do it so easily in Photoshop and Illustrator means that they were more intuitive" -- but no, that only means that she was trained on Photoshop & Illustrator so it seems more intuitive to her than GIMP & Inkscape. Put a total moron in front of any of those apps, and nothing is going to seem intuitive except maybe grabbing the pencil icon and drawing some scribbles...if they even can figure out how to open an empty document...And just because something is done in a different way in GIMP or Inkscape, this does not mean it is more complicated than Photoshop. Now, I'm not saying GIMP is better in Photoshop (although it is in the sense of being Free Software) but I am saying that if you are actually trying to say that you cannot achieve the same results with the GIMP and Inkscape as you can with Photoshop and Illustrator, then all you are saying is that you do not know GIMP & Inkscape. To which I tell you, if you want to learn, open up your terminal.app (because I know you're on a Mac and don't try to convince me otherwise) and do a rm -rf /Applications/Photoshop.app and start using GIMP. And if you still can't figure out the differences between the two, go out and purchase a book on the GIMP. You didn't learn Photoshop just by screwing around with it; either someone taught you about gamma levels and curves and layer effects and all those advanced things, or you took a class, or you read a book. Same applies for GIMP.In short: don't approach Free Software as if it's a clone of its closest propreitary equivalent. Give it the respect it deserves and actually take the time to learn it.


Apple Spins It Again

Saw a story on apple.com today that boasts a pic of some Macs and that big-solid-iron-looking UNIX logo that Apple uses in their marketing, and talks about how a science department at USF uses Macs. Specifically:

Combining the power, security, and stability of UNIX with the ease of the Mac interface, Mac OS X provides the ideal platform for scientific research.
To further investigate, I decided to download some of these scientific apps that were running so well on Mac that it inspired, apparently, USF to buy nothing but Apples. Almost without variation, they were all X11 apps. OK, I'm on Apple's X11 mailing list, and I use X11 all day, every day at work. And I know for a fact that if you are using UNIX on a Mac then you are getting NONE of the "ease of the Mac Interface"...and yet this article makes it sound like they've actually gone to great lengths to make working with Unix on the Mac a pleasant and easy experience.Fact: Unix on a Mac is enabled by the X Server running on top of, and in spite of, the Cocoa GUI interface.Fact: There is little to no integration between X11 and Cocoa- there is no copy / paste between the two environments- the Unix apps do not inherit the "ease of the Mac interface" because they are built with QT or GTK and Mac does not do anything to change this via porting or anything -- even though you'd never know if from this article.- no drag and drop between environments- X11 is buggy- The Leopard implementation of virutal desktops ("Spaces") does not deal well with X11So on the surface, Apple is touting their product and championing the "power and stability" of UNIX...but in reality the application that enables you to run the UNIX apps is a mere afterthought for them. My guess as to why USF is using Mac? Um, probably because Apple gave them a ridiculous deal on the machines and who ever does the purchasing doesn't know Mac from Linux from Windows.Give me a good Linux system and load those apps, and experience the ease of the Linux interface, combined with the stability and power of a Unix-Like system, without the overhead of proprietary code, the Cocoa interface, and the vendor lock-in. That's what I say.

I've been trying to ascertain whether or not the Average Joe actually even notices this kind of thing, but I am coming to the belief that in fact yes, they do....and of course I'm talking about integration among different applications on their system. Whilst at work, I get to see a lot of third party Mac apps as well as official Mac apps, and I started taking note of how well the design and the functionality integrated both back to the base system as well as to each other.So..what did I just say? Well let's break it down:APIIf a GUI framework has a strong set of API's for programmers, the programmers will use them. If the API's reach enough of a high-level function, they will greatly add to the sense of consistency on that platform. For instance, the Mac TEXT palette and the COLOR PICKER are both obviously cocoa API's that every programmer can use in their app. And because of this, any time a user looks to pick a font or a color, they always get the same exact dialogue box.BUTTON LOCATIONSThs is the great ideal that no one ever reaches, but the idea is that an OK button or a CANCEL button or whatever, will always be in roughly the same place. Or a BOOKMARKS button or HOME button or whatever.


GIMP 2.6

I tried compiling GIMP 2.6 from source a few nights ago...that didn't happen. But I installed Paldo Linux in a VM mainly just to try out v2.6 and -- wow! As I have posted previously, there are/were some really important features that GIMP needs before it can really be a "drop-in replacement" for the bloated and over-expensive alternatives.

One of the big improvements in v2.6 was the text tool. It has vastly improved. Bounding box, automatic re-wrapping, lots of cool stuff. There is also an overall polish to the entire program -- and the coolest thing is, it's not one of those polishes just for the sake of looking different (Adobe, Apple, I am speaking to youse guys) but they're improvements to make the user experience smoother and more pleasant. And it is. I was very impressed.

This is why I love Free Software. You can really see it developing toward real quality, and no toward bloat or meaningless glitz. Now if only they would switch to Qt4.....


network manager

It is interesting how perception changes.I used to think, partially because everyone around me seemed to insist upon it, that Linux network managers needed work. I never really had a problem with them and really didn't get to test them in robust environments until recently. So, my impression of Linux network managers really is solely based upon releases of Linux distros on or after Fedora 9 or Slackware 12.1 (to give you an idea of time frame).Lately I have been in my own apartment's wireless and wired network, my office's wireless and wired network, my lab's wireless and wired network, and a wireless network at a cafe. And I don't mean I spend 5 hours on one and then another 5 hours on another, I mean I take my computers and walk from one building to another, I sit down, I plug in, I unplug, I walk to another place, I plug in, plug in, unplug, walk to another room, plug in, go out for coffee unplugged, come back, plug in.....you get the idea. Rigorous testing by way of first-hand experience.And you know what? I would take the few Linux network managers I've been using over the Mac OS network manager any day. Hands down. I always assumed the Mac network manager worked well and I assumed that its quality was what people were shooting for. And maybe it was -- I don't know what the Windows one is like so can't compare, nor did I have experience with previous Linux versions -- but if that is the case, they have achieved their goal and surpassed it.So..what's wrong with the Mac network manager?Well... nothing, as such.....it's just that there is no choice with it. You have to use that network manager, like it or not, and if you don't like certain aspects about it, then you're stuck. So what do I not like about it? Let me count the ways:1. How the heck do I set the HOSTNAME and DOMAINNAME of my computer and get my choices to be reflected in the System Prefs > Network ? What is this deal about "computer name" and how does it differ from HOSTNAME? I assume it's got a lot to do with Bonjour, but how about letting me know that?2. How can I stop Airport from remembering every network I ever join without going in and manually deleting it from its "preferred list" ? I can lock the preferences and that helps but if you unlock it for any other reason, it brings in the network you're on. It turns into so many clicks and things to remember it's embarrassing. The Nokia N800's nm handles this PERFECTLY.3. How many clicks does it take for me to turn ON my wifi card but have it NOT assigned to an essid? And how obtusely does the workaround for the lack of that function have to be? The answer is a lot of clicks, and the work around is ridiculous. You have to go into the network system prefs, clear the auto-join list so it's empty, then LOCK your system prefs, go back out, turn off the wifi card, turn it back on, then go back in to the system prefs and you can unlock the network pref pane again and do whatever there you need to do. I get to this on 28 computers once every day. It is not fun. And no, there is no combination that I can find of ifconfig essid xxxxx that will do this properly, mainly because of that stupid self-populating tyrannical auto-join list. 4. Passwords. Passwords. If I set a password on my Airport Brand wireless router, the password is ONE thing on all Mac systems, but entirely different (I kid you not) on Linux systems. You have to, on a Mac with the Mac-only GUI, go into the router and generate the "real" password that you can then use on your Linux machines. Is this brilliant? or stupid? I think it's the latter.5. GUI. To configure the Airport brand router, you think they could have developed a system agnostic setup tool...like, in a browser. You know, the way the screwball Netgear people do. And Netgear ain't exactly the most intelligent group of product developers I've ever encountered, either. Yet Apple can seem to only make a configuration tool for Darwin/Cocoa and there's probably some Windows version out there too. But come on, do they really not know that there are other OS's out there? My eeePC is the one computer in my setup that is light enough and powerful enough and small enough to really be a good little companion as I admister this little network. But like it or not, there are times when I have to lug around a Mac simply to make some small adjustment. It's stupid.That's about it I think... although really there's a lot more. Unplugging and plugging in different networks KILLS the Mac network manager. It just can't deal with it and loves to default to a self-assigned IP. And so on, and so on.So...good job KNetworkManager or whatever it's called ,and even the gnome one, and probably wicd too. THey're workign for me!


No, I have no idea what I am doing when setting up a sound editing environment on Linux. Throw anything about video at me, and I'm good; I understand the concerns and variables involved. And editing Audio I'm good with...but I don't know anything about real-time kernels or real-time access, or xruns, or whatever. Eventually I will learn...but for now I have quite a bit of editing to do, so the priority it to get a working environment set up....it's either that or use Logic Studio on a Mac...and I don't want to do that.The problem was that playback was completely pointless, due to skipping and crackling and general ugliness. I had a notion that this was due to the real time kernel or lack thereof or lack of real time access to the sound card....but I am just throwing out big words that kind of feel like they might be a good diagnosis and have no real technical basis for these theories. The point remained, however, that in order to edit sound I needed pristine playback, so I set about trying to achieve this.After a bit of research and asking around in IRC, I came up with these settings, both relating to the Jack sound server, and they seem to be working quite well. This is probably very specific for my system, so I have no idea if this will be helpful to anyone else, but at least you might get an idea of important variables to ask someone about if you are having problems.See screenshots below.For the record: I tried installing Studio 64, Musix, StartCom MultiMedia edition...and none of them really installed that well. Default to Ubuntu Studio (hardy heron) and...couldn't get the sound to work properly regardless of settings, couldn't get wifi card easily detected, it has no multiple desktops by default......in short, it was going to be a time investment in getting the system set up and I needed a quick fix. So I pulled out my old disc of Ubuntu Studio (Feisty, I think...could be gutsy), installed it, and was up and running in almost no time. The little setup I did have to do are here:(please note that the items highlighted in yellow indicate the non-default settings)


su + environment

Everyone knows that$ su fubar<password>switches user over to, in this case, a user named fubar.However, this doesn't bring along with it fubar's user environment; so, for instance, if you have su'd over to fubar and an app you are using needs to write a file into /home/fubar/.kde file, then that app will not be able to do it because you are fubar but you are not in fubar's user environment.OK, so to switch over to fubar + fubar's world, you must do this:# su - fubar<password>Note the - (dash) between the su and the fubar Now you can do everything the user fubar would normally be able to do without any unexpected permission errors.(I have to thank Popey for that tip; he saved my life with it while I was flirting with postfix. I was amazed I'd never encountered that seemingly basic yet vital distinction in all the beginning UNIX books and courses I've taken........)


Spotlight Search

I never liked Spotlight, the Mac search tool. I use it basically just to launch Applications when Quicksilver is not available.

I always suspected it was not being accurate...or at least not relevant. And I've tweaked it and set up Do-Not-Search folders and so on and so on..but in terms of the concept of a Sematic Desktop, Spotlight just doesn't seem to be quite working for me.

Today it really didn't work for me. Notice the discrepancy in the screenshots.


Rage Against the DRM

I'm kind of weird about artistic integrity or whatever. I like it, even though I'm not necessarily convinced it exists all that much. But when someone suggested to me that If I Like Punk Music and I'm An Anarchist then I'd Love Rage Against The Machine, I figured, Ok, I'll try it.The real question is, does RATM pass the iTunes Store test?No, they fail. Rage Against the Machine.....but let your music be DRM'd and sold on the iTunes music store. No thanks.



I spent the last two days of last week trying to get a box set up as an email server. The problem with this server (non-Linux OS) was that apparently the GUI tools provided aren't really designed to...well, work. While you can set up Users and Groups through the GUI tools, apparently important functions, like creating a home directory for a user, is broken. Not that this is documented any where; in fact, evidence points strongly that the GUI tool WILL create a home directory. There's a button marked "Create Home Now" which, when pressed, says that "Home directory creation will be attempted on save", but when you click Save (by the way, that's a lot of clicking I've done for a very very common server task), no home directory is created. No sign of error, no warning...it just doesn't exist. You can reboot, you can log in as root, you can do whatever you can think of ... but the GUI Says No.The GUI's email server setup also seems to be broken. You can put check marks in as many boxes as you want, but it's not going to set up your server for email no matter what.Also, none of these GUI tools can be accessed via SSH as they are not written for X but for a proprietary GUI interface. Since I don't have physical access to the box, in order to attempt do this configuration, I had to VNC to the server and have a monstrous screenshare session to use the GUI tools.Long story short? Monday I came in with renewed vigour, sat down, and broke out some whtie papers on postfix. A simple SSH session, and I'm on the server. The postfix configuration was pretty easy, especially considering I'd never done it before. I don't pretend to know WHAT I did, but I read the how-to's and sort of get a feeling for what all the config lines were referring to. I plugged in the right information, and then issued the final sudo postfix start command and without much fanfare or eye candy postfix is up and running. I grab a port of one of my favorite email apps, pine, install it, start it up, and in no time I am sending and receiving email. All told, this only took a few hours, compared to the two days of trying to navigate through the GUI tools which, in the end, didn't even do the job they were expected to do.I'm no expert on setting up email servers or servers in general; I'm still very much a noob at it and I have a lot to learn. But let's face it, a server shoud be simple, sleek, and well-tuned. It shouldn't require a display to operate. It doesn't need eye candy. It just needs tools that work. It just so happens, I am finding, that the tools that are working best start with a GNU or end with a *nix (or *nux).



I'm in charge of a server sitting off in some building somewhere, and one of the primary means of accessing it for me, unlike most people administering a server, is NOT an ssh session but a VNC screenshare session. Why? Because all the tools built in to the server require proprietary GUI tools. The good news is that the GUI tools are pretty and make you want to lick the screen (or so the marketing tells me), the bad news is that they don't actually work. (No, I mean, they really don't work; they don't do what they appear to be created to do...they just shipped incomplete apps.)Figure 1 are my GUI apps. Server Admin is like iTunes for your Server Rack; it aggregates all your servers into one big window with lots of buttons and tabbed menus and pretty sparkly gelatinesque LED lights. You can start and stop services here, but don't try to use some of these services, because it turns out that they can't actually be configured through this app (in spite of having configuration options available).The Workgroup Manager is designed to organize the Users and Groups, but the "Create Home Button" doesn't work and you have to come up with a creative way around its state of brokenness. Different admins have different ways of solving the problem, so just ask around.Server Preferences is sort of a bastard child app that sometimes overrides other apps' settings, some times will not...there doesn't seem to be a definitive logic to when you must use Server Prefs vs. Server Admin; you just wait for the warning dialogue box and do what it tells you.And then there's the /Applications folder, which will almost certainly provide me with endless amounts of important apps for administering my server. See Figure 2 for all the powerful tools made available to me. My favourite so far:Front Row - the AppleTV-like front end allowing me to access all the media on my server. No, not over a network -- while I'm logged in over VNC. If I get too frustrated with the broken GUI configuration apps, I can just switch over to Front Row and enjoy watching a movie over VNC. Brilliant!DVD Player - although I don't have physical access to the server and can't put a DVD into it, I could, I guess, in theory, somehow watch a DVD, again, over VNC. Again, a solid addition to an already rock solid server OS.iTunes - in case I need to put mp3s on my iPod, via VNC.....without physical access to the box..... um, I don't know how that would work. i guess if I had a really really long cable. But also, I can listen to mp3s or internet radio...no, not streaming over my network as if this was a media server, because iTunes can't do that, but via VNC because the full-screen screensharing session just doesn't take enough bandwidth as it is.iSync - an all important app that no one knows how to use on the consumer version OS makes a much needed appearance on the Server OS as well. There's no bluetooth on this company's server models, so iSync won't do much for that, and again with no physical access I won't be using it over a cable either...but nevertheless, it's a good app to have installed by default.And who could ever live with the already annoying and pointless Dashboard app (the widget viewer that takes over your entire screen)? When I'm administering the server, I frequently want to trigger Dashboard to check the weather. Unfortunately the key binding for Dashboard doesn't work over the VNC session, but I can always just access it graphically. Well worth having on a server OS. Debian and Redhat, take notes!Yes, this is a good server setup I have here. I don't think I'll ever just open up a terminal and ssh into a server again. If I can't VNC with a full screenshare, I want nothing to do with it.


howto read man pages

Lots of variables affect a man page; how is the program structured? how will the man page be structured? how detailed will the man page be? Not always easy to read, and not always terribly helpful, a man page is nevertheless your first stop when you're trying to figure out an app.So, let's examine the typical structural elements of a man page so that we might be able to read them a little bit easier.section: NAMEThe first portion is the NAME of the program, which you will already know, having typed in man <name>...but what you may not know is the exact function of the program. Ideally, the NAME field will provide a helpful description of what the command does. Examples:

NAME	   strings - find the printable strings in a object, or other binary, file
NAME	 netstat -- show network status
NAME	   SSL - OpenSSL SSL/TLS library

Those all seem pretty clear, right? Look again! The last one, for SSL, is one idiosyncrasy of man pages: some man pages are not about applications. Some man pages are for libraries, which are important for some people to know, but it may not be what you are looking for. For instance, if you'd been told by your boss to set up an SSL key and request for a server, you might sit down and logically type man SSL just to see where to begin. Trouble is, this is a library that helps the SSL process work -- not the program you need to use to generate the key. The program you are really looking for is openSSL but to the untrained eye, this man page would be as good as any for information about SSL, and you'd end up being quite consfused.So how would you know this was not the right man page? Well, the word "library" from now on will tip you off, right? But also notice that at the very top of the man page, the ssl has a (3) after it. This indicates that it's from section 3 of man pages, and section 3 happens to be reserved for Subroutines.... so you'd know that SSL was not the primary command you're looking for.What you would then do is scroll all the way down the man page (if your terminal recognizes vim commands, use control-F, or simply type a capital-G) and you'll see a SEE ALSO section. This lists a man page you should read called openSSL(1).....and, you guessed it, the (1) denotes a General Command.... So you'd hit Q to quit the man page, and type in man openssl to read all about openssl....for all the good it will do you.section: SYNOPSISLet's continue with the openSSL example, because it's a fine example of a very complex program with good documentation that is nevertheless practically useless to someone who doesn't know what SSL is or how to use it...The SYNOPSIS section is where the man page tells you the order in which you are supposed to string together various commands and options. openSSL, for instance, is the big umbrella command under which a number of different and significant other commands reside. This is why in its synopsis it shows this:

SYNOPSIS	   openssl command [ command_opts ] [ command_args ]	   openssl [ list-standard-commands | list-message-digest-commands | list-cipher-	   commands ]	   openssl no-XXX [ arbitrary options ]

To which I say.....WTF????OK, so what it's telling us here is that to use this application, you first enter the name of the program -- simple: opensslthen you enter the "command" which can be found lower in the man page listed under the "command" heading:

	   STANDARD COMMANDS	   asn1parse Parse an ASN.1 sequence.	   ca		Certificate Authority (CA) Management.	   ciphers   Cipher Suite Description Determination.	   dsa	   DSA Data Management.	   gendsa	Generation of DSA Parameters.	   genrsa	Generation of RSA Parameters.

I abbreviated that for sake of space; there are a lot of commands available under the openSSL application. Which one do you use for what you think you are trying to do? This is where many man pages fail; they are not always (or often?) written for someone completely new to the command. In many ways, you must know what you need to have happen and even know how to do it, you just need some clarification on the exact sytax or spelling of the command. This means that when someone says "RTFM" what they really mean is "Read a Few Books on the Subject and Then Google for It and Post in Some Forums and then Give Up and take a College Level Course".But let's assume you're familiar enough with, say, the theory of SSL and maybe you've listened to my openGPG tutorial and are therefore familiar with the idea of keys and things like that. So we'll wade through this openSSL stuff.So, the way I like to think of most commands is kind of in a DOM tree format, or if you were an English major like myself, in a traditional Outline format. A little something like this:

CLI Program Name	 Command 1		   Option 1_1				  Arguments		   Options 2_1				  Arguments	 Command 2		   Option 2_1				  Arguments

so in the openSSL example:

openssl					#  =CLI program	 genrsa				# =command 1	 -rand				   # =command 2		  ../fu.pdf		  # =option 2_1		  :.../bar.txt	   # =option 2_2

How do you know what commands to string together and how they want their options to be given? Well that's the RTFM part of the equation, and this man page isn't going to let you in on that secret. Some do. Let's look at the tar man page, which I think is a really well written man page (thank you, FSF):

EXAMPLES	   tar -cf archive.tar foo bar			  # Create archive.tar from files foo and bar.	   tar -tvf archive.tar			  # List all files in archive.tar verbosely.	   tar -xf archive.tar			  # Extract all files from archive.tar.

Wow, examples!? What a concept. How much clearer could a man page be? Another cool thing about many FSF man pages are that they offer additional manual information as a textinfo file:

SEE ALSO	   The full documentation for tar is maintained as a  Texinfo  manual.   If	   the  info and tar programs are properly installed at your site, the com‐	   mand			  info tar	   should give you access to the complete manual.

Suddenly the term "RTFM" is starting to mean something.But some man pages aren't as pleasantly assembled, and such is the case of openSSL. Fortunately, there is a trick to issuing CLI programs a little bit at a time, which will render feedback from the program, giving you hints toward what it needs next.For instance if we enter:

openssl genrsa -rand

then we get this response:

usage: genrsa [args] [numbits] -des			encrypt the generated key with DES in cbc mode -des3		   encrypt the generated key with DES in ede cbc mode (168 bit key) -aes128, -aes192, -aes256				 encrypt PEM output with cbc aes -camellia128, -camellia192, -camellia256				 encrypt PEM output with cbc camellia -out file	   output the key to 'file -passout arg	output file pass phrase source -f4			 use F4 (0x10001) for the E value -3			  use 3 for the E value -engine e	   use engine e, possibly a hardware device. -rand file:file:...				 load the file (or the files in the directory) into				 the random number generator

this is a lot of information, some of it is important, some of it isn't. It does tell us, if we're familiar enough with encryption, that we have the option to encrypt the key with -des3 (168 bit key). Well, more bits are better than fewer bits, right? so we'll throw that in the mix.Also, it tells us HOW the -rand switch wants to be formatted as well as what it does. It says right at the end of the above code block that -rand wants the filenames separated by colons; and that the purpose of this switch is to load files into the random number generator. Again, if we're familiar enough with encryption to understand that computer can't really be Random, we can see that openSSL attempts to use unexpected files from you, an irrational and spontaneous human, as the basis for generating a number. So we can throw that into the mix too:

openssl genrsa -des3 -rand fu.txt:bar.pdf:fubar.txt

And this would generate a key, ask for you to enter a passphrase, and deliver the key to standard output; ie, it would dump the key out onto your screen.Again, if you know about openSSL or just the whole key thing in general -- enough to know that you need to preserve thsi key, you might copy and paste this key into a text file and dump it somewhere useful. But if you to do that, you'd probably surmise that this is more efficient:

openssl genrsa -des3 -rand fu.txt:bar.pdf:fubar.txt > /usr/local/apache/conf/ssl.key/klaatuwebserver.key

And you'd be done, in theory! You've successfully decrypted a man page.Well, almost.I can't find anywhere in the openSSL man page how to set the key to be 1024 rather than the default 512 bits long. This is, for me, where Google and Research come into play. If you read up enough on openSSL -- especially if you're purchasing a certificate from Verisign or Entrust or NigerianCertsIncorporated or some trustworthy place like that, you'll probably come across helpful information on their site, and you'd eventually learn that you can add a bit length switch in the command like so (note the addition of 1024 just before the redirection):

openssl genrsa -des3 -rand fu.txt:bar.pdf:fubar.txt 1024 > /usr/local/apache/conf/ssl.key/klaatuwebserver.key

And THAT would be a pretty well constructed, complete openSSL command. Took us long enough to get there, I know. I think a few examples would be a great addition to the openSSL man page, an many man pages but maybe its just me.section: WHAT HAVE WE LEARNED??So, we've learned a few important things:1. some man pages are just inadequate, sometime because you don't know enough to be trying to do something as advanced as you are trying and need to study some more, and other times because its badly writtena. you can email the author of the man page a revision of the man page if it is really bad and you can do better; s/he might not take you up on the offer, but then again, s/he might!2. man pages do tell you the structure of a command. you may not know what you need to put in, but once you do know, you will know in what order the CLI program wants it all in.3. man pages tell you what options are available for a CLI program4. sometimes it's easier to read a man page as a normal text document in a traditional word processing app. To get a man page into .txt form, just do this:

man mplayer > mplayerManPages.txt

5. Taking a command a little bit at a time will hint you along to completion.6. research and studying are your friends.section: CONCLUSIONThis stuff can get complex. Better stay on Windoze or Mac. Avoid this Linux and Unix and BDS stuff at all costs. But if you must do *nix, enjoy the addiction!