NB Attributes for Developers to Have

I recently did a talk at JS in SA and this is it:

Intro

At a conference like this, I’m almost guaranteed that I’m not the smartest person here. That realisation doesn’t help my nerves at all, especially since most of my talk is based on opinion.

Here’s some background on me to help show that I’ve got some street cred. At work I’m called either the “Grumpy Bastard”, or “Oupa”… Apparently I’m old because I started coding back in 1984 – I was 7 at the time so it wasn’t anything amazing. I did my first paid teaching gig around 1989, and my first paid coding around 1991/2.

I’ve been at my current company for the past 10 years moving from Developer, to Team Lead, to Development Manager, to Operations Manager. So I’ve moved from programming computers to programming people – across all departments in the company. Based on this role change, my talk has a bit more of an “Operational” (inter department) focus.

If you have any concerns or questions, I’m available online or in person to talk about it. I would love to learn and change my opinions, or help you understand my thinking if I’m too vague.

The Plan

I’m going to start by talking about some basic concepts that I hope you’ll all agree with, and I will then move on to some of the more opinion based thinking.

I am explicitly not going to talk about the following two things:

  • Balance – I’m hoping Martin will touch on this when he does his talk on “zen, Burnout and Programming”.
  • Conflict – Theo has his talk dedicated to this topic, so I won’t try to do the same.

“Smart and Gets Things Done”

I first saw this quote back in 2005 when I was starting to hire developers more regularly. It comes from Joel Spolsky’s great “The Guerilla Guide to Interviewing” 1 (He has also written a book on the topic 2) There are two halves to this:

Get Things Done

If you don’t get things done, you don’t deliver your product. If you don’t deliver your product, you don’t get paid. If you don’t get paid, you don’t eat… and if you don’t eat, you die. Nobody wants to die, so you need to deliver.

Smart

So you deliver, but at what cost? What if the short-cut you take now costs you maintainability. So in 3 months time you can no longer deliver work or changes quickly. Now suddenly because you “got things done” in a silly way, you are no longer able to deliver. And if you don’t deliver, you don’t get paid. If you don’t get paid, you can’t eat… and if you don’t eat, you die.

The down side of “smart” is that you can over-think your solutions. So if you plan a system that is easy to understand, can scale to all possible future scope required, and is amazingly performant, you could end up spending two years designing the system and not delivering it. And again, if you don’t deliver, you don’t get paid. If you don’t get paid, you can’t eat… and if you don’t eat, you die.

So you need to use both halves. In my mind, the act of becoming smart must enable you to get things done – so learning the right tools and techniques helps you “be smart” faster” so you can deliver better solutions.

Be Self Aware

You know how to make computers do what you want them to do, but do you know how to get the best out of yourself? There’s a lot you can gain from learning about yourself. Try looking at things like:

Larn about productivity tips and techniques to understand how you cna arrange your work time to your benefit:

Once you know how your brain ticks, you are able to be more productive. Being more productive is a great way to motivate changes in your work environment. Understanding yourselve lets you explain yourself and your needs better to others.

Communicate Well

A common problem I’ve seen is communication between a Developer and Business … and vice versa.

Here are some examples of developers not quite communicating well:

  • At one of my first jobs there was a developer who wasn’t happy that when it rained a LOT, mud would wash into his parking bay. His way of raising the problem with the rest of the company was to scoop up mud and drag it through the office. It didn’t go down quite so well.
  • I’ve been in a meeting where a developer started shouting at the client because the client was asking for something that fell outside the developers view of what a client would need to do. In the end the relationship burned out and the two could not work together anymore.
  • I’ve seen developers who refuse to work on something without using Technology X, not understanding the business difficulties in implementing it or the pressures on delivery. This has lead to projects that can’t be implemented, or that take twice as long as the client has available.

This communication is not just from developers, I’ve seen examples from Business too:

  • Businesses who expect people to work longer hours, without extra pay, continually. Businesses who expect people to “do more, with less”.
  • One business I was in would reward their Sales for selling the client on short delivery times by giving them large bonuses, but there was no thought for the developers who had to work 18 hour days for weeks to meet those deadlines. The developers would get into trouble for sloppy work, or delays in delivery.
  • There are also those businesses who don’t understand technology – almost the opposite of the developers who hold business hostage. In this case businesses expect things that can’t happen, pressurise developers to deliver in unmanageable timeframes, etc.
  • And then there’s the project managers who think that interrupting you every 5 minutes to ask “Are you done yet?” will help you to be more productive, instead of the horrible time waste it causes you because they’ve just dragged you out of the zone.

While I pick on both halves of this problem, you can’t expect that others will change – you need to look at how you can change your actions to bring about change for yourself, and possibly in others.

When it comes to communication, you need to look at how you communicate. You need ways to bridge the gaps between development’s priorities and business’ priorities. Don’t forget that there are loads of ways of working that are specifically designed to help with this. Look at tools/techniques like “Agile” / Lean / MVP.

One last thing that we need to be aware of is picking the right communication medium – Phone, Voicemail, SMS, Instant Message, or eMail. Don’t email in anger, calm down a bit and the nuse the phone – helps you to focus on the fact that the person you’re angry with is a person and not a faceless being. Don’t leave a voicemail when you need an instant reaction.

While I’ve focussed on things “not to do”, just remember that you probably have really good reasons to do what you do. So you need to be able to trust who you are and why you’re made that way. Your skills and thought patterns have an important bearing on the business you work in. 9

In the end it boils down to this: Trust your gut, but don’t communicate with it

  1. “The Guerilla Guide to Interviewing” 
  2. Book: Smart and Gets Things Done – Joel Spolsky – Amazon 
  3. Clifton Strengths Finder – Find broad areas of skills/strengths you have so you are able to play more to your strengths, instead of focussing on your weaknesses. 
  4. Reality Is Broken by Jane McGonigal shows a lot about how to use “fun” to improve engagement 
  5. Coursera – Gamification – by Kevin Werbach (twitter) – This free course covers a lot of what motivates people and why. It’s a great way to learn how to design systems and people’s reactions to them. (Including your own) 
  6. Behavioural Economics – e.g. Dan Ariely‘s Predictably Irrational 
  7. Positive Psychology – Viktor Frankl‘s views on purpose. 
  8. Body Language – there’s a lot to this, but a short example: Amy Cuddy, TED, “Your Body Language Shapes Who You Are” 
  9. Melissa Marshal, TED, “Talk Nerdy To Me” 

On Authority, experience, and doubts

I’ve managed to cooerce my way into talking at a local Javascript conference next month and I am struggling to write up my talk. It’s only 10 minutes which means I have to find a way to summarise a lot of content into a short amount of time. But oddly enough, that’s not my biggest problem.

My talk is titled “Important attributes every developer should have” and every time I write something, I end up thinking “but what gives me the authority to say this?” I keep thinking “who am I to have an opinion about this?”. There are far better educated people out there than me. I think of people like Scott Hanselman who has encouraged thousands of developers internationally, or local guys like Mark Pearl, or Kevin Trethewey, who have encyclopaedic knowledge and experience to back up their opinions.

I keep thinking things like:

  • “but you don’t have your masters”,
  • “but you don’t read a lot of development books”
  • “but you don’t have a history of speaking at conferences”
  • “but you have no qualifications to back your thoughts about ‘soft skills’”
  • “who are you to talk about attitudes when you have no psychology degree?”
  • “how can you say things when you don’t have studies to back them up?”

I tend to be someone who over analyzes everything, and I want to back up everything I say with hard facts and data. I’ve seen people go horribly off the rails when spouting forth “non-scientific beliefs”, so I want to be 1000% sure (yes, there is more than 100% certainty – maths can’t always be right… 😉 ).

What I do have is a bit of experience… I’ve been teaching people to code since I was in grade 6, did my first paid programming work when I was in grade 9/10, and have been programming since I was about 7 years old. I’ve been professionally developing for the past 15 years, hiring people for the last 9 years, and leading teams for about 11 of my 15 years of work.

Yes, I might have some bad ideas. Yes, I might not be able to back up my opinions with science, data, or even just by sheer force of personality.

But I am going to choose to believe that by having an opinion, expressing it, and being prepared to engage with people, I will be able to learn more and encourage growth in more people than if I say nothing.

I might be wrong, but hopefully I will always be open to correction and teaching… and that my thoughts born out of personal experience will resonate with others in similar situations and we will learn and grow by talking together more than we would by staying silent.

Doing is believing

We’re always told that you need to change your thoughts to change your attitude, something along the lines of  Mahatma Ghandi’s quote:

Your beliefs become your thoughts,
Your thoughts become your words,
Your words become your actions,
Your actions become your habits,
Your habits become your values,
Your values become your destiny

Or the Christian statement from 2 Corinthians 10:5:

we take captive every thought to make it obedient to Christ.

The problem with those quotes can be that we end up in a bit of a vicious circle, as they don’t work for every situation.  There’s an alternative approach which I’ve seen in a few different areas.  The approach has a long history but most seem to cite Aristotle’s writing:

but the virtues we get by first exercising them, as also happens in the case of the arts as well. For the things we have to learn before we can do them, we learn by doing them, e.g. men become builders by building and lyreplayers by playing the lyre; so too we become just by doing just acts, temperate by doing temperate acts, brave by doing brave acts.

This brings a different approach to changing your thoughts or beliefs.  Insead of trying to change how you think, you change what you do.  I was seeing a Cognitive Behavioural Therapist a few years ago who had the same approach –  If your experiences lead you to certain beliefs, then surely you can change your beliefs by having new experiences?

I then read a blog by author Donald Miller, where he was talking about how he changed his approach to growing himself:

So I began to wonder, if I do more respectful things, perform more generous actions and, well, dress a little better, will I actually have a little more self respect?

I’ve had years of being told to change how I think before I do, and that the idea of “fake it till you make it” is wrong.  While I believe there’s bad in both extremes, you need to be able to recognise the benefit in both approaches.

I’ve changed from disbelieving the “act even if you don’t feel it yet” approach based purely on experience (and great advice) and I hope that if you’ve “shunned” the practice, you’ll re-consider it.

 

Feet and fitness

Around the end of 2012 (July/August), I started getting an interesting in getting fit/healthier again.  My typical response is to over plan like mad, quickly end up not being able to meet my schedule/plans, and then give up.  So I actively decided to not do anything like that – rather, my goal was “go run at least once a week, and if you feel like it do something else”.  That worked like a charm, and soon I was off to gym 3 times a week, and running nicely.

At the start of 2013, I heard about the “Warrior Race” which was basically a fun obstacle course over a 8-10km run.  I ended up getting about 14 people from work joining in, and we had a great day (some were more fit than others).  But through it, I realised that my shoes were not ideal for that kind of race… they collected mud and water, and were rather frustrating to run in.

I’ve always loved walking barefoot and I probably spend 90% of my time barefoot – at home or at work, regardless of the weather.  So for an age I had wanted to try out Vibrams and finally I had an excuse.  I’d heard loads of cautionary tales about hurting yourself, but the more I read/listened, the more I realised that it was about changing your running style and being more efficient as a runner.

I got some great advice from Dave and got to do a run with him looking at how he ran and getting advice from him.  (He now runs TheBareFootRunner – a local site selling some great minimalist shoes/products)

Unfortunately my core was very lacking, and eventually I got hurt, and didn’t improve a lot.  My physio was great, but ,u instruction for strengthening my foot muscles was basically “imagine this muscle that you can’t feel/see in your foot, and try to contract it”.  I knew that there was a muscle here, but apparently putting a finger on my foot wouldn’t help me?

In the end I didn’t recover well and missed a few races that I’d booked for, so I was rather demoralised.  I took up some cycling, and saw a Bio Kineticist to help build up my core and rather left it there.

Recently a mate pointed me to a bodyweight based exercise philosophy (backed with a paid for app, training, nutrition, etc – as any “new” philosophy seems to be), which basically was bodyweight base CrossFit without the fanatics.  I did my first few routines in my old shoes, but really didn’t like it and found I lost some grip with my feet on the floor when doing burpees. 

I started wearing my Vibram’s again, and had way better traction when exercising, and suddenly I found that I could feel stiffness in that mystery muscle in my foot that my physio had been trying to get me to work on.  So… bodyweight exercising and wearing minimalist shoes suddenly was working on strengthening my foot muscles!

I’m going to take it slowly and possibly try sign up for some more obstacle races (when it gets a bit warmer)… hopefully I’ll be able to keep up my foot strengthening process and keep moving towards a healthier future.

Sharing is not always caring

This week I read an article that a friend posted on Facebook (http://moms.popsugar.com/Should-You-Teach-Kids-Share-27333250) which basically days that sometimes sharing isn’t caring. The world is not yours to take, you have to earn what you get and sometimes it isn’t fair.

I have never been a fan of the idea that “participation prizes” … That somehow everyone is equal. I believe we need to encourage people to try things, but that you also need to know when you are bad at something and when you are good.

If you don’t reward what you are good at, and learn what you are bad at, you can’t focus on your strengths… Imagine having spent hundreds of hours practicing singing, then going to an Idols audition to have the judges tell you the truth “you can’t sing”. Years of singing with friends and family and not one has said that to you… The shock of not understanding why the judges don’t agree with what everyone else has said. I saw it too often, and it’s sad. Instead of spending time building something they are good at, they have been encourage to waste time on something they have no skills at. If I was them, I would be pretty darned pissed off at the people in my life who had been lying to me.

I have seen this ad for Lays on Hulu many many times (http://youtu.be/l1p94lYpePE) where a young girl notices a tired looking guy is focused on her chip, makes him hit his head against a window in his daze and then laughs at it.

Initially I thought “awwww, such a cute ad”… But the more I watch it, the more I see her scheming to hurt someone instead of help them, and to then laugh at them to rub salt in the wound. So basically “let’s sell our chips by showing a manipulative and bitchy kid” – there are so many more positive messages they could have used but this one just re-in forces the stereotype of the “bratty kid who nobody will correct because she is ‘unique and special’ like all the other kids”. Definitely not a great example for kids, or parents.

If I did that as a kid, my folks would be furious that I was being a spoiled brat… But today that sells chops. Sigh, parents these days… They aren’t like they used to be.

Of operating systems, and stability

After upgrading my wife’s PC 2 weeks ago, mine went in for it’s upgrade.   Coming home with a box that hardly has any remnant of it’s previous self inside means “Re-install ALL the Operating Systems!!!”

So, off we go with my Windows 7 install… But no – that just doesn’t work right.  I get a blue screen as my PC starts up after it’s installed the base OS.  After much fiddling, I find that it’s my graphics card causing some kind of fault so I give up and start using my on-board card.  It’s not great, but neither is my 5 year old card that’s giving grief.

I had NO IDEA that Windows 7 would require SO many reboots to get all the windows updates in place.  So now I have spent way too long trying to fix my PC and in the process have managed to “repair” my PC so it sees the old install (on the old 300gb drive) and the new install (on the new, and bigger drive)  and I now have to wait 30 seconds, or click a button to get windows to boot up.

Sigh :-(

Now I think “lets get my linux install going again”.  After hearing rave reviews about “Mint Linux”, I thought – lets try this out.  Download, create bootable USB drive, install… and … First impression “Wow, this is slow, and ugly”.  So I start talking to the friend who recommended it “Oh, crap – I used to use Mint, but moved to Elementary recently because it’s super awesome”

Sigh number Two – I can’t work in a slow and ugly OS that has taken the worst from both Windows and Ubuntu’s UI’s and somehow mashed them together into pure frustration for me.

So – lets go download Elementary OS.  It looks pretty darned awesome in their video.  Download it (smaller than Mint), install it, and… “Wow, this is fast, pretty and kinda cool”.  Except, wait… It only seems to pick up my one monitor.  I hack around in settings, start googling, and am not getting much other than people praising the OS.  While that’s going on, I decide to install Chrome.  I download the right .deb package, open it, install it… and <Insert some unintelligible error here>!

Sigh number Three – Pretty OS, Nice and fast, but one monitor (and it picks the resolution of the worst of my two), and when installations of simple apps that “just work” on Ubuntu start failing then I start giving up on the OS.  I don’t want to fight my way to a working system, I want a working system. 

The point of my Linux install is because I want to fight with programming ideas, not Operating System issues.

And so, that brings me full circle to Ubuntu as my OS (the download is progressing nicely in the background)

I’ve learned a few lessons:

  1. I didn’t know there were “pretty” linux distributions out there. I’m glad I got to try out Elementary
  2. Swapping OS’s is much easier now, than it was 5-10 years ago.
  3. If you want ease of use, sticking with mainstream is sometimes good. (Windows and Ubuntu are popular because they’re common… and sometimes that’s just what you need)
  4. I’m finally learning to not get sucked into “Yak shaving”.  When I’m recompiling a kernel to test out a driver that allows me to activate a beta setting of a subsystem of the OS that lets me do <insert simple task>… I’m doing something wrong.  I’ve done it in the past, so the fact that I stopped myself quickly here makes me kinda happy that I’ve learned from previous time wasted.

Today I learned … about body temperature and sleep

A good friend showed me this site for Freeletics which is basically a bodyweight based exercise system that seems pretty much like “Bodyweight only CrossFit”… without the rabbid CrossFanatics. I’ve been reading around a little because I kinda like the idea of their workouts, and today I came across a blog post on the site: Training and a better sleep

There was on part that struck me as “new” information:

Your body temperature increases during your workout and it stays higher for up to four hours. Afterwards however, it will drop to lower levels than if you had not exercised – and this decrease signals your body that it is time for sleep!

I know that your heart rate goes up, and stays up for a while or your metabolism is increased (I can’t remember the details), but I’ve never heard of the temperature change and a sleep trigger. So off I go googling and I find many articles like this:

  • “A drop in body temperature near bedtime triggers the subjective sense that is’s time to go to sleep. Responding promptly to this internal signal may help you fall asleep faster and sleep more restfully, according to a report in the current issue of the journal Sleep.” – TROUBLE SLEEPING? CHILL OUT
  • “Researchers have shown, for example, that insomniacs tend to have a warmer core body temperature than normal sleepers just before bed, which leads to heightened arousal and a struggle to fall asleep.” – Do Cold Temperatures Improve Sleep?

The one bit of advice I found in my quick googling (that I notice I don’t ever seem to follow) was to head to sleep as soon as you start sensing that need to sleep.   Good to know. :)

Thoughts on Elections

We had our 4-yearly elections today and in the run-up to them I’ve had some interesting discussions with people over the merits of Voting, Not Voting, Spoiling ballots, etc.

For those not “in the know”, we have a few major parties here: ANC, DA, IFP, EFF,

Let me start with the “Not voting” camp because that’s probably the easiest one to talk about.  The best argument I’ve heard against voting is along the lines of how the system of democracy is broken and won’t work and hence why should we take part in something we know is broken.  The downside of that argument comes when I ask the question “so what are you doing to change the system?”.  The average response is “not voting” or “nothing I do will make a difference”.  Both of those are basically defeatist, and a weak way out.  If I see someone complaining about something, but not prepared to do anything to change it, my respect for them decreases.  If you don’t have the drive to try and change something that’s not working right, you can’t blame how broken that thing is on someone else.

Previously I would have stated it as Matt, a friend of mine, did on Facebook:

Remember, your purple dot is your license to complain. No dot? Let’s not hear you moan until 2019 please.

It works, but is just not a great wording of the problem.  It caused an uproar with someone who believed my friend was advocating that we should not have free speech (totally missing the spirit of what Matt was saying).

My newly formed opinion is this:

I will find it hard to respect someone who complains about the state of the country, but does nothing to alter it for the better. (Whether that is just by voting, or by doing something to bring about positive change)

On a base level for me, I take care over how my salary gets invested – Is the money being used efficiently? Will I get reasonable returns? etc. So why do I not care about how efficiently my tax money is being spent, and why do I not do what I can to ensure that it’s spent wisely, that the government won’t continue to increase tax rates unrealistically, that the property I own will grow in value and not become an item of “redistribution”?  I believe that a rational person should do something to take care of that both in the short and the long term.

If I thought that “voting is agreeing with a broken system”, I would do two things:

  1. Think of the long term – start mobilising friends, family, and like-minded thinkers to find ways to create a lasting change to the system.
  2. Thing of the short term – I cannot make it change over night, so how do I spend my little influence (my vote) wisely to ensure that my interests are looked after by the best of the broken system?

To me that’s not “giving in to the man”, that’s simply a prudent course of action given the circumstances.

On the topic of “Spoiling ballots” – your spoiled ballot only has 1/2 the impact that an active vote has. Spoiling a ballot simply dilutes the mix of votes, reducing everyone’s over-all proportion of “yes votes”.  While a vote for any party other than Party X, is both diluting Party X’s proportion, but actively increasing the proportion of the other party.  The only time I would consider spoiling a ballot would be where I can find no party who I believe would be a better choice than the current ruling party.  It’s not a great option because it lacks a lot of the “power” of an active vote for “change”, but sometimes it’s the only option you have. 

If I look at items I care about like Education, Health Care, and Jobs/Employment – I still think that there are many parties who’s policies I agree with. So I don’t see spoiling a ballot as a reasonable option for me currently.

Then on to the simplest strategy: “Voting”. It looks like it should be so simple, but even here there’s the pressure of, as Helen Zille stated recently in a speech, “A vote for any other party is a wasted vote”.  I’m not a fan of the idea that any vote is wasted – if I really and truly believe that the “KISS” party was the only one with the right plan for the country… Even if voting for them does not give them enough votes for a seat in parliament, it does do two important things:

  1. It’s a vote that’s not going to a party you don’t believe in
  2. Your chosen party can see a growth in support and hopefully will be more motivated for the next elections. (Possibly you might also consider helping them spread their ideals, to improve their results next time)

So for me, no vote is “wasted” and by suggesting that a vote can be “wasted” puts unnecessary pressure on people and highlights either that the system is flawed or that the person saying it is not being practical.

There’s a whole “first past the post” vs “alternative vote” debate, which would allow those “minority” votes to have far greater say but even without that in place a “minority” vote still has plenty of merit. 

I haven’t done all the reading up (I think SA has some odd way of calculating “seats in parliament), but if it’s as simple as us having 400 seats in parliament, so to get a single seat you need 1/400, or 0.25% of the national vote.  Lets look at the implications of this 0.25% restriction:

  • We had 33 or 29 parties on our ballot today (depending on which list I manage to find). Lets use the bigger number (33)
  • Lets assume only 2 Parties who get all the votes, and everyone else gets less than 0.25% of the vote
  • That means we have 31 parties getting less than 0.25%, and 2 parties splitting the rest.
  • In reality just about 45% of the parties from the last election got less than 0.07%
  • So lets assume that 15 parties got 0.1, 16 parties got 0.24999%, and the rest was split across the top 2 parties.
  • That works out to 5.5% of the national vote that’s gone to parties who won’t get a seat in parliament, and 94.5% of the vote going to parties who will get a seat.

Even in a fairly “worst case” scenario, we have pretty much every vote counting for a seat in parliament.  In the last elections those “no seat” parties counted for 0.77% of the vote.  That’s hardly anything. 

The counter to that is that if the 0.77% had ALL gone to the ANC’s vote that would have pushed them into a 2/3 majority and they could have just outvoted every other party on any decision.  But that’s just scare-mongering, and in reality the fact that the 0.77% didn’t go to the ANC just proves that every vote counts – no matter how small that % change is, it could have a BIG impact.

In the end I’m all for “voting for anyone you believe will make a change for the better”, but I’d love it more if people were more actively involved in making a change to SA than a simple “X” mark every 4 years.

Virtualization, Node, and Ubuntu

I have debated using small virtual machines for specific tasks for a while, but have found it hard to justify the cost or the time to understand the complexity of the offerings of various providers without incurring a cost to “figure it out”. I can see great use in firing up a Linux vm when I want to learn something linux oriented, or using a pre-built vm to save me the hassle of learning how to setup some “tool” (e.g. Apache, node, wordpress, etc)

I needed a way to get my feet wet to see if I liked the experience, without understanding first what I might find. Unfortunately, Azure seems to still require lots of guess work because it offers many different options at different prices for the many configurations of each item… So I end up stuck in a mess of wondering “what the hell is this about and will I possibly be charged a fortune?” Instead of rolling out systems to provide me with a hands on understanding of what I need.

I have looked at amazon’s offerings and they seem to fall into the same category, and while their pricing is getting better,there still are a multitude of options and pricing schemes.

I feel a little bad that my reasoning largely was “I am only casually interested, so why should I have to wade through and understand complicated pricing before I can try the system?”. It’s almost as if I was saying “it’s too hard, so I won’t even try”. That’s the last thing I want to do, but for a casual investigation, I don’t want to have to learn all of the complexity when I would rather be learning some new technologies.

I keep looking at the pricing hoping that it becomes such a “who cares, it costs nothing” expense that it doesn’t matter if I get suckered into buying a virtual machine that is 10 times more powerful than what I need/want, and so I started looking at the price of VM’s again recently after various providers started lowering their costs.

Eventually I found Digital Ocean… They have loads of tutorials, and 6 (or so) prices. So it’s petty easy to know what you are committing to when you sign up with them. And they have a $10 coupon that you can apply when you first sign up (google a bit and you’ll find it). Their cheapest machine is only $5 per month, so that’s effectively two free months.

Given that I don’t like the server I was hosted on before (it’s old… And showing its age), I thought I would try out moving my blog over to a VM where I could try out Ghost (apparently the new hotness), and see what I could do there.

So… Cheap, simple options, and clear instructions and help – that’s what it took to get me to try out a vm.

As it turns out a 768mb ram, tiny CPU, Linux box is really easy to work with and seems to handle a simple blog really easily. I have probably remade the VM four or five times, starting with a Ghost instance and ending up with this WordPress one.

As it turns out, Ghost is missing loads of useful things like: a simple UI for changing templates or doing basic customisation to the site, an app for iOS and Android that let’s me edit posts easily (and while I am offline). Eventually I gave up when I was digging around using nano to edit json files to set up some basic things I needed.

After that experience, I decided to try out some nodejs, because now I could spin up a new vm easily with the tools I needed already setup. This removes one of my biggest frustrations with learning new things… Getting stuck in the complexity of some completely unrelated item that should just be a quick detour but ends up being a 5 hour hair pulling fight with some silly configuration item.

After that I wondered if I could move a php site of my dad’s over to a vm to get one more item off the old server my blog used to be hosted on, and firing up a VM with a LAMP stack pre-configured is as simple as creating the wordpress VM.

I’m not saying it’s the worlds friendliest scenario, but it certainly has given me a really simple way to try out new tools without having to invest any time in figuring out “why for the love of all that is good and holy in this world, the developer decided to not document the one setting that is breaking my installation?”

It’s almost like all the promises Microsoft has made about “infrastructure as a service revolutionising business” are true… And this time it’s not something that “only works on Microsoft”. (I am not trying to be anti Microsoft… I have just grown to mistrust their sales mantras)

Hopefully I can share some learning I experience with Node and a MongoDb soon… And possibly even something from the setup of the LAMP achine and MySQL.

But until then, go try out some cheap Virtual Machine somewhere and see what you can make

Thoughts after an absence

I have not posted to my blog in a very long time, mostly due to being “too busy” and a lot initially due to just not coping well with too much to do and too little focus on things that should be important to me.

I have had an interesting past few months reading and learning about types of motivation, how we get to be “happy”, various articles on “culture” in business and even a book or two on topics that interest me.

More recently I did the “Gallup Strengths Finder” and was fairly surprised at the results. The assessment you do there ranks your 34 strengths (either just the top 5 for $10, or all 34 for $89) and gives some background on what “typical” people with each of those strengths might do and how they can focus/manage the good and bad aspects of them.

One of the things that I really enjoyed was that just looking at the top 5 gave me a focus on the key drivers in what would “refuel” me vs what would “drain” me. It ties in to what I was taught when dealing with anxiety – that I needed to ensure that I am achieving growth in all aspects of my well being, which meant not forgetting any part of my person.

The subtle difference with the strengths assessment is that it shows where I am likely to be more naturally “talented”. My top 5 items were Learner (love to learn), Ideation (connecting disparate information to solve problems), Achiever (needs to achieve goals/targets), Intellection (you like to think), Analytical (need to understand why things work the way they work).

They place each of the various strengths in one of 4 categories: executing, influencing, relationship building, and strategic thinking.

4/5 of my strengths are in Strategic Thinking, with one in Execution… Leaving 0 in Influencing and Relationship Building. That’s a lot of thinking and not necessarily a lot of EQ. I suspect my EQ side is covered by items 6 through 34 though.

A week or two ago, I was reading through some unpublished posts on my blog (why I was reading them is another story – of virtualization and open source blogging platforms) and I noticed how the things I said have been repeated in my life and in others’. At the time, I thought the posts were fairly “plain” and not worth much but now I can see that I was not alone in my “confusion and struggling” with the ideas and problems I was writing about, so I didn’t ever publish them.

Now, with hindsight, I can see how they might have been useful and how they may have helped me convey my ideas to others better than I did at that time (somehow my ramblings in a blog post seemed more clear than my ramblings in email or other forms of communication). Which brings me to the point of the post, which is: I think that even if my posts are rambling and I am never sure if they will ever serve a purpose, I should still write and post something because it helps me clarify my thinking and hopefully someone one day may find it useful.

Hopefully this will mean the start of more frequent blogging, if not… Apparently I have let myself down… But let’s hope that I don’t, and that you may be subjected to many years of rambling to come.

1 2 3 27