Project Evaluation: Old Church Laptop

Good morning from my Robotics Lab! This is Shadow_8472, and today, I am going evaluating a “barn find” of a laptop to see if it’s worth resurrecting to limp along for someone another year or two. Let’s get started!

Eyes on the Hardware

The laptop in question was built for my church to run Audio-Visual (AV) when all it needed to do was run PowerPoint on Sabbath mornings. It was replaced after our audio CD ministry, which was hosted on dedicated hardware, was superseded by live streaming services directly to the web.

The laptop has spent the last several years tucked away in a corner cabinet built into the church office protected by its carry case. After a few calls to the other AV team members, I have permission to do with it what I can.

A further inspection of the case yields a CAT .5e Ethernet cord, a USB Wi-Fi antenna (most certainly useless by now), a bag with some software CD’s, and a tiny, little corner pocket has a slideshow clicker/laser pointer combo with an empty slot where its dongle should be stored. Unfortunately, the package is power cord not included.

Inspection of the Case

Low usage during the laptop’s lifetime means the case only has a few scratches on the lid. There’s even a hard disk logo is clearly visible on a rubber pad where it should quickly get worn off under normal use.

The lid is secured by a spring loaded slider and a couple hooks. Opening it up presents me with an old 4:3 screen. Two stickers to the right and left respectively warn the user about upside down USB ports, and advertise the Pentium 4m CPU.

The bottom has a little more information. There’s an empty, plastic pouch for a business card where someone wrote, “[name]/ SDA/ Church/ AV Dept. 7/04.” Another sticker licenses this machine to run Windows XP Home Edition, and the product key is clearly visible. Another sticker gives its serial number with a bar code, and the FCC compliance sticker says it is an A2500L Notebook PC and asks for a 19 volt power supply, 3.42 amps, 65 watts.

I also poked around, inspecting the sides. I recognize a number of USB ports, a VGA connector and a parallel port –each complete with screw holes– separate Phone/Ethernet ports, a DVD drive, and an empty bay where an optional SD card reader would have gone.

The Search For a Power Supply

This right here could kill the project before it even really starts. It’s why I’m even putting this much effort into writing about project evaluation instead of an actual project.

There was nothing in the cabinet where the laptop hid away. In fact, I left it there a couple days when I didn’t find anything looking through the AV booth, though since I’ve brought it home, my father has suggested looking behind the equipment where a mere AV tech used to operating the system wouldn’t think to look.

You never realize just how many standards of voltage consumer electronics use until you look through the myriad of transformers contributing to spaghetti soup where they collect. Each voltage has at least one different size to keep you from frying something.

My father was eventually able to find a 19v power supply, but it’s way lower of an amperage than the laptop calls for. At best, I’m looking at leaving it to charge overnight for an hour or two of work, and that’s assuming the battery is in any good working condition.

Takeaway

I honestly don’t know if you’ve heard the last of this laptop. Without a proper power supply, nothing is happening. The most we’ve gotten in terms of charging/booting is total power loss after displaying an ASUS logo, most likely while loading the BIOS. Otherwise, there’s an orange light that starts blinking when plugged in.

Future potential is mostly in learning on my end. My goal –assuming I can get it running browsing, E-mail, and possibly streaming a video– is to find someone in the church who needs a simple laptop. I’d be putting a lightweight Linux distribution on it. A friend recommended XFCE with a Win95-like aesthetic, and while I might think a 10 clone would be more readily accepted, the older look might afford it more slack, though a quick search landed me looking at a theme called Longhorn Plex I might try to look like its original XP.

In all reality, this thing is 17 years old! I am literally grave robbing here, even if it wouldn’t feel self-conscious being set up in a museum or personal collection.

Final Question

Have you ever pulled in an old laptop, only to find the power cord AWOL?

Attempting a Personal Wiki

Good Morning from my Robotics Lab! This is Shadow_8472, and today I am trying to set up a personal wiki to understand my own site better. Let’s get started!

Searching for a Wiki

Pick a game, show, or fandom, and chances are you will find a wiki for it — sometimes more. These online subject encyclopedias are normally open for readers to edit, and otherwise need no introduction.

I already knew there existed at least one version of the software free and open source, but Wikipedia has a whole list of them [1]. The table was static [note: only on mobile], so I had to mentally track for process of elimination across categories like open source vs proprietary or even its target audience.

My use case is to make a wiki about my sister’s fanfiction series. She’s built up her own take on the world of Sonic, and we decided it could be fun to learn how to organize elements of her story into a familiar format. If successful, the same process will make it easy for us to grow similar wikis from other stories, like when we’re worldbuilding for a possible role play game.

I landed on pursuing Foswiki [2]. It’s not limited to a single user, it’s free and open source, and it has most or all the features tracked in the comparison cited above. I did not notice at the time, but it expects you to work with Perl, a programming language of which I know little more than the name. I am open to learning, though.

Foswiki Host

For the record, I currently lack a dedicated home server I have complete control over while ButtonMash is on picture scanning duty and my fleet of Pi’s is dealing with unknown issues: either a poorly chosen brand of SD cards or one of the machines going bad. Besides, I was hoping some of you finding this post might be interested in doing this at home, so I wanted to use one of my workstations.

I landed with using DerpyChips. Even though it’s not always the most stable, it is the most readily accessible of my workstations from any point on the home network. I encountered some trouble updating though: a repository in its listings was no longer signed. It wasn’t until the next day of work that I noticed it was just a repository for Celestia, a computerized home planetarium. So far, the issue has been ignored, but it ate up a lot of the time I otherwise would have used towards the main project. In the meantime, I had reached out to three or four places, including the PopOS Matermost chat and the Celestia Discord once I identified the problem.

Apache2

A web site cannot run on bare operating system alone, apparently. There’s an extra layer called a web server. Apache Web Server is a name I’ve heard in relation to the web for a while. I gather it’s a popular choice. It was also mentioned in the installation documentation for Foswiki, and only after I installed it by repository did I notice that it’s only one of a few supported options.

Apache installed smoothly. sudo apt-get install apache2 and Firefox was able to reach the test page for Ubuntu at Derpy’s IP.

My only reservation at this point is a possible mix up between Apache and Apache2. It’s just a version difference, but I have not spotted Apache2 being called out in Foswiki’s documentation.

Takeaway

I fully hoped this would be a one and done project. Once understood and scooted the problem to the side, Foswiki appears more involved than I expected. I don’t want this to become another long-term project, so I may take another look at that list again and see if there’s something geared a little more towards a brother and sister organizing thoughts.

I find it odd that Foswiki doesn’t capitalize their W when most other wikis appear to.

Final Question

How would you use a personal wiki to organize information?

Works Cited

[1] “Comparison of Wiki Software,” Wikipedia. Accessed: June 13, 2021. [Online]. Available: https://en.wikipedia.org/wiki/Comparison_of_wiki_software

[2] Foswiki. Accessed: June 14, 2021. [Online] Available: https://foswiki.org/

HASEL Actuators: A First Glance

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am continuing my research on my design for a personal robot. Let’s get started!

Situation Overview

In my last post on this subject, I introduced my overarching vision for an open source social robot aimed primarily at hobbyists at or around my skill level as of when I first got serious about this project: familiarity with Linux, a little experience with 3D printing, and the perseverance to see it through. This will not a beginner’s project. But that doesn’t mean I can’t plan on lowering the barrier to entry.

When all is said and done and I have my completed plans, any master level hobbyist is more than welcome to assemble one resistor by capacitor by electrode should he see fit. That doesn’t mean I won’t be able to arrange already cut or assembled circuit boards for those who need it. I might also arrange kits for people who just want to assemble their own robot from parts, and I can even possibly open up orders for fully assembled units.

HASEL Actuators

A major concern I’m designing around is cost. Motors are loud, bulky, and as expensive as they can be precise. Artificial muscles can typically be made for pennies on the dollar while offering a lot more design flexibility. They are, however, an overall younger technology.

While there are multiple possible designs floating around, I’ve been reading up on Hydraulically Amplified Self-healing ELastomeric actuators (HASEL), a relatively new technology within the relatively new field of artificial muscles. Imagine a baggie partially filled with oil. Paint or otherwise affix some flexible electrodes to magnetically squish together when a high voltage is applied, and you get the basic idea. The oil pushes out the sides of the baggie, causing the whole thing to contract lengthwise. There have been multiple generations of designs, each with its own improvements, drawbacks, and studies [1]. It makes for some very dense reading when authors use big words to talk about all of them at once.

My goal for right now is to start prototyping this month. Even if I don’t have a high voltage power supply to work with by then, I’m bound to learn something.

Citation Needed

To date, when I’ve needed to credit a work, I’ve listed a name in my text and thrown in a link. Citation was often my least favorite part of writing a paper, but I’ve decided that if I’m looking to be a little more serious about this blog, I really should start using appropriate citations when referencing things.

As I was finishing up this post, I looked up the format. School will teach MLA and APA as a given and Chicago if they’re up for some variety. It’s all a matter of what standard is being used in the field you’re writing for. From now on, I shall be using the IEEE standard as I am writing for the field(s) of technology and computer science.

Of note, the work cited in this post is actually one I’ve been digesting since at least early March, before it’s inclusion in a journal last month. I’ve accessed it multiple times, but I haven’t kept track of it. My father finally made a hard copy this week, so I’m “accessing” it from there in terms of citation.

In all reality, I don’t have a teacher marking me down for imperfect citations. The real goal is to let you guys know enough so it should be easy(TM) find whoever I’m talking about, even if a link dies. I’m also limited by what I can coax WordPress into doing, so proper indentation is not happening any time soon. I tried it. It broke the brackets.

Final Question

My post lengths vary quite a bit. About how long do you think I should aim for in terms of word count?

Work Cited

[1] P. Rothemund, N. Kellaris, S. Mitchell, E. Acome, and C. Keplinger “HASEL Artificial Muscles for a New Generation of Lifelike Robots—Recent Progress and Future Opportunities” Nov. 2020 Advanced Materials vol. 33, issue 19, May 13, 2021 Available: https://onlinelibrary.wiley.com/doi/10.1002/adma.202003375. [Accessed: June 6, 2021]

Family Photo Chest: Part 15.1: Incremental Improvement

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am working with my father, Leo_8472, on creating a master archive of our family photo collection. Let’s get started!

A Project in Motion

I’m starting this post off with a section written by Leo as my first-ever guest writer, since he has been doing most of the scanning.

Hi. Leo_8472 here, and today I am writing about my experience learning curve on using the scanning system set up by Shadow_8472 for our family photo archive. This has been a long process getting set up and now we are starting up production scanning. Shadow_8472 showed me the basics of XSANE scanning software, but here is where I go solo.

The first thing XSANE does when starting is to look for scanning devices. So, the flatbed scanner needs to already be on and fully booted up, or else XSANE will not find it. My next battle was to turn on the ‘Acquire Preview’ so that I can scan only the area of the flatbed with my photo, not the entire glass.

I eventually found the Acquire Preview Window option, but not before going down several rabbit holes. One of these rabbit holes holes pulled me in when I clicked on a gamma adjustment control on the XSANE menu and the gamma controls exploded, making the menu extend off of the bottom on the screen. XSANE would not let me move the menu up higher to reach any controls at the bottom of the menu, like the scan button. So in an effort to get more screen real estate out of the garage-salvaged VGA monitor, I swapped on an HD LCD monitor from my usual computer. Ahhh, an HD image at last. Almost. The image Button Mash was sending to my HD LCD monitor was exactly the same as what was sent to the VGA monitor. ARRGH! To get higher resolution I had to dive into the operating system’s monitor settings and raise the resolution to maximum for my new monitor. This mostly worked and I was able to see more of the XSANE menu, but not all of it.

Shadow_8472 came to my rescue to help me resolve the menu difficulties. He did not know the solution off hand, but started the process of looking up instructions for the gamma controls on the internet, ans we found a “Candelabra” toggle in the XSANE menu which will shrink the menu to a civilized size.

With the menus tamed and the Acquire Preview window showing, it is time to scan. I select a photographic print from the archive and examine the front and back of the print. Some of the photos have valuable information written on the back of the photo. (Old style Metadata.) I can often decode some of the info on the back of the photo such as a date or a name and sometimes the information is in Russian, which gives me a hard time. Anyway, photos with writing on the back get scanned both front and back. We decided to add the letter “F” for “front” and “B” for “back” to the end of the file name so that we can keep the files together.

I scan the front of the photo first, save it to a descriptive directory and then scan the back of the photo. We started scanning small photos at 1600 dpi and found the result was huge and filled an HD monitor display. 1600 dpi will pick up the texture of the surface of the photographic paper, so there is plenty of latitude for future cropping, if anyone wants to make an enlargement of this photo in the future.

The scanning process is repetitive, so I try to get into a rhythm of the steps required. Saving the scan to our Network Attached Storage (NAS) was taking at least as long as scanning and making for longer wait times. To shorten the wait, we repaired a length of CAT6 cable with a new end connector and put the scanning system on a hard wire cable rather then relying on WIFI.

We performed a test to determine our improvement in network speed by scanning a sample snapshot and timing the save using WIFI and using the CAT6 cable. We found that our sample snapshot of about 70 MB took about 34.5 seconds to save using WIFI and a second scan of 90 MB took about 4.5 seconds to save using the CAT6 cable. Saving 30 seconds per scan for this sized file is a great improvement as it is almost 10 times faster using the hard wire connection.

Future potential improvements to the scanning process would be to implement our ideas on the physical handling of the prints that we are scanning. Another important thing for this scanning project is to try to make progress every day to keep the momentum going. Eventually we will get through the whole archive.

Ethernet Enabled

Shadow back here. A while back, I was given the remnant from a spool leftover from when someone ran a network wire under our church. Originally, I was going to use it for a model supercomputer, but that project is on hold pending a better understanding of packet routing; I don’t want the individual nodes seeing other computers on the home network.

I had an idea while originally brainstorming the setup to run that cable from the router to the room where we’re set up for scanning, preferably before we cut it up into a bunch of little patch cords. We learned how to put the connectors on, but the cable didn’t work.

We eventually got confirmation from a continuity tester we ordered that a couple wires were switched, and one didn’t connect at all. In an effort to speed up saving each individual picture, we pulled out the tools to redo the ends. Leo managed to find the exact video for our crimping kit, and when the first one was done, I went ahead and tested continuity again. By chance we had fixed the bad end, and the results matched a known good cable.

I ran the cable from the Button Mash workstation directly to the router. Once I had it adjusted and everything, it had maybe a few inches to spare. We ran two tests: a ping test, and a speed test. When pinging the router at 10.0.0.1, we were hearing back about four times faster. The speed test had Leo scanning a picture and saving it once over Ethernet, and once over Wi-Fi. Ethernet finished saving in about 3 seconds. When we went for Wi-Fi, XSANE crashed while switching over, so we rescanned and saved a similar file, and it took around 30 seconds. My Pi 400 is stepping down from Wi-Fi duty.

AI Enhancement

And now for something I spent a while on, but have yet to get working. I thought it would be funny to pull a fast one on Leo by using an AI covered in one of Two Minute Papers’ YouTube videos last year. He explained how researchers came up with a new way to colorize black and white photos that addressed many issues with missing data, citing subsurface scattering where light bounces around within a subject’s skin before coming back out.

I managed to find the GitHub from the project and clone it. I tripped during configuration, not understanding the dependencies had a step to install them using an environment tool called Conda until someone pointed it out to me. Conda was a bit of trouble in and of itself. I don’t know exactly how I got it working, but one time I repeated an instruction and got a working result when expecting another failed one.

I set up the environment and switched to it, but eventually ran into an error I’m not able to blitz my way through: CUDA out of memory. All four gigabytes of my GPU (Graphics Processing Unit or graphics card) were gobbled up by the test pictures, and the model kept asking for more.

I even went to the lengths of asking my sister if I could put my hard drive in her computer to borrow her graphics card, but the thing ate through all 8 GB of hers and burped out the same error without seemingly making any additional progress.

My trouble is I don’t know what kind of hardware I need for this. I’m imagining a dedicated server with four top of the line GPU’s running headless (no monitors, accessed over SSH). There’s still the chance it could be looking at my card and thinking it can take everything and make up the difference with relatively slower resources elsewhere on the system. In that case, I’d be pouting at me over having to share with my GUI (Graphical User Interface).

Takeaway

You don’t need to wait to start a project until conditions are perfect, otherwise things will never start as new ideas are half-developed and never tested. Think small thoughts starting out as you continue dreaming big. Invest slowly as you need it.

Final Question

What sort of features would you like to see if/when I see about a site redesign?

Family Photo Chest: Part 15: Day 1, for Real This Time

Good Morning from my Robotics Lab! This is Shadow_8472, and today is officially –no questions asked– Day 1 of actual scanning my family’s photo archive. Let’s get started!

Scanner in Motion

We’re scanning! We’re actually, finally scanning! It feels worth almost nothing that most of my research on fancy techniques is in the bit bucket. It’s been a long year for me, yet when I picked it up, my father had had it for quite a bit longer.

It came to my attention that my main hangup is names. I don’t know who most of these people are, where they are, or when they were there. Meanwhile my father keeps doing show and tell. In the end, this is still his project just as much as it has been mine. I have researched and assembled the equipment and software, but he is going to be the main force behind putting names to everything.

Our System

We are taking some advice we found about grouping photos by location and approximate year. Batches are now defined by these groupings in their own directories, for example: LosAngeles-1952. We’ll also have a metadata file we should be able to do something with at a later time if we need it.

While the microfiber gloves aren’t working out for us to wear, they’re still microfiber, and they can still clean dust. Even then, there’s only so much that can realistically be done. Rips, scratches, and mold have destroyed original data.

Scanning is unfortunately picture by picture. There is a possibility I might try something with the GIMP XSANE plugin later, but for now, bare XSANE works well when used as intended: preview, select scan area, scan. We’re dumping our scans directly onto the NAS (Network Attached Storage), changing the name of XSANE’s preview as we save it to denote front or back when necessary.

Scanning at 1600 dpi, a postage stamp displayed at full resolution would nicely fill the old, boxy, VGA tube monitor I pulled in from the garage; a postcard natively fills a more conventional HD monitor. I was dreaming it might go up to 4K or 8K; technology progresses, but the archive will not.

To come is digital editing for the best photos. Acidic paper slowly eats itself away, giving old photos that characteristic yellow. Rips, scratches, mold, and dust will take time to remove, but it’s perfectly doable with a brush. And of course, edited photos will get a manual deskew and crop when needed, which is most of the time as I can’t stand to lose detail off the scan area, and it doesn’t line up with the glass perfectly.

Takeaway

Writing on the back is what really killed most of my grand plans. XSANE really didn’t want to accommodate in that department, my hack confused my mother when my work in progress confused her, and I never got around to touching the script I saw mention of for putting front and back side by side in the same file. On top of that, scanning backs is prone to mismatching when using the script Divide Scanned Images.

This project is a team effort now. As noted earlier, I’m being the tech support here, and my father is moving to be the star of the show. We’ll be trying for at least a package of pictures per day, and if it all goes well, we’ll bring the second workstation into the mix.

Final Question

Have you ever worked on a project, only to have someone seemingly take over, but realized it was turning into more of a group project with distinct roles?

I Got Git, But No Pi

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am starting out with Git. Let’s get started!

Previously…

Last week, I was all set to install Git on BlinkyPie, my Raspberry Pi 3B+, but it had some problems with accessing the apt store. I felt lucky getting away with barely fixing what I broke, but the cause remains unidentified.

Git

Disclaimer: this will not be a comprehensive tutorial starting out. There are plenty of those already. If you’re just starting out, I recommend a shorter tutorial. I viewed three videos ranging from 15 minutes to an hour (I still haven’t finished the hour long one) and found the information density roughly the same with longer tutorials covering features and configurations I’m guessing aren’t important for a single user first project. Focus on the main loop, then expand. For any one who missed my last post, GitHub is a site hosting the most well known and widely used Git server. I won’t be touching it today.

Every time I do any research about Git, it seems about ten times bigger then last I remembered. It’s free, it’s open source, and it’s even industry standard for tracking changes in a project (Version Control). I should have been using it ten years ago, but like pretty much any tool originally written with Unix or Linux in mind, its initial impressions when using it on Windows were that of an aquarium at a dog shelter; it’s been made to work, but it hardly looks like it belongs. I strongly recommend project or two in a Unix like environment to learn the command line if you want to become fluent in Git without relying on a graphical interface.

Git Server Installed, Not Configured

I have yet to see what is of BlinkyPie, but I was easily able to install Git server onto GoldenOakLibry, the Network Attached Storage (NAS), from repositories over the web interface. Had this been restricted, like what happened with my Bitwarden server, I would have proceeded with rigging a Pi to host while storing the data proper on the NAS.

Proper server side configuration will be a matter for another week. My goal was to have a test repository accessible from all my workstations. However, it appears I need to do such things as make a git user and set up credentials and user keys. I’m not prepared to do that this week.

A Simple Start

I know it doesn’t sound like much, but I have taken my first steps toward intuitively understanding Git. I made a directory and used git init to tell Git it is a repository. Git in turn made a hidden administrative directory called .git, which I don’t touch on pain of messing up the project history. I made a simple text file and walked myself through adding it, and committing it with some difficulty following on-screen instructions when it wanted a note about the commit.

The next step would have been to push it to a repository I’m at a loss for setting up. While writing, I went through the same steps again on GoldenOakLibry with no idea how I’m supposed to use a server except possibly using clone on all my client machines. I even went through the confusion that is vim terminal text editor, since nano wasn’t around and won’t be for the time being.

Takeaway

Git is big. Every programmer should learn it. Just don’t go learning both Git and the command line at the same time. I had trouble learning which was which way back when. And if you reasonably can, install Linux. All it takes is a small distribution on a thumb drive; an old computer is even better.

Final Question

Got Git yet?

I Didn’t Git It

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I tried adding a Git server to my Bitwarden server, and blew most of my time on a detour. Let’s get started!

Git

Git is an open source version control platform, not to be confused with GitHub, a website and hosting service implementing the software. Git is sort of like an Undo/Redo history, but you can switch off old changes and put the new ones on. It will be very useful –if not project saving– while building my social robot. The only problem is that I need to learn how to use it from a developer’s point of view.

I want to install a Git server. My target is my Raspberry Pi 3B+ hostname: BlinkyPie operating system: Raspberry OS lite. It’s already running my Bitwarden server to host passwords, and has plenty of space on its SD card for starting out and ample room in its CPU cycles.

Failed installation

As always, the first step in installing any piece of software in Debian family Linux distributions (distros) is to update repository information. sudo apt-get update The log put up a warning about the locale. I didn’t think much of it until Git didn’t install.

Logs are not always the easiest things to understand. They’re also not the easiest for search engines to decode when nobody has made attended to the exact wording. Even now, I have no idea what’s going wrong. What I do know is that when I tried messing with the locale configuration settings under raspi-config, the whole system would stop responding to any command I sent remotely logged in over SSH other than exit (ending the session). Further attempts to connect would fail until I rebooted from the physical switch and I would repeat the cycle.

System Failure and Backup

Things got really messed up to the point where I started worrying if I’d ever get my passwords back. I mentally went into recovery mode, trying to salvage what I could. I started by using dd to Duplicate the Disk onto the NAS so I could restore it if I messed it up worse. I also observed that my Bitwarden plugin has a limited-time retention of my password vault in case it can’t reach its host server. My vault was soon exported, where it would be safe in case of a total system wipe and reset.

With the only irreplaceable nugget safely tucked away, I unsuccessfully turned my attention to extracting the Docker image hosting Bitwarden, and settling for the contents of the home directory. This whole time, I was also researching what operating system I was going to replace Raspberry OS with. I seriously looked at Arch, Manjaro, and Apache, though that’s not something I can just do in a single day and expect satisfactory results: I gave repairing what I had one more chance.

Net Work: Nothing

After sifting through the tons of free tools for checking SD card integrity, I landed on linux.goeszen.com/how-to-test-an-sd-card-on-ubuntu. It tells of a tool that “comes with most debian based *nix systems” called dosfsck (also present on Manjaro). I told it to repair the SD card and test for bad clusters. It found a “dirty bit.” I won’t pretend to understand, but it appears to involve the computer’s CPU tracking modified data in RAM.

There was another error it found and repaired I wasn’t able to understand myself, but when I booted it back up, everything was back to the way it was before. The next step is to make another image and do some research before hacking another OS in there.

Takeaway

In retrospect, I probably should have checked if GoldenOakLibry, my Network Attached Storage (NAS) unit, can do Git easily. I’ll probably need more than the 64 GB of storage in the server’s card. Besides, I’m asking for trouble if I don’t at least schedule regular backups for something as important as passwords, even if I weren’t thinking in terms of potentially faulty SD card.

Final Question

On a scale of annoyed to paralyzed, if you had to roll a many sided die and yank that hard drive as if it were now destroyed, how much pain would you be in?

Let’s Build Robotics…

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I have a very exciting project announcement, one I’ve been looking forward to working on since I started this blog. Let’s get started!

Introduction

I’ve always dreamed of having my own social robot, and while I’ve spent the past few months researching the subject in my spare time, I still feel like I don’t know the second thing about actually building one. Way back when, I heard Linux was the operating system of choice for the craft, and I’ve been here ever since, and I’d like to move on.

I want to make an open-source, ambulatory social robot that can hold on a conversation, operate independent of a host computer, and be buildable/affordable by an avid robotics hobbyist. I know I don’t have the skills, and technology may need to march on before all my goals are feasible at once, but I fully expect this project to take over ten years. I respect the open source community, and I want to start giving back.

Background

The field of robotics is about as developed as computers were in the 50 to 60 years ago: large, clunky models confined by their price tags to businesses or universities; commercial applications cultivate a public awareness in the commercial sector leading up to early adoption in the home with the number of use cases blossoming as the technology develops.

One future of robotics under development has robots built for socialization. Where robots of today may feel like little more than computers personified, social robots can bring a character to life in the real world. Imagine: an automated service may benefit from a relatable face. One robotic puppy now on the market is aimed at forgetful seniors who might be at risk of neglecting a living therapy animal.

Who says a robot must have a riged frame, run on servos, or use other parts that boost their cost? A number of artificial muscle designs are cheaper, lighter, and simpler to make. I’ll go into more detail in future posts, but the kind I’ve been studying offers a world of design possibilities motors struggle to replicate.

Finishing Thoughts

It is my hope that I can work on this mega project as I can, and post video updates every three months or whenever I reach a major milestone. I will still have other topics as projects come up, and I may even do side projects directly intended to practice/develop skills for this project. For this reason, I won’t be using my usual numbering system. The parts for this robot are mostly out there. I just need to assemble them and make up the difference.

Final Question

What would you do with a personality robot you could take anywhere?

Family Photo Chest Part 14.4: Assembling a Scanning System

pricingGood Morning from my Robotics Lab! This is Shadow_8472, and today, I’ve studied another photo scanning system available on the web. Let’s get started!

Introduction

Scanning seems evermore a topic I’m learning about without entering production. I’ve lost count of how many workflow iterations I’ve come up with, yet each time I feel closer than ever to that most elusive batch #0001.

I’ve now studied the free portions of two workflows from people who claim years of experience: scanyourentirelife.com and howtoscan.ca, but howtoscan is my favorite between the two. Both give enough of their respective systems away to be functional, but they each offer additional, step by step, click by click training affordable to anyone rich enough to afford a dedicated scanner as is recommended when scanning thousands of photos at home.

My outline today is based on what I’ve gleaned from freely available sources, though influences of the above two are more prominent in my mind.

1. Have a System

Anyone can throw a few prints in a scanner and share them online. Hundreds or thousands of pictures taken and organized by people spanning generations mandates some form of structure.

My system at this point looks like it may be sorting pictures by immediate family of origin and further sorting by year. Eventually, each item will end up in one of several 10-12 gallon buckets that can be scanned and moved to a neat “completed” stack.

2. Select Hardware Wisely

You don’t need a $50,000 professional scanner if you don’t know how to use the $150 one intended for home use you may already have lying around, like me.

If, on the other hand you are buying a scanner new and already have scanner software piked out, like XSANE, you should make an effort find a fully compatible model. Remember: marketing for home grade scanners doesn’t always have quality results in mind; they’re there to sell a product to the general public. This probably isn’t you if you’re taking the time to research.

Thought should also be given to storage. You may choose to store your photos on a cloud or locally, but if you’re planning your digital archive lasting another 3 to 5 generations, I would recommend some form of protection against hardware failure, such as a RAID configuration featuring redundancy.

3. Assemble a Workstation

Less important is the workstation you’ll be scanning at. In my experience so far, RAM is a limiting factor. Right now, I’m working with a keyboard, mouse, and monitor are straight out of the 90’s. Other than that, your average workstation should be fine.

I will note that since I have animals in the house, I have a room with a door to keep them out. I will also note that I feel safe enough leaving the door open when I’m in the room with all the pictures in the buckets mentioned above.

4. Capture Natural Scans and Fix in Post

Again, standalone scanners aimed at households will have modes invented by the marketing department to sell scanners. Scan at your final resolution, dust and all. Anything you do to a scan preview is permanent to your scan proper. Take advantage of automatic numbering in names. Work on a copy in a program designed to manipulate images, not one intended to sell scanners. Scan in batches with similar settings to save time fiddling with software settings.

My setup uses GIMP. I’ve taken a class on the basics in Photoshop, and about the only thing I miss is something like the Quick Select tool, but GIMP beta has an early version out for testing before their big 3.0 release. I also plan on using a script called DivideScannedImages so I can scan multiple pictures in a single pass.

Now this last part will hurt, but not everyone will be interested in his or her 8th grade school photos or the backside of a motorcycle frame. Pay the most attention to the pictures people will want to see.

5. Manage Your File System

Whatever file system you learn, learn it. Metadata is your friend. Learn how to add tags, dates — for all I know you can add whole pictures (would be nice for photo backs annotated in foreign scripts, but probably not). HowToScan recommends learning how to use batch handling, and the Linux command line usually has it baked in.

Takeaway

I can see why people might spend years figuring this stuff out and valuing it at X hundred dollars to sell the specifics. Some people need step-by-step, click-by-click instructions, but I don’t feel the need for me. I had a class in Photoshop, and most of the important points in one of the howtoscan free ebooks was all about using the “healing brush,” a technique I once used to remove a power line from a church building photo — the line art of which is still used in the directory to this day.

This has been a hard push of a month. I expect to return to assorted topics next week.

Final Question

How much would you pay to learn how to scan?

Family Photo Chest Part 14.3: Into Production, Right?

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I’m making the first official scans for this project. Even then, I might have farther still to go. Let’s get started!

False Starts and Setbacks

I’ve wanted little more all month than to finally get some momentum going on this project — to actually have some results I can point to and say, “This is a sample of my finished product.” I want to know tangible progress is being made. Unfortunately, I still have much to learn.

I wrote a series of instructions on how to use XSANE scanning software with the setup I’ve assembled. I started with a set that covered opening the program and making sure it was configured correctly. A second batch of instructions covered what to do to prepare for a new batch of scans — how to name the directory and reset the name counter. Finally, a third and most important set covered actually scanning each set of pictures working through the envelope, rubber band, album, or whatever constitutes a manageable grouping. I got through the instructions the first time and my trainee went back to open XSANE fresh again.

While attempting to push into production, I quickly found the DivideScannedImages script doesn’t do so well with picture backs. I don’t even know how I want to display such pictures with their backs. It’s a topic for some time after I’ve reverted to monthly updates. I’ll probably end up scanning and retouching such pictures manually.

I decided narrow the focus of eligible batches to scan. If you have the negatives, that’s all the detail there ever was to capture right there. I was going to save batches containing the original data for another week, but the archive has way more negatives than I anticipated and my focus was now too narrow.

One of the scanners I’m working with came with a slide/negative holder and XSANE has a host of negative presets. I ran some numbers, and I figure I’m capturing about the same level of detail scanning prints at 1200 dpi vs maxing out the scanner on negatives at 6400 dpi (XSANE does not appear to let you access interpolated resolution in the scanners’ specifications).

But the process was way more involved than I thought. The colors were way off once inverted, and there was some pretty bad speckling that overpowered the filter on XSANE’s post-scan viewer. My father and I tried again on a more recent and hopefully less faded negative, and the color sort of came through… after I had poked at it with GIMP, but it wasn’t something I would put on display.

My shortcomings don’t end there. I have albums wider than scan bed to consider. There was a time when photos were available on CD and I might be able to harvest metadata from there. Duplicate detection and CD metadata harvesting.

A Footnote on UI

On a more positive note, I’ve been learning more about other aspects of using retro hardware. The division script in GIMP is too tall to display on this old monitor, even when hiding the panels (“start bars”) at the top and bottom of my screen. This is more a desktop environment problem, but by digging in my settings, I found that Alt + Drag (optionally Super/Window + Drag) moves windows around without the need to grab the title bar. I put the script up and out of normal bounds, and it failed spectacularly (see above).

Takeaway

These setbacks are the very reason you would pay good money for a professional who already knows how to scan. Besides, properly scanning negatives illuminates from one side and scans from the other, and I’m working with a purely reflective system. Suffice it to say, negatives are beyond the scope of this project, and I’ll be focusing on prints until otherwise stated.

Final Question

What project have you tested your patience with? How is it coming along?