The gap between learning code and producing usable software
One of the unspoken areas about software development is building usable software.
The latest blog posts to take off on Hacker News. 14,543 posts.
One of the unspoken areas about software development is building usable software.
Why ask this question? It's no secret that I want a Python implementation for WebAssembly [https://webassembly.org/]. It would not only get Python into the browser, but with the fact that both iOS [https://developer.apple.com/documentation/javascriptcore] and Android [https://developer.android.com/guide/webapps]…
This is the first part of an ongoing series on mastering jq. jq is a valuable tool that every fast coder has in their tool chest. It contains depths of immense power. In part 1, we'll start off with the basics.
Marco Bonvini’s personal website.
There are too many packages and too many dependencies, too deeply nested. Can we measure the problem? And what do we do about it?
A few months ago, I decided to implement set operations on curved regions. I had the the canonical textbook on computational geometry , which described approaches for polygons comprised of straight lines, and it seemed like other projects had extended these techniques to parametric curves . I figured it would take a…
And why I am trying to minimize my dependence on external libraries (whenever possible).
I know that floating-point arithmetic is a bit crazy on modern computers. For example, floating-point numbers are not associative: 0.1+(0.2+0.3) == 0.599999999999999978 (0.1+0.2)+0.3 == 0.600000000000000089 But, at least, this is fairly consistent in my experience. You should simply not assume fancy properties like…
Last week, I reached an exciting milestone in my career as a programmer. For the first time in my life, I ran code directly on hardware , with no Operating System sitting between the bare metal and my code.
A bit more than four years ago I started the xi-editor project. Now I have placed it on the back burner (though there is still some activity from the open source community). The original goal was to deliver a very high quality editing experience. To this end, the project spent a rather large number of “novelty…
JSON is important, damn near everything that we do as programmers or operators involves JSON at some point. JSON decoding is expensive, if your product talks JSON then performance of marshalling data in and out of JSON is important. This is a talk about designing an efficient replacement for encoding/json.Decoder .
Cache-Oblivious Algorithms Cache-oblivious algorithms seemed incredible to me when I first heard about it in 6.854 (Advanced Algorithms). It’s relatively straightforward to imagine algorithms that utilizes information about page size $B$ and cache size $M$ to create efficient data structures. However, cache-oblivious…
With Apple’s recent announcement that they are moving away from Intel X86 CPU’s to their own ARM CPU’s for future laptops and desktops I thought it would be a good time to take a look at the some differences that can affect systems programmers working in Rust.
Introduction Hi, I’m Glenn Fiedler and welcome to Game Physics. In the previous article we discussed how to integrate the equations of motion using a numerical integrator. Integration sounds complicated, but it’s just a way to advance the your physics simulation forward by some small amount of time called “delta time”…
share a model or diagram between all members of the team that they can all understand and contribute to and edit
What a query-based compiler is and what they are good for.
Back with a post after 6 years of silence. If you had to parse a microsecond-resolution epoch timestamp as quickly as possible, how would you do it? We’ll take a look at using compiler intrinsics to do it in log(n) time.
People have been comparing software components to LEGO blocks for a couple decades. We should be able to assemble applications by snapping together modular components, just like LEGOs. There has been progress, but for the most part we haven't realized the promise LEGO-style software development. Integrating two…
If you have used tools like Google’s PageSpeed Insights, you probably have run into a suggestion to use “next-gen image formats”, namely Google’s WebP image format. Google claims that their WebP…
Create usable sites, even if JavaScript is blocked
An introduction to Zig's curious concurrent programming API.