Programming, Technology, Design and whatever else moves me

A personal blog covering hardware reviews, HTML5 canvas experiments, Inkscape plotter extensions, Arduino projects, and retro gaming scripts — built by a developer for fellow tinkerers.

Programming & Effects

HTML5 Canvas animations including a Windows 95–inspired starfield, a snow effect, and an interactive water ripple. Also covers Arduino frameworks, PHP mailing-list tools, and legacy CS:S Eventscripts.

The canvas element remains one of the most versatile tools in the modern browser, offering a blank surface for real-time pixel manipulation and procedural drawing. From particle systems that mimic drifting snow to starfields that evoke classic screensavers, the possibilities are limited only by imagination and a willingness to experiment with coordinate math. Each frame redraws the entire scene, layering transparency and motion to produce effects that feel alive. Working directly with the canvas API teaches fundamental concepts about rendering loops, state management, and performance optimisation, all while producing visuals that are genuinely satisfying to watch and tweak.

Animation on the web has come a long way from blinking text and scrolling marquees. Today, smooth hardware-accelerated transitions and interactive simulations run directly in the browser without plugins or heavy frameworks. Whether recreating the ripple of a water surface under a virtual touch or building a starfield that scrolls endlessly into the distance, the underlying principles remain rooted in basic trigonometry and frame-by-frame updates. These small experiments often start as curiosity-driven side projects but can grow into reusable code patterns that inform larger creative and technical work down the line.

Plotting and vector graphics bridge the gap between the digital and the physical. An HPGL file, originally designed to drive pen plotters, still holds relevance for anyone interested in CNC cutting, vinyl decals, or laser engraving. Tools like Inkscape make it possible to generate clean SVG artwork and export it to formats that machines understand. The workflow from screen to physical object carries a particular satisfaction: a drawing conceived in code or a vector editor becomes something tangible, whether it is a paper cutout, a stencil, or a custom decal applied to a keyboard or enclosure.

The Raspberry Pi and similar single-board computers have opened up microcontroller-style projects to a much broader audience. Running a full Linux environment on a device that fits in a pocket invites experimentation with Python scripts, simple servers, and hardware interfacing. From driving small OLED displays to hosting lightweight web dashboards, these boards reward tinkering. The ecosystem is rich with community libraries and tutorials, making it straightforward to prototype ideas that combine software logic with physical inputs and outputs, all without leaving the comfort of a familiar operating system.

Reverse engineering sits at the intersection of curiosity and problem-solving. Taking apart a competitor's protocol, decoding a proprietary LED illumination pattern on a gaming keyboard, or figuring out how a legacy piece of software talks to its hardware can be as rewarding as building something from scratch. The process often involves sniffing USB traffic, reading datasheets, and writing small Python utilities to replicate or extend functionality. While the practical gains might be modest, the knowledge acquired along the way deepens an understanding of how devices communicate and where undocumented capabilities might be hiding.

OpenSCAD represents a different approach to 3D modelling, one that appeals to programmers more than traditional artists. Instead of pushing vertices and faces with a mouse, the designer describes geometry through code: unions, differences, extrusions, and chamfers defined in a declarative script. This parametric mindset means designs can be tweaked by changing a few variables and re-rendering. Small household fixes, custom brackets, and enclosures become projects that live as readable text files, easily shared on platforms like Thingiverse and easily modified by anyone comfortable with a code editor.

Gaming culture and game development have long been intertwined with programming as a hobby. Classic titles like Wolfenstein and Doom not only defined genres but also inspired generations of modders and level designers. The return to Castle Wolfenstein multiplayer, custom server configurations, and Eventscripts for Counter-Strike: Source represent a period when community-run servers flourished with bespoke rules, sounds, and map rotations. That spirit of modification carries forward into modern HTML5 game experiments and small indie projects built with accessible frameworks and a do-it-yourself attitude.

The choice of input devices shapes the daily computing experience in subtle but meaningful ways. Mechanical keyboards, membrane rubber-dome designs, and the specific tactile feel of a Logitech G213 all sit on a broad spectrum of preference and practicality. Comparing switch types, actuation force, and backlighting features can become a rabbit hole, but it is one worth exploring for anyone who spends hours typing or gaming. A well-chosen keyboard does not need flashy gimmicks; sometimes the most satisfying tool is the one that simply gets out of the way and lets the work flow.

Linux and open-source software form the backbone of much creative technical work. Whether setting up a lightweight server on an old machine, managing a mailing list with PHP tools, or contributing to a GitHub repository, the ecosystem rewards those who invest time in learning its conventions. The command line, once intimidating, becomes a fast and precise interface for everything from batch image processing to remote system administration. The philosophy of reading source code, sharing improvements, and building on the work of others aligns naturally with the exploratory mindset behind personal projects and experiments.

Tools & Hardware

In-depth look at the Logitech G213 Prodigy Gaming Keyboard on Linux, Orange Pi comparison charts, Geiger counter system software, and an LCD framework for HD44780 displays.

Design & Plotters

Inkscape extensions for pen and cutting plotters via HPGL, bundled with Inkscape 0.91 and expanded for 0.92. Includes guides on beautifying computer cases with plotter-cut logos.

A bold charcoal-style drawing of a laptop screen displaying colorful code snippets against a dark editor background, with soft abstract shapes in muted purple and teal floating around the display. A moody charcoal sketch of a microcontroller board with wires and an LCD panel, rendered in dark greys with subtle green accent highlights suggesting an electronics workbench. A loose charcoal illustration of a small propeller casting a soft shadow on a light surface, with faint blueprint-style grid lines in the background.

Get in touch

Questions about a project, an idea to share, or just want to say hello? Drop a message below.