Brokenhaze

The thoughts of a SysAdmin

  • Home
  • About Me
  • Contact
RSS

Levels of Interruption – How Important Is What You are Asking me?

Posted on March 22, 2012 by George Beech
No comments

Communication is an important thing in any team environment, and part of communication is realizing how your chose form of contact interrupts the other people on your team.

Generally we get interrupted multiple times a day via our various means of communication. Generally we are available via: Phone (both land line and cell), IM, Group Chat (IRC/MSN/Skype/etc or some web based chat system), and email. We will get incomming messages via all of these mediums in a day, and need to prioritize, respond (or ignore) and action each one of these requests. Each different way of getting in touch with me brings along an implicit level of importance as well as a speed of action type identifier.

Phone (and text messaging)

What do I think when you call me – or conversely I call you? To me it means that whatever you are calling me about is something that needs immediate action, generally it’s a show stopping problem, or a request for information that is blocking you from working on your assigned task at this time. Phones are the most immediate means of communication, and necessitate that I immediately switch to working on whatever the call is about. Now, if you abuse the phone I will stop picking up for you, and make you leave me a message – or tell you to put in a help desk ticket. You should only be calling me with critical things, that need attention right now.

Instant Messaging and Group Chat

This is slightly less interrupting, Instant Messaging is closer to a phone conversation – it tends to indicate that you need something now, but not right now. I can take my time to respond, but generally it should be within 0-10 minutes. The person I’m responding to has real need of the information, or there is an ongoing conversation happening.

Email

First, I know a lot of people don’t like email. Personally I think it is a great async communication method. It is also the method that conveys the least amount of importance – and yes, using the damned “Important!” flag doesn’t make it more important, if it’s that important use one of the other methods. It’s a great tool for keeping a team informed on what is going on, asking for ideas and feedback, and other things that don’t need immediate attention. Email doesn’t interrupt workflow, and allows you to take time to get back to someone.

When I’m talking to someone I decide what level of interruption I need to keep working well and use that method, and at the same time I judge how important an issue is by the way you contact me. It’s a great way to easily prioritize things, now if only people would get on board with my system!

Categories: Thoughts and Rants

Where are all the SysAdmins?

Posted on February 14, 2012 by George Beech
4 comments

I had a great – albeit brief – conversation with Matt Simmons while he was in town on his world tour in NYC recently that got me thinking about bringing the SysAdmin community together. This isn’t the first time that I’ve thought about how bring the SysAdmin community together in a stronger way. And, since I’ve joined Stack Exchange I’ve thought about it more and more since community building is a big part of what we do here.

The working theories are that there are a large portion of our community in the small business sector – places like regional ISPs that have a large need for administrators, but aren’t that big in the grand scheme of things. But it _seems_ that a good deal of system administrators aren’t involved in the community at all – or at least not in a visible way. There are a few questions that come to mind when you start to think about how to grow and solidify a community:

* How do I reach these people
* How do I get them involved

The problem I’m having now, is simply I don’t really have any ideas on how to accomplish these goals, how to reach out and bring people into the wonderful community that is being built.

I shall keep mulling this over, but if you have any ideas – leave them in the comments below.

Categories: SysAdmin, Thoughts and Rants

*Shudder* DevOps

Posted on February 6, 2012 by George Beech
4 comments

I think the first time I heard the term DevOps I didn’t think all that much about it, in fact I vaguely remember thinking “oh great another group of developers that think they don’t need sysadmins and they can just code themselves out of any systems problem.” Of course, at the time I was working in a soul crushing job, with incompetent programmers who thought their job was to push out code and as long as it ran on their laptop everything was just fine. So, I may have had a slightly … jaded view of things. At that point I just put my head back down and got back to work.

It’s been about two years now since I first heard the term DevOps, and you know what – i _still_ don’t like it. However, now I don’t like it for completely new reasons.

The first, and I think biggest problem I have with the term DevOps is simply this – it shouldn’t exist. Simply, what people are calling DevOps should be shortened to “SysAdmin.” That’s right every SysAdmin should be working this way – there shouldn’t need to be a new term. Every SysAdmin should have a basic set of skills, a common ground we are first and foremost IT workers – that means we craft raw computing power into usable and complex systems. Those systems are not built by hand after the first time. They are built by automation, automation lets you not have to worry about the details of a solved problem. Automation lets you know that your complex system will be built correctly the second, third, Nth time.

In my opinion every sysadmin should at a minimum say yes to all of these things:

* You should be able to script in at least two languages
* You should have a passable command of one compiled language
* You should be able to look at a piece of code in any language and have an understanding of basically what is going on
* Why? So you can talk with your devs, that’s why

There are many people that will wave their hands, and shout “But, But that’s not what DevOps is about – DevOps is about bringing your Developers and SysAdmins closer and getting them to work together for a common good.” Ok, that’s a fair point and brings me to the second problem I have with DevOps. That problem is that the real word you are looking for is **TEAMWORK**. You shouldn’t need to coin a new term that says the IT department should work together – that should already be the goal.

My boss at my last job but it very well:

> The guys in charge don’t care about how things get done. They only care that they do get done. All they see when the Dev and SysAdmin teams argue about anything is “The Geeks are fighting again – I don’t know about what and I don’t care, they just need to figure it out and get it done.”

Everyone outside of IT sees us as a collective but, we still bicker between each other like children a lot. We need to start seeing everyone as part of the *same team*. We should take the ideals of the DevOps movement and repackage them as how things are done every day in the IT department. No need for special labels, no need to make a huge fuss about it. We just need to drop the label and get to work.

*For any dev that reads this and goes “what about me” you can just s/SysAdmin/Dev/g and it still applies – for the most part. I’m a SysAdmin so some things may be slanted that way.*

Categories: SysAdmin, Thoughts and Rants

There is No Such Thing as Too Complex

Posted on August 12, 2011 by George Beech
No comments

This is a crazy idea, but it’s true there really is no such thing as too complex in an IT environment. If you take a moment to think about it, everything we do is incredibly complex. Really, just take a moment to think about it. There is not one thing that you do as a Systems Administrator that isn’t complex.

You still don’t believe me do you? Fine. Lets take a look at a very simple operation. We are going to monitor a single box via SNMP. We are going to assume that you already have a central monitoring box already setup.

1. You configure your box-to-be-monitored with SNMP, configuring the proper access controls
2. You add any extra scripts that you need to call via SNMP
3. You open the firewall on the box to allow SNMP traffic
4. You configure your monitoring server to query the box-to-b-monitored via SNMP
5. You check the results

And, THAT is the simplified version of events. In reality there is a lot more that goes into just the simple process of monitoring ONE machine. That really is complex, and it’s not a bad thing.

Now having said this:
> There _is_ such a thing as **BAD** complexity.

Bad complexity is complexity for the sake of making something more complex, or the inverse: making something less complex for the sake of being *not* complex. What you want to do is create a system that is of the **correct** complexity. That is you want to create a system that is neither too simple, nor too complex.

The problem that you run into with either end of the complexity spectrum is this: either you have a system that is too basic and cannot be scaled properly as the need arises *or* you have a system that is unmaintainable, and cannot scale because there are too many pieces meshed together.

When you are designing a system, you really will never achieve the perfect amount of complexity. There will always be trade-offs you have to make, based on past design decisions, future configuration considerations, and application constraints. However what you can do is make every decision in a thoughtful way that tries to strike a balance between the two extremes of complexity. And that, is one of the true zen things when you are a sysadmin. You achieve this beautify nearly perfect level of complexity system, and you sit back and smile. Then you go run to put out the next fire.

Categories: SysAdmin, Thoughts and Rants

SysAdminTools – Making Our Lives Easier

Posted on July 29, 2011 by George Beech
1 comment

First, it is SysAdmin Day! So happy sysadmin day to all of those hardworking sysadmins out there. I’ve had a project that I wanted to get off the ground for a while now. In fact, I think of it every time I move jobs, or start working on a project and think “wow this could be really useful to the other sysadmins out there.”

So in the spirit of sysadmin day, I’m announcing a new open source project that I’ve put up on github today. I’m calling the project “SysAdminTools” my vision is that it is a place where we can put all of those tools that we create out there and help our fellow admins by stopping the constant re-inventing of the wheel at all of the different places out there.

Honestly I’ve never seen a place that is a central collection of scripts and utilities that are useful to the brotherhood of the sysadmin and that is something I have always wanted to see out there. There have been many a long night hacking together some code where I’ve spent a few hours thinking to myself: surely someone has done this before! And yet, if they have it’s locked up in the bowels of some private RVS or on some random file share somewhere.

I think today is a great day to say enough is enough, and put this out there. I’ve seeded it with some of the utilities that we have put together at Stack Exchange some of them need work most of them have TODO’s but I promise to keep working on them and I call on you the great sysadmin community to help add to, grow and improve the scripts in this repository. My dream is that this grows to be _THE_ repository for sysadmin tools and scripts.

The repo can be found at: https://github.com/GABeech/SysAdminTools

Categories: Open Source, SysAdmin, Tools

The End of A Long Commute

Posted on March 31, 2011 by George Beech
No comments

I am nearing the end of my long daily commute from Philadelphia to New York City. The end result hasn’t been too bad, although over the past six months the daily hour and a half commute has worn on me at times. My journey started when I took my current position at Stack Exchange as a Systems Administrator in their New York offices.

My first inclination was to move up there ASAP which, looking back would probably have been the better idea even if I was losing sleep over the stress finding a place in NYC in about a week was causing me. The journey for me began when I accepted the position, I gave my notice at $evil_corporation excited to start in on an adventure at a hot VC funded startup. Of course I started looking for a place, hit up my sister for advice (since she has lived in NYC since she went away to college). I thought I had everything set, spent the week lining up apartments to look at during the week between knowledge dump session. I then intrepidly headed up to NYC for the weekend to look at these places. I had 13 apartments lined up to look at over the course of a weekend.

I figured I would surely find a place that would work during that time. The first rude awakening that told me the NYC real estate market was nothing like what I was used to was when I woke up Saturday morning to find that 8 of the places where no longer available. Wow.

The second realization was that Manhattan apartments where … small, very very small. Although, oddly I was OK with this. I figured if I was going to move to NYC I wanted to be in the center of it all – at least for a year or two – while I’m still young enough to appreciate it. So, feeling a little bit depressed at not having found a place, and stressed out that I only had one week between my last day at my old job, and my first day at my new job I sat down and decided that it would be best to commute for a little while. I was thinking that this would only last a few months at first but that has transformed into six months at this point!

I have survived the commute now with the help of a few gadgets – and being a geek would you expect anything less?

* Laptop with cellular modem
* iPod
* Noise Supressing headphones
* Kindle

Being able to listen to music, read, serf the internet – and occationall do some work on the train was a great help in me keeping my sanity during these long commutes to and from New York.

Now that I have gotten a place in NYC, and will be moving up in the next few weeks I’ll miss my life in Philly but i’m looking forward to starting anew in NYC.

Categories: Life

Full Featured Email using powershell

Posted on March 25, 2011 by George Beech
4 comments

Note: This is copied (thank you wayback machine) from a previous incarnation of my blog. I was very sad when I realized this post was gone, then very happy when wayback machine had it

A little while ago i spent a lot of time trying to figure out how to send an email that fulfilled the following requirements:
Multiple Recipients
Attached File
Meaningful Subject
Sent without an external executable
Thanks to powershell’s ability to access .Net libraries, this is a fairly simple, however not quite so well explained – at least that i could find – process.
Let us start simply, with the basic SMTPClient Object, and setting the Server Variables, settings, etc. The most basic way to configure your server is to simple create a.Net System.Net.Mail.smtpClient object, and set the email server hostname, taking the defaults.

$SMTPClient = new-object System.Net.Mail.smtpClient
$SMTPClient.host = ""

Simple, right? Then lets get a little bit more complicated. Lets send an email to a host that requires authentication. To do this, we are going to need another .Net object: The NetworkCredential Object from there we can set the domain, user, and password, set these values on our SMTPClient.

$Credentials = new-object System.Net.networkCredential
$Credentials.domain = ""
$Credentials.UserName = ""
$Credentials.Password = ""
$SMTPClient.Credentials = $Credentials

The above code is fairly self explainitory, if you were to display $SMTPClient (Just type $SMTPClient on the console) before and after when you set the Credentials property you can see that is has been set. There are a few other options that you can set on the SMTPClient object, including Port, and SSL to see all that you can do issue

$SMTPClient | gm

Now, we have the Client setup, we want to configure message that we want to send. This will include setting up the Subject, To, From, and Body. What I do to send mail is use an overload of the SMTPClient object that lets us use System.Net.Mail.MailMessage to send the mail, it gives you ALOT more control over your message. First lets get ourselves another .Net Object, the MailMessage Object.

$MailMessage = new-object System.Net.Mail.MailMessage

The next thing I want to do is Setup my addresses The To: and From: addresses are yet another .Net object System.Net.Mail.MailAddress. Here is how you set those up, it is very simple and all you really need is the constructor which is overloaded. You can setup your address in the following two ways.

$Address = new-object System.Net.Mail.MailAddress("user@domain.com")
$Address = new-object System.Net.Mail.MailAddress("user@domain.com", "Display Name")

Either was you want, you need to create at least two one for your sender, one for your recipient. After we get those options out of the way, we just need to do the final setup on our message. That will include setting up the Subject, Body, and feeding it the To: and From: Addresses we already created.

$MailMessage.Subject = "Hello World!"
$MailMessage.Body = "String Body"
$MailMessage.Sender = $Sender
$MailMessage.From = $Sender
$MailMessage.To.add($Recipient)

Why, you ask, am I setting the $Senter twice, the Sender property is the Displayed From Address, while the From property is the repy-to address. You can send an email with an html body just put the code in your Body string, all you have to do is specify the boolean IsHtmlBody property.

$MailMessage.IsHtmlBody = $true

Now, how about adding an attachment. This is done very simply with another MailMessage property set to the .Net Attachements object

$Attachment = new-object System.Net.Mail.Attachment("")
$MailMessage.Attachements.Add($Attachment)

That is all there is to that. There is one last thing we have to do to get this mail off and on it’s way. Simply. Send It!

$SMTPClient.Send($MailMessage)
Categories: Powershell

And we are back

Posted on February 28, 2011 by George Beech
1 comment

After about a year off from writing on a personal blog, i’ve decided that I should really do this things again – for reals this time.  Being inspired by the writing I’m doing for my job, and the fact I’m actually missing doing this – along with about 30,000 things i’ve been thinking about and keep saying “I need to write this down somewhere.” I’ve finally decided to jump back into the fray.

This is probably my third or fourth time i’ve gone around this loop, writing, not writing. And amazingly through everything my domain has always been available to me.

I’ll be taking the next few days/weeks to get the blog to a state that makes me happy, as well as to start to just write.

 

And really this is placeholder text so there isn’t a 404 on the front page.

Categories: Random Ramblings
  • Recent Posts

    • Levels of Interruption – How Important Is What You are Asking me?
    • Where are all the SysAdmins?
    • *Shudder* DevOps
    • There is No Such Thing as Too Complex
    • SysAdminTools – Making Our Lives Easier
  • Archives

    • March 2012
    • February 2012
    • August 2011
    • July 2011
    • March 2011
    • February 2011
  • Blogroll

    • Kyle Brandt
    • Peter Grace
    • Server Fault
    • Standalone Sysadmin
    • sysadmin1138
    • The Nubby Admin
  • Categories

    • Life
    • Open Source
    • Powershell
    • Random Ramblings
    • SysAdmin
    • Thoughts and Rants
    • Tools
© Brokenhaze. Proudly Powered by WordPress | Nest Theme by YChong