New
The latest blog posts to take off on Hacker News. 4,615 posts.
Legends of the Ancient Web (2017)
This is the text version of a talk I gave on May 24, 2017, at the Front Trends conference in Warsaw.
The Fight for Patent-Unencumbered Media Codecs Is Nearly Won
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
Browser-Wars History: MD5-Hashed Posts Declassified
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
Robust Client-Side JavaScript
Why do we need to talk about robust JavaScript and how do we achieve it?
Zero-Width Characters: Invisibly fingerprinting text
In early 2016 I realized that it was possible to use zero-width characters, like zero-width non-joiner or other zero-width characters like the zero-width space to fingerprint text. Even with just a single type of zero-width character the presence or non-presence of the non-visible character is enough bits to…
Towards a bra-free Instagram experience
Hey Instagram. I was just wondering,
How to draw oscilloscope lines with WebGL
When I saw oscilloscope music demos, they amazed and inspired me. Observing a clever use of interaction between sound and an electron beam is a unique experience. Some awesome oscilloscope music videos: Youscope, Oscillofun and Khrậng. However, I could not find any beautiful oscilloscope emulators. Lines produced by…
Chrome is Not the Standard
No single browser vendor represents ”the future of the web.” Each ships in line with its own business priorities. And that's a good thing.
Taking a break from Adblock Plus development
After twelve years of working on Adblock Plus, the time seems right for me to take a break. The project’s dependence on me has been on the decline for quite a while already. Six years ago we founded eyeo, a company that would put the former hobby project on a more solid foundation. Two years ago Felix Dahlke took over…
Firefox 57 delays requests to tracking domains
Firefox Quantum - version 57 - introduced number of changes to the network requests scheduler. One of them is using data of the Tracking Protection database to delay load of scripts from tracking domains when possible during the time a page is actively loading and rendering - I call it tailing. This has a positive […]
Introduction to WebAssembly: why should we care?
Explaining WebAssembly, the new bytecode format for the web: why it is so important and a tutorial to start using it right now
A plan to rescue the Web from the Internet
Open Source Freelancer
WebAssembly Raytracer
While teaching a web development class, I wanted to present some benchmarks that show the performance benefits of asm.js as well as WebAssembly. I was unfortunately not able to find a suitable reference. Therefore, I implemented a simplistic raytracer in JavaScript as well as in C++ with a similar code structure while…
REST is the new SOAP
A journey through a trendy hell
HTTPS on Your Landing Page Is Important
Occasionally, I feel like I'm just handing an organisation more shovels - "here, keep digging, I'm sure this'll work out just fine..." The latest such event was with NatWest [http://personal.natwest.com] (a bank in the UK), and it culminated with this tweet from them: > I'm
Software compatibility and our own “User-Agent” problem
Sometimes you have to write code to do some ad-hoc things in order to make programs run in a variety of environments, but as time goes by, it could result in a tragicomical situation where ad-hoc features are built on other ad-hoc features. It is easy to identify that kind of problem, but in many cases, nobody can fix…
Maintaining an Independent Browser Is Expensive
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
Rust: Enable WebAssembly backend by default
Yesterday the Pull Request 46115: "rustbuild: Enable WebAssembly backend by default" was merged into Rust master. With the Nightly build from that night, the wasm32-unknown-unknown target is natively available.
Super Tiny Website Logos in SVG
You may not realise it, but bandwidth is expensive. It costs you time, money, and battery power whenever you download a file larger than it needs to be. That's why I've become a little bit obsessed with SVG - Scalable Vector Graphics. They're the closest thing to magic that the web has when it comes to image…
Automate GitHub Pages with IFTTT, Glitch and Jekyll
IFTTT supports hundreds of services and you can use any of them to automate your blog posts! For this example, we're going to setup a trigger that automatically cross-posts new images from Instagram on our blog.
Can the new Firefox Quantum regain its web browser market share?
When Firefox was introduced in 2004, it was designed to be a lean and optimized web browser, based on the bloated code from the Mozilla Suite. Between 2004 and 2009, many considered Firefox to be t…
Of SVG, Minification and Gzip
Smaller files are downloaded faster, so making an asset file size smaller before sending it to a client is a good thing to do.
When I use classes, when I don’t, what I do instead and why
When I use classes, when I don't, what I do instead, and why