GAP stands for Gimp Animation Package. It’s the way that I make gifs out of MP4 files. Here’s a breakdown of how you can install it into your version of Gimp in six steps.
Every time I start thinking that my job is bad, I try to remind myself that Stanley Kubrick had a secretary. The guy was notorious for driving actors into the ground. Making them do takes over and over and over. Can you imagine having to handle his administrative work?
If IMDB’s trivia page is to be believed, that poor soul had to spend weeks typing out the infamous ‘All work and no play makes Jack a dull boy’ novel from hell. On the off-chance I ever find myself similarly working for a maniac, I’m attempting to master the Python docx module, and I’ve been pleasantly surprised with how far you can get with just the basics.
I’ve been plowing through Automate the Boring Stuff with Python by Al Sweigart. Since I generally skip over chapters with scary names or giant blocks of text, the bit about nested dictionaries and lists went blazing right over my head. But when I wanted to start shaping objects in Blender into letters (as pictured above), I went right back to it because they’re actually quite useful.
So you wanna prettify your user interface? Maybe make some custom buttons and use your own image instead of the default grey box on the left?
It’s actually not as difficult as I was expecting. All you need is a program like Photoshop or Gimp to make the .png, .jpg or .tif for your background and any buttons.
So Hopper’s Amazing Decipherer Script 1.0 was about 472 lines because it included ELSE IF clauses for every letter in the alphabet.
HADS 2.0 cuts it down to 77 lines because arrays, as it turns out, are incredibly useful when paired with loops.
Deciphering a Caesar cipher requires that the alphabet be moved up by a certain number. Like so.
Notice that this is basically a 2-step process. Turn the letters of the alphabet into numbers 1-26. Then add the rotational value to each of them to find their new positions, in the code below that’s assigned to a variable called indexVar. In ROT1, A =1 and the rotational value is 1, so A = 1+1 = 2.
But what happens when you hit Z? Z=26 and the rotation is 1, so Z = 26+1 = 27.
So, you want to tell the computer IF the number goes above 27, then you want to reset it to 1 and continue.
Arrays are a damn godsend. More specifically, they’re an easy way to deal with large lists. Why is this useful you ask? Imagine you want to run the same code on multiple items. The items could be numbers, letters, words, full sentences—anything. By putting those things in a list, or an array, you can loop through hundreds, even thousands, of items with just a few lines of code.