This post is an experiment in presenting photos on this blog. There are no
previews on the index pages; you have to open the post itself to see any images
(I’m trying to reduce load times for my front page). For now, it’s just a
series of images at the same width as the rest of the text; I’ll be looking
into making it more fancy in the future. Specfically, I’d like to have the
images be bigger, but still fit within the viewport.
As for the photos, they’re 3 images I shot at SFU a week or two ago during some
particularly heavy fog. Processing has been minimal as I’m starting to like the
look of CaptureOne’s default processing, and I’m trying to restrict myself from
messing with the colors to the extreme extent I did in the past.
A project I’m working on stores JSON objects in Postgres using its native JSON
datatype. For developing the frontend of the site, running Postgres locally is
unwanted, but some components still require a database to exist. To deal with
this, we’re using SQLite for any local development that doesn’t modify the schema.
The problem caused by this setup is that SQLite doesn’t natively support the
JSON datatype. Yes, it has the json1 extension, but SQLAlchemy’s
types.JSON doesn’t work with it. To solve this, I’ve decided to simply
serialize the JSON and store ...
This month’s NSA Puzzle periodical can be found
here. It’s a 2 part puzzle, and I’ve only solved the first one so far, so this will be a 2 part post.
The copyright status of the actual puzzle text is unclear, so this is a paraphrase.
Ava and Bruce are playing a game. They each take a random card from a
standard deck of cards, put their card on their forehead (so the other person
can see it), and then write down a guess for which colour their own card is.
If one of them guesses correctly ...
Maybe it’s a bug, but on certain connections listed in Network Manager’s GUI, I
can’t enable “Automatically connect to VPN when using this connection”. I can
click the checkbox and select a VPN, but the “Save” button on the dialog box
stays disabled. It works fine for my home’s WiFi, but not for my university’s
(which uses WPA2 Enterprise, if that’s relevant at all).
Update: Turns out I was missing the CA certificate and that’s why the Save
button was disabled; it’d be nice if Network Manager would tell you which field ...
A few days ago I read Eli Bendersky’s blog post titled “Fundamental concepts
which covers 4 fundamental aspects of any plugin infrastructure. It’s a great
article, and it gives an example in Python which implements the concepts he
talks about. One aspect of his example I’d like to focus on in this post is how
he uses a metaclass to allow plugins (which are subclasses of a class using the
metaclass) to register themselves in the system.
The following code is what I’ll be talking about:
Page 1 of 11
entries = 
def __init__(cls ...