Category Archives: Review

Review and Strategy: Railway Empire

I have much enjoyed playing Railroad Tycoon II and Railroad Tycoon 3. In a way I prefer the quite refined 2D graphics of RTII to the quite crude 3D-graphics of RT3 but RT3 has an economic model that is more interesting (although far from perfect). Over the years I have waited for Railroad Tycoon 4 and instead I have found games like:

  • Cities in motion
  • Transport Fever
  • Sid Meiers Railroads

They all have their charm and qualities but none of them aspire to be the successor of Railroad Tycoon.

Railway Empire
Then came Railway Empire. I have played it during closed beta and as I write it is still in beta. Railway Empire is a candidate to be the defacto successor of Railroad Tycoon so I will write about different aspects of it.

Graphics
The graphics is nice. It is cartoonish rather than realistic – Railroad Tycoon (esp II) had a more serious look – but its ok with me. The ride-along-mode is quite nice.

Controls
I understand Railway Empire is designed not only for computers but also for gaming consoles. For this reason things are large and quite simplified. You don’t get large tables of facts and statistics and it is more about clicking, sometimes a click or two more than what you want. I think it works well.

Time and speed
This kind of game needs to deal with time. On one hand a train on a line could do several roundtrips on a single day, based on a realistic time table. On the other hand the game should progress day by day or month by month while the trains beautifully cross the landscape. I think Railway Empire gets this quite right. The trains accelerate quite fast and it does not take too many days for them to reach their destination. If I remember correctly, in Transport Fever it takes annoyingly long time to arrive. I have not started up RTII/RT3 to compare, but I think in Railway Empire trains typically return in weeks rather than months (as in RTII/RT3).

A much debated thing is the tactical pause. As it is now the game has three modes:

  • Trainiac: no pause (with a few exceptions): +20% score
  • Normal: game paused when building
  • Manual: can pause whenever you want: -20% score

I personally prefer the Manual mode. I start up a new scenario, listen to the introduction, read the tasks and investigate the map before I start building anything. I don’t want this to take 6 months when the first tasks are to be accomplished in 2 years. Of course I can study the map, take notes, make a game plan and then restart the game but to me that just adds the feeling of cheating. I play Railway empire to relax, not to be stressed.

Nevertheless I can see that the absense of pause makes the game more challenging. Perhaps when I replay the same scenario in the future I can try one of the faster modes.

So I think the three modes are fine.

Rail network mode
There is a simplified mode where several trains can run on a single track. I am not interested in that and I have used the realistic mode that requires signals, where you can get deadlocks and trains can block each other.

Building
Laying tracks is enormously improved since RT3. Without going into detail you can place several segments and see the cost and the inclines. Then you can adjust the curves and height, creating new cuttings, viaducts and tunnels and get a new price in real time. If you are happy you can click $ and you are done. No need to build, delete and start over (or even make tactical saves as in RT3).

Each station can have up to 4 through tracks and each town can have 2 stations. Then there can be (any number of) warehouses also with 4 tracks. So a large city with one warehouse may have 24 outgoing tracks. This works quite well. You can build viaducts and tunnels and the game is quite forgiving. The station itself is just the platforms and you need to extend it far out in the surrounding landscape with parallell tracks for incoming and outgoing trains to avoid queues and deadlocks.

When you have many parallell tracks the switches and curves take more space than would be optimal. There are no crossings. It wouldn’t surprise me if these things get improved before the final version.

In conclusion you can do things you only dreamt of in RT3.

Routing and signalling
One of the most significant changes from RTII/RT3 is the signalling system (not very different from Transport Fever). The important thing to understand is that every train has one exact route that it will not divert from ever (unless you change it), meaning:

  • There is no such thing as available platform (train will wait for its assigned platform to be free)
  • There are no train priorities (in most cases it would have no relevance)
  • The train will take the shortest route (which may not be what you want)

The signalling system is not trivial. I would not be able to explain how it would work in every situation but I  have come up with ways to use it that works for me. The trains pass a signal if the section (until next signal) is free unless it is entering a single track that already have another train coming in the opposite direction. But it is possible to produce deadlocks.

Generally more trains mean more waiting. If you get to the point where you have deadlocks you probably have far too many trains. A lot of the time you increase capacity by making sure the trains you have already deployed easily can get to their destinations rather than deploying more trains on already busy tracks.

In conclusion the signalling system works beatifully but you need to practice a bit before you master it. When I have read other guides it seems other players use the signalling systems in ways I dont.

Town Growth
Each town has demands. Small towns demand small quantities of basic goods (such as wheat). Larger towns also demand more delicate goods (such as vegetables) or manufactured goods (such as furniture).

This means that when you supply a small town with everything it needs it will quickly grow. But then it will start demanding things you are not transporting there and it will stop growing.

Industries transform goods (like wheat) into other goods (like beer). Industries are located in towns and adds to the towns demand. What they produce will be consumed locally (if demanded) and you can also transport the surplus to other towns (where demanded).

Express Goods
Passengers and Mail (express goods) are very easy to deal with. They have a final destination and they will find their way through your network changing trains in intermediate stations. What I lack from RT3 is the map that shows where most passengers are waiting and where they are going (to identify and mitigate bottlenecks).

Freight Goods
Freight is the key to growth and growth is a more important part of Railway Empire than it was to RTII/RT3. I found the freight mechanism confusing at first and it resembles both RTII and RT3 but it is also different.

Local resources (like a wheat farm) can ship limited amount of goods (like wheat) by road to closely located towns. Apart from that there is no goods moving without trains and no and market prices as in RT3.

  • Goods (like beer) produced in one town will be stored/consumed where produced but never transported elsewhere (except by train).
  • Towns that don’t manufacture a type of goods will store it for local consumption only. You can only unload what is demanded. And you cannot load what is unloaded.

Imagine a line with three stations:

  1. A wheat farm
  2. A town with a brewery (demanding wheat)
  3. A town (with demand of wheat)

If you make a simple train go 1-2-3-2(-1) most likely no wheat will ever make it to town 3. Not until you have completely filled up the storage capacity of wheat in town 2 any wheat will make it to town 3.

There are several ways to deal with this like warehouses and manual freight mode (where you configure a train to load/unload exactly what you want). However the best solution is often to simply run a dedicated train directly from 1 to 3 (and combine with other duties if possible/needed).

Congestion
Eventually you will end up with congestion: several trains waiting in line to access the same platform. At this point, adding more trains will do more harm than good.

The obvious solution is to add more platforms and send the trains to different platforms (largers stations also serve trains faster).

But you also need to consider how efficiently you use your platforms. In a busy station the following scenarios are listed from worst to best:

  1. A train arriving, delivering nothing, getting serviced, loading nothing
  2. A train delivering and loading a few wagons
  3. A train passing through
  4. A train unloading all wagons, leaving empty
  5. A train unloading all wagons and loading a full train

This is why manual freight mode is subotimal: arriving with 8 wagons, delivering two loads, loading two wagons and leaving is wasteful utilization of platform capacity. For the same reason, long express (or mixed) goods lines calling at every station is not very optimal if most passangers or goods just go through.

Mostly the cause of congestion and your bottlenecks are your stations not your lines.

Warehousees
A warehouse has 4 tracks and can store goods but it does not belong to a town. In theory if you set things up in a good way you can have full freight trains going from a warehouse into a town with what the town demands and then return fully loaded with manufactured goods to the warehouse where the train gets serviced (maximizing platform utilization in the town itself). You can think of the warehouse as 4 extra tracks that occupy just on track in the town-station itself. In practice this is not very easy.

I have tried to set up warehouses that I fill with basic goods (wheat, corn, lumber, vegetables, fruits, milk). The problem is that wheat is demanded first. So trains will leave the warehouse for large cities that demand all the goods stored fully loaded with wheat only (until the town has reached maximum wheat stocks). This will leave the large city somewhat unsatisfied. Worse, your warehouse will perhaps run out of wheat and your smaller towns will get nothing (because they dont even demand vegetables, fruits and milk which the warehouse is full of).

My conclusion is that as long as you can supply a town with full train loads of anything it is better to go directly from the source(s) to the town. Often you can make a line like:

  1. A-town
  2. Corn farm
  3. Wheat farm
  4. B-town

If you run a train 1-2-3-4-3-2(-1) you get decent utilization. However, you may want to leave A-town and B-town empty, and perhaps you want to load only 4 wagons in the first farms both ways (otherwise B-town will get mostly corn). Even though the above route is nice it could make more sense to do 2-1-2-4-3-1-3-4.

Buying the competition
In RT you were a major investor in your own company. You could pay out dividend and you also received a salary. This money you could invest in your own company or in the competition. Eventually you (as investor) could buy out the competition. However your company could not buy stocks.

This is different in Railway Empire. You – your character – control your company but you can not buy stocks (or receive dividends). Your company can buy stocks in the competition (and they in yours). You can not buy stocks in your own company (it simply would not make any sense to do so).

You may take over (merge with) your competitors by buying 100% of their stocks. And they can take over your company the same way.

I would have wanted to be able to take over a company and let it operate as before, just not expanding. And perhaps being able to transfer industries to my own company. However, what happens when you take over a competitor is that all their trains are sold, tracks and stations are left empty. The good thing is that it makes it reasonable straight forward to set up your own lines and name them the way you want. The bad thing is that it is a lot of work. You have the option of simply liquidating everything receiving cash instead.

Locomotives
Railway Empire has quite many diffent locomotives to choose from and they become available as you research them.

Growing Stations
Stations usually start out small and grow with more lines and trains. This is what I typically do.

1. A single track allowing for a single train to one other station in the east.

2. Double track to the east connected to a single platform. Notice how I already prepared the double track on the south side to continue into the station should it grow. This will allow for future through traffic. If on the other hand I know there will be no through traffic I would place the double track north instead, allowing for more room for eastbound tracks connected to new south platforms.

3. Now I have double track also to the west. No through traffic possible.

4. Now through traffic is possible, as well as trains terminating in Salina from both east and west.

5. Finally, if there is much through traffic and also traffic from the east terminating in Salina I use track #1 (westbound) and #2 (eastbound) for through traffic, and #4 for terminating traffic. Notice that the longer the yard is the less risk for congestion. If you in my example have 3 trains queueing to get to #3 there is a risk that they will block a through train, even though #1 is free.

Intersections
Often two lines need to merge into one line and you can do this in different ways depending on ambition and expected traffic.

1. If you have a double track with a single track going to a station (typically a farm/resource) this works fine. However if multiple trains go to the farm one will wait in the mainline (blocking it) if the farm is busy.

2. The standard way to deal with two double tracks merging is seen below. Note that if the track to the north is the busiest this will cause waitings.

3. For practical this is often good enough (and very simple).

4. The below is an alternative when it comes to splitting the line from the east into two lines with equal priority. The extra complexity offers no advantage to #2 above.

5. This way two trains can meet either E/W or E/N with no train stopping.

6. If you are really serious about avoiding blocking/waiting you can invest in a viaduct. However it costs more and you may lose time because the track is longer and with a significant incline.

In all the above pictures only one-way signals are displayed. You need more signals to allow trains to run closely after each other. As you notice as soon as I have double track I use right hand one-way traffic.

Single Track
Although the price of double track is less than twice a single track often it makes sense to start with a single track. You then need sections were trains can pass (unless you have a single train). This is how I do it, to very easily be able to upgrade to double track later. Notice that those are the only two signals I have. I have seen other screenshots with more signals but I have experienced deadlocks.

If your single track line joins a double track main line, the passing section should be as close as possible to the main line to minimize waiting. The single track is to the north in the picture below.

Single Tracks and Stations
If you have two stations with a line between them the passing section needs to be between them. It makes no sense to have double platform stations.

If you have three stations with a line the middle station can serve as passing section as well.

However, in practice you would probably make the track longer on one side to place a supply tower.

It is generally a bad idea to have through traffic (both ways) on a single platform, especially if some trains also terminate. If you have limited traffic you can have terminating traffic from both ends. And for a rural station with limited traffic you can save money by having passing sections on both sides of a single platform. You can always start cheap and expand later:

Summary
There is so much more to discover and talk about when it comes to Railway Empire! It may not be perfect, but it is certainly much better than RTII and RT3. I think this game will give me many hours of entertainment for the coming years.

Acer Chromebook R13: 3. As a Linux development workstation

I have got an Acer Chromebook R13 and I will write about it from my perspective.

1. Background
2. As a casual computer
3. As a Linux development workstation (this post)

As a Linux development workstation
I switched my Chromebook to Development mode and everything that follows depends on that.

In ChromeOS you can hit CTRL-ALT-T to get a crosh shell. If in Development mode you can run shell to get a regular “unix” shell. You now have access to all of ChromeOS. It looks like this:

crosh> shell
chronos@localhost / $ ls /
bin     dev  home  lost+found  mnt  postinst  root  sbin  tmp  var
debugd  etc  lib   media       opt  proc      run   sys   usr
chronos@localhost / $ ls ~
'Affiliation Database'          login-times
'Affiliation Database-journal'  logout-times
Bookmarks                       'Media Cache'
Cache                           'Network Action Predictor'
Cookies                         'Network Action Predictor-journal'
Cookies-journal                 'Network Persistent State'
'Current Session'               'Origin Bound Certs'
'Current Tabs'                  'Origin Bound Certs-journal'
databases                       'Platform Notifications'
data_reduction_proxy_leveldb    Preferences
DownloadMetadata                previews_opt_out.db
Downloads                       previews_opt_out.db-journal
'Download Service'              QuotaManager
'Extension Rules'               QuotaManager-journal
Extensions                      README
'Extension State'               'RLZ Data'
Favicons                        'RLZ Data.lock'
Favicons-journal                'Service Worker'
'File System'                   'Session Storage'
GCache                          Shortcuts
'GCM Store'                     Shortcuts-journal
GPUCache                        Storage
History                         'Sync App Settings'
History-journal                 'Sync Data'
'History Provider Cache'        'Sync Extension Settings'
IndexedDB                       'Sync FileSystem'
'Last Session'                  Thumbnails
'Last Tabs'                     'Top Sites'
local                           'Top Sites-journal'
'Local App Settings'            'Translate Ranker Model'
'Local Extension Settings'      TransportSecurity
'Local Storage'                 'Visited Links'
log                             'Web Data'
'Login Data'                    'Web Data-journal'
'Login Data-journal'
chronos@localhost / $ uname -a
Linux localhost 3.18.0-16387-g09d1f8eebf5f-dirty #1 SMP PREEMPT Sat Feb 24 13:27:17 PST 2018 aarch64 ARMv8 Processor rev 2 (v8l) GNU/Linux
chronos@localhost / $ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/root                1.6G  1.4G  248M  85% /
devtmpfs                 2.0G     0  2.0G   0% /dev
tmp                      2.0G  248K  2.0G   1% /tmp
run                      2.0G  456K  2.0G   1% /run
shmfs                    2.0G   24M  1.9G   2% /dev/shm
/dev/mmcblk0p1            53G  1.3G   49G   3% /mnt/stateful_partition
/dev/mmcblk0p8            12M   28K   12M   1% /usr/share/oem
/dev/mapper/encstateful   16G   48M   16G   1% /mnt/stateful_partition/encrypted
media                    2.0G     0  2.0G   0% /media
none                     2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs                    128K   12K  116K  10% /run/crw

This is quite good! But we all know that starting to install things and modifying such a system can cause trouble.

Now, there is a tool called Crouton that allows us to install a Linux system (Debian or Ubuntu) into a chroot. We can even run X if we want. So, I would say that for doing development work on your Chromebook you have (at least) 5 options:

  1. Install things directly in ChromeOS
  2. Crouton: command line tools only
  3. Crouton: xiwi – run X and (for example) XFCE inside a ChromeOS window
  4. Crouton: X – run X side by side with ChromeOS
  5. Get rid of ChromeOS and install (for example) Arch instead

I will explore some of the options.

#2. Crouton command line tools only
For the time being, I don’t really need X and a Window Manager. I am fine (I think) with the ChromeOS UI and UX. After downloading crouton I ran:

sudo sh ./crouton -n deb-cli -r stretch -t cli-extra

This gave me a Debian Stretch system without X, named deb-cli (in case I want to have other chroots in the future). Installation took a few minutes.

To access Debian I now need to

  1. CTRL-ALT-T : to get a crosh shell
  2. crosh> shell : to get a ChromeOS unix shell
  3. $ sudo startcli : to get a shell in my Debian strech system

This is clearly a sub-optimal solution to get a shell tab (and closing the shell takes 3x exit). However, it works very well. I installed Node.js (for ARMv8) and in a few minutes I had cloned my git nodejs-project, installed npm packages, run everything and even pushed some code. I ran a web server on 127.0.0.1 and I could access it from the browser just as expected (so this is much more smooth than a virtual machine).

For my purposes I think this is good enough. I am not very tempted to get X up an running side-by-side with ChromeOS. However I obviously would like things like shortcuts and virtual desktops.

Actually, I think a chroot is quite good. It does not modify the base system the way package managers for OS X tend to do. I don’t need to mess with PATH and other variables. And I get a more complete Debian system compared to just the package manager. And it is actually the real Debian packages I install.

I installed Secure Shell and Crosh Window allowing me to change some defaults parameters of the terminal (by hitting CTRL-SHIFT-P), so at least I dont need to adjust the font size for every terminal.

#4. Crouton with XFCE
Well, this is going so good that I decided to try XFCE as well.

sudo sh ./crouton -n deb-xfce -r stretch -t xfce,extensions

It takes a while to install, but when done just run:

sudo startxfce4

The result is actually pretty nice. You switch between ChromeOS and XFCE with CTRL-ALT-SHIFT-BACK/FORWARD (the buttons next to ESC). The switching is a little slow, but it gives you a (quite needed) virtual desktop. Install crouton extensions in ChromeOS to allow copy-paste. A good thing is that I can run:

sudo enter-chroot -n deb-xfce

to enter my xfce-chroot without starting X and XFCE. So, for practical purposes I can have an X-chroot but I dont need to start X if I dont want to.

screen
After a while I have uninstalled XFCE and I only use crouton with cli. The terminal (part of the Chrome browser) is a bit sub-optimal. My idea is to learn to master screen, however:

$ screen
Cannot make directory '/run/screen': Permission denied

This is easily fixed though (link):

mkdir ~/.screen
chmod 700 ~/.screen

# add to .bashrc
export SCREENDIR=$HOME/.screen

# and a vim "alias" I found handy
svim () { screen -t $1 vim $1; }

I found that I get problems when I edit UTF-8 files in VIM in screen in crouton in a crosh shell. Without screen there are also issues, but slightly less so. It seems to be a good idea to add the following line to .vimrc:

set encoding=utf8

It improves the situation, but still a few glitches.

Now at least screen works. It remains to be seen if I can master it.

lighttpd
I installed lighttpd just the normal Debian way. It does not start automatically, but the normal way works:

$ $ sudo service lighttpd start

If you close your last crouton-session without stopping lighttpd you get:

$ exit
logout
Unmounting /mnt/stateful_partition/crouton/chroots/deb-cli...
Sending SIGTERM to processes under /mnt/stateful_partition/crouton/chroots/deb-cli...

That stopped lighttpd after a few seconds, but I guess a manual stop is preferred.

Performance
I have written about NUC vs RPi before and to be honest I was worried that my ARM Chromebook would more have the poor performance of the RPi than the decent performance of the NUC. I would say this is not a problem, the Acer R13 is generally fast enough.

After a few Nodejs tests, it seems the Acer Chromebook R13 is about 5-6 times faster than an RPi V2.

A C-program (some use of 64-bit double floats, little memory footprint) puts it side-by-side with my Celeron/NUC:

                s
RPi V1        142
RPi V2         74
Acer R13       12.5
Celeron J3455  13.0
i5-4250U        7.5

Benchmarks are always tricky, but I think this gives an indication.

Acer Chromebook R13: 2. As a casual computer

I have got an Acer Chromebook R13 and I will write about it from my perspective.

1. Background
2. As a casual computer (this post)
3. As a Linux development workstation

As a casual computer

My general impressions of the Acer Chromebook R13 are positive. The display is good (I am not used to Full HD on a laptop) and the build quality in general is more than acceptable.

What works well, quite literally out of the box:

  1. English language with non-English keyboard
  2. Connect to 5GHz WiFi
  3. Editing Google Docs, Facebook, Youtube
  4. Google Play Store for Android Apps (required a restart for a system upgrade)
  5. Spotify App (in Mobile App format), streaming audio via Bluetooth to external speaker
  6. Netflix App (failed to mirror/play to external display)
  7. Netflix Web Page (could display video on TV over HDMI)
  8. Writing this blog post…
  9. Switch to tablet mode, use touch and type on virtual keyboard on display (well, it sucks compared to a real keyboard, but it works as could be expected)
  10. Printing to a local network printer: CUPS comes preinstalled (there are other options as well, but for me CUPS is perfect)
  11. Importing photos from a micro-sd-card taken with a camera. VERY rudimentary (crop/rotate/brightness) editing available.

The good
So far my impression is that the performance is very acceptable. I used some JavaScript-heavy web pages and it was surprisingly good.

The not so good
Compared to my MacBook Air the touchpad is not as nice. Scrolling web pages is more… jerky? I would have preferred if the keyboard was closer to the display and the touchpad more far away from me. At least the touchpad is nicely centered in the middle. To be fair, the touchpad is at least as good as on more expensive PC laptops.

Performance and Benchmarks
My own Web Worker Test indicates my MacBook Air (1.4GHz Intel i5) is about 2-3 times faster (both computers using Chrome browser). However, on OS X, Safari seems to be much faster than Chrome browser on some tests and outperforms the Chromebook up to 10x on some tests. This is quite pure JavaScript number crunching.

My own String Compare Test indicates the MacBook Air is about 50% faster (Chrome browser in both cases).

Things not quite there
I have been using my Chromebook more or less daily and there isn’t much I actually miss. But here is a short list (that may grow or shrink over time).

  • A graph plotter/calculator: Grapher in OS X is not amazing but better than what I found for Chrome OS. So far I have tried Plot and Graph Functions and Desmos Graphing Calculator

Developer mode
So far I have not touched the Developer mode. Everything is completely standard and I will leave it like that for a while.

Acer Chromebook R13: 1. Background

I have got an Acer Chromebook R13 and I will write about it from my perspective.

1. Background (this post)
2. As a casual computer
3. As a Linux development workstation

Background
The last 20 years I have used OS X since 10.0, Windows since NT4, and many Linux distributions. These systems all have their pros and cons. Last years Chromebooks running Chrome OS (which is Linux) have appeared. They are typically cheap and built for the cloud. However there are two things that make them particularly interesting:

  1. Chromebooks (modern ones) can run Android Apps
  2. Chromebooks are much used in schools, so children of today will start looking for jobs in a few years, knowing perhaps only Chromebooks

I am too curious not to want one (perhaps mostly to be disappointed).

A few years ago I thought about getting a Chromebook, but at the time I felt it was not going to satisfy me. I bought a MacBook Air 11 instead, which is a great laptop for my purposes. However I less and less agree with what Apple does and I would rather have a native Linux laptop, than a Mac.

There are several reasons why I bought an Acer Chromebook R13 as my first Chromebook

It has got good reviews (although it is not the latest Chromebook in the market).

I like the quality aluminium build (it almost reminds me of my Titanium PowerBook G4).

It has a touchscreen and can be used as a tablet or in tent mode.

It should run Android Apps very will with its ARM CPU.

I am enthusiastic and curious about the ARM CPU for several reasons. I like an underdog and after Spectre/Meltdown I think that we need all possible alternatives to Intel. I am also curious to see if the ARM performs decently enough for my needs (and I might get disappointed).

I hope to get decent quality and some new opportunities compared to MacBook Air.

As a standard user
Most of the time I am a very ordinary computer user. I browse the internet, pay my bills, send and receive emails, watch Youtube, write something using Google Docs and I do some basic photo editing. I kind of expect the Chromebook to do this just as well as my MacBook Air.

As a programmer
I am a programmer. I mostly code JavaScript for Node.js and the web, but I also code C, C++, Lisp, Python, Bash, or whatever I feel like (mostly for fun, sometimes for work). I don’t use very advanced tools (mostly Vim, actually) and I really feel comfortable with a Linux shell. Even Mac OS X with its many package managers feels foreign. Not to talk about how I am lost in Windows.

I understand Chrome OS is Linux. It comes with a terminal. It has a Developer mode. And I can install almost anything I want using crouton (or so I have read).

My hope is that my Chromebook, for most practical purposes, will work like Linux the way I expect (more so than OS X). My hope is also that the ARM CPU will have reasonaable JavaScript performance. I may end up disappointed.

Comfast CF-2410P Review

I needed decent directed antennas for my TP Link WDR3600. I decided to try the Comfast CF-2410P, despite its cheap price.

I can not find that it has any advantages to the standard antennas that came with the router. I would rather say it is crap.

Buying cheap Arduino clones

I got curious about Arduino a little while ago and bought the official Arduino Starter Kit. I can really recommend it! It is very nicely put together and the project book really helps to get you started in no time. Even if you dont care about the projects themselves, they are a great way to learn how to use the Arduino.

After a few projects from the Starter Kit I started building my own project, which took me to a point where I felt I wanted at least one more Arduino.

I also felt that perhaps the UNO is not the right model for a more permanent build. After not so little research I decided the Arduino Nano is quite perfect.

Well, buying an Arduino (UNO, Nano, whatever) is not the easiest thing:

  • The arduino.cc vs arduino.org conflict causes some confusion, and has caused some limited availability of original (Italian) boards, it seems.
  • Some models are depricated
  • There are kind of official boards with funny names (Adafruit, RedBoard)
  • There are even more inofficial boards
  • The ATMega328 is not a very powerful chip, and original UNO and Nano are quite pricey

This made me consider a cheap Chinese copy. Those are not illegal in any way, they just come with the usual issues:

  • Delivery time
  • Build quality
  • No (or questionable) contribution back to community
  • Compability
  • Control, ethical, environmental and other aspects

I decided to give it a try and ordered:

I belive those mini-breadboards together with the Nano make a perfect Arduino. The clones I received were just fine. When you look at them and touch them, of course they don’t have the same quality as the original beautiful Italian-made Arduino I got with the Starter Kit. Especially the headers seem to be of lower quality than the orginal (not to talk about the print). Most of the clones use a cheaper and less capable USB-controller (CH340G instead of ATMEGA16U2). For Linux this makes no difference whatsoever, but for Windows you probably need to install drivers.

I think it can be good to have a few cheap clones to build into stuff or play with. At the same time, the official Starter Kit is great and the official board is good as reference so you know the clones do what they should. I would not start with only a cheap clone and no start kit.

Charging Sony Xperia Z1 Compact

The Sony Xperia Z1 Compact can be charged two ways: via Micro USB or via the special magnetic charging connector.

The phone comes with the normal USB cable, that can also be used for synchronization, file transfers and such. But since the phone is water proof the Micro USB connector is hidden behind a little door, and opening and closing this every time charging the phone does not really feel optimal.

The official way to charge via the magnetic connector is to buy the DK32 docking station. It is quite pricey, and quite “light” (the magnet is much stronger than the weight of the thing). Docking/undocking does not really feel like opening/closing a german car door, but otherwise it is nice to have the phone docked and charging. It is quite unclear if this DK32 is compatible with any other very similar Sony Xperia docking stations.

Other options?

I ordered a USB-cable with magnetic connector (but no docking station) from Deal Extreme. Again, quite unclear what models the cable really works with (there are many similar cables, with different phones listed as compatible).

Well, the cable “works”. When attached, it charges the phone just perfectly. Attaching it requires a little bit of a precision move, and when attached it is not very stable against rolling off to the front or the back of the phone. But now that I have learnt how to do it, I prefer it to the old USB cable. I am thinking about building/gluing some type of docking station for it. Note: the +/- connectors are not interchangeable. If I connect it upside-down (the cable from up) the phone restarts, and it is perhaps not entirely healthy for it.

I have the original DK32 at work, so the phone is almost always fully charged when I leave work in the afternoon, and I don’t need to charge it until back at work next day.

Book Review: The Satanic Verses

With the release of Joseph Anton there was some attention around Salman Rushdie – the author who was sentenced to death by Iran for writing The Satanic Verses. Well, I decided it was time to get my own opinion and ordered a paperback The Satanic Verses (hard to find in stores).

I really had no idea what I was about to read – except that fundamental muslims were upset about the work.

It is a thick book. First pages are very… poetic, tricky to read. Then it is a more normal book. The Satanic Verses is funny and entertaining, very well written, and very enjoyable without much knowledge about Islam (perhaps more so, since some muslimes are obviously not entertained). It is full of references and symbols (religious, historical, cultural) and it does not hurt to google and read on wikipedia.

And, with limited knowledge about islam, I do not really understand what the problem is. Mr Rushdie said he expected some people to be a little provoked by it, but he was completely surprised with the death sentence – so am I.

If you like reading, but think The Satanic Verses is not for you, give it a try!

EyeTV vs Terratec Home Cinema

A while ago I bought an EyeTV hybrid for my MacMini. Quite nice device, and especially I liked the (mac) software included. Very nice, particularly the recording, cutting and exporting video features.

Now, the MacMini is all dead since a few weeks ago and I try to replace it with a Windows 7 PC. It works quite well, but Terratec Home Cinema (included with the Hybrid, for Windows userse) is so inferior compared to EyeTV. Especially the Cut! program is unstable, unpolished, and does not support exporting to any other formats than the original MPEG2. Luckily Handbrake does that job very well.

In this case, quality of software makes the difference between a fantastic product for the Mac, and a quite average product for the PC.

Ubuntu 11.04 Beta 1 on Eee 701

I have two Asus EEE PCs, probably the two worst ones they made. I have an EEE1101, which comes with the horrible GMA500.

And I have an EEE701. It was a nice idea, at a nice price, but the actual machine sucks. Keyboard on the brink of unusable and poor battery life. The Celeron 900HMz at 630MHz does not help much. But the worst thing is not the 7-inch 800×480 display – it is the lack of OS/Window Manager that makes good use of it.

Yesterday I came across this review of Ubuntu 11.04 Beta 1 on TheRegister. Can it really be that bad? Can it be something for my EEE701.

Well, I am writing this post on my EEE701 Ubuntu 11.04 right now – that is a good start. Installation went smooth (after I failed to boot the EEE from a 4GB SDHC card).

Most things work out of the box: Wireless network, Video, Webcam, Audio (via headset, not loudspeakers – perhaps my Eee is old and broken), volume buttons and display light buttons. Booting time is about a minute.

I removed a few Items from the Launcher/Dock because with 480 pixels you need to prioritize. I use firefox mostly in full screen mode (F11), and occationally I have to use Alt-F7 to move windows around.

The computer feels a bit slow, but useful. CPU at 630MHz (not overclocked – should maybe look into that). I have 1GB RAM and no swap partition.

Flash videos on YouTube are enjoyable, but not perfect.

Do I hesitate about updating my other computers from Ubuntu 10.10 to 11.04? Absolutely (well, Gnome is still there).

Do I think that Ubuntu 11.04 is the best OS for my EEE701? Yes – I think so.

Would EEE701 + Ubuntu 11.04 impress on anyone? No – I dont think so.

The review in The Register focuses on that Unity is nice, but it does much less than Gnome. Well, for my netbook that is not so bad. And I am used to falling back to the command line a lot anyway.