The C language is purely functional (2009)
Inspirations & experiments, mainly about denotative/functional programming in Haskell
The latest blog posts to take off on Hacker News. 1,357 posts.
Inspirations & experiments, mainly about denotative/functional programming in Haskell
micro:bit emulation support is available from QEMU 4.0 onwards and can be used for low-level software testing and development. Unlike existing micro:bit simulators, QEMU performs full-system emulation and actually runs the same ARM code as the real hardware. This blog post explains what full-system emulation means and…
A simple guide to what CNNs are, how they work, and how to build one from scratch in Python.
A whirlwind tour of object-oriented code in F#
Many people struggled with my article about Alan Kay and OO programming, so let's talk about the main objection.
The core playlist in VLC was started a long time ago . Since then, it has grown to handle too many different things, to the point it became a kind of god object .
Oprogramowanie dla banków, ubezpieczycieli i firm leasingowych: procesy kredytowe, obsługa polis, bankowość mobilna i dane. 20+ lat, 500+ projektów.
Technical Debt is a metaphor for the consequences of cruft. You either have to accept a drag on further features (paying interest) or fix the software (paying the principal)
Let’s walk through the process of building a dead simple Phoenix application from the ground up.
Update: You can find a newer version of this article on Python Morsels. In every Intro to Python class I teach, there’s always at least one “how...
Full engine for the Wolfram Language can be deployed on any system--and called from programs, languages, web servers. Available for anyone to download, for free, to use in their software development projects.
Dr. Alan Kay invented the term "OO Programming", but he states that modern OO programming isn't what he meant. What did he mean?
There is a lot of material out there about services meshes, and this is another one. Yay! But why? Because I would like to give you the perspective of someone who wish service meshes did exist 10 years ago, long before the rise of container platforms like Docker and Kubernetes. I’m not claiming that this perspective…
It appears that most of the old iOS conceptual documents have been moved to the documentation archive and are now unsupported.
I started HostiFi, a Ubiquiti cloud hosting service, 1 year ago this month. Since then, it has grown from 0 to $5,735 monthly recurring…
The order that our mind imagines is like a net, or like a ladder, built to attain something. But afterward you must throw the ladder away, because you discover that, even if it was useful, it was meaningless.
The SOLID principles are a set of software design principles that teach us how we can structure our functions and classes to be as robust, maintainable and flexible as possible.
In the previous two parts we used a SAT solver as a black box that we feed input into, and it will (usually quickly) spit out an answer. In this part, we will look at how SAT solvers work and what heuristics and other tricks they employ in their quest for performance.
If you've ever hit the tab key while typing commands in the shell, you are familiar with the value of shell completions. Bash has some default completion behavior, which is why you can type hel<TAB> and end up with help . It is also possible to add additional completion scripts which define the completion behavior for…
Let’s retire the ‘virtual DOM is fast’ myth once and for all
A post describing how C programs get to the main function. Devicetree layouts, linker scripts, minimal C runtimes, GDB and QEMU, basic RISC-V assembly, and other topics are reviewed along the way.
When Apple introduced Bitcode and made it mandatory on watchOS and tvOS, they kinda hand-waved away questions about why it existed, with nebulous claims about it being useful to tune-up binaries by utilizing the latest compiler improvements.
This article is written with considerable snark–put on your flameproof suit if needed. I’m not actually a jerk when interviewing people, but I do get frustrated when candidates fail to do basic preparation. If you’re unsure about how to prepare for a programming interview, read on… I know this might come as a shock to…
Discover the latest news and app updates, stories, company insights, and plenty more about Discord, all in one place.
I have kept myself busy with the Game Engine Black Books and I have plenty of news. Most importantly, they have been revised. The DOOM book is now in version 1.1 while the WOLF3D book is entering v2.1. And there is more.
We often have to write code using permissive programming languages like C and C++. They tend to generate hard-to-debug problems that can crash your applications. Thankfully, many compilers offer "sanitizers". I discussed them in my post No more leaks with sanitize flags in gcc and clang. I strongly encourage the use…
Script debugging is one of the most powerful and complex productivity features in the web developer toolbox. Done right, it empowers developers to fix bugs quickly and efficiently. The DevTools ...
The idea of a zero cost abstraction is very important to certain programming languages, like Rust and C++, which intend to enable users to write programs with excellent performance profiles with relatively little effort. Since this idea is fundamental to the design of Rust and my work, I want to investigate, for a…