Browsed by
Author: admin

The 3 Different Tribes of Programmers

The 3 Different Tribes of Programmers

Computer Science is a very interesting area of study, because it has nothing to do with computers. And it’s not a science.

There are countless ways to call yourself: a programmer, a developer, software engineer, IT specialist, architect, hacker, data scientist, machine learning engineer, technology “fellow” and even ninja. Although there are some (not so) subtle differences between these terms, in general, they all represent someone who writes some sort of code which runs on some sort of a computer architecture to execute and is expected to return some result.

I believe the division should not be made on ‘front-end developer’ vs ‘back-end developer’ or JavaScript programmer vs GoLang engineer.

The division is much simpler. There are only 3 tribes of developers:

  1. Mathematicians.
    These are the purists of all developers. They care more about the correctness of the program than anything else. And by correctness I don’t mean how correct the requirements are implemented, but how correctly is the code executed. This tribe dominates academia and research. This is where most (if not all) of the features we take for granted are developed. This is where new languages get invented! Since most programming languages are Turing complete, this tribe doesn’t root for a particular language, although functional programming languages might be favoured.Preferred languages: Haskell, LISP
    UI: User Interface is of no concern to developers from tribe 1
  2. System Programmers.
    This is the larger group that would include DevOps and some back-end developers. These are the guys that want to be closes to the machine and they understand that code and hardware go hand-in-hand. This is where Linus Travolis and Johnathan Blow are. This is where implementing a solution elegantly trumps theoretical correctness. This tribe usually doesn’t create new languages, but they might create compilers or transpilers to convert code from one existing language to another.Preferred languages: C, Assembly
    UI: More important than first tribe, but not as important overall. As long as the system overall is doing what it’s supposed to do, how the user interacts with it comes second hand. Exception here is for the game developers which tend to be in this category, but also (naturally) care for the User Experience
  3. Product Programmers
    This is where most software developers are. This is where the most important thing is to create and deliver a product that many people use. The correctness of the program is purely determined by the user experience. Even some known bugs are accepted, considering the proportion of impact they have on the overall system. This tribe is actually further broken down into the following sub-tribes:

    1. General Programmers (Full stack)
      You hear this term a lot. These are programmers who can put together a system end to end even though they might not be an expert in any particular domain (such as databases, backend, front-end or devops.
      Preferred languages: Ruby, PHP, JavaScript, Python
    2. System Programmers (DevOps)
      These guys are the ones that keep the infrastructure alive. They usually work closely with back-end developers or they might overlap with some backend development. Primary task for this tribe is to set up, automate and maintain the infrastructure. These are the guys who will set up the automatic build pipe-line and also the guys you call at 2am if the system goes down.
      Preferred languages: Bash, C, Python, Pearl
    3. Back End Programmers
      These guys will talk bout scalability, distributed systems, concurrent connections and clustering. They are the ones that create the backbones of the systems and the ones that orchestrate the data flow of a program. The most important thing for this tribe is how much the system can scale. Can it support 100 million gazillion concurrent users? If not, it’s useless.
      Preferred languages: Java, JavaScript(NodeJS), GoLang, Ruby, Scala, C#
    4. Front End Programmers

      In this sub-tribe you will find the programmers closest to the end-user. They build UI interfaces, they add themes and they make the functionality that the end-user actually interacts with. These are the guys that will talk about MVVM patters, layouts, UI kits and User Experiences.

      Preferred languages: JavaScript (React, Angular, Vuejs), C# (Unity, Hololens), Java (Android), Swift and Objective-C for iOS Development

I believe a great engineer should be able to move up and down these tribes easily. One such programmer that is always in the spotlight is Alen Kay (XEROX PARC) ( He can move up and down through the programming tribes with ease. I encourage everyone reading this to get out of their comfort zone and do things that are completely different. Are you a front-end programmer that is very well versed in the new shiny web-technologies? Try to build a compiler. Are you a CPU architect that spends hours on mathematical proofs that the CPU works as expected? Try to create a (nice) User Interface. You will be surprised how much more you end up learning in the end when you try new things.

So in which tribe do you belong to?

Hololens Tutorial: Let it snow!

Hololens Tutorial: Let it snow!

With the spirit of holidays fast approaching, I decided to write a short tutorial on how to add snow to your apartment. In Hololens of course 🙂

This tutorial assumes you have a Hololens and it’s ready for development. If you haven’t paired your device yet, please follow these instructions on how to do so here.

1. Getting started with HoloToolkit

First, let’s Open Unity and create a new 3D project. Please be aware that you need at least Unity 5.4 HTP (Hololens Technical Preview) or Unity 5.5.

Hololens Tutorial

The next thing to do is to import the HoloToolkit, which is provided for free by Microsoft. There’s two ways to do this

Using Git – just clone the repository and grab the Unity package
  git clone


Go directly to the GitHub project page and download the unity package file.

Once we have the unity package file for the Holotoolkit let’s import it!

With the Unity project open, click on Asset -> Import Package -> Custom Package and select the downloaded file.

This will prompt you with the dialog to select the files to import. I suggest importing all the files, although you can skip the example ones.

Hololens Tutorial

This will basically give you access to all the cool toolkit tools for Hololens. In this tutorial we will only use the Hololens camera and the voice activation.

Now your scene should look like this:

Hololens Tutorial

2. Setting up the Hololens Scene 

First, select the “Main Camera” and remove it. We will replace it with the Hololens Camera. Next, since we don’t need a sun and ambient light, select “Lighting” from the upper-right hand side and remove the skybox. Also, from the ambient source drop down select “Color”.  Your pane should look like this:

Hololens Tutorial

Now let’s add the Hololens Camera.

From the Assets folder, navigate to HoloToolkit -> Utilities -> Prefabs and select “Main Camera”.  Drag and drop it on the scene, and make sure its position is reset to origin.

Now let’s add a simple 3D cube, with the following properties so we can test our scene:

Hololens Tutorial

Now save your scene and we’re ready for the first test!

3. First Deployment to Hololens!

Holograms are expensive to render, so let’s tune down the graphics to make sure we get the best experience possible.

Go to Edit -> Project Settings -> Quality

On the right hand side you will see a menu similar to this:

Hololens Tutorial

Under the Windows Store logo, at the bottom, click on the upside-down arrow and select “Fastest”.

Great, now let’s set up the build settings.

Hololens Tutorial

Go to File -> Build Settings

In the popup, select Windows Store and click “Switch Platform”. Add the current scene by clicking “Add Open Scenes”.

From the drop down menus, select the following options:

SDK: Universal 10

UWP Build Type: D3D

Build and run on: Local Machine

Select C# Project option.

On the right hand side, find “Other Settings” and select “Virtual Reality Supported”.

Phew!!! Ok, now click “Build”, we are not done yet 🙂

You will be prompted with selecting an output folder. Best practices says to create a new folder called “App” inside your project and build in there.

Hololens Tutorial

Wait for Unity to finish building. When it’s done, you will be prompted with a window. Navigate into the newly created ‘App’ folder and find the Visual Studio Solution file (In my case is SnowDemo.sln).

Double click to open. This will open the Visual Studio project.

At the top, please make sure you have selected “Debug”, x86 as a platform and “Remote Machine” (which you should have configured from Step 1).

Hololens Demo

Now for the moment of truth! Make sure Hololens is running, and press Ctrl + F5 to start without debugging!

If everything goes well you should see this in your Visual Studio console:

Deployment complete (0:00:14.434). Full package name: "SnowDemo_1.0.0.0_x86__pzq3xp76mxafg"
========== Build: 3 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Deploy: 1 succeeded, 0 failed, 0 skipped ==========

Hololens Snow Tutorial
Hololens Snow Tutorial

4. Adding the Snow

Awesome! We have a cube in our living room now! It’s time to add the snow.

The snow is basically a particle emitter with the following configuration:

Duration: 5.00
Start size: 1
Max Particles 500

Rate: 200

Angle: 25
Radius: 2
Length: 5
Emit from: Volume

Velocity over Lifetime
x: 0.1 y: 0.1 z: 0
Space: Local

Limit Velocity over Lifetime
Separate Axis – YES
x: 1 y: 1 z: 1
Space: Local
Dampen 1

Collision Mode 3D
Dampen: 1
Bounce: 1
Max Kill Speed 10000
Radius Scale: 1
Collides With: Everything

Render Mode: Billboard
Cast Shadows: Off
Min Particle Size: 0.01
Max Particle Size: 0.03

If you don’t want to type all that stuff, just use the pre-fab that comes with the project (github link at the end)

So now your scene should look like this

Hololens Tutorial

Now for the final moment of truth!

Rebuild and run the app on Hololens!

Hololens Snow Tutorial Final
Hololens Snow Tutorial Final

How cool is that? The holiday spirit right into your living room! All the source files can be found on GitHub here:

If you found this tutorial useful, please star the repository 🙂

Hololens – what can it do?

Hololens – what can it do?

So I took the plunge and purchased my Hololens dev kit back in June. I started playing with it and immediately saw the following facts:

  1. The Field of View is very small
  2. The quality of the camera is low
  3. It only works really well in not too bright and not too dark rooms
  4. It’s very expensive ($3,000)

So it sucks, right?


This is the coolest piece of technology that has hit the consumers since the transistor radio. Hololens is an Augmented Reality device. It’s a device where computer generated effects and holograms are placed in your real world. You can interact with them and they can interact with the real world.

  1. The field of view is small, but you only use about 6° to focus on stuff, so the experience is still awesome (plus, I am sure the FOV will get bigger in the next iterations).
  2. The quality of the camera will improve with future iterations – it’s still better than what we had 5 years go as webcams.
  3. This will get better as the camera becomes more sensitive. Also, you could probably add an ultrasound sensor to use radar technology to help map the room better in low light conditions.
  4. It’s expensive because it’s not massed produced yet.

Augmented Reality is not new. Fighter jets pilots have used it for decades. But the problem has always been the cost. Building AR for the military costs a lot of money and there was no hardware to support consumer-level AR.

Nowadays, we all have a quad-core CPUs in our pocket with a pretty fancy graphics card, so the technology advanced rather quickly. This has lead a few companies to start a race for conquering Virtual and Augmented Reality.

Hololens’s shortcomings mentioned above are rather just missing features due to iteration. In other words, the field of view will get bigger, the price will drop, the sensors will be better so that you can wear it in very bright rooms and very dark ones as well.

So what can you do with it? Here are a few things that someone can do with an Augmented Reality device, such as Hololens:

Add Stuff to Your World


I can create a hologram, and place it in front of me. How cool is that? I can look at it, I can walk around it (remember, I am not wired in to anything). I can get closer and further from it. The software will recognize walls and objects so it will “hide” behind corners – this one bit will give you a true feeling that whatever object you added is really there.

What about in the future?

So now you can add 3D objects exported from programs such as Blender or 3D Studio Max. But what about live objects? Can I see my mom which is 7,000 miles away as a hologram in front of me so we can chat? To do this right now, my mom would have to be in a special studio, surrounded by green screens so that she gets filmed from all angles and then turned into a hologram and then broadcasted into my field of view. This is not really possible in a practical way right now, but I am sure this will change in the next few years.

Negative Spaces

It’s nice to add things in your field of view, but it’s even nicer to add it behind stuff. One of the coolest examples is the Robot Raid game and the Origami Demo.

Hololens basically maps out your surfaces (such as walls or floors), an explosion occurs, and then a mask is added on your floor to make it look like there’s a hole and you can see through the hole in another world.

It’s truly fascinating stuff!


Another really brilliant aspect of the Hololens experience is that the holograms which you add to your world can interact with your environment. So if you place a holographic ball on your coffee table and make it drop down, it will bounce off the floor and roll, just like a real one would.

This opens endless possibilities of interacting with your environment. This could have real world applications from coaching to games!

Spacial Awareness

This is where the headset really shines. It is really good and really fast at knowing exactly where you are in the room.

I was blown away by it’s responsiveness and accuracy while doing the Spacial Awareness tutorials. Above is a short clip of me, moving around in my living room. Notice how you can also see the direct in which I am looking.

Live Camera

Another cool feature is the live camera, and this can be demoed directly out of the box. Hololens comes with Skype, and when you connect with someone, the other person can actually see what you see through your Hololens.

And check this out: not only they can see what you see, but they can add stuff to your world – such as holograms, arrows, stuff.

This is great example on how Hololens type of technology can be used for field workers, remote workers, medical, etc.

Sharing Co-ordinates

And for the last cool feature: how can you have nice hologram experiences if you don’t share them with your friends?

A really cool feature of the entire ecosystem is having multiple people, each sharing their own Hololens in the same room and interact with the same holograms in the scene.


Hololens and all the Augmented Reality glasses might be a few years away from a consumer product, but the potential is beyond huge.

We could be using this not only for entertainment purposes, but to solve real human issues, provide security (just imagine combining hololens with drones), and automate many manual processes.

I feel like we are living at the edge of a huge technological breakthrough, and that’s very exciting!

Have you used a Hololens yet? How do you feel about it?

Playing Starcraft Taught Me a lot About Running a Business

Playing Starcraft Taught Me a lot About Running a Business

Playing video games and running a business is probably the last thing that comes to mind to most MBAs. One cannot possibly understand how a game, created for entertainment purposes, can potentially be helpful in managing a business. In reality though, there are a lot of similarities between a game of Starcraft and running a business. And when the capitalist competition is fierce, finding inspiration in the odd places can make the big difference sometimes!

A little bit of intro about Starcraft for those who have never played it. Starcraft is a futuristic Real Time Strategy game. There’s robots, aliens, weird aliens and space ships. When the game begins, you, as in the player, has a bird’s-eye view of the entire map, which is the battlefield. You start with a home base and a few workers. The enemy starts with the exact same set up, but on the other side of the map. The point of the game is to build an army and battle the enemy until you destroy all their units and buildings. As a player, you control all the units and and production of the game, so multitasking is key.

The game has an internal economy. Every unit or building built needs one or both of the resources available on the map. These resources are called minerals and gas. There’s a third type of resource – supply. This is really the equivalent of housing or number of desks and chairs you have in our office for employees to use. I’ll come back to this later.

So we start with a home base, a few workers, and the point of the game is to collect resources, build units and buildings, upgrade the units, make sure there’s enough supply buildings for each unit. Once you build the first solider units, you send them scouting and they can engage in fight with the enemy. In a nutshell, that’s what the game is about.

So how is this similar to running a business?

1. Multitasking

The first thing that a Starcraft player realizes is that they have to be awesome at multitasking and switching context. When you start a business, you have to switch from hiring people to raising capital to doing sales to doing marketing. In the game you have to constantly switch between harvesting minerals and gas, building buildings, producing units and scouting the map. In Starcraft you end up going through what I call a “multitasking loop” where you do something like this:

  • Check that resources are being harvested efficiently
  • Scout the map
  • Produce war units
  • Make sure we haven’t reached supply limit

In the game, this multitasking loop happens once every 7-10 seconds on average. In the business world the loop might look like something like this:

  • Check that cashflow is strong
  • Discuss with sales to make sure sales are ok
  • Talk to marketing and engineering teams to make sure the products is on track
  • Make sure the team is happy, everybody has work to do, but not TOO much in a way they feel overwhelmed for long periods of time

In the business world this loop usually happens once a month or once every 3 months, usually during month-ends or quarter ends.

2. Micro-Managing and Macro-Managing

In every game of Starcraft you have to do both micro and macro managing at some point or another in the game. Especially in battles. Depending on the battle, sometimes you have to just let the units do their thing, while only telling them the general direction they have to fight; other times you have individually pick units  and move them around during the battle to maximize your success. Both methods have pros and cons. Micro-managing every unit will result in better odds of winning, but it’s not sustainable. In other words, there’s only so much one can micro-manage, and if the competition doesn’t do that, then they will have clear advantage.

Some goes in business. For every project your business executes, you, or your managers, can either micro manage or not the employees. In reality there’s a combination of both. And it’s a great skill to know when to micro manage and when when to just let it flow. A great example of micro-managing would be very close to a deadline when it’s important that certain things get done at a certain time, or when doing something for a super important client or project and you have to make sure the work is beyond flawless.

But you have to be careful because, just like in the game, micro-managing comes with a price. Overworked or unhappy employees and lack of focus from the big picture. In the game, if you micro-manage a battle, you might end up having your home-base invaded without even realizing.

In general, I think 90% of the time should be spent macro managing and 10% micro managing, usually around key milestones.

3. Resource Management

Every business manager knows the importance of resources. Resources come in different shapes: money, acquisitions, talent, IPs. In Starcraft, besides minerals and gas, you also have the terrain that’s around you and the technology tree (a way to upgrade your units). In a business, you’d send some of your selected staff to training, maybe to complete a masters degree. They will have more knowledge and then contribute as a higher resource to the company.

Money (or rather cashflow) which is the biggest resource of them all can come from multiple sources. In business it’s called revenue streams. In Stracraft is called “expanding your base”. It is important from early on in both cases to expand and to make sure you have at least 2 different revenue streams at all times. Also, just like in the game, it’s not a good idea to sit on big piles of cash – you should always invest anything extra into making the product better and creating even more revenue streams.

A more gruesome way to think of resource management is what happens after a battle. In the game, sometimes you carry a battle and you end up loosing 80% of your units. You quickly go back to your base and notice that some of your remaining units are wounded or broken. So you spend resources to fix or heal them. The exact same thing in business – maybe you’re having a rough period and you’re down to the core staff – you need to spend resources to make sure they don’t end up leaving. Or you can just let them go to cut your losses.

4. Scouting out the Competition

Sometimes keeping an eye out on the competition is just as important as it is on your own business. When running a business you have to understand that the competition is most likely doing or thinking exactly the same things as you are. One of the most important things in Starcraft is sending out scouts all over the map to check out what your opponent is doing. Otherwise you will end up with an entire battalion in front of your base and you won’t have time to react.

The competition in some instances is so drastic that big companies such as Apple and Microsoft make engineers sign disclaimers that they won’t leave to work for the other company.

Another method for scouting in the business world is to have your company set up in a city where a major university is present. For example, RIM (the producer of Blackberry) had their headquarters in Waterloo, Ontario, a place where the local university is a world famous math and science university. Elon Musk’s decision to set the headquarter’s of SpaceX in Southern California was because of the high ratio of aerospace engineers per capita.

So just how in Starcraft the player continuously scouts the enemy and new resources, in business you have to constantly look for fresh talent and keep an eye on what the competition is doing.

5. Adaptability to Change

Just like in real life, things change. Things don’t work out the way you expect them to do. So you must adapt to fit the new scenario. This is the most important thing I have learned from Starcraft when it comes to business. You start out with a plan, kind of a step-by-step plan on how to do. And then, without question, about 30% into your plan, something happens and you must adapt, thus discarding the old plan and creating or adapting a new one.

The most important thing to keep in mind when a plan changes is not to neglect the 2 most important thing: the resources (the cashflow) and whatever units you have left (the existing employees). In the game, a secondary base might all of the sudden become your primary base, especially once the minerals have depleted from the initial one. Same in business: a secondary or unexpected revenue stream might become your main one, depending on the market, demand and things you cannot control (such as how technology changes around you).

As a good leader you have be able to adapt and pivot to make sure you always maximize all the revenue streams given the current resources, or else you will fail fast. Too many resources are also a problem, although a better one. If, let’s say, you end up getting a huge round of investment and you don’t plan accordingly and hire the right people to help you grow slowly, you will not only crash and burn, but you will also waste the investment.

Cashflow, especially the passive kind, is the most important thing to nurture in a business. Maybe one day it will be your business lifeline. And it’s ok if the cashflow is not 100% in line with your primary business, as long as it’s there and you take care of it. And this brings me to the next point:

6. Decisions

Decisions are another important aspect of playing Starcraft that relates to business. In the game, just like in a business, you have to constantly make decisions. Big decisions, small decisions, good decisions and bad decisions. It’s a way of life. The problem comes when you hesitate or don’t make any decisions at all, that’s when you’re in trouble.

In the game, around the 2-3 minute mark you have to decide if you should expand or not. Sometimes one decision is better than another, but you don’t know that. However, both decisions (to expand or not expand) are better than no decision at all. No decision means you send 3 “workers” to the expansion area and keep thinking about weather you should expand or not for another minute. In that minute you lost the power of those workers to generate minerals or gas, and the opponent has already made a decision and now they’re ahead of you.

In a business making wrong decisions is much better than making no decisions at all. Because making a wrong decisions will teach you a lesson, and in the future you will make better and better decisions, but making none at all will keep you in the same place. And speaking of experience…

7. Experience

Experience in both the game and business will make you better. In Starcraft experience means playing many games, in real life it might mean running an entire business your whole life, or starting multiple business along the way. But I believe that even if you run the same business for many years, the sub-projects are still mini-businesses on their own and all the benefits of running through complete lifestyles will come in handy.

Starcraft is just a game to many people, and in reality it is made for entertainment purposes. The fact that it trains your brain to act quickly, multitask and set a greater strategy are just side-effects of its original intention. However, with a world that saturated in some areas it’s great to find inspiration in things your competition might overlook.

Drawing parallels between things that appear to be completely unrelated is a great way to exercise your brain muscles. I challenge anyone reading this publication to think of other completely unrelated things that can be paralleled. For example, can you think of a way how playing tic-tac-toe is similar to negotiating a sale?

The hidden competitive advantage of Virtual Reality products

The hidden competitive advantage of Virtual Reality products

A secret gem and endless source of information about investment and management can be found by reading Warren Buffett’s annual shareholder’s letters. And what better way to spend a Sunday afternoon but to read through these old publications?

So in one particular case, Warren (yeah, first name basis!) explains a very simple, yet extremely important aspect of an emerging technology which people completely disregard: the competitive advantage.

So what does this mean?

People tend to overvalue every company and product that is visible when a new industry emerges and they tend to infer that a new technology automatically means investment opportunity in all directions. But it’s not quite like that, as Warren explains. Just because a new technology will change the way we live, which means huge long term growth, that doesn’t mean investing in ‘anything’ related to it is a good idea.

Let’s take some examples:

At the beginning of 20th century, there was no doubt that the automobile would change forever our life and that the automotive industry will grow into the distant future. And it did! However, this is a list of roughly 1000+ car manufacturing companies that existed in the United States alone! Out of these, only 3 survived! It turns out the same is true for the airplane manufacturers, and we all the know the fate of the .com bubble.

So now we have a new technology which I am convinced it will change us forever – Virtual Reality (and all its flavours of VR, AR, Mixted Reality, etc). All of the sudden we have a similar scenario: an industry that will grow as a whole, and many many companies and products are trying to get a pice of it.

As an investor, you shouldn’t throw your money at everything that moves and has VR in it, because most of these companies will disappear soon. Of course this doesn’t mean that the current companies and products are not profitable – they are, and they will be, but not long term! As a long term investor, you should not bet big just because they’re part of a hot industry.

So in a hot industry, with a relatively small entry barrier, how do you know which companies will persist in the long run and which will flop? The answer lies in the management. In an industry that’s like stardust – hot, forming planets, and not knowing how many and where they will be, it’s important to have leaders that can converge long-term vision with short term adaptability.

Today you are selling software and headsets, tomorrow those headsets will be obsolete, so the value will be in the software alone. In a few years, some other device will appear that projects straight onto your retina – so your value returns to a software/hardware combination.

In conclusion, although it’s impossible to map out what will happen with an emerging technology and how to invest in it, you could follow the above advice and look very closely at the founding team and their vision. It’s what will make the difference between small, insignificant products, and large successful ones!

360° Video vs 3D Video vs Virtual Reality

360° Video vs 3D Video vs Virtual Reality

Many people use 360° video, 3D Video and Virtual Reality interchangeably. This is wrong and leads to a lot of confusion. So here is a quick overview of what each is, and where I believe the technology is heading.

360° Video

360° video is video that’s filmed in 360 degrees, but with no depth of field. This is the most common type of “VR” videos at the moment. Facebook just launched support for these videos on their timeline, so anyone with the right camera can film and upload a 360 degree video. So what is it? It’s really a video that captures a dome-like panoramic view. When you watch the video, you can move around the camera so you can see in different directions (note: not different angles). So if you use 360 video to shoot a skydiver, you can see what they saw, except you have the option that every time you watch the video to look in a different direction.

Here is a great example of such video. Notice how you can turn around the camera, but you cannot move it. In other words, you can’t move the camera so that you get a another angle of the shooting. You can watch these type of videos on youtube and on the Facebook timeline. You can use your mouse to move the camera around. Alternatively, you can watch these on your cellphone combined with a 3D Headset. When you do this, you will be able to move your head around to control the camera direction. This will give you a great deal of emersion, but it is still not 3D!

Some examples of cameras that can shoot 360 videos are found here and here.

3D Video

Now, the real deal is 3D video. 3D video gives you depth of field. To consume 3D video, you will need a 3D headset and a good cellphone. The experience is similar to what you’re used to at the 3D movie theatres, only much better. This technology is fairly new and rather expensive.

Here is an example of a 3D video .

You can notice a major difference between the videos: the 360 video is full 360 degrees, but no depth of field; whereas the 3D video has depth of field, but the viewpoint is limited.

As technology gets cheaper, all the 360 videos will become 360 3D videos! I hope that makes sense 🙂

Virtual Reality

Virtual reality is just a specific case of 3D video, where the entire scene is NOT filmed, but computer generated. In reality (no pun intended), we are using the same technique: stereoscopic rendered images. In a 3D Video, this is filmed using special cameras such as this:


But in Virtual Reality, all the content is computer generated using special programs such as Unity or Unreal Engine.

The future of Virtual Reality

I think the near future will bring us many different cameras and ways of doing this, until everything will merge into pocket size 360-3D cameras. Also the devices we use right now to consume this, will be so small they will fit on a contact lens.

I hope this article will shed some light onto this amazing new technology!

Dealing with China: An Insider Unmasks the New Economic Superpower Book Review

Dealing with China: An Insider Unmasks the New Economic Superpower Book Review

Author: Henry M. Paulson

First Published: January 28th 2014

ISBN:  1455545333 (ISBN13: 9781455545339)

Review by Catalin Avram

You might have noticed that lately pretty much everything is made in China. You might have also noticed how Chinese influence around the world is growing really fast. This book offers an amazing insider view of how China managed to go from dirt-poor to world super power in less than a generation. China managed to move 440 million people from farms to the cities in less than 30 years. By comparison, the entire population of the European Union is 508 Million.

Every country has its own social, economical and political challanges to deal with, but one must agree Chine’s problems are on a different scale. Paulson is a an american banker which served as the Secretary of Treasury during the Bush administration. He also held the title chairman and CEO of Goldman Sachs, so what better way to get a really nice “fly on the wall” view of high-level discussion and strategies for bringing Chine up to speed as an economical super power. The author offers a very detailed account and timeline of issues China had to deal with, the mistakes it made, the good things it did. One of the most interesting thing I learned in this book is the following: the Chinese people are extremely patriotic, but not in a fanatical way. They understand and they do put the greater good on first place. They also understand that, in order to bring everybody in China to a relatively good standard of living, some people must get rich first, and those people’s responsibility is to pull the rest with them (by creating a consumer market inside China).

Another interesting fact is how China’s economy works. It is a true hybrid between Communism and Capitalism. When the reform started, the farming was done using cooperatives which took everything from the workers working the land and payed them in return small salaries. After the reform, the cooperations remained, however, each farm / food producing unit has a quota to meet (for the state). If they choose to produce more food than the quota, then there’s a free market in which you can sell your stuff. In other words, you have a minimum income assured, and if you want to get ahead, you work/produce more. This incentivized an army of entrepreneurs to take advantage of this newly created economic reform.

I highly recommend this book to anyway interested and curious on how high level problems are discussed. Although it’s still the USA that has the upper hand in the world economy, China has definitely been doing something right in this reform – and a tight cooperation between both countries will yield economic prosperity for both.

Disrupted – My Misadventure in the Start-Up Bubble Book Review

Disrupted – My Misadventure in the Start-Up Bubble Book Review

Author: Dan Lyons

First Published: April 5, 2016


Review by Catalin Avram

This book is a must read for anyone currently working in a Silicon Valley type of startup. At first it sounded like a lame series of excuses coming from older man who can’t adapt to the startup trend, but if you stick to the book you realize Dan Lyons has some serious points. Being a journalist and a satirist (he used to ran the famous Fake Steve Jobs blog), and a little bit of a complainer, Lyons gives a full blown, no censorship view of what actually happens inside a tech startup.

I don’t agree with a lot of the author’s views on the start-up culture. He’s either overly exaggerating or he’s being overly sensitive about things which are just different than the status quo. There is also a lot of points I do agree on. The start-up cultures seem to be a combination between kindergarten and a frat house. This is very true. Where old financial companies and banks are on one end o the spectrum, these companies are completely on the other hand (it’s no joke when he mentions that if you don’t go for drinks after work with your colleagues it might, and it will be used against you, and viewed as “lame” because you’re not a team player and you don’t get involved).

Here is the HubSpot’s (the subject company) co-founders’ response to his book: (SPOILER ALERTS)

HubSpot’s Response to the Book

It is an incredible story, with some nasty twists. But more importantly, other than one man’s re-discovery and colorful language, the man question becomes: are we in a tech bubble where hipster kids run multi-million dollar companies where their burn rate is fueled by cheap money printed by the Federal Reserve? What do you think?


A Brief History of Time Book Review

A Brief History of Time Book Review

Author:  Stephen Hawking

First Published: 1987

ISBN: 0553380168 (ISBN13: 9780553380163)

Review by Catalin Avram

Stephen Hawking is one of the greatest physicist of all time. His contributions to the world of science is phenomenal, some say on the same level as Newton or Einstein. He published this book 1987. It is a description of the Big Bang written in plain English, with no equations. It is an amazing summary of one of the newest and deepest fields in science today. I describes big ideas such as how the universe formed, quantum physics and time travel. This is a must read for everyone!

Favourite Quote:

If time travel is possible, where are the tourists from the future?

What I learned from this book:

I learned that with a bit of patience you can explain big ideas to non-scientists. Not only that, but it’s imperative that some of the science be written, in depth, for non-scientists. This allows more people to contribute with novel ideas which will most certainly lead to breakthroughs.

The Cold Fire Trilogy Book Review

The Cold Fire Trilogy Book Review

Author:  C.S. Friedman

First Published: 1991

ISBN: 0756403146 (ISBN13: 9780756403140)

Review by Catalin Avram

The Cold Fire Trilogy is an epic Fantasy / Sci-Fi saga based on the fictional world of Erna. In this distant world, an unlikely group sets foot to combat the world’s most evil. The narration is most awesome and the character build is superb. This page turner will keep you hooked until the end, until the final battle. One of the best Fantasy / Sci-Fi books; extremely underrated.

Favourite Quote:

There is no such thing as redemption, my friend. There is right, there is wrong, and there are a million shades of color between the two. Once you’ve done wrong, it is always with you. You just have to try and be better.

What I learned from this book:

In your journey you will find the most unlikely allies and the most unexpected foes. Careful who you open up to, they might turn from ally to enemy.