How to make a web app work offline
Service workers, caches, IndexedDB and PWA.
Topics /
The most popular blog posts about software engineering on Hacker News. 994 posts.
Service workers, caches, IndexedDB and PWA.
The Debian Janitor is an automated system that commits fixes for (minor) issues in Debian packages that can be fixed by software. It gradually started proposing merges in early December. The first set of changes sent out ran lintian-brush on sid packages maintained in Git. This post is part of a series about the…
I've been porting the AndroidX collection library to Kotlin multiplatform to experiment with binary compatibility, performance, tooling, and the different memory models. Some of the data structures in the library use array-based binary trees to store elements. The Java code has a lot of shifts to replace power-of-two…
Recently I found myself needing to process and visualize both point clouds and meshes in an iOS application utilizing ARKit, with the point cloud being gathered using the 2020 iPad “LiDAR” sensor. To enable maximum performance and content creation convenience I thought it would be nice to have both custom shaders and…
I was really surprised to learn that Swift recently adopted Smalltalk keyword syntax: [Accepted] SE-0279: Multiple Trailing Closures . Tha...
Editor’s note: For this blog entry I welcome my friend and colleague Gerben Stavengaas a guest author.
Over the past couple weeks I've been trying to work out how I want to store my game configuration. At first I started playing with XML, which was nice because I could stream a file rather than loading the entire thing into memory but I turned away from XML because …
Concurrent operations can be grouped relatively neatly into categories based on their cost
I have been curious about data compression and the Zip file format in particular for a long time. At some point I decided to address that by learning how it works and writing my own Zip program. The implementation turned into an exciting programming exercise; there is great pleasure to be had from creating a well…
The questioning of the VBA languages lifespan seems to be a question that is on everyone’s mind. Let’s explore why so many people utilize this language, Microsoft’s current thinking on it’s uses, and when it will ultimately retire from being used.
If you follow me on facebook you know that I’ve been publishing daily CoronaVirus statistics. I generate these statistics using the daily updates in the Johns Hopkins github repository .
My VPS will soon expire, so I've decided to try to automate its deployment. After spending evening by studying Ansible alternatives, I've decided to use pyinfra, and I am quite happy with it.
A roundup of some of the key ways in which Swift 5.3 enhances the overall experience of building views using SwiftUI.
One of the unspoken areas about software development is building usable software.
An article covering everything you need to know about time on Unix. Time, a word that is entangled in everything in our lives, something we're intimately familiar with. Keeping track of it is important for many activities we do.
So far everything we’ve done with breakpoints involved us creating a breakpoint file and using this to automate part of a track. Now we’ll take a look at how we can take an existing track and extract some breakpoints from this. For this post, we’ll take a look at extracting the amplitudes from the .wave files, as this…
Miguel de Icaza's Blog
I lift my LAMP beside the github door. Keep ancient Fortran your storied numeric libs cries she. Give me your interpreted, your slow, the wretched refuse of your (insert pun for ‘teeming shore’).
Introduction ARM CPUs have long dominated the mobile world, nearly all Apple and Android phones and tablets utilize some model of ARM processor. However Intel and AMD still dominate the laptop, des…
Programming language performance is something that nearly everyone cares about at some point, whether they realise it or not. If you’re a programmer, you sometimes have to make your programs run fast; if you’re a user, you might be frustrated at a program that runs slowly, without knowing that it’s caused by a poor…
LDM—or load multiple —is my favorite assembly instruction of the ARM instruction set. Here’s why.
Writing a book is a time consuming process, and if you’re going to dedicate a year, or more, of your life to it, it makes sense to pick the best tool for the job. If you’re technically inclined – and if you use Emacs – then the choice is obvious.
This post is a compilation of publicly available information, Datomic docs and google group answers about Datomic internals. Intention is to help others understand implementation model and use Datomic more efficiently.
Once upon a time there was an Erlang programmer who needed an FTP server running on one of the hosts in a private network. In fact he didn't...
Everything I learned to become a senior software engineer. From good skills to have, to dealing with difficult engineering problems.