Browsed by
Category: Technical

Gradient Descent using Flocking algorithms

Gradient Descent using Flocking algorithms

One of the key mathematical foundations of machine learning is using gradient descent to find maxima and minima in a multi-dimensional data set. Gradient descent is good, but getting the most out of it can sometimes leave you wringing your hands or doing a lot of painful mathematical investigation and analysis. Investigations that can quickly tax even a mathematics major.

Sergui Puscas shows us a different, more intuitive way to find maxima and minima by using swarming and flocking techniques. It’s a pretty fun read.

Those Cool Open Office Spaces are bad for employees

Those Cool Open Office Spaces are bad for employees

From Inc Magazine that is citing the most comprehensive studies done. But this shouldn’t be a shock, many of these studies were done in the 1950’s and came to the exact same conclusions.

And all this after Indie developers are learning to throw out working all the time in favor of actual office hours too. Turns out those ‘big old companies’ are all being proven right. After all, they got the way they are – big, old and profitable – by researching and using the best-known methods.

From the article:

There have been numerous studies showing that open-plan offices are both a productivity disaster and a false economy. (The productivity drain more than offsets the savings in square footage.) There are even some videos showing how wretched (and in some cases ridiculous) these environments truly are.

Well, just in case you weren’t yet convinced, here’s some new evidence from a study of more than 40,000 workers in 300 U.S. office buildings–by far the most comprehensive research on this issue. The results, published in the Journal of Environmental Psychology, came to the following conclusion:

“Enclosed private offices clearly outperformed open-plan layouts in most aspects of IEQ (Indoor Environmental Quality), particularly in acoustics, privacy and the proxemics issues. Benefits of enhanced ‘ease of interaction’ were smaller than the penalties of increased noise level and decreased privacy resulting from open-plan office configuration.”

Don’t let the jargon confuse you. The term “proxemics issues” refers to how people feel uncomfortable when they’re forced into close proximity with other people. To be perfectly clear, here’s what the paragraph says: “Open-plan offices aren’t worth it.”

BTW, it isn’t just the noise and the interruptions that cause people to hate open-plan offices. According to a recent Wall Street Journal article:

“All of this social engineering has created endless distractions that draw employees’ eyes away from their own screens. Visual noise, the activity or movement around the edges of an employee’s field of vision, can erode concentration and disrupt analytical thinking or creativity.”

Unlike noise pollution, which can be remedied with a pair of headsets, there’s no way to block out the visual pollution, short of throwing a towel over your head and screen like a toddler’s play tent.

The failure of Coin and why gadget ventures often fail

The failure of Coin and why gadget ventures often fail

Ben Einstein does an excellent analysis of the failure of many smart gadget companies.

His analysis breaks down like this:

First generation products are always plagued with bugs, fail whales, and even the occasional mass-recall – most companies can bounce back from these setbacks. But other companies do not. It boils down to risk.

Technical Risk and Product Risk

When it comes to hardware startups, there are two types of risk. They are manageable on their own, but together often spell failure. These risks are: technical risk and product risk.

Technical risk is the chance you can’t deliver a product due to an engineering or manufacturing constraint. Examples from Coin: getting an e-Ink screen, Bluetooth antenna, battery, and microprocessor all working in a 0.76mm thick PVC card.

Product risk, however, is the risk that many overlook. Most products have low product risk. They routinely fail in small ways, but those failures are viewed as mere annoyances. A pop top that breaks off once every 1000 cans of Coke, the Roomba that occasionally misses a spot, an Alexa that mistranslates your command and you try again. Not big deals. But an automated door lock that fails might leave one stranded outside at 2am in a bad part of town or opens the door to robbers, a website that exposes your address and bank accounts for emptying, or your sole payment method that fails you at a fancy dinner are another matter.

You likely have high product risk if any of these are true:

  1. If a small number (one or two) of failures over the lifetime of your product create a negative interaction (like door locks or sole payment methods).
  2. If users would pay significantly more for a product that is guaranteed to work 100% of the time (like wireless routers).
  3. If users rely on your product for critical business operations (like point-of-sale systems).
  4. If failure could wreak massive havoc on personal security or safety (like home security systems or cars).

The Goal:

Your goal then is to only have high risk in one of the two risk classifications. Very few companies that have both kinds of risk survive. Tesla and SpaceX are notable exceptions, which should give you an idea of the efforts you will need to go to in order to overcome these risks. The other method is to reduce your feature set to minimize technical complexity or lower user expectations in case of product failure.

VNC-ing into Ubuntu 14.04

VNC-ing into Ubuntu 14.04

Some VNC functionality was broken in Ubuntu 14.04 due to Vino, but fortunately, it’s fixable:


Using a combination of clues from (which is all about VNC access) and (which discusses the bug introduced into Vino) I have managed to resolve the matter.

Essentially you have to disable encryption on remote desktop access in Gnome due to a bug that has come to surface in Vino. However, some threads tell you to uncheck it in the wrong place. Follow these guidelines and you should be able to resolve it quickly.

Specifically it’s

dconf > org > gnome > desktop > remote-access > require-encryption – uncheck

and NOT

dconf > desktop > gnome > remote-access > enabled – uncheck

Here is how you do it:

  1. First make sure Desktop Sharing is set up properly.
  2. Download dconf-tools by typing in Terminal sudo apt-get install dconf-tools
  3. Run dconf-Editor
  4. Expand org
  5. Expand gnome
  6. Expand Desktop
  7. Select Remote Access
  8. Uncheck Require Encryption (don’t click on Set to Default as it rechecks it)
  9. Exit dconf-Editor

It should now work. Tested through a reboot and all good.

Hope it helps.

(I have got a screen shot of dconf but don’t have enough points on here to post it – I am sure everyone can work it out for themselves though! 🙂 )

If data was used like this in the 90’s – imagine how it’s used today…

If data was used like this in the 90’s – imagine how it’s used today…

The Lion King video game has a notoriously difficult level. Known simply as ‘the monkey level’, some consider it one of the hardest levels in gaming. But did you know there’s a story behind its legendary difficulty?

In the 90’s, Blockbusters started to rent out video games in addition to films. However, unlike film studios, who got paid every time their films were rented, video game developers didn’t get a cut of the profits. So, a lot of the video game industry hated the rental industry and wanted to make sure their games could not be beaten in the rental period.

Disney, in particular, had studies and metrics. They determined that most players would not buy a game if they could beat some large percentage of it in a rental period. Disney told the developer of the Lion King, Westwood studios, to put some giant difficulty spike early in the game to intentionally halt player’s progress. The game was nearly complete and the final deadline was fast approaching. The monkey puzzle was the only thing they could quickly implement on such short notice.

Here’s a developer’s commentary on how it went down:

Amazing Ford car crib

Amazing Ford car crib

Putting the baby in a car and going for a drive has long been known to put even the most restless child to sleep. So, Ford made a crib that you connect to a smartphone app and can then record/playback journeys you take. It reproduces sounds, passing lights, and the very motion of the journey.  So now, your child can take your commute home each day with you.

Bonus points for the Castilian Spanish.