Tag Archives: coding

Why Coders are Compared to Wizards

“I need you to create an app like Uber for $20”.
“Please make a dating app like Tinder for a budget price”

Yes people, these requests are very real. People often think programmers have an innate ability to cast a spell, mutter a few incantations like a wizard and behold – insta-app!

Ok, so the requests I have received may not have been worded quite like that… but it may as well have been. “I would like an app that the user can book taxis with, and rate the taxis, and taxi drivers can sign up to and… etc”

You see where that’s going. They are describing an Uber app… which they want at a budget price! People like to be cheap with developers. If a developer is going to spend the time and effort to do that, may as well develop it for themselves, am I right?

(Anyone out there seen The Social Network…?)


“People like to be cheap with developers”

I’m sure other software developers, programmers, coders, engineers, and (insert alternate job title here) share this frustration.

One might think it is flattering to have your skills thought of as like magic. In some ways, it is. But it means that there are unrealistic expectations of what a programmer like myself can do. And with great expectation, comes great inevitable disappointment. Or… something along those lines.

At some point, I had a long hard think about where the assumption that programmers can “magically” create something in no time like magicians actually came from. There are actually a number of parallels that can be drawn.

Unfortunately.

Note that I’m not referring to the magicians who perform tricks with slight of hand or other methods to deceive like the characters from “Now You See Me”, or Christian Bale’s character in The Prestige.

Particular talents
A common trait amongst magicians in most fictional literature is that they have a distinct talent for it. From there, there is a lot of study and practice that needs to be done to actually be a magician.

Well, I guess the same is said of programmers. Anyone can pick up a programming book and learn to do it, but not everyone has the natural talent of thinking algorithmically and logically – necessary to thinking about how to instruct a computer to perform certain tasks, or troubleshooting when something goes wrong.

Incantation in another language
Even if we don’t discuss the fact that there are numerous computer programming languages, computer jargon alone often sounds to people like another language. Though the same can be said of other disciplines like medicine and law.

But when it comes to programming a computer, we study one or more programming languages – memorising most syntax and semantics. For the things we don’t commit to memory, we have to refer to a programming reference or software documentation.

Sound familiar? Think of Harry Potter, or even the magicians from the Dragonlance Chronicles. The incantations to perform the spell are usually incomprehensible, simple spells are memorised, and others are referred to in a spell book.

Hunger for knowledge
As programmers, we have an innate drive to learn more ways we can tell the computer to do things for us – create apps, control hardware, assist us in our jobs. We actually love learning more programming techniques and even attend meet ups to network with others like ourselves to get more information from others.

Harry Potter became obsessed with several textbooks over the course of his schooling. It is a common trait of fictional magicians and wizards in literature.

Use of magic/coding skills
Google have a slogan: “Don’t be evil”. Following Google’s restructuring under the new company Alphabet Inc… (no matter how many times I say or write that company name, it always sounds odd to me. Is it just me? Yes? Moving on…)

Following Google’s restructuring under the new company Alphabet Inc, the code of conduct was changed to “Do the right thing” (which conjures images of comedian Russell Peters).

The reason for this is that this world is so reliant on software and technology in general, it can easily be used to exploit users (and this happens all the time). Magicians that do the equivalent are commonly referred to as sorcerers. And just like the technological counterparts, it takes a skilful magician to stop an equally skilful sorcerer.

In fact, did you know that Google have offered bounties to programmers, challenging them to hack Google Chrome, expose the vulnerability to them so that Google can continually improve the security of Chrome?

In summary, I guess I can understand why coders are viewed like fictional wizards and magicians. As a result, there are unreasonable expectations of our abilities most times.

But where magicians only need a few moments of concentration to abracadabra your desires into being, for programmers there are many many hours of concentration required to plan, develop and release software.


“… for programmers there are many hours of concentration required…”

A quote comes to mind (which is from Arthur C. Clarke, but to my shame I recalled the quote from the Thor movie):
“Magic is just science we don’t understand yet”

Perhaps the link is more apparent than I care to give it credit.

Now, I must disappear!

</post>

Advertisements

Top 9 “Carry On” Coding Terms

When a non-programmer looks over at my computer screen whilst I’m coding, I’m met with varying reactions. The usual reaction is one of confusion, amazement, sometimes admiration but every now and then… bewilderment at seemingly filthy language.

The bewilderment often comes after a closer look at what I’m typing. Take for example:

> git pull

> make clean | head

Out of context, one could get the wrong idea. A lot of our commands sound like something out of a Carry On movie. Strangely enough this doesn’t usually occur to the everyday friendly neighbourhood programmer like myself. Not because our minds aren’t as filthy as the rest of the world, but just because we’re used to the technical usage of these terms.


“A lot of our commands sound like something out of a Carry On movie”

Often friends have called me out on these. “Git?”, they’d say between chuckles, “Why are you typing git?”. In my head, I’m thinking “how can you not know what ‘git’ is!?” which of course is a nonsensical question. Why should they know?

Well, here is a short blog to give you what I consider to be the top 9 misunderstood “Carry On Coding” computer commands, in no particular order. (For the technical beings amongst you, I am taking my cue from Linux BaSH scripting commands).

  1. head: You see anyone typing this, don’t be alarmed. The command simply retrieves the first few lines of a file (or stream of text).
  2. touch: If you see a programmer type touch me, they are simply creating a blank file called “me” if it doesn’t exist. If it does, it changes the modified date of the file as if the file has been updated.
  3. git: One of the more frequent commands you may find a programmer using, it is not an insult to anyone. It is simply a tool to manage a repository of files. Ok, let me try that again – imagine a remote filing system (like Dropbox or Google Drive) which also stores every version of every file and directory. It’s something close to that. Why this tool was called “git” in the first place? Google it.

    That’s right, I have no idea.

  4. tail: This is similar to head except it retrieves the last few lines of a file. That is the only rear end it is referring to.
  5. kill: The only thing getting murdered with this command is a process on your computer. Think of this as a program killer. If you use Windows, think of when (not if) you have had to type Ctrl-Alt-Del to see everything that is running, and stopping (or killing) processes or applications that aren’t responding, for example.
  6. killall: See kill… but referring to the app you want to kill by name.
  7. wc: This is a command to count the number of words in a file. It is not a request for a public lavatory. Next.
  8. df: If you’re curious about the confusion here with this term, Urban Dictionary will tell you it’s another way of saying “wtf”. Rest assured, when we type df we’re not expressing such frustration at the computer (much as we’d like to). It simply checks how much space is free on your machine. (df = disk free).
  9. bash: Why am I clarifying this one? Look up Urban Dictionary. Bash is the name of a Linux command environment… erm… translates garbage coders type into things a computer can understand. That’s as far as I’ll go into that, apologies to the coders out there.

Honourable mentions: finger, unzip, fork and mount. If you’re burning with curiosity regarding the technical meaning of these, go ask a programmer. But most likely, you’re giggling like a school child and couldn’t care less about the technical meaning…

So there you have it. Hopefully that clears a few things up. If you look at a coder’s screen and think you saw something dirty, you can no longer claim ignorance!

Carry On Coding!
</post>

How to Hack your Motivation in 3 Easy Steps

Happy New Day! Yes, you read that correctly. The New Year hype has been programmed into most of us and spikes our motivation to better ourselves with inevitable new year resolutions. Unfortunately, motivation is useless, am I right? Let me explain…

I apologise for getting all Sheldon Cooper on you, but the new year is simply a new day. Why would one wait for such a day to decide on a list of things they’re going to improve about themselves? Hype. So many digits becoming 0 when the clock strikes midnight usually means a party, some fireworks and the inevitable new year’s resolution. The hype appeals to our motivation. Our motivation is usually based on emotion. This often makes us create lofty goals that we focus on… for the next few days… or until that Haagen Dazs ice cream is on sale.

Anyone? Just me? Fine, moving on.

I have recently been reading some excellent literature from James Clear, which articulated something which I have always known, but haven’t actively thought about when planning my own goals – motivation is unreliable. It tends to spawn overnight unrealistic goals.


King of goal setters

Lose 20kg in 2 months!
Get rich in just 4 months! (Could do with this one myself)

Given motivation is based on emotion, what happens when that motivation is low, or dies altogether? You then end up in the depressed state and you can drop your goals altogether. “New Year Resolutions” get swept under the rug only to be rediscovered the following 1st of January. Anyone can work hard whilst motivated. After a talk on something you’re passionate about, seeing someone’s success or overcoming adversity in the Olympics, or following a success of your own – it’s so easy to be so determined to succeed.

So what’s the hack here? Habits.

James Clear wrote something I knew as a former track and field athlete:

“What’s the difference between the best athletes and everyone else. What do the really successful people do that most people don’t?”

“At some point, it comes down to who can handle the boredom of training every day and doing the same lifts over and over and over again.”

At the end of the day, our life is the sum of our habits. Most of us like to avoid the habitual changes we would need to make in our life on a daily basis in order to achieve a goal. The difference between successful people and the rest of us is that they go through a daily grind of the “boring” things.


Most of us like to avoid the habitual changes we would need to make…

It’s not about the event, it’s about the process. You need to fall in love with boredom and monotony of the process.

Without further ado, let me jump into the 3 ways you can hack your motivation:

Focus on habits more than goals

Goals are great to have. It’s good to be motivated, I love the feeling myself. But translate those into habitual changes.

If you’re a fan of “Only Fools and Horses”, you’ll be aware of Delboy’s famous quote “This time next year, we’ll be millionaires”. How did he eventually get there? It wasn’t really the goal setting. He well and truly loved what he did and kept doing it whether he was succeeding or failing. He was continually hustling, continually selling… ok, sometimes what he did was fraudulent.

Er, that may not be the best of examples, but you see my point. So let’s revisit the overnight hype statements here:

Lose 20k in 2 months!
Becomes

  • Stop using the lift at work.
  • Stop having sugary drinks.
  • Go to the gym 3 times a week.

Get rich in 4 months!
Becomes

  • Save £X or $X every month. (Set up a standing order)
  • Only buy take out or restaurants at the weekend
  • If I want to impulse buy, wait 3 days and consider again.

These are just examples, but you get the point. They are habits to change on a daily basis, you will reach the goal eventually. The time frame is a guess anyway, what matters is what you do to get there.

You want to be a brilliant writer? Fall in love with writing something everyday. Athletes have to wake up every morning and hit the track or gym and do repetitive exercises or runs. It will get boring. But we are creatures of habit, once we develop the habit we eventually fall in love with the habit.

Shameful plug alert! As if my Cyman digital butler app knew what my blog topic was, when I asked it to motivate me, he said:

“Small deeds done are better than great deeds planned”

Fall in love with the process. Fall in love with repetition.

KISS – keep it simple, stupid

I’ve always found the “stupid” part at the end of that phrase grating. It’s like someone really wanted that phrase to abbreviate to “KISS”. Forced abbreviation is forced.

Moving on.


Don’t over-engineer your plans

Keep the habit changes simple and don’t over-engineer them. We do better with smaller increments. Massive overnight changes simply won’t last. Let’s take my tragic penchant for ice cream as an example. I simply won’t “give up” on ice cream. However, I can be motivated to do so, but once that motivation dies, it’s game over. But if I started by restricting it to weekends, or only ever buying one at a time, or not having a whole tub at a time (did I just say that?) – then we’ve really got something here.

Those of you who have actively reduced the amount of sugar they put in their tea or coffee can relate. To train your taste buds, you might have been a 2-sugar person. So reduce it to 1 and a half teaspons of sugar. Stick to it for weeks, months. You will find that 2 teaspoons will taste too sweet. Again reduce to 1 teaspoon of sugar and so on.

So going back to our “hype” examples.

If you have trouble going to the gym 3 times a week to do your workout, start by forming the habit of just going. Even if your session is 10-15 minutes. That way there’s no excuse if you didn’t leave enough time for a full workout. Just keep going at your designated time just to build the habit in your psyche. Eventually you will start doing more.

If you have trouble with the habit of saving money, save a ridiculously small amount, but don’t touch it in your account. Save £50, £20 – doesn’t matter. Just start the habit of saving something. The fact that something is building up will actually help in motivating you further and you can increase by small increments rather than make unrealistic goals. You’ll feel better for the habits you have instilled.

Make a Schedule, not a Deadline

Deadlines tend to make us the most motivated beings at two points. After the deadline is set, and towards the end of the deadline.

Think about it, the gyms are filled early January, Personal Trainers are hi-fiving each other – it’s their moment. The next time the spike occurs? Summer. When people realise the bronzed body goal they were going for has been forgotten, and the holiday deadline approaches.

I find this behaviour is prevalent in other areas too – writing a novel, completing a programming project, an entrepreneurial venture.

We have enough deadlines that are enforced upon us that we can’t control. For those goals we have, it works best to set a schedule for our habit changes, otherwise they simply won’t happen.

“I will go to the gym 3 times a week” doesn’t pan out. Which 3 times will you go?

“I will write a blog post every month” is great. But when will you be writing it? Better to say “I will write something every week day in a month”. Even if it’s not much you’re writing each time (see “kiss” in my previous point).

It doesn’t mean you have to be so regimented as to have a particular time to everything you’re doing. But if you have a habit you need to change, you need to attach it to a time or event.

You can also try using “triggers” which James Clear also talks about in his book. For example, you can use waking up as a trigger for a jog in the morning. Brushing your teeth can be the trigger to using mouthwash. Use things you already do every day as a trigger for a new habit you want to form. It’s much easier to include that habit in your daily repertoire.

In Summary, those are 3 ways you can hack your motivation centre. There are other very useful ways to help you to build habits which James Clear outlines very nicely in his book Transform Your Habits: The Science of How to Stick to Good Habits and Break Bad Ones. I have just articulated 3 of my favourites.

Given, I’ve only been at it for a couple of months, it could be argued that this blog post was born of emotional motivation. So perhaps this whole post is moot because… paradox.

I will let you know how my own habit changes are going some day in the future…

… just don’t expect it on New Year’s Day, ok?

</post>

Why Hacking is NOT Illegal

I love hacking.
That statement has consistently rung alarm bells amongst my non-techy pals whenever I make that statement. Typical responses include:

“You’re a hacker??”
“Don’t say that too loud.”
“I’ll visit you in prison.”




Instagram @futuristmindset

Imagine, the reactions when I go further to mention that I’ve been to some Hackathons in my time!?

tldr; There are two definitions given in Dictionary.com for the word “hack”:

Computers.

  1. to modify (a computer program or electronic device) or write (a program) in a skilful or clever way: Developers have hacked the app.
    I hacked my tablet to do some very cool things.
  2. to circumvent security and break into (a network, computer, file, etc.), usually with malicious intent: Criminals hacked the bank’s servers yesterday.
    Our team systematically hacks our network to find vulnerabilities.

Now, I do understand the confusion. I get why everyone always jumps to the negative connotation first. The answer is simple. Media.

Hacking is simply creatively and relentlessly solving a technical problem.


Instagram @futuristmindset

Unfortunately, the only time you hear the term “hacking” in the media is when some media company like Sony or a bank has been broken into. Or organised groups  attempting to derail a website. Not the more positive connotation like hacking to build new wearable technology, or even charitable hacking. Because… news.

Social media has spread this misunderstanding. When someone posts a silly status on someone else’s account, somehow “hacking” is a word that gets bandied about.

It’s a bit like the term downloading. You only hear the word when associated with illegally downloading movies or music. But it’s simply the act of retrieving files from a remote location – online or on another device – and saving it onto another.

Now I’m no conspiracy theorist, but the media does tend to warp meanings and opinions effortlessly.

I realise of course that I have inadvertently included myself in that last statement, and I am ok with that. And I’m not ok with that.

Hackathons themselves are amazing. There are so many challenges organised within and between different companies, where individuals or groups are challenged to create something innovative within 24 hours, 72 hours, or any other time period. It’s a great excuse to consume pizza and block out life for a small period of time, but the results are astounding, and the competition is healthy.


AT&T Mobile App Hackathon

Imagine if something like that existed for your chosen profession or hobby?

So you can sleep soundly knowing that there are literally millions of us hacking each and every day. Comforting right…?

</post>

Why you need a Chromebook | Intro

In 2007, I became a Mac convert. Two MacBook’s and a Mac Mini later, I received my first Chromebook in 2012. A year later, I sold my MacBook Pro on eBay after blowing the dust off the keyboard and screen after a year of not being used.

If you have a problem, if no other device can help, and if you can buy them, maybe you can own… a Chromebook.

A-Team references aside, this is actually a true story. A Chromebook is a light-weight laptop with Google’s Chrome operating system (Chrome OS) running it. What is Chrome? Simply an internet browser like what you may be using to read this (if you’re smart…). Other examples of popular browsers in the market are Firefox, Safari and Internet Explorer.

So the question I had a few years ago is – how is one supposed to do all one normally does on a Mac or Windows operating system only on a web browser?

Given my interest in web technology, I wanted to give it a chance, so I embarked on what I called the Chromebook Challenge. A week of using nothing but my Chrome browser on my MacBook Pro at the time, and blogging my results.

More and more of us now own smart phones and tablets. What do we do offline? Perhaps playing games, reading, note-taking, and checking calendar? Although games are increasingly social, books are downloaded from the internet, calendars and notes are synchronised on the cloud. These all need internet connections. When you don’t have an internet connection. You know about it. You complain about it. Then you complain that you can’t post or blog about the complaint.

On our PCs or Macs there are offline applications (apps we use without the internet) we might use frequently. For example writing documents, spreadsheets, editing photos, editing videos, email and much more.

But, now just bear with me here, if we really look at how much time we spend offline vs online, some of us might realise the shift to online activities for virtually everything we do. Socialising, shopping, banking, movie watching… my goodness. We’re all doomed in 20 years to being couch potatoes!

Chrome OS and indeed the Chrome browser have apps and an app store too. These apps are essentially well designed websites which look and feel like apps you might download on your phone or tablet. They utilise key HTML technologies to allow a lot of offline activities.

Sigh, I’ll just get this shameless plug outta the way, shall I? There is a Chrome app for my Cyman Digital Butler app. You can have conversations with your computer and get it to open certain pages or remind you about certain things. Cyman Mark 3 is in the Chrome store rated at 4.5.

That’s right folks, believe it or not, you can edit word documents and spreadsheets and save on Google Drive without being online. Once online, it will synchronise it in the cloud for you. This goes for other key web applications. You can view your mail offline with GMail, and you can even view your Google Calendar offline.

Sounds very much like how our mobile devices work now, am I right?

The Chromebook is a lightweight laptop computer which barely needs the kind of resources that your standard Mac or PC running windows needs to completely drain. Therefore the Chromebook is much faster, safer and crashes a lot less.

I’m going to be showing the results of my experiment on here in 6 or 7 parts. I tried to cover as many areas as possible – from the point of view of an office worker who needs Word and Excel, a musician who needs to write or create music, a programmer like myself, and someone creative who needs something on PhotoShop levels.

What did I get out of writing this? A free Chromebook from Google.

Yeah, I’m feeling pretty smug right about now.

So if you’re thinking about getting a Chromebook, follow on and look out for the “Why you need a Chromebook” series.

</post>

iPhones suck. (Take the bait. Click Me…)

Before half the internet reacts in outrage and much troll-age, I have come to make technical peace between Google and Apple – not war. This blog title is called click-bait. Designed to communicate with the inner troll in you, or the inner fanboy. It all depends on your point of view.

What I am actually going to address are a couple of common misconceptions
– that I hate Apple.
– that only iPhones play best with other Apple products.

To start with, I’d like to think I’m fairly tech-agnostic. I like using tech that plays well with other tech. Yes, I am a Google fan. But I judge by product, not by company. I mean, my first smartwatch was the Martian Smartwatch. One of the reasons I chose it because it simply works using Bluetooth – connecting with Android, iOS and BlackBerry phones.

Now I’m going to address the first misconception easily.

I own a Mac Mini. I love it.

Now that’s out of the way. You see, Apple make great products. I owned my first MacBook back in 2007 after using Windows/Ubuntu for years, and I never looked back. (Although I did replace my MacBook Pro a couple of years ago with my Chromebook, but that’s one for another blog post…)

Point is, I’ve had a Mac in one form or another for 8 years now. You can run open source (free) software on it, I can use it for programming, and for more creative exploits – music, art, movie-making. Usually, people think that if you have a Mac, you ought to have an iPhone. That is simply not the case.

I don’t know about you, but I don’t want to have to connect to a music player to synchronise my phone with my computer. Yes, I am talking about the beast that is iTunes – feature creep incarnate.

I own a Nexus 6 currently, which is a pure Android phone. Recently, I’ve stuck with the Nexus over the past few years due to its reliability. I plug my Android using a standard micro USB cable into my Mac and can simply access my files on my phone as if it my phone was a USB memory stick. All my contacts, photos et al are all available on the cloud anyway. I can access everything through my browser.

It’s gets better though. There is a great app called AirDroid, which allows you to access your phone wirelessly. It essentially gives you a web portal into your phone. You can download and upload files into your phone.

It’s very simple. Google and Apple products can work just fine together. Android plays nice with multiple operating systems – Windows, Mac, Linux. Whichever floats your boat. iPhone doesn’t have the same kind of interoperability, it’s more of a (deliberate) closed cage. That is not the case with a Mac however. Which is why I own a Mac, but do not own an iPhone.

If you were expecting an all out Android vs iPhone war, please by my guest and comment. Help yourselves to the ammunition available and begin the flame war.

</post>

Aim for the Absurd

How do you react when you see something truly Outstanding? Like an amazing dance performance. Or a sporting feat. Perhaps a rags to riches story or, dare I say, maybe even something fictional like a movie? Do you…

  1. Marvel at the spectacle in rapturous applause and adoration.
  2. Join the crowd in mass hysteria.
  3. Think to yourself… “I could do that”. No matter how absurd it seems.

I am definitely the third guy. Now I’m not saying that every amazing thing I see, I aim try to emulate. There are only 24 hours in a day. (An extra 40 minutes if you’re on our neighbouring planet). But if I feel strongly enough about it, all excuses go out the window. That’s why I created the Cyman Digital Butler. I have read about and noticed people who fix their eyes on a seemingly crazy goal. Crazy because the person in question either doesn’t have the resources, time, or the right qualifications.

They refuse to let any barrier to be… a barrier
(Important highlighted clever phrase fail)

The barriers I’ve listed, you have probably heard about before. It could be your parents who have come from very humble circumstances, perhaps little access to education, having to raise you, perhaps on their own. And yet achieving so much in their own professional careers. Perhaps you think of celebrities doing things that are really not in their skillset (Insert your own examples in the comments). Or maybe the entrepreneur Chris Gardner who was portrayed by Will Smith in the movie Pursuit of Happiness.

But when I say “Aim for the Absurd” (roll credits) I mean truly ridiculous. Like, I don’t know, watching some science fiction in a movie and deciding it must be replicated. What drove me to create Cyman was watching a particular scenes from the Iron Man movies where the charismatic genius entrepreneur, Tony Stark interacts with JARVIS – a voice in his machines which runs his house, his Iron Man armour and his devices.

Now I had no experience with artificial intelligence. Heck, even the programming language that Cyman was written in – I learned that as I went along – I had no experience programming in that language before. The kind of personality that the fictional JARVIS displayed, politeness with a teaspoonful of sarcasm, was something I had not seen and still do not see in current voice assistants like Siri, OK Google, or Microsoft Cortana. In general, I love the technical prowess and genius shown in the fictional Tony Stark and arguably, our real life version – Elon Musk.

By now you have figured out that this whole post was essentially a plug for my Cyman Digital Butler (available on Google Play and the Chrome Store now rated PEGI 3 out now) … but I’m allowed as it’s my first official post.

So there.

</post>