Saturday, February 22 2014 17:20 EST
Here are two nice examples of how the ubiquity of the Internet has impacted two distinct age groups: those who have had the Internet all of their lives, and those to whom it's still a "new thing".
One of our neighbours recently celebrated her retirement by buying her first computer, a Macbook Air, and inviting the Internet into her home. Once I'd helped her set everything up she was emailing, web-browsing and printing like a natural.
A couple of weeks ago one of her dogs was attacked by another dog and, knowing M's ability to fix a variety of wildlife, she knocked on our door in a panic. M explained that she really couldn't help with a domestic pet, especially one that probably needed surgery. Nonetheless she went round to see if there was anything she could do to help. The scene was intense: the wounded dog was being held by our Neighbour's sister who was accordingly splattered with a liberal quantity of blood, while our neighbour was hunched over the phone book frantically trying to find the address and phone number of her vet. M was a little surprised by this for a several reasons, not least of which was that people still had phonebooks. "Wait!" she couldn't help exclaiming, "where's your laptop?" A quick Google later she'd located the name and address of the vet to the amazement and relief of everyone. It hadn't even occurred to our neighbour or her sister that the task of looking up a phone number could have been achieved by any other means than the traditional dead-tree method. But what of the generation that have never known a world without The Internet?
Being middle-aged and a code-monger means that my day job frequently involves being surrounded by what I now call "children" (that's pretty much the only benefit to not being young any more.) We work in the city, but not too near the food action, so we often get together and order food for delivery at lunchtime. Most of the local vendors have switched to using GrubHub for orchestrating orders and in fairness Grubhub do a pretty good job of it on the whole - their cutesy, patronising communications notwithstanding.
One particular lunchtime a group of "children" were ordering Sushi via grubhub when the unthinkable happened: Grubhub went down mid order! Worse still, the vendor didn't have any other ordering mechanism on their website. Imagine the panic! The Sushi vendor wasn't totally inaccessible - a reasonably short drive, or a considerable walk away - but on this particular day the outside world was hostile; the ground was covered in snow and ice, the temperature was around -10C, and it was raining. The would-be lunchers were despairing when a slightly older colleague spoke up and suggested they phone the order in! A few seconds of silence followed while everyone considered this bizarre suggestion. "Of course," said one of the sushi-seekers, "I would never have thought of that!" And the lunch came, and it was good, and there was much rejoicing.
Saturday, January 04 2014 12:48 ESTThis
is the best advice for anyone hoping to learn about...well...anything: get used to failure, because failure is part of the process.
At a previous job, one of my friends used to make a point of asking interviewees for new positions what was the worst disaster they'd ever caused, and what they did about it. It's a brilliant question because it tends to paint a picture of the candidate in a real life high-pressure situation. Anyone working in a technical field who hasn't caused some sort of disaster or other has either not been given the controls or is unaware of the impact of their actions. How would they actually cope with fixing a disaster - regardless of whether it was their fault or not?
Obviously there is the finite possibility that they are indeed perfect and infallible, but this is so unlikely that it's not worth considering - and anyway, would you really want to work with someone like that?
Saturday, October 12 2013 22:08 EDT
Being terrible at mathematics is rarely a problem for software developers these days; algorithms for most problems are widely available and software libraries implementing those algorithms are equally accessible now that people understand the joy of free software.
A-level Mathematics was extraordinarily difficult for me and even though many of the concepts were beautifully simple to grasp, the nuts and bolts of making them work eluded me. Seeing any formula involving 'e', 'i', an integral, or a capital Sigma would send my brain into meltdown and force me to look away.
Thankfully we don't need to understand this stuff in "the real world", I comforted myself by saying twenty years ago. Twenty years later I was dealing with complex numbers in my day job and regretted not learning about them properly when I was younger; when my brain was less fried. Obviously I understood the basics: 'i' is the square-root of -1 and a complex number is simply a combination of i with a real number e.g. "3i+4". I also understood how to do the operations on them so that performing something like an FFT
was pretty straightforward. But why it worked, and what it was all about had eluded me completely. Most people don't care about that - as long as they can perform the necessary operations they're happy, and rightfully so. But I'm stubborn and not very good at this stuff so it has always concerned me that I don't understand why
it works, and consequently I never understood why the complex-plane was ever relevant to real-life.
Very recently I stumbled upon this amazing website:
This guy is brilliant! It was as if he understood my mental block and picked it apart leaving me with the glorious feeling of actually understanding complex numbers and how they relate to real-life. Quite a wonderful experience to have on the bus home from work.
Sunday, October 06 2013 22:52 EDT
Today, being a Sunday, my family and I managed to set up a video chat (using Facetime, although Skype used to work before that). My sister's family were also in attendance and so it was a lovely opportunity to catch up with everyone, especially my nieces.
When I got a chance to speak to my parents my dad told me about a problem he'd experienced making CD's from MP3's he'd downloaded: the CD only played on certain CD players but not all of them. In particular it didn't play on the CD player of the man for whom my dad bought the album. He bought and transferred the MP3's to a CD for his friend who only had a CD player.
Now, to me this sounds like "par for the course" because CD-R's are, and always have been, a shit technology. That's just what happens. But my dad was concerned that he'd done something wrong.
What follows is another way to interpret my dad's experience. He and my mum read this and so they may wish to correct me on any of the details.
My father is 82. As a result of my arrogant nature and desire to be able to maintain his computer from 3000 miles away I've forced him to use Ubuntu. It's a massively underpowered machine for 2013 but he maintains it well. Using Ubuntu my dad managed to purchase a gift for his friend - a bunch of MP3s from amazon.com. He also managed to transcode them to WAV files and then burn them to CD. The fact that they didn't work on a bunch of CD players made him feel that he'd done something wrong. This is an example of how broken the world is.
CD-RW's, CD-R's and all of the various family members are examples of crap technology. They are at best an anachronism. But when you have to deal with non-geeks, they still have their place.
I suppose the point I'm trying to make here is purely that I'm massively proud of my parents. My dad is transcoding MP3's for his friends after buying them on Amazon while my mum is happily using the iPad to explore the world.
Sunday, September 29 2013 10:36 EDT
There are a number of alternative search engines out there and some, such as Duck Duck Go, are completely independent and actively work to protect your privacy. Then there's Gibiru. They make a lot of grand sounding claims, and their "about" page should really be written in green ink
, but I liked the idea and started using it.
The first thing that concerned me is that they seem to be using Google's API - so you're actually querying Google. So how is that uncensored exactly? Surely Google are quite capable of censoring their API as well as the front end the users see. I wonder how well Gibiru works in China?
What Gibiru does is to proxy your search request and zap all of the potentially identifying data so that Google doesn't get your IP address etc. So far so useful.
But there is a major problem: the links they return are actually links to Google; every result in a Google search contains a link that looks like a link to the target site, but is actually a redirect via Google itself so that they can pick up information on where you went after searching.
Try it: go to giburu.com; search for something; right-click any of the result links; copy the link address and paste it somewhere you can look at it. It's the same link you would get if you searched on Google, and it is also a link *to* Google; If you click the link, Google will have all the info it needs to entirely reconstruct your search - including your IP address.
Am I missing something here, or is Giburu really this flawed?
Tuesday, August 27 2013 19:07 EDT
Recent events and revelations have encouraged more people to start thinking about privacy, security and liberty in the digital realm. About bloody time! The armies of young geeks who have been empowered by the Internet, some for the majority of their lives, have started seriously considering the unthinkable: the Internet being beaten into a unusable, restrictive, corporate mess - like television.
So now even the mainstream media has started to talk about Darknets: areas of the Internet inaccessible and invisible to ordinary users. Tor
is perhaps the best known and certainly the most widely adopted, but there are countless others, some of which have been around for a surprisingly long time, and others that are still experimental.
The Holy Grail of free (as in "speech") networking is decentralization - no central infrastructure that can be knocked out.
"Mesh Networking" is such a notion: a network of equal nodes that can sort out an efficient way to send data from one node to any another without needing a central authority to manage the network. There have been many attempts to implement this kind of unbreakable network, some of which fared better than others.
is a mesh network that started out a couple of years ago, based around some experimental software called cjdns
. What interested me most about the project was its grand-sounding aim of "replacing" the Internet rather than simply augmenting it, so I decided to give it a go.
Getting it up and running is a matter of downloading and building cjdns, then asking someone already on the network to let you in. By "asking" I'm not referring to some nice quick, automated, simple protocol, I mean you actually have to find a human being that is already on the network and ask if you can "peer" with them (ooh, err etc). The guidelines say you should do this using IRC - which was almost enough to put me off. Fortunately the people there seem to be unusually friendly and helpful - it's early days after all. In fairness there's now also a convenient map of nodes
that permits avoiding IRC altogether; you find a node near you and send an email (hopefully encrypted).
Once you have been granted access to a peer, you fire up cjdns and magical things happen.
Without any other messing about you are granted access to Hyperboria; suddenly the darknet links
The pioneers have done a good job of providing a set of genuinely useful services exclusive to Hyperboria including a microblogging service, several network analysis tools, chat (IRC/Jabber) servers and a variety of websites. All the time you're browsing Hyperboria your traffic is encrypted: a core requirement of the networking protocol.
Behind the scenes every node allocates themselves an IPv6 address in the block fc00::/8 - unorthodox as far as I can tell, but who cares at this stage. Somehow the address is used as an encryption key for securing traffic to other IPv6 nodes on the network. I've not looked into this at all at this point so have no way to know how cryptographically secure it actually is. Unlike normal IP routing, each node has to build up a picture of the network dynamically based on addresses it has seen and knows about and passes IP packets on to other nodes as best as it can.
This is the first time I've properly played around with mesh networking and I have to say it's pretty nifty. As previously mentioned I've yet to dig into the code to see how any of the magic works and therefore can't predict anything about its future. Also it's clearly not ready for use by mainstream users at this point - maybe that's why I'm enjoying being part of it so much - but they have grand plans
to make it more accessible in the future.