A Series of Dead Ends

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I don’t have much, but I’ll try to put something down. Let’s get started!

I went to the workshop again this week with a list of things I wanted to figure out how to do, starting with getting TightVNC to switch users. Nope. TightVNC servers are tied to a single log-in session. Without good communication, that piece of information took between thirty and sixty minutes to figure out. We did get a copy of the heater program working the Pi at 100%. Before I re-run the temperature experiment and risk damaging the case, I have another side project I want to try figuring out.

I have a friend I haven’t seen in a while and he lives in another State. I want to show off my ghost case (Now pictured), but I want to call on the Pi and hold up a mirror so he can see it with its own ‘eye.’

My first thought was to just download Discord and call it good. Oops. The Raspberry Pi may be 64 bits, and Discord want to run on 64 bits, but Raspbian doesn’t exist on 64 bits. I found a decent-looking forum post [LINK] that discusses 64 bit computation on the Pi 3 series. Long story short: 32 bit Pi computing has inertia. They don’t make 64 bit Raspbian because it would cost more utility than the few who seek it out would gain from it; it simply isn’t worth it for an official, 64 bit Raspbian to exist.

Jumping back in time to before I found the article, and I had just given up in the short term, I looked around to find that there are operating systems that can run on the Pi that use all 64 bits, but several comments seem to describe the wanting nature of either the setup process or trying to squeeze any additional performance. My thought is that such operating systems are often not optimized specifically for the Pi and take up what benefit they otherwise would have had with additional overhead. The extra bits are there if you need them and know how to use them.

At this point, a Discord client is looking like a no-go, but I did try to get a call set up in the browser. I haven’t gotten it to work yet, as I need to figure out how to get my Pi Camera and Blue Yeti to play nicely with the Discord site in the Chromium browser. It’s just something with the permissions, I hope. I remember seeing something about the Yeti not giving Linux a single thought in its advertising, but I think I remember seeing it show up in the Discord web page.

Final Question: Does anyone actually know if the Raspberry Pi will melt through a PLA case?

Review and planning session

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am laying out my plans for the near future. Let’s get started!

I’m still figuring out the new setup with Derpy. The VNC client I set up on my main desktop isn’t sending keyboard shortcuts when remoting into Derpy, but my laptop does and I cannot find the setting to change it. It also seemed to prefer opening up programs for a local login (if present) if the remote server requested anything be open. I upgraded it to Ubuntu 18.04.1 LTS after trying to get some tech support over Discord.

In my last post, I believe I said I was now using GNOME 3. That was wrong. I’m on the Xfce desktop environment and I couldn’t tell the difference, especially while trying to elicit help. I’m willing to work with this desktop environment, as I hear it is supposed to be pretty stable, and it’s the only one I have to work with at the moment. Yes, I don’t have a way to switch desktop environments remotely. I tried logging out remotely, and the VNC session became unusable with that complex black and white “gray” pattern, replacing the desktop picture as I dragged lingering windows around. A reboot fixed the symptoms, but I still want to see about getting the root cause addressed sometime.

I have a few things I want to finish before going on with programming the Pi to detect and deter cats. Mostly the more intermediate Linux literacy skills, like getting WINE to run things reliably, or forcing a piece of hardware to work when it shouldn’t.

During my miscellaneous research this week, I found Rasbian is only a 32 bit operating system and the Raspberry Pi 3 family is all 64 bit based. I would like to explore benefits and drawbacks to finding a lightweight version of Linux to run on the Pi and running that for my cat program instead of just programming it for the board’s default OS.

Final Question: It’s hard to know what version of an otherwise identical product to go with, especially if you’ve never needed it before, especially software. I find a good word from someone I know goes a long way. How do you decide what version to use?


Remote Access 1

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I have a lot of progress to report on remote accessing my computers from each other. Let’s get started!

I spent most of my time for the blog this week in that workshop I joined a few months ago. A lot happened, but I am not the main mind who put everything together, and I don’t fully understand everything that’s going on.

This week, I gained the ability to log into Derpy, my secondary Minecraft server/Linux testing platform, from another computer using TightVNC (Virtual Network Computer). TightVNC is one of many desktop viewing applications; most others cost while I’m working with a free version.

The first step was to set up a server on Derpy and get another computer to try and connect. We eventually ended up with a “gray” error screen with a black x pointer if we had everything working as best as was possible (it was actually a complex pattern of black and white pixels).

Part of the wonkeyness of remoting in involves screen parameters, like size and this one I know nothing much about called color depth. Something along the way likes a color depth of 24.

While we tried a few possible fixes, multiple places said to put GNOME on for the graphical interface. While I find the Cinnamon nice and convenient, I am more than willing to explore something new to find something that works… GNOME surprised me with that pesky zoom in thing I abandon Unity over.

I did a bit of research, and the popular Unity environment is built on GNOME. I hypothesized that Unity had changed something Cinnamon couldn’t care less about. None of the normal zoom in fixes worked, and the text had their smooth, vector based look, even though they were huge, so we knew the picture was at the correct resolution.

Over an hour of pointless guesswork later, I had outsourced the problem to a Linux support Discord server. After no response and someone else’s problem getting solved, I reuploaded along with a photo of the screen this time. Over the next three minutes or so, a couple users by the names of MotherM and ~> yay -s Superuser went back and forth trying to figure it out until a user by the name of PlasmaPower offered a command to restore the correct interface scale factor to 1 where Superuser had identified it as at a factor of 2.

gsettings set org.gnome.desktop.interface scaling-factor 1

With GNOME functioning properly, I was able to make a connection and even managed to open the Minecraft server remotely. However, any new graphical programs, including terminals, opened up in the host machine. It turns out, using TightVNC server hosts an extra login session, at least the way it was set up. Before I left the workshop, we got a script set up to automatically start the VNC server whenever the computer restarts.

Later, I figured out that if I logged out from the host machine, newly opened programs work as expected. I also eliminated one of my dual hypotheses. New programs prefer to open locally before yielding to remote sessions when dealing with multiple logins from the same username, not the first session started.

As it stands, the connection is stable. Future improvements may include sizing the resolution to fit my secondary monitor and getting a version of GNOME installed I can relate to a little better. I should also be able to set it up for CLI mode only for the host terminal.

Final Question: Linux is apparently the hardest OS to get set up for remoting into. When was the last time you reached the finish line, only to find out you were doing it the hard way, even if the easy way wouldn’t have worked for you anyway?

How I Prefer to Deal with Griefers

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am using some kind of new WordPress backend interface to tell you a story this week about something that happened on a creative Minecraft server I run. Let’s get Started.

A while back, I did a project where I revitalized an old, boat race minigame from a previous season of the Minecraft server I play on. I set up a private server to test this operation. Later, my family started projects on that server for others to come in visit before they were built for real. Part of the boat race required people to have OP privileges to work, and not everyone knew about the work on the race. Those that knew ended up being those with OP privileges.

Last week, I heard a report of confused member wondering where the warp points to the different projects went. I logged in and found tell tale signs of explosions around spawn. The pad with all the warps was gone, its command blocks smashed.

I found a name and what looked like a method of destruction. This person had gotten an advancement related to spawning the Wither Boss, a very destructive enemy in the game, and thought it didn’t quite look like a Wither Boss’s direction of destruction, it was close enough to get me to pursue that line of investigation. 

My mother was my primary ally this time. Over the course of a day, we questioned the suspect and assembled a story out of they told us. Apparently, a younger sibling had logged in from school with her account, having mysteriously gotten the IP from somewhere, spawned the wither, [smashed the command blocks], and left. Later, they logged back in and quickly left, fearing they were being framed.

The story didn’t seem quite in line with what the command line was saying, but with only a mouse on Derpy Chips, the computer the creative server is hosted on, things were going a bit painfully slow. I found the IP the griefer was using, and an IP associated with a legitimate access where they had a conversation in chat. The IP’s matched. I know a little about how IP addresses work, but I’m no guru with them. What it looked like to me was that I was getting the IPv4 of the ISP (Internet Service Provider) for the city they were in, and that that was a dead end for investigation for the time.

No matter the story, I was already thinking of how to fix the mess. I knew I had several, old backups and I could just use some of the files from good files instead of the griefed ones. I set Derpy up for work, but found it impossible to easily move the needed files from the latest backup to a copy of the current world.

I thought it would be a good time to try working on my next blog post (today’s), where I wanted to set something up so I didn’t need to ever switch screens and controls around again. Long story short, I tried to plug a different keyboard in from another computer, and it worked. I moved the appropriate files to the copy and had someone look at spawn… and it was the old, bland spawn. I didn’t have a copy of the nice spawn that got ruined. Oh well.

Meanwhile, my mother was still suspicious of the prime user of the grief the account that did the deed. I went chatting with them late at night, getting their story out of them in text before eventually pointing out that it didn’t match up with what I remembered of the logs. I went to sleep, and in the morning, I found a full confession. It was TNT, the wither skull was just meant to look cool, and the self-given command block I had originally assumed had been used to kill the non-existent Wither Boss was a red-herring. They were the guilty party, and they were truly sorry.

In that moment, I felt sort of like how a villain might describe the rush they get when they have their foe begging them for mercy but are still going in for the kill, but my only I thought was to forgive the party who had wronged us. It took me a while to word my response, and my mother had actually gotten back to them before I could respond, but we all were leaning toward forgiving them. OP privileges were revoked, of course, but while flying over the destruction, I was thinking to myself, ‘That would make a really nice lake if it were properly decorated.’ We asked them to repair the damage as a friend.

I was most surprised at their reaction to being offered forgiveness. They were expecting us to get mad, toss around bad names, badmouth them, ban them, and hate them forever “to put it nicely.” I honestly cannot relate.

We asked for a chance to share God on this server, and we can hope that they go and do likewise.

“‘If your brother or sister sins against you, rebuke them; and if they repent, forgive them.'” (Luke 17:3 NIV)

Final Question: Have you ever been forgiven of something, or been a position to forgive someone seeking forgiveness?

Stress Testing PLA as a Raspberry Pi Case Material

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am running a looping Hello World program on my Raspberry Pi for a while to see if my work for the last few weeks needs to be redone in ABS plastic. Let’s get Started!

I’m going with the hypothesis that while the Pi may run a bit warm for PLA plastic, with the heat syncs, and ventilation, I should be okay.

My procedure will involve using an infrared temperature sensor I borrowed from the workshop I joined a couple months ago. After messing with it for a while, I figured out how to use the temperature probe that came with it. I’ve taped the probe in the space I’m most concerned about overheating as I don’t have a line of sight view of the place.

Each data point I take will track the ambient temperature of a consistent point nearby, the temperature of the probe, the CPU speed, and some points will take the temperature of a chip on the inverted Pi’s exposed underside, but only when data points are coming in after 5 minutes or more.

***

I’ve started collecting data. The probe wire is notoriously difficult to keep in place. I took data points while it was off and freshly booted. Nothing much changed temperature wise except the chip getting a little warmer. I’ll include a screenshot of my results later.

***

It’s part way through data collection. I may have skewed the results of collecting the data on the chip on the top side by measuring at a different angle. Ambient temperatures are fairly steady but the probe location below the heat syncs is slowly climbing. I just took another measurement, and the possibly skewed one doesn’t seem like I’ll need to throw it out after all. I was hoping it was my readings and not a temperature spike. I’m also concerned that the probe may be slipping, especially if it’s getting closer to the heatsink.

***

The probe was slipping! Its readout was growing steadily as the tape holding it in place gave way. My data at T=40 minutes and on will have it correctly positioned.

***

***

Estimates of the low end for PLA softening are around 60 degrees C or 140 F. In conclusion: While I believe my data has a large margin of error, I do not believe it is so great as to void my conclusion that it is safe for my case to operate my Pi under these conditions.

The Pi only ever reached 33% CPU usage, I believe it was throttled by the task of writing to a command line. If it were to run hotter, the plastic might still be in danger. I will need to redo this test when I’m running image analysis on it.

Final Question: How else can I improve my tests?