Job
On Gentoo Administration
So while doing some reasearch for work today I came across the following article:
http://www.playingwithwire.com/2007/01/why-gentoo-shouldnt-be-on-your-server/
After reading the article, which was remarkably well thought out and considerate of the distribution, I decided to go read the comments (something I rarely do due to the flamewars that tend to erupt).
While perusing the name calling and questioning of intellectual prowess (along with the rare jewel of someone who actually knew what they were talking about) it occurred to me that many people really don't grasp how Gentoo is supposed to work.
Personally I've been a Gentoo user/admin for 3 years now and I'm just now starting to feel like I have a handle on how the distro works. Granted, I've never actually dived into the docs and attempted to 'learn it all!' but what sysadmin does? :) I believe Gentoo has many fantastic aspects and that it's down-sides are equally as glaring. So I've decided to put together a list of Pros and Cons for people who are thinking of switching or just need another bit of input.
Pros:
Portage!
Portage is God's gift to mankind in the form of a package management system that actually understands how to track dependencies. Portage is the main reason I (and many other people) use Gentoo. With a few taps of the keyboard we can build a system that works properly the first time, without any need to check version numbers or package compatibility. This makes our lives easier when trying to build whole Linux systems whos components interoperate with stability and speed.
Speed
Now granted, since Gentoo switched away from the 'stage1' style builds 2 years ago (you build the entire system from the ground up, an incredibly long process) the speed aspect has been slightly reduced. However, building software objects against the native hardware will always produce a performance increase and allow you to squeeze that extra bit of performance out of your machines. It also lends another aspect that it crucial to maintaning high-availability servers, stability.
Stability
Okay some people are looking at me funny now, but seriously, a properly maintained Gentoo system is the epitome of stable. Notice I said properly maintained there. It is my belief that many people do not fully grasp how to properly administer the Gentoo distribution. Gentoo provides many powerful mechanisms to block new packages, install updates and in-general, keep your system up to date without breaking it.
Cons:
Time
Time is Gentoo's biggest enemy. Time is required to build your system, learn the Portage stylisms, find all the interesting places config files are located, and the list goes on. I've spent countless hours tweaking and honing my systems into submission. The process gets easier and, as a result, faster each time you do it (isn't this true with all OS installs?) however, of all the Linux distributions, Gentoo requires the most time up-front to get running.
Portage
While Portage may be a fantastic package and dependency management system, I believe it could stand some improvement. As many have noted, there are currently no mechanisms to JUST install security updates and the rather routine cycling of the profiles has been known to break the occasional build. However, disruption is usually the result of an ill-maintained system rather than an actual flaw with the profiles themselves. In my history of running Gentoo, I've only had one machine die due to a profile change and that was caused by neglect on my part. Had I done my job of setting the system up properly in the first place, the profile change would have happened transparently.
The Zealots
Linux has it's fair share of individuals who've had a bit too much caffeine and not enough lessons in social interaction whose sole goal in life seems to be defending their distro of choice as if their manhood depended upon it. Sadly, these 'advocates' seem to flock to the Gentoo distribution, probably for it's shiny colors and general coolness factor. The problem is these zelots tend to be viewed (appropriately, more often then not) as loud-mouthed, obnoxious individuals who tend to give the community a bad name. Examples show up quite often in the article mentioned above. The truth of the matter is, the Gentoo community is about 10% zealot and 90% intelligent, helpful (albeit somewhat soft-spoken) people. Unfortunately the 90% tends to get drowned out by the constant snarking and flaming of the zealots.
I'm sure I could wax far more eloquent about this topic and go into far greater depth of how to build a proper Gentoo system, but unfortunately, I'm out of time for now. Hopefully this quick list will help someone along the way during their decision making process. If you feel I missed something major in this list, by all means, tell me!
Cheers!
I have to live with me
So today I was having a conversation with a co-worker from our Portland office and the following emerged from my fingertips:
"Yes well you don't have to live with me so it's hard for you to see :). I have to live with me see... although I keep trying to get me to move out. I'm getting on my nerves."
I'm sure everyone's had a point in their life where they have thought something close to this.
Well I suppose it would be good to let everyone know what's going on...
Nothing! BWAHAHAHAHA!
Okay in all seriousness now, I really haven't been doing much of note lately other than work :). I'm currently finishing up a large refurb project on quite a few computers I've inherited/bought. When the machines are (finally) finished, I'll have loads of computing power and absolutely no clues what to do with it! :) Actually I have quite a few ideas, I'm just not sure which ones I have time to implement. Also from the house of Power Consumption: I just aquired three SMC 8624T TigerSwitch(es). These switches are fantastic devices and SMC's warranty on them is wonderful. They replaced a unit which had the password set to something strange and after five minutes on the phone with them, sent me a brand new RoHS model (which I dig). I'm giving one of these units to Devin who set me wise to their abilities. Thanks D!
Beyond the computers I'm working on a couple of solutions for a renewable power system. Right now my server room circuit is pushing 10A and with all the new machines coming online it will probably be near 25A of constant-load power (this is when they're _idling_). Now that works out to a ton of power consumed each hour and while power rates in Snohomish County are better than Whatcom, they're still moderately pricey. So the plan is to try and implement something solar (I have a relatively reasonable amount of roof-space) to supplement my existing power grid. Currently I'm researching the solutions others have come up with in an attempt to find one that will work easily for me and my budget.
I think it would also be nice to come up with a sort of continuous monitoring system for power and heat in the server room. My summer projects include building a rig to hold at least one air conditioner for the machine room and I want the ability to monitor the room environment and if possible, adjust it remotely. The biggest problem with closing a room to outside air is, if your cooling dies, your machines die with it, literally. I gambled on a heavy-duty Kenmore AC unit up in Bellingham (and won... that time) but I really don't want to do that again, not with so much equipment at stake. The biggest problem will be balancing the heat load with the air conditioner's capabilities. 10K BTUs will not work this time around, so I may have to put two 12K units in to handle the heat load. I have yet to do the wattage computations for the machine room so I can figure out how much heat I'm creating.
Honestly I don't have the slightest clue why I'm putting so much work into this (I'm literally creating my own mini-datacenter). But it keeps me busy and I get to play with computing hardware, which is something I'm very good at.
Finally a shout out to Ryan who just moved into his first house (well first house he owns). Grats man, hope it's a wonderful experience.
And on that note I'm going to get back to work! Have a pleasant day everyone.
Crunch Time is Over
So today I worked some OT and pushed all but one minor change out to the new website. Those of you who wish to see it before Monday can view it here:
If you saw the original site, you know this is a considerable improvement in the look :). The functionality of the site is also greatly increased (I wrote something like 6 new drupal modules to round out the site and make it more useable behind the scenes).
But the best part is? I'm pretty much done, the stress is over. There's some finishing of things behind the scenes that will be done after the launch but all the critical stuff is out of my hair.
YAY!
I'm alive... I think
Just a quick update as I sit here and watch Devin play NFS Most Wanted.
For starters I lost my NFS save game last night (I was in the process of challenging #4, grrr). Man I was pissed, but I've started over and I'm #11 after about 4 hours of play. I'm absolutely determined that, for once in my life, I will complete a bloody game.
Work has been crazy, about every day the boss has been handing me something with the 'panic' label on and and somehow, I miraculously pull the magic out again and fix the newest problem. The only problem is it's taking a bit out of me and I'm starting to get sick (I was a complete loon at work today).
However the end of the darkness is in sight. We launch our new product Monday the 15th and just today the Java dev team finished putting the final touches on it while I finished the last 'panic' module for the website.
The fun stuff now commenses. I have the next two days to do a full merge between the dev website and the live website both of which have been actively added to over the last month (ugh). Most of the merge is complete after some hectic hours today but the remaining stuff is just tedious as heck. Lots of editing and bug fixing to get pages to match up right (which in a CMS is NOT fun).
Anyway I'll probably go ape crazy on the site tomorrow and bang everything out, but for now I relax and dream of Tuesday when life will finally settle down a bit :).
Nifty Shell Script
So I've been wanting a script of sorts to change my background image while I'm at work and change it back to the original when I'm at home. The reason for this is I have a nice sexy girl as my background (nothing bad, she's clothed, just hot) and I don't want anyone getting pissed at me if they happen to walk by and see her and think it's inappropriate for the work environment.
So I whipped up the following shell script to change the background in KDE upon login based on whether I'm on my home network or roaming.
#!/bin/bash
#
# A shell script to switch the KDE desktop based on networks
#
IMG_HOME="/usr/kde/3.5/share/wallpapers/suseA.jpg";
IMG_SAFE="/usr/kde/3.5/share/wallpapers/triplegears.jpg";
IP_HOME="192.168.42.100";
INT_HOME="ath0";
IP_CURRENT_HOME="";
IP_CURRENT_HOME=`/sbin/ifconfig $INT_HOME | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'`
if [ -z "$IP_CURRENT_HOME" ]; then
echo "Not at Home -- Enabling Safe Background"
`dcop kdesktop KBackgroundIface setWallpaper $IMG_SAFE 6`
elif [ $IP_HOME = $IP_CURRENT_HOME ]; then
echo "Located Home Network -- Enabling New Background"
`dcop kdesktop KBackgroundIface setWallpaper $IMG_HOME 6`
fi
That's it. Change the image locations and pop that in your ~/.kde/Autostart and it will change your background images based on network. Granted this isn't elegant, but it works. Quick hack and all that :).
Thanks to Devin for pointing out that adding an if [-z] to fix an error I was having (The script worked but the error was driving me nuts).
Update
Yet again here I am with the late update! :) I've been quite busy with my new job working for Danube Technologies as a contractor.
Basically what I've been doing is completely revamping their Drupal 4.6 website into something a little more modern. This ended up being perfect for me as I have quite of experience with Drupal and they're not trying to do anything bizzare on their website (asside from a few custom support solutions for their clients).
Well about a week ago I got offered a full time job working for them as programmer/admin/tech at a decent pay grade. Well I looked over what they had to offer and ended up taking the job yesterday, among the perks, they pay for my bus pass to Bellevue and I get a laptop as well as the whole benefits package. Hooray laptop! (Yes, notice the priority in this geek's head)
Since I already work for them as a contractor, I just get transitioned in as an employee, sounds like a relatively painless process.
The neat thing is, I drive to Woodinville (15 minute drive across 522) and then there's a direct bus to the Bellevue Transit Center about 2 blocks from Danube's office complex.
Anyway that's really all that's going on here. Hope everyone is well and happy :).