jb… a weblog by Jonathan Buys

Visual Thinking

January 12, 2009

The ability to visualize a complex system is key to a real understanding of it. To me, this applies to computers and technology. To Daniel Tammet, this applies to numbers and letters, on a far, far more vast scale. Daniel is a savant, an extraordinary person who pushes the boundaries of what we believe we know about human capability and learning. What he has to say rings a bell, because how he views his numbers and letters is similar to how I understand the inner workings of a computer. I can visualize what is going on, or what I want to happen. I can do this because I’ve worked and studied the computer field for years, and because I enjoy the work. What I’ve found is that there is a distinct difference between understanding the technology and memorizing what happens when you click a button.

If you work in the tech industry, memorizing technology is a bad idea. Technology changes, it evolves and grows. It is better to understand the attitudes and purpose of the technology. Networking is a great example. I started out learning about wave propagation theory in the Navy, and about how we could get data from the size, shape, or velocity of the wave. Later, when I went on to learn TCP/IP networking, I found that the data was still transmitted the same way, as 0 or 1, but how it was decoded was different. Then the stack, then the applications, then scripting, and now, I’m learning a high level programming language, and its finally starting to click.

The thing is, I couldn’t have learned these skills if I didn’t have a visual image in my mind about how it worked under the gloss of the computer screen. I can’t imagine trying to use a computer, much less program one, without at least a passing knowledge of what happens when you click that mouse.

Then again, to 99.999% of people, it doesn’t matter, and really shouldn’t. Computers should be so easy to use that you don’t have to learn a new skill to use one effectively. They should be as self explanatory as toasters. Unfortunately, they are not. Windows 7 is coming out this year some time, and it will sport a new user interface which its users will have to learn all over again. Many, many of them will simply try to re-memorize what button does what, and what order to click things in. You shouldn’t have to learn why the computer works the way it does, but it certainly doesn’t hurt. In the end, it makes things much easier too.


New Years Day

January 1, 2009

I love January 1st. It’s not that this day is really any different from any other day, other than having the day off. Its the mental association that goes along with the start of a new year. The calendar restarts, and it seems like a fresh clean slate to build the rest of the year upon. I like resolutions, and I kept mine last year, so I’m going to try to keep another one this year. Last year I resolved to learn how to swim laps, and I did. I still swim fairly regularly now, and am actually looking forward to increasing how often I go swimming.

When I return to work tomorrow, there will be no acknowledgment of the new years significance, but it will be in my mind. A fresh start, a clean slate, and another chance to build my life to be whatever I dream it can be.


Songbird Media Player

December 29, 2008

Songbird is a very young product with a very bright future. The Mozilla based media player has come a long way since first releasing a beta, unfortunately to unseat the ruling titan iTunes, Songbird still has a very long ways to go. Songbird is open source, packed with features, and seemingly infinitely expandable through various add-ons and web integration. Also, like the rest of the Mozilla suite, Songbird is cross-platform, a point that becomes glaringly obvious the moment the app is launched.

First the good points. Songbird is a lot of fun! On first launch, Songbird asks if you would like to import your existing iTunes library. I was able to import mine without a problem, including DRM’d tracks and movies. Songbird cannot play the movies, but it has no problem playing your iTunes purchased music. The mashTape extension gives quick and easy access to information from across the web concerning the currently playing track. It will pull up the artists biography, discography, reviews, news, photos, and videos. Another interesting extension is integration with the SeeqPod website. Selecting the SeeqPod Search item from the left pane allows you to search the Internet for songs, and then download them to your library with a right click. The search is a bit slow, especially when Songbird attempts to verify all of the links. Certainly a lot of fun, the SeeqPod extension seems to be of questionable legality.

Songbird has cleaned up their interface quite a bit, and with the exception of the play and volume controls being at the bottom instead of the top, the default “feather” (or skin) looks fairly similar to iTunes. As a matter of fact, there are a couple of iTunes skins for Songbird, but they either were not compatible with Songbird 1.0, or looked nothing like the real iTunes. The Mini Player view is reminiscent of some of the older media players, a very compact interface that I really enjoy.

For all the fun Songbird is, iTunes will remain my media player of choice for now. While Songbird does makes advances with its interface, no skin will replace not having a native mac UI. Something in the way the app feels while using it gives it away as being a port of a “multi-platform” application. A small and rather insignificant example of this is how the “About Songbird…” menu option opens a sheet covering the library with the software license agreement. A normal mac citizen would have another window, most likely with the applications icon centered towards the top, followed by the applications version, and then maybe some other interesting facts about it. A quick look through my other open applications (Mail, iChat, Safari, TextMate, and Yojimbo) shows a consistency that Songbird lacks. This is a small example, but one that shows the lack of consistency with standard Mac UIs that is pervasive throughout the application.

Songbird also seems to consistently take up quite a bit more resources than iTunes. Songbird uses approximately 20-25% cpu during playback, and ranges from 100 - 150MB persistent RAM size. Compare this to iTunes which uses between 4 - 7% cpu and 80-100MB of RAM. Songbird takes longer to launch, and adds to the resource utilization as more add-ons are installed and used.

Songbird seems like an application that missed its mark. With all of its web enabled functionality, it still cannot perform some basic tasks, like playing a movie or video file, or importing a CD. Given that this is a 1.0 release, I’m looking forward to some great things from this project. Once an open source app gains steam, advances can be made very quickly. I’d like to see a faster start time (how about one bounce in the dock?), a native user interface, and a lot of work done on the back end to reduce resource utilization. Given that there are really not a lot of players in this market, I’m excited to see an iTunes competitor. I just hope that Songbird’s goal was not to be a poor iTunes clone.


Merry Christmas

December 25, 2008

“And the Grinch, with his Grinch-feet ice cold in the snow, stood puzzling and puzzling, how could it be so? Christmas came without ribbons. It came without tags. It came without packages, boxes or bags. And he puzzled and puzzled ‘till his puzzler was sore. Then the Grinch thought of something he hadn’t before. What if Christmas, he thought, doesn’t come from a store. What if Christmas, perhaps, means a little bit more.”

—Dr. Seuss (1904-1991); writer, cartoonist


MobileMe is not a Blogging Platform

December 24, 2008

I thought I’d try OSZen on MobileMe yesterday, to see if I could consolidate even more of my online accounts. Unfortunately, the limitations of both iWeb and RapidWeaver became quickly apparent. I pointed 1and1’s DNS servers at MobileMe, and uploaded an iWeb site. I liked the theme, but the first thing that struck me as odd was the URL. In iWeb I configured the site’s name to be OSZen, and to use the Blog page as the home page, but the URL turned out to be http://oszen.net/OSZen/blog/blog.html which for the home page was just ridiculous.

Next, I changed the name of the site to “writing”, and wound up with a home page URL of http://oszen.net/writing/blog/blog.html. Again, ridiculous. I’m assuming that this is Apple’s way of allowing more than one iWeb site, but I wish that it had better support for personal domain names.

The other thing that really bothered me about iWeb’s blogging engine was how each new blog post was formatted with the default theme’s pictures and text. Meaning that for each post I had to delete the picture and change the layout of the page. This equates to worrying far more about how the site looks instead of concentrating on writing.

These two small items were all it took for me to switch the DNS setting for OSZen back to 1and1, and back to the comforting ease of Wordpress. The great thing about Wordpress is that it’s meant for writing and self publishing, and it does it very well. The more recent ability to update itself and it’s plugins only adds to the ease of maintaining your own Wordpress installation. Also, I’ve got MarsEdit, which rocks, and means that I almost never have to actually get into the admin interface of Wordpress. I do all my writing for OSZen from an application that was designed for writing.

I thought it might be fun, since I’m consolidating all of my online accounts and pruning them down, but the truth of the matter is, web hosting at MobileMe is for sharing your family photos with Grandma back home, it’s not a serious blogging platform.


The Coffee Cup

December 24, 2008

I’ve had this coffee cup on my desk at work for the past year or so now. It’s just a plain white cup, with the Ubuntu logo on it. I got it from CafePress. I loved it, for one, because the Ubuntu logo is great. Best Linux logo out there. I also loved it because as I was thinking about how to solve one problem or another, the cup was normally there with hot coffee waiting to be sipped as I pondered the solutions. Today I picked up the cup, walked towards the coffee pot, and dropped the cup. My wonderful Ubuntu coffee cup shattered as it hit the floor.

I loved that cup, so I didn’t want to break it. However, it seems appropriate, as today I also switched back to Windows at work. I’ve been running Ubuntu as my primary desktop at work for several months, and running XP in VirtualBox when needed. Lately, I’ve been needing the VM more and more, as I do more diagramming and planning in VMWare Infrastructure Client and Visio, both Microsoft centric applications. Also, rumor has it that in the next couple of months we will be replacing our aging Lotus Notes servers with Microsoft’s Exchange 2007. IBM released a Linux native Notes client which supports Ubuntu, and really works great. When we made the switch to Exchange, I was hoping to use the Evolution client that comes with Ubuntu. Unfortunately, Microsoft changed the MAPI standard for communicating with the server in Exchange 2007, and there is no supported Linux client. Which left me with two choices. Run Outlook in my VM, or moved everything back to Windows and conform to company standards. I debated this in my head for a couple of weeks, but in the past three days I’ve had X crash on me three times in Ubuntu. When X crashes, it takes all of my X applications with it, along with the data… it’s like Windows ‘95 all over again.

X crashing for no apparent reason was the nail in the coffin for me. I moved all my data over with a USB drive, and Monday I’ll format the Linux partition and fdisk /mbr from the XP recovery console.

I’ve really enjoyed using Linux, but honestly, it’s kind of relieving to be back in a supported environment again. There are still quite a few desktop tools missing from Ubuntu that are available on Macs and Windows. My current favorite so far is Evernote, with the aforementioned Visio running a close second. Launchy is nice… not as nice as Quicksilver or Gnome-Do, but nice.

Mentioning Gnome-Do brings up another point. Gnome-Do has been acting up lately, catching on something or other and eating up 99% CPU. The developers are aware of the problem, and are working on a solution. However, using Gnome-Do as an example, the very idea of what they are doing with “Release Early, Release Often”, completely goes against the grain of a business desktop. Any Linux desktop will contain beta-quality code, and when I’m relying on a computer to do my job, I can’t have it acting as a beta tester. Ubuntu is doing lots of cool stuff with 3D desktops and cutting edge software, but I don’t need it to be cool, I need it to work. Reliably.

One last note about why I’m not using Ubuntu at work any more. My computer is a Dell laptop, mostly used in a docking station, attached to a 22 inch monitor. I noticed after a while that my laptop was getting really hot in the docking station, and I couldn’t tell if Ubuntu was reading the docking station correctly or if it was displaying on both the internal monitor and the external monitor. When I popped the lid on the laptop, the monitor either came on suddenly or was on the entire time, and the keyboard was hot to the touch. In the Gnome “Screen Resolution” preferences I found that I could turn the monitor off from there, and I think that solved that issue, but I’m not sure. I’d hate to think that I was actually causing the hardware harm by running linux on it. I don’t want to spread FUD, but if its true, its true. When I’m running Windows, I don’t have that problem at all.

So, now I’m looking for a new coffee cup… something to inspire me, and be my companion in my little beige box. Whatever the new design is, it needs to be something that will last, something reliable, and something that’s in it for the long haul. Ubuntu has been good to me, both the OS, and the coffee cup, but in the end, they both broke, and I’ve got to move on.


How to Fix Linux

December 24, 2008

It’s been nine years since I first installed Linux on a computer of mine. It didn’t last long back then, since I actually wanted to use the computer for surfing the web, sending email, and playing games. Linux has come a long way since then, and now it’s a reliable desktop system at work. However, my system is reliable (and enjoyable) because I am a geek, and I know exactly what it needs to make it run smooth.

For example, I use a dual screen set up with Xrandr, and it works well, especially with the new composting ability in Gnome 2.22. Getting xrandr to work properly required me to edit a few lines in the xorg.conf file to allow for a large maximum desktop size. Compare this with how Windows deals with dual monitors. You plug it in, turn it on, enable it in the preferences, and there you go. Now compare that with how Macs handle dual monitors. You plug in another monitor and it works… bottom line.

I realize that there are a lot of valid reasons for this. Proprietary hardware, lack of documentation, legacy code, etc, etc, etc…

I also realize that 99% of people who use a computer do not care.

Computers should be like appliances… plug them in, turn them on, and start using them. I like the toaster analogy. I don’t care how my toaster works. I just want it to make my toast in the morning. I don’t care if I have the “freedom” to take the toaster apart and study the timing mechanisem and re-create it in yet another toaster. I just want toast. I use Linux at work because it is an amazing server. I’ve seen Linux servers keep on trucking through some environments that would kill another OS. I use Linux on my laptop at work becuase it integrates in with my workflow and scripting perfectly. I don’t use it for the freedom, I use it because it works well for my environment. My environment however, is very different from the average home user.

If Linux is ever going to take hold it needs to learn a few things from Apple. Here are a few points that will bring Linux onto Mom and Dad’s desk.

  1. Own the hardware. Apple controls all aspects of its hardware/software relationship. I’m not saying that a particular Linux distro would only be able to be installed on whatever vendors hardware, but I’m saying that a hardware vendor should adopt Linux and fully develop the OS in house to support its hardware.

  2. Manically control the distro. The open source nature of Linux makes this very difficult, but it also makes Linux feel… disjointed. This goes hand in hand with point 1, develop the hardware and software in tandem to support each other. Release the code as GPL, sure… give it back to the community, but control what goes into the distro and develop it in-house. Linux has a bad habit of adding features because it can. Compiz has hundreds of options for rediculous visual features that no one needs (and a few that everyone does need!), and which really distract from using the computer. Another example: Do you think KDE 4.0 would have made it past the desk of Steve Jobs? Can you imagine what that conversation would have been like? Which leads me to my next point:

  3. Appoint someone Grand High Poomba. Someone needs to be there to say “No”. Someone who will say, yea, that’s a great idea, but we are not going to do that in this distro. At times I think that Mark Shuttleworth is that guy… and then there are other times when he decides to ship every six months if Ubuntu is ready or not. Shuttleworth could be that guy.

  4. Provide the end to end user experience. When I pop open the lid of my laptop, I expect to be able to start using it within seconds. When I close the lid, I expect the laptop to go to sleep and wait for me to need it again. When the hardware is fused with the software, and features are controlled and perfected, the result is a very fluid, intuitive experience that brings the users back.

The last item I’d love to see from Linux is to stop adding new features. Seriously, stop adding new, untested, beta quality code and spend some time perfecting what is already there. Fix what you have first. Then, and only then start adding new features.

Linux, we’ve come a long ways, but we’ve still got a long ways to go.


AutoYast

December 24, 2008

I wrote this last year and never posted it. I’m glad I found it and can post it now.

One of the projects I’ve been working on in the past week has been a rapid deployment server for SLES 9. I would have liked to deploy SLES 10, but we are constrained by our application requirements. Novell has done a great job at making it easy to deploy SLES or SLED using their Autoinstall and Installation Server options available through YaST. Using Autoinstall, YaST steps you through the options required to generate an xml file, this xml file is read by YaST during system install and automates the process. To build a network installation source, the contents of the CDs or DVD need to be copied to the hard drive, preserving symbolic links. YaSTs Installation Server makes this easy, and also makes “slipstreaming” (to borrow a Windows term) a service pack into the install source automatic. I’ve built the network install source both ways, and I prefer using YaST to do it for me.

Even with all this being said, YaST (in SLES 9) is still missing some features that require me to edit the xml file directly. The most important feature it’s missing, which they included in SLES 10, is the ability to create LVM volumes during partitioning. Not to say that it’s not possible, it just requires editing the xml source file. Using a little trail and error, I was able to partition the drive with a 200MB /boot (too big, I know), a 2GB swap, and then partition the rest of the drive as LVM, and then mount /, /var, /opt, /usr, /tmp, /home, and /work inside the lvm. Works like a charm. If you need a working autoinst.xml file, you can download mine here.

This setup is great, but it required me to boot off of the CD, and then enter a long install=nfs://bla bla bla/bla bla autoyast=nfs://blalbalba line at boot time. To really make the system work, I needed network booting for full automation. I found a great walk through in this pdf, which surprisingly enough, worked for me the first time. I had to install tftp, syslinux, and dhcp-server rpms, then edit a couple of files, move a couple of things, really no big deal.

Now, I’m ready. When we get 100+ servers in, which I’m told I’ll have 7 days to install, I’ll be able to say “what would you like me to do with the rest of the time?”


Build Something Better

December 19, 2008

What would it take to change computers? What would it take to build something truly revolutionary in a time where most of the design philosophy of a computer is taken for granted?

I spend an inordinate amount of time thinking about ways to make computers better. Much of that thought is dedicated to software, but an equal amount of daydreaming is allocated to hardware. In my mind, the two go together like peas and carrots, ying and yang. A couple of years ago I wrote a college paper that talked about the UMPC market, which has now evolved into netbooks. I couldn’t stand the UMPC interface or hardware, but something about the idea of a very small, very portable computer appealed to me. Massive amounts of information, instantly available, wherever you are. I took the ideas of tablet PCs and UMPCs and designed something I called the FarmDog.

FarmDog was a tablet PC with an OS that ran off of a removable flash drive. The OS ran off of that drive, but all applications and user data resided on a hard drive, which was also removable. The idea was that you could keep your OS and your data completely separate, and also make it very, very easy to back up your system. Upgrading to a new operating system would involve buying a new chip from the store, shutting down the PC, putting in the new chip, and restarting the PC. You could switch between OS’s whenever you like, so if one is giving you problems you could go back to a previous revision.

A second part of the FarmDog was the dock. Normally, when you were running around with your PC, it acted as a tablet. However, when you put FarmDog in the dock (vertically, I didn’t imagine it being docked as a widescreen.) you had the setup of a regular desktop computer. Keyboard, mouse, etc… the main difference with the FarmDog dock was the automatic drive duplication. Now, we would probably want to implement something like Apple’s Time Machine, but at the time, I was thinking of duplicating the entire data drive to an external disk every time the PC was docked. This would keep a good backup of your applications and data, just in case.

I believe that the secret to a great consumer computer is a tight bond [between] software and hardware, coupled with great design in both. Apple has this just about nailed with their new MacBooks, but I’m still left wondering, how could we build something better, something different. I think FarmDog could be the start of something, I just wish I had the funds to build it.


Account Pruning

December 19, 2008

I’m a geek. Understanding that little fact puts me a little closer to being in touch with myself, and understanding that I’ve got a habit of trying out every new service or technology that comes along. That’s fun, but in the case of online services, I wind up with accounts all over the place. So, the past few days I’ve been pruning my online accounts down to what I really need.

email

I started out with AOL in the ’90s, and quickly learned that AOL masked the rest of the Internet, and that all I needed was a connection and a real browser. From there, I went to Hotmail, and stuck with Hotmail for several years, up until the time I bought my first Mac. Since getting an iBook in ‘03 I’ve had a .Mac account, but it hasn’t always been the best email service. I also tried Yahoo mail, but I’ve never liked any of the Yahoo services… too gaudy for my taste. Then came Gmail, which is an excellent service, and one that I’ve stuck with for quite a while now. However, there’s also the new MobileMe, which promises to synchronize everything everywhere, and since MobileMe offers a ton of other features, and integrates seamlessly into my MacBook, I’m sold on it. I’ve actually gone back and forth between MobileMe and GMail quite a bit. Since Gmail can download pop3 mail and send mail as my MobileMe account, it makes it easy to switch over to it. However, I’m not a big fan of the Gmail design, or any of the skins that I’ve seen, and I really like to use Mail.app for my email. I could use pop with Gmail, which works great, or I could use IMAP, which doesn’t work so great with Gmail but works perfectly with MobileMe. I also really love the visual design of MobileMe. I think it’s uncluttered and smooth. No ads (since it’s a paid service).

So, anyway… I wind up with five or six email accounts spread out across the interwebs. I’ve been closing them one at a time, and it’s not always easy. A lot of companies, like Microsoft and Yahoo, will not just close your account straight off. You have to request that it be closed and then not attempt to log back in under that user name for three or four months.

social

I’ve had accounts on MySpace, Facebook, LinkedIN, Friendster, Orkut, Del.icio.us, Flickr, Twitter, Pounce… and probably a few more that I cannot think of right now. I thought all of them were fun, but of limited functionality. Over the past couple weeks I’ve pruned them down to Twitter and Flickr, and I think I’ll keep it at that. Twitter is fun, and it’s got some additional services that I use every day. I follow CNN Breaking News, and get a text message as soon as some important news story develops. It’s not too frequent, only really big stuff. Some of the people I follow also point out some really cool stuff on twitter that they don’t mention anywhere else. Flickr is a great photography site, and I’ve had a pro account in the past, but not now. One reason I’m really not happy with Flickr is that I have to have a Yahoo account to use it. I’ve already said that I don’t like Yahoo that much, and would much rather close the account all together. Also, MobileMe has a photo sharing service that integrates right into iPhoto, although that service is not nearly as “social” as Flickr, it’s still a way to get my pictures out there. If I can find a way to integrate the MobileMe galleries into Wordpress we’ll be in business. I consider the relationship between Flickr and myself “Under Review”. Del,icio.us = same story… great service… bought by Yahoo… I don’t want a Yahoo account.

storage

When I was looking at a replacement for MobileMe, I needed a replacement for iDisk. The best I could find was Box.net, but I could never get the webdav mount working properly in Linux. iDisk works great, pretty much every time, I rarely have a problem with it. Also, I can sync my iDisk locally to my Mac, which means I still get off line access. If, that is, I were ever off line. I also looked at Microsoft’s Live services, but I don’t think I ever actually used the online storage for anything.

elsewheres

I wind up trying out all kinds of beta services and startup companies web sites. I’ve loved all the new Web2.0 design that’s been so big lately. To be honest, I can’t even begin to count all the services I’ve signed up for. I’m hoping that eventually the accounts that I’ve signed up for but no longer use will expire. I think what I really need to do is come up with a fake online identity and use that to sign up for all the accounts that I’m just trying, verses the accounts that I actually use on a daily basis. On the other hand, why should I even bother with shutting them down? Well, to answer that, I’ve got to go back to my opening sentence: I’m a geek. Being a geek also means that I really like to keep things organized, and if it’s not, it drives me nuts. I need to prune, or I can’t concentrate, it’s an open loop, and open loops need to be closed.