-
Haywright, now with words!
Friday 27th of October 2023
Some months ago I wrote Haywright , a filler text generator that took an input text and produced output that was random, but had the feel of the input. As I mentioned in a recent post , at one point during development I tried implementing word-based tokens, but abandoned it as it felt like a lot of unnecessary code duplication. Well, ever since then the idea has remained in my mind, stewing away…
Comments: 0
-
Haywright: filler text generator
Wednesday 28th of June 2023
A while back I read a blog post by Dr. Drang about ChatGPT , which briefly discussed a way to generate text from a source input that, while random, had something of the feel of the original. This idea resonated with me, and after I read the original Computer Recreations article Dr. Drang’s post mentioned, I decided to try my hand at writing a program in Rust to do the same thing, based on the des…
Comments: 1
-
More on themes
Friday 28th of October 2022
In my previous post I mentioned how I’d added the ability for the user to choose themes to Velum. In its original guise, this was a select box with an auto-generated list of themes, each one derived from a CSS file in the directory. It was quite a powerful system, in that each CSS file had complete control over the look of the page, but it had a big downside: it was a maintenance nightmare whe…
Comments: 0
-
Blog notes: themes etc.
Tuesday 18th of October 2022
A week or so ago I added the ability to switch themes to Velum, so you’re not stuck with the default light-background one (now called Topo ). Since then I’ve been tweaking and fiddling, making sure each theme looks good at any reasonable screen size. Give them a try! There’s also been quite a bit of under-the-hood work to allow for this functionality, as well as various readability and quality im…
Comments: 0
-
Rust Web Frameworks: Warp versus Axum
Tuesday 11th of October 2022
When I started writing Velum , I didn’t really have any idea about what web frameworks were available, or what was good. So, somewhat at random, I chose Warp , since the examples looked fairly straightforward and it’s pretty popular. Coming from Rails, and the almost infinitely malleable Ruby, working with Rust feels very restricted. Rust is incredibly pedantic, and there’s very little magic goin…
Comments: 1
-
Parsing HTML with regular expressions
Tuesday 20th of September 2022
Note: Recorded here for posterity in the event of the original being purged from this world. You can’t parse [ X ] HTML with regex. Because HTML can’t be parsed by regex. Regex is not a tool that can be used to correctly parse HTML. As I have answered in HTML-and-regex questions here so many times before, the use of regex will not allow you to consume HTML. Regular expressions are a tool that i…
Comments: 0
-
Now On Velum
Wednesday 14th of September 2022
This blog was originally set up using Ghost 0.3.2, and then pretty much never updated. There have been many, many updates to Ghost since that 2015 release, which I’ve basically ignored as I wasn’t using the managed installation on their servers, and had made several modifications to the default Casper theme, and honestly couldn’t be bothered to deal with the hassle of upgrading. Now, Ghost was p…
Comments: 0
-
QA Testing
Monday 3rd of December 2018
As a software developer I spend a lot of time writing defensive code: routines to check user input and handle it when it isn’t what’s expected. This blog post by Bill Sempf illustrates the kind of absurd lengths we sometimes have to go to if we want our software to be secure. I’ve reproduced some of the best responses here. A Quality Assurance engineer walks into a bar… orders a beer. orders 0…
Comments: 0
-
Overcoming Guild Wars 2 screenshot limitations
Wednesday 13th of July 2016
As mentioned in a previous post , I play Guild Wars 2, and like to take a lot of screenshots. The game client has a few annoying limitations though. First off, it can only output JPEG or Windows Bitmap (BMP) format; I’ve set it to BMP for highest quality, but Capture One 9, which I use for editing, doesn’t support this format, necessitating a conversion to something more suitable. The second prob…
Comments: 0
-
JavaScript: getting started with RequireJS
Wednesday 19th of August 2015
Until recently, I’d mostly avoided RequireJS under the mistaken impression that it was overly complicated for my needs and only useful for large-scale applications. I was mistaken: it’s actually a fairly straightforward thing that can work just fine for small apps, and more importantly it encourages an organised and structured approach to JavaScript code. The RequireJS documentation is not, in…
Comments: 0
-
[WoW] Tracking Buff Power With WeakAuras2 Progress Bars
Saturday 21st of February 2015
NOTE: this was written in 2015, so it’s probably out of date now. Several classes in World of Warcraft have a buff or debuff they can apply, of which it would be useful to know the power. For example, fire mages have their Ignite debuff, which determines how much damage Combustion will do when cast, so it’s important to keep track of the current Ignite damage in order to make best use of C…
Comments: 0
-
Adding typographic quotes to Ghost
Tuesday 18th of February 2014
As I write this, Ghost is at version 0.4.1 and does not include the ability to convert straight ‘ and “ quotes to their proper typographic equivalents of ‘ ’ and “ ”, nor does it convert hyphens into en– or em— dashes. Since I’d fiddled with an automatic converter for another project that also used the Showdown converter, I decided to try adding it to Ghost. It wasn’t as straightforward as…
Comments: 0