Family Photo Chest Part 2: First Milestone

Good Morning from my Robotics Lab! This is Shadow_8472, and I am coming right off writing last week’s post because I have more to report, and it made a nice stopping point where I left off. Let’s get started!

I started work on my first prototype during my Third Workshop visit mentioned last time. It’s pretty chill there, so I have time to absorb what I’ve read as I read it slowly.

Philomena is on a Git repository, so I did some reading up on it the week before by going over some basic tutorials. I don’t actually remember much, but I will recognize stuff faster when reexposed to it.

As a side note, something seems to be failing on my laptop. I don’t know what, but it isn’t always booting on the first try. It took up several minutes of my visit to the workshop as it went through its battery of tests. Interestingly enough, the charger passed, even though I know for a fact that it won’t charge the battery due to a failure with the power port.

Git repositories have a special file that displays when you visit their web page. The first several times I looked through the one for Philomena, I had no clue what to do. This time, I recognized a number of commands to run, but require something called docker and docker-compose, neither of which come preinstalled on Raspian, apparently.

In the meantime, Git offers two ways to “clone” or download software contained in repositories. Recommended is over https, which almost all websites use by default now, and the other was over SSH.

Fun diversion, I had a really hard time with PuTTY when it kept complaining about Blinkie’s RSA host key whenever the IP changed. In the end, I hear most SSH clients don’t care about the IP as long as its host key is on a list of known hosts. PuTTY, however, saves host keys to each hostname unless unavailable, as in my case, then it uses the IP.

In light of the sideshow PuTTY put on for me to play through, I wanted to try downloading Philomena over SSH. When I first connected from Blinkie, I got a warning about an unknown host. The key was actually pretty easy to look up and verify. I put Blinkie’s SSH public key up there, but ran into a permission wall. I used wget instead. I later confirmed my heavy suspicion that wget operated on HTTPS and found it also supports a number of similar applications.

With the file downloaded from Git, I started building the tools I need to use it. I found a nice, command-by-command article on how to install both docker and docker-compose aimed at people who are not familiar with the command line. I followed the instructions, but not to the letter: I used Nano instead of vi when I needed a .txt editor, and I chose to use sudo instead of messing round with permissions and possibly introducing a security risk I don’t fully understand.

Docker went on fairly smoothly. They even have a program to verify that everything is working. Docker-compose gave me a little trouble though when I forgot to keep adding sudo.

Situation update: I got something to work. I’m operating blind right now. All I know is that I issued a command and was able to use a browser to navigate to Blinkie’s local IP with a port mentioned a few times during setup. I found what looked like a representation of Blinkie’s file system, but I’d need to double check. One thing I do know: whatever I was looking at went offline when I stopped it from the SSH terminal.

Update 2: I’m not sure where this style of updates came into happening, but I’ll go with it. I’ve done a little more research into Docker, and it looks like a sort of virtual machine –but not quite– and I think I logged into that VM earlier. I still have much to learn.

I’ve found several video series on YouTube documenting Docker and Docker-compose. With enough luck, going through some of those will let me understand what I’m at least looking at.

Update 3: Things have developed in the month or so since I went back to my other projects. I just need to call this a section and get back next week.

Final Question: How do you usually feel when returning to a project after a lengthy hiatus?

Family Photo Chest Part 1: Project Outline

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am beginning a new project I hopefully won’t burn out on. Let’s get started!

Twenty years ago, my father was tasked with scanning and distributing the contents of an old sea chest that used to belong to his father. Fast forward to the present day, and the project hasn’t even started. I’ve been building my skills the last couple years, and I think I can do one or two better than was originally planned.

Timeline: I’m burned out after three intense weeks on my last project. I’m two weeks ahead, and I plan on keeping that lead for now. After two weeks of this project, I want to go back and try getting the official Java on Micro Core. With any luck, this post will come out when that’s already happened.

I’ve been planning this project for a while now. Nothing to make a whole post about, but important nonetheless.

My intended finished product is as follows: Family members will be able to go to an IP address in a browser, search by a system of tags, and navigate to a specific scan’s page. Groups of pages will make scans of books easier to find, and comments on each picture will only make identifying people in each picture easier.

During my initial investigations, an acquaintance recommended Philomena, a Booru-style image board that fits the description almost perfectly. Their code is free and open source, and the license is compatible with what I want to do.

On the hardware side of things, I have a few prototypes milestones planned out.

The first milestone will be declared when I can manually upload an image and view it on the site from a separate connection. I am planning on prototyping on Blinkie, though almost any computer should do.

The second hardware milestone will be when I have the pictures stored on a RAID array for redundancy. During a visit to Third Workshop, I heard that these can be tricky to do myself, and there are cheap, reliable, preassembled units I can use.

The third hardware milestone will move the software off Blinkie and onto a new machine I want to build myself. I want to remove the innards of whatever RAID setup I end up getting and arrange them into a custom case with a different Raspberry Pi serving as the motherboard.

The main event of the project is actually scanning pictures for safe storage. I know for a fact that disorganized files are discouraging to sift through, so I want to write a script to handle scanning and uploading files. It will have functionality to define groups of pictures as they are scanned, as well as handle bulk tagging.

Skills I expect to learn in the near future: composite 3D printing with ABS, a new programming language, and a better understanding of Git and any other software I need to get Philomena running effectively. As of writing, I have already started work on next week’s post, so I may be cheating a little on that last detail.

Final Question: Do you have any decades old projects that just never seem to get any attention?

Product Review: Off Brand Joystick (PXN-2113 Thunder Pro)

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am doing another technology review: this time a joystick. Let’s get started!

Kerbal Space Program is a rocket simulator that’s been out for the best part of this past decade. It tackles the the otherwise daunting subject of rocket science and provides a sandbox to explore the subject on an intuitive level, often leading you headlong into thinking about real-life contingencies. As with many other similar games, it provides a highly customizable control scheme, including joysticks.

As with the Steam Controller, I am only familiar with one previous joystick from when I was younger. Any comparisons will be against that one unless where otherwise stated.

Now that it’s been a while since I wrote the last three paragraphs, and the replacement has arrived, I need to actually write the actual review.

Joysticks these days have almost zero competition. If you want a particular shape, your selection will be very narrow. Mine was between the $50 junker I got, and the $30 Logitech 3D Pro. You can find pictures online of both. I didn’t like Logitech’s high-contrast asthetics or its throttle shape, so I went with the more expensive off brand model.

My first in-person impression was the box. Chinese branding covers it. If there’s both English and Chinese, English is given secondary treatment. While I may be a little off put by seeing another language getting preferential treatment, it just means I am not part of the primary target audience, and I have a more understanding attitude if it’s not being sold of a local store shelf.

If boxes could speak as you opened them, this one would say, “Here, I got it here. Be glad it’s in one piece,” whereas the Steam Controller box would have said, “Here, let me be a treasure chest to keep your new friend safe.” (note: I do not consider the Steam Controller a friend. The quote is just what I imagine its box saying).

Safety insert written after the fact: while I was packing this thing back up for a return, I noticed one place where English was, in fact first: the suffocation warning on an internal bag. What was concerning was that it was in five or six languages, all of them using Roman characters, like English, Spanish, German, French, etc.

The overall form factor of my old joystick and this new one is basically the same: A three axis stick with buttons and a hat switch on top, with some extra buttons and a throttle down below. This new one has a fifth button besides the trigger up top and a total of six down below, which are sure to come in handy with the many, many shortcuts I’m bound to want handy while playing KSP. The new one has some kind of vibration feedback, but I haven’t felt it go off when blowing up rockets. The grip felt like it might be made for smaller hands. One final note that you can’t see form the pictures: there are four suction cups on the bottom instead of those pads that eventually come off.

I started up KSP and started configuring my controls. If the kerbals were whimsical before, now I would describe them as hilarious if I were not the one playing the game. All three main axes were just a little off center, resulting in my rockets listing, toppling, and finally spinning out of control when the reaction wheels only had a single command pod to worry about.

One of the things I remember from playing with a joystick was going into the driver and “playing a small game” to fix it in my “big game.” I now know the words calibration. Included with the PXN Thunder was a small CD containing the driver. I stuck it in my disk drive, made a face at the Chinglish phrase “soulmate to players,” and could not load it because of unsupported characters in the file path.

Undeterred, I pulled the driver file into my downloads folder and removed the offending Chinese characters. Launching the installer, I was presented with a window without an English word in it. Useless to me.

With no way to calibrate, I went back to KSP. My one complaint about the controls menu is that I have to back out all the way to the main menu to access it. Nevertheless, I was only able to keep using my new control scheme by increasing the deadzone. It took a couple days to get the bulk of my controls ready for use. Even then, I decided to wait on setting everything up until I got the new joystick.

I’ve been using the joystick for a couple weeks tops now, and it’s already showing wear. The accessible portion of the throttle has been dying from the middle out. As of writing, I think I can access about the bottom quarter and the top sixth. Additionally, one of the buttons on the base isn’t coming out all the way anymore. I might also point out that that extra button on the top, labeled 2, also doesn’t have anywhere near the click that any of the other buttons have. If anything, it’s been moved to a spot on the base right below one end of the throttle. Is it supposed to do that? I have no clue, but there aren’t any buttons there.

In conclusion: Do not buy this product if you can’t read Chinese. Even if you do, consider getting something that will last longer. You’ll end up saving money in the long run because you aren’t buying as many replacements. Neither the vibration feature, nor the otherwise circular throttle was worth an extra $20. The case is entirely plastic, in some parts it feels extra cheap. If I were given the Steam Controller and this thing and a list of their respective prices, I would have guessed this was the $5 one and the Steam Controller was the $50 one. My only guess is that this product was hit hard by American tariffs on Chinese goods. It is going back.

I would give this a one star out of a possible five.

Final Question: Have you ever bought something with a higher price tag expecting more quality, only to be let down?

The Steam Controller: My First Impressions

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am reviewing the Steam Controller. For anyone who cares, this post is not sponsored. Let’s get started!

I first heard about the Steam Controller in detail from a YouTube video where the reviewer said it was an amazing controller after you persevere through the configuration process, something most reviewers at the time were not taking the time to do before unloading their frustrations into a review. With that said, this post will only be a report on first impressions, and not a final review.

The moment I saw this supposedly brilliant controller on 90% markdown at $5, two thoughts popped through my head: ‘I might as well see what the fuss was about a few years ago,’ and ‘They must be moving inventory with a discount that steep. (The controller itself is discontinued). After buying, I did a little more research and found that it really doesn’t seem to like running outside Steam, but there is an open-source stand-alone driver for it that sounds like it could be a project.

I don’t have a dedicated gaming budget, so when I’m considering a new game, it needs a lot of replay value or to be culturally important to me in some way.

I’ve only ever owned a GameCube and a Wii, so I’m not well acquainted with any console controllers. I have done zero research into relative prices, so if you were after how it compares to similar products directly, look elsewhere.

Shipping took way longer than I am used to with Amazon. While I waited, I researched a little and found the thing needs Steam open to run correctly. I also found an open-source, stand-alone driver. It’s primarily aimed at Linux, but fiddling with that sounds like an educational experience. I might even like to program it to respond to Morse Code when the on-screen keyboard is up.

The unboxing was a little exciting, but reinforced my expectations to not fall in love with it right away. While the box itself felt like a paper treasure chest, the loot inside did not feel like it was worth any $50. It came with a pair of batteries, a dongle, and a dongle stand. Digging in deeper, I found a cord hidden in a blue sleeve at the bottom of the box, under the “paper foam” support. I had a little chuckle when I read that. Basically, this is a classy box that politely asks you not to throw it away.

Plugging it in, the Steam Controller feels just like a rearranged mouse. Courser control is handled with a circular touchpad on the right, but it drifts. Triggers handle the mouse buttons while the scroll wheel is on the D-touchpad on the left. Don’t expect the D-touchpad to work correctly right away. I found it scrolling the direction I wanted about 64% of the time on the first try, but circling your thumb around the outside seems to work more reliably. I don’t know it it’s learning curve or driver issues. Back and forward are on the underside of the controller on buttons I have no idea what they are called. The bumpers, analog stick, and letter themed buttons each seem to have mappings to keyboard keys.

The on-screen keyboard or “soft keyboard” is accessed by pushing the analogue stick. Each of the two touchpads are then mapped to their hand’s half of the keyboard. there are all sorts of shortcut keys on the different buttons on the controller. I won’t say I’m a huge fan. It is definitely something you can get used to –I am using it for this paragraph, then I am going back– but it isn’t like any keyboard I have ever used before.

My assessment is that the soft keyboard is mainly for when you want to enter short strings of text. Again, it’s something you can get used to, but the multiple ways of doing a few actions mean it’s simultaneously harder to figure everything out, and easier to adjust to a scheme that works for you. It’s faster than an on-screen keyboard with a mouse, but slower –at least without practice– than a smartphone or tablet on-screen keyboard.

In summary, it’s a novel controller with potential, but I am in no position to pass judgement on it. I look forward to learning about hardware drivers with this unit.

Final Question: Have you ever written custom hardware drivers before?