HomeRamblings  ⁄  Systems


Topics on hardware equipment and systems administration

A Reflection of the Technologies I Built Things With

Sometimes, a random event triggers a walk back down memory lane. That moment came for me the other day when I came across a CDR containing the code I ever wrote the first 15 years of my programming career. For just over 30 years, I've been building software professionally and I have kept backups of nearly everything I've ever written. What somewhat surprised me as I looked through all this old code is the breadth of machines, operating systems, and languages I touched along the way. As I thought on this list, I wondered what all I made use of during my career and wondered what that list might look like, so I set out to compile just such a list. If I used the language, operating system, or platform and built a complete application that was deployed and used… read more

macports is not darwinports

For those of you who don't keep a close eye on the macports system that provides you with convenient builds of popular open source software, let me put you on guard: macports supplanted darwinports a few years back to [avoid continued confusion][1] over the name. I was having a good bit of trouble getting ports to install ImageMagick and have had trouble many other times getting ports to install things. As such, I often fell back on fink or compiling and installing from source rather than figuring out the root causes of my macports problems. Macports was surprisingly easy to fix up and get fully operational again, and this was on a fairly old machine that I am pretty certain I started with "Darwin Ports" roughly 3.5 years ago. ## First Thing's First First, know that the official macports website… read more

Rails vs. Ramaze Performance Comparison

One of my biggest concerns of late is that my "more than just a little trivial" Rails projects seem to find their way straight into the heavyweight category in no time at all. While I am quite hopeful that Merb being the 3.0 version of Rails will resolve many of the issues I face today, I have no idea when I can truly count on Rails 3.0's arrival at the party. Thus, I have begun looking at other frameworks that are available today. ## Introducing Ramaze One I found is [Ramaze][1]. I have to say that Ramaze is a very minimalist approach to a framework that is actually rather enlightening. For one coming from a Rails' world, it can feel a bit sparse at first. But lately, I'm attributing my lack of comfort to being put on my toes to… read more

Ruby, Mysql, CentOS 5, and 64-bit

I have lately switched away from Ubuntu as my desktop and started using CentOS 5.2 because I wanted better support for a lot of RAM and virtualization (where I can quickly commission Linux servers to build out my testbed of target environments).  With the change, I also make the leap into pure 64-bit libraries with little to no 32-bit libraries installed.  There's been a few sticky points to push through and one of them is getting Mysql and the appropriate mysql gems installed.  This quick post shows the way. ## My System I am running CentOS 5.2 64-bit. Or more succinctly: ~~~ text 2.6.18-92.1.22.el5 #1 SMP Tue Dec 16 11:57:43 EST 2008 x86_64 x86_64 x86_64 GNU/Linux ~~~ ## The Problem If you simply execute: ~~~ bash sudo gem install mysql ~~~ You'll get the following errors on a 64-bit system:… read more

Overview of Xen Virtualization

Many people start looking at Virtualization Technologies because of the promise of doing more with less and high-availability solutions that the technology offers. However, there are many other benefits to virtualizing your data center, which are explored herein. Here, we will mainly focus on the free, open-source offering of Xen. This post closely follows a presentation I gave at the local [Classic Hackers UGA Linux Users Group][1] (CHUGALUG) in Athens, Georgia.… read more

Getting mouse wheel to work with KVM and Ubuntu

I have been busy getting a Ubuntu based Network Attached Storage server up and running as well as finally switching my trusty desktop to Ubuntu running my old Windows XP as a VMWare Server image.  All was fine and dandy until I decided to add a KVM to the mix so I could easily switch between the NAS and my workstation without having to have two monitors and keyboards. Turns out the mouse wheel would stop working after a switcharoo.  It took me a little while to track down the solution on the Ubuntu forums.  There was a lot of back and forth in the comments, but this is the dead-simple solution: ### Ensure the psmouse module is loading Edit and add the following line to /etc/modules: ~~~ bash psmouse ~~~ You'll need to use sudo (i.e. **sudo vi /etc/modules**).… read more

Jumpstarting your Virtual tour with Oracle VM

Server virtualization technology has come a long ways in the last 18 months (today being a wonderful October 28, 2008 crisp, cold Fall Sunny day).  Here, I am going to take a look at Oracle VM, one of the relative newcomers to the game and show you how to quickly get up and running with a Xen host and virtual server. ### A little background... Our shop has been using virtual technologies for just over two years. At the time we started taking it seriously, the open source offerings were just on the cusp of being production quality; Citrix had not yet bought into Xen; and VMWare had just rolled out their free VMWare Server option.  We had a mixture of Linux and Windows servers, all physical, and were really feeling some of the budget pince in our rapid growth.… read more

Changing ANSI colors in Terminal on Macs

Probably the most frustrating experience I have had with Macs so far is figuring out how to change the ANSI colors in Terminal (Terminal.app) so that I can read the outputs of **man** and most especially **ls** and comments in **vi** when colorization is activated and I have chosen a dark background theme. I am using Mac OS X Leopard 10.5.4 at the time of this writing. These are the steps I took to fix that most hideous of all colors, dark blue on black background: 1. Set your terminal theme colors to your liking 2. Set up **ls** to colorize directory listings by default. There are two ways to do this: Either set the CLICOLOR Environment variable or add an alias for ls to include the -G flag. I chose the CLICOLOR flag: ~~~ config export CLICOLOR=1 ~~~ 3.… read more

Configuring ntpd to hand out time to local servers

Syncing your servers to public time servers is one of the most common ways of keeping server times in sync. Apparently the less common approach of configuring one server to sync with public servers and it in turn becomes the authoritative time keeper for the rest of your servers is less well-known. Digging through the copious ntp documentation, I have to say, its some very, very dense documentation mainly because the jargon isn't well translated to a layperson's "How do I?" inquiry. I combed the documentation for days trying to figure out exactly how to set up a server to hand out time to all my other servers. Normally, my Google-fu can pierce just about any need, but "time" "server" "local" and so on are all too common terms in both client-and-server and client-only configurations and by far and away,… read more

Why Macs?

For Years, I have used nothing but Microsoft Windows desktops and my development effort was 100% Windows based systems. Long story, short, lets just say I knew way more about the inner bowels of Windows and its various API's than I will ever care to recall nowadays. Around 2001, I realized "The Web" was where the future lies and took nine months off from doing paid contract work to rediscover UNIX, or more specifically Linux where I set up DSL and my first server at home and ran various websites off Zope (python-based CMS). But I still used Windows as my main desktop. Then around late 2005 or early 2006, our company, which does Ruby on Rails development, decided to buy a couple of the first Intel MacBook Pros and give them a whirl. It all started as our quest… read more

Apache 2.2 and Active Directory and Group restrictions

I was really struggling with getting Apache and Active Directory talking and restricting access (authorizing) only a sub-set of users that belonged to a particular group. Here, I show you how I solved the problem. … read more