Move LispMax’s list function into the core (BitzMax part). Was previously using one written in lispmax itself (foldr cons nil items), which is over 100 times slower than doing it within BlitzMax. There’s always overhead when using a scripting language vs native, but list is a pretty fundamental function so it needs to be as fast as possible.
2019-09-15
Updated security headers on philnewton.net to include Feature-Policy, Referrer-Policy and Content-Security-Policy. The CSP took the longest to get working as the syntax highlighting library I’m using was packed and used eval to unpack (which I have blocked). There’s also few inline scripts that needed hashes generating - thankfully Chrome will show these in the dev console.
2019-09-02
Switched philnewton.net to a new server. The site is now rebuilt on the server every hour or when files are pushed to git.
2019-05-30
Rebuilt sodaware.blitzmax_array to use array slices instead of copying things with a for...next loop. Much faster and shortens the code considerably. Refactoring is much, much simpler with unit tests.
2019-05-27
Fixed bug in blam when creating zip files. Added files did not have the correct date info set, so were always showing as being created in 1970.
Fixed another security hole in TSS. Wasn’t escaping search queries so it was vulnerable to XSS attacks.
2019-05-21
Fixed a bug with blitzmax-mode indentation. Was not indenting Repeat...Forever loops correctly. And it was treating Forever keyword as the start of a For...Next loop. Oops.
Set up borg using borgmatic. Backups are run hourly using cron.
2019-04-22
Started work on setting up my PC with automated backups using borg. Using borgbase for storage. Backblaze b2 is cheaper for storage, but borgbase is tailored to work with borg and was a bit smoother to set up.
Fixed a pretty serious security flaw when sending a Location header but not exiting the script, so non-authenticated users could still submit data. Pretty embarassing.
2019-03-03
Released new version of garlic_spy with IFTTT.com integration.
Created a status page for Garlic Spy. Ugly code, but it checks for running processes and validates the chain state.