Exploring Perlin Noise in Python

First of all, I would like to say that the code in this post was inspired by Adrian Biagioli’s article on Perlin Noise, which can be found here. That being said, this really isn’t going to be a primer on Perlin Noise itself, rather it’s going to focus on its implementation in Python. First, a recap of the converted C++ code from Adrian’s article:

Read More

Compile-time constants with Pyinstaller spec files

When I was developing LIFX-Control-Panel, I was constantly running into the problem of keeping my version numbers straight. Namely, I was keeping my version number in two separate places; one in the top of my settings.py file, and the other in the default.ini config file. The idea was, the binary would compare its version string to config.inis on startup, and if the binaries version was greater than the existing config, it overwrite it with the newer default.ini. A brilliant, game-changing idea on it’s own (if I do say so myself), but the problem was, I had to manually set the values every time I upped the version number or rebuilt the binaries. Naturally, I forgot to keep the version numbers in lock-step, and much confusion ensued. How could I keep these constant values in some singular place, where I only have to change them once and it will propagate through the rest of my code?

Read More

Adding Keybinds to your Python App

Today, many of the desktop applications we write are designed to live in the background or in the desktop tray. They may be useful to have persistently running, providing utility for the user in the background. Keyboard Shortcuts can provide a convenient way for the user to interact with these app without opening them or interacting with them directly.

Read More

JournalBuddy Development Overview

Journal buddy is my first official foray into Android app development. I have a vague sense of what I’m doing, but overall I’m still completely lost. I’m going to jot down a preliminary description for what I want JournalBuddy to do, and try and develop to those standards.

Read More