Becoming More
Empowering developers in ways that matter.
Martijn Faassen's secret weblog
Empowering developers in ways that matter.
I announce Xee, the implementation of XPath and XSLT in Rust that I've been working on for the last two years.
Once every while I use this blog to look for new challenges! Let me give a brief description of who I am, what I can do, and what I enjoy doing. …
An overview of a class of data structures I didn't know about!
"Don't Repeat Yourself", abbreviated DRY, is a mantra I subscribe to as a programmer. I don't want to have the same code in multiple parts of the codebase. Part of the reason is just reuse: if I can reuse code, it's just easier. Repetitive code is also difficult to maintain - if it's in multiple places, a change may mean I need to update multiple places, which is tedious and mistake prone. A more…
I go on a journey to learn about a man named Quentell, and discover unsettling things about the information landscape.
Rust has some really nice functional programming facilities built in, all around an iterator concept. Rust being focused on performance and low level control makes it possible to use this without paying a performance cost. Sometimes I still prefer to use the humble for loop though. In quite a few cases, it combines high performance with high readability. I thought I'd motivate why. …
I've seen some programmers try to avoid the humble for loop at all costs, in favor of more functional abstractions. I'm going to argue that the for loop is sometimes simply the best option. That doesn't mean you should always use it -- far from it -- but it does mean you should give it due consideration. The goal is to help develop some intuitions about this topic. I talk about readability of code…
Print good, not bad!
In software development we have best practices. These are the distilled wisdom of software engineering, and you should follow best practices to be a good software developer, and to develop good software. If someone points out you broke them, that should be sufficient to make you mend your ways. This is what the term "best practices" implies to me . There are different, more subtle interpretations,…
Part five in a series about my teenage adventures learning about computers and programming in the 1980s: achieving assembly
Part four in a series about my teenage adventures learning about computers and programming in the 1980s: the call of assembly language.
Tool maven versus language maven. Do modern development environments enable you to be both? How does this affect languages?
Part three in a series about my teenage adventures learning about computers and programming in the 1980s: the MSX 2 computer.
Wherein we discover JavaScript always gives you a choice.
I think, for me, becoming enamored by a programming language requires a sense of empowerment by that language. "Now I can build all the things!" It also requires a certain sense of conceptual unity; it can't be too messy. It also cannot be too low level: it needs the ability to do abstraction. And I need to be actually using it a lot for real world tasks; it can't just be for toy problems. In my…
Developers like to complain about bloat in software. But should we feel guilty? What do to about it? Do we need software environmentalism and a retrofuturistic approach?
I've refreshed my blog again! Let's talk a bit about the history of this blog, and more specifically the technology behind it. I started my blog in January 2005. It's been a while. …
I have been using Rust for some years now for hobby projects. Recently I also had the opportunity to use it professionally for a while. My background is mostly in dynamically typed languages like Python and JavaScript, though I have played with various other languages over the years. I thought I'd share some of my impressions of Rust. …
I participated in a langjam. I created Apilar, an artificial life system based on a stack-based language.
Part two in a series about my teenage adventures learning about computers and programming in the 1980s: the first PC.
I have been programming computers for a long time; I started as a teenager at some point in the 1980s. I thought I might reminiscence a bit about it. That's fun for me, but it also may also be fun for others to see a small snapshot of what programming could be like back then. For some, of my generation or older, there may be recognition, but for others who got into programming later this might be…
In this article I'm going to talk about the SolidJS frontend framework, and why I think it's cool and fits my brain. …
Among programmers there is a saying: premature optimization is the root of all evil. Where did that come from? In what context was it used? Does it still apply? …
Software developers use software frameworks all the time, so it's good to think about them. You might even create one yourself, but even if you don't, understanding the design principles underlying them helps you evaluate and use frameworks better. …
When I build an application, I build frameworks along the way. I recently realized that not everybody thinks this is normal, so I thought I'd give a description of what I do and why I think it's a good idea.
A discussion of what patterns occur in software framework design.
This is an old blog by now. I started it in 2005. But I'm not old! No way! Over the years I wrote a lot of stuff. Sprinkled throughout are entries that I think are still relevant. So if you'd like, join me in my little journey through the history of my secret weblog. Warning: it's mostly about software development in one way or another. …