2018-09-23

A handful of games i remember

I was never a "gamer", but i liked playing particular titles. I started to get my hands on Tetris, because my mom was great at it, around 1992. Sometime later, i was racing cars on the Game Boy, since i was not into Mario and Luigi that much. I almost did get every new model, mostly just changes in size or color of the handheld console. My last one was a Game Boy "Color" in blue. Later, i had some fun with the Nintendo DS series too. I got my first PC games from CD's on printed computer magazines, starting at 1998. Back then, games were quite expensive, since they needed to be pressed on physical media, packaged in glossy boxes, and put on shelves.
This is why i focused on titles like Tomb Raider, SimCity, RollerCoaster Tycoon, and Half-Life with Counter Strike. I also liked racing and flight simulations. I had a Force Feedback Joystick and a Precision Racing Wheel with Pedals by Microsoft Sidewinder. I stopped playing for some time, because i tried to be an adult, and probably failed. For example, i discovered the Dolphin Emulator to play Mario Kart on a larger screen. In February 2016, i bought on GOG a DRM-free copy of Pro Pinball Timeshock, and some weeks ago, even Pro Pinball Fantastic Journey. Both titles are around two decades old, but still fun, especially with AntiMicro and a USB gamepad.
2018-08-28

Sunrise and sunset for Raspberry Pi

I now have two time-lapse "shootings" running at the same time. One is pointing at west and the other at north. After months, i added another Raspberry Pi Zero W to my arsenal, since i developed a reliable setup for this kind of long-term operation. I also got it to work as wireless access point, to make it independent from a router, but still have the option to connect to it. And i made further improvements. For example, i let them automatically adjust the settings according to sunrise and sunset, instead of hardcoded values. This way the slow shutter speed is only active if needed, depending on the Earth's position to the Sun, which changes during the year.
The city lights dominate, but compared to earlier, i have with a dynamic timeframe a better chance to catch more stars at night. I let my shell script call engine "rhino" to execute a JavaScript file and do some calculations for when sunrise and sunset take place. Thank you to Matt Kane for his interpretation of Kevin Boone's SunTimes Java implementation of the US Naval Observatory's algorithm. I also got another version to work based on Perl, but installing the module "DateTime::Event::Sunrise" via cpanm takes too long on the Zero W. It only needs to be done once for each Raspberry Pi, but that's not worth it, since there is no gain in speed.
2018-07-07

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. Maybe like giving birth to Minions, despite being relatively simple, they are helpful and fun. 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 by integrating them correctly.
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.
2018-06-30

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. I also extended the block to some Tor and cloud users. Essentially a noise reduction for a better signal, to be honest. Witch hunts are loud and violent.
2018-06-26

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 with no work ethic. 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.
2018-06-18

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.
2018-06-11

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.
2018-06-06

Binge watching in mid 2018

As in the last two years, i got me a Torrent client "in the cloud" for a whole month again. During the past year, i collected movies and shows i want to watch, just like with a grocery list. Among them are titles that i have already seen some time ago, but i like to have them on my local drive anyway, since i rarely get the chance to have "full access". Especially after i cancelled my Amazon Prime subscription. Good things don't have to be new, and vice versa:I also loaded the latest seasons of all shows i follow. Among them are old titles from my childhood: Roseanne, The Simpsons, and The X-Files. After having fast-forwarded some more recent TV series i wanted to like, i realized there is a lot of trash being released people seem to enjoy.
They tell similar stories, just with fancier equipment each time. This is why i almost didn't get any new shows into my current watchlist. Thank you to former fellow student Martin Noras for recommending The Expanse and many other titles to me in the past years:
12 Monkeys, Agents of Shield, Colony, Dark Matter, Doctor Who, Elementary, Game of Thrones, Gotham, Homeland, Jessica Jones, Killing Eve, Lost in Space, Orange Is the New Black, Outlander, Roseanne, Star Trek Discovery, Supergirl, The 100, The Crossing, The Expanse, The Simpsons, The Strain, The X-Files, Time After Time, Timeless, and Westworld.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18