Operating systems: now and then, what next?

Ubuntu on HP Elitebook x360 (screenshot).There are multiple operating systems you can operate. Some are feature-rich, some not so much. While those who are enthusiastic and passionate about these kinds of things continue to be passionate, the actual differences between systems where you can operate are growing less and less important, year by year.

The basics of digital environments are today “good enough”, pretty much everywhere you go.

There are certain significant differences still, of course. Windows has the legacy of great popularity over decades in highly heterogeneous, work and private use contexts. It has a huge backlog of software and hardware that has been created or supported in Windows computers. This is both a blessing and a challenge. It is very difficult to produce a new version of the OS that would not conflict with some software, or some driver-hardware combination out there, as the recent hurdles of Windows 10 upgrade installations have proved.

Apple Macintosh users have more often been left in the cold, as there has been many devices which never came with drivers to make them work with a Mac. There has been arguably a lot of high quality, professional software available for Macs, but in purely numeric terms, Windows software ecosystem is order of magnitude larger.

A bit similarly, iOS (the operating system for Apple mobile devices) is limited by design: there are many restrictions for modifying and customising the default operation and setup of an iOS system. On the other hand, the software developers can rely on highly standardised environment, and users get a very reliable (even if unified and rigid) experience.

There are thus obvious pluses and minuses with the various philosophies that operating systems have adopted, or have been based on.

The current leader, Windows 10 is overall strong in diversity, meaning here particularly the software and hardware support. Be it business software, services or games, Windows is the default environment with most alternatives. On the other hand, a Windows user is challenged by certain loss of control: both the operating system and much of available software and system add-ons and drivers are proprietary. The environment is effectively filled with black boxes that do something – and the user can in most cases only hope that what goes on is based on the right and correct principles. And as there are multiple actors in all Windows installations, the cumulative effects can be surprising: there is Microsoft, trying its best both to introduce new functions and technologies, while at the same time maintaining backward compatibility with their long history of legacy systems. Then there is the OEM (original equipment manufacturer), like Dell or HP, who typically configure their Windows computers with their own, custom-made tools and drivers. Then comes the user, who also installs various kinds of elements into this environment. There is the saying “tårta på tårta” in Swedish – cake upon cake. No-one is capable of carrying responsibility of how the entire conglomerate operates in a Windows computer. In many cases the results are good enough, and the freedom of choice and diversity of support for multiple use cases is what the users are looking for. On the other hand, there is also a well-documented history of bugs and problems related to the piling up effects of the sprawling and ineffective software ecosystem.

As the leading open-source alternative, Linux is known for rather effective use of computing resources. A typical Linux distribution runs well on even ageing computer hardware, and on modern, powerful systems one can really experience what a fast and reliable OS can mean. There are (of course) certain downsides to Linux, as well. The main challenges in this case lie in the somewhat higher threshold of learning. While there are increasingly easy distributions that come pre-configured with graphical tools that allow the non-expert user to take hold of their system, and configure it to their liking, the foundation of Linux is in command-line tools and text-format configuration files. Even today I find that after a new, out-of-the-box Linux distro installation, I feel the need to spend perhaps an hour or two in command line, hunting and installing the various tweaking tools, add-ons and other elements that are lacking in the default installation. But Linux is getting better. Particularly the support for new hardware is now much better than what it used to be ten years ago. While the laptop computer user of Linux in the past would in many cases find out that most of the controllers, special keys and other elements of one’s device would not work at all, or only after considerable efforts, today the situation is different. Most things actually work, which is great. But if something does not work in a Linux installation, one is mostly left to one’s own devices (and for hunting for help in the various community websites online). However, as an alternative example, Lenovo recently announced that they will certify their entire workstation portfolio to run Linux – “every model, every configuration” (see: https://news.lenovo.com/pressroom/press-releases/lenovo-brings-linux-certification-to-thinkpad-and-thinkstation-workstation-portfolio-easing-deployment-for-developers-data-scientists/).

I myself recently configured two laptops with a dual-boot, Windows/Linux setup: Microsoft Surface Pro 4 and HP Elitebook x360 1030 G3. I considered both more challenging devices from a Linux perspective, since these are both two-in-one, hybrid devices with touch screens, which means that they most probably rely on many proprietary drivers to keep all their functionalities running. There were certain challenges (in BIOS/UEFI settings, in configuring the GRUB2 system boot menu, and in the disk partitioning), but Linux itself actually did handle both devices just fine. I was using the most recent, 20.04 release of Ubuntu desktop distribution, but there are several other alternatives that could work just equally well, or even better. Elitebook x360 is my main daily driver, and while my Windows 10 installation makes it run burning hot, fans blowing, Ubuntu is snappy, quiet and cool. And I actually can operate both the touch screen and touchpad with gestures that I have fully customised to my own liking, the active pen is also working fine with the screen, and there are only a couple of things that fall short of Windows 10. The special keys for controlling brigtness do not work (I use control sliders instead), and probably neither does the infrared camera (for facial recognition & login) and the LTE modem (I have not tested it though). One thing that I noticed is that this system sounds currently much better under Windows – the sound system is Bang & Olufsen certified, and they have probably configured the sound drivers and equalizers for optimal sound delivery, as the audio quality of music under Windows perhaps the best of any laptop I have used. But there is a highly detailed software tool, called PulseEffects, available for Linux that allows one to create a customized audio profile – if one is ready to dedicate the time and effort for tweaking and testing. That is the reality of Linux still, for good or bad; but luckily most of the essentials for work use will run just fine, directly out-of-the-box.

As a complete opposite of the high “tweakability” of Linux, iOS/ipadOS systems limit the user possibilities to a radical degree. The upside is then that an iPhone or iPad is very easy to use, one can always find the same settings from same places. It used to be that Apple mobile devices had excellent battery life and system reliability, but could only do one thing at a time. With the launch of iOS/ipadOS 13 (and coming version 14), multitasking became a certain kind of option in iPad Pro devices particularly. One cam also buy (a premium, and rather expensive) “Magic Keyboard” add-on to iPad Pro, and it will come with really nice scissor keys, plus a touchpad that allows mouse-and-keyboard style control of iOS. With iOS 14 there will be some more user-configurable elements added, such as (Android-style) widgets into the desktop. There are inevitable complications related to the added capabilities. iPad Pro which is constantly polling the touchpad (or, burning the back-light in the keyboard) does not have as long battery life as one without it. The multitasking and various split screen modes in ipadOS are rather clumsy and hard to control without considerable dedication into learning new gestures and skills of touch control.

Thus, I would say that we are currently in rather good situation in terms of having several good alternatives to choose from. I myself prefer to have both Windows 10 and Linux installed in my main computers, and keep them updated to their most recent versions. But I also use iOS, ipadOS and Android daily, and all of them have their distinctive strengths and weaknesses. If something does not work in one environment very well, it is often better to try something different, rather than trying to force the operating system out of its own “comfort zone”. I suspect this basic situation will remain the same in the foreseeable future, too.

On Tweakability

Screenshot: Linux Mint 19.2.
Linux Mint 19.2 Tina Cinnamon Edition. (See: https://www.linuxmint.com/rel_tina_cinnamon_whatsnew.php.)

Two years ago, in August 2017, I installed a new operating system into my trusty old home server (HP Proliant ML110 Gen5). That was a rather new Linux distro called ElementaryOS, which looked nice, but the 0.4 Loki that was available at the time was not an optimal choice for a server, as it soon turned out afterwards. It was optimized for a laptop use, and while I could also set it up as a file & printer server, many things required patching and tweaking to start working. But since I install and maintain multiple operating systems in my device environment partly out of curiosity, keeping my brain alert, and for this particular kind of fun – of tweaking – I persisted, and lived with Elementary OS for two years.

Recently, there had been some interesting new versions that had come out from multiple other operating system versions. While I do most of my daily stuff in Windows 10 and in iOS (or ipadOS, as the iPad variant is now called), it is interesting to also try out e.g. different Linux versions, and I am also fan of ChomeOS, which usually does not provide surprises, but rather steadily improves, while staying very clear, simple and reliable in that it does.

In terms of the particular characteristic that I am here talking about – let’s call it “tweakability”– an iPad or Chromebook are pretty much from the opposite ends of spectrum, as compared to a personal computer or server system running some version of Linux. While the other OSs excel in presenting the user with an extremely fine-tuned, clear and simple working environment that is simultaneously rather limited in terms of personalisation and modification, the bare-bones, expert oriented Linux distributions in particular hardly ever are “ready” straight after the initial setup. The basic installation is in these cases rather just the starting point for the user to start building their own vision of an ideal system, complete with the tools, graphical shells, and/or command-line interpreters etc. that suit their ways of working. Some strongly prefer the other, some the opposite style of OS with their associated user experiences. I feel it is optimal to be able to move from one kind of system to another, on basis of what one is trying to do, and also how one wants to do it.

Tweakability is, in this sense, a measure of customisability and modifiability of the system that is particularly important for so-called “power users”, who have a very definite needs, high IT skill levels, and also clear (sometimes idiosyncratic) ideas of how computing should be done. I am personally not entirely comfortable in that style of operation, and often rather feel happy that someone else has set up an easy-to-use system for me, which is good enough for most things. Particularly in those days when it is email, some text editing, browser-based research in databases and publications (with some social media thrown in), a Chromebook, iPad Pro or a Windows machine with a nice keyboard and good enough screen & battery life are all that I need.

But, coming back to that home server and new operating system installation: as my current printer has network sharing, scanning, email and all kinds of apps built-in, and I do not want to run a web server from my home any more either, it is just the basic backup and file server needs that this server box needs to handle. And a modern NAS box with some decent-sized disks could very well do that job. Thus, the setup of this Proliant server is more of less a hobby project that is very much oriented towards optimal tweakability these days (though not quite as much as my experiments with various Raspberry Pi hobby computers, and their operating systems).

So, I finally ended up considering three options as the new OS for this machine: Ubuntu Server 18.04.3 LTS (which would have been a solid choice, but since I was already running Ubuntu in my Lenovo Yoga laptop, I wanted something a bit different). The second option would have been the new Debian 10 (Buster) Minimal Server (probably optimal for my old and small home server use – but I wanted to also experiment with the desktop side of operating system in this installation). So, finally I ended up with Linux Mint 19.2 Tina Cinnamon Edition. It seemed to have the optimal balance between reliable Debian elements, Ubuntu application ecosystem, combined with some nice tweaks that enhance ease of use and also aesthetic side of the OS.

I did a wipe-clean-style installation of Mint into my 120 GB SSD drive, but decided to try and keep all data in the WD Red 4 TB disk. I knew in principle that this could lead into some issues, as in most new operating system installations, the new OS will come with a new user account, and the file systems will keep the files registered into the original User, Group and Other specifications, from the old OS installation. It would have been better to have a separate archive media available with all the folder structures and files, and then format the data disk, copy all data under the new user account, and thereby have all file properties, ownership details etc. exactly right. But I had already accumulated something like 2,7 terabytes of data into this particular disk and there was no exact backup of it all – since this was the backup server itself, for several devices in our house. So, I just read a quick reminder on how chmod and chown commands work again, and proceeded to mount the old data disks within the new Mint installation, take ownership of all directories and data, and tweak the user, group and other permissions into some kind of working order.

Samba, the cross-platform file sharing system that I need for the mixed Windows-Linux local network to operate was the first really difficult part this time. It was just plain confusing to get the right disks, shares and folders to appear in our LAN for the Windows users, so that the backup and file sharing could work. Again, I ended up reading dozens of hobbyist discussions and info pages from different decades and from different forums, making tweak after tweak in users, groups, permissions and settings in the /etc/smb.conf settings file (followed every time to stop and restart the Samba service daemon, to see the effects of changes). After a few hours I got that running, but then the actual fun started, when I tried to install Dropbox, my main cloud archive, backup and sharing system on top of the (terabyte-size) data that I had in my old Dropbox folder. In principle you can achieve this transition by first renaming the old folder e.g. as “Dropbox-OLD”, then starting the new instance of service and letting it create a new folder named “Dropbox”, then killing the software, deleting the new folder and renaming the old folder back to its own default name. After which restarting the Dropbox software should find the old data directory where it expects one to be, and start re-indexing all that data, but not re-downloading all of that from the cloud – which could take several days over a slow home network.

This time, however, something went wrong (I think there was an error in how the “Selective sync” was switched on at certain point), leading into a situation where all the existing folders were renamed by the system as server’s “Conflicting Copy”, then copied into the Dropbox cloud (including c. 330 000 files), while exactly same files and folders were also downloaded back from the cloud into exact same folders, without the “Conflicting Copy” marking. And of course I was away from the machine at this point, so when I realised what was going on, I had to kill Dropbox, and start manually bringing back the Dropbox to the state it was before this mess. It should be noted that there was also a “Rewind Dropbox” feature in this Dropbox Plus account (which is exactly designed for rolling back in this kind of large situations). But I was no longer sure into which point in time I should rewind back to, so I ended up going through about 100 different cases of conflicting copies, and also trying to manually recover various shared project folders that had become dis-joined in this same process. (Btw, apologies to any of my colleagues who got some weird notifications from these project shares during this weekend.)

After spending most of one night doing this, I tried to set up my other old services into the new Mint server installation in the following day. I started from Plex, which is a media server and client software/service system that I use e.g. to stream our family video clips from the server into our smart television. There is an entire, 2600 word essay on Linux file and folder permissions at the Plex site (see: https://support.plex.tv/articles/200288596-linux-permissions-guide/). But in the end I just had to lift my hands up. There is something in the way system sees (or: doesn’t see) the data that is in the old 4 TB disk, and all my tricks with different users and permission settings that I tried, do not allow Plex to see any of that data from that disk. I tested that if I copy the files into that small system disk (the 120 GB SSD), then the server can see and stream them normally. Maybe I will at some point get another large hard drive, try setting up that one under the current OS and user, copy all data there, and then try to reinstall and run Plex again. Meanwhile, I just have to say that I have got my share of tweakability for some time now. I think that Linux Mint in itself is indeed perfectly nice and capable operating system. It is just that software such as Dropbox or Plex do not play so nicely and reliably together with it. Not at least with the tweaking skills that I possess. (While I am writing this, there are currently still over 283 500 files that Dropbox client should restore from the cloud into that problematic data drive. And the program keeps on crashing every few hours…)

Tietokone, henk.koht. (On personal computers)

Thinkpad X1 Yoga (photo © by Lenovo)

[Note in Finnish about the use and evolution of personal computers] Henkilökohtaiset tietokoneet ovat verrattain nuori ilmiö, ja ajatus yhden ihmisen käyttöön suunnitellusta ja hankitusta tietokoneesta olisi ollut vielä 1950- ja 60-luvuilla lähes käsittämätön. Tietotekniikan hinta on kuitenkin alentunut, ja samalla ajatus tietokoneesta on ihmiskeskeistynyt. Kalliit tieteelliset ja taloushallinnon laskimet ovat mukautuneet ja mukautettu ihmisten mitä moninaisimpien tarpeiden palvelukseen. Tietokone tallentaa ja arkistoi tekstiä ja dataa, hallitsee digitaalisia kalentereita, mutta myös taipuu tuottamaan ja toistamaan musiikkia, kuvia ja mallintamaan vuorovaikutteisia virtuaalisia tiloja. Yhdistyneenä tietoverkkoihin, tietokoneet ovat monikanavaisia ja monimuotoisia viestimiä, itseilmaisun ja sosiaalisen järjestäytymisen välineitä, arkisen elämän, viihteen ja taiteen näyttämöitä.

Apple I (photo by By Ed Uthman – originally posted to Flickr as Apple I Computer, CC BY-SA 2.0)

Kun 80-luvulla aloittelin silloisten kotitietokoneiden parissa tietokoneharrastusta, mahdollisuudet olivat avoinna tietotekniikan kehityksen osalta moneen suuntaan. Erilaisia kokeiluja, tuotekategorioita ja digitaalisten sisältöjen lajityyppejä kehiteltiin aktiivisesti. 1990- ja 2000-lukujen aikana tuntui ajoittain siltä, että merkittävät innovaatiot olivat jo takanapäin, ja mielenkiinto rajoittui lähinnä siihen, milloin 286:n jälkeen tulee 386 ja 486, ja mikä Windows 3.1:sta seuraavan käyttöjärjestelmäversion nimeksi tulee.

Mobiililaitteet, ympäristöön sulautuva ja kaikkialla läsnäoleva tietotekniikka on muuttanut tätä perustilannetta niin, että nyt 2010-luvun lopulla tieto- ja viestintätekninen tulevaisuus vaikuttaa jälleen kiehtovalta. Samalla globaalit ongelmat ovat kuitenkin myös nousseet sellaiseen mittaan ja tietoisuuteen, että tietotekniikka itsessään vaikuttaa jossain määrin triviaalilta ja marginaaliseltakin aihepiiriltä. Sosiaalisen median kautta tapahtuva yhteiskunnallisen vastakkainasettelun kasvu ja julkisen keskustelun kriisi kuitenkin osaltaan todistavat myös siitä, kuinka merkittävällä tavalla viestinnän ja vuorovaikutuksen järjestämisen tekniikoillamme on syvällistä vaikutusta arkielämän ja yhteiskunnan kehitykseen.

OLPC: Kannettava tietokone jokaiselle lapselle -järjestön esituotantomalli (photo by “Fuse-Project”; OLPC-Wiki: “Walter”)

Koneiden kanssa keskustelu on myös vuoropuhelua oman, teknologisesti sävyttyneen ja rakentuneen minuutemme kanssa. Mikään laite mitä käytämme tänään, ei ole tietääkseni saapunut ulkoavaruudesta keskuuteemme, vaan kyse on ihmisenä olemisen laajennuksista, joita olemme itse kehitelleet ja joihin olemme syystä tai toisesta ripustautuneet. Kierros kodinkonemyymälässä tai autokaupassa jättää itselleni usein saman, hieman kummastuneen ja kunnioittavan tunnelman kuin esimerkiksi käynti kansatieteellisessä museossa, loputtoman monimuotoisesti kirjailtujen päähineiden tai toisistaan eri tavoin eroavien rukinlapojen keskellä. Ecce homo. Totuus löytyy uusimmasta automaattivaihteistosta.

Tänä vuonna ihmisillä jotka uhraavat aikaansa ja vaivojaan henkilökohtaisten tietokoneiden kehittämiseen, vaikuttaa olevan käsillä useita perustavia erimielisyyksiä ja vaihtoehtoisia kehityssuuntia sille, mitä tietokoneen tulisi meille olla ja merkitä. Osin kyse on henkilökohtaisen tietokoneen jäämisestä kehityksen sivuraiteelle: tietokoneiden pohdiskelua paljon suurempi osa energiastamme menee siihen kun yritämme taivuttaa käyttäytymistämme sellaiseen muotoon että Facebookin, Googlen tai Applen kaltaisten yritysten palveluihinsa kehittämät algoritmit paljastaisivat meille maailmasta ne kasvot joista olemme kiinnostuneita, ja samalla kuvastaisivat meitä itseämme toisille ihmisille siten kuin meistä hyvältä tuntuu. Tai siihen kun valitsemme uutta älypuhelinmallia ja siihen päivittäisen elämän kannalta olennaista valikoimaa mobiilisovelluksia.

Osa kehittäjistä pyrkii sekoittamaan tietokoneen ja mobiililaitteen välistä rajaa: hybridilaitteet kukoistavat. Osa pyrkii pitämään esimerkiksi kosketusnäyttöihin, hahmontunnistukseen ja puheohjaukseen liittyvät kehityskulut poissa henkilökohtaisten tietokoneiden rajoja ja olemusta hämärtämästä. Osa yrittää tehdä tietokoneesta mahdollisimman ohuen ja kevyesti kaikkialle mukana kulkevan, vaivattomasti auki sujahtavan ja päiväkausia yhdellä latauksella toimivan. Toisille henkilökohtainen tietokone on vain tietynlainen pääte pilvipalveluissa raksuttaviin toiminnallisuuksiin ja dataan – tietokone voi kulkea taskussa, ja sen käyttöliittymä korvassa. Yhdelle kehittäjäryhmälle puolestaan henkilökohtaisen tietokoneen tehokkuus on kaikki kaikessa, ja tavoitteena on pakata virtuaalitodellisuuden edellyttämää suorituskykyä myös kannettavan tietokoneen kehysten sisään, ja varustaa se liitännällä silmikkonäyttöön. Suuri joukko kehittäjiä ja valmistajia pyrkii tuomaan henkilökohtaisen tietokoneen hintaa niin alas, että se olisi kilpailukykyinen jopa edullisempien älypuhelintenkin kanssa, vaikka silläkin riskillä että pitkälle tingitty laite ei enää selviäisi vähääkään haastavammista tehtävistä tökkimättä. Toisiin pyrkimyksiin liittyy muotoilu, missä kestävyys ja käytännöllisyys ovat keskeisintä, toisissa puolestaan henkilökohtaista tietokonetta pyritään kehittämään paitsi elektroniikan, myös värien, viimeistelyn ja hienomekaanisen insinöörityön alueella niin sofistikoituneeksi ja yksilölliseksi kokonaisuudeksi kuin mahdollista.

Ben Shneiderman, Leonardo’s Laptop (2002) – sikäli kun tiedän, ei ole juurikaan tehty “cultural laptop studies”-tutkimusta sillä kriittis-analyyttisellä tutkimusotteella kuin Paul du Gay ym. “Story of Sony Walkman” -kirjassaan (1996)  – Schneiderman keskittyy ‘universal usability’-teemaan.

Hyötyrationaalinen tarve on vain yksi ulottuvuus ihmisen suhteessa teknologiaansa. Tosin, jos omat tähänhetkiset tarpeeni jos ottaa esimerkiksi, ollaan näissäkin nopeasti yhteensovittamattomien ristiriitojen viidakossa. Pitkät työpäivät, pienet näytöt, pieni teksti ja helposti väsyvät silmät ovat yhdistelmä, mihin parhaiten vastaisi laite, missä näyttö on vähintään 40-50-tuumainen, ja sitä katsottaisiin ainakin puolentoista, parin metrin etäisyydeltä. Toisaalta liikkuvassa työssä mukana kannettavan laitteen olisi tärkeää olla mahdollisimman kompakti, kevyt ja toisaalta siinä pitäisi olla akku jonka varassa kymmentuntinenkin työrupeama sujuu tarvittaessa ilman yhteyttä seinäpistokkeeseen. Niin kauan kuin nämä laitteet eivät osaa vielä lukea ajatuksia, mahdollisimman monipuoliset mahdollisuudet itseilmaisuun ja vuorovaikutukseen erilaisten sisältöjen luomisessa olisivat tärkeitä: mahdollisuus paitsi kirjoittaa ergonomialtaan korkealuokkaisella mekaanisella näppäimistöllä (siksikin koska sanelu ei vielä täysin luotettavasti toimi), piirtää ja värittää, maalata ja valokuvata, myös tallentaa hyvälaatuista videota ja ääntä suoraan laitteesta, esimerkiksi videoitujen luentojen ja neuvottelujen tarpeisiin. Pelien, virtuaalimaailmojen, multimedian, analyysiohjelmistojen ja erilaisten kehitystyökalujen parissa tehtävä työ puolestaan edellyttäisi laskentatehoa, muistia ja korkearesoluutioisia näyttötiloja, jotka ovat ristiriidassa vaikkapa keveyden ja pitkän akunkeston kanssa. Henkilökohtainen tietokone on siis kameleonttimaisena, digiaikakauden “kaiken teknologian” leikkauspisteenä ja pullonkaulana sikäli epäkiitollisessa asemassa, että oli se mitä tahansa, se aina sulkee pois jotain muuta, mitä henkilökohtainen tietokone myös mielellään saisi olla – ainakin joskus, jonakin päivänä ja hetkenä.

Vaikka mainostajat mielellään korostavat pyrkimystä täydellisyyteen ja kaupustelemiensa tuotteiden tinkimättömyyttä mahdollisimman monella osa-alueella, niin kehittäjät kuin useimmat käyttäjät ymmärtävät että henkilökohtainen tietokone on aina jossain määrin epätyydyttävä kompromissi. Sitä leimaa puute ja vajavaisuus – jotain joka usein paljastuu kaikkein kiusallisimmalla hetkellä, kun akku loppuu, teho osoittautuu riittämättömäksi, tai kun riittämättömät ohjauslaitteet ja näytön ominaisuudet tuskastuttavat jännetuppitulehduksen ja päänsäryn piinaamaa käyttäjää. Jotkut yrittävät luopua tietokoneista kokonaan, käyttää jotain muuta tekniikkaa, tai ottaa etäisyyttä kaikkeen tietotekniikkaan. Totuus kuitenkin on, että olemme edelleen lähes jokaisena päivänä myös henkilöitä, joita meidän jokapäiväinen henkilökohtainen tietokoneemme määrittää, rajoittaa, kiusaa ja ajoittain myös palkitsee. Tietokoneen monet mahdollisuudet tuovat esiin omat rajoituksemme – katsot tietokonetta, ja tietokoneestasi katsoo takaisin sinä itse.

Book One (photo © by Porsche Design)