I’ve been spending some time playing around in photoshop… this is one of my recent creations.
Enjoy!
The personal blog of an old-fashioned geek
by Aaron
I’ve been spending some time playing around in photoshop… this is one of my recent creations.
Enjoy!
by Aaron
I got bit by the project bug again, and set up a new blog – Troll Fodder
The purpose of the site is to chronicle and post about instances when people fall for internet trolls, good rants/raves/flame fests, and when people just wear their blatent stupidity on their sleeve for all to see.
by Aaron
As a project manager for a software development team, there are several tools that I can’t live without. Whether your development team contains 2 people or 200, these are tools that should be in every development toolbox.
Is versioning even a word? In any case, any development team, whether working on a grand scale project for NASA, or a simple website for your mothe’s friends neices husbands business, keeping track of changes within the code is a MUST. There are several different methods for version tracking within your codebase. One is to always save your file with a different name. But most people nowdays make use of Subversion.
We use subversion for our code repository, and it has made things so much better in terms of day-to-day workflow. When we started our project, it was just one developer working, soon we added another developer, and things got sticky. Our code management system was FTP, and our developers both connected to the production server to make changes directly to files. Sometimes both developers would have the same file open, and one would overwrite the others changes.
Needless to say, we had problems, and it was frustrating, and a very bad way of managing a project. Even though I enjoy learning new technologies, and configuring servers, I needed a pain-free way to quickly and rapidly get a versioning system online and in use. That is where Jumpbox’s Trac system came to save the day. A quick download, simple configuration, and we were up and running with subversion and trac that afternoon.
So now we have a code repository, but we don’t have a way to track issues, bugs and tasks. (Well, trac has a built in system, but it’s pretty clunky and didn’t meet our needs).
Everything in our project to-do list was up in my head, and our roadmap existed in various versions on the whiteboard in my office. Bugs were sometimes fixed as they were found (if found by a developer), or were lived with until they were fixed. Email and instant messenger were the means to communicate tasks and feature requests for the application.
Things were pretty disorganized and I became frustrated as I was repeating myself and doing things multiple times between my whiteboard, emails, IMs, and various conversations with my development team. We needed a management system desperately, and that is where Redmine came to save the day. Redmine is a simple project/task management system. We were able to input bugs into the system, create new tasks, assign issues to upcoming versions, and finally have a comprehensive roadmap for where we were heading.
Since Redmine is a Ruby on Rails app, and we are a PHP development shop, I didn’t want to have to mess around with a RoR platform. Thankfully, there was the Redmine Bitnami Stack. This allowed me to quick set up a Virtual Machine and install the bitnami redmine, and that same afternoon we had an issue management app up and running.
Now whenever my developers and I have a brainstorming session for features, each idea gets added as a feature request, and assigned to a “very far in the future” version. We then reveiew feature requests and re-assign them to upcoming releases. We also set up an email box that redmine monitors for new bug requests. So our users can simply shoot an email (or the system can send an email if it detects an error anywhere) and we now have an active growing to-do list.
With a good code versioning system, and an issue/task management system, the only other thing a good project manager can’t live without… is good developers!
by Aaron
I’m a pretty big fan of VMware Server, I’ve been using it for almost a year now. It is great in a development enviromnent for testing different scenarios. It also lets me test/play with multiple software packages without having to dedicate resources to testing. I can also deploy production “toasters” to run specific and optimized apps.
This is a Soup to Nuts walkthrough on running VMWare Server2 on Ubuntu Server 8.10.
First, install Ubuntu Server 8.10. Since my host machine isn’t going to be running anything except the VMware Server, I don’t want to install anything extra, including any form of xwindows or desktop which will just be overhead (even if it’s not used). I installed Ubuntu Server with pretty much all of the defaults. When the install gets to the Software Selection screen, select “Virtual Machine Host”.
Once the install completes and the CD ejects, the rest can be done remotely. I prefer to work via SSH so I can copy/paste commands and have side-by-side reference from my terminal to my browser.
Now that Ubuntu Server is installed, there are a couple key components that will need to be added to the system before VMWare Server can be installed. Before we do the next steps, let’s make sure we have an up-to-date apt repository.
sudo apt-get update
build-essential – VMware Server needs to recompile certain aspects of itself to match your systems architecture. So you’ll need to have the appropriate tools installed to compile. To install these essential tools, simply enter
sudo apt-get install build-essential
Next we need to make sure we have the appropriate kernel headers from which VMware will compile it’s neceesary components. The following commands will figure out what version kernel headers your system currently has, and then install the appropriate headers.
apt-cache search linux-headers-$(uname -r)
(On my system this returned: linux-headers-2.6.27-7-server – Linux kernel headers for version 2.6.27 on x86/x86_64)
sudo apt-get install linux-headers-$(uname -r)
Now all of the necessary components are installed to install VMware server. Download the latest version of VMware Server. In my case, this is VMware-server-2.0.0-122956.i386.tar.gz (You need the tar version for Ubuntu).
Once VMware Server is downloaded, extract it into your user directory.
tar -zxvf VMware-server-2.0.0-122956.i386.tar.gz
cd vmware-server-distrib
Next, run the installer.
sudo ./vmware-install.pl
Install VMware Server with all of the default options. After it is installed, the installer will ask you if you want to run the configuration script. Run it now. If you choose not to run it, you can run it manually.
sudo vmware-config.pl
After agreeing to the terms and conditions of the VMware EULA, it will ask you if you have a compiler installed on the system (if you installed the build-essential packages as listed above, you’re all set). It will then ask you the location of the C header files that match your running kernel. It should auto-fill with the directory containing the previously installed header files. (In my case: /lib/modules/2.6.27-7-server/build/include)
VMware will now build multiple modules to customize itself to your system. When that is done, it will ask you if you want networking for your virtual machines. The networking questions can be confusing the first time you run the install. I typically set up a Bridged connection for each network interface on the host server. (This is like creating a virtual interface for each physical interface for your VM’s to use). I then set up a NAT interface with a separate subnet, and a Host-Only interface with another separate subnet. After configuring the network interfaces, it will then compile the networking components.
Next it will ask for the port for remote connections to access the VMware server. The defaults are
Ubuntu does not have a root user, and VMware server usually defaults to the root user for it’s admin user. So when the configuration says “The current administrative user for VMware Server is ”. Would you like to
specify a different administrator? [no] “ Choose “YES”. At the prompt, enter your username.
After setting the path to the directory that will store the Virtual Machines, you will enter the serial number VMware assigned to you. Then the configuration will finish with the final VIX components.
If the configuration script exited without any errors, then congratulations! You now have your very own Ubuntu Server 8.10 host running VMware server 2.0!
Open up your web browser and browse to https://ip.of.vmware.server:8333 If you use a new version of FireFox, you’ll have to add a security exception for the unsigned SSL certificate that VMware server uses. Enter your username and password and you can now start configuring Virtual Machines through the web interface.
Unfortunately, in order to use the remote console to actually view the virtual machines and interact with the guest OS’s, you’ll need to be accessing it from a Windows desktop.
I hope you find this little article helpful!
by Aaron
I recently did an overhaul on my home media system, and I LOVE it! First off, my goal with this system was to give me ultimate flexibility with my media and provide it in an easy to use, easy to manage system.
For the past 2 years, I’ve had a modded Xbox, and was running a very very early version of XBMC (Formerly Xbox Media Center). The Xbox had a 300gb hard disk and I would FTP files to it to watch on my TV. Now, my TV is a 36″ LCD HDTV, and XBMC always looked a bit fuzzy on the screen, but it worked. I also had to use the Xbox remote and have the Xbox sitting out a little bit from the TV to reach the couch so I could choose which file to watch.
Sometime early last year, I picked up a WD MyBook World 1TB Hard Drive, plugged it into the network, and copied my DVD movies and TV shows to it. I was then able to map the 1TB drive’s Samba share inside XBMC and watch all my media off of the network hard drive. This was great! It meant I no longer had to FTP into my Xbox and move/delete files to and from it in order to watch them. I just had to copy them to the network hard drive over a regular windows/samba share.
Now, last week, I took the plunge and upgraded XBMC to the latest version. This new version has a LOT more features than the old version I was running previously (which basically let me browse and watch files). I now have a nice HD skin that is 720p and looks beautiful on my HDTV, AND I now can make use of XBMC’s amazing Library functionality. I spent a few days renaming all of my files/folders and tweaking XBMC’s config file regex, and then let XBMC rescan all of the files on my network. XBMC then connected to the internet, and searched sites like IMDB to download cover art, movie and TV show information and categorize my media by Genre and other data.
Now when I want to watch a certain TV show, I no longer have to browse my network to the right file/folder; instead I just go to “TV Shows” Choose the name of the show, then select the season, and browse to the episode. Each episode now has screenshots a plot synopsis and even information about the cast of the particular episode!
All of this is great! But what makes it even better is that I discovered an XBMC remote app in the iTunes App Store for my iPhone. I downloaded it and configured it to talk to my Xbox, and what do you know? I can now browse my entire media collection on my iPhone, and then choose what to watch on the TV, start, pause, adjust volume… all from my iPhone! This gives me great flexibility and I no longer have to be “chained” to the controller and it’s cord in order to control XBMC.
I love this setup! There are a few things I have planned for the near future that will further make this my ultimate Home Media System.
– Install Mythbuntu on a spare PC (Mythbuntu is an optimized version of Ubuntu Linux, pre configured to run MythTV, the open source DVR software). I don’t have cable TV, and I don’t watch broadcast TV even though I have a TV Tuner card. So why do I want to configure MythTV when I have XBMC? Well, mythTV happens to have a plugin for mythWeb that will let me stream my media over the internet to other PC’s and devices (Similar to a SlingBox). This means that I’ll be able to have access to and be able to Watch my movies and TV shows from anywhere in the world that I have internet access. Oh, and my iPhone has internet access pretty much everywhere I go, and if I’m understanding what I’m reading… I should be able to watch my media from my iPhone via MythTV’s plugin.
by Aaron
I picked up a PC from one of my co-workers recently. It’s an older P4, with a bit of ram, a decent ATI dual-display video card etc… But it has 2 beautiful 22″ LCD monitors. After spending late evenings the past few days, I finally have it set up in a way I like.
I got this computer so I would have a decent machine to work on at home. I do quite a bit of development and planning and other stuff for work, and using my 13″ macbook just didn’t cut it for home use. So I’ve decided to dual-boot Windows and Ubuntu 8.10. Windows for any windows specific work-apps I need, and for the occaional game playing, but then Ubuntu for my powerhouse multi-tasking workbox. In the office I use an iMac running MacOS Leopard with dual 24″ monitors and I LOVE it. So Ubuntu with the dual 22″ should be quite similar without actually buying a mac for home.
It took quite a few hours to get the video driver done up right so I could actually get 3d accelleration, at full resolution (3360×1050) across both displays. Once that was set up, I configured Compiz-Fusion and a couple other Gnome Tweaks to get the system looking really nice. With the addition of the Avant Window Navigator (a Dock-like application) Ubuntu really started to feel like MacOS.
The last thing I need to do is get my LAMP stack configured for dev testing, get subversion installed, and find an editor I can get used to (I’m used to TextMate on MacOS). Then I can checkout the current code trunk and spend my late-night code hacking sessions at home, rather than at the office.
by Aaron
Tonight I’m heading down to Minneapolis to see my brother’s band play. Then tomorrow morning, I’ll be taking part in the Neuwerks Fall Escape. It’s an annual tradition where a bunch of European car nuts get together and take a nice lovely drive through the colorful countryside of Southern MN and Western WI.
I look forward to it, as I haven’t been out and about for a while. I just have to remember to bring my camera.
by Aaron
Holy crap, I just came across this site: http://mypictr.com/ It’s great!
It lets you upload a photo, and crop it down to size for use as an avatar on any number of major sites, or you can define your own custom size.
by Aaron
For the past, oh, two years, I’ve had this grandiose plan for a really neat website service. It would be an aggregator of web services, allowing you to link to all of your various accounts around the web. I never really had much background in programming, so I never started to endeavor on the project. Other things drew my attention, and it kept being pushed back as a “someday” idea.
Well today I just found a service: MyBlogLog. Apparently someone else thought that concept would be a good idea too, only they were able to execute on the concept. And it looks like a pretty neat service! I would have done some things differently, but for the most part, it has all of the features I wanted.
I guess if you can’t do it yourself, wait long enough, and it’s bound to be done by someone else.
by Aaron
I had been wanting to upgrade my 1st gen black macbook to Leopard since it came out. Last January I switched from a Dell desktop to a 24″ iMac running Leopard for work, and I just LOVE Leopard! But I hadn’t taken the opportunity to upgrade my Macbook from Tiger to Leopard.
Finally I took the plunge, but not without some bumps & bruises along the way. When I tried upgrading the first time, the installer said I needed 6.4gb of free space, so I freed up 7gb and ran the installer. When booting the first time, I got the dreaded light blue screen of nothingness. Rebooting into the installer then showed 11.2gb of space needed to upgrade.
That’s just great! now I’m left with a laptop that wont boot, and no way to install anything or free up free space! I decided to ditch my 15gb bootcamp partition that I had made over a year ago, but never booted into. Bye bye native windows on my mac! I guess I’ll just keep using Parallels!
Once Leopard installed and booted from my 15gb partition, I was able to back up my entire hard drive (which I know I should have done in the first place before I did ANYTHING). Then I proceeded to wipe my entire drive, and install fresh from scratch.
Now Leopard is up and running, and I’ve restored my backed up data, and I’m a happy camper. I must say, that I’m not as impressed with Leopards performance on my macbook as I am on my iMac. But then again, I’m still just on 1gb of RAM with my macbook. Time to go ram shopping to see if I can hold out for another year before replacing it with a Macbook Pro.