tl3/markj’s online repo of stuff

I’m a guy who’s in to software, machining, fabrication, furniture design, art, etc.

This subdomain mostly exists as a record of things of interest which I think will otherwise (or have already) been lost to time / obscurity, and as a place of convenience for me to post stuff I want to share.

My ART is here -> /categories/art

My personal site with info and links to other projects -> theelous3.net

____________________________________________________________________________

This feed feeds the fediverse - you can follow me @theelous3@gsoc.theelous3.net on mastodon or w/e.

Stupid goaccess reverse proxy websocket port trick

Setting up live goaccess behind a reverse proxy has an arcane and stupid trick. In order to get your browser to stop trying to connect your websocket to wss://whatever.com:7890/ws where port 7890 is both nonsense (your reverse proxy is not listening there) and insecure (your browser doesn’t want to deal with this port), you must define your config to explicitly use the port it should already be using, 80 or 443 depending on ws or wss. ...

December 9, 2025 · 1 min · 136 words · theelous3

Dw50 / DW1150 "special adjusting screw"

The dewalt dw50, dw55, and dw1150 (and presumably more) machines have an enigmatic “special adjusting screw” with which you can adjust the height of the blades in the cutter block to the correct height. The specs for these are not available anywhere on the internet. There are suppiliers that apparently sell them, but any of the items with images look at best marginally correct. The screw, it seems, goes by different names and part numbers. I believe the actual canonical name to be ...

November 27, 2025 · 2 min · 346 words · theelous3

How to set up FoundryVTT on a filthy cheap server, for noobs.

Last updated: 2025/12/05 Info What do I need to know about servers / code to get through this guide? Absolutely nothing! Wahoo! What will I have at the end of this tutorial? You will have a Foundry server running on a remote system that will always be on. You’ll have secure HTTPS for your connection. It will be a very basic setup. Your certificate will optionally be self-signed and probably scary looking the first time you connect, but perfectly good to use for years (Step nine(a)). Alternatively, if you have a domain, we can set up a proper HTTPS site that will get rid of the self signing warning (Step nine(b)). ...

July 3, 2020 · 12 min · 2502 words · theelous3

Fully to scale map of the solar system by delta-v

Click to expand What is this image? It is an accurate and to scale map of the solar system in both size and delta-v! It’s the delta-v from low earth’s orbit to the low orbit of the given celestial body. ...

December 7, 2019 · 3 min · 510 words · theelous3

Overteaching - an error

Teach one thing at a time. An intuition that many have when teaching is to start at the foundation and strictly work upwards. In programming this translates to working with languages that reveal to you some aspects of the hardware, brick by brick, and thinking about things like how to retrieve stuff back out of your ram. The all-knowing-already teacher intuits that in order to understand one thing you should understand everything else holding it up. This is obviously untrue when you give it any thought. You don’t need to understand the details of fluid dynamics to be an expert engine mechanic. You don’t need to grep math proofs to manage global scale financial systems. We operate our whole lives almost exclusively in abstraction layers with no idea whatsoever about the scaffolding holding it up. ...

December 4, 2017 · 3 min · 565 words · theelous3

Wtf is self (in python)

Let’s say you wanted to design a useful little machine called a widget, and start producing them in a range of colours. First thing you’d do is design a blueprint. In Python, writing a class is much like writing a blueprint for something. Let’s write our widget! class Widget: pass Well. That was easy. We could start producing these widgets right away if we liked. first_edition_widget = Widget() second_edition_widget = Widget() third_edition_widget = Widget() Nice! We have our widgets. Each widget is an instance of Widget and is its own object. We don’t yet have a way to give our widgets a range of colours though. Giving our class an __init__ method will enable us to initialise each widget with a colour. Let’s do that, and then create a red widget. ...

August 19, 2017 · 4 min · 655 words · theelous3

Concurrency in python, a primer.

Some Terminology I/O i/o (input/output) is pretty much any operation that requires getting data from outside of your computer’s RAM. (Usually means getting stuff from your hard drive, or over a network.) Hard drives and networks are physical things which need to be accessed, and as such they are extremely slow relative to running computations, or accessing things from your blazing fast RAM. The performance of an i/o bound task is dependent on the devices and interfaces between you and the resource you want to access. This could be kilometers of copper wire maintained by pigeons, or it could be your uber-fast SSD. ...

June 2, 2017 · 7 min · 1408 words · theelous3

Symmetree

I discovered a weird phenomena where if you look up at the sky through some bare branch trees, take a picture, and mirror it along the center - you can pretty much always find some sort of creepy religious figure. Like a bishop. Or an alien. I’ve never been religious but maybe this is that elusive generational trauma memory? lol

September 16, 2016 · 1 min · 60 words · theelous3