RSSAmplifier

Blog

nielssp.dk articles

The website and blog of a 33 year old software developer

nielssp.dkRSS feed ↗13 posts

Latest posts

Notes on ray casting

These are my interactive notes on ray casting . Ray casting (not to be confused with ray tracing ) is an obsolete method for rendering 3D scenes (more like 2.5D). It was used in several games in the early 90s, probably most notably in Wolfenstein 3D . While it was quickly replaced by more sophisticated approaches to 3D rendering (no, Doom does not use ray casting , although it does share some of…

Uncomment – a lightweight comment system for static websites

Around June last year I decided to try to find alternatives for two third-party components I was using on this website: Google Analytics and Disqus. Both because of possible GDPR concerns, but also – in the case of Disqus – because of performance. I started out by trying a few different self-hosted alternatives to Analytics, and ended up picking Shynet (after also trying out Plausible and Umami),…

Animated line of chevrons on HTML canvas

I wanted an animation to indicate movement between two points on a map. I had this picture in my mind of a line of chevrons (or arrow heads) that I was sure I'd seen multiple times before but wasn't entirely sure what to call. I think a chevron conveyor sort of has the look I'm going for, although it moves in the opposite direction of what I had in mind. Click on the canvas to toggle the…

Yet another static site generator

For a while I'd wanted to take the actual site generator and template language from TEXTSTEP and spin it out into its own project. I was hoping this would be a simple task, and that I could quickly cobble together something in C. Why C? Familiarity and performance. In hindsight, some tasks were probably way more time consuming than they would have been if I had chosen to use something other than…

Designing the TEXTSTEP user interface

Miller columns in TEXTSTEP's file manager. Since 2016 I've been working on a static site generator with a web-based user interface. The idea is that you can log in and manage layout and content as in a traditional CMS, then you press a button and static HTML files are generated which can be served raw by the web server without any additional processing. There are several technical aspects of…

Bringing a Toshiba Satellite Pro 410CDT back to life

I've previously mentioned that I have an old Toshiba T2130CS with an Intel 486 processor. With its 24 MB of RAM it will run Windows 95 and even 98, but I'm currently just using it with DOS 6.22 to play an assortment of DOS games. Unfortunately the T2130CS, with its lack of a sound card and its low-contrast passive-matrix LCD , makes for a less than stellar DOS gaming experience (but a pretty cool…

Slackware Linux 7.1: A time capsule

KDE 1.1.2 on Slackware Linux 7.1 I'm a big fan of websites like GUIdebook and the toastytech GUI gallery that collect screenshots of old desktop GUIs. I think it's interesting to travel back in time and take a look at how GUI design has changed over the years. I'm particularly interested in early Linux desktop environments and window managers. One such desktop environment is KDE, which had its 1.0…

Porting csol to DOS for no reason

csol running in DOS 6.22 on an i486 Toshiba laptop from the mid-'90s. I'm not sure how the thought entered my mind, but I was suddenly curious about how easy it would be to get a somewhat simple ncurses application like csol to run on DOS. Aside from ncurses, I knew csol didn't really have any dependencies other than a C compiler, so I searched for “DOS curses” and PDCurses (Public Domain Curses)…

csol – a small collection of solitaire/patience games for the terminal

There isn't much to say about this one. It started out as a desire to play Yukon in a terminal – I could only find a few implementations of Klondike. So I created yuk , a simple ncurses-based Yukon implementation in C. I then realized that most of the code could easily be reused to implement other games, such as Klondike and Freecell. The result was csol . A game of Yukon in csol. At the moment,…

A LifeBook P1630 and Arch Linux

A Fujitsu LifeBook P1630 running Arch Linux with Xfce. I recently bought a somewhat old convertible tablet PC for $65 USD on eBay. The Fujitsu LifeBook P1630, which was originally sold for more than $2,000 USD back in 2008, is a small laptop/tablet PC with a 1.2GHz Intel Core 2 Duo and an 8.9″ resistive touchscreen display (1280×768). Size-wise it is similar to the netbooks (like the Asus Eee PC)…

A very simple calculator in Vim

Ever wanted a simple calculator within Vim? Since vimscript is already a fully featured programming language, you've already got it! For instance you can type :echo 2 + 5 in normal mode and get the result 7. You can also enter Ex-mode by typing Q in normal mode. In Ex-mode you can type commands without first typing : , however you still have to type echo to print the result of expressions. When in…

Creating a scanner using parser combinators in Scala (PLDS part I)

This post is part of a series on P rogramming L anguage D esign in S cala (PLDS). Click here to see the rest of the posts in the series. In September 2014 I stumbled upon the Scala Parser Combinators library and ended up playing around with implementing a small programming language in Scala. Although the language itself was more or less useless, I thought that the process of designing and…

ColorGrab: A cross-platform color picker

This was not supposed to be my first post, but since the post that was supposed to be my first post is still unfinished, I have decided to write a quick post about a small project I have been working on for the past few weeks. The name of the project is ColorGrab , and it is a cross-platform color picker developed in C++ using the wxWidgets library. ColorGrab on Windows. ColorGrab allows you to…