Mac hardware after Steve – a sad story

A few weeks ago Apple announced their new MacBook Pro, the one without SD card reader, magsafe power cable, regular USB ports, ESC-button or ethernet port. They also did not announce any updates to any other models, in particular the MacMini and the MacPro.

Over the years I have bought several Apple Mac computers for running Mac OS X, the first one being a PowerMac G4 @ 400MHz that I bought Mac OS X 10.0 for. Apart from having several Macs myself over the years, I have also advised and helped people around me to get Mac computers.

It was long since Apple hardware was such a disappointment and options were so limited.

For years my PC-friends told me Apple hardware was expensive and outdated. That was partly true. Apple, relying on PowerPC and its own ecosystem charged a premium. And when it came to MHz per buck it was not good. But Apple sold computers that got your job done while never being in your way and they lasted long.

Apple have always had reasons for making expensive hardware with non-impressive performance specs.

  • Intel most of the time outperformed the PowerPC manufacturers (at the same MHz PowerPC rarely beat Intel, and Intel was most of the time ahead in MHz)
  • Apple prioritized ergonomics and battery life rather than raw spec (you paid for a really nice display, good keyboard, noiseless experience (well well), rather than pure computing power)
  • With Mac OS X, Apple utilized the GPU for the 2D desktop in a way Windows didn’t, so the user experience was very nice despite a slower CPU and less RAM
  • Apple have been very careful not to make their consumer line cannibalize on their Pro line (look at the MacMini, which is kept simple enough to not challenge a MacPro)
  • Apple have been very careful to make even their cheapest pieces of hardware amazing pieces of technology from a manufacturing and material quality point of view

This has always been annoying for anyone on a budget. But in the end of the day an Apple Mac has had long good life and it got the job done. Also:

  • Hardware was regularly upgraded 1-2 per year with relevant improvements.
  • The hardware lineup was easy to understand and it made sense. All models had their place.

It has been quite like this:

MacBook Pro: 13/15/17 inch. Bigger is more powerful and more expensive.
MacBook: Fewer options, cheaper materials.
MacBook Air: Ultra-portable, few options.
MacPro: Outrageously expensive and very cool, for pro users and external display.
iMac: Standard desktop, display included, options for both value and performance.
MacMini: The budget option for people who want their own display.

The strategically missing models have been:
Desktop Tower: Reasonable price/performance, desktop parts (CPU/GPU/RAM/Storage), external display, flexibility. This would have cannibalized on the MacPro line and possibly broken the “just works” idea (with too many user-replacable parts and so on).
Budget Computers: Steve Jobs simply refused to make cheap hardware that he was not proud of.

What Apple provided was good products for most purposes, but you ended up paying a bit extra for the quality. Where the desktop tower was missing, poeple got MacPros even though is was a much nicer computer than they really needed. And the MacMini was a nice work horse for not too much money after all (and who wants, or needs, a big tower anyway).

So, buying Apple Mac hardware has always been annoying and expensive. But mostly because Apple have been teaching us: don’t just focus on numbers, we sell you a truly good product and you do get value for money!

Since Steve Jobs died something has changed (perhaps not because of his death, but from that time).

First, Apple don’t upgrade their hardware regularly anymore. When Apple sold 10% as many computers and hardly made any money, they pushed out new revisions twice per year (at the same time working with PPC->Intel transition). Right now (November 2016) the entire product line (except maybe the MacBook) is in desperate need for an upgrade, and Apple release a truly disappointing MacBook Pro (its not my opinion, just read the reviews). You can’t sell computers that haven’t been revised since 18 months at the same price as when it was announced! Not even the car industry do that! They used to fix this by revisions like: “slightly bigger harddrive, +200MHz, cheaper RAM upgrade, same price”. That was fair! Then you knew you could get a new computer without getting screwed.

Second, Apple don’t even improve their computers when they release a new revision. The current (2 year old) MacMini is technically worse in most ways than the 4 year old model! The just outdated 2012 MacBook Pro was easily upgraded to 16GB RAM – that is today a ridiculously expensive built-to-order-upgrade only. What the f**k was the decision to get rid of the magsafe charger? That connection was a unique selling point that on its own merit could make people pick an Apple over any other brand.

Third, Apple got obsessed with (small) size. It is really nice to have a maximum portability option (the MacBook Air is my favourite). But the entire line, including the MacPro, MacMini, MacBook and MacBook Pro, dont need to be built for minimum weight! If I can choose between smaller and lighter or larger and heavier, I pick small and light. But if it comes at a cost of features it is a different story! I literally was in the store, considering the MacBook Air 11 (that I knew I wanted) and the MacBook Air 13 (which had an SD slot). I was very close to getting the 13′ just becuase of the SD card slot, and I would never have considered it, if the 11 inch had an SD slot.

Why remove magsafe, ethernet, SD-card and USB-A from ALL MacBook Pro computers, and also discontinuing MacBook Air? Would it be unreasonable to give the users (the pros) those choices? Would it be unreasonable to have one laptop model built for features rather than low weight? Or would it compete with the never-ever-being-upgraded-MacPro then? Apple could have kept and upgraded only the MacBook Air (never released the MacBook and discontinued MacBook Pro), it would have been the same thing.

The options have rarely been so few.

I am fine. I personally don’t need much performance of my computers and I can use Windows or Linux instead. As it is now my only Apple computer is a MacBook Air. I would have had an Apple Desktop for playing (Steam) games, if Apple just sold one. It’s a shame, for many years lack of games (and software in general) was the weakest spot of Apple. Now when there are so many good games on Steam there are no Apple computers to play them on. I tried to play on my MacBook Air: it performs fine, but it gets too warm. Computers used for some purposes need proper cooling, and that requires size and weight.

Apple: with all the money on your pocket… can’t you just make a hi-quality product line, with products for people with different needs? Make a pro laptop with real performance and all the features. I still think my Titanium PowerBook is an incredibly nice piece of hardware (the display is still great compared to what is in the market today) – make a laptop that size. Make a desktop computer with a real GPU. And keep making the nicest ultrabooks too! It would make your product line easier to understand too! Right now it is just confusing – it is like you don’t want to sell computers at all.

Simple Drinks

You want to mix a simple nice drink for yourself, or your parter or a few friends. And you are thinking, maybe I can use that bottle of something, so you start searching for drinks with it. Good luck. You will find plenty of drinks with six-seven ingredients, some of those you never heard of…

I am not a bartender, but there are a few reasons I think this post is relevant after all:

  1. I am not so impressed with many drinks I order, despite they are made by professionals and contain fancy ingredients – I can often do better myself
  2. A lot of those extra ingredients are suger-syryp-artifical-flavour-stuff, that is not very nice
  3. I think, putting many ingredients in a drink just camouflages everything – if I put bourbon in it I want bourbon flavour

I use the established names of drinks when I know them. I do not invent names. You can often find multiple recipies for the same drink – if in doubt, trust the other source.

Basic ingredients
I have made a short list of simple base ingredients that are often used.

  1. Water
  2. Ice
  3. Orange
  4. Lemon (they are a bit bigger, and yellow)
  5. Lime (they are a bit smaller, and green)
  6. Sugar (Simple Syrup, see below)
  7. Coca Cola
  8. 7-Up
  9. Vodka
  10. Dark Rum
  11. Bourbon whiskey
  12. Cointreau
  13. Gin

The sugar can be turned into Simple Syrup. Mix 1 part water and 1 part sugar, heat in microwave oven, stir/heat until the sugar is completely dissolved, cool (quickly with plenty of ice or slowly in fridge).

drinks-basic

Glases and preparation
Cocktails are usually nice to serve in a Martini glass (to the far right above). For long drinks a Highballglas (middle) works fine, and a not to small whisky glass is also good for mixed drinks.

Most drinks should be served ice cold. Often it is enought to just add enough ice to the glas and pour the ingredients on top. If you are going to make many drinks, put the bottles in the freezer or fridge in advance.

A drink shaker is nice if you want to serve ice cold drinks without serving them with ice. But you need much ice and little drink content if you do not want your drink diluted by water. Most of the time, if you keep fruits and soda in the fridge and allow yourself to serve with ice, you will be fine. A real bartender would probably disagree here.

Drinks with just the Basics
Even with just the basics you can produce some very nice drinks.

  • Gimlet: 4 parts Gin, 1 part lime juice, 1 part simple syrup, martini glass
  • Vodka Lime: 4 parts Vodka, 1 part lime juice, 1 part simple syrup, martini glass
  • Whisky Sour: 6cl Bourbon, 3 cl fresh lemon juice, 1 tsp sugar, the white of one egg (egg optional: shake well with plenty of ice in shaker), you might want to sweeten this drink with a little simply syrup if you added too little sugar
  • White Lady: 1 part Cointreau, 1 part Gin, 1 part lemon juice, martini glas
  • 4 cl Bourbon, juice from 1/2 lemon, juice from 1/2 orange, fill up with 7-up in a highball glass
drink-gimlet whiskey-sour

Blue Curacao
Blue Curacao can produce drinks that look amazing (it is extremely blue, and if you mix it with something yellow, it turns very green), but it is trickier to make them taste good too.

drink-bluecuracao-bourbon

  • 1 part Blue Curacao, 1 part Bourbon, 1 part lemon juice, martini glas
  • 1 part Blue Curacao, 1 part Dark rum, 1 part lemon juice, martini glas

Calvados

  • Arch de Triumph: 4cl Calvads, 2cl lemon juice, 2tsp sugar, (stir well with ice) serve in martini glass
  • Apple Car: 4cl Calvados, 2cl Cointreau, 2cl lemon juice

Southern Comfort

  • 4 cl Southern Comfort, squeeze 1/2 lime and leave pieces in highballglass, fill up with Coke.
  • 6 cl Southern Comfort, 3 cl lemon juice, the white of one egg, shake well (like whisky sour, but using (already sweet) Southern Comfort instead of Bourbon and sugar.

Tequila

  • Margarita: 4 cl Tequila, 2 cl Cointreau, 2 cl fresh lime juice. Serve in martini glass. Remember to add salt to the edge of the glass (make wet with lime, dip in salt)

Vermouth / Martini

  • Dry Martini: 6 parts Gin, 1 part Vermouth, martini glass, garnish with an olive (a piece of lemon or lime is also nice)
  • Comfort Dry Manhattan: 4 parts Southern Comfort, 1 part Vermouth, martini glass

Long Island Iced Tea
Take a big glass, fill with ice. Then add 1cl Gin, 1cl Tequila, 1cl Vodka, 1cl White Rum, 1cl Triple Sec (or Cointreau), 2cl Lemon Juice and fill up with Coke (5cl, taste and try). I like to replace the Tequila with Laphroig (to make a Lapsang-iced-tea).

Ginger Ale
Ginger Ale is nice to mix. Fill a glass with ice. Squeeze and add a few lime wedges. Then add your choice of Vodka (Moscow Mule), Jack Daniels (Jack & Ginger) or Jameson (very nice). Finally fill up with Ginger Ale.

Experimental
2cl white Rum + 2cl Cointeau + 2cl Lemon + a little Raspberry vodka + a smashed raspberry, in a cocktail glass with plenty of ice, was quite good!

Xcode update stuck at waiting

My upgrade of Xcode (v8.0) was stuck at waiting. For days. I restarted the computer. Tried different things in the App Store applications. No success.

Finally I deleted the Xcode application from /Applications (just put it in Trash, not even emptying). That helped.

I found that idea here.

Gaming mouse, KVM and Linux

My old ugly Logitech mouse since 10 years died. For long I have been thinking about replacing it not really knowing what to get instead.

I have a “das keyboard” and I want a mouse with the same build quality and feel, but without a million configurable buttons. I also have a KVM switch (using two computers with the same display, keyboard and mouse) from Aten.

I bought a Corsair Katar mouse.

Findings:

  • When KVM-switching it takes a few seconds for the mouse to start working.
  • The mouse is very fast at first. In Windows it slows down after a few seconds (I guess when drivers and mouse profile kick in).
  • The mouse works just fine in Ubuntu, but it is too fast for my taste (even with basic mouse configuration options set at slowest).

Perhaps I would have been better off with a sub-$10-noname-mouse.

Update 2016-10-16
I found a way to slow down my mouse! This support post was useful, although my solution was slightly different.

First run:

$ xinput list
? Virtual core pointer                    	id=2	[master pointer  (3)]
?   ? Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
?   ? Corsair Corsair Gaming KATAR Mouse      	id=11	[slave  pointer  (2)]
?   ? Corsair Corsair Gaming KATAR Mouse      	id=12	[slave  pointer  (2)]
? Virtual core keyboard                   	id=3	[master keyboard (2)]
    ? Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ? Power Button                            	id=6	[slave  keyboard (3)]
    ? Video Bus                               	id=7	[slave  keyboard (3)]
    ? Power Button                            	id=8	[slave  keyboard (3)]
    ? Metadot - Das Keyboard Das Keyboard Model S	id=9	[slave  keyboard (3)]
    ? Metadot - Das Keyboard Das Keyboard Model S	id=10	[slave  keyboard (3)]

I found out that fixing device 11 was useless, but device 12 was helpful.

My mouse parameters are obtained:

$ xinput list-props 12
Device 'Corsair Corsair Gaming KATAR Mouse':
	Device Enabled (142):	1
	Coordinate Transformation Matrix (144):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000
	Device Accel Profile (269):	0
	Device Accel Constant Deceleration (270):	1.000000
	Device Accel Adaptive Deceleration (271):	1.000000
	Device Accel Velocity Scaling (272):	10.000000
	Device Product ID (262):	6940, 6946
	Device Node (263):	"/dev/input/event6"
	Evdev Axis Inversion (273):	0, 0
	Evdev Axes Swap (275):	0
	Axis Labels (276):	"Rel X" (152), "Rel Y" (153), "Rel Vert Wheel" (268)
	Button Labels (277):	"Button Left" (145), "Button Middle" (146), "Button Right" (147), "Button Wheel Up" (148), "Button Wheel Down" (149), "Button Horiz Wheel Left" (150), "Button Horiz Wheel Right" (151), "Button Side" (266), "Button Extra" (267), "Button Forward" (291), "Button Back" (292), "Button Task" (293), "Button Unknown" (265), "Button Unknown" (265), "Button Unknown" (265), "Button Unknown" (265), "Button Unknown" (265), "Button Unknown" (265), "Button Unknown" (265), "Button Unknown" (265), "Button Unknown" (265), "Button Unknown" (265), "Button Unknown" (265), "Button Unknown" (265)
	Evdev Scrolling Distance (278):	1, 1, 1
	Evdev Middle Button Emulation (279):	0
	Evdev Middle Button Timeout (280):	50
	Evdev Third Button Emulation (281):	0
	Evdev Third Button Emulation Timeout (282):	1000
	Evdev Third Button Emulation Button (283):	3
	Evdev Third Button Emulation Threshold (284):	20
	Evdev Wheel Emulation (285):	0
	Evdev Wheel Emulation Axes (286):	0, 0, 4, 5
	Evdev Wheel Emulation Inertia (287):	10
	Evdev Wheel Emulation Timeout (288):	200
	Evdev Wheel Emulation Button (289):	4
	Evdev Drag Lock Buttons (290):	0

Here, the “Coordinate Transformation Matrix” is the key to speeding the mouse down. The last parameter was 1.0, it is now 3.0, this seems to mean my mouse is just a third as fast as it used to be. To set it:

xinput --set-prop 12 "Coordinate Transformation Matrix" 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 3.0

I suppose your mouse can go quite crazy if you change all those 0.0 to something else. Good luck!

Wilesco D2

I got myself a Wilesco D2 steam engine. It is a nice little steam engine that is a little more civilized to casually run compared to my Wilesco D10. What I mean is that it is less noisy, it smells less, it takes less space and you run it until it has no water left and then just blows out the candle.

A few findings…

Oil
The Wilesco D2 is all about lubricant. I ran my brand new engine once. Quite (relatively) much grease came out of it. I filled up again, it ran worse, and after a while I couldn’t get it to run at all. If the machine vibrates to the point that it does not stand still it needs more oil. The package comes with oil, the instructions tell you to use oil, but the D10 is less sensitive. I can conclude after a few runs that the original Wilesco Z83 oil is better than ordinary sewing machine oil. I can see the difference that the sewing machine oil works for a while but its effect disappears, while the Z83 lasts longer.

Fuel
The machine comes with one beeswax candle. I love bees, and the candle works fine. An ordinary teapot candle does not produce enough heat. It is not hard to find beeswax candles where I live, but I dont know if they are comparable to the Wilesco candles.

I find that a better option is to use the Ethanol burner from my Stirling engine. The price and convenience of ethanol (red spirit, or Meth?) is better than the candle, I think. Perhaps the ethanol runs warmer than the candle and you need to be more careful to remember to blow it out, but on the other hand the ethanol burner only lasts for 30 minutes – the time the engine is designed to run.

Conclusion
Get the Z 83 oil when you get the machine. The included oil is small and quite greasy to deal with (it is not a bottle). And consider getting an ethanol burner. Check this video.

Syncthing: breaking upgrades

Syncthing is usually very easy to upgrade: it upgrades itself silently or via apt-get. Problem is, when it changes version (lastly from 0.12 to 0.13) it is not compatible anymore. It is not a big problem since it is easy to upgrade, but you kind of have to upgrade your entire Syncthing cluster at the same time, otherwise you get an undesired fork.

This was the quite confusing error message i got on the newly updated system that failed to connect to non upgraded systems:

[THC2C] 19:17:52 INFO: Failed to exchange Hello messages with <ID> (<ADDRESS>): EOF

So, be mindful when upgrading syncthing so you dont get a non breaking upgrade when you dont have time to upgrade everything.

Hackintosh – a first attempt

I really have no love for Windows 10, but I use it for Steam and a few games. For a long long time people did not buy Apple computers because there were no games for them. Now I find there are more games than I can possibly want but there is no Apple computer I want to buy to play games on:

  • MacBook Air: I have this one – it gets warm and noisy with games
  • MacMini: underpowered for games, and so little value, especially if you want more RAM
  • Mac Pro: its perfect, just very much too expensive to replace a Windows 10 machine
  • iMac: I already have a display and KVM connected to a Linux computer, and I dont believe in throwing away the display because a hard drive breaks.

So I sound like my friends did 10-15 years ago: Macs are too expensive to play games!

But then there is Hackintosh: an ordinary PC running OS X.
There is even a Buyer’s guide, and something like this would suit me well.

I decided to try to turn my current Windows 10 PC into a Hackintosh and followed the instructions.

It was a gamble all the time:

  • My ASUS P8H67-M mainboard: some people seem to have had success with it, but it is not exactly a first choice.
  • My Radeon HD 6950 graphics card is not a good Hackintosh card at all. If I remove it I can fall back to the Intel HD 2000 that is integrated in the i5 CPU (or on the mainboard – I dont know). That is also not a good Hackintosh GPU.

Anyway, I disconnected my Windows hard drives and connected a 60GB SSD to install OS X. And for a while it was good. Some BIOS (UEFI) tweaking, and I

  1. got the installer running
  2. installed OS X
  3. started my new OS X (from the install USB-key, since bootloader was yet to be installed)
  4. played around in OS X, bragging about my feat

hackintosh
Audio was not working, and Video performance sucked, but ethernet worked and it was very useable.

I went on trying to install the bootloader and some drivers (using MultiBeast, following the instruction). This is where all my luck ended. MultiBeast reported that it failed.

I never managed to start OS X again. Not the installed system. Not the install USB-key. I tried:

  1. Removing all hard drives
  2. Reset BIOS/UEFI settings, and try many combinations
  3. Recreate the USB-key
  4. Remove my Radeon 6950 and fallback to Intel HD 2000
  5. Remove files from the USB-key that contains “kernel cache” and things like that
  6. Different boot options from Clover – both the standard menu and non standard options that I found in forums
  7. Create a UEFI-USB-key instead of a Legacy-USB-key

No success at all. I basically got this error.

In order to get things working in the first place I changed a few BIOS/UEFI settings:

  • SATA mode: IDE => AHCI
  • Serial: Disable

(I found no other relevant settings on my mainboard).

After changing IDE => AHCI Windows did not boot. That was an expected and common problem, and I fixed it following some simple steps (forcing safe boot). It was after that OS X never started again. I wonder if something happened to my mainboard/UEFI there, that Windows did, that I can not control/undo?

Update 2016-05-18
I found this post to follow. Much better now. I write this post from my Hackintosh.

In order to eliminate all possible old problems i deleted the 10Mb of the USB-key and hard drive using linux and

dd if=/dev/zero of=/dev/sdX bs=1024 count=10240

Obviously replace sdX with your drive.

About my “working” configuration:

legacy: USB-key is legacy. Clover is installed in Legacy-Root-mode.
MultiBeast: During installation, Step 5 (MultiBeast) fails, and I had to resort to Step 6.
safe mode: my startup arguments are:

dart=0 kext-dev-mode=1 PCIRootUID=0 UseKernelCache=NO -x

I have twice rendered my system unbootable but fixed it with multiple restarts. I think it is the CustoMac Essentials that install some kexts that are are not ok.
Audio is supposed to be ACL892 but it does not work. Probably because CustoMac Essentials fail.
Dual Boot with Windows does not work. This was expected. Clover fails to start Windows (although, there is some limited success, but Windows does not make it all the way).
Clover Configurator: what was not so obvious was the config.plist. It finds 3 different ones on my system. The one that seems to be in use is /EFI/CLOVER/config.plist – so that is the one to edit. But you need to save your changed configuration to a new file, and the copy using the command line and sudo.

Ideas
Well, I have some ideas how to get to a better situation.

  • Install everything NOT in Legacy mode but use UEFI-stuff all the way. Perhaps that just fixes stuff. Or not. I anyway need to get into my UEFI/BIOS to change to booting Windows.
  • Changing graphics adapter: it could be the reason I have to be in safe mode. And the safe mode could be the reason audio does not work. And so on

Update
I tried removing my Radeon 6950 falling back to HD2000. That did not work. I could neither boot from my hard drive nor the install USB-Key. Putting the Radeon back in the computer did not work at first. But after several reboots (also with the USB key) OS X now starts up again (in safe mode).

I tried everything from the beginning with HD 2000: erase drives, disconnect windows drives, upgrade BIOS, reset BIOS, create new USB key (both Legacy and UEFI): never did I manage to boot the installer using HD 2000. So the ill-supported Radeon 6950 (which possibly restricts me from going beyond Safe Mode) works better than the integrated HD 2000.

I do understand the advantage with a “supported” mainboard that has all the recommended UEFI/BIOS settings.

Raspberry Pi Server

The Raspberry Pi has been around for some years now and it has been used in unbelievable projects. As a budget desktop computer it has not quite had the required performance (although v2 and v3 are much improving the situation over v1). However, for simple hobby server tasks the RPi can work very well.

A simple RPi (any version) setup typically requires:

  • RPi
  • SD Card
  • USB PSU + USB cable
  • Network Cable
  • External USB Drive + USB Cable (+power adapter)
  • A case

That is without display, mouse and keyboard, and you dont have a power button. It gets a bit messy.

The market is full of RPi cases that all do the same thing: nothing. They just contain the board. The market is full of mini/micro-towers for MiniITX. There are rather expensive NAS devices that come without hard drives. Why are there no small tower cases that comes with:

  • PSU
  • Slots for 1-2 hard drives (+USB to SATA converters)
  • Cabling that makes everything tidy and neat

Powering the RPi using an external hard drive
I happened to have an external USB drive with an integrated USB hub (an Iomega Minimax that was left alone when its Mac Mini died). With some wood and glue I built a simple stand for the hard drive and the RPi:

DSCN5193

DSCN5194

DSCN5196

As you can see:

  • the hard drive powers the RPi, and I can even use the hard drive power switch
  • the Ethernet and USB ports are conveniently available on the back side
  • the footprint is just slightly larger (just taller) than the hard drive itself
  • the two USB cables between RPi and harddrive are nicely contained
  • heat/ventilation should be pretty good

I have experienced no problems powering the RPi from a USB drive that it itself is connected to. It may not be a supported or recommended configuration, but for practical purposes it works for me.

Performance
I mostly run Syncthing on this RPi. The bottleneck is very much the 700MHz ARMv6 CPU, not the USB2-to-SATA-overhead.

hdparm gives me:

$ sudo /sbin/hdparm -t /dev/sda
/dev/sda:
 Timing buffered disk reads:  82 MB in  3.03 seconds =  27.09 MB/sec

$ sudo /sbin/hdparm -T /dev/sda
/dev/sda:
 Timing cached reads:   496 MB in  2.01 seconds = 247.36 MB/sec

Of course it sucks compared to what you can get in 2016, but it is not remarkably bad in anyway. And it is not so fun to live on an SD card.

The Western Digital Kit
The other day Western Digital announced both a special 314GB hard drive and accessories to make it all nice.

Plusberry Pi
There is also the interesting Plusberry Pi project.

Angular.js Hello World program

Usually when writing a small utility I use the command line. But sometimes a simple web page with JavaScript gives a more functional UI.

I like AngularJS, but I don’t start from scratch very often, and when I do, I need to start searching for code to copy. So, here is my Angular Hello World template.

<!DOCTYPE html>
<html ng-app="theApplication" ng-controller="theController">
  <head>
    <meta charset="utf-8">
    <title>Hello World</title>
  </head>

  <script src="angular.js"></script>
  <script>
    angular.module('theApplication', []).
    controller('theController', ['$scope',function($scope) {
      $scope.name = 'Zo0ok';
    }]);
  </script>

  <body>
    Hello {{ name }}
  </body>
</html>

Obviously, if you don’t host angular.js yourself you need to use something like

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js">
</script>

instead.

Scenarios for Hedborough North

I created a scenario for the Hedborough North route for Train Simulator. Unfortunately, it can not be published to workshop. So I publish it here.

English Summer Rain
Diesel freight, shunting and train spotting in a 45 minute long scenario taking place in the picturesque Hedborough North industrial estate, a very rainy morning. Download: English Summer Rain

Scenarios for other routes
GNoSR
Granfield Branch