
2020 - reviewing the stangest year of my life
Looking back at 2020 and setting some goals for 2021 :)
Go down memory lane with me
The /var/log of Martin Splitt
My ramblings on Software Engineering, Open Source and Software Quality
Looking back at 2020 and setting some goals for 2021 :)
Go down memory lane with me
Looking back to 2019 and a look forward :)
Go back in time with me
If your web app needs access to files on the user's device, there is no direct access possible for security and privacy reasons.
But using file input elements and the FileReader interface, we can still let the user select files for us to access.
Check the article for the examples
Last week I got inspired to learn about the Web Authentication API and write a WordPress plugin to use it for 2FA.
I wanted to use the opportunities to explain how I usually build stuff and learn along the way.
Check the article for more
This year I was at my second I/O and had the huge honour to give two talks, three office hours and meet so many of you lovely folks!
Check the article for links and selfies
One of my goals this year is to help web developer get better at making their websites and web apps successful in Google Search... so we made a few codelabs for you to try out!
See our three codelabs on SEO for developers!
I will be at Google I/O this week! If you wanna meet up or talk to me, you will have many opportunities to do so! In this post I'll go over my schedule for I/O...
Find out where I will be :)
A look back at 2018 and a few guesses for 2019.
Click here to read more!
I have joined the Google Webmaster Trends Analyst team. It's an end and a new beginning!
Click here to read more!
I got an itching to finally write down, step by step, how to write a bootloader for x86... so I finally did.
Click here to read more!
Firefox 54 is out and I will give it a month of test driving... let's see how it goes!
Click here to read more!
Wonder how you can turn that random idea for a little project into a result?
In this post, I outline the process I use to learn new things, build small fun stuff and make sure I don't bail out early :-)
Click here to read more!
When making network requests in the browser to other pages or APIs, the browser enforces the Same-origin policy to protect users and their data.
But what if we want to request data from another origin? Or if we want to run an API that isn't on the same domain? Let's see what CORS is and how we can use it.
Click here to read more!
If you want to work with binary data in JavaScript, this article will give you an overview of working with bits and bytes in JavaScript. Diving into bit-wise operations and their uses and how to work with the pixel data from images to filter colours, the basics of binary data and bitwise operations are the goal of the exploration in this article. Click here to read more!
JavaScript is single-threaded, which means that long-running tasks can make our web application unresponsive.
Luckily, we have Web Workers as a remedy for this - but they do require some thought on how to divide a task and how to avoid a hefty memory cost when data is copied.
This article shows how to use Web Workers and transferrable objects and a new parallel primitive: The SharedArrayBuffer.
Click here to read more!
We are all familiar with the decimal system: ten symbols (0-9) combined in long rows form our way of expressing numbers.
But nothing about that is a "natural" quality or necessity. Sometimes it is more useful to use other systems, such as binary and hexadecimal to express numbers.
Unfortunately, converting them between the different number systems seems tricky if not impermeable at first. Let me try to shine some light on it with this article!
Click here to read more!
The year was a bit of a rollercoaster, but I'd like to try and focus on the good parts of the last year.
In this post I'm looking back on my personal 2016 and try to have a peek at 2017.
Click here to read more!
Today, the different web technologies may be a little too much to take in at first
and it won't get easier as things such as the Shadow DOM is added and frameworks and libraries may bring a Virtual DOM along.
So let's dive right in an have a look at the different bits and pieces that are at play here.
Click here to read more!
There's a wave of fatigues among web developers: Framework fatigue, JavaScript fatigue, Tool fatigue - where does that come from?
And: Is being a beginner in web development really harder than back in The Old Days™?
I don't think so and the fatigue might be a warning indicator...
Click here to read more!
Logging and debugging in multi-user applications, such as servers, can be hard without context. MDC logging allows log messages to retain context without a hassle,
but this only works within a single thread. We will examine how to make MDC logging work across multiple threads and especially how MDC logging works with Slick.
Click here to read more!
Downtimes, Crashes, Incidents, System Failures - they have many names, but most people involved with technology to some degree have experienced at least one at some point in their career.
Some of them I have caused, some of them I helped to resolve and in some of them I was a mere bystander.
This post is the distilled essence on how different teams that I had the pleasure of being a member, dealt and deal with the stress and the specific characteristics of these tense situations to ensure timely and proper resolution.
Click here to read more!
To my surprise a contender in the field of API protocols is yet unknown: JSON-RPC 2.0.
A standard since 2010, it is simple yet powerful but barely known amongst developers.
This article explains what it is, what makes it different and nice to work with and how to use it.
Click here to read more!
Now that I am winding down a bit, I get to take a look back at what’s been a wonderful, crazy year.
I would like to take this opportunity to share with you, chronologically, the many people I got to meet or meet again, the things that happened and left their impression on me and take a glimpse into 2016.
So if you wonder what’s been on my mind: read on!
If you wonder if and how you can render a Three.js 3D scene using node.js on the server, you may have been thinking about using a canvas module,
such as Automattic/Canvas or run a headless browser such as Phantom or even a full-blown Firefox or Chrome on xvfb.
Read more about the headless renderer here!
Heroku’s toolbelt is great. It allows you to access all of Herokus important features conveniently from the command line.
But there may be situations where you would like to use the toolbelt but can’t, because it doesn’t have the desired feature.
That’s where the plugins come into play.
Forrest is a very small shell script that binds together etcd and docker to allow easy scaling - for example with the combination of etcd + confd + HAProxy + Docker you can quickly and easily spin up a new web server instance and hook it into your load balancer.
Find out more
Meteor gives you the possibility to bundle your app as a (more or less) self-contained node.js app, you could as well run it on your own server. In this article I’ll give a quick run-through on how to do that.
Read more...
Because I wasn’t fully aware of it until today. This whole topic in that much detail is new to me - and this is a discussion start, so feel free to engage here.
Read more...
A few days ago I stumbled upon opened up LIDAR data for Zurich.
So I checked them out in the GIS browser and was hit by the possibilities this meant.
Let's explore Zurich in 3D together
If you wonder if and how you can render a Three.js 3D scene using node.js on the server, you may have been thinking about using a canvas module,
such as Automattic/Canvas or run a headless browser such as Phantom or even a full-blown Firefox or Chrome on xvfb.
Read more about the headless renderer here!