Sit on this, and logrotate!

Since a lot of what everyone does on those pesky devices called “comp-you-tars” is becoming increasingly more business-critical, and we’ve come to a point where a web company that has “one server that we all use” is going nowhere, we have piles of lovely silicon and metal, with electric pulses flowing through them to create the world as we see it today.

Server Room

I love these machines, as they have extended our abilities far beyond a single person, they have connected us in ways that our ancestors could only imagined and written about in fiction, and they provide a central part of our everyday lives.

Developing complex systems has provided us with a challenge of building and maintaining large amounts of machines, and done correctly, a single person can easily control thousands, if not tens-of-thousands, of machines with a high degree of stability, confidence and grace.

Back in the olden days, systems were small, resource constraints were very much a real problem, and this provided developers the incentive, nay, the requirement, of knowing about their system and how to write efficient and clean code within the constraints.

As time goes by, each resource constraint is alleviated, for a while, by hardware manufacturers Continue reading Sit on this, and logrotate!

Thanks, but no thanks, Verizon!

I guess Verizon think they know what’s best for me.

Recently got a nice little Verizon USB 760 Modem from work, not a new concept for me, just something to keep in touch while on the go.

Unfortunately, the Verizon Access Manager software most decidedly does NOT install correctly on my Mac. Instead, it tells me I’m not an administrator. Feels a lot like trying to install software on Windows Vista.

See the failure, how pretty it is...

Continue reading Thanks, but no thanks, Verizon!

Making a Mac actually work

I recently got a MacBook Pro from work, and wanted to see how extensively I could get it to do the things I want to.

A lot of tools I like to use are from the Linux world, command line and peppered with dependencies. A lot of Linux distributions have package management systems, like RedHat/Fedora/CentOS use RPMs and yum, Debian (and derivatives like Ubuntu) use DEB and apt.

Mac has Fink and macports, but I’ve heard differing opinions on them. So when it came time to get something for myself, I decided to try an alternative called Homebrew.

Unfortunately, almost all of these solutions require you to download some 4GB of Apple’s Xcode software, and that means you have to register, etc. But once it’s done, it’s done.

Installing a new package is as simple as running:
brew install <packagename>

It figures out the heavy lifting stuff and Just Works.

Enjoy!

Time goes by, so slowly

I seem to be letting larger amounts of time slip by between posts, and that kind of makes me sad.

Between having the ability to Tweet, Facebook status update and Google Buzz, i feel that sometimes I just don’t want to write, and that is a Bad Thing.

Writing is a great way to dump some of the thoughts, feelings and ideas from inside this mess of a brain to written word, and in the past has allowed me to review these at a later date to see what the heck I was thinking and talking about.

Now I am not committing to writing regularly, or even on any set schedule, but just doing it now and then seems to help out.

In recent past, I’ve been tinkering with all kinds of technologies – from TCL to python and powershell, from WordPress php and css to Google AppEngine, and even more in the hardware and software realms.

Some of the things I am teaching myself is how to understand enough of the lowest possible level to get the core ideas to then be able to make that jump into the high-level arena, where having the big picture is crucial.

Some of that lies within data visualization, some of it relies on knowing the inner workings of a system, another is how to get data in and out of a management interface, and trying to figure out what is the question you want answered.

I think figuring out these kind of things are the challenges I like most.

A random chat with a coworker

As a lot of hi-tech companies do, we also communicate via chat. After you’ve been chatting with people for more than a year,  and are friendly with them, you tend to derail the technical conversation into weirdness.

Here’s the tail-end of one such conversation that I had this morning. I have no idea where this came from.

(10:16:12 AM) chris: thanks for the understanding Mr sensativity
(10:16:34 AM) mike: hey, I’m not the guy the gals turn to for a shoulder to cry on.
(10:16:56 AM) mike: I’m the one who made them cry
(10:17:05 AM) mike: by running over their cat in a driveway or sometrhing
(10:18:20 AM) chris: nice, you are one of the nicest guys I know
(10:18:31 AM) mike: except when it comes to cats
(10:18:41 AM) mike: then I turn into the hate-mongerer
(10:19:20 AM) mike: Actually, I haven’t decided if it’s that I hate the cats, or that I love to see a gal cry.
(10:19:28 AM) chris: twisted
(10:19:36 AM) mike: I’m so confused and emotional about this time in my life
(10:20:09 AM) chris: well if you need a hug, I heard JP is giving them out
(10:20:28 AM) mike: ewww.. You might get more than you bargained for with him.
(10:20:54 AM) mike: like some weird Canadian STD that nobody ever heard about, has no visible symptoms, and cannot be detected in any way.
(10:21:05 AM) mike: That has no cure
(10:21:07 AM) chris: ohhh!
(10:21:12 AM) chris: or ewwww!

Keep rolling, rolling, rolling…

A while back I wrote about using Nagios as a monitoring system.

Since then, I’ve had need to have it deployed via a packaging system called RPM, and since no “stable” community editions are out there, I have the need to “roll my own” for distribution on our platforms.

I’ve never used RPM from the “packager” side before – and it’s both very cool and infuriating. It has all sort of features and powerful macros, but debugging it isn’t a piece of cake at all.

If anyone has a great RPM tool out there that they want to recommend, let me know.

Monitor this.

A while back, we began investigating centralized monitoring tools for multiple systems, cross-platform, alerting, etc.

One contender was a package from MS, and a few others were tossed in the ring.

We did a proper match-up (or shootout, as I prefer) and tested a couple of candidates. While the all-inclusive MS offering is probably the best-functioning one, the cost is too prohibitive for a monitoring tool – about $1500/host monitored.

The extensivity and ease of use is uncomparable, but cost being a factor, we looked at another popular solution – Nagios.

Open source, modifiable – or should I say – Build Your Own – as it comes wth some basic egine concepts,a nd then you pretty much have to build every single monitor you want to look at.

The result is a more targeted monitoring solution, inasmuch it does exactly what you set it out to do – but absolutely no more.

The comparison showed this past week when I got an alert from my test MS instance about a SQL job running too long, something that I would have had to create some code, adapt it to monitor that specific job, and hope it could deal with exceptions I hadn’t thought of.

That’s a difference between a specialist in a particular field (i.e. DBA, mail admin, etc) and the overall concept of a systems administrator – sometimes a jack-of-all trades.

The MS offering is combined of “Management Packs” that are written by the developers of the systems that are being monitored – i.e. Exchange developers write the monitors for exchange and so on, whereas in Nagios monitoring world, you are expected to be able to figure out all of your own monitors/thresholds, etc.

I guess it makes it a little more interesting in the long run, as building something from scratch allows you the familiarity of knowing the ins-and-outs of the systems, but it’s time consuming and the returns are not as immediately apparent.

But it’s affordable. And we’ve got the techie know how to do it. So we do it.

If any readers have used Nagios, are interested in it, have advice, want advice, want to see what the color blue tastes like, let me know.

Parties all around

So last night was the company’s annual Holiday Party. Call me crazy, but I like my company – they’ve held a few celebrations since I’ve been here, and all of them rocked my socks.

It was held at Pressure, which has this great top floor bar/pool hall/dance floor combo space, and we shared it with a party from NBC – but they were on the other side of the bar and didn’t really concern us at all.

Started off by grabbing a drink at the bar and moseying around, played a few games of pool, I even rocked a game of Guitar Hero! I didn’t do the whole buffet thing, I just wasn’t hungry I guess.

I think where I really had the best time was on the dance floor, where I’ve always tried to have a great time. It’s so awesome to see a bunch of crazy people, people I work with, break out their moves. Some of them more interesting than others, but all awesome. I guess it takes a certain type of personality to decide: “I can’t dance in the more conventional sense of the word – but I don’t care, I’m dancing anyways!” So watch out for that good old funky white boy dance – it can spring up at you at a moment’s notice

I had some nice salsa steps and merengue to base on, and then there was some group interpretive modern dance, that got some amazing response, and one more memorable one was Sir Mix-a-Lot’s memorable song, to which another dude and I totally rocked and cracked everyone up. I showed a bit of my groove to “Billy Jean”, a good song for footwork, and wished there was a little more step-worthy music, or at least clog-able, like “The Devil Went Down..” but hey, it was still awesome.

I got to meet a whole lot of people that I work with – some whom I’ve never met before – and some of their friends, spouses, SI’s etc. in a non-work environment. It was fun to see everyone relax and have a good time.

On the whole, it was one hell of a party, and I can’t wait for the next one. Big thanks to M, for making it happen!

There are only two kinds of programming languages…

Those that people always bitch about and those nobody uses.

Having said that, I think that it is clear to most, if not to all, my feelings on programming.

In case it isn’t, let me clarify.

It’s all well and good for anyone who likes to stare at tons of lines of code for hours, reading it all into their heads and then visualizing what the code is supposed to do, and then add one little semicolon, then spending hours figuring out what went wrong, and then ultimately hunting down some darned semicolon and blaming it.

So early on, when my father, a software engineer, attempted to get me interested in programming, I got the basics and then moved on to another field Continue reading There are only two kinds of programming languages…

Ye cannae change the laws of physics!

Ever have a train of thought that started somewhere, then progressed a bit, then spawned two or three other thoughts, which took on a life of their own, and all of them important, all of them relevant, and each and every one really important? Now what happens when that happens recursively and begins to stack up?

Think fractals.

Then make whatever you picture that to look like much bigger.

Cram it all into my head.

Add water. Bake at 350°.

So it all started when at about 11:300 on Friday, our team at work gets word that at 9pm the power to both of our Continue reading Ye cannae change the laws of physics!