Turn an old Computer into a Local Fileserver (Mostly Graphical Setup)

We’re running out of space. With photos, astrophotography files, and music recordings and work and just life stuff; we are running low on hard drive space. Over the years we’ve bought a few external USB hard drives but even those aren’t manages well and being portable get moved around a lot. That’s not the safest way to handle hard drives. Unless they are SSDs, they can be damaged by moving them around and such. We needed a better solution. I prefer using GUIs to set things up but will for through the terminal if I have to… I just haven’t used my unix fileserver skills since I worked in IT and my linux is a bit rusty as well.

Googling around you’ll find a ton about setting up a NAS or RAID5 or somesuch, but that’s overkill. I’m not looking to spend any money with this, otherwise I’d just have bought yet another portable drive. I already have a bunch of hard drives full of stuff (and honestly, there are a LOT of duplicates of each file taking up tons of space from the crappy way I store my backups). I want to use those drives and be able to clean out the duplicates to gain space. The first step is to build a basic file server.

I had a linux machine (my workhorse during grad school) that wasn’t being used, and  bunch of old hard drives that I wanted to use/access  It was a variety of drives from old PCs (back to win XP actually, and even older). I had a few external drives that broke so I just plopped them into this machine as well. I didn’t want to format them for a RAID or anything as they were all different sizes and I had data like pics and projects and work stuff from ages ago on them I wanted to keep. The best solution for me was the JBOD (just a bunch of drives) style server. All the NAS examples looked annoying to setup and I’d easily forget what I had done to set them up so JBOD it was.  I couldn’t find any single document explaining how to do all the steps I wanted so I spent a couple of weeks failing in my spare time… breaking and unbreaking my linux fileserver and documenting the working parts here for when I need to work on it again. I prefer doing things with GUI if possible, but I’ll do some things using the terminal because you just have to but I tried to keep it to a minimum.

Installing Linux:

If you don’t already have linux running on this computer, I suggest you install it. It sounds hard, but it is super easy to do actually. Just download any flavor of ubuntu you like (lubuntu, kubuntu, linux mint, cinnamon, etc.) I recommend the versions that say “LTS” as those are supported for 2 years or so. There’s a lot of options here.

Install linux without formatting hard drive or losing data:

  1. Download Wubi. This will let you install linux without killing your windows files or messing anything up. you can always uninstall linux later if you want using this method.

Start clean on either blank hard drive or format an old drive:

  1. Download ubuntu flavor you prefer
  2. Format a USB flash drive that’s at least 2GB (lubutnu and xubtunu) or 4GB (all other flavors).
  3. Use Balena Etcher to burn this ISO file to the USB drive.
  4. Once finished, you can reboot your computer.
  5. Enter the boot menu when you see your computer’s startup logo (before windows logo) by pressing either F10, F11, F12, or the delete key. Different manufacturers have different keys they choose for this.
  6. Select to boot off the USB drive.
  7. Doubleclick the icon on the desktop to install *buntu. Follow the menus or youtube videos on how to install it.
  8. Remove the USB drive and reboot when done.

I was already running ubuntu so I just needed to put all the drives in the computer case. I could have 2 drives that were IDE on the same ribbon cable, and 4 SATA drives on the motherboard of my old linux box. Sadly, that’s all this mobo could accommodate. I see spots for 4 more SATA drive on the PCB but they aren’t populated. I filled all 6 spots with drives, making sure that all the drives were set up as slaves except the bootable one (see another post about how I set that up).  I also had a TON of USB ports on this motherboard as well (literally 6 on the back, 2 on the front and I added 2 more to a breakout cable inside for a total of 10 USB ports). These can add more portable drives and other drives with some of  these awesome USB to IDE/SATA drive cables I have to the server. As I loaded these drives in the bays I made a note as to their serial numbers and capacities. I wrote it on paper, but I also used a sharpie and wrote it on the chassis so I could keep track of what is what and where.

When I turned the machine on, I went into the BIOS and set up the boot order for the hard drives so that my /filesystem always boots first in order of hard drives.  When booting the linux machine, hold the Delete key to enter BIOS. Then go to Advanced BIOS Features.

bios1

Next select “Hard Disk Priority”. Here’s what that looks like:

bios2

Finally, use the arrow keys to select a particular hard drive (the one you want to boot from) and then use the + key to increase its priority until it is number 1:

bios3

Once this is done, Hit F10 to save and exit BIOS. It will reboot the machine into linux as it usually did.

Accessing all the Hard Drives:
Open your ubuntu menu and search for the “disks”  program. This should be part of gnome-system-tools, which is a standard program in ubuntu. If you don’t have it then open your package manager and search for it. Mark it for installation and click the “Apply” button. or open a terminal and enter the following:

sudo apt-get install gnome-system-tools

You can copy that line of text paste it into the terminal using ctrl+shift+v to paste in a terminal.

All your hard drives should be visible in the Disks app. It lays out all the gory details. Serial numbers, model numbers, etc. Click each drive in the left and note what the “mount point” is for them. I have my Filesystem (this is where I installed the linux operating system)  and /home mount points on separate drives. /home is like the user folder in Windows with a folders for Desktop folder, Documents folder, etc. Separating this from the operating system installation file tree allows me to reinstall linux without breaking my user’s documents and settings and Desktop items, etc. I have another post on that and it has served me very well over the years.

For my other drives, they have mount points that start with /mnt  and end in a weird code.  That code is the UUID (hardware ID) for that hard drive and it isn’t very descriptive for humans.  Let’s change that to something helpful. For instance I changed my 1TB drive’s mount point to /mnt/_old_1TB_MyBook

image

Once all the drives have normal names click the link to one of them and it’ll take you to the folder in your file browser. Go up one directory to see all the hard drives. You’ll note the old folders with the UUIDs in there as well as any old names you had mounted in the past, but they are empty. Only the mount points you named in Disks are connected to your hard drives. You can just delete the other empty old mount points. You have to be root to do so. I used the terminal and the command sudo rmdir <folder name> to delete the ones I was CERTAIN were empty old mount points.

All we’ve done here is essentially modify the /etc/fstab file which contains drive mount info. Lots of other tutorials out there can show you how to do this in the terminal if you want to know how.

Now we need to install all the other software we’ll need for the other steps of setting up the server. in your start menu, search for your package manager software. Mine is “Synaptic package manager” and install the following (make sure you check the box next to these entries, select “Mark for Installation” and when all are selected, click the “Apply” button.) Don’t be surprised if some of these are already selected, just ignore them then:

gnome-system-tools

samba

samba-common

python-glade2

system-config-samba

Or you could open a terminal and paste the following which will install them all for you automatically

sudo apt-get install gnome-system-tools samba samba-common python-glade2  system-config-samba

Once these all install you will create your linux users who can access this machine. You need linux users to be able to create Samba users. Samba is the file server software. From your start menu button, search for the app “Users and Groups.” Add whoever needs users for the fileserver.

linuxUsers

Now you can start fiddling with Samba, which is the actual fileserver software. Since there’s no icon to select to load this app, you need to open a terminal (hit ctrl+alt+t) type or paste:

sudo -H system-config-samba

You can copy that line of text paste it into the terminal using ctrl+shift+v to paste in a terminal.

You have to enter your password, but then a window should pop up. The very first time I did this I got the following error:

SystemError: could not open configuration file `/etc/libuser.conf': No such file or directory

ok, so the file doesn’t exist… I’ll simply make a blank file there and try again.

sudo touch /etc/libuser.conf #creates a blank file named libuser.conf in /etc folder
sudo -H system-config-samba

Success! It opened!

samba server config

Now we need to figure out which folders we want to share and how they are set up in linux.

As we saw before, the internal hard drives all have mount points in the /mnt folder. So let’s create a share for that. Click the big plus sign button and make yours match mine below. Be sure to click the “Access” tab and make it open for everyone.

image

Do the same kind of thing for the /media folder. This is where any USB storage devices will mount to by default.

And finally, I have a TON of files on my old desktop and user folder, so I want to make the entire /home folder accessible as well. You have to be careful with this though because if you allow all users (and even guests) edit access to your home folder, they can delete stuff, and snoop to their hearts’ content. Any sensitive data should be locked so that users are required to log in and can only access their files. If for example you wanted each linux user we created earlier to access only their home folders, you’d set that up as /home/adam then you could set the access rights to only allow user “adam” to view it.

Once you’ve set this up, now you must create the Samba users. While in the same application, select Preferences –> Samba users. Here you will add a new user with the same name as each linux user. You will select each user from the “Unix user” dropdown box (this is why we had to create all the users before). You can have the same or different passwords than your linux login. Once you added everyone, close this app. The steps we just took replace the manual process of editing a configuration file for Samba. This is a plain text file stores in /etc/samba called smb.conf and this is usually what most tutorials will do, show you how to edit this file manually. I didn’t have luck with that. Also, you might see tutorials using a tool called gadmin-samba however when I used that it completely hosed up my system hardcore. I had to purge all samba stuff, delete all the files and start from scratch several times to fix the issues.

File/Folder Access Rights:

The final step here that is required is to set the access rights of each folder you want to share. This is important because unless we change these permissions, we will end up only being able to VIEW files and folders on the server but we can’t create new files, paste, move, or delete anything yet. To fix this we need to change the permissions on the folders we set up to share.

We need to open the folders as root or administrator. Depending on the file manager software you might have different ways to do this, but in mine you simple right click ANY folder and choose “open as Administrator” or “Open as root” then I can simply navigate to the filepath “/” If yours doesn’t offer this, then open a terminal and type in the name of your file manager but call it from sudo like one of the following lines:

sudo nautilus /
#or
sudo nemo /
#or
sudo caja /

Right click on the folder of interest, for example “/mnt” and view the Properties. Click the Permissions” tab and make sure that they all show the ability to “Create and delete files.”

But if you’re using the terminal anyway, you can simply use the chmod commands. Here’s the best explanation of how to use it I’ve ever seen. You can make /mnt and /media fully writable like this:

sudo chmod 777 –R /mnt
sudo chmod 777 –R /media

Or you can give others the ability to look at files in your home user folder, but not create or delete like this:

sudo chmod 755 –R /home/adam

And you can block others from your folders and have them only viewable and editable by you like so:

sudo chmod 700 –R /home/adam

On the Windows machine:

Now your fileserver is set up you need to access it. Go on your windows machine and open a file browser window. Right-click on “This PC” and select “Add a Network Location”  Click Next until it asks for the location. Click “Browse” and wait a minute for it to search your network. You should see your fileServer’s name pop up in the list. Click literally any folder under the fileServer and select Next.

fileserver List

Shorten the terribly long name it gives you (I just delete the highlighted part) and you’re done.

name1

It’ll pull in the other accessible folders on that drive as well. Now you should be able to access and edit anything on those folders on the fileserver. To get to this again simply choose the fileserver option in the left-pane of the windows file explorer. If this doesn’t appear, then make sure your server is turned on and is on the same network as your windows machine and repeat the instruction in this section of the post.

remote

The first time you visit something in here it might ask you for a username and password. Just enter one of the Samba username and password combos we created earlier. You can make it save these credentials and never ask you again if you’d like.

Cherry on top – Remote Shutdown of server:

If you don’t want to connect a keyboard, mouse and monitor to the screen just to shutdown the fileserver, you can do so remotely by installing and using SSH. SSH is a way to securely tunnel into the fileserver’s terminal remotely. That way you can send it the standard linux shutdown message from your windows PC when you are done with it for the day.

Open synaptic and you should select the following:

or run the following command:

sudo systemctl status ssh

This will install the needed files for SSH. Next, we need to let the firewall built into linux know you want to allow ssh. In a terminal window run the following:

sudo ufw allow ssh

Now you can go to the windows computer and use putty.

Putty1

Enter your data here (keep the port as 22) and when you click “open” a black command window will pop up asking you who you want to login as. Type your linux username and hit enter and it’ll ask for a password. Now you’re commanding the terminal of the linux machine from windows. You can do literally anything the terminal can handle. You can’t do anything that requires GUIs though this way. That’s fine though because this is enough to send the reboot or shutdown signal. The shutdown takes about a minute before it actually shuts down, so don’ t think it isn’t doing anything, just give it some time.

sudo shutdown
#or
sudo reboot

Remote Desktop:

If you want a graphical environment for controlling your server, there’s 2 options. One is to simply remote Desktop into it.  There are many ways to do this, but the easiest is to simply install and enable the xrdp app on the linux machine and use the built-in RDP app in windows to connect.

Open synaptic package manager and search for xrdp and xorgxrdp.  Mark it for installation and click Apply.

Once this is done, go to the in the App search, look for “System Settings

Go to Sharing and make sure Remote Login is ON.

image

Next, in system settings, click “Network” in the left column and then click the gear button next to your wired (or wireless) connection. This will give you your IP address. It should look similar to your router’s address. Mine’s 192.168.x.x. You’ll need this to connect in windows.

To do all this in the terminal on the linux machine (or through SSH) run the following:

sudo apt install xrdp
sudo systemctl enable xrdp
ifconfig

This last command, ifconfig, will give you a screen showing you the local IP address of the machine. It should match closely to your router’s address. Mine is 192.168.x.x so I look for something that matches that. You’ll use this on the windows machine.

Now on the windows machine, click the start button and type “RDP” and hit enter. Type in the IP address of the linux machine.

I found an easier way. Simply right click on the fileserver in your explorer folder and select “Remote into this machine”

image

When you click connect, you’ll be able to login. I had a little trouble with this connecting. I tried all the selections in the dropdown menu a couple of times and on the 2nd or 3rd try it worked. Once I was logged in I got an error asking me to login to create a color device over and over. After entering my password 3 times I just canceled it and the window stopped popping up. I haven’t done this in like 15 years, but I don’t remember the experience being so crappy. I can access the desktop, but it is displaying a GNOME environment instead of the Mate environment I have installed on the linux machine. Nonetheless I can get do things graphically without issue.

Other Thoughts:

The way I’ve done it is quite insecure. I’m allowing Guests on the network access to create and destroy all the shared files which is kind of dumb… I’ll live with it though because I will only turn this fileserver on if I am immediately accessing the files on it, then immediately turning it off again.  In that short time I hope I don’t get hacked…

Storing all your files in one location is not the best for preservation. You can make a personal cloud like Google Drive, Dropbox, Box, OneDrive, Apple Cloud, etc. by using the Unison program.  It essentially synchronized two folders. These can be on the same computer, one on a portable USB drive, or even across the network. Anything added, modified, or deleted in one folder is automatically synched to the other in both directions.

Windows Networks Issues:

If the network disappeared from the “Networks” thing in Windows 10 but still somehow appears in the sidebar and is still accessible, no prob. Follow these instructions: https://www.wintips.org/fix-windows-10-network-computers-not-showing/#method-5

File Manager Share plugins:

Previously, I had some luck with using my file-brower’s “share” plugin. Nautilus, Nemo, and Caja all have their respective “share” app you can install in apt-get or synaptic eg “caja-share“.  This will allow you to simply right-click on a folder and select “share settings” where you can set this up yourself. The problem with this is that this info is NOT stored in the basic /etc/samba/smb.conf configuration file. In fact, it is nowhere to be found anywhere in that folder.  This is because this plugin stores this info in the following path:

  /var/lib/samba/usershares

To create the Samba users and set up their SAMBA passwords (these can and maybe *should* be different than their linux user passwords)

sudo smbpasswd –a user1
sudo smbpasswd –a user2

Now enable the users

sudo smbpasswd –e user1
sudo smbpasswd –e user2

Check the status of the samba server. You should see “active” somewhere. If not, you hosed it somehow. Tips on how to fix this at the end…

sudo systemctl status smbd

Restarting samba (after every big change to users, folders, etc you should do this. Or you can reboot the machine, which is foolproof method of restarting the server the right way)

sudo systemctl restart smbd
sudo systemctl restart nmbd

or do it directly for smbd and nbmd

sudo smbd stop
sudo nmbd stop
sudo smbd start
sudo nmbd start

Copying Outlook OST and PST files to Gmail

What: How to import any outlook file (OST and PST) into Gmail for free.

How: Using Mozilla Thunderbird as the only software you need to install.

Why: My work was hit with a massive ransomware attack and we lost pretty much everything (we did not pay ransom). For years we had to use Microsoft Outlook for email which I hated. Student accounts used gmail but all employees were stuck with Outlook. This meant that we had to export or archive our email every so often if we wanted to save old emails.  I’m a bit of a data hoarder so I’ve always saved everything.  Once the hack happened, Employees moved to gmail as well. I wanted to figure out a way to import all my emails (archived as well as the ones I could still access in outlook) in a single place so that all that data would finally be searchable in an easy way. I figured it out.

When the attack happened, it cut off my outlook app from the Exchange server, however I could still open it up to access my old emails. These were basically all the emails from Fall 2020 to Feb 2021. I hadn’t archived these yet, so I was hoping not to lose them.

The tool I’m using is Mozilla Thunderbird. This is a great email client that I used years ago before my current job and am glad to use it again to get the result I want.

Step 1: Find the emails from Outlook: I could no longer access the exchange server at work to get new emails, but I still could read my old emails in my outlook. It will pop up a login screen every minute or two, but you can ignore it, or just click “cancel” and it’ll go away. That doesn’t affect this process at all.

Outlook stores these in a file with an extension of .OST.  You can see this file for yourself if you open outlook, go to file–>Account Settings–>Account Settings (again) then click the “Data Files” tab. You’ll see the filepath for your email address. Something like “C:\Users\Username\AppData\Local\Microsoft\Outlook\your.email@yourWork.com”

If you load any archived outlook files, you’ll see their paths as well. These have a .PST file extension.

Load Archived emails into Outlook You likely won’t need your password or anything to work to import old archived files into Outlook.  Simply go to File–>Open Outlook Data File (.pst) and select the archived file. Once you import the emails, they might show up as “Archive” in the left column. You can rename this by right-clicking that name –> Data File Propertied and clicking the “Advanced” button and changing the name there. Once you exit these windows the new name show appear in the left column. I named mine based on the dates of the emails they contain. This name will follow the data into Thunderbird and then into Gmail so make it descriptive.

Test that the archives folders update with the correct name by clicking into that archive and making sure the emails are visible in there. Sometimes these files get corrupted. Sadly, you can’t just right-click that archive and see how many total emails it has because Outlook is stupid (for many reasons) and Outlook will only show you the number of emails in a specific folder you click, not and sub-folders. Look at the subfolders individually to make sure you have everything you need there. You’ll need to do this to each archive you plan to import.

Side note: this is one of the many reason I dislike Outlook. By default when you search emails in outlook it will only search the folder you are currently in, not any subfolders, or any archives… only the folder you are in…  which is pretty useless.

Step 2: Setup Thunderbird to sync with the gmail account.

You have to setup gmail to allow IMAP. Here’s the instructions from google: https://support.google.com/mail/answer/7126229?visit_id=637540132586664480-1609380434&hl=en&rd=1

Next open Thunderbird and when you are setting up your account profile enter the correct data. For gmail, Authentication method is OAuth2 and the other details are in the link above.

This will sync your new gmails to thunderbird.  Critically, though, this is the link to allow OLD emails to be imported into Gmail as well. We’ll set that up next:

Step 3: Import your Outlook account into Thunderbird Once you setup Thunderbird, click the hamburger icon at the top left of the mozilla window and select Tools–>Import. On the next window select to only import mail and finally on the next window click Select Outlook

       

Then give your computer a long time to do this Sync. I had about 6GB of emails which is quite a few.  I don’ t recall how long it was, but I suggest doing it overnight.

 

Step 4: From Thunderbird to Gmail

Once everything is synched, go to the left pane of Thunderbird and simply drag the folder from your “Local Folders” into your gmail folder As shown.

This will then sync those emails with your gmail account. It might not look like it is doing anything, but trust me that it is uploading all those emails to your gmail account. You can even check by visiting your gmail account.

Every now and then Thunderbird wouldn’t move the folder with a drag and drop. To fix this I added a new subfolder to my gmail in Thunderbird by right-clicking and selecting “Add new subfolder” then named it whatever I liked. I then went down and clicked on the local folder that I had trouble copying. This loads all the individual emails in the top right pane of thunderbird. Go up there and click one of the emails and then Ctrl+a to select all. Now I can drag all the emails directly into the new gmail folder I created before on the left pane.

Step 5: Enjoy searching every email you’ve ever gotten using Gmail’s awesome search feature! Just login to your gmail account and all your new folders should appear there. You can click through them to make sure, but in general I find it much easier just to search. It is easier to remember what an email was about and search for it than trying to search dozens of individual archives and folders in outlook.

How to Listen to Free “Audiobooks” in your Car

Imagine this: Instead of wasting time in traffic to and from work listening to 50% ads, why not “read” books and learn stuff? ( I despise ads with a passion and if you advertise to me , I’ll go out of my way to NOT purchase your product…)

I recently got fed up with my car’s incredibly sub-par infotainment system after 5 years. I bought my car just before they made Android Auto stock on all the models. I had played with Android Auto when I bought it, but it was pretty much useless at that time. It has improved since and Jess was tired of hearing me complain about it, so she installed it again on my phone to see if it had gotten any better. Luckily it had! I connect it up to my car’s bluetooth and things are (somewhat) working.

Of course, everyone knows about Audible.com, However if you are willing to make some sacrifices, there are several free options for audiobooks you can check out.

The most straightforward way to listen to free audiobooks is to get audiobooks from your local library. If you don’t like visiting the library, you can use Overdrive.com which allows you to get audiobooks for free from your library and listen to them on your phone or computer. Now the Overdrive.com site has terrible navigation, so I use the North Carolina portal for Overdrive which is much better.

You can download the Overdrive app, or better yet, their new app named “Libby.” You can search and request audiobooks through the apps or through the overdrive website, then play them on your phone. Android Auto treats these apps as if they were music players and all will work seamlessly.

If the book you want isn’t available on Overdrive and you’re an Amazon Prime member (click here for a free 30-day trial here if you want to check it out), you can try to look at Amazon Prime Reading’s list of about 1,000 free books. They don’t have to be audiobooks either, I’ve got a workaround for any eBook.

Any ebook from that list should work. In fact, any eBook that kindle can load should work as long as the text is selectable (not a PDF with images of text). The trick with this is that we’ll get Amazon’s Alexa to read the kindle books for us. Since you won’t have WiFi in your car, however, an actual Alexa device isn’t the best solution. Instead, we’ll use the Alexa App on your phone and the Reverb for Alexa App. The Alexa app will let you send kindle eBooks to your Alexa device so she can read them to you, and the Reverb app will allow you to host an Alexa on your phone itself.

First open the Reverb app. Then open the Alexa app. You can click on “play” and select eBook of your choice from your kindle library. When you select it, Alexa will ask you to select which device to play it on. Select the “Reverb” option and voila! If you don’t have the ability to select the “Reverb” option, make sure you are running Reverb before the Alexa app.

 

Your phone will now read the book to you. You can’t increase the speed (sadly) but overall it’s a good compromise. Now this method does use your data, however for about 40 minutes of reading, Reverb used only about 25Mb and Alexa used about 13Mb so total, about 1Mb of data per minute of audiobook. Given you can’t speed up books, that’s a bit of an annoyance, so a 6-hour book will cost you a little over a third of a Gb of data. On a 4GB monthly plan that’s only 9%. If you did nothing but listen to audio books, your 4Gb data plan will get you 67 hours of playtime per month! That’s way more than I’d use it for sure.

Of course, you might want to continue listening when you get either home or to the office. If you have an Amazon Echo, Echo dot, Echo Plus, or any other Amazon device (even a new one I’ve never heard of called “Echo Auto” which could be an interesting option as well). When you get to the office or home, simply use the Alexa app on your phone to select the correct device. Different devices may be greyed out if they aren’t available. For instance, in my car my echo dot isn’t available.

If you have a Kindle Unlimited account, you can get even more free books from there selection of over 1 million.

In all, these solutions save me from hearing garbage-radio shows or political news when I’m driving in my car. If you find any other solutions to this, please drop a line in the comments and let me know!

Making Guitar Body Blanks for Cheap

I’ve wanted to use my CNC machine to build some guitars, but I didn’t want to spend a fortune on body blanks to ruin while learning and perfecting the process. I decided the cheapest option was to make a bunch myself. (Video at the end)

I went to Wurth wood in Charlotte. I had decided on poplar as a species due to its cost. Wurth has rough-cut wood which comes in various lengths, widths, and an odd way of measuring thickness. I wanted my body blanks to be about 1.75” thick, about 20 inches tall and about 15 inches wide.  I knew I’d have to glue two pieces together to get the width I wanted.  When I say that the wood from a saw mill comes in various widths, I mean it. There’s no standard width. Any random width they could cut from a tree is what you get.

They also count thicknesses funny. Everything is measures as 1/4 in increments. This is normal for 1/4”, 1/2”, and 3/4” but gets weird beyond that. A 1 inch thick board is called 4/4 for instance. I knew I’d have to plane the wood down to get the desired thickness of 1.75” so I went with a couple 8/4 boards.

They price the wood by the “board foot” which is a volume measurement. For instance, if you have a 1-inch thick panel of 1ft x 1ft, then you have 1 board-feet of wood there. The formula for board-feet is

(width in inches x Length in inches x thickness in inches) / 144 = board-feet

With the wood I got, it was just over 7 inches wide, 8/4 thick and in all was 160-ish inches long. For this I spent about $65. I calculated that I could make 6 guitar body blanks from this. That’s a bit more than $10 each which is FAR cheaper than anything I found online anywhere!

The next step (after getting the wood home of course) was to cut and flatten it. I cross-cut the wood with my circular saw to about 20″ in tall pieces. To make them flat and smooth I had to plane them, but I don’t own (nor can I afford) a planer. The solution is simple. Build a sled and use a router to face off the surface of the wood. The process is simple. Starting with the leftmost picture, you can see the rough wood is warped and cupped a bit. I’ll use my router to flatten the top (2nd pic from the left). Then I’ll flip it so the flat side is down, and use my router to again plane it flat on the other side (rightmost pic). You can’t do this just by eye though. I needed to build a jig to hold the wood and a planing sled to hold my router.

image

To build the sled, I used some scrap pieces of stuff I had laying around. It was just big enough to fit the wood into it. I used a 2ft by 2ft-ish piece of 1/2 inch plywood and four straight and flat pieces of 1×2. I used wood glue and tacked the 1x2s into place with brads to make two walls. The walls height needed to be higher than the wood was planing.

Next I had a piece of scrap 1/2” MDF. I drilled a hole in the middle a bit bigger than my planing bit on my router, and 3 mounting holes in the pattern that matched my router base. The size of this piece of MDF isn’t terribly important except that it needs to be long enough that the router can be all the way on one side of the jig and the MDF still spans the entire jig. Here’s what I mean:

image

Here you can see the rough wood blank height (which is about 2 and 1/8th inches thick) is just smaller than the right-side wall of the jig (which I made  2 and 1/4 inches tall).  You can see that the bottom edge of the rough wood is hot glued to the jig so it won’t move. I did this with the two shortest edges and that was all I needed.

image

I found that going vertical allowed me to see the depth of cut.  I took about 1/16th to 1/8th of an inch depth cut per complete pass, lowering the router in its base each successive pass if needed.  Once I planed down one side, I used a chisel to remove the hot glue holding the board to the jig.

image

Once I finished one side, I left the router at its current height and sat it to the side while flipping the board. This kept the router at the correct height to start on the other side. I then used a chisel to carefully release the hot glue holding the piece down and flipped it. This method will flatten any board on both sides. You can also rout the edges of the board using this jig to get 90 degree angles on 3 side before flipping the piece. Here’s  video describing the process:

I actually used the scariest router bit in the world on my router table to get the edges straight though.

image

Once the edges are straight, I slathered on some wood glue and clamped them together. I had to use tie-down straps as clamps. To keep the straps from getting glued to the wood I put paper towel between the strap and the wood where the seam was.

image

The next step was to rout the guitar body shape on the CNC machine about 1/4 inch deep, and then rout the cavities for the neck pocket and the electronics. I’d then use my bandsaw to cut the path of the body blank and use the scariest router bit in the world to clean the edges up. I actually hadn’t do this yet. In fact, I made these blanks in 2017 and they have sat in the garage since.

Things that stopped me are:

  1. My bandsaw is garbage and can’t cut a straight vertical line to save its life, regardless of how tight the blade is or how slow I go.
  2. I’m scared of the router bit. Routers are a lot like honey badgers in that they don’t give a ….  well you know the rest. They’ll cut chunks out of you much faster than you can imagine and with the giant  2.5″ bit I had, it could easily be deadly.
  3. You have to build the guitar based on a neck and I’ve never bought a neck to design it around
  4. I sold the CNC machine… But that’s no real excuse, I could use the Shopbot at Charlotte Latin if needed, or just do it by hand. HOnestly, doing it by hand is how most folks do it and it is a lot faster than me figuring out how to CNC it. I’m terrible with CAD…
  5. I’m lazy and this was so much work that I don’t want to screw up all 6 of them then have to do all this again. I simply don’t have the time to.

Best OS to Make an Old Chromebook Useful Again

I have this old HP Chromebook 14 which has only 2GB of RAM.  It’s so old that google stopped supporting it (which is ridiculous as it just makes people either A. use an insecure device or B. throw it away.  It is incredibly irresponsible and wasteful for google to create “disposable” computers like this…  Anyway I had to get some further use out of this thing to feel better about the situation.

After first attempting to use Crouton to turn an old and no longer supported chromebook into a dedicated octoprint server and laser cutter machine, I gave up and decided to go a different route. Crouton allows you to run linux AND chromeOS which is a safer option and easily reversible if something goes wrong. The issue is that my chromebook was so old that google no longer supported it anymore.  Due to the limitations of not being able to access the camera for octoprint, and Beam Studio (for my FLUX Beamo laser cutter) didn’t want to connect to my laser I moved on. I’ll instead wipe the machine and give it to someone who can use it.

After trying different versions of smaller linux distros like xubuntu, Lubuntu and even minimumOS of ubuntu (only 64MB!) I had issues installing all of them. All the *buntu flavors were too big for my 2GB RAM so it didn’t even boot up.  The minimumOS was going to be a lot of work if it worked to setup and install everything I’d want if it worked, but I had issues using a bad iso burning software that caused issues with this one. Luckily I kept looking and found the absolute best chromeOS replacement available.

I completely wiped ChromeOS and installed GalliumOS on the HP14 Chromebook (white chromebook) using this step-by-step guide. I have to say that it is by far the best solution and I wish I had done so much earlier. First download and burn the ISO to a USB drive. The only change I’d recommend is to use Balena etcher to burn the ISO to the USB flash drive.

Now, every time you boot up, it gives you an OS verification error (Yellow icon). At this point you must hit “Ctrl+1”  within 5 seconds otherwise it’ll give you a red icon error  and you’ll just need to restart again.

Default Launcher bar:

While I typically don’t mind this bar, the person I was giving this to would prefer it to be gone. It doesn’t stack multiple windows into one icon like modern OS bars do. Since I can’t remove it, I moved it to the top. It is hard to find the settings for this. You must click the “start” icon (which is called the “whisker” menu) and select the “Settings” icon at the top next to the power button (NOT the settings button in the right menu…). Then you can find the main settings for everything.

Right click this bar and go to properties to edit some stuff too if you want.

I wanted to setup the whiskerbar to autohide and be at the top of the screen (like on a mac). So from the settings app, I chose “Panel” and unlocked the bar. I then dragged it to the top and locked it again. Keep this settings window open as we’ll use it again in a sec…

New Mac-like Launcher Dock:

I installed Plank to build a mac-like dock.

sudo apt-get install plank

To add the trash can to this new dock, you need to ctrl+click the plank bar to access its options then drag the trashcan to the bar.  If you add a “docklet” like the trash can or taskmanager and want to remove them later, simply drag it off the bar onto the desktop and it’ll disappear.

When I first ran this, clicking the trash can opened the audio player for some dumb reason. The fix was so stupid simple I would have never thought to do it… In the regular start menu (now at the top bar) go to settings > Preferred Applications > Utilities.  In file manager “Thunar” is selected but you should select “other” and then type “thunar”.  This does the trick.

Now go back in your settings menu of GalliumOS and select “Sessions and startup” then select the “Applications and startup” tab. You can then add “plank” as the command and it’ll autostart the plank docker bar on startup.

Login screen:

Be default it was using xscreensaver with a terrible interface.

Image via ubuntuBuzz

I installed light-dm instead which has a nicer and themable interface.This leads to a much more modern and sleep looking design.

Icons:

I installed numix icons, then you can set the icons by going to Whisker start menu–>the settings icon next to the log-out  and power icons. Select “Appearance”and select the “icons” task.

 

sudo apt-get install light-dm-gtk-greeter-settings

sudo apt-get remove xscreensaver

sudo apt-get install gnome-screensaver

 

Chrome Keyring constantly pops up error:

Each time I logged in and opened chrome, it’d pop up asking me to login to the keyring. That’s pretty annoying. So I found in multiple places online the suggestion to delete the keyring to reset it. This worked great!

Rm ~/.local/share/keyrings/login.keyring


Restart and it’ll ask you once, then never again.

Here’s an additional set of tips for what to do if you want to add more functionality.