“Beowulf Cluster:” Part 3: Networking Nightmare

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I actually spent the better part of the week on this segment and still didn’t get as far as I would have liked. Let’s get started!

There is a reason networking scared me off when I first looked into it back when I was in university. Every computer needs a way to introduce itself to not only its communication counterpart, but all the message carriers along the way. It’s almost unbelievable how easily it all can be smoothed over so even a toddler can get him or herself into trouble without proper supervision. But all the inner workings are still there, churning away, ready for someone to go monkeying around until something breaks.

Last week, I talked about the hardware side of things. I have all the equipment I need ready to use, but it’s waiting on a digital support structure to hold the worker nodes together. My goal for this week was to build that support structure. I would have declared success when I could connect my laptop to an Ethernet network served by the new Pi 4 and access a web page.

Originally, I was aiming to set the router up as a DHCP server so it could hand out IP addresses on the fly. Along the way, I learned how to set up a static IP. Did I mention how ugly raw networking configuration looks to complete beginners?

I honestly don’t know half the stuff I did as I was trying to follow multiple tutorials at once, hoping one would fill in for another when it didn’t apply to my present situation. One blank on a text-based tutorial was elaborated on by a quick comment by a YouTube video, and I ended up stumbling in a third direction in the hopes I was doing the right thing for my project.

And that’s when I can even follow the tutorials! Half the time I landed on a video where some would-be instructor may know what he’s talking about, but his audio quality says he’s working with what he’s got, and that can be a bit sharp on the ears. Another good chunk of the time, it’s someone with a thick accent I wouldn’t be able to understand unless I could ask him to repeat multiple words. Unfortunately, text is going to be the way to go for tutorials at my level of specialization.

I wasn’t able to get the DHCP server sorted out. Something about there can only be one per network, and I have no idea how to confine it to confine it to one network interface — that’s another thing I learned about.

Network interfaces: the whole reason this project is a thing is because the Pi 4 has two separate network interfaces, or ways to access a network, such that it can participate in two distinct networks at once: one for the Ethernet, called Eth0, and one for the WiFi, called wlan0. If that weren’t confusing enough, there’s a new standard that names network interfaces off the hardware they’re connected to. For my intents and purposes, where I only have a single interface per kind of connection, it only serves to confuse when it shows up elsewhere — namely my laptop — but I imagine it would make handling a 50 port switch a little more bearable.

At some point, I gave myself a reality check. I only had five computers to contend with. DHCP is a little bit much for what I’m looking to do. Extra overhead: needs to be axed. I’ll just use static IP’s all around. I went ahead and set my laptop’s Ethernet network interface up with one and rebooted, since I couldn’t seem to restart just the network settings. I had to fix a couple settings, but it was pretty easy to get it to ping –and even ssh into– the Pi 4 over the Ethernet network I had going. The trouble was that I couldn’t access a web page like I wanted.

I messed around a bit and when I was done, I unplugged and connected to my home network, only to find it was being difficult. The best I can figure is that by editing one of the configuration files to give me a static IP, I was accidentally voiding some default for WiFi settings as well. I made an attempt to copy what I had going on from a tutorial on the Pi 4, but due to a series of disconnection issues, I ended up restarting the Pi and losing it on the network.

I was sure to make notes on how to reverse the network damage to my laptop as I made it. I commented out the altered lines, and rebooted again. Still no Pi 4 on the network. I looked on the miniature network again, and eventually resolved to swapping over the HDMI cable to the back of the monitor, only to find a line in ITS network configuration files from when I was experimenting with iptables to solve the present issue.

I’m laying this issue to rest where it is for now. I had some measure of tangible success, but the majority of my efforts were sunk into learning new skills. My laptop is in a usable state, at least.

Final Question: What have you cut out to make things easier on yourself?

Beowulf Cluster: Part 2: Not a Beowulf Cluster Yet

Good Morning from my Robotics Lab! This is Shadow_8472 and today, I learned a lot toward the next step in my project and backed out at the last minute. Let’s get started!

You know the thing about clusters: it takes some overhead to run them? The computers I’m working with in my Third Workshop care package don ‘t have much CPU to begin with. Special thanks to kevrocks67 on the EngineerMan Discord server for getting that point through my head and pointing me in the right direction: subnetting.

My understanding of subnetting is lacking to say the least. Perhaps if I back up and just tell the story.

This week saw most of the parts I need for my cluster come in. Shopping for the Pi 4, I compared different sellers and chose one to go along with a separate heat sink case I picked out from a different distributor. I managed to save a little money by assembling my own kit instead of getting one that included some small, aluminum heat sinks.

When the case arrived, it came with some thick thermal pads. Yeah, those won’t be separating once the case is fully installed and operational temperatures melt the pads into place or they are just sticky. I did a dry fit and it doesn’t look like the case will operate correctly without them. In the meantime, I noticed the camera cable slot and the similar-looking display slot will likely be inaccessible once I assemble the case, though the GPIO pins will still be open.

My father picked up a couple outdoor grade 3-way power spliters for power management. The minicomputers I’m working with have bulky transformers right on the plug, and they are such a shape as to make it difficult to creatively arrange more than three on a seven-plug power strip.

The Ethernet cable we picked up was paid for with a little effort. One of my church members was wiring up the church a while back for Cat6, and he has some left on the spool. I stayed topside while my father donned a jumpsuit and finished running the cable to just below the office, where he cut the cable. There was enough to reach the office, but that was it: maybe about 30 feet max: more than double my very rough estimation of what I’d need. A package of Cat6 ends and a crimper will see me learning yet another new skill in the near future.

About the only piece I don’t have picked out yet is a board to mount things on. It doesn’t look like the heat sink case has any good places to mount, though the switch and minicomputers do.

The next logical thing to do is assemble an early prototype! One control node and one worker node should be a good start… if only I could get the pi to boot from an SD.

Lacking the desire to format any drives where a valued drive can possibly be hit in the crossfire, paired with the inability to read SD cards on anything but my laptop, I tried using an app on my tablet to flash a card. For one reason or another, I wasn’t able to boot. I suspect I need root privileges to properly format anything with Android, unless I want to format as internal or removable storage. Lacking access to an old phone nobody has no qualms with me “voiding the warranty,” a multi-SD reader is on order.

Speaking of SD readers, turns out each of the five little helpers has one built in. I’ll be using one of those along with a live USB for formatting fun in the near future with no chance of fireworks at the end, just as soon as I figure out why they look exactly the same with lsblk -l. I suspect it’s got its own SD card like storage device in there. Ironically enough, I suppose the difference should make a slip up of the same calibur nearly impossible this go around. Nevertheless, I still want to practice isolation of formatting whenever possible. In either case, what I am trying to think of as equivalent to a hard drive is not labeled sdx anymore.

Somewhere, I made the switch in short-term project aim from cluster to subnet to reclaim some of that overhead. I still want to end up with a cluster for the experience, but for now my token effort among token efforts will be more efficient with less overhead.

To help with overhead costs, I found a site that compares lightweight distros. Thishosting.rocks/best-lightweight-linux-distros/ They have a sortable chart of about 30 distros and their rough minimum system requirements, including RAM, CPU, and space on disk. Folding@Home is likely to use CPU above anything else, I suppose, and RAM can’t be easily expanded, so my dump stat is disk space.

I optimized for CPU, and found Debian was a near-perfect choice. Most, if not all, my Linux experience is in Debian or a decedent of Debian. The required RAM is one of the lower rankings while still needing an almost non-existent CPU. I even already have the install media plugged into the thing and booted! Though I may want to look into a server installation option.

In terms of mentally tangible progress toward a prototype, I set the Pi 4 aside for the moment and brought in BlinkyPie, my Pi 3B+. My goal: turn a Raspberry Pi into a router. I’ll know everything works when I have Internet access on the minicomputer that is otherwise not connected through any other means.

I viewed a few networking videos that were either dated, covering basic material I already knew, had bad audio quality, or showed what to do without giving any theory behind their actions. I eventually settled on a clear, step by step tutorial on at Linuxhint.com/raspberry_pi_wired_router that does not explain its actions, but the steps are short enough that I can seek out my own explanations as I go.

The tutorial starts with installing Raspian and getting SSH going. As anyone who’s been following my blog long term knows, SSH was a real pain for me to figure out, and if I didn’t know what I was doing, it might as well be a small element of a magic ritual to start over if things fail. Since I intended to work with a Pi that was already established, I glazed over those steps and started in on configuring the network.

The whole reason this project of a subnet is possible with the hardware I have is because the Pi can participate in two networks at once: one via Ethernet, and one via WiFi. To make a long story short: this procedure requires the Pi establish itself in a special IP address for the router, implying a static IP. I sometimes take this Pi elsewhere (or at least its chip), and I don’t want to forget and accidentally mess up someone’s network, so I backed out in favor of waiting on a properly running Pi 4.

As always, this project is evolving as I work on it. The Gigabit Ethernet speeds I thought I would use for a cluster won’t be necessary for the time being, as there’s a slightly lower bottleneck at the Pi’s WiFi network adapter. Next week should be interesting.

Final Question: When was your last project where you lowered the specs and found yourself overbuilt?

Beowulf Cluster: Part 1: Sum of Its Parts

Good Morning from my Robotics Lab! This is Shadow_8472 and today, I am planning a model supercomputer. Let’s get started!

I feel swamped with projects right now. They end up stacking up and with different priorities, so I’m glad I can finally do something with this lockdown care package I recieved from Third Workshop several weeks ago.

The package contained five Minus Forum Fanless Mini PC’s, model N40. After carefully removing and discarding the wrapper, I pulled one out and hooked it up. It booted to Windows 10 setup. Nice that they included something, but for a number of reasons, I will be installing some version of Linux on these tiny machines. What annoyed me was that the screen where Windows wants me to accept the EULA did not have a reject button.

What annoyed me more was how I never received an answer from support about a partial refund per the Windows EULA. Honestly, I did that more on principle, and I don’t know how it would work. I am not the original purchaser, and they were already on sale. Token effort. Their support website didn’t have a security certificate for protecting login details, so I didn’t prioritize pursuing a couple dollars per machine any further. In the meantime, I turned my attention to booting Linux from my Debian install stick. Let me tell you: the BIOS on these things is about as user friendly as their tech support.

By default, it priorities internal boot devices over removal media, and it only gives a tiny window of opportunity to enter the boot menu, or it’s off to Win10. it’s almost like the original manufacturer didn’t want people looking at the BIOS at it’s almost like the original manufacturer didn’t want people looking at the BIOS at; I had to look up what key to press, and it was either F2 or DELETE, and when I got to the BIOS menu, it was the ugliest one I’ve ever seen. The aesthetics were on the low end for terminal style menus, but the real kicker was how they handled moving the boot order around. I wasn’t able to figure it out except that it felt like swapping items in an array instead of moving things up and down a list. Despite the challenges, I was able to boot the way I wanted to.

Assembling a supercomputer though, that is a whole other story. There are two kinds of supercomputers: distributed, like what Fold@Home is using to combat the CCP Virus Pandemic (which I intend to add these goodies to), and clusters, like what I’m trying to build. At present, I am pursuing the term Beowulf Cluster in my searches.

I just wanted to touch on another reason not to go with Windows for this project, besides me transitioning to Linux whenever possible. Windows charges per instance of their OS. Supercomputers need one OS per node, and practical supercomputers will often have at least five or six nodes working in parallel. Couple that with the already sparse number of applications for supercomputers, and you end up with virtually no supporting software to use Windows for a Cluster computer.

The biggest challenge I faced in this part of the work was knowing what to order. I had to ask someone on my family’s Minecraft server before I knew for sure that a switch would serve just fine. Then came the rest of the support system.

These little computers support Gigabit Ethernet, so that’s what I’m aiming for all along the system, primarily the network cabling. There’s a lot to know about wiring. Modern data transmission builds on the twisted pair technique originally invented by Alaxander Gram Bell. Since then, we’ve found ways to reduce noise, such as insulating the wires from each other, shielding them from each other with foil, shielding the whole set of wires from their environment with more foil, and so on and so forth. There are specs on fire safety if the cable is installed horizontally, vertically, or even in the ventilation system.

More relevant to my project is how the cable’s wires are made. One kind is made with lots of strands, making it easy to bend around and is often used between computers and the wall. The one I want uses solid wires; the wires won’t be moving around much after installation.

Rounding the computation side of things off, I have a Raspberry Pi 4B on order. That was a small adventure. Turns out the B in Pi XB just means it has an Ethernet port, and a model A doesn’t have it. Since they aren’t making Pi 4’s without Ethernet at present, all cases made for plain “Pi 4” should work for my purposes. I went for one that doubles as a large heat sink. Neither have arrives as of writing.

The final hardware challenge is power. While I’d like to just slap a strong enough power supply on the mounting board, different parts of my system will be running three unique voltages. The only ones I’d have any chance of combining are the original minicomputers, and their power supplies are matched pretty well with what they need. They also take up too much real estate on the power strip. I researched over and out of my price range, landing on the conclusion that more research would be needed to combine transformers. The plan now is to grab a couple angled three-way splitters and use the original transformers.

I haven’t even gotten to assembling the system, and it’s already a formidable challenge. Nevertheless, there is one more good reason for combining all these machines in one “casing:” I believe my family is near capacity with the number of computers our router can physically address at once, and that this project would otherwise put it over. The way it’s planned out, as the controller. the Pi 4 will be the only node to talk to the outside.

Final Question: What would you use a supercomputer for?

ButtonMash Upgrade Take II

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am actually doing a one-and-done project. Granted it’s more of a follow up to a huge project I did last year, but still, it felt great getting something short in. Let’s get started!

My family and a few online friends have enjoyed ButtonMash, a Minecraft server I assembled from hardware I had laying around, for several months now, and it recently ran out of hard drive space. Turns out 60 Gb of space doesn’t last all that long when you’re making full weekly backups of the whole server! I started covering this upgrade when I accidentally formatted my Windows drive on my laptop.

I started with a new download of MineOS. I formatted the correct drive and used the dd command to write the image file to the correct drive. With a new install media, I brought it and the new 1 Tb SSD to my tower and hooked them up to be the only things connected. Installation went smoothly until MineOS didn’t recognize the USB WiFi adapter I have.

I put the project down for a while while until I had a chance to continue working on it using an Ethernet connection. The only SATA port my laptop has is hidden below about twenty to thirty screws, the ButtonMash server wasn’t going down for any longer than I could help. Aside from two computers I highly doubted I could use, I was left with the one I put together for my father. With his permission, I installed the drive and ran the security updates recommended earlier during setup.

The only real snag I hit was when I ran into the DHCP configuration requiring manual intervention each time the machine booted. Annoying, as I was working with it mostly from SSH. I knew I had had this issue before, but I couldn’t remember how I solved it. I was a little frustrated with the lack of information online on this topic, but it was amusing for a previous blog post to show up in my search results — twice. My father ended up manually configuring a static IP one boot. It took another hour or two before I remembered static IP was the way to go. I added “fixing the static IP” as something to do announcing project completion.

Copying over the server files was fun. I got into the old server’s web interface and made a fresh archive. Then, using the new install of MineOS, I SSH’ed into the old one to copy the archive over to an import folder using scp. I goofed on the long file path, so I ended up copying it to the home directory and then over to the new hard drive.

With that, I moved over to the new server’s web interface and imported the server. Everything was there, except any backups. I logged into Minecraft and got in no problem, and when I checked, the automatic updates were still around. I’m thinking about redoing those as monthly, but it works for now, nobody touch it!

As a side note, I did some digging into using Let’s Encrypt with MineOS. A thread on the MineOS forums filled in some gaps in my understanding of MineOS’s https security heigine. Https relies on a security certificate –usually issued by a trusted third party– to scramble their communication. When the server self-signs a certificate, you as a client have to trust a potential unknown with keeping their half of the code safe. Before, I was under the impression there wasn’t any sort of security certificate without Let’s Encrypt. However, since the only people who need encrypted access are admins looking to access the web interface, they should probably be in a position to trust a self-signed certificate. From an outside attacker’s point of view, it looks the same as one from a more official source.

I shut both computers down and moved the hard drives around. My father’s computer was reassembled, and ButtonMash’s small MineOS SSD and Ubuntu hard disk were pulled and replaced with the new SSD. I booted it up, logged in with SSH (Public/private key authentication is so nice!), and fixed the static IP from when it had adopted my father’s computer’s IP as static. One more reboot later, and the server was officially up. Within half an hour, one of our players from the outside was on.

One more side note: it looks like by default, you have to first ssh in as a standard user, mc by default, and then use the su (substitute user) command to switch to the root account, as sudo does not come with MineOS by default.

On a finishing thought, I honestly hope someone finds this useful, even if I end up rambling. I purposefully added some key words I wish I had covered last time, so maybe I’ll come across this one next time I find myself setting up MineOS.

Final Question: Have you ever searched for help, only to be redirected back to yourself?

Family Photo Chest Part 6: Beginning the Catalogue

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am coming back with my monthly photo chest project. Let’s get started!

There’s a reason this project is being given the slow milking treatment. It’s a monumental task, and I don’t even have all the hardware necessary for the full project. While it would be fun to build a small machine from scratch, I need to keep scale in mind. This isn’t some arbitrary task I have infinite focus for decades on.

At present, I am looking into Network Attached Storage (NAS) to host the files. NAS can come in a small variety of few forms, but all the ones I’ve looked at appear to be small computers with lots of hard drive space. On the lower end, you have monolithic units where you can store stuff, while something a little more sophisticated will have anywhere between 2, 4, 8, or even more bays you can plug individual hard drives into. Some come ready to use with drives preinstalled, while others expect you to use your own drives. Often, you will find they have some sort of special software to manage the NAS system as a whole.

Admittedly, I am still specing out the system with my father. We are leaning in the direction of getting four 8TB drives specially designed for NAS applications, specifically from Western Digital’s red line.

The NAS controller is still a bigger unknown. We’ve had one for years, but I’ve always found their controller software a bit annoying to deal with, so I’ve only bothered getting it to work about five times — ever. However, I suspect knowing a bit more about its underlying structure will make it easier to deal with in the future. At the same time, I still want something I can connect to on whatever terms I deem fit. One lowball priced bay was quickly blacklisted over this consideration.

In other news, the photo trunk has been unloaded and we have started building an extensive catalogue of what we have, starting with school photos.

But before the real work could begin, a couple decades can really do a number on the smell in a confined space. It was so bad, I had to use a box fan to pull air out of the chest into the room and another fan to exchange the air room with outside. Needless to say, when my mother needed the room for drying face masks, the procedure was put to a halt. It took a couple days, but it’s down to bearable levels.

The bottom of the trunk felt a lot better organized than the top tray. There were two handbags and a cardboard box we could pull out. The rest was mostly almost empty albums and framed photos. One of the handbags contained a lot of school pictures (mostly) in their original envelopes, so we decided to begin there.

Using my freshly untethered laptop, my father set up a spreadsheet. To help speed up measuring pictures, he laid down some tape and marked off the inches. For my part, I already had a lot of the school pictures sorted into a bucket, and we’ve been going through that bucket, documenting everything we have. The plan is to work on it a little each day.

Final Question: How would you go about bringing order to near chaos?

Loss

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am working on upgrading ButtonMash to a decently sized hard drive. Let’s get started!

I am humbled to know that Creepers_n_Cream has been a well-loved server. I’m actually impressed at how well God has blessed my efforts given I put it together on a budget of nothing but what I had laying around. We’ve had somewhere between twenty and thirty unique accounts stop by, and we have about ten regulars in our community.

With abundant use comes abundant taxation on the hardware. Even though the RAM situation has been stable since I implemented G1GC not all the bottlenecks are fully addressed yet. The CPU gets pegged if more than a couple people are on at a time, and 60 gigabytes of hard drive space only goes so far when you aren’t deleting old weekly backups.

A few weeks ago, I woke up to the server crashing royally. It had finally finished topping off the tiny hard drive I gave it to start with. My family discussed it, and we eventually ordered a one terabyte solid state drive to install.

The first step is to get the operating system installed. Unsure where my original MineOS installation media went, I located a thumb drive and it mounted as sdd. It had a bunch of old Minecraft servers I could offload.

With the drive void of contents, I pulled up a tutorial on burning .iso disk images to thumb drives from the command line in Linux. As soon as I saw the dd command, I remembered a warning that it might as well stand for “disk destroyer.” Its actual name is Data Duplicator. Aside from working in the command line, there was nothing new about this situation.

Following the tutorial, I wrote a vFAT file system to sdb. Oops, I spelled it “sufo” instead of “sudo.” Correcting my typo, I tried again…

…

…

sdb…

…

…

I used the lsblk (list block) command to bring up all partitions of any disks connected to the drive. I felt the color drain from my face as I inspected the table.

I had heard the warnings. I had double checked. Years worth of memories –gone– in only a minute. This is why you always isolate potentially destructive work by using a computer you can easily rebuild; always minimize the chance of damages with an air gap! Always!

I had goofed. At least I hear this is the mistake you only ever make once. In the fallout, I checked around for a backup, and I found something from last December. It doesn’t have much, but at this point, I just have to trust my past self that I got the stuff that’s most important. As luck would have it, of my three most important personal drives, that was the only one I actually have any sort of backup for, and it’s the only one that wasn’t still in daily use.

I continued with putting MineOS on the terabyte SSD. I used my main tower, but its external Wi-Fi card didn’t register, so I put the project down for now while I focus on recovering my hard drive.

As of writing, I still don’t fully understand the damage, but I’ll try explaining it as best I can. Most of the data is still there. All that really happened was that I shredded the hard drive’s internal map and laid out a fresh one, marking everything ready for redevelopment. If I can somehow survey the abandoned data, I should be able to rebuild the original map.

Fortunately, there are recovery tools I can try. The one I’m trying to work with right now is called TestDisk. I believe it should be able to achieve a full recovery, if used correctly.

But that’s the thing. I don’t know how to use it correctly. I’m terrified that I’ve only got one shot, and if I miss, it’s possible the failed recovery process will cause farther damage, and I won’t be able to try again.

I’m hardly the first person to nuke a hard drive by accident. There are other options around, but I’m still scared that I won’t get a second chance once I try any one of them. The best case for me would be if I found someone else who had written a vFAT filesystem over an NTFS filesystem and replacing two visible partitions, but the creation of such a tutorial would be pointless, as there are way more possible combinations to the point that there isn’t enough demand to justify the supply.

I need to put this project down for a while. I’ve reached out to the Third Workshop, but with the pandemic on, “after school” STEM programs are online only. Otherwise, I have a couple topics I can develop for the next couple weeks. I really want my drive back.

Final Question: What was the biggest computer blunder you’ve ever made?

I’ve Got No Strings

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I carried out a very special and long-awaited project. Let’s get started!

For the one or possibly two people who have read almost everything I’ve ever posted, you will know that I had my laptop’s power port break on me roughly a year and a half ago, give or take (I have a vague memory from that time involving a Christmas tree, it’s been more than a year, and likely less than two).

My father and I stripped my laptop down and got it functional again, though when we tried installing it, the cord was extra long and something at the hardware level refused to charge the battery. Ever since then, the BIOS has been beeping at me every boot that the power adapter cannot be determined.

Several months ago, we decided to take another swing at repairing the laptop correctly this time. I pulled out the broken power port and we were able to grab the part number off it. Looking online, we found a match and bought it.

That part took quite a lot longer than it should have. The package had a hand written label that matched the part number, but when I opened the package, yes it was a power port, and the length looked to be about right, but the connector had seven pins to my laptop’s five. We took a closer look at the company who sold us the part and found they were operating out of China when their name heavily implied they were American distributor. My father asked for his money back, but has yet to receive a reply from these suspected small-scale fraudsters.

After another, much shorter round of waiting, we got a genuine part from a real supplier with a real part label this time. The only difference I spotted were different colors on the wires leading up to the pins, though they were effectively a palette swap from the original.

We grabbed a PDF of the service manual for my tablet and my father printed out the top-level instructions detailing the order of our specific tear down job. I got impatient to start, so I started pulling screws.

I did most of the work myself this time. When we got to the power jack, I used the original as a guide to find the proper routing the cord is supposed to take. I took the opportunity to dust off some hard-to-reach places while they were more exposed than not.

During reassembly, I tried to only tighten screws as tight as they needed to be, in case of any additional work in the near future. The most nerve wracking part was while replacing the screen; I kept catching and more than once did I hear what sounded like something breaking. I also spotted where one of the status LED’s was mostly gone from a tiny circuit on the front. Just the tiniest bit of red could be seen where it should have been, but not on any of the other lights.

Final assembly felt like it took the longest. Not only did I forget to connect the keyboard electronically the first go around, but I had already put the top plate on when I remembered I still had four screws to replace below the keyboard. At one point, I accidentally dropped a screw through a broken screw hole. With a little shaking the “loose conductor” fell right out.

Once everything was tightened back up, I put the battery in and connected everything. Moment of truth. The BIOS didn’t complain. Debian said it was charging, but it was stuck at 0.0% for a while. I swapped batteries and booted to Windows, and everything seemed to indicate things were going well.

It was back in Debian when I saw it. Net battery gain on the smaller battery from 51% to 54%. Prayers answered. We explored the idea that the larger battery might have been damaged from being discharged for so long, but I eventually got a similar confirmed charge point on it.

It was only a small formality to unplug my running laptop and use a little of that fresh battery power.

Repairing your own electronics gives you a much better understanding of how everything works. Even if you aren’t interested in what happens within each circuit board, it still lets you diagnose it better in the future.

Final Question: Have you ever repaired any of your own electronics? If not, have you ever looked inside anything just to look?

3D Printing Against the Pandemic

Good morning from my Robotics Lab! This is Shadow_8472, and today, I am joining the fight to the best of my ability using my 3D printer. Let’s get started!

The CCP Corona Virus has been spreading around the world for months now. Medical supplies have run short, and hoarders reduce availability further. Across the world, people on the front lines are turning to improvised equipment to mitigate the chances of transmission. And when the CDC says that even a bandanna over the face can help, you know it’s serious.

As part of the effort, companies have been bolstering the medical field with products they can adjust their assembly lines to produce. But even with the increased production rate, the demand still greatly exceeds the supply, and will continue to do so as long as an abnormally spike of people are being treated.

Enter: everyday people. With a major percentage of the population stuck at home, people have been seeking out places where they can join the fight. The Folding@Home project has mustered over an exaflop of computing power from donated CPU and GPU time. Seamstresses, such as my mother, have been sewing masks, and 3D printer communities are printing parts that hospitals need.

Good intentions are nice and all, but amateur craftsmen need to realize that quality is an important factor. That is where online communities come in. My mother connected with a local group who is making masks for hospitals. Even though she is giving her masks directly to family, friends, and church members instead of the group, she has learned to make a mask that should be almost as good as the gold standard N-95 masks.

And that brings it up to now, where I just joined a similar group where I can learn what works and what doesn’t work. For me, I need to get my print quality back up, as I discovered when I went to print a number of bias tape folders for the above-mentioned group.

I can’t just use the slicer I had going before because of my recent transition to Debian on that computer, and vanilla Cura doesn’t come with all the settings pre-tuned for my model.

After I finish tuning my printer in, I’d like to look into building face shield parts to compliment my mother’s work, but I’ll see what is needed most when I get there. I’ve already run half an experiment involving layer height and printing temperature. A group should be able to help me calibrate my machine faster.

Final Question: What can you do to help in this fight?

Family Photo Chest Part 5: Opening the Vault

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I started organizing the chestful of pictures. Let’s get started!

But first, I have a new area in the house to call my lab — for now at least. We have a spare bedroom we call our art room and it has been recently made available for use. I’m working off the same folding table as before, but with the extra space –and the ability to close off the area from our four legged friends– there was enough room for my father and me to move the old sea chest from our garage to the art room.

The goal in this phase of this branch of the project is to get a general census of what we have so we know how much storage to buy. Color photos take three times the space as their Black and White or Sepia counterparts, and many pictures have their original negatives stored in there as well. The general guidelines I received was to sort everything into large, medium, and small piles, with separate piles for color images.

We opened the chest and started pulling out various prints. I about have no words for the level of entropy I found. Collections of photos were haphazardly strewn about inside, while other prints were floating free in the photo paper soup. As I excavated, I found where at least a few photo envelopes had lost at least partial containment while in at least one case, a small photo of a motorcycle frame found its way inside a package of my father’s school photos. If it were any more organized, sorting would have been trivial. If it were not at all organized, I could be a lot more mechanical. As it stands, I am choosing to preserve obvious collections and incorporate them into my eventual file system.

Not all collections are bound the same. The most secure collection is a cardboard box stuffed full of envelopes. I all but left that one alone, moving it into a plastic bin along with several other obvious sets. I also had a special place in that bin for less organized sets of photos, such as one series that only had a rubber band. Several loose sets of pictures were obviously taken together, especially if they were together in a stack. Those ended up in yet another folder.

I still ended up with a few surprises. I had to make a pile for non-picture documents and envelopes with their contents lost to the soup. A lot of old mail ended up in there. I even found a lock of hair, presumably from someone’s first haircut. There must be no fewer than four or five languages represented in there.

Eventually, I ended up taking a bunch of sandwich bags and stuffing the loose groups in. I actually found a small picture within a minute while writing this post — in part because of this very tactic.

I owe a big thank you to my father for sorting out ambiguous sets. A lot of the memories in the trunk are his or are from people I never overlapped with. I can see this project taking quite a while. Hopefully, things can get moving sooner rather than later.

Final Question: How do you bring order to semi-chaos?

Linux Deep Dive Part 4: 3D Printer Workflow Online

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am printing myself a bookmark as a “Hello Again, World” project. Let’s get started!

I have a Monoprice Maker Select Plus 3D printer. It’s a rebrand of a product made by Wanhao. For those keeping score, I am running Debian 10 (Buster) on my laptop, and I’m migrating different tasks over to Linux that I can.

My problem: My printer shipped with a version of the Cura slicer specifically tailored to work with it — on Windows. By default, the version of Cura I found on the Debian 10 repositories does not come packaged with presets for my printer or its original branding. Furthermore, the software has had several more years of development since the kiddie pool fork of the software I was used to playing with.

Since last week, I’ve realized that as far as someone at my skill level is concerned, all the specializations are are just a few numbers a sufficiently resourceful individual, such as myself, can look up, punch in, and fine tune as necessary. With the right numbers, I can see where a printer can safely print multiple small jobs on the same bed without waiting on the head to move to each one every layer.

A slicer is only any good if I’m going to print something, so I modeled up a bookmark in Blender. That interface is a new sight for my eyes to behold. I eeked out something for a first prototype using my fragmented knowledge from when I last put printing away.

Over in Cura, I used a slider to set 100% infill; I don’t want this thing breaking on me. I told it to go with structural support and saved it to my SD card. I really like this version of Cura over the dinosaur animal cracker I used to work with.

I went through about half a thing of canned air on my printer and leveled it with an assortment of junk mail and a bubble level. Fortunately I didn’t need to reapply grease. I did have to reassemble my MacGyvered filament holder atop the printer. Somehow, I found the same piece of PVC pipe from before in another part of the house, but I used a rag instead of a strip of cardboard to secure it.

When material started getting laid down, I noticed another old problem. Filament wasn’t quite sticking at the very beginning of extrusion. As the printer continued laying down material around where my bookmark was soon to take shape, I recognized it as a brim. The malformed plastic was relatively isolated, and the print continued without further incident.

Lacking my proper spatula, I peeled the fresh bookmark off the buildplate by the deformity from the beginning, but I quickly learned how easily freshly printed plastic can deform. It twisted and left a minor, permanent warp if one were to look closely enough. Next time, I will let it cool.

The brim was a lot harder to get everything. Between the prototype being too thick for a hardback and me not liking the pointy bits I designed into the sides, I took the design back to Blender, where I had to refresh my memory again on proper modeling methodologies and that’s were I stand now.

Final Question: How frequent do you come across a 3D printer operator using Linux?