• Setting up a Simple Load Balancer in RHEL/Fedora

    After spending roughly 36 hours trying to get the combination of heartbeat and ldirectord to cooperate, I threw in the towel and went in search of something simpler so I could test my code without becoming a full-time Linux Administrator.  Introducing Balance, an easy to use load-balancer that won’t make you crazy.  Before we get started, just a quick note to you Ubuntu users out there:  The balance package available from the repositories as of the time of this writing is out of date and has a bug that seems to cause non-IPv6 addresses to fail (bummer).

    Now then, if you’re on Red Hat, you will want to use the EPEL repositories from Fedora (setup instructions here)

    su root
    yum install balance
    exit
    # Bind port 80 on the localhost to port 80 on servers 1 and 2
    # The -f option will keep the process in the foreground
    balance -f 80 server1.example.com server2.example.com

    Was that simple or was that simple? For more specific options, the man page for the software is very informative and explains, with examples, how to perform most tasks.

  • Installing htop in RHEL 6

    I’m still learning my way through Red Hat Enterprise Linux, and today went looking for htop. Unfortunately, its not quite as easy as installing through yum from the default repositories, so we must dig a bit deeper. By adding the Extra Packages for Enterprise Linux (EPEL), provided by the Fedora Project, to the repository list, we can then install htop, as well as a number of other great packages.

    # as root
    rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
    yum install htop

    Bang. Easy.

  • Setting Up a Betaville Server on RHEL 6

    Here’s a little treat for you enterprise users, a quick guide to setting up a Betaville server on Red Hat Enterprise Linux! To get all the latest greatness, we’ll be getting the application directly from the subversion repository and setting it up ourselves.

    yum install subversion
    yum install java-1.6.0-sun.x86_64
    yum install ant
    mkdir betaville
    cd betaville
    svn co http://betaville.googlecode.com/svn/BetavilleApp/trunk BetavilleApp
    svn co http://betaville.googlecode.com/svn/BetavilleServer/trunk BetavilleServer
    cd BetavilleServer/util
    ./compile.sh

    This will build the actual software, next is the process of setting up the software to do something! A script is provide to aid you with initializing a server, and can be run like so:

    ./initialize_server.sh

    And we’re off to the races!

  • The COLLADA Library Behind OS X's Preview and Quick Look

    While working on my latest concoction of rendering landmasses in OpenGL (and writing the results to a COLLADA file), I noticed a series of interesting messages passing by in my MacBook Pro’s console

    So let’s see, we have “Unable to find instantiated entity” as well as “Mesh has source with an unknown id.“. Well these are terms that look familiar, but from where? A bit of work in Google tells us that we’re looking at errors generated by FUError.cpp, which is a part of the open-source FCollada library.

    // from lines 103 and 144 of the aforementioned FUError.cpp case ERROR_UNKNOWN_MESH_ID: return “Mesh has source with an unknown id.”; case WARNING_INST_ENTITY_MISSING: return “Unable to find instantiated entity.”;

    So that’s that. Kudos to Apple for not reinventing the wheel, I’m glad to see that they chose to use what was already out there.

  • Gingerbread Headed to HTC Evo

    Well I wasn’t sure the day would come, but here we are. Something just popped up in my Twitter that I think will make all Evo owners jump for joy

    HTC EVO 4G owners: Gingerbread headed your way! Android 2.3 update will be pushed beginning Monday, 6/6. Manual DLs 6/3 bit.ly/l52x8M

    One thing worth noting in the link provided by Sprint is a small glimmer of hope at the end of the announcement

    Gingerbread restores HTC EVO 4G’s ability to sync multiple Gmail™ accounts, display email attachments in the email client and fixes battery discharge issues.

    Now to be fair, I’ve never noticed the first two issues as I only have one Gmail account setup on my phone and don’t use the default email client, but that battery issue… Now that’s appealing; impressive even. After almost exactly a year on the market, to see issues still being worked out is a good sign. Especially for an issue that’s had so much coverage that people have eventually learned to live with (See: Chargers, Many, Purchase of).

    In addition to what Sprint touts, I’m also looking forward to HTTP responses being zipped, which should help to make some applications a bit snappier without doing much (read any) work. This is all great news indeed, and I suppose means that I’ll be bringing a laptop to Philadelphia with me this weekend just in case my phone suddenly stops working in the middle of the update. Small price to pay.

    The goodies are available June 6, or you can do a manual update starting on June 3rd.