A look at three relics of a not-quite-bygone era. In picture-listicle form. As technologists, we’re constantly gulping from the bleeding-edge firehose: new versions, new standards, new frameworks, new paradigms. This is largely a good thing. Most advances offer a tangible improvement over the status quo. Specialization (e.g. recent Bachelors Degrees in AI) speeds the advanceContinue reading “Technical Time Travel: On Vintage Programming Books”
Category Archives: Programming
Type Polymorphic Functions In TypeScript
JavaScript allows functions to work flexibly when the arguments passed are of different types and/or at different positions: The useState Hook lets you pass an initial value or a function for lazy initialization, or you can skip it altogether and pass nothing to it. The query API from node-postgres accepts an optional callback function andContinue reading “Type Polymorphic Functions In TypeScript”
Strype, a frame-based editor
Frame-based editing combines the benefits of text-based editing and block-based editing. It offers similar avoidance of syntax errors and discoverability as block-based systems, while providing readability and flexibility of editing similar to text editors. Python-like programs are written by inserting frames, using a single key command, which represent a complete statement in the language. NoContinue reading “Strype, a frame-based editor”
Writing a device driver for Unix V6
In this post we will learn the useful skill of writing a device driver for Unix V6 (released in 1975) and run it on an emulator. The implemented device is fairly trivial: it will open a message box on the host OS. The goal is that we can execute the following command:echo “Hello world” >Continue reading “Writing a device driver for Unix V6”
How to design better APIs
15 language-agnostic, actionable tips on REST API design. APIs are awesome, but they’re also extremely hard to design. When creating an API from scratch, you need to get many details right. From basic security considerations to using the right HTTP methods, implementing authentication, deciding which requests and responses you should accept and return, … theContinue reading “How to design better APIs”
Barcode Detection API
The Barcode Detection API detects linear and two-dimensional barcodes in images. Concepts and usage: Support for barcode recognition within web apps unlocks a variety of use cases through supported barcode formats. QR codes can be used for online payments, web navigation or establishing social media connections, aztec codes can be used to scan boarding passesContinue reading “Barcode Detection API”
QuickJS Javascript Engine
QuickJS is a small and embeddable Javascript engine. It supports the ES2020 specification including modules, asynchronous generators, proxies and BigInt. It optionally supports mathematical extensions such as big decimal floating point numbers (BigDecimal), big binary floating point numbers (BigFloat) and operator overloading. Read more…
Kedro: Creating reproducible, maintainable and modular data science code.
Kedro is an open-source Python framework for creating reproducible, maintainable and modular data science code. It borrows concepts from software engineering best-practice and applies them to machine-learning code; applied concepts include modularity, separation of concerns and versioning. Read more…
CodeCaptcha: Hide your web link behind a mini-coding challenge
Sometimes you want to share a link (like job postings, google forms, your project, a secret sub-page etc) to programmers only. This service let’s you do that while also preventing abuse and spam. Read more…
Why Static Languages Suffer From Complexity
People in the programming language design community strive to make their languages more expressive, with a strong type system, mainly to increase ergonomics by avoiding code duplication in final software; however, the more expressive their languages become, the more abruptly duplication penetrates the language itself. Read more…