I wanted to buy a tablet with the following carectersitics:
– around 10″ display
– 4 Gb+ of ram
– preferably dockable, or connect a blutooth keyboard to it
– Android OS or whatever I can (replace with)/(run on top of it) a Linux distribution
– HDMI port (to connect to a datashow)
– USB port (for a mouse, clicker and possibly other accessories)
– 4h+ autonomy on battery

My main motivations were mobility and flexibility with a descent computation power.
I needed a computer for web browsing, ssh connections, casual development activities, presentations and videoconferences.

The best option I found at my local provider was the Lenovo Tab Yoga Book YB1-X90F for $620 at the moment of writing.
Pros: The stilet looks promissing, and if it works well, it may replace my notebook and pen, tow less things to carry.
Cons: Touch keyboard, I am really fun of mechanical keyboards.

I also went to check the laptops category, maybe I could find a small enough laptop that feets my needs, I was willing to accept up to 13″ display if I find a good device. I came accross the HP Chromebook 11 G4 11.6″ display, 4Gb of ram, 32Gb of SSD and descent dual core CPU at 2.16GHz. The price was $300. The device looked pretty promosing, also less than half the price of the tablet option. Looked interesting, I had only heard about the ChromeOs and chromebooks at that tome, so I did some more googling about them. Once I found out that I can easily install a Linux on it, I ordered the thing. This laptop was cheaper than my low budget phone!

Last night my order arrived, I unpacked it and put it to charge. On first sight it looked damn owesome and very light. In the meanwhile I had some reading about the ChromeOs.
Today, at 10AM, I opened my new Chromebook. First thing I noticed, it booted in less than 5 seconds, wake up time was about one second. After signing up with my google account, some updates and stuff, I started looking around. The thing is blazing fast, I love this. The touchpad and the keyboard seemed a bit awkward, there is no easy right click or scrolling, everything need some special Chromebookish way of handling the touchpad. It is really annoying that some keys are missing, the ones I miss the most are home end and del. The only way is some weird key combinations. I understand the motivation behind a web oriented device but I still need to do some programming and scripting even when I am mobile.
I checked the battery indicator and is showed 99%, 10h 21min remaining. I got really skeptical when I saw the 10h of autonomy but I left my judgement for later.
The first thing I wanted to check was a terminal. To get a shell, you need to activate the developer mode, which was the first thing I did after I signed in.

$ uname -a
Linux chrome 3.10.18 #1 SMP Fri Jan 6 23:49:50 PST 2017 x86_64 Intel(R) Celeron(R) CPU N2840 @ 2.16GHz GenuineIntel GNU/Linux

I would have preferred a 4.x kernel, but for a device manufactured in 2014, this was a good deal.
I kept the devide on almost all the day, I watched HD videos on youtube for 4 hours.
After playing around with ChromeOs for a while, I installed crouton and booted an ubuntu OS.
I felt almost home, I still missed some important keys from the keyboard, but I managed to install my IDEs and tools, mounted my remote servers and have a fully working environment. I even started getting used with the touchpad gestures and I realized that scrolling and right clicking in particular are more practical than on a regular touchpad (scroll area and right button).

I am actually writing this post on my new Chromebook right now, it’s almost midnight, and the battery shows 1h30min of remaining time. I find this really impressing. I was almost continuously using it since 14 hours by now.

So far I am very happy with this toy. If I find something interesting in the future, I will come back to write about it.

After we moved to a new address, 3 things needed to happen:

  • change my wife’s ID
  • change my staying permit
  • change the car ID

Since I don’t have much knowledge about government administration, I decided to model the process as software and code-review it to see how efficient it is.

The process is the following:

  • When a citizen’s address changes, the new address and a proof of address are required to update his ID.
  • When the ID is created, the citizen is notified (I invented this feature to make the process easier to design, the reality resembles more to a sleep/retry loop).
  • When a citizen’s address changes, the new address and a proof of address are required to update his resident partner’s staying permit.
  • When a citizen’s address changes, the new address and a proof of address are required to update his car registration document.
  • When the car registration document is created, the citizen is notified (invented).
  • When a resident’s address changes, the new address and a proof of address are required to update his staying permit.
  • When staying permit is created, resident is notified about staying permit ready (invented, see above).

I can’t emphasize enough how much I simplified the process. The real version is a bit more complicated.

Next, I will try to model this process as a flow chart.


I will suppose we are building a software, and a junior developer sent me this initial attempt for code review.

At first glance, it seems that Citizen’s address changed event is requiring 3 actions that are performed at 3 different targets. This is clearly redundant. We can solve this issue in two ways:

Solution 1: Hide all the involved targets behind a single unified interface, something like Citizens affairs Administration. This new administration will be the single contact point with citizens and will handle distributing the event to the interested administration.

Solution 2: Pick one of the existing administrations, the most powerful, the most secure or however you play your politics, and make it act as the unified interface to the citizens.

From software infrastructure point of view, Solution 1 is not the best. It will require new machines to provision, install, develop and run software on. In a governmental institution context, this would mean a whole bunch of construction projects, boring news, and endless nonsense debates on TV. Let’s proceed with Solution 2.

The refactored process :


This variation reduces the required actions for a Citizen from 3 to 1. We will suppose we only reduced it from 2 to 1, because not everybody has a car neither everybody has a foreign partner. Although some other people would need other documents to change if they change their addresses, the 2 to 1 average seems a fair compromise. What does that mean in human terms?

I will put a lot of over simplifications on the following estimations:

– Today, there are about 20 million people in Romania.
– On average, a citizen will change his address once in 50 years (read as: on average, a citizen is most likely to never change his address, maybe change it once, but rarely more than once)
– This means in the next 50 years we should expect an average of 400000 address changes/year
– If an optimization reduces 1 hour for each citizen, the population would save 400000 hours/year

That’s 45 years, or the equivalent of a team of 200 people working a full year without taking vacations.
How hard it is, in theory, to shave only 10 hours/year from a citizen’s time spent in administrations in your country?