List page: Programming
Tag specific RSS FeedNo adblocker detected.
(Programming)Internet ads are horrible: They waste your time, and the advertising industry makes the internet a worse place. Payouts are so small that the only way to survive is to turn your site into an ad filled hellhole with no real substance.
... read more.Trap bots on your server:
(Programming) (Software)Here’s the code for my infinite nonsense crawler trap:
- process.py: Text preprocessor
- babble.c: Garbage server
What follows is an explanation of how to set it up…
... read more.You should feed the bots:
(Programming)A week ago, I set up an infinite nonsense crawler trap – now it makes up 99% of my server’s traffic. What surprised me is that feeding scrapers garbage is the cheapest and easiest thing I could do.
... read more.You can make up HTML tags:
(Programming)Instead of writing HTML like this:
<div class=cool-thing>
Hello, World!
</div>
… you can write HTML like this:
<cool-thing>
Hello, World!
</cool-thing>
Messing with AI crawlers
(Programming)Large language models, the foundation of the recent wave of AI chatbots, need to be trained of vast quantities of text. The cheapest way for companies to get this text is scrape it off random websites using crawlers.
... read more.The joys of IPv4:
(Programming)I recently moved this blog over to it’s own server, so now it has it’s very own IP address: 65.109.172.162
... read more.Don't use external CSS:
(Programming)At my house, an HTTP request over cellular takes 2 seconds. Even if the response is just a single byte, it still takes two seconds. Browsers won’t render anything until the stylesheet is loaded, so changing:
... read more.Using an MDX-540 CNC mill from Linux
(Programming) (Software)Roland’s CNC machines can’t naively run G-code. Instead, they include a printer driver that converts G-code into a binary format before it gets sent to the machine.
... read more.Long range links with tiny radio modules
(RF) (Programming)WiFi and Bluetooth capable microcontrollers are very popular for hobby projects, but at the best of times offer a range of around a hundred meters. Indoors, with with walls and other obstacles, the usable range is often less then 20 meters.
... read more.The (Cooley–Tukey) Fast Fourier Transform
(Programming)The discrete Fourier transform breaks down a signal represented as a list of samples into its constituent frequencies. That is, it converts the signal to a sum of sine and cosine waves.
... read more.How helpful languages create bugs.
(Programming)A key part of programming is that you will spend more time looking at you code then the compiler. While of course it is important for the computer to be able to figure out what to do, it is equally important for you to be able to tell what the computer is doing.
... read more.Making a 3d renderer from scratch [part 3]
(Programming) (3D)Currently the render works quite nicely, but calling it 3d is a bit of a stretch. While does provide a first person viewpoint, the entire map is a the same height. Games with this limitation were, like Wolfenstein 3D, were released and did quite well, but modern audiences want a bit more 3d in their 3d.
... read more.Making a 3d render from scratch (part 2)
(Programming) (3D)The last renderer worked fine but had 2 major problems, the most apparent is that it can only handle convex geometry, in other works, no walls can overlap on screen. Another problem is performance, it draws every single wall, regardless of if it is visible or not, resulting in a lot of wasted work (overdraw).
... read more.Making a 3d render from scratch [part 1]
(Programming) (3D)This series will go over the functioning of a simple Doom style 3d software renderer intended for a first person game.
... read more.