Search This Blog

Posts

In September of this year Cloudflare held its annual Internet Summit. I was asked to moderate three discussions. Videos of all the sessions have now been put online so folks who weren't able to attend in person (remember, it's free and open to the public), or watch the live stream aren't left out.

My three sessions were...

What Can We Expect from the Internet in 2020?
I sat down with Ilya Grigorik to talk about predictions for the Internet in 2020. Ilya is Web Performance Engineer at Google, author of High Performance Browser Networking and an expert on Internet performance.

Who Will Win the Cloud Wars?
It was a privilege to sit down with James Watters, SVP of Products at Pivotal, and John Engates, CTO at Rackspace to dig into what's happen with public and private clouds in the current 'cloud war'.

The Fastest and Most Secure Internet is Closer Than You Think
And, finally, Eric Rescorla from Mozilla and Jana Iyengar from Google (where he works on QUIC) sat dow…

This coming Thursday (September 15), CloudFlare is holding its second Internet Summit in San Francisco. This year, as I did last year, I will be on stage helping to moderate discussions. The summit is organized as a sequence of 'fireside chats' where one or two guests are on stage talking with someone from CloudFlare.

Guests at the summit range from policy makers, to CEOs, to technologists. The goal is to talk about major issues affecting the growth, security and performance of the Internet worldwide. But without the talking being done by pundits, journalists or investors. The people invited to the summit are leaders, thinkers and doers, not professional talkers.

Last Year

Last year, for example, the President of Estonia talked with CloudFlare CEO Matthew Prince to talk about Estonia's push to be a digital nation.

We also had Andrew Ng from Baidu and Carmen Chang from NEA sit down and talk about the relationship between CloudFlare and Silicon Valley.

GNU make has two 'flavors' of variable: simple and recursive. Everyone is familiar the the recursive style (which uses = for definition):

BAR = banana FOO = one $(BAR), two $(BAR)s BAR = guava

The value of FOO is determined each time FOO is used. In a large Makefile that can mean that FOO is expanded over and over again. If expanding FOO is an expensive operation then determining its value each time can slow down the Makefile. For example,

TODAY = $(shell date +%d/%m/%y)

would be very expensive is it would shell out to run date every time TODAY is used (and might have the strange effect of returning different dates if you run your make near midnight).

I spotted a challenge to decode a message received from a star 50 light years away. Well, at least a message that pretends to be from a star 50 light years away. The idea is if we were to receive a message like this would we be able to understand it.
The message is 1,902,341 binary digits. Clearly that needs chopping up in some way so I factored it and its prime factorization is 7 × 359 × 757. I suspected that the message was either an image or multiple images. After a bit of fiddling around (initially I thought it might be a single image made of 7 colours overlaid) it turned out to be 7 images of size 359 × 757.
The code I used to generate the images below is here.
The first image confirmed that we were going to see 7 images of size 359 × 757 as it has a horizontal white bar at the top spanning the width and a vertical column on the right giving the height. This first image is a sort of 'frame' indicating that correct way to view the images.

Although I work for CloudFlare there are some products that I haven't experienced as a customer and it's always fun and useful to actually behave as a customer and try them out. I like to do this to make sure the experience is good and try to spot bugs.

CloudFlare recently released a feature called Origin CA that generates a certificate you can drop onto your web server to ensure that the connection between CloudFlare and the server is secure.
CloudFlare also offers a feature called Universal SSL that offers free SSL connections for the connection between a web browser and CloudFlare. Put the two together and you've got SSL from browser to CloudFlare and CloudFlare to the origin web server. Neat.

One of my domains, plan28.org, had a web site that was served over HTTP and I decided to SSL it using CloudFlare. I'd seen it demoed but there's nothing like trying it out for yourself. It was really quick to get set up. plan28.org is on CloudFlare's free tier.

In the TV series Silicon Valley there was apparently a snippet of code presented that is part of a compression algorithm. The code (or at least part of it) can be executed and the the program will output:

DREAM_ON_ASSHOLES
The code itself has been published first as a screen shot, then as text and got some press. But I hadn't seen a good explanation of how it works. It looks pretty complicated but most of the code (written in C) is unused and the part that is actually executed is pretty simple (if you've spent years coding in C-like languages). Here it as presented:

I guess it makes me boring but I try to get people to use stronger passwords.

People love to use the same password over and over again, or they invent some amazing scheme like the same single word followed by their birth year, or replacing a's with 4's. And no matter how many password database get hacked the idea that password security matters doesn't seem to really sink in.

When I do get someone to listen I tell them to use diceware generated passwords and them write them down in a little book and guard the book jealously (actually, I tell them to use a password manager but most people seem to balk at using software I think for fear of losing their passwords).

So I advise them to buy something like this and then keep a record of their passwords generated using diceware. Usually people seem happy to have something that creates them passwords like this:

But then they often ask the sensible question: "What if someone steals that book?" And so I suggest a 'two …

Back in the 1980s I had a BBC Micro Model B. I still have that machine and repaired its power supply not long ago. The logo of the BBC Micro was a dot matrix owl:

Well, I was lucky enough to be lent (for one evening!) the most recent incarnation of the BBC's attempt to teach Britain's children to code: the BBC micro:bit. It's a lovely little machine and I hope many children have fun programming it. Unfortunately, I suffer from the Demon Machine problem: show me a computer and I have to make it do something.

Programming the device is really simple. There are multiple options and an online editor for each language. When you are ready to program the micro:bit it's trivial because the editor downloads a .hex file that you drag and drop onto the device (it appears mounted as a volume).

I chose to use MicroPython and write a small program that displays the (old) BBC Micro logo (the owl above) on the micro:bit's 5x5 LEDs. Since the owl is much larger than 5x5 pixels I…

From time to time (especially when writing for the CloudFlare blog) I've needed to find an image that will help illustrate a piece of web writing. As I want to only use images to which I have a license and don't want to spend money the answer is... Creative Commons. And my first port of call is flickr which has nice options for searching for content by license.

Typically when using an image from flickr I will add a caption to the image with the license type, a direct link to the image page on flickr and a direct link to the person who took it.
For example, here are some Creative Commons cupcakes from flickr with an appropriate line of information about the image giving the license, image link and photographer.