Web Performance 101
Learn how (and why) to make your app faster by optimizing JS, CSS, images/fonts and other things
The latest blog posts to take off on Hacker News. 1,274 posts.
Learn how (and why) to make your app faster by optimizing JS, CSS, images/fonts and other things
Jimmy Koppel's in-depth review of John Ousterhout's A Philosophy of Software Design, with case studies on specs, simple APIs, names, and types.
Most of the projects I've been working on today have fairly strict code review policies. My work requires code review on most of our code, and as we bring on an army of interns for the summer, I've been responsible for reviewing lots of code. Additionally, about five months ago BarnOwl, the console-based IM client I…
As I listen to “Soup” by Can I’m reminded of the time when Alan Kay took some time to post on Hacker News addressing his thoughts and ideas about object-oriented programming. For raw context read the original thread, but in this post I’ll attempt to annotate some of what was posted. For the purpose of this post…
From the highly eclectic blog of Mark Dominus
Systemd has a remotely exploitable bug in its DHCPv6 client . That means anybody on the local network can send you a packet and take control...
Explore the challenges and solutions when applying types and functional programming concepts in JavaScript. This insightful blog post delves into the complexities of managing data shape, immutability, and trust in dynamic code, offering practical advice and alternative approaches to enhance code reliability and…
In this blog post, I will talk about the evolution of the core pieces of the Windows kernel that allows it to transparently scale across a low power NVidia...
A blog about computers, functional languages, Lisp, and Scheme.
Explore the Qt Blog for the latest insights on e.g. Qt Creator, your go-to source for cross-platform development tips and updates.
While experimenting with enhancements of the prediction model of Guess.js, I started looking at deep learning. I’ve focused mainly on recurrent neural networks (RNNs), specifically LSTM because of their “unreasonable effectiveness” in the domain of Guess.js. In the same time, I started playing with convolutional…
In the fall of 2016, I was a Teaching Fellow (Harvard's version of TA) for the graduate class on "Advanced Topics in Data Science (CS209/109)" at Harvard University. I was in-charge of designing the class project given to the students, and this tutorial has been built on top of the project I designed for the class.
SIMD is a powerful performance technique, and is especially valuable in signal and image processing applications. I will be using it very extensively in my synthesizer, and also it’s increasingly used in xi-editor to optimize string comparisons and similar primitives.
This blog site has been archived. Go to react.dev/blog to see the recent posts. Today we’re releasing React 16.6 with a few new convenient features. A form of PureComponent/shouldComponentUpdate for function components, a way to do code splitting using Suspense and an easier way to consume Context from class…
When WebAssembly was first shipped it was an MVP which, while minimal, has spawned a huge number of exciting projects which work today across all major browsers. Rust has capitalized on the wasm MVP’s success as well with tools like wasm-bindgen and wasm-pack by making the MVP feel less minimal. WebAssembly is yet…
Array and hash table are probably the most important data structures. Some programming languages such as Perl, Lua and Javascript, almost build the language core on top of the two data structures. …
Rust can be difficult to learn and frustrating, but its also the most exciting thing in software development in a long time. Learn more by reading our blog.
People have a misconception—they think that the WebAssembly that landed in browsers back in 2017—is the final version. In fact, we still have many use cases to unlock, from heavy-weight ...
In this post, we set up the programmable interrupt controller to correctly forward hardware interrupts to the CPU. To handle these interrupts, we add …
Agile Software Development may be mainstream, but much of what's done is faux-agile, and we need to push back.
When receiving bytes from the network, we often assume that they are unicode strings, encoded using something called UTF-8. Sadly, not all streams of bytes are valid UTF-8. So we need to check the strings. It is probably a good idea to optimize this problem as much as possible. In earlier work, we showed that ……
Aftermath of how I moved stars to a great project from an simple project with undeserved stars
I recently learned that in the mid 90s in Japan, the Super Nintendo had a peripheral called a Satellaview, which was a satellite modem that would receive data broadcasts from Nintendo.
Let's talk about when it might be a good or bad idea to start using microservices. SPOILER ALERT: it's not the same for every project.