Profile cover photo
Profile photo
Sasha Gerrand
Professional aficionado/pedant
Professional aficionado/pedant


Post has attachment
Intermittent rain kept the excessive crowds at bay, which resulted the works being easier to view at close hand. The standard was consistently high and I really enjoyed it overall.
Sculpture By The Sea 2013
130 Photos - View album
Add a comment...

Post has shared content
Interesting to note the disparity that this induces between foveal and peripheral vision.
Fun with Peripherals 

Keep your eyes focused on the cross in the middle. These celebrity faces start to become completely distorted in your peripheral vision! 

This article breaks down why this happens:

#sciencesunday   #gif  
Animated Photo
Add a comment...

Poignant reflections from Julia Gillard on the recent Australian election and next steps for the Labor party. #auspol
Add a comment...

Post has shared content
This is sad to see. Bon chance, +Jean-Baptiste Quéru
Well, I see that people have figured out why I'm quitting AOSP.

There's no point being the maintainer of an Operating System that can't boot to the home screen on its flagship device for lack of GPU support, especially when I'm getting the blame for something that I don't have authority to fix myself and that I had anticipated and escalated more than 6 months ahead.
Add a comment...

Post has shared content
Brilliant choice of protocol name to boot (c.f. SPDY).
Google wants to make the web faster. We know it. 

For months now, Google Chrome Team is secretly working on creating a new web protocol named QUIC.
Full chromium-side code is available at

From what I understand, and I'm not a transport-security guy, it looks like a improved version of UDP with some extra features such as encryption.

You can already run chrome with --enable-quic switch to enable it and go to chrome://net-internals/#quic to see nothing. Yup. Since I don't know any QUIC server yet, it's kinda hard to test ;)
And if you try with another switch such as --origin-port-to-force-quic-on=80, you won't be able to browse at all.

On a side note, after SPDY, here's QUIC. What's next? RAPID, BRISK, FAST. 
Add a comment...

Post has shared content
So I wrote this book on Erlang.  Why would I do such a thing?

Though I'm a tech writer, I'm far from an elite programmer.  I only occasionally write code that reaches production, and generally consider it a good day when other people create the projects I had once dreamed about.

My early programming history is pure spaghetti - BASIC, light 6502 and Z80 assembler, HyperTalk, Perl, VBA.  I had a brief spot of discipline in Java, but as it turned out it was bad timing - Java?  Text processing?  More recently I've spent time in Ruby and JavaScript.

I ran into Erlang because I was editing Zachary Kessin's Building Web Applications in Erlang.  I could almost read the examples, but there was gap.  I picked up Francesco Cesarini and Simon Thompson's Erlang Programming, and watched their video, and marveled.  This was genuinely cool stuff.  I looked through other Erlang books, and again I marveled.  It was obvious that this relatively simple toolkit offered tremendous power at relatively low cost.

Unfortunately, all of these wonderful books assumed an audience that wanted to move quickly through the material and build powerful things quickly.  That wasn't me.  

The language felt right, but I wasn't up to the pace of the other books, much less the online documentation.  I wanted a companion to the other books, something that would help me climb far enough up the ladder to use them.

At about the same time all of this was exploding in my head, I was stuck in bed for a couple of days with a fever.  The explosions in my head resolved into a rough outline for a book, and a process for writing it while actually learning the language.

It's not a book written by experts - it's a book written by a beginner that was vetted by experts.  I'm very curious to see what the response to that approach will be.
Add a comment...

Post has shared content
Not sure that I can add more to this post by +Andrew Gerrand.
My grandfather's obituary was published in the paper today.

I knew him as a patient and competent grandfather who taught me how to do things, from mending broken chairs to using a computer (TRS-80 Model III) and writing simple programs (although he wasn't much of a programmer, himself).

It's funny; only through attending his funeral and reading various pieces  about him did I realize the scope of his achievements. He was incredibly humble and seldom spoke of what he had done; only where he had been, who he met, and what he learned.

In his death I also realized what a profound influence he had on my own life. For a long time, he was the most technical person I knew. Had I not watched him create and fix so many things I may never have thought "Hey, maybe I can do that too."

Thanks, Gerry.
Add a comment...

Post has attachment

Post has shared content
A lesson in shortcuts.

Long ago, as the design of the Unix file system was being worked out, the entries . and .. appeared, to make navigation easier. I'm not sure but I believe .. went in during the Version 2 rewrite, when the file system became hierarchical (it had a very different structure early on).  When one typed ls, however, these files appeared, so either Ken or Dennis added a simple test to the program. It was in assembler then, but the code in question was equivalent to something like this:
   if (name[0] == '.') continue;
This statement was a little shorter than what it should have been, which is
   if (strcmp(name, ".") == 0 || strcmp(name, "..") == 0) continue;
but hey, it was easy.

Two things resulted.

First, a bad precedent was set. A lot of other lazy programmers introduced bugs by making the same simplification. Actual files beginning with periods are often skipped when they should be counted.

Second, and much worse, the idea of a "hidden" or "dot" file was created. As a consequence, more lazy programmers started dropping files into everyone's home directory. I don't have all that much stuff installed on the machine I'm using to type this, but my home directory has about a hundred dot files and I don't even know what most of them are or whether they're still needed. Every file name evaluation that goes through my home directory is slowed down by this accumulated sludge.

I'm pretty sure the concept of a hidden file was an unintended consequence. It was certainly a mistake.

How many bugs and wasted CPU cycles and instances of human frustration (not to mention bad design) have resulted from that one small shortcut about  40 years ago?

Keep that in mind next time you want to cut a corner in your code.

(For those who object that dot files serve a purpose, I don't dispute that but counter that it's the files that serve the purpose, not the convention for their names. They could just as easily be in $HOME/cfg or $HOME/lib, which is what we did in Plan 9, which had no dot files. Lessons can be learned.)
Add a comment...

Post has shared content
Wait while more posts are being loaded