Archive for the ‘ Misc ’ Category

AT&T – Reactive vs. Proactive

Thursday, December 10th, 2009

As much as I hate to steal a title or a good joke, I want to title this post iPhone Outage? There’s An App For That. Why? Because it’s funny.

So why am I talking about reactive vs. proactive? In case you haven’t seen it yet, AT&T recently came out with an app called AT&T Mark The Spot. The idea behind the app is that if you have a dropped call or bad reception, that you open the app, click your problem and it will mark the spot by sending the information to AT&T. I am still not entirely sure how this app works in an area where there is NO reception, how does it know where you are to tell AT&T?

Thoughts on Blog Posting

Thursday, November 19th, 2009

During a conversation I was having with Nirvdrum about blog posts, we got to discussing the validity and credibility of blog posting along with how and why people do it. I have a few thoughts on this topic.

The first and foremost reason that I write blog posts is that engineers who spend a lot of time figuring things out on the fly could use a helping hand. A lot of that figuring is done piecing together parts of other people’s solutions to problems from various blogs and papers. Every time I run into an issue or fix a problem, I try to write a blog post about it. I don’t do this because I feel that I have more to offer than anyone else, I just feel like my work should be able to benefit others (there is no use in reinventing the wheel). And to top it off, if I do something and someone has a better way, I like hearing about it in the comments or from an email.

Converting From Subversion To Git

Monday, November 16th, 2009

Now that I have basically fallen for Git, I decided to finally move my Subversion repository over to Git (this way I can finally have a remote backup of it that I am comfortable with on Codaset).

The method for this was a lot more straightforward than I expected it to be. For the conversion tool, I used Nirvdrums fork of svn2git. It a feature complete version of the svn2git portion though the rest of it is still is development. Since it is a Ruby gem, getting it installed was a breeze. Just make sure that you have Ruby and rubygems installed.

Remote Code Storage

Monday, November 9th, 2009

I was chatting with a friend of mine the other day about version control and why it’s necessary. So I decided to throw together a few options and a little explanation about why its important.

I have been using version control in some form or another for many years. I started with CVS, then moved to Subversion (which I still use quite a bit), and now, as my latest post about Git GUI’s on the Mac suggests, I have moved to Git. The one thing that has been consistent across every single transition has been that I had some sort of remote code storage every time. During the CVS days, I used a CVS pserver and stored my code locally and remotely for safety (and ease of checkout/deployment). For subversion, I always stored my code locally and used an apache install somewhere with a WebDAV module to get at and deploy whatever code is necessary.

Ultimately I use remote code storage for 2 reasons, back up my existing code base (so I have it in more than one place) and to have a visualization of what is going on in your project. That visualization is handy to be used as a central consistent view for multiple people (unlike a personal client which can be different per user).

Price of Commercials

Wednesday, October 28th, 2009

The price of commercials is especially high for engineers. And by commercials, I don’t mean an intermission between pieces of a sitcom or drama, I mean the brief 15 seconds of an interruption when someone asks an engineer in the zone a question that takes 3 seconds to answer. For the sake of argument, let’s say an engineer gets interrupted a mere 5 times per day including lunch and a daily meeting (let’s call it a scrum for fun).

If it takes that engineer, admin, developer or whatever 10 minutes to get focused after each interruption and the initial getting into the office and getting into the swing of things; that means that out of an 8 hour day, 1 hour is wasted just refocusing. Refocusing just puts you back on the issue, it doesn’t put you back in the zone. Some engineers only get in the zone once per day. At that rate, you can massively waste someone’s productivity with a 10 second interruption.

What’s my point? Good question. That commercial/question/interruption that someone is pushing onto that engineer could be the straw that broke the camel’s back on a deadline. So be aware of the situation that your people are in, who is talking to them, who has access to them, and who takes advantage of that access. Those precious periods of concentration can afford you a huge win or bring about a big loss.

Printing New Lines in Bash

Thursday, October 22nd, 2009

Ran across this the other day and decided it required sharing. If you want to print a new line ‘\n‘ in an echo statement in bash, one would think its just as simple as:

beacon:~ elubow$ echo "This is a test\n"
This is a test\n

The problem is that this doesn’t interpolate the newline character. (For more information on interpolation, see Wikipedia here.) In order to have the newline interpolated, you need to add the command line switch ‘-e‘.

beacon:~ elubow$ echo -e "This is a test\n"
This is a test

This will force Bash to interpolate any non-literal characters in the quotes. Note: Unlike Perl, single or double quotes don’t matter here when Bash is deciding whether or not to interpolate the new line characters.

Causing More Problems Than You Solve

Wednesday, October 7th, 2009

To start off, if you know me personally, then you know I recently (July 30, 2009) broke my leg skydiving. If you’re interested, you can see this video on Youtube here. To make a long story short, I had surgery that night, they put a titanium rod in my thigh and I have been on crutches since. I have only recently started learning to walk again (which I have no yet reached that point). This week my insurance decided that it was no longer necessary to send me to Physical Therapy (thanks Oxford).

Like any corporation, Oxford is in the business of making money and in this case, they are doing so by deciding not to pay for my PT. In the long run, the lack of rehabilitation will likely leave me in a weakened state and generally more prone to injury once I go back to my skydiving, motorcycle riding, MMA, and BASE jumping ways. If Oxford had said, let’s make sure he can walk and then we’ll cut him off, at least he’ll have a foundation and be less prone to injury; then they might be saving a bit of money on me in the long run.

So what does this sob story have to do with IT? A decision made now in order to save money can end up costing you more of time and money in the long run. And since time is money, sometimes a little bit of planning can go a long way. Should you add the feature now because your biggest client wants it by Friday. Well if you do that, then you might lose a few smaller clients along the way and the word of mouth may be more damaging than temporarily upsetting that large client.

Perhaps you set up Nagios and immediately turned on alerting without learning the thresholds that your machines typically sit at. Then you get a whole set of alerts and you spend more time trying to sort through the real problem ones versus the ones that just have a slightly abnormal operating level then you would if you just looked at your machines thresholds to begin with.

There are a million examples that could be listed here. The point is, before jumping into a decision, try to make sure that you’re not going to be paying for it in the long run. A little planning can go a long way.

SysAdmin Of The Year Contest

Monday, October 5th, 2009

It’s that time of year again where you too can nominate someone for the SysAdmin of the year. The contest ends on October 24 and has a progressive jackpot of up to $5,000 (and seriously, what SysAdmin do you know couldn’t use an extra $5k ish)?

So if you know any rock star sysadmins, sysadmins who save the day, sysadmins who have done stuff previously that have saved many days or any combination thereof, enter them:

Busiest Person You Know

Friday, October 2nd, 2009

The old adage, “If you want something done, give it to the busiest person you know” is probably one of the truest messages you can pass to a technologist. The first thing I want to point out is there is a difference between busy and always doing something. Just because someone is doing something, doesn’t mean they are busy. If they are sleeping, they aren’t busy. But if you know someone who is constantly working on side projects (contributing to their own blog (more regularly than I do), building a web site, working on open source), or they have many hobbies, that is busy. If you ask them to do something, you can guarantee that they will find a way to get it done.

You’re probably wondering why I putting this in a blog where I primarily spend time writing about technology and the things I figure out therein. Well, it is generally applicable because I come up with the most time saving, interesting, and generally reusable solutions to a issue when I am the busiest with other things just trying to get it done.

Recently Joel Spolsky wrote about being a Duct Tape Programmer. And many of the solutions I am referring to here are duct tape style solutions (also known as the ones that stick). It’s usually the quick and dirty solutions that last the longest because they are the simplest and yet somehow most effective (and no, I am not only talking about programming). I’m talking about getting things done. So be the busiest person you know sometimes and just get it done. The solution will probably be better and more effective than you think while you’re doing it.

Getting Rid of The Google Analytics Overlay

Saturday, September 5th, 2009

It took a little hunting to figure this one out, so I decided to write a quickie blog post about it. If you use Google Analytics and have put the overlay on your website to gain information, you may have noticed that it is quite challenging to get rid of.

Well the solution, as is turns out, is pretty simple. Just go into your browser’s cookie repository, find and delete the cookie that calls itself GASO. And poof, the overlay is gone.

Bing! Hunch! Decision Engine!

Wednesday, June 3rd, 2009

I know, the title is an awful play on Batman from the 60s, but I thought it was funny, so tough. Anyway, Bing as most of you know is Microsoft‘s attempt to fix search (if you think search is actually broken, but that’s a whole other post).

Bing (which for those of you who don’t know is: Bing Is Not Google) is touting itself as a decision engine. If I understand what a decision engine does correctly, it helps you take a bunch of variables related to the outcome and depending on your feelings about those variables, helps you to get to the end state (a decision).

(overly simplified) example: Should I live in New York City?
Variables: Noise, Transportation, Money
Q 1: Do you mind a lot of noise at night?
A 1: Yes, New York City is fine.
Q 2: Do you like driving everywhere?
A 2: Yes I like driving. New York City is better for people who like mass transportation. Parking and timeliness of movement can be a problem.
Q 3: Do you have the money to live in New York City?
A 3: New York City is one of the most expensive cities in the world to live in. No, I don’t make enough to live in New York City.
Outcome: 2 of 3 answers are contrary to living in New York City. Therefore you should probably not live in New York City.

I don’t see how Bing does this for you.

Enter Hunch. Hunch is an actual decision engine (or a much closer version than Bing). Just to give you an idea of how Hunch works, I decided to ask it whether I should get a netbook or a laptop (even though I know full I need a laptop and I love my MacBook Pro). This is what Hunch did for me.

Using multiple choice questions for everything, Hunch asked me about my usage plans. I told Hunch that I need it for photos, videos, music, etc. Then Hunch asked me how much I would be willing to pay. I need power and I know that comes at a cost, so I told Hunch greater than $1200. Hunch asked me about my travel habits and I said I travel a lot, but I still need power. It asked me about an OS (which I of course said Mac). It asked me about my keyboard size preference, which I prefer a larger keyboard. Finally it asked me whether this would be my primary computer. I said yes. It came up with the suggestion that there is an 85% chance that I should get a MacBook Pro based on my needs. Sounds good to me :). Hunch will even tell you why it came to that conclusion (based on your answers).

As an aside (since I am an email administrator by day), I found it interesting that Hunch, when sending their welcome email, sends a vcard to ensure that their email address is properly added to your contacts. And it is located just a few blocks from my office. Small world.

I am really excited for this product to go fully live. I think it is an absolutely outstanding engine and once live will be a great asset to the web (no I am not being paid to say that). I just think that its about time stuff like this happened. Now if they can just get the experts involved for people who want more advanced information…

More Wolframalpha Easter Eggs

Monday, May 18th, 2009

While finally getting to play around with the new Wolframalpha search (computational knowledge) engine. I found a few more Easter Eggs in addition to the ones posted on Mashable here and here. It appears that the creators of WolframAlpha believe that proverbs (more commonly referred to as aphorisms) are a handy trait for a computational knowledge engine to have. Regardless, they are fun to play with.

  1. I should probably listen to this one myself. Starting out with this cause it is just amusing.
    All Work and No Play Makes Jack a Dull Boy

    All Work and No Play Makes Jack a Dull Boy

  2. Another instance of WolframAlpha being health conscious.
    An apple a day Keeps the doctor away

    An apple a day Keeps the doctor away

  3. It wants to be smarter so it tries to learn from its mistakes (not really, but we are being proverbial here anyway).
    Fool Me Once, Shame On You

    Fool Me Once, Shame On You

  4. In the spirit of the Back To The Future (and other cult film references):
    1.21 Gigawatts

    1.21 Gigawatts

  5. Another great proverb reference ignorance.
    Out Of Sight, Out Of Mind

    Out Of Sight, Out Of Mind

  6. This isn’t really an Easter Egg. I was just expecting a response more like, “There is a season” or something a little more 60s ish. So I am including this one purely for amusement’s sake.
    Turn Turn Turn

    Turn Turn Turn

Designing Towards The User

Wednesday, May 13th, 2009

Any Systems Administrator who hasn’t heard of Tom Limoncelli should probably do some reading. His latest blog post ‘Gorillas in the Mist’ or ‘Sysadmins at the Keyboard’? over at Everything Sysadmin talks about how sometimes the time spent on designing a product or interface could have been better spent if the organization had just spoken to the people who will actually be *using* the systems.

Those of us that actually do the administering of systems and “grew up” without the GUI for the most part, feel more comfortable in the command line environment. Even when I have to fix something in Windows as simple as networking, the first thing I do is open up a command terminal and type ipconfig /renew. All the time that Microsoft spent developing the end user networking GUI was for nothing when dealing with a user like me. But then again, most users that use Windows aren’t like me. And the time Microsoft spent creating the interface was well spent.

The issues come in when someone like Cisco spends hundreds of thousands of dollars writing interfaces for something like the ASAs (which is actually an excellent GUI as far as GUIs go) and most people who deal with ASAs use the command line. I do most of my Cisco work directly using the command line within IOS. All the *nix machines I administer (which is actually quite a few more than I would like to think about at times), I don’t install any of the GUIs. I do everything via the trusty old command line and I know a lot of others do the same.

Even taking this so far as the development world. Even when I write code, I do so using vim on the command line and not an overkill IDE like Eclipse. Even the long time developers and engineers at my company use the command line when given the opportunity. Now this isn’t to say that GUIs don’t have their place, since they certainly do make some tasks, easier, faster, etc. But the fact remains that companies like Cisco will make these GUIs that costs them hundreds of thousands of dollars to develop/test/deploy/maintain, when the majority of the people that use it usually just want a solid debugging tool where they don’t have to keep clicking over and over (as Tom notes).

Social Media Information Propagation

Tuesday, May 12th, 2009

This morning I read the news story Irish Student Hoaxes World Media With Fake Quote. To summarize the article, an Irish student put a few quotes on Wikipedia on the page of a composer who had recently passed away to see how quickly people would use them. He made up the quotes and they were quickly on the editorial sheets.

The point is that we are all too quickly grabbing information without verifying. Although Wikipedia provides an invaluable service to the online community, it is all to easy to abuse. It seems as though writers have forgotten the scientific part of their career; fact checking. Although I am not a journalist, nor will I ever be, I think that sacrificing fact checking in order to make a deadline may be the wrong approach.

This is just my point from the perspective of Wikipedia. Let’s take this from another social media perspective like Twitter. For example, let’s say that someone wrote on Twitter:

RT @mattcutts Google will no longer honor the rel=”nofollow” aspect of linking

This could cause a pretty big uproar. There will be a massive amount of Tweeting both letting people know that Matt did not say this as well as people blindly retweeting this. Blog entries will show up saying why Google shouldn’t do that. Matt Cutts will likely have to write a blog entry saying he said no such thing. And I am sure all sorts of other hilarity will ensure. The speed of information in this day and age is so fast that misinformation can quickly wreak havoc. This is also a testament to the fact that people are generally more likely to spread negative information than positive information.

And to think all of this could have been avoided by a simple fact check by the first person who did an RT (after the person who made up the quote). And although it would be an interesting social experiment to test such a fact (as above), I think I’ll pass. Just keep in mind, fact checking is not something that should be left by the wayside.

Percona Conference Slides

Saturday, May 9th, 2009

For everyone who was not able to attend this year, here is the link to the Percona Perfmance Conference slides:

I suggest you check them out if you work with MySQL. Enjoy.

Trying Out Twitter

Friday, March 27th, 2009

So I have finally decided to stop being a luddite about Twitter and give it a shot.

I went to a Limenal Group event held by friend Scudder Fowler. He had 3 speakers all talking about CRMs (Customer Relationship Management) and how they relate to social media. The event was great. The speakers were Penelope Trunk, Paul Greenberg, and David Van Toor.

I have always been pretty apprehensive (read against) with regard to Twitter. But with prominent and viral it is, I decided to give it a shot. Point is, if your interested in following me, check me out: Feel free to hit me up on Twitter and try to make me a permanent convert.

Adding Yum to CentOS 5

Thursday, October 30th, 2008

I use a lot of VPS and often times, they don’t actually have yum to make my life easier. So here is a quick HOWTO on installing yum on a CentOS box. This assumes that you have rpm and wget already installed. Note: This will only work on CentOS 5.2 while the mirror is still active.

Run the following code in a temporary directory to download all the RPMs.


for file in \
        elfutils-0.125-3.el5.i386.rpm \
        elfutils-libs-0.125-3.el5.i386.rpm \
        expat-1.95.8-8.2.1.i386.rpm \
        gmp-4.1.4-10.el5.i386.rpm \
        libxml2-2.6.26- \
        libxml2-python-2.6.26- \
        m2crypto-0.16-6.el5.2.i386.rpm \
        python-2.4.3-21.el5.i386.rpm \
        python-elementtree-1.2.6-5.i386.rpm \
        python-iniparse-0.2.3-4.el5.noarch.rpm \
        python-sqlite-1.1.7-1.2.1.i386.rpm \
        python-urlgrabber-3.1.0-2.noarch.rpm \
        readline-5.1-1.1.i386.rpm \
        rpm-4.4.2-48.el5.i386.rpm \
        rpm-libs-4.4.2-48.el5.i386.rpm \
        rpm-python-4.4.2-48.el5.i386.rpm \
        sqlite-3.3.6-2.i386.rpm \
        yum-3.2.8-9.el5.centos.1.noarch.rpm \
  do wget$file;

Once you have downloaded the necessary files. Install them all by typing:

# rpm -Uvh *.rpm

Then feel free to # yum -y update to bring your system up to date.

The Next Step In Browser Evolution

Tuesday, September 2nd, 2008

I was having a chat with my two friends from Redub Consulting about the new Google Chrome browser. At a cursory exploration, we found that (as promised) the Javascript engine is incredibly fast. But I don’t want to throw that out there since Google already us that in their Chrome Comic. I want to talk about where this could be leading.

As some of you know, Adobe Air is a desktop application that can interact with internet applications. The catch here is that since its a desktop application, it has access to the same elements of the physical machine as any other desktop application (USB ports, printers, sound/video out ports, etc). Browsers don’t yet that kind of access to a computer. They are limited to the user space in which they are run in. All the sound and video you hear and see is sent through 3rd party applications within the browser. What if the browser could control those elements of your machine? What if your entire computer experience was now internet based. Google is already trying to push this with software as a service (GoogleDocs), but keep extending this idea. What if your media center could be controlled via an internet application?

Eclipse IDE is now at a point at which you can your code as its running and change function calls at the opcode level to avoid recompiling your program over and over. Eclipse has grown to the point where its almost like an OS in its capabilities. In that same vein, Google’s new browser now controls its individual tabs and sandboxes each tab in order to have task level control over potentially runaway web applications.

So what I am trying to say here? I’m glad you asked. I believe this browser is the next step towards ubiquitous computing in the sense that 1 application to control your internet (or whole user) experience. AppleTV for instance is a set of specially designed hardware that can be interacted with over the internet. By allowing applications, such as Air (and potentially soon Chrome) to internet directly with the hardware attached to the computer, you are are negating the need for that specially designed hardware. One piece of hardware can be designed to do it all in terms of the interactive experience. Google is stepping to the plate and pushing forward for just this type of innovation. Keep an eye on the features of Google Chrome to come. If it becomes integrated any deeper into the desktop, it will open up a new age of ubiquitous computing.

Text Messages to Cell Phones via Email

Monday, December 3rd, 2007

I have been compiling a list of the domains that one needs in order to send text messages to cell phones via email. As a huge user of Nagios, this is how I keep myself aware of the status changes. Below I have listed the carriers that I use most frequently. If you have any others to list here to make this more complete, please add a comment and I will add it to the list.

I have seen other instances of this before, but some are outdated. These are the newest ones that I have come across.

The assumption here is that the telephone number of the person that you are trying to text message is 2225551212. Just make sure that there is nothing in between the numbers (like a ‘.’ or a ‘-‘), Also make sure that you don’t put the ‘1’ before the phone number.

  • ATT:
  • Verizon:
  • T-Mobile:
  • Alltell:
  • Virgin
  • Sprint:
  • Nextel:
  • All Other:

It should be noted that the last item (Teleflip), can be used either in place of any of these or as a fall through. It seems to act as a universal text message system.

Here are the contributed addresses. The thanks are in parentheses following the numbers:

  • Claro (Brazil): (Rodrigo)