Computers coming full circle

Sony-acquires-cloud-gaming-platform-Gaikai-1087715

I was interested to hear about Sony’s plans for the future of gaming:

Turns out that they’ve bought Gaikai, a company specialising in rendering games in a data centre, streaming the results back to you. All we do is to transmit your gamepad’s directions.

Therefore there’s nothing to install locally, no updates or disks to deal with – and more importantly we don’t need super high-tech hardware at home that needs to be upgraded every 3-5 years. Technology upgrades happen in the data centre, and all we pay for is access to the game itself.

Sony say that they want to bring this service to the Playstation 4 (it’s currently in beta), Playstation 3 as well as Bravia TV sets. This could mean a massive back catalogue of 10 year old games from the PSOne and PS2 era, as well as top titles from PSP, PS Vita, PS3 and PS4.

It’s right up there with “cloud based office” solutions like Office 365 and the iWork suite – not to mention Dropbox, Flickr, Vimeo and whatever else we use as an external hard disk replacement.

Looking back over the beginnings of computers in the sixties and early seventies, we’re now experiencing exactly what had been commonplace back then: computer time sharing.

 

The Sixties

Back in the days, computers were to large and expensive that there was no way the likes of you and I could have one at home. But universities and companies had them in something like a control room, with terminals from various other rooms to access the computer. That’s why Linux is such a capable multi user environment: one machine, lots of users logging in submitting jobs to The Machine.

At first those terminals were local and connected via a thick heavy cable to The Machine in the same building. Later you could have a terminal at home and dial in via a local (free) phone call and use the computer. Terminals were small keyboard type things with a monitor and literally no computing power.

DEC_VT100_terminal

Then in the mid to late seventies the MOS 6502 processor came out and started the home computer revolution. Over the next few decades the likes of you and I bought computers and ran them at home, and it didn’t take long for technology to become so cheap and ubiquitous that our machines at home (and in our pockets) were better than what was sitting in those custom data centres. Those were the nineties and naughties.

 

Virtual Machines

Remote computers are great for “always on” services such as websites and emails – so you can rent a full computer in a data centre and manage it yourself if you like. Over the last decade or so it became more economical to maximise hardware capacity by creating virtual instances.

Those are “units” that emulate a full machine and react just the same, but in reality they’re just containers running on larger clusters of hardware. Rather than a CPU sitting idle 99% of the time, my own idle time could be put to good use elsewhere and “pretend” to be someone else’s fully fledged machine. The added benefit is that if one physical machine in the cluster crashes, the others can buffer the mistake until it’s fixed (much like a hard disk stripe).

 

Meanwhile, on your desktop

We’ve reached the point in the home computer revolution where a faster processor, a shinier display with more colour depth or more RAM aren’t going to make a difference anymore. Neither do faster data lines to the outside world. We have all that and more.

We’re at the end of what the MOS 6502 started in the seventies. Your desktop can no longer be made any better than it already is. It’s an interesting thought to recognise this.

Which leaves the question: what’s going to happen next?

Sure, we can shift everything into The Cloud (THE shittest description for this phenomenon bar none) and access the same services we already have with slower machines and inferior hardware. Those could be good at other things: they can be small and battery powered or cheaper, like our smart phones and tablets - yet they would appear as powerful as a fully fledged laptop, because computing is done in The Cloud. Amazon’s Silk web browser in the Kindle Fire is a good example: with relatively slow hardware, it pre-renders web pages in their data centre and is supposed to deliver a better user experience.

 

So what’s next?

Just like back in the early eighties when ordinary humans laid their hands on the first home computers – all we can think of doing with “The Cloud” is to replicate what we can already do – without The Cloud. That’s not innovation though is it?

That’s why I think of Playstation Now as such a cool idea: have real time graphics render off site and see the results – we’ve not seen this before.

I remember when the iPad first came out, and we all thought “this is great for emails and web browsing”, but we could do that already on laptops. Shortly after it became a revolution, all these innovative apps started coming out which turned the iPad into something else, changing our lives. Ray was saying back then, “Currently the iPad is a placeholder” – meaning society hasn’t decided where this is going just yet.

Perhaps it’s the same with The Cloud. It takes another decade to really appreciate where this is going, what the next real innovation is (it’s not 3D or 4k TV by the way).

Personally I’d like to see a “less is more” approach. What’s happening online is quickly becoming more important to society than what’s actually around us. We need to get out more and care less about who’s writing what on The Internet, regardless if it’s some website or some social network. We have other senses that need to be fed too.

I hope both current and future generations (me included) will be able to remember that there are things other than The Cloud, and there are other places in our world than Online.

Machine Language, Assembly and Assembler, Interpreters and Compilers

I finally found out what the difference is between Machine Language, Assembly and Assembler – and how it fits in with Interpreters and Compilers. For those of you game enough, let me explain what these cryptic terms mean – and how they span computers from the early C64 to today’s high-end laptops.

Interpreters

Something that has plagued the early computers was their speed of how they executed things in BASIC – or rather the lack thereof. As nice as BASIC is, sifting through an array of variables can compare them with a known value does take some time.

That’s not BASIC’s fault though – it’s rather the way it is executed. You see, BASIC (on the C64 and his comrades) is an interpreted language. This means that while the computer is working, it’s translating the BASIC statements into something it can actually understand – which is of course not BASIC. All a computer really knows is if something’s ON or OFF. Computers are truly binary machines – no matter how old or how new they are. So if you tell them to PRINT “HELLO” then some translation work needs to happen for HELLO to appear on the screen – and that takes time.

That’s what an interpreter does: translate one language into another on the fly – much like people can listen in Spanish, and speak the same thing in English, for the benefit of an audience (usually not for their own pleasure).

The great thing about interpreted languages is that the source code always remains readable. As you can imagine, ultimately the interpreter will throw some ones and zeros at the computer. There’s no way you could make a change to that as it bears no resemblance to your source code.

One alternative to speeding up the programme in question would be to have the something like the interpreter to go to work BEFORE the programme is executed. Ahead of time, and in its own time. Then we could present the translated result to the computer right away, taking away the “on-the-fly” translation and saving some CPU power. I guess it won’t come as a big surprise that this is done frequently too: it’s called compiling, and a Compiler does such a job.

Continue reading

Microsoft Small Basic

Screen Shot 2014-08-04 at 13.31.05

Back in the eighties, BASIC ruled the home computer world. Most machines came with some BASIC flavour in ROM, ready for you to issue commands to that mysterious machine.

Most BASIC dialects could be traced back to Bill Gates’ very own Microsoft BASIC which he hand-coded together with Paul Allen and Monte Davidoff for the Altair. Subsequently they licensed BASIC to many manufacturers, including Commodore in the mid to late seventies.

Back in those days, home computer owners – the likes of you and I – were equally a “user” of pre-written software, as well as “programmer” to a varying degree. If you as much as wanted to see what was on a floppy disk, you had to know a couple of commands to make it happen. From there it was but a small step to creating short programmes – even insignificant ones that would perhaps repeatedly write the word HELLO on your screen.

It was fun, and something I’ve always enjoyed about BASIC.

Screen Shot 2014-08-04 at 14.04.32

As computers grew more advanced, this simple pleasure has been taken out of the equation: by the nineties we’ve all been turned into “software users”, and only extremely intelligent humans would continue to produce software which could be run on our new machines.

The day of the “casual garage coder” was effectively over.

The knowledge one needed to possess, together with the software and hardware tools, was not intended for the faint-hearted BASIC user, nor were they easy to come by. BASIC was out, and the new kids on the block were compiled languages which offered a lot more than a 40 column text screen – and they ran a lot faster on the new hardware.

So BASIC, and the Hobby Hacker along with it, is a thing of the past… or is it?

It’s sad to think that something got perhaps lost with faster and better machines, snazzier software and slicker UI’s where everything is – ultimately – about “how much money can we make out of that?”. It’s like saying “I’m only learning how to speak if you show me some cash”.

Knowing how computers work goes a long way to getting pleasure out of using them. Have you noticed that people who don’t care about such things have a really hard time making computers work for them? They can be your friends you know, they weren’t made to be our enemies.

There’s a garage coder in many of us – perhaps not in every one of us. But if you still like the idea of “casual programming”, but…

  • you don’t want to run an old computer as an emulator
  • or even buy an old computer and speak to him in BASIC (like I do)
  • and if you’re simply missing the pleasures of simple coding

you’ll be as delighted as I was when I found Microsoft Small Basic.

Continue reading

Fixing up a Commodore Plus/4

Recently I bid on a very good looking Commodore Plus/4 on eBay. I’ve never had one and have only heard the stories about this little guy: mismanaged marketing, the failed successor of the C64, the computer nobody wanted. A sad story – especially considering that it’s a really good machine that paved the way for the C128.

IMG_5132

With almost the same powerful BASIC commands as its successor, the Plus/4 is much smaller than the C128, a little over half its size I’d say. It takes up much less desk space and can use the 1541 floppy drive. Other peripherals were not compatible (joysticks, datasette drive, etc), neither was existing C64 software – which was widespread and popular at the time. The Plus/4 did have more colours but no sprites (which made computer games amazing in those days), and its sound qualities were less sophisticated than those of its predecessor.

The major downfall of the Plus/4 was undoubtedly its marketing and strategic decisions within Commodore: Jack Tramiel wanted a $99 machine that would sell alongside the expensive $500 C64 in 1984/85 and wipe out the fragmented home computer competition. Design of the 264 family began thanks to him – this included the C16/C116 and Plus/4 – even a 364 with speech module (only legends know about, like the CBM Museum).

Before the launch of the new machine however Tramiel left the company in 1984 – and with Commodore’s visionary gone, the rest of the clueless board of directors turned the Plus/4 family into a C64 replacement. Well, it flopped. Badly.

Since it was never meant to be what it became, and because it wasn’t compatible with existing popular software, less than 1 million units were produced worldwide and the Plus/4 was discontinued within a year of its launch.

Nevertheless, learning from their galactic mistakes, Commodore quickly developed the C128 and added everything to it that was missing on the Plus/4.

 

My Plus/4 Story

I bought mine for $49 including shipping from California, boxed with both manuals and dedicated 1531 Datasette. A complete bargain! Other than being a bit dusty, it was in great condition – some minor ageing issues aside.

One of the tragic things about shipping 30yr old computers several thousand miles, even with the best packaging, is that components can break, old solder joints can snap, and things may not survive the journey. It’s the nature of shipping retrotech.

Then there are those abysmal power supplies Commodore built back in the day: they’re usually potted and can’t be opened and are no repairable. Voltages over time may increase which leads to the death of many a chip in the best working machines. Another tragic story.

I was delighted to see that my new Plus/4 WORKED out of the box! The power supply measured the correct voltages, cursor blinks with a glint in his eye. The packaging was not only adequate, it was fantastic! I was really lucky with this purchase:

VideoGlide Snapshot

The only thing I noticed was that several of the keys did not respond well unless I hammered them or pressed them repeatedly. Time for a thorough examination and a quick fix!

Join me if you will on a journey under the hood of the Commodore Plus/4.

Continue reading

White Collar Sketches

Every one in a while I get grabbed by a major TV show – either because of stunning visuals and/or good storytelling. A few years ago we started watching White Collar, and even though it took a bit of getting used to, Julia and I are hooked.

The other day we’ve finished watching Season 5 on iTunes, and if you believe the internet there’s a final 6th Season being shot in New York right now – with only 6 episodes. In the UK we’d call that a “full length season” and drag it out over the course of two years – but in the US television landscape six episodes is rather unheard of.

I haven’t done much drawing over the last few weeks in favour of iOS hacking and exploring vintage computers – so I thought the timing is perfect to turn the inspiration from all those stunning visuals and riveting storytelling in White Collar into a project:

The White Collar Sketches

IMG_4929

Continue reading

Me and The Machine, Part 1: The 8-Bit-Age, ca. 1985

While most iOS Developers around the globe are busy learning Apple’s new programming language Swift or playing with early versions of iOS8 and Yosemite, I’m deeply involved in something much less cutting edge. In fact it’s from over 30 years ago, and it’s courtesy of Microsoft:

I’m having fun getting back into BASIC 2.0 as featured on the legendary Commodore 64 (or C64 or CBM 64).

Commodore-64-Computer

This was my first computer, and I’ll never forget it. German computer magazine “64er” dubbed it the VC-64, or “Volks Computer” (because Commodore’s previous machine was called the VC-20 or VIC-20). It was huge everywhere, but particularly in Germany it was just THE machine to have.

Sure, there was the Amstrad CPC664 and 464 (which were re-branded as Schneider) or the ZX-81 and Spectrum, but they were somewhere in that 5% category of “other home computers”. We never had the BBC Micro – for obvious reasons, and none of my friends could afford anApple II.

I no longer own the hardware, but some of that early day knowledge is still in me, together with many burning questions that have never been answered. There’s so much I always wanted to know about the C64, and so much I wanted to do with it: write programmes, learn machine language, and generally use it for development. I had no idea that there was such a thing as a Programmer’s Reference or developer tools. Time to get back into it!

Today we have wonderful emulators such as VICE (the Versatile Commodore Emulator) and it’s just like sitting down with my old computer again, on modern day hardware. I’m even doing it on a plastic Windows laptop for a touch of antiqueness (if I don’t get too annoyed with that).

Don’t ask me why this piece of computer history has become such an obsession with me over the last couple of weeks. I feel that for some reason it fits in with all this high-end cutting edge development I’m doing and rekindles me with how all this super technology started: with cheap plastic that was to change all our lives forever.

I remember the questions from members of my family who had not jumped on the computer bandwagon: “So what do you actually DO with a computer?” – and I guess today as much as back then you would answer, “What am I NOT doing with a computer anymore?”

The 8 bit “home computer” revolution started all that, including the stuff we use every day and half-heartedly take for granted – like downloading a PDF on the beach at 100Mbps, while sending videos to loved ones across the globe in half a second.

Before I get too old to remember, let me see if I can piece the story of “Me and The Machine” together (before my brain inevitably turns into that of a retired old gentleman yelling at the neighbour’s dog in a foreign accent).

Continue reading

Dear Microsoft, is everything OK in Redmond?

20140621-124416.jpg

Hello Microsoft, I hear you have announced that on the 20th of June 2014 you’ll release a new version of your tablet device, the Surface Pro 3.

At first I thought those auto-completed search results were generated by fanboys looking ahead into 2015. It couldn’t be true, and it didn’t make sense I thought. Because the last Surface just came out a few months ago. But then I searched myself and found it was true. Press Release and everything. Microsoft are serious about it.

Confused I read a “preview review”: Surface Pro 3 is thinner and lighter (both in weight and colour), it’s faster and it’s even cheaper than the previous model. It also no longer features Wacom digitizer technology. Instead it has some other non-brand thing built in that makes touch input less accurate, but makes for more natural handwriting from what I understand. You probably know this better than I do.

What I couldn’t quite understand is why? Why replace a solid device so soon after it’s been released?

By my count that gives the Surface Pro an 8 month release cycle!

Continue reading

Turning my iOS Dev Diary into a Membership Site

iOS-Podcast-Icon-2014I find it extremely important to document the things I learn on my coding journey. It has saved my (coding) life many times before. I do such documentations in form of websites which allows me to refer to my notes from any device in the world.

One of those sites is my iOS Dev Diary.

It’s on a spare domain I had lying around that wasn’t doing anything, and when I started adding notes to to the site in 2011 I hadn’t intended it to be a public facing project: I would usually add links to my other sites, add social widgets and make sure the site looks nice so that it makes for a pleasant reading experience.

I dispensed with all that for my iOS notes. I didn’t event pay attention to the traffic it was getting – because seriously: who would read scattered notes and ultra geeky code snippets without a context?

Turns out I was in for a surprise.

The site really isn't anything special to look at - but it's functional, human readable, and people seem to like it.
The site really isn’t anything special to look at – but it’s functional, human readable, and people seem to like it.

One day I tried some CSS tweaks and installed Jetpack so that I could easily apply additional CSS styles without the need for a Child Theme. Jetpack also counts the daily visitor traffic which was about 20 users per day when I installed it in March 2013, not including my own visits.

You can imagine my surprise when I saw that the traffic was steadily increasing to a point that impacted the server the site was hosted on. Today I’m getting nearly 700 hits per day on that site (!), a little less less at weekends, accounting for a whopping 15k visitors per month.

Stats at the end of March 2014

 

Luckily I’m in charge of the server that’s hosting my iOS Dev Diary, so I could use it as a test case for high traffic, and to see how different servers would cope with the load: I tried moving the site to a small Amazon AWS instance running Plesk on CentOS – which promptly crumbled under the load. I increased the power of that instance gradually and found that only a C3 Extra Large instance would hold out – not really an option considering its $300 per month price tag.

Other dedicated servers are more cost efficient, and currently the site is hosted on a dedicated machine at Strato which copes very well. The test provided me with valuable insights on many levels, but at the same time it poses a problem: I still need a place for my notes, and I’m happy for others to use them too. But without locking the site down to “private” I’m still stuck with a lot of traffic and therefore quite a bit of hungry infrastructure overhead.

Unless I find a way to subsidise the cost – which leads me to another exciting adventure: turning my iOS Dev Diary into a paid Membership Site.

Thanks to a couple of WordPress plugins I can partially protect content and ask visitors to join the site for a small fee.

Access is granted instantly after the system processes the payment. The membership protection is live since the beginning of the month and meant quite a bit of work and restructuring for Julia and me. Let me tell you more about the project.

Continue reading

Play From Your F***ing Heart

Screen Shot 2014-04-25 at 15.58.44I’ve finished a new website last week for my friend Jerry Hyde. We go back at least 15 years, and I’m excited to tell you that Jerry has written a new book that will be released on July 25th.

I’m not swearing when I tell you it’s title: Play From Your Fucking Heart.

It’s a self-help book with a spin: the author acknowledges that there is no “new wisdom” to be told – instead every piece of philosophy is recycled and indeed old news.

Jerry doesn’t say that this makes it invalid or untrue – quite the opposite: fact is that we as readers already know all these wisdoms, and merely recognise them as significant when we see them presented in yet another package.

It’s Genius! You can find out more about the book here – and don’t forget to put your pre-order in on Amazon!

 

The Website

I’m extremely pleased to have been involved with this project, and I’m very happy with the way it turned out. It makes such a difference when you work on something that you believe in – something I have the luxury to do exclusively these days. Let’s face it: it’s the number one reason that I live where I live today.

Naturally the site is build on WordPress and went live just as version 3.9 came out.

Jerry wanted something “dark” and likes unusual designs. Because the calendar says it’s 2014 we also needed a template that looks equally nice on a phone, a tablet and a laptop. After looking through several options I showed him AppifyWP Single – a theme that’s meant to be used as an App Website.

Not many changes were necessary, however I do make it a habit of creating child themes for my projects in case the original codebase ever gets updated.

Screen Shot 2014-04-25 at 16.11.33

The few things I did change were references to the fact that we’re selling an app: Jerry didn’t want like his book cover hovering on an iPhone so I’ve replaced it with a grubby old book cover – courtesy of Graphicstock.com. I also removed the “Download on the App Store” logo and replaced it with the release date.

One thing I did not want to change about the theme was its App Icon – but because books don’t have App Icons I had a look at the cover image and got creative with the blanked out swearing bit. In case we ever write an App with “Jerry’s Wisdoms” we’re covered already. Imagine a Magic Eight-Ball type app.

 

Site Functionality

The theme is special in that all “tabs” on the left are WordPress pages, but all of them are presented as one long block of text, and each tab is merely an anchor point to a new position. It’s like a bookmark system – thanks to the ingenuity of its designer Cory Show who developed AppifyWP.

Therefore the order of those tabs was important – the pages need to flow, like the book itself: we start with a quick introduction, tell you about the author, give you endorsements, the foreword and a reading sample. The reader doesn’t need to know the techie bits in the background, but s/he can certainly tell when they’re not right.

We also invite readers to have a look at Jerry’s other projects, like his website as well as his previous two books (and where to buy them). While scrolling through all this content, both the menu bar with navigational tabs and the sidebar with Social widgets sticks in one place so there’s always something new to discover.

Jerry also writes a monthly column for Seymour Magazine – so it’s easy to pull in his feed via the wonderful FeedWordPress plugin by “RadGeek” Charles Johnson: every time a new article in Jerry’s category is published by on Seymour Magazine, we syndicate it with teaser content and link back to it on the originating site. Automagically.

Screen Shot 2014-04-25 at 16.49.29

That Bike App

PinkBike-1024x1024

Remember that bike app I’ve told you I wanted to write? I wanted to track all the miles we’re doing on our new bikes.

The app store has plenty of such apps already, but some of them are so complicated that it takes years to figure out how they work. I wanted to create something simple instead and went to work immediately.

I have to tell you it took a couple of weeks of tinkering and learning some new skills. In the end it wasn’t as easy as I thought it was going to be, but I’m proud to say that yesterday I’ve submitted Bike Tour Diary to Apple. Let’s see if they like it!

It’s been four months since I’ve submitted an app (which was TALK! – the speech synthesiser). Funny how quickly the brain forgets important steps and leaves you clueless. Let me tell you all about the writing process, what the app does and what features I’m working on next.

Continue reading