Tag Archives: geek

Anything IT related (which is most things I say) :-)

Day 03 – What does your day job involve?

This post is part of my 30 days of geek challenge.

As of this week I’ve just taken on a new full time job, so this has changed a little… :-)

Last month I was running Amberdms as a full time venture, which involved:

  • Lots of project management
  • Handling (herding?) staff
  • Software development
  • Support services between anything from entry level desktops up to linux servers and networking.
  • General business operations, customer interactions, etc

As of November, Amberdms has scaled down to a side venture purely for the software side of the business and I’m now working full time for my old employeer, Prophecy Networks.

My job title is “Consultant Systems Engineer” which I guess is really a combination of:

  • Project Management
  • Pre-sales and customer interaction, including writing proposals, etc.
  • Software development, focusing on web-based applications and system scripting.
  • Engineering support services focusing on enterprise Linux/UNIX and networking systems.

My new job at Prophecy is very self-driven/independent in a way, which meets my entrepreneurial desires and I have a lot of input into customer projects, recommending/designing solutions, implementing and having all the fun, with other staff being responsible for the day-to-day operations and support once deployed.

So far it’s been good fun and I’m looking forwards to the projects that are being lined up for the next few months. :-)

PS: Great to see many other geeks getting into #30daysofgeek, check back to the main article’s comments section for other great blogs. :-)

Day 02 – Preferred programming language?

This post is part of my 30 days of geek challenge.

PHP > SEX

As much as this will make some of you gag and want to cause me physical pain (or more so than normal anyway) I have to admit to being a complete and utter PHP fanboy. :-O

Yes, PHP is quirky at times, but it’s fast, lightweight, easy to develop simple or complex systems with and has a huge number of useful functions and extensions.

I love it’s multi-dimensional hashes/associate arrays, it’s syntax style and the way it feels to write and engage with, it suits me just right. :-)

The other fantastic reason why I love PHP is the vast amount of resource information available online via php.net – being able to lookup any function and see not only the official documentation, but also hundreds of user submitted comments and examples is fantastic.

I’ve developed many major web application projects in PHP (these days mostly in object orientated MVC-style structures) including:

PHP has a bad rep for being “insecure” which is more a problem with stupid configurations (eg register_globals) or the fact that a lot of new programmers start with PHP and don’t always understand the security implications of developing for the web.

Aside from PHP, I’m pretty fluent with Perl (although I kind of hate it) and know bits of C/C++ although not enough to code anything that exciting, my C knowledge is mostly enough to fix a bug in some existing code or hack in a new feature in a simple application.

I want to expand my C++ knowledge and I’m considering looking at Java (for writing apps for Android) as well as possibly experimenting with Python, Ruby or one of these other new  cool languages that people are using. :-)

Day 01 – Why do you consider yourself a geek?

This is the first post as part of my 30 days of geek challenge.

Anyone who knows me would easily be able to confirm that my level of geekiness is high enough for me to go on for hours listing the reasons, however sadly it’s 23:25 and I still have a mountain of tasks to complete before going to work tomorrow. :-(

I think it’s my obsession with computers which makes me a geek – I think my friend Chris Neugebauer summed it up well in his post – being a geek means going above and beyond a normal level of interest in something.

I’ve been using computers heavily for almost half my life and my interest has never diminished, although it has certainly changed over time and moved into different areas – the thing is technology is so exciting and I love the problem solving aspect of it and the new exciting challenges that arise almost daily.

So other than obsession, why am I such a geek? I’d go with a number of reasons:

  • There is no space on my desk that isn’t covered by computers – I have an obscene amount of computers and systems, probably enough to rival a small telco. ;-)
  • The sticker on my laptop which says “my other computer is a data center” isn’t a lie. I really do have a small datacenter. (2x 42U racks)
  • The internet is the most important thing in my life, I would argue perhaps the most important development for humanity to date.
  • I will spend hours, days if I have to, to track down and resolve a problem – to get something like Linux working on a tricky bit of hardware I’ll dig through mailing lists for kernel patches, dig into the code and lose my sanity all in the goal of obtaining a solution.
  • Real life is that thing I have to endure to get between computers.
  • My most important and cherished asset is the data on my hard drive. Everything else is just stuff that clutters up my life. (yes, it is backed up BTW!)

(As a side note, why “geek” rather than “nerd”? I consider geek a badge of honour and can be someone quite cool, nerd implies it in a negative sense, eg maybe someone more socially inept.)

Dawn of a new era!

Today was the first day of my new old job (no, that’s not a typo) at Prophecy Networks, feels strange getting back into a regular routine and doing normal people things like eating lunch at sane hours of the day and waking up in mornings.

It’s not all smooth sailing just yet, I still need to complete a number of hand over tasks and some ongoing projects, but I’m getting there – by the end of November, I should have a much more sane/normal life. :-)

If you follow along on my blog much, you will know that today is the start of 30 days of geek (#30daysofgeek) which I posted about here.

I’ll be posting the first day shortly and there are a few people joining me! :-D

30 days of geek

I haven’t been particular good at keeping up with my aim of a post a day since the end of the 30 days of me challenge, part of the problem is I need to plan in advance what I’m going to write, otherwise it’ll never get done.

The other issue is that the next couple of weeks are hectic as I prepare to transition to my new job – November will (hopefully) be a much saner month.

So I’m proposing a new challenge, which I’m going to call 30 days of geek… for every day in November, I’m going to post something geeky and computer related. Maybe this will help balance out all the introspective stuff from the 30 days of me challenge that people had to suffer. ;-)

If you feel like joining me, please do! Post a comment to this article with your blog URL so others can find it easily and use the hashtag #30daysofgeek on social networks.

  • Day 01 – Why do you consider yourself a geek?
  • Day 02 – Preferred programming language?
  • Day 03 – What does your day job involve?
  • Day 04 – Greatest application written to date.
  • Day 05 – Quick nifty hacks you’re proud of
  • Day 06 – Primary geek fuel (snacks/drinks)
  • Day 07 – Preferred smartphone platform. And which do you use?
  • Day 08 – Preferred method of communication with humans
  • Day 09 – What OS/distribution do you run?
  • Day 10 – Picture, screenshot and specifications of your primary computer.
  • Day 11 – Favourite hacking environment – music, light, seating, etc
  • Day 12 – What area do you want to expand your skills into?
  • Day 13 – How did you become such a geek? Career? Personal interest?
  • Day 14 – Favourite computer conference?
  • Day 15 – Earliest geek experience
  • Day 16 – First computer you’ve ever owned & your favourite ever.
  • Day 17 – Post a useful HOWTO to solve a challenge you’ve come across recently.
  • Day 18 – Most cringe-worthy geek moment
  • Day 19 – Most hated computing environment.
  • Day 20 – Where do you stand on Internet Censorship?
  • Day 21 – Favourite thing & worst things about working in IT?
  • Day 22 – Release some software under an open source license that you haven’t released before.
  • Day 23 – Post a review of an application that you use.
  • Day 24 – How do you feel about Open Source vs Proprietary software?
  • Day 25 – Microsoft – friend, foe or other?
  • Day 26 – Apple – friend, foe or other?
  • Day 27 – Fix a bug in some open source software and commit the patch
  • Day 28 – How many computers lying about the house?
  • Day 29 – Looking back (at geek life), would you have done anything differently?
  • Day 30 – Where do you see technology advancing in the next 20 years – and where will you fit in?

So that’s 30 days of geek, which I’ll be starting on the 1st of November, join in, it should be fun :-)

Exciting new job

I’ve been talking about making some changes lately and moving to a new career path or even going overseas.

I’ve decided to stay in Wellington NZ for now and accepted a position with my previous employer, Prophecy Networks who focus on delivering IT services for businesses and enterprise, starting from the beginning of November.

My new role will be as a consultant working with their clients with particular focus on enterprise & telco level engineering and development projects – exciting and challenging work to keep me from getting bored. :-)

If you’re wondering about what will be happening with Amberdms, don’t be too worried – the company will continue to exist and continuing to develop our open source products but the IT support side of the business will be moving to other providers.

Whilst I’ll miss the busy life of a startup, I’m certainly looking forwards to saner hours (40/50hrs rather than 80hrs) and the stable income it brings.

I’m planning to use some of the free time that results to hack on more open source projects and do some R+D projects of my own as well as a few possible new Amberdms products.

More information and plans will undoubtedly get posted over the next few weeks so add the RSS for this blog to your reader if you want to keep informed. :-)

Microblogging, Twitter, Pidgin & prpltwtr

As some of you *might* have realised, is that I’m actually slightly addicted to twitter.  However I’ve been having a few frustrating problems recently:

  1. Twitter is taking up far too much time, a lot of it due to the very intrusive way that one has to check twitter, thanks to it having it’s own interface.
  2. New twitter isn’t particularly good, it even manages to bog down the performance of my older mac mini that I use as a TV computer with sluggish javascript.
  3. I’m not that happy using a proprietary network and want to move to StatusNet in future, however I need a cross-network client that can do both twitter and StatusNet, ideally one that is open source.
  4. Twitter search and logging sucks – a decent client with built in logging would be very useful.

I use Pidgin for all my other instant messaging needs – I have yahoo, MSN to facilitate communication with people stuck on those networks, as well as XMPP and IRC all via one application with a unified user experience.

I did consider using an open source microblogging focused application, such as Gwibber, however all the ones I’ve found don’t work well for huge volumes of tweets or getting back to historical messages (from a usability point-of-view).

I had a look around at twitter plugins for pidgin/libpurple, and came across two particular ones that looked good:

  1. microblog-purple
  2. prpltwtr

Both these clients support Twitter as well as StatusNet for future proofing – here’s my thoughts on both:

microblog-purple

Microblog-purple appears to be an older and well polished project. I also found that it was included in the Fedora 13 repositories which made installing and testing very easy.

Where it fell down for me, is that it lacked avatars and would raise notification of new messages for all tweets received, not just @replies. For me, this is a considerable annoyance and I couldn’t figure out a way to fix it.

On the plus side, it did have a very handle command interface, such as \refresh to get new messages ASAP or \replies to get a list of recent replies received.

Whilst this plugin didn’t meet my needs, I can certainly see it being useful or a good option for others, so don’t discount it purely on the fact that it didn’t do exactly what I wanted.

prpltwtr

Prpltwtr looks like the younger project, however has done a nice job of making twitter more XMPP like and has the nice ability to display the user avatars in the chat window.

There were several really nice features:

  • Avatars so I can see my great looking picture everytime I post (I’m not a narcissist, honest!)
  • All the searches I have setup appear in Pidgin as chat rooms, so you can load them and just follow along with the conversations – eg at a conference.
  • When a new @reply or DM comes in, Pidgin opens it as a separate conversation tab, just like if someone had started a new IM conversation with me. This might get annoying, but I think it’s quite effective and I think it can be turned off.
  • The home timeline acts as chat room, so your normal notification rules will apply – in my case, it only alerts me to messages if someone does an @reply.
  • There is an option to have all your twitter friends appear in pidgin as contacts. I have this disabled due to the fact I follow 300+ people and it would be a bit much.

It’s not all perfect, there’s a couple limitations/bugs that I might take a look at given time:

  • The home timeline refreshes faster than the @replies – so sometimes I see a reply in the home timeline to me, but the new window doesn’t appear for another window or so – it should really be smart enough to recognise the reply and load the window at the first opportunity.
  • The UI for doing replies is a little clunky – I think microblog-purple does it a lot better with the reply done by clicking the twitter handle.
  • A reply-to-all feature would be nice – this seems to be lacking in so many clients, even official twitter for android still doesn’t have this :-(

Here’s a screenshot showing off the behaviour on my Fedora 13 machine:

Note in particular:

  • Saved searches appearing in side bar – you can add or look for a specific one by joining a chat using the hash tag as the room name.
  • The home timeline acts as a chat room – the people you are currently engaging with appear as being in the room on the right.
  • @replies or DMs are opening new tabs – eg you can see @nzJayZee’s @reply in the home timeline, but it’s also opened into a new conversation tab.

Overall it seems very nice though, maybe slightly immature, but I’m going to give it a run for a week and see if it meets my needs or if I can hack in the features that I need. :-)

Get prpltwtr!

Sadly it wasn’t packaged in the Fedora 13 repositories, so I’ve gone and compiled some RPM packages for it – these can be downloaded from the Amberdms open source Fedora 13 OS repositories. (repo page or direct link)

Unsure about other distrutions, however compiling it is just a case of making sure that pidgin & libpurple development packages are installed and downloading the source tarball from the home page.

There is also a version available for Windows users and in theory it should compile for MacOS…. post a comment if you do get it to work on other platforms please. :-)

Configuration

Once installed, it’s just a case of enabling the plugin and then going and adding the account type. Make sure you check to use OAuth authentication, since traditional/basic authentication is no longer accepted by Twitter.

By default the home timeline will update on a 1 minute basis – right click and edit settings on the contacts entry to change.

The @replies and direct messages are 30mins by default, I changed mine to 5 mins to be more useful to an addict like myself.

Verifying an SSL CA certificate

Whilst banging heads with an LDAP server recently, I needed a reliable way to verify that the SSL CA certificate I was using was the correct one for the certificate being returned by the server.

I came across this useful command after a search:

$ openssl s_client -connect ldap.example.com:636 \
    -CAfile /tmp/ca-bundle.crt -showcerts

This command will connect to the specific server and port (could be anything, in my case I’m using a secured LDAP server) and will use the specific certificate authority (/tmp/ca-bundle.crt) for verifying the certifcate returned by the server.

If the connection is established, it’s the correct/valid CA, if it doesn’t, the CA file is wrong and that’s probably why whatever you’re trying to debug is having issues connecting.

The other handy command I came across (thanks to SamatsWiki OpenSSL cheatsheet) is the following command which displays all the information, dates, stats, etc, relating to an ASCII format SSL certificate:

$ openssl x509 -in example.pem -noout -text

This is going to be a very handy command when I want to check when a certificate is going to expire without having to access the service itself to find out.

Day 25- What I would find in your bag

I tend to carry around a lot of stuff with me all the time – those who have met me IRL will know that I *always* have my laptop with me, no matter where I go.

I have managed to cut down on the amount of stuff, I have a separate bag I leave at the office that contains all my tools like SATA/IDE to USB adaptors, screwdrivers, crimping tools, cable ties, etc since I was getting too many to keep carrying about with me.

So the following is my bag – it’s from linux.conf.au 2010 which was held in Wellington – survived about a year of me so far, but will probably need replacing in another 8-12months time since it’s starting to break up in parts.

It’s a pretty good size for fitting in my laptop in one of the pockets as well as all the other bits I carry around, although I to tend to find that things just get jumbled together, more smaller compartments would be nice.

Would be great to have a bag that’s perfectly sized for my 12″ ultra light laptop, most bags I’ve found  are either too small, or designed for larger 15″ monstrosities.

Here’s what I’ve managed to fit into it:

Going from the top left, along, and down:

  • A5 drawing pad – I’m not much of a paper person, but using this a lot more these days for quickly sketching out application diagrams, user interfaces and other ideas as well as using for noting stuff whilst wandering around client sites providing IT support.
  • Vegan Wallet – Like most wallets, it contains money, cards and other junk. I’m not a huge fan of having it in my pocket,since my pockets are occupied with keys and phone.
  • Laptop – My Lenovo Thinkpad X201i 12″ ultralight laptop with extended 9cell long-life battery pack in it’s sexy lyra jumpsuit to keep it snug and protected.
  • Laptop PSU – tend not to use this so much, don’t really need to carry it around (I have one already on my desk at home and work) but the one time I don’t take it will be the time I need to charge my laptop on the go….
  • Three pens – cheap BIC, sharpie and more expensive BIC for sketching since I like the feel and line quality more.
  • CDROMs – sysrescuecd (a linux-based CLI live CD with lots of handy tools) and a Fedora 13 install DVD.
  • Cougar Protection
  • linux.conf.au branded screen wipe. Not that I ever actually clean my laptop screen as so politely pointed out by many people…. :-/
  • Cruddy Nokia mobile – have to carry this for one of my support contracts
  • Amberdms business cards
  • Plantronics Discovery 925 bluetooth headset in it’s docking/charging cradle. LOVE this headset, very crisp/clear, plus the fact it can pair to two phones or a phone and a laptop at the same time is brilliant.
  • USB cable for the headset charging. Which annoyingly is NOT a standard mini-USB cable. >:-(
  • Sunglasses and protective case. Kind of bulky and annoying to carry around, but summer is just starting and I’m allergic to light like any true geek.
  • Random trash
  • CNet USB bluetooth adaptor. I have no clue why I’m carrying this about.
  • ASUS USB 802.11g Wifi adaptor with Ralink chipset. I was carrying it when I was having problems with my laptop’s wifi since it works well with Linux, but not sure why it’s still in my bag now :-/
  • Key in plastic bag – I think this belongs to my mum’s luggage…. why I still have it, is a good question.
  • Spare key for my car on some long key chain.
  • Very cruddy old ethernet cable.
  • USB to serial adaptor, since I sometimes need to plug into networking gear with it and my laptop has no legacy ports anymore. :-(
  • 256MB USB drive on lanyard – use this as a boot drive, so often flash it with any boot image I need to do net/internet based Linux installs onto computers.
  • 4GB ADATA flash drive containing install files when delivering IT support.
  • 2 or 4GB flash drive from linux.conf.au which is used for random junk when I need it.
  • 8GB ADATA flash drive, used for sharing files with others when a network is not handy.
  • PS/2 to AT adaptor. I brought this when I needed it once for an ancient customer box. I’m really not sure why I’m still carrying it about, active machines with AT connectors are pretty damn rare these days.
  • Vodafone USB “vodem” (Huawei 3G modem). I technically don’t need this any more since my laptop now has built in 3G, but trying to splice the windows binary drivers to get it to work is proving to be a real PITA and I haven’t had the time to get the internal 3G to work yet. :-(
  • Lenovo ThinkPad Bluetooth Mouse – love this mouse, thought it might be a bit small originally, but it’s actually a great size, doesn’t suffer from interference/lag like some of the older RF mice, and being bluetooth, doesn’t require any additional adaptors plugged into my laptop wasting USB ports and power.

All together this is pretty much my life/office – when I travel, I add a NZ multiboard to it so I can charge all my devices and sometimes carry the spare 6-cell battery pack for my Lenovo.

Add my stereo or headphones and my model M and it’s pretty much all the assets that I own that I really care about.

Day 22- What makes you different from everyone else

Where do I begin on this one? It’s not like I fit the social norms….

  • I’m vegetarian.
  • I run an IT company.
  • I believe strongly in open source.
  • I spend an insane amount of time on a computer. Some might even claim I’m a bit of a geek. ;-)

Of course, whilst I might think of everyone else being “sheeple”, in reality, everyone has their own differing personality traits, just some more than others, so this is kind of a silly question.