Hacking My Heat Pump – Part 1: CAN Bus Testing with UVR1611

In the old times, measuring data manually sometimes meant braving the elements:

White-Out!

White-Out in winter 2012/13! The barely visible wall is the solar/air collector of our heat pump system.

Measuring ground temperature in different depth ... slowly.

Measuring ground temperature in different depths.

Now, nearly all measurements are automated:

Online schematic of the heatpump system, showing the temperature and flow sensors needed for control, and a few sensors needed for research (radiation, ground temperature). Screenshot from CMI/UVR1611/UVR16x

Online schematic of the heat pump system, showing the temperature and flow sensors needed for control, and a few of the sensors needed for monitoring only (radiation, ground temperature). Screenshot from CMI/UVR1611/UVR16x, Details on system’s operation in this post.

In order to calculate the seasonal performance factor of the heat pump system we have still used the ‘official’ energy reading provided by the heat pump’s display.

Can’t this be automated, too?

Our Stiebel-Eltron WPF7 basic is a simple brine/water heat pump without ‘smart’ features. Our control units turns it on and off via a latch contact.

But there are two interesting interfaces:

  • An optical interface to connect a service PC.
  • Wired connections to an internal CAN bus – a simple fieldbus used for example in vehicles.

We picked option 2 as it does not require an optical device to read off data. Our control unit also uses CAN bus, and we have test equipment for wired CAN connections.

I always want to use what we already have, and I had a Raspberry Pi not yet put into ‘productive’ use. As usual, you find geeks online who did already what you plan: Reading off CAN bus data provided by a Stiebel-Eltron heat pump using a Raspberry Pi.

In this first post, I am covering the test hardware setup. Before connecting to the heat pump I wanted to test with CAN devices I am familiar with.

Credits

I am indebted to the following sources for information and tools:

On Stiebel-Eltron heat pumps’ CAN bus plus Raspberry Pi

On Raspberry Pi and CAN bus in general / for other applications:

CAN converter

RPi has so-called GPIO pins that let you control devices in the real world. Talking to a CAN device requires an extension board to be connected to these pins.

My challenge: I had the older version – ‘Model B’ – with 26 GPIO pins only. The successor model B Plus had 40 pins. While the pin assignment was not changed, newer CAN extension boards (like this from SK Pang) were too large physically for the old Pi (The older, smaller board from SK Pang had been retired). I was glad to find this small board on ebay.

Edit, 2016-08-24: I replaced the board shown below by SK Pang’s retired PiCAN board – see part 2.

My Pi plus extension board:

Raspberry Pi plus CAN board

CAN extension board connected to the Pi’s GPIO pins and to CAN bus (grey, three wires yellow, red, blue). Black (right) – electrical power, Blue (left): Ethernet. See more info on wiring below in the text.

Wiring the test CAN bus

The image shows the CAN board attached to the Pi, with CAN High, Low, and Ground connected. Following standards, CAN bus needs to be terminated on both ends, using a 120Ω resistor. As our wires are quite short and we had never observed issues with not / falsely terminated short CAN busses so far, we did not add proper termination (BTW: Thanks to ebay seller ZAB for providing the proper resistor!)

In the final setup, the other end of the CAN cable has to be connected to heat pump’s internal bus.

For testing purposes, I am building a CAN bus with three member devices:

  1. Test control unit UVR1611 by Technische Alternative. This test unit does not control anything. A single temperature sensor is connected to check if logging works as expected.
  2. The unit’s data logger BL-NET: The logger and the control unit communicate via CAN bus and logging data can be transferred to a PC via ethernet. For more details on using control units and loggers by Technische Alternative see this post.
  3. My Raspberry Pi plus CAN board – connected to BL-NET.
Test Can bus: UVR1611, BL-NET

Middle: Control unit UVR1611 (box with display), one Pt1000 temperature sensor connected (metal tube, black cable), Top: Data logger BL-NET (white box), connected to UVR1611 and Raspberry PI via CAN bus (grey CAN cables, blue plug). The yellow LAN / ethernet cable is for connecting a test PC.

I am using software WinSol on a PC connected via Ethernet to the data logger – to configure logging (BL-NET’s IP address) and to check if the temperature sensor works. BL-NET is set to log data every minute, so that I am sure that CAN packets are available on the bus often. More on WinSol and BL-NET here.

Activating CAN capabilities

Operating system update: I had first used the Raspberry Pi in 2014 using the Raspbian operating system, and I used a pre-installed SD card. Newer versions of the Raspbian Linux operating system do support CAN interfaces, so I just had to upgrade the kernel, described e.g. in CowFish’s instructions (see Software Installation section)

Operating system config: The CAN interface needs the underlying SPI bus – which has to be activated in the Pi’s configuration. This is described in detail on the blog of board vendor SK Pang.

Setting bit rate and bringing up the CAN interface

In order to check if software has been installed correctly, a virtual CAN interface can be configured as a rehearsal:

sudo modprobe vcan
sudo ip link add vcan0 type vcan
sudo ip link set vcan0 up

This interface is not used, so sniffer software (as Wireshark, see below) will not show any communication.

If a physical CAN interface is activated if no CAN bus is physically connected an error cannot find device can0 is expected.

The critical parameter for the physical CAN bus is the bit rate of the bus. For an existing bus, you need to figure out its bit rate from documentation.

According to messpunkt.org the bit rate for the heat pump’s is 20kbit/s. UVR1611’s bus uses bit rate is 50kbit/s, so the interface is configured with

sudo ip link set can0 type can bitrate 50000
sudo ifconfig can0 up

Troubleshooting wrong bit rate

If this is not configured correctly, you will not get errors but you will simply don’t see any packets. Checking the CAN bus (with erroneously configured bit rate) with

sudo ip -s -d link show can0

showed that CAN state is BUS OFF …

CAN bus error: Wrong bit rate

Inspecting CAN bus performance details, having configured the UVR1611 bus (requiring 50kbit/s) with only 20kbit/s.

… a state the device can enter if there have been too many errors on the bus according to this documentation the CAN protocol family in Linux.

If the bit rate is set to 50000, packets are visible now.

Watching packets flowing by

I’ve installed Wireshark sniffer on the PI…

sudo apt-get install wireshark

… and selected the can0 interface. Packets are flowing, and Wireshark parses them correctly as CAN Protocol!

Sniffing CAN bus packets with RaspBerry Pi

Network trace of CAN communications on the test CAN bus, consisting of UVR1611 and data logger BL-NET (Talking to each other) plus Raspberry Pi as silent sniffer.

If you know ‘how to speak CAN’ other devices on the bus can be polled for measurement values, using tools, like the Jürg’s CAN Progs or SK Pang’s Test tools linked at the bottom of this article.

In the next post in this series I will cover the setup of the Raspberry Pi CAN sniffer for the heat pump’s CAN bus.

>> Continued >> Part 2

Data Logging with UVR1611 – FAQ

I have received several questions related to my article on data logging on this blog, or to my postings on monitoring and control on our German blog.

Thus I have decided to write the article I would have wanted to read when I once made myself familiar with this. The target audience for this article are IT guys / web developers / ambitious DIY enthusiasts trying to make sense of the interfaces provided by the freely programmable controller UVR1611.

We use this device as the main controller of heat pump systems we design, and for monitoring and optimizing heating systems in general.

UVR1611, customized welcome screen

This control unit receives data from sensors (temperature, flow, irradiation,…) and controls pumps and valves accordingly.

You interact with the unit via programming it directly – using a scroll wheel and buttons, but this should only be used for changing parameters such as a temperature set point. The control logic should rather be developed with a graphical programming application, called TAPPS. This software creates the functional data which have to be uploaded to the controller.

Snapshot of a part of the control logic of our heat pump system, as designed with TAPPS.

Sensors and manageable devices as valves talk to the control unit via traditional field buses, such as CAN bus (e.g. also used in cars’ internal networks) and DL Bus. In order to access UVR1611 via a standard TCP/IP computer network you need a kind of gateway. This device does not only convert the field bus communication, but also serves as a repository for the logged measurement data. 

In our control network there are two different kinds of loggers, for ‘research purposes’. According to the vendor Technische Alternative GmbH, using two loggers in parallel is not supported and discouraged at is might cause issues. For us it works fine, but only try at your own risk:

Data loggers CMI and BL-NET

Data loggers by Technische Alternative: CMI (Control and Monitoring Interface) to the left, BL-NET (Boot Loader)  in the middle, standard ethernet switch to the right. The CAN bus cable is connected to both of them via the blue connector.

Two loggers – CMI and BL-NET – are connected to UVR1611 via CAN bus – a linear bus that needs to be terminated on both ends. Each of the devices is connected to the local computer network via standard ethernet wiring.

CMI is BL-NET’s successor although there might be no immediate reason to upgrade. Starting from scratch now, I would recommend CMI though.

This is how our local CAN bus looks like now, as displayed in CMI’s web interface:

Devices on CAN bus, displayed by CMI

Devices on CAN bus, displayed by CMI: Loggers CMI and BL-NET, plus and energy counter (CAN-EZ) and an extension of inputs/outputs (CAN-IO), UVR1611’s successor UVR16x2.

So there is a web server on CMI, which can be accessed locally. As described in the previous article, you can also access it via a ‘cloud-based’ portal.

In summary, this logger / gateway allows for the following:

1) Uploading functional data (programming logic) to UVR1611, by uploading the file from  computer onto the SD card inserted into the device and then dragging the file to the control unit’s icon in this web interface. This is an improvement over BL-NET which required an additional software application called Memory Manager to transfer functional data to the logger first. Existing functional data can be downloaded and inspected with the recent versions of TAPPS.

2) Accessing the control unit as if you would use the scroll wheel and buttons, replicating its physical interfaces to a virtual version. The layout and menu shown here is defined by programming (functional data).

This is a web view of the configurable items exposed by the control unit UVR1611, as seen via CMI’s web interface.  The language of the web interface itself can be changed but the menu of the control unit depends on the operating system of the device (DE).

UVR1611 welcome screen, as seen via CMI.

The custom welcome screen (also shown in the photo above), as ‘forwarded’ via CMI’s web interface. The highlighted ‘DE’ indicates German firmware.

BL-NET basically does the same: it also ‘forwards the hardware interface to a web page.

Managing UVR1611 via BL-NET – same ‘MENUE’ as available on the physical device or via CMI. Here also the navigation of the web interface itself (left pane) is language-dependent, as tied to the device’s firmware.

Reader’s question: When you click BL-NET’s icon on the CMI website, you just see an error – why? It is expected as BL-NET operates at the same logical level as CMI, and thus cannot be managed via CMI (and BL-NET’s firmware predates the release of CMI).

Result of clicking the BL-NET icon in CMI’s display of the devices on the CAN bus.

3) Storing the logged data. In contrast to BL-NET and its scarce storage CMI’s storage card often does not need to be cleared often. We log data every 1,5 minutes, in total a few MB every month. An SD card with up to 32 GB capacity could be used, capable of holding several years of logging data.

Log files can be downloaded / ‘dragged’ from the SD card – but these files are not readable text files. To get CSV text files you would use Technische Alternative’s software Winsol, a Windows software, not a web application.The Winsol PC can communicate with CMI on the local network and having installed most recent firmware, also with other users’ devices via the cloud portal. But the software can also interpret data gathered from other loggers, e.g. files sent by clients.

Winsol: Heat pump operations, temperatures of heating water and brine

Screenshot of Winsol’s display of logged data: a custom view of temperatures of the heating water (curves in the middle 30°C to 50°C, and temperature of brine at different points (bottom curves, below 0°C. Zooming in on an interesting part of the curves is done by selecting a rectangular area anywhere in the plot with the mouse.

We use Winsol for digging into the data to spot glitches and evaluate heating systems’ performance – for optimization. Using Winsol and logfiles ‘sent’ by whatever transmission method will always work, no matter which logger a client uses, how their firewall is configured, or if they use the cloud portal.

The ‘logging architecture’ was the same with BL-NET, but from checking the networking traffic between the Winsol PC and the logger I conclude that the communication protocol was different. CMI now seems to use more straight-forward HTTP calls.

4) Providing visualization of the data measured right now. In contrast to BL-NET, you cannot show your system to anonymous visitors on the internet. Viewers need to register with Technische Alternative’s online (‘cloud’) portal and be given Guest access. With BL-NET system owners forwarded port 80 at their local firewalls and kept the Guest User’s password blank. Perhaps not always on purpose as the same was often true for the Expert’s password. Theoretically, you can still do this with CMI but I would not recommend it as the port for web access is now the same port as for fetching the log files.

Hydraulic Schema, as displayed by CMI

Hydraulic schema with dynamic values, as displayed by CMI to 1) local network users and 2) cloud users given Guest access. The green numbers are the current sensor values – a subset of all columns in the log file. CMI’s web server allows for creating different pages, and versions for different languages.

The software TA Designer creates the web view based on an image file of the hydraulic layout, and on a list of sensors and controlled devices read from functional data:

Hydraulic schematic for CMI in TA Designer

First steps when creating a dynamic visualization: You need to provide a  drawing of your hydraulic layout. Status and readings of sensors, valves,, pumps etc. can be dragged in the right place from the ‘tree’ in the left pane – which has been created from the imported functional data file.

What web developers like to add or improve is related to the last two points: Logging data into a database directly, and providing a custom web interface – with the option to give anonymous users view-schematic-only access.

Recent questions:

  • Is there a (standardized, XML-based) web service I can use to poll the data?
  • (Why) do I need an additional box like BL-NET?
  • You stated you log and analyze your data on your local network – how do you do it?

No, there is no web service. But I have been pointed to this open source web application: UVR1611 Data Logger Pro. Data Logger Pro uses the same port as Winsol to talk to the BL-NET (40000), so the same protocol. Data are polled and stored in a MySQL database – working around BL-NET’s limited storage capacity. You still need the logger hardware, as data gathered from communicating over the CAN bus have to be converted. In this case BL-NET operates as a CAN-Ethernet gateway only.

If you google for UVR1611 Data Logger Pro, you will find lots of websites on the internet: They all use nice domain names, like heater.surname.com, so I suppose these are accessible on purpose.

This solution does not yet work with CMI due to the different communication protocol. But somebody might work on this already, so this information might be outdated soon.

Update, autumn 2015: CMI and UVR16x2 are now supported by UVR Data Logger Pro.

We also use our own database (Microsoft SQL Server), but we create it from the CSV files exported with Winsol.

SQL scripts import data from the CSV export files created with Winsol to a database. Custom views are used to consolidate data (daily, monthly, per season), and to merge them with data measured manually about every day.

Since 2012, we have added sensors, and we calculated new parameters from these sensors’ readings. Sometimes you need to exclude non-meaningful sensor values from calculations, e.g. when the tank is drained or changes are made to the collector.  The custom SQL application keeps track of different calculations to be applied to different periods.

Recently I have also developed an Excel application – to calculate the most important performance parameters only, directly from a bunch of CSV files. The latter is surprisingly performant if you resist the temptation to mix VBA and those really huge spreadsheet formulas.

All the plots I had inserted into blog posts or into our PDF summary of key data had been created with Excel – as a frontend to SQL Server. For the Ice Storage Challenge plot, we picked the columns with daily averages of temperatures and the volume of ice as calculated from the increase in water level:

Volume of ice in the water tank over time, 2015-03-06

A plot created from our database of measured sensor values. Excel connects to SQL server – to a view with daily averages and lots of calculated values, such as the volume of ice.

___________________________

Re UVR1611’s successor, UVR16x2: We have it installed, but we are waiting for the firmware update that will allow logging via CMI.

Google and Heating Systems (2)

I googled our company name. Then I found this:

What should not be online

Auftrag means order and the obfuscated parts contain our full company name, the Chief Engineer’s name, the URL of a vendor we ordered material from recently, invoice total, and a comment like The client said we should…

The now inaccessible URL had pointed to a comma-separated text related to statistics for orders. Obviously they had put company-internal data on an internet-facing system without knowing it. If you are familiar with the details of the URL and keywords you can actively search for such systems on the internet.

This is in essence what Google Hacking is about – here is a detailed manual, a presentation from a security conference. The infamous list of orders is used as a prime example on p.10.

If you wonder why this is called Google and Heating (2). This was on Google and heating, too, though there is not much relation to the topics covered.

Search engine Shodan takes this a step further: It allows for searching specifically for devices who are listening for incoming connections on the internet. Analyzing the standardized headers of the responses tells you if this is a traffic light, web cam, an internet router … or some home owner’s heating system.

These are search results for ADSL modems used by a large telco.

shodan-search-resultThose devices have a web server listening on HTTP. Not necessarily an issue if passwords have been set, there are no known vulnerabilities, and in case there is those systems are updated. As an end user you would not have a chance to interfere here as the modems are managed by the provider.

But it definitely should not look like this.

This is the passwords page of of data logger (BL-NET by Technische Alternative) for a heater accessible via the internet, showing that none of the passwords for guests, normal and expert user had been set. You could maliciously change control parameters or set passwords and lock the owner out.

But in contrast to a provider’s modem you need to take action to make such loggers and their web interfaces available on the internet. Vulnerabilities aside, any typical internet router (a device doing Network Address Translation) does not allow unsolicited incoming connections from the the internet to a device on the local network, that is behind the provider’s access device and/or your router. Only traffic that is recognized as the response to an outgoing request, such as browsing a public web pages, will be relayed by the router. In order to show off your heater’s performance to your friend you need to open up your router’s firewall and configure a rule for so-called port forwarding.

The problem with this approach is that some people don’t know exactly what they are doing (see inquiries via forums along the lines: I have no idea at all what VPN, TCP/IP, ports, DNS etc. means – but could you explain me briefly how to access my heater from the internet?), and there might be lots of running systems never touched again, once configured by the computer-savvy friend.

Then there might be hidden risks related to undetected vulnerabilities in the embedded web servers used. A German vendor of heating systems had caused a stir last year: Their clients’ systems had been accessible from the internet via port-forwarding. Their naming conventions for the dyndns names of such hosts could easily be guess – so attackers could find the systems. Passwords have been set; but sending a specifically crafted URL to the device you could force the web server to respond with the list of all passwords in clear text. The vendor reacted quickly and referred the issue to the supplier of the underlying control software – which was used with larger and more critical systems and residential heating. It turned out that the software vendor had never recommended to use the system in that way – only protected by passwords, but a VPN tunnel should be provided instead – wrapping the insecure traffic within a channel equipped with stronger protection. Adding a VPN is a major change and required the installation of a new physical module at clients’ site.

Apart from opening up your network up to the internet or VPNs there is another class of solutions to the Internet of Things issue: Things may actively connect to a server on the internet, and this server will relay or mediate the connection. I have written about Things unexpected phoning home and how to sniff the traffic before, and I add some more links at the end of this post. If the owner of the thing is given some control over the communication I still think it is the best option.

We now use such a Thing as our latest data logger for our heat pump system.

That’s the Thing – C.M.I., Control and Monitoring Interface – a failed attempt at innovative tech product photography:

(The usual disclaimer: I don’t make money from reselling or recommending products, I just like them. Vendors beware, I might change my mind anytime.)

It does not get better if I try to capture The Things in their natural habitats – CMI to the left, BL-NET in the middle, and a simple ethernet switch to the right.

CMI and BL-NEZ data loggers, by Technische Alternative

This is the ‘data center’. The control system (UVR1611) is in the ‘boiler room’, connected via CAN bus (blue connectors) to both loggers. We operate them in parallel, on the same CAN bus – for ‘research purposes’ and fun, though this is discouraged by Technische Alternative. Both loggers are connected to the local network.

We haven’t opened our firewall for BL-NET but CMI is allowed to make an outbound connection to the vendor’s portal https://cmi.ta.co.at/. You are required to create a user at this portal (that is running on amazon’s cloud BTW), and associate your CMI’s unique serial number and key with your user online. Other portal users may be given permission to view or manage your device – which is how we do online support of clients’ devices. It is not possible to allow anonymous users to view your current data and hydraulic layout.

The CMI is keeping a permanent outbound connection to the portal server who relays ‘incoming’ requests that technically aren’t incoming.

What I find important is:

You can access the device locally and directly, too. All your logged data are stored on an SD card – the slot and the blue card are visible in the photos. You can turn off the device’s connection to the portal and perhaps only turn it on if you required support.

The networking settings are similar to that of any computer on the local network. Turning off the portal is equivalent to not running Teamviewer, VNC, or similar remote support tools.

CMI settings, turn off connection to online portal.Unfortunately this cannot be said for any appliance that sends data to a portal. Actually, this article had in part been triggered by my researching the data logging capabilities of inverters of photovoltaic generators. Some of those send data to their clouds while giving the user no local access to the data at all.

Ambitious users build tools (e.g. running on Raspberry Pi) that intercept and store the traffic that was intended for the portal. A user reported that his battery did not work for weeks after the inverter vendor had upgraded the firmware. The new firmware used different temperature thresholds when determining if the battery was operating normally – and decided that the battery was much too cold. It took some time to persuade the vendor to restore the previous version of the firmware.

Remote firmware upgrade is subject to heated discussions, and can cause legal issues. Vendors of smart meters have to to separate the software that is required for ‘features’ – to be upgraded later, following ever changing standards and advances in technology – and the software associated with the data used in billing – subject to official calibration.

In case the vendor of the modems shown in the Shodan screenshot detects a vulnerability we would probably happy if they patch it immediately. Our favorite Things can be updated automatically and it went well so far.

____________________________________________________

Further reading:

Security Statement for Teamviewer – which also happens to be the software I am using for remote connections to clients’ computer systems and for remote meetings.

The Internet of Things, and how those Things phone home. An accessible and brief explanation of the different ways things allow for connections leveraged by a server on the internet.

Peer to Peer – Hole Punching – more detailed explanations.

Peer-to-Peer Communication Across Network Address Translators – even more detailed explanations, similar to this RFC by the same authors.

We Should Get Lost Sometimes – Nicholas Carr on Automation and Us

The Glass Cage is about automation’s human consequences. It is not intended to be your typical book about robots taking our jobs for better or for worse.

Carr gives an intriguing account of the history of automation and robotics nonetheless – from Luddites to Google’s self-driving cars. What we have known intuitively is backed up by research: We cannot all fund robotics startups, and the number of new jobs created through automation has always been low. In spite of success stories of people ‘making money online’ it is the providers of infrastructure (the ones Jaron Lanier calls Siren Servers) who actually make money. Technology changes faster than humans do, taking a ride on Moore’s law – but Carr is not a believer in technology that will automagically serve all humankind:

It strains credulity to imagine today’s technology moguls, with their libertarian leanings and impatience with government, agreeing to the kind of vast wealth-redistribution scheme that would be necessary to fund the self-actualizing leisure-time pursuits of the jobless multitudes.

He wonders why Google has mastered to build a self-driving car – a task once considered too difficult to be automated by any computer ever – but yet didn’t develop software that stops people from texting while driving. Perhaps because stopping distractions would run counter their business agenda? More disturbing than the effect on employment is the way automation may impact our skills, illustrated by the history of avionics. We have come a long way since …

… the deep entanglement between human and mechanism was an elemental source of flying’s thrill,

… and pilots felt physical feedback from the machine. The books starts with a personal anecdote about Carr’s missing the sense of control and involvement when driving an automatic. The Glass Cage is a poetic metaphor for the pilot’s cockpit. Carr returns to a topic he had dwelt upon in The Shallows: the role of maps and clocks as an essential layer put between us and space or the flow of time. In glass-cage-like workplaces former machine operators or soldiers turn into technicians reading and manipulating representations of the world. Automation and tools done right would still give us the feeling to be in control. Electronic airplane controls should rather resemble the older mechanical controls. Clunky yokes that provide sensory information let the pilot feel physical resistance – and are superior to sci-fi-style joysticks. Carr distinguishes between tools that work like mechanical extensions to our body – using the scythe as a prime example – and software-based technology that is experienced as a kind of implacable, alien force that lies beyond our control and influence. Quoting from a 1910 book on aeronautics, designing a plane to be operated is

… a trade-off between stability and maneuverability. The greater a plane’s stability, the harder it becomes for the pilot to exert control over it.

Pioneers as the Wright Brothers voted for a plane unstable as a bicycle, giving the pilot utmost freedom. Carr tries to do technology optimists justice – he is never sarcastic or derisive. He traces the hopes put into ‘software’ back to philosopher Alfred North Whitehead:

“Civilization advances by extending the number of important operations which we can perform without thinking about them.” Whitehead wasn’t writing about machinery. He was writing about the use of mathematical symbols to represent ideas or logical processes— an early example of how intellectual work can be encapsulated in code. But he intended his observation to be taken generally.

‘Automation’ can thus be understood in a very broad sense. I have written about Newton’s geometrical proofs that even Richard Feynman found very hard to reproduce. Now we have been spoilt by the elegant code-like symbols of calculus. Do really miss out if we not haven’t acquired such ancient skills? Carr believes so as we are human beings made to interact with the world directly, not via a cascade of devices and abstractions. A physics professor who has embarked on “a self-imposed program to learn navigation through environmental clues”  finally concluded that the way he viewed the world had palpably changed. Architects felt that they needed to stay away from electronic help or bring in the computer late so that the creative process is not (mis-)guided too early. A photographer tells his story of returning to the darkroom as he felt that the painful manual process forces him to make more conscious and deliberate choices – with a deep, physical sense of presence. The main point here is that these are not sentimental crusaders but people who simply wanted to do their jobs well.

… the real sentimental fallacy is the assumption that the new thing is always better suited to our purposes and intentions than the old thing.

Skills that come easy to an expert are learned the hard way: Pilots’ skills correlate with the time they have spent flying without the aid of automation. Neuroscience provides evidence of dedicated assemblies of neurons developed by such deliberate practice. Automation would remove complexity from jobs and thus opportunities to hone our skills. A recurring theme of the book is how automation erodes what makes us human in the best way – even if we might object: Carr quotes surprising findings by Csikszentmihalyi (of The Flow fame). When people were polled about their current mood at various time they …

… were happier, felt more fulfilled by what they were doing, while they were at work than during their leisure hours. In their free time, they tended to feel bored and anxious. And yet they didn’t like to be at work.

Psychologists call this unfortunate desire for what you ‘actually’ don’t want miswanting. One explanation is that people might pretend to prefer leisure over work as this is the socially acceptable behavior. An ethnographer confirmed Csikszentmihalyi’s theory by giving an account of an ancient tribe:

The Shushwaps did not have to wander to survive. They built villages and developed “elaborate technologies for very effectively using the resources in the environment.” They viewed their lives as good and rich. But the tribe’s elders saw that in such comfortable circumstances lay danger. “The world became too predictable and the challenge began to go out of life. Without challenge, life had no meaning.” And so, every thirty years or so, the Shushwaps, led by their elders, would uproot themselves.

If I had to pick the main virtue venerated in this book – it would be accountability. The soldier dropping a bomb via clicking a mouse feels less responsible.

The congeniality of hand tools encourages us to take responsibility for their use.

The outlook on future wars is gloomy: Automated weapons may save lives, but may at the same time increase the likelihood of wars – just because of that. Machines effectively make moral decisions in everyday life already: Robotic lawn mowers already do it when not sparing small animals a human operator might have spotted.

Who determines what the “optimal” or “rational” choice is in a morally ambiguous situation? Who gets to program the robot’s conscience? Is it the robot’s manufacturer? The robot’s owner? The software coders? Politicians? Government regulators? Philosophers? An insurance underwriter?

I believe that ‘futurists’ might not be convinced though. What Nicholas Carr considers specifically human and worth being protected might strike tech enthusiasts as a shortcoming to be fixed by extending and transforming our bodies and minds. Critics might say Carr resorts to poetry in the last chapter in order to circumvent these questions elegantly. The physicist turned stone-age pathfinder said that …

… “primal empiricism,” struck him as being “akin to what people describe as spiritual awakenings.”

Which is something you can either relate to immediately and intuitively, or dissect it analytically. It strikes a chord with me, but trying to explain it any further leads to Wittgenstein-y struggling with reality:

Only through work that brings us into the world do we approach a true understanding of existence, of “the fact.” It’s not an understanding that can be put into words.

Google’s self-driving cars challenge the distinction between explicit knowledge – that can be cast into code (or words) – and tacit intuitive knowledge of processes. It seems that that this artificial boundary is pushed more and more into the realm of the so-called genuinely human. Carr uses a sonnet by Robert Frost called ‘Mowing’ to demonstrate that

a poet’s scrutiny of the world can be more subtle and discerning than a scientist’s.

As a scythe enthusiast I am biased but he really couldn’t have chosen a better example:

It was no dream of the gift of idle hours, Or easy gold at the hand of fay or elf: Anything more than the truth would have seemed too weak To the earnest love that laid the swale in rows

Again, I think these lines will perhaps not speak to modern life hackers. Domestic automation would turn our homes more into workplaces – programmed, and dominated by metrics. We apply the

the bureaucratic ideals of speed, productivity, and standardization to our relations with others.

Algorithms collect data that lend themselves to quantitative analysis. Our formerly ‘continuous’ selves are turned into a collection of disjointed junks presented on social medias timelines which deprives us of options for changing our minds and thus for personal growth. Again I remember the proverbial clock from The Shallows, discretizing time. Making technology invisible and unobtrusive is not a solution but just the final stage of a gradual development:

It obscures the way we’ve refashioned ourselves to accommodate the technology.

I have adopted technology as a professional, but sometimes also to respond to changes in the way we socialize today with everyone expecting to manage their lives through screens. Technology, especially networked one, fundamentally changes society. Already the power grid had a subtle impact on engineering culture, business culture, production, and finally living. You cannot fool yourself, and remain independent and self-sufficient in your spare time and just use technology if you have to. Carr states that self-reliance was once considered the mainstay of character. He advocates getting lost sometimes in contrast to Google Maps’ visions:

“No human ever has to feel lost again.” That certainly sounds appealing, as if some basic problem in our existence had been solved forever. And it fits the Silicon Valley obsession with using software to rid people’s lives of “friction.” But the more you think about it, the more you realize that to never confront the possibility of getting lost is to live in a state of perpetual dislocation. If you never have to worry about not knowing where you are, then you never have to know where you are. It is also to live in a state of dependency, a ward of your phone and its apps.

I read Walden at about the same time as Carr’s book – and I am reminded of this quote by Thoreau:

It is a surprising and memorable, as well as valuable experience, to be lost in the woods any time. … In our most trivial walks, we are constantly, though unconsciously, steering like pilots by certain well-known beacons and headlands, and if we go beyond our usual course we still carry in our minds the bearing of some neighboring cape; and not till we are completely lost, or turned round—for a man needs only to be turned round once with his eyes shut in this world to be lost—do we appreciate the vastness and strangeness of nature. … Not till we are lost, in other words not till we have lost the world, do we begin to find ourselves, and realize where we are and the infinite extent of our relations.

I can relate, your mileage may vary. The Wright Brothers; first powered flight HU98267

Looking Foward to ‘The Glass Cage’ – Random Ambiguous Thoughts

On September 29, Nicholas Carr’s book The Glass Cage – Automation and Us will be released. I have quoted Carr’s writings often on this blog, and his essay All Can Be Lost: The Risk of Putting Our Knowledge in the Hands of Machines might anticipate some of the ideas he is going to explore in this upcoming book.

I read non-fiction books with specific questions in mind. In order to sort out these questions upfront, I am writing a post that may turn out incoherent.

I sense an ambiguity that might be typical for many so-called knowledge workers that spend most of their working hours in front of a computers. We feel some playful affection to the gadgets we use but silently we dread our growing dependence on them – and we seek escape in dreaming up alternate realities as artisans working with real stuff.

If you believe the geek turned craftsman is just a cliché – read this story about a software developer turned carpenter:

This is when I realized that I’d rather be looking through the window of a cool building, than the window of an LCD laptop.

Hadn’t technology evolved in the way it did in the past decades my job would be fundamentally different or not exist at all. I define the ability to work with clients in a remote fashion as an absolutely essential part of my job, and I am determined to prove that it is not only the IT industry and companies like Automattic whose way of working has been transformed: We have recently started our first heat pump planning project that will not include any on-site meetings. So I am not in a position to question the [allow for a buzz word] disruptive nature of technology.

But proliferation of working remotely cuts both ways: I have been able to do my IT security troubleshooting for clients ‘anywhere on this planet’ – so of course professionals living in countries with lower loving costs, and this lower hourly rates, could do as well!

However, I am not interested in following that train of thoughts. Probably I am too optimistic but I think I was able to constantly move my professional away from anything to-be-standardized. I have seen attempts to standardize consulting failing too often. So I am still waiting for the human-like bot to replace me. Consulting is people’s business no matter how much technology helps to mediate it – just as social media is a success because of the social part.

But I cannot deny that automation became an essential part of my personal version of the alternate artisanal reality: In the last two posts I mentioned my playing with database servers – all targeted to further automating data collection and evaluation for heat pump systems.

Would I want to stand outside in the cold and reading off data from a display myself for hours?

To some extent I probably would. I am eager to read The Glass Cage especially because of this quote:

Drawing on psychological and neurological studies that underscore how tightly people’s happiness and satisfaction are tied to performing meaningful work in the real world, Carr reveals something we already suspect: shifting our attention to computer screens can leave us disengaged and discontented.

It took me a time to realize that the reasons I use in defence of automation are all tied to my work. I have never been your typical computer freak or early adopter of gadgets who is interested to play with new technology ‘just because’. I am rather reluctant of using many appliances that are said to make our lives so much easier and allow us to ‘focus on what we really want’ and ‘get rid of the repetitive grunt work’.

I use a scythe to cut the grass. We don’t have an egg cooker, an electrical bread cutter, or a dryer. I could say I am just energy-conscious or trying to avoid clutter – but these are actually positive side-effects.

The shocking truth is that I like some healthy dose of simple, repetitive work.This even extends to the professional sphere: Against the mantra of focussing on your core business I do accounting and controlling – gleefully. This includes some boring data entry that better interfaces between those distributed software systems might do away with.

Most of the computer technology I finally got to use also as a consumer was actually driven by professional needs. I purchased my first cell phone as I wanted to be available for clients. I am thinking about the purchase of a tablet just because I could test some tools for managing digital certificates. I am considering a better internet connection to handle parallel remote sessions.

But wait – I have loved my Kindle eReader and I was a rather early adopter. However, I loved it because it was a 1:1 replacement of its real-life counterpart – a device just for reading: no internet, no e-mails, and no social media and sharing of inspirational snippets quoted out-of-context.

Is this because I am not a digital native?

In my first jobs as an experimental physicist and materials scientist about 95% of my job was repetitive grunt work: Cutting slices from crystals, grinding and polishing samples of material, adjusting optical components, waiting in front of a not-yet-computerized machine to see the paper coming out, take that paper and copy the curve using semi-transparent sheets, entering data, entering more data, being interrupted by some nasty sound as something broke, spending the next hours repairing the diamond wire saw or the leaky vacuum equipment.

Watching crime shows like CSI makes me laugh: They did a splendid job on making standardized lab work look so cool and sci-fi-style. We used to joke about create an image video for our research showing off the fancy colored laser beams in the dark lab – but that was meant satirical.

Femtosecond Laser and Pulse Compressor - Optics Lab - INRIM

This is why optics labs are crowd pullers at universities’ open days. (Image by Giorgio Brida, Wikimedia)

This combination of 5% thinking hard about the problems and drawing conclusions and 95% lab work was absolutely fine for me. If all repetitive, boring work – manual or computer-based – would be taken away from us, what would happen? Not to our professional selves devoid of jobs but to our human selves?

We could focus on the remaining hard and interesting problems, realize our potentials as humans, don’t we? We would be able to create and take decisions non-stop – until the bots will take over. But I am not quite sure if I would enjoy creating and deciding all the time. I imagine it could feel like jumping from hyperlink to hyperlink and skimming texts instead of reading a long piece.

I have read Life Hacker’s Bible recently – Tim Ferriss might answer you would finally have time to travel the world or learn to dance the tango, after you would have fully outsourced (that is: automated) your self-running internet business. World economy or crisis thereof, job options, realistic development of technology aside: Is this what the majority of people really want?

As I said, I am aware of the ambiguity and those pesky where-to-draw-the line questions. For sure I want high-tech surgery, perhaps a international expert or an AI-driven robot operate on me over that high-bandwidth connection. But I will keep mocking biometric keys for house doors, and sensors that turn on the light if I clap my hands.

Are my clinging to some boring work and my inconsistent argumentation just a shortcoming of our currently carbon-based species – to be replaced or extended by transhuman partly virtual-silicon-whatever beings? I read some books by transhumanists and radical technology enthusiasts – and they did not speak to me. I think I could re-iterate their arguments – this is the necessary pre-requisite for substantial criticism – and they seem to be self-consistent.

But I cannot yet track down why I don’t follow even less radical claims about the benefits of automation and technology. I always imagine myself being among the last human beings fighting the machines in a dystopian future. Perhaps I have seen too many movies or not enough of the good ones.

Anyway, I am waiting for Mr. Carr’s insights.

HAL9000.svg

HAL9000” by CryteriaOwn work. Licensed under CC BY 3.0 via Wikimedia Commons