Tag Archives: android

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>

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>

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>

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>

Do You Even Tech Your Workout Bro?

Wearable tech like FitBit, Food tracker apps like MyFitnessPal… we are increasingly invited to tech our workout with technology that promises to monitor our health, work out what we need to eat, and what exercises to do.

It can all be a bit too much – which one is correct? What works best for you? Which wrist monitor is more accurate? Which app takes into account my lifestyle?

I am not writing to help you out with this at all. I’m here to add to your problem of choice.

Don’t worry, I will cover wearable technology at some point.

Earlier in the week, I’ve been slaving away at creating a mobile web app for Asgard Fit. They found my gig on Fiverr.com. I use the term “slaving away” not because it was a bad project, but because that’s what we software developers do for any project!

On the contrary, it was great to combine 2 of my interests: technology and fitness. *Asgard Fit* have a Nutrition Template spreadsheet which can be purchased from their website. Using information you enter from your vital statistics to your lifestyle, it calculates the amounts of carbohydrates, protein and fat you should ideally be taking on your rest and training days.

Now, I don’t have time for spreadsheets. I’m betting I’m not alone in that. So my task was to “appify” it into something people can access on their mobile browser.

Although I have my own ways of eating which involves Carb Backloading, I’ve been intrigued by the complex excel formulas and calculations that go into creating something like this. From it’s calculations for me, if I were not doing Carb Backloading, I believe the figures are sound – and actually correlates to a lot of principles of Carb Backloading.

Give it a try yourself, I think you’ll find it useful. There is more to come to the app which I am most likely to be involved with. I am certainly going to use it as a guide!

Now if I could just get back to workout consistency again…

</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>