Happy last Friday of February 2019!

January is long behind us, spring is coming (certainly it is in my part of the world) and apparently we should have settled in to 2019 by now. How's your start of year going?

My big CERN adventure

Just last week I was in Geneva working and living onsite at CERN - head quarters to particle colliders and birthplace to the Web.

I had the privilege of joining a small team of internationals tasked with recreating the world's first browser, aptly called "WorldWideWeb" (later renamed to Nexus), written by Sir Tim Berners-Lee himself back in 1990.

My particular job was to build out the JavaScript that would simulate the feel of both the WorldWideWeb, the NeXT operating system and the backend to proxy requests (and clean them of 1990s unsupported tags - like <script>).

I'm extremely pleased with the result, however much it's laced with the irony that it requires JavaScript and modern tech to view the super old tech. Though, the alternative is to purchase a NeXT machine and try to find a working copy of WorldWideWeb.app (which is surprisingly hard since most copies are riddled with bugs!).

Check out the project and see how your own site renders like it's the '90s! https://worldwideweb.cern.ch/browser

On the blog

I kept a quasi diary of my week at cern, and you can read all five days: 1 2 3 4 and 5.

Of of the unique things about the WorldWideWeb was that it was an editor as well as a browser. This functionality has been long lost to time, but as I was at CERN we asked lots of questions about how and why the editor existed and why it wasn't adopted by other browsers. I then shared my own thoughts as to why (I think) it didn't continue to exist: WWW: Where's the Writable Web?

Monthly recommend

Git Hooks. I came across a site that includes loads of information, how they works and a full list of libraries that support git hooks.

I personally use Husky in a number of my projects to ensure they follow a sensible commit format. Here's a snippet from my package.json in my current client project:

"husky": { "hooks": { "commit-msg": "commitlint -E HUSKY_GIT_PARAMS", "pre-push": "npm test && NODE_ENV=test-online envy -- prisma deploy" } }

This does two things: ensures the commit message format and on before push, it runs the tests and if that passes, it'll update the online test environment (so that CI runs properly).

My bits

I've got a few ways that you can support my writing, code and work.


Onward into March and bring on the daffodils 🌼

– Remy 👋