ACCU World of Code
-
Visual Lint 8.0.9.353 has been released
Visual Lint 8.0.9.353 has now been released. This is a maintenance update for Visual Lint 8.0, and includes the following changes: Added support for Codegear C++ Builder 11 Alexandria. Fixed a crash in the Visual Studio plugin when a file was opene…
-
Improving my vimrc live on stream
I was becoming increasingly uncomfortable with how crufty my neovim config was getting, and especially how I didn’t understand parts of it, so I decided to wipe it clean and rebuild it from scratch. I did it live on stream, to make it feel like a worth…
-
EnvDTE::DocumentEvents crash in VS2022 v17.1 Preview 2
Heads-up for anyone writing Visual Studio extensions that it looks like EnvDTE::DocumentEvents::DocumentOpening() has a regression or change in behaviour that can cause a crash freeing a BSTR if you use it in VS2022 v17.1 Preview 2 onwards. The interfa…
-
EnvDTE::DocumentEvents crash in VS2022 v17.1 Preview 2
Heads-up for anyone writing Visual Studio extensions that it looks like EnvDTE::DocumentEvents::DocumentOpening() has a regression or change in behaviour that can cause a crash freeing a BSTR if you use it in VS2022 v17.1 Preview 2 onwards. The interfa…
-
Letter to Anneliese Dodds on the invasion of Ukraine by Russia
Dear Anneliese Dodds, I learn from the BBC (https://www.bbc.co.uk/news/58888451) that “The UK is to phase out Russian oil by the end of the year” and “Russian imports account for 8% of total UK oil demand”. 8% is a small amount and the end of t…
-
Letter to Anneliese Dodds on the invasion of Ukraine by Russia
Dear Anneliese Dodds, I learn from the BBC (https://www.bbc.co.uk/news/58888451) that “The UK is to phase out Russian oil by the end of the year” and “Russian imports account for 8% of total UK oil demand”. 8% is a small amount and the end of t…
-
Migrating source code from RCS to Mercurial
Version control system migrations are a fact of life for developers in any longer lived codebase. In fact, I’ve had a hand in quite a few migrations as newer, more workable version control systems became available. Also, like a lot of developers,…
-
Comparison of Matrix events before and after “Extensible Events”
[Updated 2022-11-17 based on the new draft of the MSC, notably removing backwards compatibility and the abbreviated forms.] (Background: Matrix is the awesome open standard for messaging that I get to work on now that I work at Element.) The Extensible…
-
How can I pin dependent packages when using use-package?
I’ve been trying to up my use-package game recently and converted my hand rolled package check and installer to use-package. I usually prefer to use packages from melpa-stable so I pin the default package source used by use-package to melpa-stabl…
-
Another quick Isso setup tweak
While I was implementing a few more changes on my web server – mostly adding the sorely needed blacklistd configuration for sshd – I noticed that NGINX’s log was showing occasional errors when trying to contact the Isso process. They all had one …
-
Visual Lint 8.0.8.351 has been released
Visual Lint 8.0.8.351 has now been released. This is a maintenance update for Visual Lint 8.0, and includes the following changes: Fixed a bug in the handling of preprocessor symbol properties in Visual Studio projects. VisualLintGui will now open …
-
Visual Lint 8.0.8.351 has been released
Visual Lint 8.0.8.351 has now been released. This is a maintenance update for Visual Lint 8.0, and includes the following changes: Fixed a bug in the handling of preprocessor symbol properties in Visual Studio projects. VisualLintGui will now open …
-
Air-Source Heat Pump – our experience so far, 2 months in
[Update: see also Air-Source Heat Pump – 1 year later.] Summary: less energy, more money 2 months ago, we replaced our gas boiler with an air-source heat pump, which uses electricity to heat our home and boiler. This is a report of our experience so fa…
-
Using Elliptical curve cryptography for TLS with Postfix, Dovecot and nginx
I may have mentioned this before – I do run my own virtual servers for important services (basically email and my web presence). I do this mostly for historic reasons and also because I’m not a huge fan of using centralised services for all of th…
-
Visual Lint 8.0.7.349 has been released
Visual Lint 8.0.7.349 has now been released. This is a maintenance update for Visual Lint 8.0, and includes the following changes: The Visual C++ project (.vcxproj) file parser now defines the value of _MSVC_LANG appropriately if /std:c++14, /std:c++…
-
Visual Lint 8.0.7.349 has been released
Visual Lint 8.0.7.349 has now been released. This is a maintenance update for Visual Lint 8.0, and includes the following changes: The Visual C++ project (.vcxproj) file parser now defines the value of _MSVC_LANG appropriately if /std:c++14, /std:c++…
-
Visual Lint and log4j (TL;DR: we don’t use it)
A good question from a customer given a bunch of headlines about security holes in the log4j logging library: Triggered by the recent log4j vulnerability our organisation is asking all our software vendors if their software is affected by it – and if …
-
Visual Lint and log4j (TL;DR: we don’t use it)
A good question from a customer given a bunch of headlines about security holes in the log4j logging library: Triggered by the recent log4j vulnerability our organisation is asking all our software vendors if their software is affected by it – and if …
-
Providing MapLibre-compatible style JSON from openstreetmap-tile-server
[Previous: Self-hosting maps on my laptop] In the previous post I showed how to run OSM tile server stack locally. Now I’ve managed to connect a MapLibre GL JS front end to my local tile server and it’s showing maps! Sharing a location in Element Web (…
-
Self-hosting maps on my laptop
[See also: Providing MapLibre-compatible style JSON from openstreetmap-tile-server] As part of my research for working on location sharing for Element Web, the Matrix-based instant messenger, I have been learning about tile servers. I managed to get OS…
-
Including data in Python packages
Every time I need to include data in a Python package, I find myself going in circles checking existing projects, blog posts, and every other resource I can find to figure out the right way to do it. For something so seemingly straightforward, including data in a package always turns …
-
Including data in Python packages
Every time I need to include data in a Python package, I find myself going in circles checking existing projects, blog posts, and every other resource I can find to figure out the right way to do it. For something so seemingly straightforward, including data in a package always turns …
-
Unborking my ISSO comments system and making it more resilient
First, I apologise for not noticing that the comments had been broken for a while. This was entirely my fault and not fault of ISSO, which I’m still super happy with as a self-hosted comments system. So in this post I’m going to describe wh…
-
Streaming to Twitch and PeerTube simultaneously using nginx on Oracle cloud
Simulcasting RTMP using NGINX I want people to be able to watch my Matrix and Rust live coding streams using free software, so I’d like to simulcast to PeerTube as well as Twitch. This is possible using NGINX and its RTMP module. It does involve buildi…
-
New game: Tron – frantic multiplayer retro action
My newest game is out now on Smolpxl Games – Tron: Play at smolpxl.gitlab.io/tron. It’s a frantic multiplayer retro pixellated thingy playable in your browser. Try to stay alive longer than everyone else! This version allows many players (up to 16 if …
-
Running Jest tests in VS Code with custom environment variables
Currently the most popular Jest test runner extension for VS Code is vscode-jest by Orta. For most common setups, this extension works without any configuration needed to VS Code. In my case, though, I needed to enable Node’s support for ECMAScript modules. The Jest documentation lists a few ways to …
-
Running Jest tests in VS Code with custom environment variables
Currently the most popular Jest test runner extension for VS Code is vscode-jest by Orta. For most common setups, this extension works without any configuration needed to VS Code. In my case, though, I needed to enable Node’s support for ECMAScript modules. The Jest documentation lists a few ways to …
-
Preventing Virgin Media hijacking my DNS
Yesterday I learned that Virgin Media is inserting itself into some of my DNS requests. Much as I am not a fan of how powerful Cloudflare are, if they are telling the truth about their DNS, then it’s safe, so I followed their instructions on how to use…
-
Visual Lint 8.0.6.347 – a Clang download here, a CppCheck download there….
Visual Lint 8.0.6.347 has now been released. The most notable changes in this build relate to configuration – in particular, the user interface now embeds links to the installers for open source analysis tools, which should make configuring Visual Lint…
-
Visual Lint 8.0.6.347 – a Clang download here, a CppCheck download there….
Visual Lint 8.0.6.347 has now been released. The most notable changes in this build relate to configuration – in particular, the user interface now embeds links to the installers for open source analysis tools, which should make configuring Visual Lint…
-
An Exception wrapper suitable for a RESTful API
User Story As a third line support engineer I want to be able to go to the server class that throws an exception reported by a client So that I do not need to look for the stack trace in the server logs Example Client code if (responseCode != …
-
An Exception wrapper suitable for a RESTful API
User Story As a third line support engineer I want to be able to go to the server class that throws an exception reported by a client So that I do not need to look for the stack trace in the server logs Example Client code if (responseCode != …
-
Chaining IF and && with CMD
An interesting bug cropped up the other day in a dub configuration file which made me realise I wasn’t consciously aware of the precedence of && when used in an IF statement with cmd.exe. Batch File Idioms I’ve written a ton of batch files ov…
-
Chaining IF and && with CMD
An interesting bug cropped up the other day in a dub configuration file which made me realise I wasn’t consciously aware of the precedence of && when used in an IF statement with cmd.exe. Batch File Idioms I’ve written a ton of batch files ov…
-
Upgrading my OpenBSD WireGuard server to in-kernel WireGuard
I’ve blogged about putting together a WireGuard server using OpenBSD a couple of years back. The main purpose of the server was to ensure a slightly more secure connection when I was on hotel WiFi. Of course thanks to the pandemic, I have barely …
-
Visual Lint 8.0.5.346 adds support for Visual Studio 2022
Visual Lint 8.0.5.346 has now been released. This a recommended maintenance update for Visual Lint 8.0, and adds support for Visual Studio 2022 Preview: Visual Lint 8.0.5.346 running within Visual Studio 2022 Preview 5.0 The following changes are incl…
-
Visual Lint 8.0.5.346 adds support for Visual Studio 2022
Visual Lint 8.0.5.346 has now been released. This a recommended maintenance update for Visual Lint 8.0, and adds support for Visual Studio 2022 Preview: Visual Lint 8.0.5.346 running within Visual Studio 2022 Preview 5.0 The following changes are incl…
-
Letter to my MP about climate emergency
[Introduction including details about my own air source heat pump install, and mention of the ending of the RHI funding in April 2022.] After I have installed an air source heat pump, I will pay more money to heat my home, even though I am using less e…
-
The difference between no move constructor and a deleted move constructor
It’s easy to think that deleting the move constructor means removing it. So if you do MyClass(MyClass&&) = delete , you make sure it doesn’t get a move constructor. This is however not technically correct. It might seem like a nitpick, but it actually gives you a less useful mental model of what’s going on. … Continue reading The difference between no move constructor and a deleted move constructor
-
Twenty Year Exit from the Oracle Ecosystem
The Oracle Ecosystem instance that I inheritted was designed from 2000 and went live in 2004. Its centre piece Oracle Workflow went end of life that year but had new versions through to 2007. In its own way it was a pinnacle of a certain view of softw…
-
Twenty Year Exit from the Oracle Ecosystem
The Oracle Ecosystem instance that I inheritted was designed from 2000 and went live in 2004. Its centre piece Oracle Workflow went end of life that year but had new versions through to 2007. In its own way it was a pinnacle of a certain view of softw…
-
ResOrg 2.0.10.31 adds support for Visual Studio 2022
ResOrg 2.0.10.31 has now been released. This a recommended maintenance update for ResOrg 2.0, and adds support for Visual Studio 2022 Preview: ResOrg 2.0.10.31 running within Visual Studio 2022 Preview 4.1 The following changes are included in this bu…
-
ResOrg 2.0.10.31 adds support for Visual Studio 2022
ResOrg 2.0.10.31 has now been released. This a recommended maintenance update for ResOrg 2.0, and adds support for Visual Studio 2022 Preview: ResOrg 2.0.10.31 running within Visual Studio 2022 Preview 4.1 The following changes are included in this bu…
-
The Woes of Windows Smartscreen
Windows Smartscreen is a great idea, but if you develop downloadable software for Windows it can sometimes be incredibly frustrating. That has certainly been our experience this year, as Windows has displayed the following warning when running every bu…
-
The Woes of Windows Smartscreen
Windows Smartscreen is a great idea, but if you develop downloadable software for Windows it can sometimes be incredibly frustrating. That has certainly been our experience this year, as Windows has displayed the following warning when running every bu…
-
Transient Expand-Archive Failures
[I’m sure there is something else going on here but on the off-chance someone else is also observing this and also lost at least they’ll know they’re not alone.] We have a GitLab project pipeline that started out as a monolithic job but over the last …
-
Transient Expand-Archive Failures
[I’m sure there is something else going on here but on the off-chance someone else is also observing this and also lost at least they’ll know they’re not alone.] We have a GitLab project pipeline that started out as a monolithic job but over the last …
-
New Job at Element (Matrix)
I started a new job today at Element! It has been a long-standing ambition of mine to work in Free and Open Source software, and I am very excited to work for a company that is the main developer of a really important project: the Matrix communication …
-
Lose the Source Luke?
We were writing a new service to distribute financial pricing data around the trading floor as a companion to our new desktop pricing tool. The plugin architecture allowed us to write modular components that could tap into the event streams for various…
-
Lose the Source Luke?
We were writing a new service to distribute financial pricing data around the trading floor as a companion to our new desktop pricing tool. The plugin architecture allowed us to write modular components that could tap into the event streams for various…
-
Migrating from my trusty 2009 Mac Pro to a 2020 Mac Mini M1
I’ve been using a 2009 cheesegrater Mac Pro for quite a while now. I bought it used quite a while ago – around 2013 if I remember correctly – and it’s been serving as my main photo/video/general programming workhorse, although the latter ta…
-
Visual Lint 8.0.4.342 has been released
Visual Lint 8.0.4.342 has now been released. This a recommended maintenance update for Visual Lint 8.0 and includes the following changes: The Eclipse C/C++ project (.cproject) file reader now attempts to take into account buildTools.path and toolcha…
-
Visual Lint 8.0.4.342 has been released
Visual Lint 8.0.4.342 has now been released. This a recommended maintenance update for Visual Lint 8.0 and includes the following changes: The Eclipse C/C++ project (.cproject) file reader now attempts to take into account buildTools.path and toolcha…
-
The Case of the Curious Commit Message
I had taken a new contract at an investment bank and started working on a very mature codebase which was stored in ClearCase. As a long-time user [1] of version control systems one of the things that bugged me about the codebase were empty commit messa…
-
The Case of the Curious Commit Message
I had taken a new contract at an investment bank and started working on a very mature codebase which was stored in ClearCase. As a long-time user [1] of version control systems one of the things that bugged me about the codebase were empty commit messa…
-
Wrapping up the NZXT H1 recall saga
As I mentioned in my post from a few months ago, I had received the temporary fix in the form of the nylon screws and nuts from NZXT. At that point in time, NZXT’s customer support was not able to tell me when to expect the “real” fix…
-
What to cache when building Rust using Gitlab CI or similar
Update: caching $RUSTUP_HOME and $CARGO_HOME does not work for me – I removed them. When building your project with Gitlab CI or a similar build tool, you can end up spending a lot of time watching your build repeat the same steps over and over. This i…
-
Printing the version of a Maven project
To print a Maven project’s version number, try: mvn help:evaluate -Dexpression=project.version -q -DforceStdout -q suppresses all output(!) -DforceStdout unsuppresses the actual thing you asked to be printed. I will refrain from commenting on how diffi…
-
[fix dev diary] Week 6-7: Description and Issue ID
In my dev diary blog post series, I document the minutiae of what I am doing for my toy project Fix. The diary can also be found in smaller bites […] The post [fix dev diary] Week 6-7: Description and Issue ID appeared first on Simplify C++!.
-
Automatically enabling multiple Emacs minor modes via a major mode hook
In Emacs, I usually end up enabling the same set of minor modes when I use one of my “writing modes”, namely modes like markdown-mode and org-mode. Enabling a single minor mode automatically is generally pretty easy via the appropriate mode…
-
isValid()? Establish invariants and avoid zombie objects
When classes have an “isValid” method or similar, the code using them often is less clear and harder to maintain. If possible, validity should be an invariant that can not […] The post isValid()? Establish invariants and avoid zombie …
-
[fix dev diary] Week 5: std::expected
In my dev diary blog post series, I document the minutiae of what I am doing for my toy project Fix. The diary can also be found in smaller bites […] The post [fix dev diary] Week 5: std::expected appeared first on Simplify C++!.
-
TIL that org-mode has an exporter for ODT
I’m by no means an Emacs org-mode power user – in fact, anything but – but I do use org-mode a lot for note taking and also when I need an outliner to try and arrange ideas in a suitable manner. It excels at both, and usually does what I need inc…
-
[fix dev diary] Week 4: Closing in on core domain code
In my dev diary blog post series, I document the minutiae of what I am doing for my toy project Fix. The diary can also be found in smaller bites […] The post [fix dev diary] Week 4: Closing in on core domain code appeared first on Simplify C++!.
-
Minimal example of a Maven pom for a mixed Kotlin and Java project
The Kotlin docs describe some things you need in your pom.xml to create a project that is a mix of Kotlin and Java code, but there is no complete example, so here is mine: pom.xml:<project> <modelVersion>4.0.0</modelVersion> <g…
-
Visual Lint 8.0.3.340 has been released
Visual Lint 8.0.3.340 has now been released. This a recommended maintenance update for Visual Lint 8.0, and includes the following changes: Visual Studio 2022 now appears as a supported project type in VisualLintGui and VisualLintConsole. Added a s…
-
Visual Lint 8.0.3.340 has been released
Visual Lint 8.0.3.340 has now been released. This a recommended maintenance update for Visual Lint 8.0, and includes the following changes: Visual Studio 2022 now appears as a supported project type in VisualLintGui and VisualLintConsole. Added a s…
-
[fix dev diary] Week 3: create command and application service
In my dev diary blog post series, I document the minutiae of what I am doing for my toy project Fix. The diary can also be found in smaller bites […] The post [fix dev diary] Week 3: create command and application service appeared first on Simpli…
-
[fix dev diary] Week 2: Foundation of the CLI App
In my dev diary blog post series, I document the minutiae of what I am doing for my toy project Fix. The diary can also be found in smaller bites […] The post [fix dev diary] Week 2: Foundation of the CLI App appeared first on Simplify C++!.
-
Importing/migrating from one peertube server to another
My Peertube server is shutting down, so I need to move my videos to another one. The official scripts don’t seem to cover this case very well, so here is what I did. My script fetches videos and their details and uploads them to the new server via the …
-
[fix dev diary] Week 1: Preparations
This is the start of my dev diary blog post series, where I document the minutiae of what I am doing for my toy project Fix. The diary can also […] The post [fix dev diary] Week 1: Preparations appeared first on Simplify C++!.
-
Old new Project: Fix
When I wrote about rebooting the blog, I also wrote I’d reboot my toy project “Fix”. Here is what Fix is about – this time. What is Fix? Fix is […] The post Old new Project: Fix appeared first on Simplify C++!.
-
Visual Studio 2022 Preview 2 and the v143 platform toolset
Visual Studio 2022 Preview 2 was released by Microsoft last week. One of the changes included in Preview 2 is the addition of the Visual Studio 2022 specific v143 platform toolset (Preview 1 used the v142 platform toolset from Visual Studio 2019). Sup…
-
Visual Studio 2022 Preview 2 and the v143 platform toolset
Visual Studio 2022 Preview 2 was released by Microsoft last week. One of the changes included in Preview 2 is the addition of the Visual Studio 2022 specific v143 platform toolset (Preview 1 used the v142 platform toolset from Visual Studio 2019). Sup…
-
Turning this particular server into a bit less of a pet
I’m in the middle of a server redo – right now, I’m setting up a replacement server for my trusty Dell T30, plus it was time to give this web server a new home. When I started the migration from my old WordPress site to the new static site,…
-
Visual Studio 2022 Preview 1 is now available
Ever since news broke in April of Microsoft’s plans for Visual Studio 2022 we have been waiting to get our hands on a preview build of the new version. The first public preview was finally released on 17th June, so naturally we have spent the past few …
-
Visual Studio 2022 Preview 1 is now available
Ever since news broke in April of Microsoft’s plans for Visual Studio 2022 we have been waiting to get our hands on a preview build of the new version. The first public preview was finally released on 17th June, so naturally we have spent the past few …
-
Why write an entire game (including Graphics) in a single, hand-coded JavaScript file?
My new game, Rightwaves, is out now! It’s a tribute to the great classic R-Type. The entire implementation, including all the graphics, is contained within a single ~5000-line JavaScript file. Why? This is a terrible idea Let me start by saying I do n…
-
Visual Lint 8.0.2.338 has been released
Visual Lint 8.0.2.338 has now been released. This a recommended maintenance update for Visual Lint 8.0, and includes the following changes: Updated the values of _MSC_VER and _MSC_FULL_VER in the PC-lint Plus compiler indirect file `co-rb-vs2019.lnt …
-
Visual Lint 8.0.2.338 has been released
Visual Lint 8.0.2.338 has now been released. This a recommended maintenance update for Visual Lint 8.0, and includes the following changes: Updated the values of _MSC_VER and _MSC_FULL_VER in the PC-lint Plus compiler indirect file `co-rb-vs2019.lnt …
-
Online Concurrency Workshop at C++ on Sea 2021
The restrictions brought upon us by COVID-19 are not over yet, and C++ on Sea is the latest conference that will be running as an online-only conference. I will be running my More Concurrent Thinking class as an online workshop for C++ on Sea on 30th J…
-
Matrix is the only (chat) game in town
On my phone and computer I use WhatsApp, Signal, Slack, Keybase, Discord, IRC, XMPP/Jabber and Element/Matrix. In addition, I occasionally use the messaging features of Mastodon, Twitter and even LinkedIn. I’ve never used Telegram, Line, WeChat, Sessio…
-
Writing Snake in Terraform Video
This was quite a challenge, and I nearly gave up, but I managed to write a Snake game in Terraform: Slides: artificialworlds.net/presentations/snake-terraform Source code: gitlab.com/andybalaam/snake Slides source code: gitlab.com/andybalaam/videos-sn…
-
Suspending the computer using Kupfer
I have recently started using Kupfer again as my application launcher in Ubuntu MATE, and I found it lacked the ability to suspend the computer. Here is the plugin I wrote to support this. To install it, quit Kupfer, create a directory in your home dir…
-
Uploading to PeerTube from the command line
PeerTube’s API documentation gives an example of how to upload a video, but it is missing a couple of important aspects, most notably how to provide multiple tags use form-encoded input, so my more complete script is below. Use it like this: # First, m…
-
vidmini – limit webcam resolution
Being fed up with the limited configurability of some of the more widely used software used for video conferencig, I have put together a small LD_PRELOAD-able shared library that limits the available resolutions a webcam reports. Have a look at the REA…
-
vidmini – limit webcam resolution
Being fed up with the limited configurability of some of the more widely used software used for video conferencig, I have put together a small LD_PRELOAD-able shared library that limits the available resolutions a webcam reports. Have a look at the REA…
-
Republishing Bartosz Milewski’s Category Theory lectures
Category Theory is an incredibly exciting and challenging area of Maths, that (among other things) can really help us understand what programming is on a fundamental level, and make us better programmers. By far the best explanation of Category Theory…
-
Visual Lint 8.0.1.337 has been released
Visual Lint 8.0.1.337 is a recommended maintenance update for Visual Lint 8.0. The following changes are included: If the Visual Studio plugin is selected for installation and the Visual Studio Debug Console (VsDebugConsole.exe) is running, the insta…
-
Visual Lint 8.0.1.337 has been released
Visual Lint 8.0.1.337 is a recommended maintenance update for Visual Lint 8.0. The following changes are included: If the Visual Studio plugin is selected for installation and the Visual Studio Debug Console (VsDebugConsole.exe) is running, the insta…
-
Python virtual environments with pyenv on Apple Silicon
Apple’s recent transition to the new architecture for its Mac computers has caused rather predictable problems for developers whose workflow depends on certain versions of pre-compiled libraries for x86 architecture. While the latest releases of Python come with a universal installer that allows to build universal binaries for M1 systems …
-
Python virtual environments with pyenv on Apple Silicon
Apple’s recent transition to the new architecture for its Mac computers has caused rather predictable problems for developers whose workflow depends on certain versions of pre-compiled libraries for x86 architecture. While the latest releases of Python come with a universal installer that allows to build universal binaries for M1 systems …
-
Using atomics for thread synchronization in C++
In my previous blog post I wrote about spin locks, and how compilers must not move the locking loop above a prior unlock. After thinking about this done more, I realised that is not something specific to locks — the same issue arises with any two…
-
Can non-overlapping spinlocks deadlock in C++?
There has been discussion on Twitter recently about whether or not the C++ memory model allows spinlocks to deadlock if they just use memory_order_acquire in lock and memory_order_release in unlock, due to compiler optimizations. The case in question i…
-
Announcing I-DUNNO 1.0 and web-i-dunno
It’s hard to believe it’s already a year since the release of RFC 8771 (The Internationalized Deliberately Unreadable Network NOtation), which for me at least made me think about IP addresses in a whole new way. So, it seems fitting for the anniversary…
-
Automatically filling in the UK COVID test results page with Selenium IDE
Lots of people are filling in the extremely detailed UK government COVID test result page twice every week. It asks you to fill in a very large list of details, most of which are the same every time, but it doesn’t remember what you typed last time. I …
-
Visual Lint 8.0 has been released
The first public build of Visual Lint 8.0 has just been uploaded to our website. As of today, Visual Lint 8.0 replaces Visual Lint 7.0 as the current supported Visual Lint version. As such Visual Lint 8.0 licences (as well as upgrades for Visual Lint 6…
-
Visual Lint 8.0 has been released
The first public build of Visual Lint 8.0 has just been uploaded to our website. As of today, Visual Lint 8.0 replaces Visual Lint 7.0 as the current supported Visual Lint version. As such Visual Lint 8.0 licences (as well as upgrades for Visual Lint 6…
-
Toggle window decorations on Linux GTK3 with Python3
The Internet is full of outdated Python code for doing things with windows, so here is what I got working today in a Python 3, GTK 3 environment. This script toggles the window decorations on the active window on and off. I have it bound to Ctrl+NumPad…
-
Ticket Maps
It has been an increasingly common scenario that I’ve encountered where you have some ID that’s monotonically increasing, such as a subscription or connection index, or user ID, and you need your C++ program to hold some data that’s associated with tha…