Tinkering

Somebody take the keyboard away from me – I obviously cannot be trusted. While taking a break from research and development on a work project this afternoon I lifted my personal blog in the air, threw it into what can only be described as a cloud-powered infinite improbability drive, and have rather miraculously ended up with a new blog.

Perhaps the term “miraculously” is a little disingenuous. This afternoon’s escapade was made possible only by standing on the shoulders of far more industrious developers that did exactly what developers tend to do – when faced with building something, they don’t just build something – they build the thing that builds the something.

Of course if you’re reading this at WordPress or Tumblr, you’re only seeing a pale imitation of the results of my idiocy. Your words were brought to you by a daemon in the cloud called “Zapier” that watches what I’m up to all day.

Anyway.

The work day has just finished (hence having time to pollute the internet with these words), and my cooking, washing up, and tidying up services are probably required elsewhere in the house.

I promise to return to less tinker-filled programming tomorrow.

Advertisement

Next on my Reading List

This year I’m taking part in “Bloganuary” – a series of writing prompts published throughout the month by Mindy Postoff. Today’s writing prompt is “What book is next on your reading list?”


The next book on my reading list is “The Friendly Orange Glow” – a book I discovered by chance in the lead up to Christmas, and that made it onto my Amazon wish list after several relatives asked me to add some things so they might know what to get me for Christmas.

Here’s what the synopsis says about it:

At a time when Steve Jobs was only a teenager and Mark Zuckerberg wasn’t even born, a group of visionary engineers and designers – some of them only high school students – in the late 1960s and 1970s created a computer system called PLATO, which was light-years ahead in experimenting with how people would learn, engage, communicate, and play through connected computers.

Not only did PLATO engineers make significant hardware breakthroughs with plasma displays and touch screens but PLATO programmers also came up with a long list of software innovations: chat rooms, instant messaging, message boards, screen savers, multiplayer games, online newspapers, interactive fiction, and emoticons.

Together, the PLATO community pioneered what we now collectively engage in as cyberculture. They were among the first to identify and also realize the potential and scope of the social interconnectivity of computers, well before the creation of the internet. PLATO was the foundational model for every online community that was to follow in its footsteps.

The Friendly Orange Glow is the first history to recount in fascinating detail the remarkable accomplishments and inspiring personal stories of the PLATO community. The addictive nature of PLATO both ruined many a college career and launched pathbreaking multimillion-dollar software products. Its development, impact, and eventual disappearance provides an instructive case study of technological innovation and disruption, project management, and missed opportunities. Above all, The Friendly Orange Glow at last reveals new perspectives on the origins of social computing and our internet-infatuated world.

I’m looking forward to reading it enormously.

Choosing Linux

This year I’m taking part in “Bloganuary” – a series of writing prompts published throughout the month by Mindy Postoff. Today’s writing prompt is “What is a cause you are passionate about, and why?”


I read a book several years ago called “Just for Fun”, by Linus Torvalds – the creator of the Linux kernel. It charts the history of the project, from it’s earliest beginnings in a back bedroom, through to it’s accidental entry onto the world stage. I thought it might be interesting to relate my own interactions with Linux, and to perhaps reflect a little on the other operating systems I have used too.

My relationship with Linux begins with the first laptop I owned – a Toshiba, in about 2000. After playing around with the pre-installed copy of Windows 98 it came with for a few weeks, I read a magazine article about the latest release of “Redhat Linux”, and ordered a shrink-wrapped copy that was delivered by the postman a few days later.

My laptop was never the same again.

A year or so later I became interested in web development, and decided to turn my long-suffering home computer into a web server – running Linux rather than Windows. I can’t imagine my other half can have been too pleased with me.

I read the now famous O’Reilly books from cover to cover, and proceeded to build one of the first blogging platforms. I released it as open source because one of my co-workers thought it would be a good idea, and quickly moved on to building what I had really intended to build all along – a content management system. In the meantime, the blogging script got downloaded somewhere in the region of a quarter of a million times.

Thankfully Matt Mullenweg and Mike Little then forked a much better blogging script, and renamed it “WordPress”. I wasn’t bitter – I never set out to manage a project after all – and I switched to WordPress almost overnight.

I suppose it’s important to note that I never used Linux “because it was Linux”. Linux wasn’t “the thing”. Linux was “the thing that got me to the thing” – a phrase that I believe lots of people have used over the years, and that fits my story well.

While it’s true that the various things I have done outside of work could have been done on any operating system, I chose to do them in Linux mostly because it was free, and it almost worked as a turn-key solution – providing a platform on which I could tinker with the things I was interested in. Linux came with a great webserver (Apache), a great database (MySQL), and a simple web scripting language (PHP).

That I have ended up using Linux as a desktop operating system at home has happened mostly by accident. I will happily use anything that “just works” – and by-and-large the more well known Linux distributions do just that – they “just work” – without endless updates, drivers, security patches, reboots, and so on.

Anyway.

Having messed around with Windows, OSX, and Linux over the last twenty five years, you would think I have formed some opinions about them. A few come to mind.

Windows is ubiquitous – there is almost no learning curve, because everybody is familiar with how the user interface works. Because of it’s ubiquity, Windows won the battle for hearts and minds of businesses decades ago. There are signs this might change soon, but don’t hold your breath. Because of its ubiquity, hardware device drivers are widely available for most recent versions of Windows. You can almost always get any piece of hardware to work with Windows.

Unfortunately the core security of Windows is, and has always been pretty awful – with the continual need to run firewalls and virus killers to protect every single Windows machine from outside influence. Perhaps more worryingly, due to poor design the performance of all computers running Windows reduces over time – registry bloat, DLL hell, and wreckage from past updates are a continual source of frustration for home users and system administrators.

MacOS benefits from Apple both creating hardware and software – meaning the performance of the user interface in relation to the hardware is very good. You might also claim however that Apple are more concerned with how things look, than how well they work. Unfortunately MacOS only runs (reliably) on Apple hardware – while you can build a “Hackintosh”, you will face numerous problems with device drivers and core operating system stability. The software is driven – by design – by the Apple hardware renewal cycle. It’s easy to forget that Apple are a hardware company – it’s in their interest to obsolete existing hardware over time in order to sell it to you again, and again – and to discourage you from trying to run their software on anybody else’s hardware.

At a lower level, it’s perhaps worth noting that MacOS/OSX was originally based on Mach – a micro-kernel – the polar opposite of Linux. Micro kernel operating systems work by reducing core operating system functionality to control of messaging between services that do all the real work – which makes each service simple, but makes management of messaging enormously complicated, and causes all manner of design, functionality, and stability trade-offs.

Linux differs from both Windows and MacOS in that it’s a constellation of software development projects built by a vast community, rather than a commercial product developed by one entity. Books have been written about this arrangement – perhaps the most famous being “The Cathedral and the Bazaar”. If Tim Berners Lee’s “World Wide Web” was “for everybody”, then the same is probably true of Linux. The source code of every part of the core operating system and it’s supporting applications is freely available to copy, re-use, extend, enhance, and adapt – leading to ports for just about every hardware platform imaginable.

Linux originally borrowed the design of Unix, which set out some simple but powerful underlying concepts around the treatment of all applications as processes – with standard input and output streams. It’s a game changing design that’s beyond the scope of this post, and not followed by either Windows or MacOS.

Linux famously has no central control over future direction – it has been, and always will be designed and developed by a disparate community. This can be seen as both a good, and a bad thing – good because the system is not forced in a direction by external actors, and bad because it causes fragmentation. The fragmentation also causes duplication of effort – with different teams building alternative versions of the same core functionality – everything from window managers, to text editors. This of course means more choice though, and a properly functioning ecosystem of sorts – with evolution, and natural selection in play.

I need to draw this to a close somehow.

I titled this post “Choosing Linux”, and have sat on the fence throughout the entire monologue so far – being annoyingly even handed. I suppose when it comes down to it, the main reason I choose to use Linux outside of work is because I have to use Windows at work. The anarchic voice that occasionally whispers in my ear and causes me to walk to my own beat tells me that Linux is a good idea. It’s really that simple, and that illogical.

Not only do I get to “choose Linux”, I get to choose the distribution of Linux I use – and that has changed over time. Last week I ran “Manjaro”, the week before that “Elementary OS”, and before that “Ubuntu”. I’m back using Ubuntu this week. I may change again next week – it’s a little like re-building your house again and again, with no appreciable loss or gain in core functionality. Of course, you get nothing done, but that’s not the point.

A Burning Smell

The big computer hidden under the desk emitted a strange electrical noise yesterday morning, before switching off and filling the room with an acrid smell of burning. I pulled the plug out immediately. At the moment I have no idea what happened to it – but guessed at the power supply unit. A new one is on order, and should arrive tomorrow morning. It remains to be seen if the sound I heard was just the power supply, or the entire computer ending it’s own life. If any sort of surge hit the motherboard or CPU, it’s going to be “goodbye computer”.

I’m writing this blog post though, so you would be correct in thinking “he found a way”. I resurrected an old laptop, installed it with a shiny copy of Ubuntu Linux, and wired it up to the monitor, mouse, and keyboard on the desk in the junk room. A working computer. Yes, it’s slow, and yes, it’s a bit clunky – but it works. If the other computer really is dead, this will be the only computer around for months – if not years. There’s no way we can afford to replace it (it was handed down in the first place – my Dad gave it us when he upgraded).

It’s funny really – that I work in IT, but don’t have any sort of cutting edge hardware at home. I guess I have three daughters instead – and there’s not much left in the pot after providing for them each month. I sometimes think back to our life before children with a smile, and wish I had appreciated how much disposable income we once had.