Software 2.0 or how to train AI in 2018

Submitted by luxian on Tue, 06/12/2018 - 09:23

Yesterday I stumbled upon this talk from Andrej Karpathy which explains his vision regarding the current status of software engineering in his talk: TRAIN AI 2018 - Building the Software 2.0 Stack.

The talk is half an hour long and it's not technical at all. It explains how AI is now facing a tooling scarcity rather than algorithms. He says that at Tesla they try to automate the algorithm tweaking and because of that they are now spending more time developing tools and training data sets. This sounds similar to Google's approach to AI and ML. Hopefully this will allow Tesla to provide a autonomous Autopilot faster.

How to replace multi controller button on Canon EOS 6D

Submitted by luxian on Mon, 04/09/2018 - 22:03
My multi controller stopped working after some humidity got into it (snow). The right arrow stopped working, but the rest was working fine. After a few weeks of researching I decided to take the risk and try to fix it myself. Here's how I did it and a few tips for those who want to try the same.


How to fix terminal prompt not wrapping correctly

Submitted by luxian on Tue, 04/03/2018 - 13:23

On all the servers I manage I tend to change PS1 (Prompt String One) to add a memo of the environment you are on. For example I will display a red [ PROD ] in front of command prompt on production servers to remind ssh users they are on a production server. Development servers get the same treatment, with a [ DEV ] prefix and a blue background. Example with the value used on Ubuntu dev server:

PS1="\e[104m\e[30m[DEV]\e[0m "'${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Unfortunately, after doing this, the command prompt didn't wrap correctly at the end of the line. This wasn't noticed in the beginning and then I was too lazy to fix it until today, when I found the fix quite fast on Unix Stackexchange: Terminal prompt not wrapping correctly. The problem is caused by the color sequenced I used:

Non-printable sequences should be enclosed in \[ and \].

And the explanation why this happens:

The reason for the behavior is because bash believes the prompt is longer then it actually is.

Basically, the line will wrapp later than expected because bash thinks the line is longer.

The correct version of command prompt above is:

PS1="\[\e[104m\e[30m\][DEV]\[\e[0m\] "'${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '



Upgrading to Canon 5D Mark IV from Canon 6D

Submitted by luxian on Tue, 04/03/2018 - 10:15

I'm a first generation Canon 6D owner and user for about 4 years now. I did fair bunch of photos with it, but I started looking for upgrades.

Few weeks ago the opportunity arose when my multi-control button stopped working after being exposed to light snow. Before jumping to buy a  $3000+ camera body I decided to rent one for the weekend and weight the pros and cons between upgrading and repairing my camera.  So these are my thoughts on the 5D Mark IV coming from a 6D user perspective:

I don't like Asus anymore

Submitted by luxian on Wed, 02/28/2018 - 12:04

Some time ago I bought a tablet for my mom. Since she regularly needs support, TeamViewer QuickSupport it's a must. It works very well with all Android devices I own so far, except that Asus tablet. Because they are greedy! That's why I returned the tablet the next day.

After this bitter experience I remembered that I have another Asus product: AC-RT66U router. Which works great on specs and in benchmarks, but in real-life usage it sucks. Has compatibility issues with most Apple products and any other products that copy them (like LG smartphones). Signal is weak and throttles a lot because it gets hot. It set up to restart weekly in order to make it work decent.

It's pretty clear that for me, Asus is a brand I will avoid.



I really considered an LG phone, but...

Submitted by luxian on Mon, 02/26/2018 - 22:56

As a owner of an LG G4 (retired phone), it was disappointing to see company evolution in the recent years.

First, they didn't want to release Android 7 update for G4 and V10. That means the phones got only one year of software updates. Half of what you usually expect from every other big player. To make matters worse, they change their mind and said they will bring Android 7 (Nougat) update, but phone performance will probably degrade. It's almost a year since they promised the upgrade and they haven't release anything. So probably it's never gonna happen.

Then, they failed with the G5, which had a very bad display and a modular design that made the whole phone to look cheap. G6 was better, but still didn't manage to make a difference and now the LG V30 almost got phone of the year award, if it wasn't for the display issue who even got Google burned.

I don't know what's happening - but they are definitely doing something wrong. Until they fix this I will not buy any phone from them, nor do I recommend them to friends.


How to use git as root with your SSH keys and Git name and email.

Submitted by luxian on Sun, 01/14/2018 - 01:56

This is definitely not best practice, but on some servers I have some server configuration in Git and I deploy and update them manually. Git is used more as versioning system and less for deployment.

There are two main issue with this approach once you switch to root account (sudo su):

  1. you loose you ssh key chain and you can not pull/push changes
  2. if you commit changes, your Git name and email are empty and using git config it's not OK since multiple users might do the same thing

It's possible to fix this using sudo by using something like this:


sudo -Es GIT_AUTHOR_NAME=Your\ Name GIT_COMMITTER_NAME=Your\ Name su
I added an alias for this and whenever you use the alias, you will forward your ssh key chain and set Git username and password by send temporary environment variables.

Ripple vs XRP

Submitted by luxian on Fri, 01/05/2018 - 12:11

Some time ago I bought some XRP (Ripple coins) based on some news that banks are planning to use it. Apparently this is not true. Banks are using some other products provided by Ripple, the company behind XRP, not the coin itself:

While XRP investors might be charmed by the thought of holding a cryptocurrency that one day a large swath of the banking system may use, the vast majority of Ripple's banking clients are using the company's xCurrent product – a glorified messaging platform.

Another disturbing fact about XRP is that nodes in the network are all controlled by Ripple, which makes it less "decentralized".

Ripple relies on a Unique Node List (UNL) – currently encompassing five core validators all run by Ripple – when matters of consensus need to be determined.
Anyone can download the XRP ledger package and become a validator and start broadcasting immediately, but getting everyone else to listen to you is a second point

If you want to read more check "$100 Billion Controversy: XRP's Surge Raises Hard Questions for Ripple" on CoinDesk (the source of all the quotes above). I didn't check this against other sources yet.