Archive for ‘Computers’


Gratitude Journal 20110212

I am thankful for or that

  1. GAB putting gas in the car.
  2. LEB taking MJB to the Furman Universitymen’s basketball game.
  3. LEB & MJB getting home safely.
  4. GAB getting home safely.
  5. Being able to go to MJBs basketball game.
  6. A warm, sunny day.
  7. Our high speed internet connection.
  8. Citrix.
  9. Google Voice.
  10. The SyFy Channel.

I acknowledge myself for

  1. Working out.
  2. Eliminating a box of junk from the storage room and letting LEB know I did it.
  3. Shooting baskets w/ MJB.
  4. Going to MJB’s basketball game.
  5. Doing tasks for work late at night and for a second night in a row.
  6. Eating mostly paleo.
  7. Taking all my prescriptions.
  8. Getting some fresh air and sunshine.
  9. Reading.
  10. Saying no.

Gratitude Journal 20101126

I am thankful for or that

  1. Rain.
  2. A parking spot close to the office on a cool, rainy morning.
  3. My unlimited text plan from Verizon.
  4. LEB’s reawakened hotness.
  5. Being able to go back to sleep after taking GAB to work.
  6. Money to buy food.
  7. The ability to walk.
  8. All of the technical documentation available on the web, particularly for NetApps.
  9. A warm, dry house on a cold, damp night.
  10. LEB picking up GAB from work.

I acknowledge myself for

  1. Doing laundry.
  2. Fulfilling my on call responsibilities for work.
  3. Eating leftovers.
  4. Taking several short walks through out the day.
  5. Taking my prescriptions.
  6. Putting off impulse purchases.
  7. Turning off the Alabama vs Auburn football game and going to an AA meeting.
  8. Sharing during the meeting.
  9. Doing personal development reading.
  10. Going to bed early.

Gratitude Journal 20101125

I am thankful for or that

  1. My daughter, GAB cooking green bean casserole from scratch!
  2. LEB cooking Macaroni and cheese from scratch!
  3. My son, CIB baking an apple pie from scratch!
  4. LEB driving us to ATL to my mom’s house.
  5. All the other food that my mom and sister cooked!
  6. BillD helping me figure out and solve the email/spam problem that was killing our customer email platform.
  7. High speed internet and wireless networking.
  8. Money to buy a Honey Baked Ham.
  9. LEB driving us home to Greenville, SC from ATL.
  10. A day spent with family.

I acknowledge myself for

  1. Working diligently on my problems on the job.
  2. Staying awake with LEB during the second half of the drive home.
  3. Loading up the car to come home.
  4. Doing some laundry.
  5. Taking a shower.
  6. Taking a walk at the rest stop on the way to ATL.
  7. Reading personal development books.
  8. Taking out the garbage and recycle.
  9. Drinking lots of water.
  10. Resting when I could.

Agile Systems Administration

I found the following on /.

To me the word “agile” in programming has come to mean “a renaissance of best practices”. In other words, an excellent programmer is already agile, but a mearly”good” programmer might benefit from having it spelled out.

But by giving it this new name, there’s a risk of backlash. I guess that’s happened already, judging by the utterly vapid responses to this post!

To me, agile means the following things:

* don’t do work until you need to

* do everything in the simplest way you can

* write tests for everything

* make your work relocatable and reusable

* use version control

* communicate with customers

* release your work to the customer as rapidly as practical

Now, I happen to wear both a sysadmin and a programmer hat depending on the time of day. Mostly sysadmin, but since discovering this philosophy of programming, I’ve started doing more coding. It’s a pretty amazing feeling to have 100% code test coverage with everything tucked away in version control, with single-command deployment and distribution to client machines. They never taught me this stuff in school.

So, if you’re a syadmin, and you’re not as cynical as the other slashdotters here today, can you see anything in that list that might help you?

Here’s some things I do as a sysadmin:

* use version control for /etc configs (if you’re using dispatch-conf + RCS on your gentoo box, you’re doing this already .. just start checking YOUR changes in the RCS files too.. this saves my butt at least once a week)

* practice “test-first sysadmin” .. does your machine need a certain config? Write a script that verifies that the config is present. Run it, it will fail. Fix the config, run it again, watch it succeed. Now put the script in cron and forget about it (you might want to build a framework for this if you have a lot of these little scripts puttering around). This too has saved my butt: I have scripts that make sure ports are CLOSED on certain machines.. when the firewall config was accidentally erased I detected it right away.

* do everything in as simple a way as possible: for your next script, use environment variables and the presence/absence of files in a directory to configure it, instead of inventing Yet Another Config File format .. your scripts will be shorter and more robust. Use programs like djb’s daemontools to run daemons, instead of this bizarre thing where they put themselves in the background and you need all this scaffolding to track them down to start/stop/watchdog (wtf is up with that anyway).

Use the filesystem instead of MySQL .. use publicfile instead of Apache .. etc.. just do the simplest thing that can work.

Don’t ever install things by hand. Build a custom package. If your OS doesn’t let you do this easily, switch to one that does (gentoo rocks for this as well).

* document everything: when you do something, make a note of it on a wiki or a text file. Give the other sysadmins access and chide them when they don’t keep the file up to date. lead by example.

* automate: don’t do anything 3 times. anything you do a third time, automate it. (you will appreciate the simplicity of using the filesystem as your config file when you do this, by the way). need to watch something on a box? create an rss feed. you don’t need a web server, just build the rss feed and scp it from your laptop every hour. do whatever it takes for you to work as little as possible yet meet your goals.

Yeah, you probably do a lot of this already, but you’d never think of calling it “agile” or anything else other than “a good job”. Fine, whatever. Agile is more of a mindset than anything else, based around simplicity and being ready for change.

See Also:


Leave Windows Behind

Funny how when you work with computers everyone who doesn’t thinks that you’re an expert with regard to all things computer wise. My day to day job does not involve working w/ PCs or Windows. Well, I have a PC I use for my work, but I currently run Ubuntu Linux 10.04 on it. The servers I deal with, w/ a handful of exceptions, run Linux, Solaris or HP-UX. Anyway, I do have a windows PC at home for the kids and my wife. So, I do have to keep it clean of viruses and spyware. My wife’s niece asked me about ridding her computer of spyware. So, I wrote up the following. Maybe it will help someone else, too.

My first anti-virus recommendation is to use Linux or MacOS rather than Windows. If you’re not willing to make that switch, you will continually experience the head ache of viruses, spyware and malware. Often you will also suffer the additional costs of buying anti-all-of-that-stuff software. Furthermore, studies have shown that no one anti-* software can even detect all the bad stuff let alone clean it. Keep that in mind.

01) I generally uninstall all anti-virus, anti-* software as multiple instances of anti-virus like Norton & McAfee don’t play nicely together.

02) Then I install AVG Free antivirus and scan the computer. Once it’s done and has cleaned what it can I uninstall it.

03) Install the free version of Avast! antivirus and scan the computer. Once it’s done and has cleaned what it can I uninstall it.

04) I use a bootable Linux CD w/ anti-virus software to scan the computer while Windows is not running. Some viruses, trojans, etc cannot be cleaned from Windows while it is running.

05) If the person has purchased/licensed AV software I then reinstall it and scan the computer again. If not I usually reinstall AVG Free as it typically runs faster than Avast! There are other good free alternatives, too.

06) Then I scan it w/ a bootable Spybot Search-n-Destroy CD.

07) I install Microsoft Defender and run it.

I also make sure that all Microsoft security updates are installed and that automatic updating is turned on. So, typically people I help w/ this are left running AVG and Microsoft Defender. I’ll leave them w/ a boot able Spybot CD to run occasionally. If they’re up to it I’ll also leave them w/ a bootable Linux CD w/ antivirus software to run periodically as well.

Of course there is more you can do. And even all of the above might not guarantee a clean computer. You can find and use more tools that are similar to the above. But as a last resort, you might have to format the drive and reinstall Windows fresh and clean. I hope you have backups of your files, you do make backups right? I hope you have drivers on CD, DVD or something for all of the hardware in your computer. If not this last resort could be painful indeed.