The key ingredient of success: Motivation? Creativity? Perfectionism? No.

Maybe the title is a bit vague and this specific topic has been used, abused and dwelt upon by so many. Nevertheless, I believe if the topic is to be treated from one’s personal experience and perspective value can be found.

Many claim that motivation, creativity, perfectionism, work life balance and many other hacks and shortcuts are keys to success or at least achievement. Articles keep pouring in the online streams with stories about leveraging different key ingredients of success. There’s a lot of truth in them, but a component is missing. Discipline.

Let’s ignore the negative connotation associated with discipline because here I’m talking about Self-Discipline: willpowerself motivation despite irregular emotional states, hard workpersistenceendurancecapacity augmentationperseveranceobjectivity, personal rectification of inadequate behavior. In short “The Hard Way”.

We keep looking for these magical shortcuts that promise life changing results submerging ourselves into an incapacitative state of mental numbness and non fruitful, never ending search for a non existing ultimate solution.

I have been writing code for a decade now, there simply are no shortcuts in this endeavor whatsoever! It’s a never-ending hardcore training journey that requires one to constantly keep pushing the boundaries over and over again. It has been and still is very daunting at times, boring at others and painful even (the countless overnights spent starring at the screen). If it weren’t for self-discipline enriching a goal oriented mindset I developed, I would have failed miserably. The same applies to many other aspects of my life: My projects, startups, research, implementation of ideas even writing this and other blog posts etc…

The only way for acquiring this skill, I call it a skill because you need to develop it, hone it, harness its power and keep pushing it without ever giving up or making exceptions, starts with a decision. It’s not a short path, it’s a long one so be prepared.

Step 1: Decision
It starts here. Start now, as soon as you finish reading this post, start immediately. Do not postpone, do not procrastinate.

Step 2: Trial and Error
It will never work out from the first trial. Keep that in mind. It takes time, keep iterating.

Step 3: Making no exception
We are emotional beings and we have this powerful instinct to protect and shield ourselves from whatever we deem is harmful or unpleasant. For you to reach advanced levels of self-discipline, you cannot make exceptions! Reduce them to a bare minimum. If you fail, go back to step 1 and start all over again quickly. Do not let it drag.

Step 4: Acknowledging the achievements and the failures
The sense of achievement is what keeps me going personally. Hard work that is rewarded (in so many different ways) is my positive reinforcement that I try to maximize as much as possible. Although the result is not always guaranteed and hiccups are due to occur, during these bad times, do not quit. Keep pushing.

I failed many times at reaching my self-set goals. I will fail more. However I succeeded in so many others and overachieved beyond my wildest imagination.

Project Glass & Algorithms – Intrusive mixture?

Google Project Glass

 

Introduction

The first round soliciting early adopters (Glass Explorers) for Project Glass has been concluded. Lucky are the engineers/hackers who will first lay their hands on what is undoubtedly the ‘Next Big Thing’ in the augment reality field. I say so because for long we’ve been playing around and exploring augment reality applications, and even though some were very good at showcasing the potential of this field in the near feature and its impact on people’s lives, these apps lacked a primordial component. Glass.

What mobile phones couldn’t offer, Glass can. The ability to apply augmented information on top of real life visual feedback is a crucial element for an immersive augmented reality experience. Google through its videos of Glass has shown the world some basic features tightly related to their products. Now (or very soon) it will be up to the developers to explore the new realm of endless possibilities and applications for this new technology.

My personal interests revolve around meshing AI (Artificial Intelligence) with AR, which inevitably is the next technological leap.  Even though AI is still in a very premature phase, algorithms have reached a very satisfying level in data analysis thus statistical machine learning, predictive abilities, computer vision and image processing as well as speech recognition.

Alright, now what?

Now, Imagine The Following Scenarios

Coincidence or not, the Eulerian Video Magnification Algorithm has been developed and its open source implementation has already already been shared with the online community. To better understand what this computer vision algorithm is, watch the video below:

You forgot a username for the YouTube shortcode

The relevant part of the video and the part to be discussed in this post is the capacity to amplify frames from live streams of a camera to see things that are not visible to the naked eye. Merging this new ability with post-rendering analysis and nothing prevents the implementation of a Lie Detection module, currently feasible with a Polygraph or a Body Language interpretation module providing Glass with the capacity to suggest behavioral conduct.

Face.com have developed a platform for efficient and accurate facial recognition, which makes mapping a name to a face a simple matter of querying a large database of tagged faces. No one will be anonymous anymore. If you have a profile image of yourself somewhere on the web, chances are, mapping that face to a name is not a difficult thing to do.

I believe it’s only a matter of half a decade or so before we will be able to implement almost all the features of Sight depicted in the shortfilm below:

You forgot a username for the Vimeo shortcode

The technology is mature enough to allow the development of an application that is capable of detecting a face among many other objects in a specific scene, map a name to the detected face, aggregate all publicly available information related to the name and finally display the relevant results on the HUD.

And it doesn’t require a multi-million dollar company or a research facility to develop the prototype! Most of the components necessary have already been developed and well documented, even variations of their implementations are available for free online. Heck, if I had Glass in my hands now, that’s the first thing I would be doing!

Privacy no more

Yep, well you guessed it, being anonymous to a group of people will be very hard soon. The only way to be totally anonymous is to be offline, but really, who is? Most people are discussing the matter of privacy on the level of social media sharing of footage and snapshots. That’s really only the first layer of the issue. I can’t predict the impact this will have on the daily human interactions knowing that one’s actions can be analysed in real time by a system, always, watching…

I suppose people will adapt, just like they did to previous life changing technologies. A lot will resist in the beginning but eventually everyone will be forced to be part of the new culture.

It happened before and it will happen again.

 

Mind mapping – Why aren’t you using it already?!

Introduction

A mind map, as Wikipedia defines it, is a diagram used to visually outline information. The concept is simple: reduce the topic of discussion, idea, problem, write-up or concept to one word and branch out from there. It’s a Tree (similar to the CS Tree data structure). The high level overview of a mind map depicts spider webbing. The number of nodes is unlimited whereby each node can also branch into further sub-topics and sub-nodes creating an indefinite depth. What I love most about mind maps is depth, and I’ll discuss why shortly.

The mindmap for this blogpost
The mindmap for this blogpost

Origins

During the research I’ve done for this blog post, I wasn’t able to clearly pinpoint a single originator of the technique (allow me to call it technique). Multiple sources declared Tony Buzanas the inventor of mind mapping however multiple other sources argue otherwise. It is claimed that the earliest examples of a mind map were developed by Porphyry of Tyros (Go Lebanon!). In the quest of discovering the true origins of mind mapping I posted a question on Quora, maybe someone with factual information can shed some light on the bright mind behind this prolific technique.

Why use it?!

Mind mapping is very intuitive!

When I first picked up the fundamental rules of this technique I was very comfortable in immediately applying them to depict my line of thought. And follow it. It was like second nature to me, simply because when I usually take notes they take the shape of general wording scrambled around the main topic and associated via connection threads.

It’s very fast

Once you adapt to the almost standardized shortcuts of mind mapping software tools, your line of thought will be seamlessly depicted and outlined. Minimal rules or actually no rules apply in the creation of a mind map. There’s only one relation to respect: Hierarchy.

Depth

Oh how much I love to analyze a topic in depth. It’s very necessary sometimes to detail a concept up to its minutest detail and jump right away to higher levels. Mind mapping allows you to do that with ease. Follow the branches and jump swiftly from one node to the other without the overhead of looking for the relationship. While analyzing a diagram, going back and forth is essential. The faster this shift happens the less likely you are to lose your line of thought.

When to use it?

The general use cases of mind mapping are diverse. Let’s not limit the power of this technique to what others have used it before and invent your own needs for it. Trust me, there are plenty.

What tools should I use?

There is an arsenal of tools developed with which you can create your mind maps. However, from my personal experience, my two favorites are the following:

MindManager – MindJet

Since I’m currently using a PC with Windows as an OS, MindManager  was my choice. It’s a bit expensive to buy, but it’s worth it. It’s the only tool I found that:

–          Is user-friendly. The interface is similar to multiple MS Office tools.

–          Has a good arsenal of micro tools to create complex mind maps.

–          Is extendable.

–          Allows you to export your mind maps in multiple formats, even interactive ones which allow the receiving party to walkthrough your mind map.

Curio

Curio is by far the best tool that was ever created for designing mind maps. Unfortunately, it’s only available for Macs with no support whatsoever for other platforms. It’s the most beautiful, most user-friendly, and most diversified in terms of micro tools.

Conclusion

Mind mapping is one of the best, intuitive techniques that help you map your thoughts into a clear and relational visual pattern. Use it, breathe it, live it. Harness the true power of mind maps and mapping your thoughts and ideas will become fun again!

The V motion project

The V motion project

It’s projects like the V motion project that really make me wonder, what the hell am I wasting my time on… I cannot hold back the mixture of awe and anger as I see videos online such as the below. The first feeling comes from a well staged, well executed, choreographed, mixture of art and technology and appreciation to developers and producers. The later from the regret of not spending my time doing something quite similar, having the technical know-how.

Enough bullshit, here’s the action:

Fugitive

The project is the child of Fugitive. Kudos.

 

The Ultimate Creativity Test: Data Entry!

“The Nightmare” All hell has broken loose…

Let’s go right into the core of the discussion. During the recruitment phase many developers look great on paper, they are impressive during the interview, they excel in the programming challenges or exercises, seem very qualified etc…

Yet, there’s this period of time where a project really hits the point of no return: deadline was communicated to the client, lots of features are yet to be added, bugs are popping up right and left, the 24 hours a day seem no longer enough, bringing more resources is not a viable option because of the overhead required to assign tasks to them, emails, emails and more emails, management is breathing on your neck, status reports, in short all hell has broken loose, let’s call it “The Nightmare”. And right at the bottom of that list or backlog, there’s this tiny underestimated data entry task that you cannot assign to your main developers because they have much more important things to do, YET this data is vital to the project and to the end users eventually.

That pesky data entry task

The reason I gave the above (real life) example is to say, that during “The Nightmare” event, creativity and resourcefulness in solving problems in an efficient way become the essence of your lifeline. At that point in time, with barely enough stamina to write decent code, taking enough time to devise a proper plan to handle all the tasks on your task-list, especially the underestimated ones, is not an option.

Usually, the stupidest method to handle this data entry task is calling the most junior developer you have on the team and brainwash him into thinking that finishing it is what’s going to land Apollo 13 on the moon.

Hooray… Problem solved. NOPE

First day passes, the junior developer is blazing fast, 50 records are in the database already! Wow, this is going faster than anticipated!

Not so fast, the next day the number drops by 20%, the day after 60% and keeps on dropping until that developer quits, and if (s)he doesn’t, (s)he will be so demotivated and then we have a new problem.

Theoretical example of the deterioration of the speed of data entry per day
Theoretical example of the deterioration of the speed of data entry per day

 

 

 

 

 

 

 

The real life scenario might not be so dramatic, other more “brilliant” solutions will be devised such as bringing another junior developer to do the task! Now they can alternate whenever one of them feels bad! (*Sarcasm)

Let’s get back on track

I’ve probably taken the discussion way too far to emphasize the importance of the following:

  1. In the Nightmare situation we tend to forget that one of the core functions of a computer and programming is to replace human beings in executing daunting tasks more efficiently.
  2. We also wrongly believe that writing a script or a small program to execute the data entry is not cost efficient and doing it manually is.
  3. We overestimate the complexity of analyzing the data and extracting patterns and falsely accuse the data to be random and dismiss any attempt to extract a repetitive model.

Now the role of creativity and resourcefulness shines. For every belittled developer, who took a data entry task and transformed it into a fun data analysis challenge, Kudos. The appraisal is not for rediscovering the obvious (that computers are there to alleviate us from boring tasks) but for the efficient use of their time.

The Creativity Test

With the above said, I strongly believe that a data entry challenge to developers who are undergoing an interview is a good indicator of resourcefulness and creativity. Throw a daunting task at your potential developer employee and see how brilliantly they figure out a solution for it. The efficiency of the solution is highly correlated with the ingenuity of the mind behind it (this is simply a real life observation).

No matter how theoretically competent a developer is, no matter how much experience he has on paper, no matter how many large scale projects they have tackled, if they did not master the art of leveraging their knowledge especially when “the shit hits the fan”, all the information they possess is simply a hidden/locked up treasure.

Conclusion

A lot of theories already debate the boosting elements of creativity, such as locking down the resources one can use for the execution, zoning out etc… But these are topics of later discussions. The beauty of data entry tests is that they can be morphed to discover mesmerizing treasures or malicious booby-traps.

RFID Reading Field Visualizing Probe Design

Introduction

Last week while I was watching some videos on Vimeo looking for inspiring material, I hit the jackpot: “Immaterials: the ghost in the field”. I was so intrigued by their work; I didn’t even pay attention to the publishing date (2 years ago). While watching the video ideas started rushing through my head, since for a while I’ve been working with RFID and always faced problems with the reading field of the antennas. Of course going to the datasheets and trying to figure out the reading volume’s shape could be one possibility, but it’s just not “real” enough. I wanted to know more about the people behind this project and reached nearfield.org. The research was complete, the papers were published, the website was last updated in 2011 but people were still posting comments.

I started wondering what happened to this amazing technique, and why no one has pursued this study. In the meantime, while I could not argue the beauty of the outcome of this technique I couldn’t resist not thinking of how inefficient, time consuming and limited it was. So I decided to design my own tool that could take this research a step further.

RFID Reading Volume 3D Mapping Probe:

The concept is simple; it is visualized in the diagram below:

RFID Reading Field Visualizing Probe High level architecture
RFID Reading Field Visualizing Probe High level architecture

 

 

The diagram is at a very high level of abstraction and it’s not worth going into its details at the moment as some components might vary upon implementation. However, I’m gonna describe what is illustrated above:

  1. The Probe is made out of 5 modules:
    1. RFID Tag
    2. Coordinates Recording module
    3. Accelerometer
    4. LED
    5. Controller
  1. Once the Probe, specifically the Tag (1a) is at a reading distance from the RFID antenna, the reader dispatches a signal to the processing software layer that will in turn trigger the recording algorithm.
  2. The recording algorithm will ask the Controller to grab data from the 2 modules (1b and 1c) and will ask the LED (1d) to blink.
  3. The data is then gather, analyzed, stored and the coordinates with the accelerometer data will be used to draw 3D point cloud of the reading volume.
It is worth to note, that this Probe can be adapted to different technologies. Actually, any technology that offers instance response.

To be more specific, I drew a simple annotated sketch of how the probe might look like:

RFID Reading Field Visualizing Probe Sketch
RFID Reading Field Visualizing Probe Sketch

This design is currently pending a prototype. I’m gonna be working on it as of next week. I’ll update this post accordingly.

I will choose one of these 2 paths:

  1. Develop a mobile application and embed the missing modules to a smart phone and have the application do all the logic.
  2. Implement the probe using an open source controller (Arduino and the likes). I’m sure I will not need much processing power on the Probe level since all the work will be done by the controlling pc.

Potential Value:

Since this is a side project, I will neglect all business value of this project and focus on the personal educational benefit; maybe some student, researcher might find value in this work as well. I have not yet done my homework with regard to looking for off the shelf solutions; I am going to work on it either way, even if some argue that I’ll be re-inventing the wheel.

 

 

Sparkfun: Color LCD Shield back-light problem patch

Problem

As I was working on a project that makes use of the Sparkfun color LCD shield I noticed after running sample code that the back-light is not working properly. Adding to that, it was a bit challenging to find Arduino (v1.0) compatible libraries to make this shield work as it was intended. The solutions for these 2 problems are summarized below.

Back-light fix

Credit is due where credit is due. The original hacker who, with a bit of research and reading a few comments on the product’s page, found the solution can be reached through this link. Although the description of the fix is quite straight forward, I though it could be simplified more.

The problem relies in a resistor on the board (R1) that was supposed to have the value of 15KOhm but was (for some reason) replaced with a 3.3KOhm resistor (as shown in the picture below).

Original Color LCD Shield - sku: LCD-09363
Original Color LCD Shield
sku: LCD-09363
images are CC BY-NC-SA 3.0

 

 

 

 

 

 

 

 

 

 

 

In order to resolve this issue and provide enough voltage to activate the back-light, this resistor needs to be short-circuited by soldering the edges of 2 components as shown in the picture below. A small solder drop is enough to provide you with an elegant fix.

 

 

Soldering fix
Solder the 2 edges and you’ll be good to go.
Close up for the fix
Close up for the fix

That should do it.

Libraries compatibility problems

I naively assumed that upgrading my Arduino IDE to version 1.0 would not break any existing library, however as it turns out it does. The libraries that enable the color LCD shield do not work with v1.0. The libraries that are available either use “WProgram.h” or “wiring.h” header files which have been merged in the new version of the Arduino IDE with the “Arduino.h” header file. In addition, replacing these header files with “Arduino.h” does not seem to fix the compilation error.

So in order to avoid hours of pain, Arduio IDE v0023 runs the LCD shield libraries perfectly well.

 

 

The Personal MBA – a must read book

20120520-020416.jpg

The Personal MBA

I am usually not a big fan of small posts as I prefer to elaborate on thoughts and take ideas to higher levels of abstractions. However this time it’s an exception!

The Personal MBA (PMBA) by Josh Kaufman is must buy/must read book. By the time of publishing of this post I have barely finished the first 3 chapters, and for the first time I feel deeply connected with the author. The ideas described in the first chapter about the importance of multidisciplinary thinking, self education, and mental models have been topics of high interest to me over the years. However I never reached a level of thought maturity that allows me to speak of these topics. Josh does it extremely well.

For every college dropout, entrepreneur, employee, one with a great idea, one who wants to execute a dream; This book is a must read. For whoever wants to dive into the mind of “Freethinkers”, this book is yours.

In a later post i’ll elaborate my thoughts on the term Freethinkers. For the time being, go buy and enjoy the book!

The ‘I Don’t Give A Shit Attitude’

I Don't Give a Shit
Do I Look Like I Care?

The ‘I Don’t Give A Shit Attitude’

Wait… What? What is this about?!

In a world governed by hypercritical and highly judgmental critics having all the right to voice their opinion, trying to protect oneself from offensive non constructive criticism has become a tedious task. In a world full of multi-talented individuals, the race for the top is vicious. Whether in the office space, in the real world, amongst friends, in the business field the intense competitive edge is all around. It has become a vital aspect of our daily life. This symbol of democracy, fairness and righteousness has had a multitude of destructive consequences on numerous individuals, who for a reason or another were not up to this ferocious game. This constant fear of criticism, peer pressure and constant reflection on consequences has forced many to hide behind a shell and oppress their ideas knowing that some of them are quite bright.

Long story short, if you are one those people I described in the paragraph above. This is the time to embrace the “I Don’t Give A Shit” attitude. It is time for you to let go of the consequences, let go of the plans, let go of the continuous reflections on the “What If” question and to engage in the realization of your ideas. Whether you are an entrepreneur, an employee or a regular person with a dream; try to put yourself in a position where the answer to the question: “What do I have to lose?” is “Nothing”.

When you have that power: “Freedom”, you will be able to uplift yourself to a whole new game level. Yes, what you read is correct, a game. And mastering the attitude above is a solid way to beat it.

What do you mean? I don’t quite understand yet!

It is true, this is quite a complicated topic to discuss in one blogpost as there are numerous sub-topics (ideas) to convey that are as important. These sub-topics are branches of cases that split off the root idea, such as: exceptional cases, circumstances preventing one from reaching the level of freedom needed to acquire the “I Don’t Give A Shit” attitude, ease of behavioral change etc… However, the starting point is fairly simple. If you believe in a conceptidea that can be either big or small, but that will have an positive impact on your life andor the life of others, disregard the negative feedback from others for a brief period of time – which ends when your idea reaches the state of realization – and then, just then throw whatever you have built to the world and gather whatever type of feedback is thrown back at you. It is then, only then that the opinions you have neglected before mater. Only then, will the random voices contribute to the prosperity of your project. At that point you will have a solid entity that can morph into whatever shape it is needed to be.

But great ideas require dedication, hard work how does the above apply?!

Do I Look like I care?
Do I Look like I care?

The above applies to only a brief period of time. This period extends from the minute you have the “Eureka” moment up until the minute where your first prototype is completed (or any other form of proof of concept). During this period, you will not induce any changes to your current life and formal behavior. The process should go in parallel to whatever you were previously doing for multiple reasons:

  1. You should not start living in the dream world; where you induce changes to your life that might or might not happen as the consequence of the success of your idea.
  2. You should always protect yourself from disappointment. Strive to the success of your idea, but don’t get your hopes up too high for if you fail, the psychological impact will be devastating.
  3. Ego! Ego is very important as long as it is under control. Do not let your ego sky rocket. Not giving a shit does not mean disrespect to others opinion. It only means putting these opinions aside up to the point where they will have a value.

Conclusion

The discussion is far from complete. I will make sure to increase the contributions to this topic as much as time allows. The points discussed above are my personal observations derived from my personal life. I would be more than happy to discuss these opinions thoroughly with anyone who is willing to have an open objective discussion. I understand that this post is a bit vague and open to multiple interpretations; however with time I believe I will be able to convey my observations on the factors of success. Knowing that these factors might just be an illusion, I strongly believe there are lessons to be learned from them (more or less).

BlackoutSOPA.org : SOPA is not just a US affair, it concerns the whole world.

What is SOPA?

SOPA is short for Stop Online Piracy Act it’s a bill introduced to the  United States House of Representatives which in short will allow the United States Government and copyright holders to stop and remove any website from the internet if accused of breachingaiding copyright infringement. (Source: Wikipedia).

What does it have to do with us?

Everything! Internet is open for anyone and everyone. Censorship of any kind is not acceptable.

What can we do to help?!

Protesting SOPAThere’s not much we can do us non US citizens, however we can show our support through http://www.blackoutsopa.org/ for example. This small and simple app will allow you change your twitter profile picture to one of the 3 options to protest SOPA. I’ve changed mine. So should you!