Automating workflows

Since some years, i'm looking more for CLI options of the software i use, to a point where i learned to enjoy "command-line interfaces". This way i can create scripts and automate repetitive tasks. Even after two decades of typing characters into computers, it still feels like "breathing life" into all these things to me. Although i don't mind using or building a GUI, since i sit on both sides.
Creating rules and throwing "input" against it, to see how the program reacts, is a bit like playing with Lego "Technic" from my childhood. But the difference is that i can now make the parts myself, just by adding lines of code into a text editor. Connecting all these pieces, written by others or me, is a jigsaw puzzle without a real end, but certainly with the goal to get the job done.
Here i'm listing a few free apps i use regularly through a graphical user interface: 7Zip, AllDup, Audacity, "Everything" by David Carpenter, FileZilla, Notepad by Don Ho, TrayBackup, and WinMerge. Last but not least some icing on the cake: Dolphin Emulator with "Mario Kart Wii" via RomUlation. FYI, i got my first copy of Adobe Photoshop from an internship in June 2001.

Mastering the Raspberry Pi Zero W

After my latest adjustments, including the use of "lock files" to make all transitions seamless, my time-lapse photography with a Raspberry Pi is basically as good as it can get, especially considering the limited resources of the "Zero W" and the workload i let it have. The size of the whole setup makes it possible to mount it almost everywhere, since the power requirements are manageable. The "Camera Module v2" delivers enough quality for the purpose, without to degrade, even after six months of constant use, while being exposed to the sun at the window.
My custom UPS for the "headless" Raspberry Pi has not let me down either. As of now, i built four of these uninterruptible power supplies: Two are in use, and the rest is waiting for a mission. The Zero W is now reliably providing me with RSS updates from 200+ blogs daily and making 9k+ photos for my time-lapse videos weekly. It is also checking for new content in Cantonese by the BBC for my parents, and at the same time, offering me another place to do some "high-level" programming via Apache server and Unix shell. With the Raspberry Pi great things can come in tiny packages, literally and metaphorically. Thanks to smart people like Eben Upton, the United Kingdom will be just fine after leaving the EU.
Remotely related, after i successfully deployed my "geo-blocking" mechanism at another site one month ago, i now use the same technology for this blog. Visitors from certain countries will be denied access, and all they get is a "Error 403" HTTP status code with "This site is not available in your country" as HTML response.

The neighbours are clogging our pipe

Yesterday, the basement of the house got flooded. And the landlord thinks that we did it, which is wrong. These rich tourists from the "Middle East" are more likely the reason for that, since they really don't care. Because they can buy "human resources" to make the problems go away, with more or less success: Good workforce is rare, especially in a less developed country. Money bubbles out of the ground in their countries, enabling them to make bad decisions, without the need to learn anything. And they spread their behavior to Bad Godesberg, a place that is like a paradise for these people, and things get messy.
Apparently, they have overloaded our "sewage pipe" with so much stuff that it broke. Because the toilet is not a trash bin. And they have no idea how to handle garbage bags, and are leaking waste all over the place. At least they are efficient in reproduction. I know, "sanitation" is a relatively new technology for humanity in general, and you can not blame me for that. Unlike these sneaky Germans here, i'm not in the business of sheep farming, also known as "human trafficking".

Dynamically pausing the Raspberry Pi Camera

For several months, i have set the time frame for creating the "zip file" to a static value. But a disadvantage of this approach is, a few minutes pass by, in which the Raspberry Pi has nothing to do at all. Because i reserved with 15 minutes a generous amount for the quite demanding job. Since the "zip file" sizes with up to 600 MB were too big anyway, i changed the way i do it. Instead of making one big archive at midnight, i create two small ones, one every 12 hours, as instructed in my shell scripts, and set up in crontab. Files with around 300 MB are just more manageable on the "Zero W", especially with the workload it has.
I also make use of a "file locking" mechanism to get the transitions seamless. This way the Raspberry Pi will immediately continue to take photos when the packaging of the JPEG files is done, simply by checking for the absence of a "lock file", which prevents it from doing multitasking. I wrote four separate "Unix shell scripts" for this process, and added them to cron: camera, cameraSweep, cameraWatchdog, and cameraZip. They explain themselves by their filename, and i already presented some functions in older posts, except for the second one: After a fresh start, it deletes all "lock files", just in case if the reason for the reboot was a crash and crumbs are left behind.

Optimizing Raspberry Pi time-lapse workflow

After having made 11+ time-lapse videos continuously by running over 70k JPEG files from the Raspberry Pi through several hardware and software, i did some further optimization. I removed the batch editing step, and let "ffmpeg" crop and scale all at once. This way i'm saving almost an hour of processing time, and a lot of energy too. But it was a good exercise in adding pieces to the chain.
After all, "ImageMagick" can do a lot more than only cutting photos to the right size. For example, select parts to be blurred for privacy reasons, or create animated GIF images for low-bandwidth users. And if i ever need some of the features, i can easily incorporate them to meet future requirements. Remotely related, so far, i have produced over 10.000 videos in my life, and since May 2008, i distributed them across multiple YouTube channels, combined with more than 12 million views.
Having the Pi running for a week results in a video length of around 6 minutes. The encoding takes close to 14 minutes and ends with a size of up to 500 MB. Since i let the headless "Zero W" run without any breaks, except at midnight for creating the zip file, the flow of clouds and stars feels much smoother now. To get this to work, without to crash the Raspberry Pi too often, i made "FreshRSS" only check for new updates every two hours, limited from 6 am to 10 pm. Because at night, the camera job requires a bigger portion of the very few resources of the Zero W, since the "exposure time" is set to be longer, and the ISO is higher. And to reduce noise, i adjusted the compression rate, which makes the file sizes larger too.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15
This site is not available in your country.