The box is a lie!

The box! What is the box? is it the teaching and constructs we’ve been taught over the years? the sum of experience and know-how? the various community or industry constraints and rules put upon us to conform? – Regardless what the box may be, everybody always tells us to “Think outside of the box”.

However, is “Thinking outside of the box” real? or is it something else? I personally believe the first element, and also the crucial part of that phrase is “Thinking”. Most people are not truly accustomed to thinking, they are mostly accustomed to “doing”, “following”, “leading” – not “thinking”. So, what am I ranting about exactly?

As a technology innovator I don’t believe the box is really there, a problem is a challenge to be resolved – it is not a box. As you can’t confine a problem/challenge to a box, it is an amorphous entity – my thinking patterns can’t be “outside of the box, simple because there is no BOX! The box is only in our mind – forcing ourselves to “Out of box” thinking is actually putting ourselves back into the confines of the box.

Solving complex challenges requires thinking first, then innovation and delivery. While thinking is something most people take for granted, as they believe they do it all the time, it’s actually a fairly complex process. Thinking involves one very special thing – that is letting go. Letting go of your own inhibitions, letting go of your own fear – and foremost, the willingness to step out of your normal comfort zone and looking at problems from a fresh new angle.

Over the course of time, I’ve been involved with multiple ventures that required this type of thinking. Some were successful, some had failed miserably – and some had went up in flames, that left the earth around its remains mostly scorched – with friends now not willing to talk to one another. Why have these companies failed? why have they gone to ashes? most of them actually had very innovative products and ideas, it can’t be that they truly went up in flames – or was actually something else that causes its demise?

Again, we come back to the box – and the realisation that the box, isn’t really a box – it’s an IKEA set of honeycombs, stacked together into a highly complex array of shelves, that are barely viable to the naked eye – but to the keen observer, will present multiple opportunities and possibilities.

Companies, regardless of their industry, are normally built of the same operational units:
1. Management
2. Marketing
3. Sales
4. Operations
5. Human Resources
6. Research and Development
7. Manufacturing

Now, normally – we would expect “out-of-box” thinking from R&D, Marketing and Sales. However, these will always be limited to the ability of Management and Operations to think “out-of-box”. If company management is limited by its thinking – that will automatically affect all operational units in the company – which will eventually bring to its slow and gruesome demise.

Another reason for untimely demise is the inability to respect the so called “Box”. It may be that you are willing to let go of the box, you are willing to say: “The box isn’t real”, but, it may be that your target market or audience is still kept in the “Box”. In such a case, taking your audience out of the “Box” is a highly challenging task – where most pioneers will fail. Why will it fail? it takes a very special individual to be able to do that. Not only he needs to be a true visionary, he needs to be able to convince other people of his belief. And most importantly, it can’t be some random hired person – it has to be a founder, a true believe of the cause, a person so capable of immersing himself in the idea – that it becomes an integral part of his being, anything else will just not work.

It takes a true genius to take an audience and shift their minds from the box, very few had succeeded. Look around you? how many people do you know of who are capable of doing that? Personally speaking, I can list a few, but counting will require less than my right hand. Steve Jobs, Elon Musk, Richard Branson, Stephen Hawking – these are all pioneers who had challenged the “box” and managed to educate the audience that the “box” isn’t really there. Was Steve Jobs a technology genius? – NO. Is Elon Musk a master electrical engineer, most probably not. They are thought leaders, mind shapers – they are the ones will look at and say: “He’s a smart guy, maybe I should listen to him”, and it’s not really because they are smart. It’s because they were able to convince us, with their own conviction and determination, that they should be listened to.

Dr. Who once said: “I’m just a mad man in a box” (Yes, I’m a moderate whovian), that is further from the truth. The tardis is always “bigger on the inside”, and thus, the “Box” isn’t limited to own physical borders, and anything always “out-of-box”.

So, next time you encounter a problem, try challanging yourself by saying: “Ok, let’s think about this from a new point of view, maybe there is another solution”. Next time when you interview someone for a position at your company, try to say: “Ok, is this guy truly what my team needs? or do I need something else?” – look at the box, shatter it to pieces and build something new from it – out of chaos comes order – out of rubble comes greatness.

We are all probably taking crazy pills!

Recently, I can’t but escape the feeling that a great portion of the high tech industry is taking crazy pills, as part of its morning diet. Seriously, if we are not taking crazy pills, you can’t explain the overload of Legacy Tech that is rapidly making a comeback – under a new name and flag. Yes, buzz-words were always a thing of this industry, but seriously, don’t you feel this is getting a little over-done lately?

What am I talking about? Well, let’s take a look at some recent buzz-words and go through them:

IoT – Internet of Things

If you lookup the term in Google, you will surely find the following on Wikipedia:

The Internet of Things (IoT) is the network of physical objects—devices, 
vehicles, buildings and other items—embedded with electronics, software, 
sensors, and network connectivity that enables these objects to collect 
and exchange data. The IoT allows objects to be sensed and controlled 
remotely across existing network infrastructure, creating opportunities 
for more direct integration of the physical world into computer-based 
systems, and resulting in improved efficiency, accuracy and economic 
benefit; when IoT is augmented with sensors and actuators, 
the technology becomes an instance of the more general class of 
cyber-physical systems, which also encompasses technologies such as smart 
grids, smart homes, intelligent transportation and smart cities. Each thing 
is uniquely identifiable through its embedded computing system but is able 
to interoperate within the existing Internet infrastructure. Experts estimate 
that the IoT will consist of almost 50 billion objects by 2020.
<sup id="cite_ref-9" class="reference"></sup>

Cool – isn’t it? Well, the Internet of Things existed far before the term was invented. It simply looked a little different. We had devices with SIM cards or devices with some other form of interaction technology – and we didn’t use IP, we used something else. But the minute it used IP, it got the name “Internet of Things”, simply due to the relation to the IP protocol. Almost 10 years ago, an Asterisk based plant irrigation project was shown on the web. Is that IoT? maybe not, but the overall result is similar. Actually, it is exactly the same, 10 years before IoT – but if you can’t see that it is the same, you are taking crazy pills.

Contextual/Task Oriented Chat Bots

Oh my god – when people showed me slack for the first time, I really didn’t understand why they are so excited about it. To me it looked mostly like a glorified mash-up between IRC, EggDrop and fancy Pseudo-Agile management system.

Chat bots that do stuff? really? In 2001 I worked at a company where I had to monitor and
control a set of servers, interconnected with 6 different SMS connections to various carriers. In order to get this stuff working and also get it working from my mobile phone, I used a combination of Nagios, Kannel, EggDrop and IRC. I used the IRC server as my command and control interface, EggDrop carried commands from the IRC server over to the Kannel Server and the Nagios servers, to run remote tasks and test various elements.

In 1999, I consulted a company that was called eNow (back then, ChatScan). They were scanning thousands of IRC channels to Internet trend analysis. Now, think about it, we scanned these IRC channels using EggDrop. Simple, TCL based, IRC Bots that would roam the IRC networks in search of interesting things.

If you are wondering what EggDrop is, check out: http://www.eggheads.org/

Over Virtualising

Can someone please explain me the following scenario: You lease a cloud based, small foot print server from any of the cloud companies, you then run Docker it and create additional virtual machines on the VM instance.

Dude, might as well just have your own server with Proxmox, KVM or some other virtualisation container. I just don’t get it, the fact that you can do something, doesn’t always mean that this is what it is meant for.

The following video just shows this is the funniest way ever:

 

 

 

Python should be the first language you learn!

For the better part of the past 15 years, I’ve been a PHP developer. Really, I’ve developed everything in PHP, ranging from server side services, web services, backends – you name it, I’ve probably done it with PHP. Don’t get me wrong, I love PHP and it will always remain my language of choice for doing things really fast.

However, for the past year I’ve been increasingly developing with Python. I’ve always dabbled with Python, but never really had the chance to truly get down and dirty with it. Due to a couple of projects during the past year, specifically ones that involve Google AppEngine, I’ve had to sharpen my Python skills and get to a point where I can develop with the same agility that I have with PHP. Honestly, it wasn’t simple – sometimes I truly wanted to strangle someone with various errors a framework can spit at you. However, once you get around to reading the various cryptic messages Python may spit at you, getting around it and working with it is truly a delight.

So, why do I think Python should be the first language one learns? so here are my thoughts:

I started my coding days with BASIC, to be more accurate GW-BASIC (yes, I am that old). From that I moved to Pascal (Turbo Pascal to be more accurate), then C, then C++, C++ Builder, Visual C++ (yes, I did MFC at some point in my life as well). I then decided that my life is in the open source world – and thus, the track then went to PERL, JAVA and of course PHP. Honestly, somewhere around 2005, the mixture of C, JAVA and PHP truly gave me all the power I needed to do my job – so, I didn’t really find the time to learn a new language.

Then, about a year ago, I decided it’s high time to learn something new – specifically, I became increasingly interested in the Google AppEngine platform. Yes, I’ve been using Google Compute and other cloud platfroms for a few years now, I’ve used most of Amazon’s services, ranging from EC2 up to RedShift and their hosted Hadoop clusters. But when Google AppEngine came out, it only had Python, Java and GO to work with. Java is the least favorite language in my tool box – honestly, I hate it. I’ve never coded in GO, and didn’t really feel like starting out with it. And Python, well, I dabbled with it – but can’t say I’ve done something too serious with it. In 2014, Google added PHP support to Google AppEngine. Damn, that sounds cool – let’s play around with that. So, I built a few applications atop of AppEngine and the PHP SDK. I rapidly realized that while the PHP SDK gives you some power, Python is the more natural choice for AppEngine. So, I more or less sat my ass down for 3 days and decided to teach myself proper Python.

Took me about 3-4 days to get around the quirks of AppEngine and how to get it up and running using PyCharm (if you use Python, by far the best IDE I’ve seen). Then building up my first application, then migrating an existing application (a fairly big one), from PHP to Python on AppEngine. I then rapidly moved along to using easy_install, pip and the other Python tools that make life so easy for developers – honestly, right now, I can’t figure out why use anything else other than Python for shell environment tools. But, regardless of that, I honestly think Python is the first language you should teach students, not C/C++, not JAVA, not Ruby and surely not PHP (and I’m a huge PHP advocate).

Why do I say this? here are my main reasons:

  1. Python is objected oriented from the ground up, which means, that teaching object oriented programming using Python is easy and straight forward for new comers.
  2. Python is strong typed, which means that syntactical issues are dealt harshly – promoting proper usage of syntax, indentation, capitalization, variable handling – all the nice things that make good code – readable code.
  3. Python’s physical typing construct, where blocks of code must be tabulated in specific manner in order to make the code work in specific manner – is GENIUS. I’m very much a “Source Code Nazi” (Imagine that coming from a Jew, right?). For me, indentation, proper loop blocks, proper case blocks, making sure things are wrapped really tight without too many white spaces – this is what makes code look nice.
  4. Python is interpreted, not compiled – but yet, it is strong enough to hold the most complex multi-threaded of tasks.

In other words, if you take the above and teach to a new developer, someone who writes code for the first time in his life – your result will be a developer, that may not dish the best code at first (after all, a beginner), but it will be readable, manageable and maintainable. Python automatically promotes these by its structure, by its rigidness and by its agility at the same time.

As part of my academic studies, I’ve studied education and how to teach computer science to high school students. I’ve learned that you should start with Pascal or C, then move to Object Oriented, then move to more advanced stuff. I have one thing to say: BULLSHIT! Honestly, the first thing you need to teach is Python, after Python, the rest are just syntax. Nothing more, nothing less – pure, simple, straight forward syntax.

Would love to hear your opinion on this one…

Hyper Engagement – Enabled!

So, it has now been 2 months, since I started my own little social experiment. Early November, I decided to silence down all my mobile device notifications and mute any “distracting interaction” I could find. No, I didn’t silence off my mobile phone completely – it will just make it useless, but I didn’t make it as less intrusive as possible.

So, about 3 weeks ago I decided that it’s high time, to put my trusty Lenovo X1 Carbon Touch to its final resting place. I was contemplating what notebook should I get. My gut feeling told me: “Time for another Lenovo”. But, somewhere in the back of my head was this ever annoying question: “Is a Mac truly better?”. So, in a spur of the moment, I decided to buy a Mac. Because I am what you would define as a power user, I decided to get the most bang out of eace one of my spent dollars.

So, now I’m closing a month with my Mac and combined with my “Hyper – Not!” regime, I started a fairly lengthy road of re-getting used to using a Mac. Have to admit, El-Crapitan has its quirks. Who am I kidding, compared to previous versions, El-Crapitan is somewhat annoying. However, after getting used to its little quirks and kinks, when you combine the Good of the Mac and “Hyper -Not!” – I managed to reach at least a 40% increase in my productivity.

Time that used to be spent on waiting for things to launch properly and setting up on my Lenovo, just cut by almost 70%. Issues of the machine halting on me or requiring a reboot – gone. Issues that required me to go into Task Manager and seek a process to kill – gone!

In other words, I spend far less time on BS and more time on actual work that needs to be done. Previously, I was able to focus on 2 projects – tops. Today, I’m able to focus on 5 different projects and be involved with 2 more. Is it purely to moving to a Mac? I doubt it. Is it purely related to my “Hyper – Not!” regime, i doubt it as well. It must be a combination of the two. How long will I be able to keep this up? donno, I’ll keep you all updated on my findings.

 

Hyper X – Not!

Confession – I’m what you would call a Hyper Connected person. I’m constantly connected to my Note 4 mobile phone, I check my mail on a regular basis at least once an hour, my phone constantly beeps with Instant messages and information being delivered directly to my device.

Professional tend to describe Hyper Connectivity as a state called FOMO – Fear Of Missing Out. According to wikipedia, FOMO is:

Fear of missing out or FoMO is “a pervasive apprehension that others might be having rewarding experiences from which one is absent”.[2] This social angst [3] is characterized by “a desire to stay continually connected with what others are doing”.[2] FoMO is also defined as a fear of regret,[4] which may lead to a compulsive concern that one might miss an opportunity for social interaction, a novel experience, profitable investment or other satisfying event.[2] In other words, FoMO perpetuates the fear of having made the wrong decision on how to spend time, as “you can imagine how things could be different”.[4]

https://en.wikipedia.org/wiki/Fear_of_missing_out

Now, Hyper Connectivity has its associated costs to your life – You are constantly at anybody’s reach, if you are sometimes out of reach – people take it as being rude and eventually, it starts hitting your health and productivity.

So, about 2 weeks ago, I started my own little social experiment – and I decided that everybody on my contact list should be part of this experiment. I’ve done the almost obscene thing to do, I’ve turned my mobile device notifications off. No more SMS beeping, WhatsAPP groups are now muted, e-Mail no longer beeps like crazy.

Initially, for the first two days, I thought I was going mad. My phone was quite, suddenly, I was fully capable of doing the work and having the life I wanted. I was able to concentrate on my tasks, apart from a phone call here and there, I was fully capable of actually getting stuff done – without being interrupted every 15 minutes. Can you imagine living your life in 15 minute intervals? that was the story of my life for the past 5  years.

One of the amazing results of this experiment was that the feeling of “rudeness” was purely in my head only. When people sent me an email, or a text, and I didn’t respond within 30 seconds, or even 30 minutes, people acknowledged as: “ok, he’s probably busy and will return the minute he can”. That had two very interesting impacts: first, when I did reply, I spent enough time thinking about what was asked from me, and I was able to respond in a highly comprehensive manner. The second one was, and that was the shocking bit, I was conversing less by email and text, as things became clearer.

Imagine this, I “communicate less” and “converse more” – amazing!

It also made me realise something else – really productive people aren’t hyper connected, they are hyper engaged. The are fully engaged with what they do, not with the means of communications. The engage their tasks in a dedicated manner, able to focus completely on one task – and getting it done the right way. I also noticed that some of the people on my contact list, the highly successful ones, actually take a fairly lengthy time to respond – not because the are rude – it is because they are respectful. They respect themselves by allowing themselves the time to focus, and they respect their colleagues by focusing on their requirements in a devoted and centred manner.

If like me, you are Hyper Connected, I urge you to try and disconnect for a bit – it will change your world and perspective on how to get things done.