<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[The Whale Plane Plan]]></title><description><![CDATA[Projects and Stuff]]></description><link>https://wdworak.homelinux.com/</link><image><url>https://wdworak.homelinux.com/favicon.png</url><title>The Whale Plane Plan</title><link>https://wdworak.homelinux.com/</link></image><generator>Ghost 2.16</generator><lastBuildDate>Mon, 06 Apr 2026 01:16:46 GMT</lastBuildDate><atom:link href="https://wdworak.homelinux.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Amazon Recast Internal SSD Mod]]></title><description><![CDATA[<p>Recently bought the 1TB 4 channel tuner model of Amazon Recast during the Prime Day sale. The unit itself is a very nice network tuner and I mainly bought the more expensive model for the extra tuner channels (the cheaper model only has a 2 channel tuner as well as</p>]]></description><link>https://wdworak.homelinux.com/amazon-recast-modding/</link><guid isPermaLink="false">5f9098ee42cb5c0032916291</guid><category><![CDATA[Electronics]]></category><category><![CDATA[Linux]]></category><category><![CDATA[Networking]]></category><dc:creator><![CDATA[Walter Dworak]]></dc:creator><pubDate>Thu, 29 Oct 2020 20:52:34 GMT</pubDate><content:encoded><![CDATA[<p>Recently bought the 1TB 4 channel tuner model of Amazon Recast during the Prime Day sale. The unit itself is a very nice network tuner and I mainly bought the more expensive model for the extra tuner channels (the cheaper model only has a 2 channel tuner as well as less local storage). One downside is there seems to be a bit of high frequency whine from either the fan or 1Tb HDD which, while it not near the main TV, is annoying enough to my ears where its located near my main PC. Some available information online shows that both the drive is a standard Western Digital 5400RPM 1Tb SATA HDD and that drive is using the EXT4 filesystem. I will be replacing it with a 1Tb Western Digital Blue SSD that was on sale at the local BestBuy. I will be using Linux to easily complete the transfer using a basic 2.5" SATA to USB3.0 enclosure and <a href="https://www.aftvnews.com/fire-tv-recast-teardown-guide-a-look-inside-amazons-over-the-air-dvr/">this teardown guide</a> as a reference. The main things of note are that the HDD does not contain the OS for the Recast, likely using onboard flash storage for the OS, and is just using the drive as file storage for the Recast application and that the files must be owned by UID 1000 with owner RW permissions. Since UID 1000 is the default first user account UID the files will likely show as being owned by your user name. Copy/paste all the files from the HDD to the SSD, confirm the file ownership and permission, and then reassemble the device. If you transferred the files correctly then you should be able to load and play any previously recorded content via the FireTV phone app or device. Since the old drive is still usable and the Recast won't spin up external storage until the internal storage is full, I plugged the old drive into a USB3 hub, so the tuner can still be powered, and plugged the hub into the back of the Recast. Pretty simple little mod that's more of an indulgence than a requirement, but it really finishes off making this thing the perfect over the air network DVR. </p>]]></content:encoded></item><item><title><![CDATA[SteamLink Test on the Raspberry Pi 4]]></title><description><![CDATA[<p>Given the inclusion of USB 3.0, Gigabit Ethernet, and a faster Wifi connection in general it appears that the Pi 4 B may be the ideal Steam game streaming box so I installed the steamlink package on Raspbian Buster and tried streaming the game Cuphead at 1080P to see</p>]]></description><link>https://wdworak.homelinux.com/steamlink-test-on-the-raspberry-pi-4/</link><guid isPermaLink="false">5e669859253c24002730a0d3</guid><category><![CDATA[Raspberry Pi]]></category><category><![CDATA[Networking]]></category><dc:creator><![CDATA[Walter Dworak]]></dc:creator><pubDate>Tue, 10 Mar 2020 20:26:34 GMT</pubDate><content:encoded><![CDATA[<p>Given the inclusion of USB 3.0, Gigabit Ethernet, and a faster Wifi connection in general it appears that the Pi 4 B may be the ideal Steam game streaming box so I installed the steamlink package on Raspbian Buster and tried streaming the game Cuphead at 1080P to see if the fast paced side scrolling shooter was playable. This is a short summary post of the experience rather than an in depth technical breakdown, but I figured it valuable none the less. One additional thing of note is that the Pi 4 is in a case, as is common, and that the case is metal. Since it also acts as a heat sink the Pi 4 is kept cool and the on board Wifi will be tested under less than ideal but very real world conditions. First off was the Gigabit Ethernet connection and its probably no surprise that this worked flawlessly. The Pi does get a bit warm under the load of dealing with the stream, but is more than capable of keeping up with the task when it can move the raw data on the network. Second off was the on board Wifi and unfortunately it was not up to the task. Frame and input drops immediately plagued the experience. Next I tried 2 different USB 3 5Ghz Wifi adapters claiming a top speed of 1300Mbps. <a href="https://www.amazon.com/gp/product/B0756YCTY3/">One adapter with external antenna</a> and <a href="https://www.amazon.com/gp/product/B082CS6L9C/">one thumb style without external antenna</a>. Both ended up preforming the same despite the smaller adapters worse maximum range, but someone streaming a good distance from their access point will probably need the higher gain of the external antenna. However the smaller thumb style adapters driver was found within the latest version of Raspbian Buster whereas getting the other model working required tracking down, compiling, and installing the driver for the chipset. Since the smaller adapter is easier to work with and preforms the same in my environment, I will likely keep using that one for the foreseeable future. </p>]]></content:encoded></item><item><title><![CDATA[Speaker Re-foaming]]></title><description><![CDATA[<p>This should be a fairly short post about a recent first time experience re-foaming the woofers in a set of speakers I picked up from the local flea market for 5 bucks. The speakers are a set of ADS L300Cs that, except for the rotted foam and a few scuffs</p>]]></description><link>https://wdworak.homelinux.com/speaker-re-foaming/</link><guid isPermaLink="false">5dc06e1208c2da00272352c7</guid><category><![CDATA[Audio]]></category><category><![CDATA[Repair]]></category><dc:creator><![CDATA[Walter Dworak]]></dc:creator><pubDate>Fri, 13 Dec 2019 22:55:13 GMT</pubDate><content:encoded><![CDATA[<p>This should be a fairly short post about a recent first time experience re-foaming the woofers in a set of speakers I picked up from the local flea market for 5 bucks. The speakers are a set of ADS L300Cs that, except for the rotted foam and a few scuffs on the grill, seemed physically perfect, tweeter domes included, and worth a small gamble especially given the surprising heft for their small size. The sticker above the wire terminals listing a specification of 4 Ohms and 75W didn't hurt either. Taking them home and hooking them up to an amp at low volume proved there was still life in the set so I looked into how to replace the foam surrounds. The only tools required to clear up the old foam were an exacto knife, some acetone, and plenty cotton swaps. I ended up having to buy 2 sets of foam surrounds due to not correctly centering one of the speakers in the end for reasons that will be explained. The first set came with instructions for replacing the foam without having to cut out the middle cap and a bottle of glue that worked well enough. </p><!--kg-card-begin: gallery--><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/12/20191028_200434.jpg" width="4032" height="1908"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/12/20191028_200440.jpg" width="4032" height="1908"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/12/20191028_200444.jpg" width="4032" height="1908"></div></div></div><figcaption>The speaker before and after an initial wipe down.&nbsp;</figcaption></figure><!--kg-card-end: gallery--><p>The exacto knife was used to cut away the larger peices of the old foam surround including a thick plastic gasket that was around the outer edge of the speaker. Originally I didn't notice this gasket wasn't part of the speaker base due to the way the original glue cleaned up until after attaching the center portion of the first replacement foam surrounds which contributed to problems hand centering it later. </p><!--kg-card-begin: gallery--><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/12/20191102_134640.jpg" width="1908" height="3235"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/12/20191102_163839.jpg" width="1908" height="1967"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/12/20191102_184649-3.jpg" width="1908" height="1833"></div></div></div><figcaption>The first kit, the woofer I setup before realizing I hadn't completely removed the old foam, and the same one with the first glue attempt.</figcaption></figure><!--kg-card-end: gallery--><p>The first step after clean up was to glue the center edge to the speaker. This part was relatively easy since the foam is angled slightly downward and sit nicely on the cone. One step I did not know about until I re-did the first woofer was to play a 50Hz sine wave from a phone app with the amp wired directly to the woofer. I don't think I would have needed this step if I hadn't bent the first replacement foam surround removing the last of the old one as the replacement foam on the second woofer sat very flush with rim and thus was easy to hand center without a signal generator app. Due to the first one being off center you could hear the center of the speaker scraping during use so I had to remove the first attempt at replacing the foam and looked around for another replacement set at a cheaper price since I didn't need another bottle of glue. The new set still ended up being a bitter harder to glue down on the outer edge than the first set, obviously not counting the one I bent, so the phone signal app still helped a lot when it came to making sure the glued dryed with it centered. One last thing I needed to do was fix the scuffed paint on the front grills. Since I had some matte black spray paint left over from another project so I opted to used that to replace the marred gloss black it came with after taping over the ADS logo badges with painters tape. A couple coats later and the front grills looked better than they did out of the box in my opinion. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/12/20191103_173038.jpg" class="kg-image"><figcaption>The repainted front grills.&nbsp;</figcaption></figure><!--kg-card-end: image--><p>The sound these little guys produce is pretty great for their small size and in the end it was well worth the couple hours and $35-ish investment. </p>]]></content:encoded></item><item><title><![CDATA[Technics SL-Q3 Refurbishing]]></title><description><![CDATA[<p></p><p>The Technics SL-Q3 is a fully automatic, quartz locked, direct drive turntable that was on the market between 1979-1980 (at least according to its listing on <a href="https://www.vinylengine.com/library/technics/sl-q3.shtml">vinylengine.com</a>). Its a pretty solid unit that incorporates the rather ubiquitous S shaped tone arm and quick change headshell found on many Technics</p>]]></description><link>https://wdworak.homelinux.com/technics-sl-q3-refurbishing/</link><guid isPermaLink="false">5c86cb858224ff002752371b</guid><category><![CDATA[Turntables]]></category><category><![CDATA[Vinyl]]></category><category><![CDATA[Audio]]></category><category><![CDATA[Electronics]]></category><dc:creator><![CDATA[Walter Dworak]]></dc:creator><pubDate>Wed, 03 Jul 2019 17:43:07 GMT</pubDate><content:encoded><![CDATA[<p></p><p>The Technics SL-Q3 is a fully automatic, quartz locked, direct drive turntable that was on the market between 1979-1980 (at least according to its listing on <a href="https://www.vinylengine.com/library/technics/sl-q3.shtml">vinylengine.com</a>). Its a pretty solid unit that incorporates the rather ubiquitous S shaped tone arm and quick change headshell found on many Technics models. One small feature I wish it had was the ability to raise and lower the arm from the main controls instead of only having the usual lifting lever, but it's a fairly minor want that is well offset, in my opinion, by the fact that it supports automatic play of all 3 standard record sizes (7in, 10in, and 12in). Many automatic turntables omit the 10in size as its the least common of the 3 main sizes and the reduction in complexity decreases the per unit cost. This is especially prevalent on automatic turntables that also incorporated automatic size selection which required  special, and rather precise, cutouts in the platter and platter mat on top of the additional electrical circuitry. </p><p>This SL-Q3 was found at a flea market in fairly good condition with its original, albeit scuffed, dust cover. A quick once over didn't reveal any glaring issues and it appeared to be exactly what I was looking for in a used turntable so I quickly snatched it up. The cartridge it came with ended up being an Audio-Technica M12e which very much needed a new stylus. The previous one had been sitting on the cartridge so long that the plastic had become hard and brittle. I basically had to break the thing apart with pliers to get it off and slip a new stylus on. During the initial function test the table turned on and spun, the integrated strobe showed the 33 and 45 speeds were both reached and stable, but the start up seemed a bit sluggish and there was at least one obvious issue with old grease as the size selection slider was getting pulled towards 12in when in the 7 or 10in position semi-randomly. All in all it pretty much just needed some basic TLC to get it back into tip top shape. </p><!--kg-card-begin: markdown--><p>The todo listed ended up including:</p>
<ul>
<li>lubricating the motor spindle</li>
<li>replacing all the electrolytic capacitors on the its main board</li>
<li>replacing the stylus</li>
<li>cartridge alignment</li>
<li>re-balancing the tonearm</li>
<li>cleaning up a few scuffs and marks.</li>
</ul>
<!--kg-card-end: markdown--><!--kg-card-begin: gallery--><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180812_155439.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180812_155442.jpg" width="4032" height="3024"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180812_155445.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180812_155448.jpg" width="4032" height="3024"></div></div></div><figcaption>Some of the initial pictures I took when I first got it home</figcaption></figure><!--kg-card-end: gallery--><!--kg-card-begin: markdown--><p>Items that were needed to do the repair included</p>
<ul>
<li><a href="https://digikey.com">Misc capacitors as needed</a></li>
<li><a href="https://www.amazon.com/gp/product/B00N3OS3PY/">Motor oil</a></li>
<li><a href="https://www.amazon.com/WD-40-Specialist-White-Lithium-Grease/dp/B00L35DAWQ/">Some new grease</a></li>
<li><a href="https://www.lpgear.com/Merchant2/merchant.mvc?&amp;Store_Code=LG&amp;Screen=PROD&amp;Product_Code=ATS12">A new stylus</a></li>
<li><a href="https://www.amazon.com/gp/product/B00B88FRME/">Desoldering Iron</a></li>
<li><a href="https://www.amazon.com/gp/product/B005KR15HU/">Stylus Protractor</a></li>
<li><a href="https://www.amazon.com/gp/product/B01HRJ9NAY/">Stylus Weight Scale</a></li>
<li><a href="https://www.vinylengine.com/library/technics/sl-q3.shtml">The Service Manual</a></li>
<li><a href="https://www.turntablelab.com/products/breakaway-stainless-steel-45-adapter-single">New 45RPM Adapter</a></li>
</ul>
<!--kg-card-end: markdown--><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/07/Screen-Shot-2019-07-02-at-11.21.48-AM.png" class="kg-image"><figcaption>The capacitor list (the axial cap is 470µF 50V)</figcaption></figure><!--kg-card-end: image--><p>Since it was so old and brittle, the old stylus had to be carefully pried off with a pair of needle nose pliers and you can clearly see how old it was based on the color difference between the top and bottom of the stylus housing. The new stylus snapped right on and the cartridge itself proved to still have plenty of life left in it. </p><!--kg-card-begin: gallery--><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180812_174830.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180812_174836.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180814_124809.jpg" width="4032" height="3024"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180821_101108.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180821_105526.jpg" width="4032" height="3024"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180821_105528.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180821_105530.jpg" width="4032" height="3024"></div></div></div><figcaption>Stylus Replacement</figcaption></figure><!--kg-card-end: gallery--><p>I managed to replace all the capacitors without fully removing the main PCB from the turntable since I wanted to avoid having to fully gut the entire table just to take the board out. With the top and bottom removed it was easy enough to use a desoldering iron to remove all the old capacitors and replace them with new ones. </p><!--kg-card-begin: gallery--><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180814_112341.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180814_112344.jpg" width="4032" height="3024"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180814_124437.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180814_124440.jpg" width="4032" height="3024"></div></div></div><figcaption>Getting Access to the Top Side of the Main PCB</figcaption></figure><!--kg-card-end: gallery--><!--kg-card-begin: gallery--><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180821_151154.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180821_151933.jpg" width="1379" height="3860"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180821_151209.jpg" width="4032" height="3024"></div></div></div><figcaption>The real MVP in the middle</figcaption></figure><!--kg-card-end: gallery--><p>With the bottom removed I cleaned up the old hardened grease and lubricated the surfaces with the white lithium grease. I made sure to get a good amount of new grease on the wires and pulleys that connect the size selector to the main mechanism since the old grease caused a clear issue with its function. </p><!--kg-card-begin: gallery--><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180821_151202.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180821_151204.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180821_151207.jpg" width="4032" height="3024"></div></div></div></figure><!--kg-card-end: gallery--><p>With the capacitors and grease changed out the only thing left to do was put it back together, do a basic cleaning of the outside, and place the new 45 adapter in its new home. I did attempt to buff out some scratches to the top cover, but the results weren't as drastic as I hoped so I didn't bother to cover it here. </p><!--kg-card-begin: gallery--><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180816_211617.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180816_211648.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180816_211652.jpg" width="4032" height="3024"></div></div></div><figcaption>The New 45RPM Adapter is a Perfect Fit</figcaption></figure><!--kg-card-end: gallery--><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://wdworak.homelinux.com/content/images/2019/07/20180903_221953.jpg" class="kg-image"></figure><!--kg-card-end: image--><!--kg-card-begin: embed--><figure class="kg-card kg-embed-card"><iframe width="480" height="270" src="https://www.youtube.com/embed/TeS7D5ty47E?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></figure><!--kg-card-end: embed--><!--kg-card-begin: embed--><figure class="kg-card kg-embed-card"><iframe width="480" height="270" src="https://www.youtube.com/embed/m9MYqoSwtOY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></figure><!--kg-card-end: embed-->]]></content:encoded></item><item><title><![CDATA[The Raspberry Pi Zero W Beer Sign]]></title><description><![CDATA[<p></p><p>This is a project that I completed a while ago as a gift to give to a friend. Unfortunately some pictures were lost along the way so I'll try to be as detailed as I can in describing what was done. The bar sign was picked up from a local</p>]]></description><link>https://wdworak.homelinux.com/the-rpi-zero-w-beer-sign/</link><guid isPermaLink="false">5c869e958224ff002752370f</guid><category><![CDATA[Raspberry Pi]]></category><category><![CDATA[Electronics]]></category><dc:creator><![CDATA[Walter Dworak]]></dc:creator><pubDate>Thu, 20 Jun 2019 22:01:53 GMT</pubDate><content:encoded><![CDATA[<p></p><p>This is a project that I completed a while ago as a gift to give to a friend. Unfortunately some pictures were lost along the way so I'll try to be as detailed as I can in describing what was done. The bar sign was picked up from a local flea market for a few bucks.  The original lamp still worked but my immediate intention was to replace the old, and HOT, tubes with LED strips. Due to some past shipping shenanigans ordering parts for another project, I already had an extra set of LED strips and controller sitting around so I just needed something to provide them power and a PWM signal for the brightness control. Since a Raspberry Pi Zero W has 2 configurable PWM outputs, a bunch of GPIO pins for physical controls, and a very small foot, I decided to go with that since it would also give me an opportunity to do a <a href="https://github.com/preparationh67/RaspberryBarSign">small software project</a>. I also needed to repair some cracks and gaps in the "frame" of the front panel. My original idea was to try and match the plastic color with a brown ABS slurry, but that proved to be a fruitless effort and due to some other scuffs and scratching I ended up repainting the entire "frame" of the front panel. Filling in the framing with new plastic was pretty easy. I just had to using some masking tape to create a flat surface for the fill, mix together some ABS plastic (I used some cheap and readily available 3D printer filament) with some acetone to make the slurry, and filled in the blanks. Once the ABS slurry tried I just had to peel off that masking tape and then put some new masking tape over the front so I could paint the frame without dripping or smearing onto the "glass". </p><!--kg-card-begin: gallery--><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171210_102158.jpg" width="4032" height="1868"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171210_102200.jpg" width="4032" height="2296"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171210_102202.jpg" width="4032" height="2384"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171210_102206.jpg" width="4032" height="2144"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171210_153805.jpg" width="4032" height="2150"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171210_153812.jpg" width="3972" height="2524"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171210_153815.jpg" width="3988" height="2488"></div></div></div><figcaption>Painting the repaired "frame"</figcaption></figure><!--kg-card-end: gallery--><p>I applied a dark brown base coat and then stylized it with some metallic bronze to approximate the original look. Overall, I'm very happy with the results. Next I needed to install a new power supply. Supplying the Raspberry Pi with 5V of DC power is pretty cheap and easy but the controller for the LED strips needed 12V DC in order to operate. The <a href="https://www.amazon.com/dp/B005T7EZM8">dual supply PSU</a> I ended up buying is probably a bit overkill but its dimensions were perfect for tucking behind the LED strips and an extra available ampere or 2 isn't going to break anything. This unit also had tapped screw holes on the underside which made mounting it to the internal metal plate that used to hold the lamp transformer, while also serving as the wall hanger, very easy after drilling a couple new screw holes. As you can see in the picture below the original AC wall plug had a couple new terminals crimped on and was attached at the appropriate input points.   </p><!--kg-card-begin: gallery--><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171212_133729.jpg" width="2640" height="2580"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171212_141733.jpg" width="3188" height="2224"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171212_133717.jpg" width="3024" height="2557"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171212_133725.jpg" width="3024" height="2387"></div></div></div><figcaption>The new PSU mounted in the fixture</figcaption></figure><!--kg-card-end: gallery--><p>With the base work on the fixture complete it was time to move onto developing the software to control the LED strips. The datasheet for the LED driver board gave me a basic idea of how to interface with the brightness control but I still needed to do some experimentation with how to step through the voltage range. The board accepts a control voltage on one input for turning the lamp on and a variable range on the other input for controlling the brightness. The driver boards 12V inputs were connected to a bench supply for testing and the Pi Zero W was connected to the 2 control inputs. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171211_160344.jpg" class="kg-image"><figcaption>The LED strip driver board</figcaption></figure><!--kg-card-end: image--><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171211_160431-5.jpg" class="kg-image"><figcaption>The LED strip model</figcaption></figure><!--kg-card-end: image--><p>Since the Pi was going to be embedded into the fixture I also board an add on power control board for the Pi itself that has its own power LED output, switch input for powering the Pi on and off, and outputs to connect to the Pi's GPIO so that it can be configured to do a graceful shutdown when the power button or switch is activated. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171218_081339-1.jpg" class="kg-image"><figcaption>Breadboard Proof of Concept</figcaption></figure><!--kg-card-end: image--><p>I had originally intended just to had the 2 LED strips inside the sign, but the overall length of the strips prevented them from properly lighting up the corners of the sign as I intended so I quickly designed and built a couple of LED light modules and a basic control board to fix this issue. Since I was powering 10 LEDs I used an octocoupler to separate power, the 5V output from the PSU, and control into 2 independant signals. This also added another feature to the sign. Since these could be controlled independently of the main strips I was able to add the option of only lighting up the side lights as an additional mode. Although this did made the software component a bit more complicated as I now needed to encode more states. <a href="https://www.amazon.com/gp/product/B06XQTHDRR/">A rotary encoder </a>was hooked up to the Pi to cycle through the available states defined in the software. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171223_151337.jpg" class="kg-image"><figcaption>Who needs 3 proto boards when you can carve up 1 large one ;)</figcaption></figure><!--kg-card-end: image--><p>Once experimentation was over it was time to finish mounting the rest of the components into the light. A few additional holes were drilled into the back of the fixture in order to attach brass stand offs for the components. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171219_190932.jpg" class="kg-image"><figcaption>The power control board for the Pi Zero W</figcaption></figure><!--kg-card-end: image--><p>The LED side panel lights were just glued in place at an angle since there's a pretty low change they will need to be taken out again at some point. The fixtures controls, the rotary encoder and power switch, as well as the power LED and a USB serial interface were mounted through some existing holes, presumably vents for the old lamp, so that they come out of the curved back of the light. This allows for easy access while also hiding them from view. The USB serial device was added in order to provide an easy way to access a terminal interface on the Pi without removing it from the light or if it is not connected to a WIFI network. The LED strips were mounted on a few wooden dowel posts that were also painted white. </p><!--kg-card-begin: gallery--><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171223_160612.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171223_160617.jpg" width="4032" height="3024"></div><div class="kg-gallery-image"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171223_160633-2.jpg" width="2419" height="3226"></div></div></div><figcaption>A small yet manageable rats nest of wires emerged once everything was installed.</figcaption></figure><!--kg-card-end: gallery--><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/20171223_161118.jpg" class="kg-image"><figcaption>The (almost) fully assembled unit with just the side lights&nbsp;</figcaption></figure><!--kg-card-end: image--><p>With all the physical work completed, the only things left were deploying the scripts and configuring a SystemD startup service to run the Python script to control the various aspects of the light. This service (<a href="https://github.com/preparationh67/RaspberryBarSign/blob/master/pwm_rotary_light.service">pwm_rotary_light.service</a>), the final script (<a href="https://github.com/preparationh67/RaspberryBarSign/blob/master/pwm_rotary_light.py">pwm_rotary_light.py</a>), and a few smaller scripts demonstrating some of the functions independently are available on a <a href="https://github.com/preparationh67/RaspberryBarSign">Github page</a>. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/06/page_sign_pic.png" class="kg-image"><figcaption>A bad picture of the finished project</figcaption></figure><!--kg-card-end: image-->]]></content:encoded></item><item><title><![CDATA[Audio-Technica Sound Burger  Refurbishing]]></title><description><![CDATA[<p></p><p>The <a href="https://www.vinylengine.com/library/audio-technica/at-727-sound-burger.shtml">Audio-Technica AT-727 Sound Burger</a> was a portable belt drive turntable sold in Japan, the UK, and Europe in the 1980s. It's generally popular among current collectors due to the idea that it is a much higher quality turntable when compared to other portable offerings, including current production portable tables.</p>]]></description><link>https://wdworak.homelinux.com/audio-technica-sound-burger-refurb/</link><guid isPermaLink="false">5c86cb9f8224ff002752371f</guid><category><![CDATA[Turntables]]></category><category><![CDATA[Vinyl]]></category><category><![CDATA[Repair]]></category><category><![CDATA[Electronics]]></category><category><![CDATA[Audio]]></category><dc:creator><![CDATA[Walter Dworak]]></dc:creator><pubDate>Mon, 01 Apr 2019 15:43:48 GMT</pubDate><content:encoded><![CDATA[<p></p><p>The <a href="https://www.vinylengine.com/library/audio-technica/at-727-sound-burger.shtml">Audio-Technica AT-727 Sound Burger</a> was a portable belt drive turntable sold in Japan, the UK, and Europe in the 1980s. It's generally popular among current collectors due to the idea that it is a much higher quality turntable when compared to other portable offerings, including current production portable tables. It uses a moving magnet cartridge, compared to the ceramic cartridge on most other portables, that tracks at a very respectable 2 grams, has 2 headphone 3.5mm output jacks tied to a volume control, includes RCA line output, and can run on either 3 "C" cell batteries or a 4.5 volt, center pin negative, 5.5mm x 2.1mm barrel jack, AC to DC adapter. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/20190223_134515.jpg" class="kg-image"><figcaption>The yellow Sound Burger compared to a gray American Mister Disc unit</figcaption></figure><!--kg-card-end: image--><p>I managed to find a yellow unit on a Japanese auction site and a few days after winning it was at by front door. Besides needing to be cleaned up there were a few other issues that needed to be resolved. It needed a new belt set and new stylus. Thankfully both of which can be found on eBay for a reasonable price. More extensively, the barrel jack needed to be completely replaced as it was just too corroded, corrosion on the outputs needed to be cleaned up, and the electrolytic capacitors on the circuit board needed to be replaced. Thankfully those can be easily purchased off of digikey.com. I also needed to cleanup and lubricate the platter and the shaft of a wheel that connects the platter to the motor via 2 belts. Any of the work done on this Sound Burger unit also applied to the American Mister Disc units. There is no functional difference between the International and American versions. Audio-Technica only changed the model number and name for the US market.  </p><!--kg-card-begin: html--><h2><a name="parts_and_tools" href="#parts_and_tools">Parts and Tools</a></h2><!--kg-card-end: html--><!--kg-card-begin: markdown--><ul>
<li>5.5mm x 2.1mm barrel jack</li>
<li>Soldering Iron</li>
<li>Philips Screwdriver</li>
<li>Needle Nose Pliers</li>
<li>Desoldering Iron (or plunger or braid)</li>
<li>Solder</li>
<li>The <a href="https://www.vinylengine.com/library/audio-technica/at-727-sound-burger.shtml">AT-727/AT-770 Service Manual</a></li>
<li>1 - 470uf 6.3v capactior</li>
<li>4 - 47uf 6.3v capactiors</li>
<li>6 - 10uf 16v capactiors</li>
<li>2 - 100uf 6.3v capactiors</li>
<li>4 - 220uf 6.3v capactiors</li>
</ul>
<!--kg-card-end: markdown--><!--kg-card-begin: html--><h2><a name="refurb" href="#refurb">The Refurb Work</a></h2><!--kg-card-end: html--><p>Following the instructions in the service manual, I removed the 2 cover screws and took off the cover. I then removed the screw holding the cover plate over the tonearm and set it aside. Two screws hold the tonearm in place and the tonearm needs to be moved in order to access them. Once those screws are removed the tonearm just lifts out since it sockets directly into the PCB. The 2 screws in the center of the back feet need to be loosened and 3 others completely removed in order to finally separate the 2 halves of the turntable body. I did that and carefully pulled the 2 halves apart. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/04/IMG_20190212_151650.jpg" class="kg-image"><figcaption>Generally a good idea to have the service manual on hand</figcaption></figure><!--kg-card-end: image--><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/04/IMG_20190212_151100--1-.jpg" class="kg-image"><figcaption>A Mister Disc unit with the cover removed for reference</figcaption></figure><!--kg-card-end: image--><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/IMG_20190225_133007.jpg" class="kg-image"><figcaption>The wires to the batteries and motor will need to be disconnected with the soldering iron</figcaption></figure><!--kg-card-end: image--><p>I used the solder iron to heat up the contact points for the power and motor wires on the PCB and I disconnected them. With the wires disconnected, I unscrewed the PCB from the top half of the turntable and carefully lifted it out.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/IMG_20190225_133815.jpg" class="kg-image"><figcaption>The capacitors and barrel jack that needed to be replaced along with some wires to disconnect with pliers</figcaption></figure><!--kg-card-end: image--><p>Needle nose pliers were used to disconnect the wires from the top of the PC<strong>, </strong>making sure to grip the wires by the harness and to not yank from the wire itself. After disconnecting the wires, the PCB was free from the turntable and I set it up to desolder the capacitors. I worked through desoldering and replacing the capacitors down the board. If some of the capacitors you have are larger than the ones you are replacing you may need to pay special attention to the path the tonearm takes and mount some capacitors at a slight angle. There is a plastic finger piece on the tonearm that extends down into the PCB area during play and tall capacitors mounted straight up will obstruct the tonearm during travel. This is a issue I ran into as I did not pay particular attention to the dimensions of the replacement capacitors. Once all the capacitors and the barrel jack were replaced, the belts were replaced, and the appropriate points were lubricated the entire unit was closed up, the stylus was replaced, and a record was spun on it to test it out. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/IMG_20190228_173825.jpg" class="kg-image"><figcaption>The fully cleaned up Sound Burger playing a 45</figcaption></figure><!--kg-card-end: image--><p>All in all it turned out great. </p>]]></content:encoded></item><item><title><![CDATA[Misc Ghost Blog Improvements]]></title><description><![CDATA[<p>The vanilla Ghost install generally requires some tweaks to fully meet the needs of its user or organization. Here are some modification I made to this blog in no particular order. This page will likely be updated in the future as the needs for further customization arise. One thing I</p>]]></description><link>https://wdworak.homelinux.com/misc-ghost-blog-improvements/</link><guid isPermaLink="false">5c8a90c6be35a7019eb55bd0</guid><category><![CDATA[Coding]]></category><dc:creator><![CDATA[Walter Dworak]]></dc:creator><pubDate>Thu, 14 Mar 2019 18:00:10 GMT</pubDate><content:encoded><![CDATA[<p>The vanilla Ghost install generally requires some tweaks to fully meet the needs of its user or organization. Here are some modification I made to this blog in no particular order. This page will likely be updated in the future as the needs for further customization arise. One thing I will note is that I generally dislike manual modifications of the built in themes or the core code directly. If you find yourself modifying the theme files directly then I recommend copying the entire theme, giving the copy a modified name, install your new theme, and then modify that copy instead. If things go wrong you will want a clean and working theme to fall back on quickly without having to fiddle with ghost-cli or manually re-installing a built-in theme. Code changes that are bug fixes for ghost or ghost-cli should be submitted to the <a href="https://github.com/TryGhost/">official Ghost developers on GitHub</a>. </p><p>Add this to the global code injection footer to make all external links on a page automatically open in a new tab or window. </p><!--kg-card-begin: html--><h1><a name="open_links_in_tab" href="#open_links_in_tab">Make External Links in New Tab</a></h1><!--kg-card-end: html--><!--kg-card-begin: markdown--><pre><code class="language-html">&lt;script type=&quot;text/javascript&quot;&gt;
function makeExternalLinksTargetBlank() {   
for(var c = document.getElementsByTagName(&quot;a&quot;), a = 0;a &lt; c.length;a++) {
var b = c[a];
b.getAttribute(&quot;href&quot;) &amp;&amp; b.hostname !== location.hostname &amp;&amp; (b.target = &quot;_blank&quot;)   } 
} ;
makeExternalLinksTargetBlank();
&lt;/script&gt;
</code></pre>
<!--kg-card-end: markdown--><p>How does the syntax highlighting on this page work? Well that is done by injecting Prism.js into the page using the page/post scoped code injection header and footer. </p><!--kg-card-begin: html--><h1><a name="syntax_highlighting" href="#syntax_highlighting">Syntax Highlighting in Code Blocks</a></h1><!--kg-card-end: html--><p><a href="https://cdnjs.com/libraries/prism">https://cdnjs.com/libraries/prism</a></p><!--kg-card-begin: markdown--><pre><code class="language-javascript">function makeExternalLinksTargetBlank() {   
for(var c = document.getElementsByTagName(&quot;a&quot;), a = 0;a &lt; c.length;a++) {
var b = c[a];
b.getAttribute(&quot;href&quot;) &amp;&amp; b.hostname !== location.hostname &amp;&amp; (b.target = &quot;_blank&quot;)   } 
} ;
makeExternalLinksTargetBlank();
</code></pre>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Ghost Blog on Arch Linux with Systemd-Nspawn]]></title><description><![CDATA[<p></p><p>This blog is powered by a piece of Node.js software called "<a href="https://ghost.org/">Ghost</a>". Unfortunately the official way of getting a production setup up and running is only really supported on Ubuntu and even then the tool you must use to do this, <a href="https://docs.ghost.org/api/ghost-cli/">ghost-cli</a>, requires some globally installed npm packages, requires</p>]]></description><link>https://wdworak.homelinux.com/ghost-blog-on-archlinux/</link><guid isPermaLink="false">5c87dd7b0cc361069140c460</guid><category><![CDATA[Arch Linux]]></category><category><![CDATA[Sysadmin]]></category><category><![CDATA[Linux]]></category><dc:creator><![CDATA[Walter Dworak]]></dc:creator><pubDate>Wed, 13 Mar 2019 22:22:00 GMT</pubDate><content:encoded><![CDATA[<p></p><p>This blog is powered by a piece of Node.js software called "<a href="https://ghost.org/">Ghost</a>". Unfortunately the official way of getting a production setup up and running is only really supported on Ubuntu and even then the tool you must use to do this, <a href="https://docs.ghost.org/api/ghost-cli/">ghost-cli</a>, requires some globally installed npm packages, requires you to do the setup from a basic user account that will require a lot of sudo privileges instead of properly using the service account it really wants to setup for you, leaves a lot of the files owned by the regular user and requires this to be so for updates to work correctly, and as of writing has a bug where if you do specify a mySQL database, user, and password to use, instead of giving it root credentials to the database so it can do it own setup, it fails to correctly detect if it needs to initialize a fresh database, assumes it then needs to do a migration, and then setup fails due to the migration stage attempting to migrate a blank database. However I already started with an older version of this software, ultimately find it very usable once you get past the setup issues, and manually migrating the pages using the stored post and page HTML in the old database was very easy. I probably could have written a script, but then I'd be too tempted to write it as an official feature to submit. I tried the official migration, which for some reason would have required 2 phases, but it didn't work. Given all this I opted to listen to some advice from the comments on the old Arch Linux AUR package page, since deleted, for ghost and installed it in a <a href="https://wiki.archlinux.org/index.php/Systemd-nspawn">systemd nspawn container</a>, hosted MariaDB (mySQL) on the main host, and didn't even have to adjust my nginx proxy. Unfortunately the page that was hosted by the person who suggested this is no longer online and is also now slightly out of date so I will be re-documenting it here. This guide assuming you are already familiar with nginx, or apache, and how to <a href="https://wiki.archlinux.org/index.php/Certbot">secure your site with HTTPS</a> so I will not be covering that here. It also assumes you already have a working MariaDB instance running on your Arch Linux installation.</p><!--kg-card-begin: html--><h1><a id="setup" href="#setup">Setup</a></h1><!--kg-card-end: html--><p>Enable nspawn container startup on boot on your host system.</p><!--kg-card-begin: markdown--><pre><code class="language-bash">sudo systemctl enable machines.target
</code></pre>
<!--kg-card-end: markdown--><p>Get the basic system tools installed and do the minimum basic configuration of the new container after the install. As root, or with sudo, run the following.</p><!--kg-card-begin: markdown--><pre><code class="language-bash">pacman -S arch-install-scripts
cd /var/lib/machines
mkdir -p ghost
pacstrap -c -d ghost/ base vim bash-completion
machinectl start ghost
machinectl shell ghost
# set the root password
passwd
exit
machinectl stop ghost
</code></pre>
<!--kg-card-end: markdown--><p>Now setup the unit file for the container. If you want to setup more advanced networking change "Private" to yes in the network section. This will create a virtual switch and device for the container to use. The mysql socket directory is being bind mounted inside the container to allow access to the host mysql instance. If you are not using socket connections leave this line out. The bind mounting of the package cache and the host pacman config prevents a lot of wasted time and disk space. The binding of resolve.conf is needed for DNS to work inside the container since it will not go through a network setup stage due to the shared networking with the host. </p><!--kg-card-begin: markdown--><pre><code class="language-bash">mkdir -p /etc/systemd/nspawn
cd /etc/systemd/system/nspawn/
cat &lt;&lt;EOF &gt;&gt; ghost.nspawn
[Exec]
PrivateUsers=pick

[Files]
Bind=/var/cache/pacman/
Bind=/etc/pacman.conf
Bind=/run/mysqld/
BindReadOnly=/etc/resolv.conf

[Network]
Private=no
EOF

systemctl enable systemd-nspawn@ghost.service
systemctl start systemd-nspawn@ghost.service
</code></pre>
<!--kg-card-end: markdown--><p>Now we will shell back into the container and install ghost. If there are any other text editors or tools you want installed in the container, do that now. </p><!--kg-card-begin: markdown--><pre><code class="language-bash">machinectl shell ghost
useradd --system --user-group ghost
useradd --system --user-group ghostuser
usermod -s /bin/bash ghostuser
mkhomedir_helper ghostuser
pacman -S nodejs-lts-boron npm python2 mariadb-clients sudo
npm install -g ghost-cli sqlite3
echo &quot;ghostuser ALL=(ALL) NOPASSWD: ALL&quot; &gt;&gt; /etc/sudoers
mkdir /opt/ghost
chown ghostuser:ghostuser /opt/ghost
# You must run ghost-cli in you install directory
cd /opt/ghost
su ghostuser
ghost install --no-setup-linux-user --port 2368 --url https://&lt;YOUR DOMAIN&gt; --db mysql --no-start --dir /opt/ghost --no-setup-ssl
</code></pre>
<!--kg-card-end: markdown--><p>Enter you root database user details when prompted by the ghost-cli setup and fill in the other relevant details not already passed to ghost-cli from the command line. Tell ghost to create a new database user for it to use instead of the root credentials. You may still need to configure your <a href="https://docs.ghost.org/concepts/config/#mail">mail settings</a> by editing: </p><p><code>/opt/ghost/config.production.json</code></p><p>Ghost-cli should have already created and enabled a systemd service file for your ghost instance. So you should only need to start it. </p><!--kg-card-begin: markdown--><pre><code class="language-bash">systemctl start ghost_&lt;YOUR-DOMAIN-NAME&gt;.service
</code></pre>
<!--kg-card-end: markdown--><p>If you do need to create and enable the service file yourself for some reason do the following. </p><!--kg-card-begin: markdown--><pre><code class="language-bash">cd /etc/systemd/system/
cat &lt;&lt;EOF &gt;&gt; ghost_&lt;YOUR-DOMAIN-NAME&gt;.service
[Unit]
Description=Ghost systemd service for blog: wdworak-homelinux-com
Documentation=https://docs.ghost.org

[Service]
Type=simple
WorkingDirectory=/opt/ghost
User=ghost
Environment=&quot;NODE_ENV=production&quot;
ExecStart=/usr/bin/ghost run
Restart=always

[Install]
WantedBy=multi-user.target
EOF

systemctl enable ghost_&lt;YOUR-DOMAIN-NAME&gt;.service
systemctl start ghost_&lt;YOUR-DOMAIN-NAME&gt;.service

</code></pre>
<!--kg-card-end: markdown--><p>Now go to your new ghost install by navigating to:</p><!--kg-card-begin: markdown--><p><code>https://&lt;YOUR-DOMAIN&gt;/ghost</code></p>
<!--kg-card-end: markdown--><p>Configure a user account for you ghost instance and otherwise setup your site. All the other setup should be complete at this point. </p>]]></content:encoded></item><item><title><![CDATA[Building a Stereo to Mono Channel Summing Box]]></title><description><![CDATA[<p></p><p>Playing 78RPM records and monophonic vinyl records pressing from the mid-1960s-ish and earlier on modern stereo turntables presents some issues. It should be well known already that 78RPM records require a different size of stylus, 3mil vs 0.7mil, compared to vinyl records. Playing back the previously mentioned records, however,</p>]]></description><link>https://wdworak.homelinux.com/building-a-stereo-to-mono-channel-summing-box/</link><guid isPermaLink="false">5c86d2228224ff0027523725</guid><category><![CDATA[Audio]]></category><category><![CDATA[Turntables]]></category><category><![CDATA[Electronics]]></category><category><![CDATA[Vinyl]]></category><dc:creator><![CDATA[Walter Dworak]]></dc:creator><pubDate>Tue, 12 Mar 2019 01:58:17 GMT</pubDate><content:encoded><![CDATA[<p></p><p>Playing 78RPM records and monophonic vinyl records pressing from the mid-1960s-ish and earlier on modern stereo turntables presents some issues. It should be well known already that 78RPM records require a different size of stylus, 3mil vs 0.7mil, compared to vinyl records. Playing back the previously mentioned records, however, also present another lesser known problem. Unlike stereo vinyl records and later mono vinyl releases pressed on a stereo record lathe, these records have grooves cut in a different manner from stereo record. These monophonic records have groves that are recorded in the lateral direction only on one side of the groove, whereas stereophonic records have sound etched into both sides of the groove. Stereo needles and cartridges are still able to read these records, but the extra motion from the dual channel nature of the setup adds noise to the signal. One solution to this is to have a completely separate "true mono" cartridge. However, many that claim to be mono cartridges are actually just stereo cartridges with a simple Y connector implemented within the body of the cartridge. Those that do seem to be real "true mono" cartridges are not exactly cheap and there's the ever present downside of needing to swap the entire cartridge just to play an early mono record. A common cheap fix is to make a simple Y connector cable that just wires the 2 positive wires of the inputs together and outputting the combined signal to the left and right outputs. This does sum the 2 channel signals together which drowns out the noise generated by the extra movement since the common elements of the 2 signals, the music from the record, will pass through and the elements that are different, the noise from the extra movement, will be interfered with and quieted. There is one potential issue with this simple circuit and that's the fact that there is nothing preventing the signal from one input feeding back on the other. Whether this matters or not when the Y connector is implemented between the cartridge body and the phono preamp seems to be a topic up for debate and beyond the scope of this article. Since I want this to be a switchable circuit, the summing of the channels will be happening between the phono preamp and the amp in my powered speakers. The argument that this feedback may cause harm to the ompamps driving the preamp's output is more compelling. This is explained in the <a href="http://www.rane.com/note109.html">Rane Corporation blog post titled "Why Not Wye?"</a> from which the following channel summing circuit is taken. (I would like to point out that the Rane blog post does mention that a simple Y cable is perfectly fine for splitting an output signal). The low value resistors on the inputs prevent the feedback we are concerned with while not adding so much resistance as to disrupt the signal. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/n109fig2.gif" class="kg-image"><figcaption>http://www.rane.com/note109.html: Stereo-to-Mono Summing Circuit</figcaption></figure><!--kg-card-end: image--><p>This circuit provides a good base, but a few modifications are needed. One is the use of standard RCA jacks for the left and right channels on the inputs and output. A potential version 2 could have both 3.5mm stereo jacks as well as RCA jacks. I will also add a 4PDT (4 position, dual throw) ON-ON switch. This will provide enough switching inputs and outputs to make it so when the switch is in the "Stereo" position the inputs are passed through directly to the outputs while also ensuring the outputs are completely disconnected and when the switch is in the "Mono" position the inputs will be passed through the resistors and the summed signal is passed to both output channels. The following circuit summarizes these additional features. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/circuit_labled-1.jpg" class="kg-image"><figcaption>The 4 on-on switches within the 4PDT switch are separated for clarity</figcaption></figure><!--kg-card-end: image--><!--kg-card-begin: html--><h2><a name="parts_and_tools" href="#parts_and_tools">Parts & Tools</a></h2><!--kg-card-end: html--><!--kg-card-begin: markdown--><ul>
<li><a href="https://www.amazon.com/gp/product/B01LH1FR6M/">22AWG Wire</a> (at least 2 colors, 3 is prefered)</li>
<li>2 - <a href="https://www.digikey.com/product-detail/en/yageo/MFR-25FBF52-475R/475XBK-ND/12935">475 Ohm 1% Tolerance 1/4W Resistor</a></li>
<li>1 - <a href="https://www.digikey.com/product-detail/en/stackpole-electronics-inc/RNF14FTD20K0/RNF14FTD20K0CT-ND/1975114">20K Ohm 1% Tolerance 1/4W Resistor</a></li>
<li>1 - <a href="https://www.amazon.com/gp/product/B018RSYZHU/">4PDT switch</a></li>
<li>4 - <a href="https://www.amazon.com/gp/product/B01GCAY2PA/">RCA Jacks</a></li>
<li>A Project Enclosure (<a href="https://www.amazon.com/gp/product/B0002BBQNM/">ABS</a> or Aluminum)</li>
<li>Soldering Iron</li>
<li>Solder</li>
<li>Drill Bits (sized for the toggle switch and RCA jacks)</li>
<li>Drill</li>
<li>Ruler</li>
<li>(Optional) Heat Shrink Tubing</li>
<li>(Optional) 2 - <a href="https://www.amazon.com/gp/product/B01C3RFHDC/">3.5mm TRS Jacks</a></li>
</ul>
<!--kg-card-end: markdown--><p>Since this circuit is still rather simple we will not need a proto board and since the circuit is completely passive we do not have to worry about a power supply. </p><!--kg-card-begin: html--><h2><a name="construction" href="#construction">Construction</a></h2><!--kg-card-end: html--><p><em>It's a good idea to use heat shrink tubing on the bare connections after you are soldering. Since this is optional, I will not be pointing out all the places to apply heat tubing. Make sure to measure, cut, and set lengths of tubing as needed whenever a bare joint is created.</em> Start by measuring out some wire and solder the collar rings for the RCA grounds together. Now measure out 2 lengths of wire to solder to our first 2 switch inputs. These will be our left in and right in. On one side of these inputs solder 2 additional lengths of wire to the output pins. These will we our stereo pass through connections. On the opposite set of outputs solder in one end of the 475 Ohm resistors to each output. Afterwards join the other ends of the 475 Ohm resistors together, add one end of the 20K Ohm resistors, twist in a small length of wire to create the 4 way circuit from the diagram, and solder all 4 ends together. The other end of the 20K Ohm resistor can either be soldered to the ground wires now or done later, but don't forget to finish the connection. Take the other end of the small length of wire from the junction that was just created and solder it to one of the remaining inputs. <strong>Be vary careful with the next couple steps.</strong> Solder another wire to the output of this switch that is on the same "side" as the outputs the resistors were wired to. We want this switch to act as an On-Off switch rather than an On-On switch and we want it to be off when the switch is toggled to stereo mode. Solder 2 wires to the other end of the wire that was just soldered to the output of the 3rd switch. Solder 1 of these wires to the left or right positive outputs (its doesn't matter which once the signal has been summed) and solder the other to the 4th and last switch input on the 4PDT switch. <strong>Once again be very careful with the next step.</strong> Solder a wire to the output that will be on in mono mode and solder the other end of the wire to the remaining output jack. Solder the wires from the stereo pass through outputs on the switch to the RCA outputs. Make sure you do not mix up the left and right channels when wiring the stereo pass through. At this point the entire circuit should be wired up and the only steps remaining involve preparing and closing up the project box. Measure out and mark off the locations for the RCA input set, the RCA output set, and the toggle switch. Drill out the 5 holes in the project enclosure and then mount them with the provided nuts and washers. Close the enclosure up and you should now have a working switchable stereo-to-mono channel summing box. If you do end up also including 3.5mm jack input and outputs in addition to RCA jacks pay close attention  to the wiring of the 3.5mm left and right channels since it is both easier to wire incorrectly and far hardier to correct afterwards. Also keep in mind that you <strong>cannot</strong> wire in 2 different inputs at the same time in you do include both input types. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wdworak.homelinux.com/content/images/2019/03/v1_finished.jpg" class="kg-image"><figcaption>Version 1 Completed Minus Labels</figcaption></figure><!--kg-card-end: image-->]]></content:encoded></item><item><title><![CDATA[Repairing a Bikes Rack Mount Points with Helicoil Inserts]]></title><description><![CDATA[<p></p><p>I recently had a lot of success repairing the rack mount points on one of my bikes seat stays using this method, but found few sources initially that actually showed its usage on bicycles. So I decided to do a little write up in case the example proves useful to</p>]]></description><link>https://wdworak.homelinux.com/repairing-a-bikes-rack-mount-points-with-helicoil-inserts/</link><guid isPermaLink="false">5c869bb08224ff00275236f5</guid><category><![CDATA[Bikes]]></category><category><![CDATA[Repair]]></category><dc:creator><![CDATA[Walter Dworak]]></dc:creator><pubDate>Sat, 25 Jun 2016 17:32:00 GMT</pubDate><content:encoded><![CDATA[<p></p><p>I recently had a lot of success repairing the rack mount points on one of my bikes seat stays using this method, but found few sources initially that actually showed its usage on bicycles. So I decided to do a little write up in case the example proves useful to others as this seems to me to be a not uncommon problem encountered by bike owners that like using racks.</p><h2 id="the-story">The Story</h2><p>So a little bit ago I noticed the threads on one of the rack mounts of my commuter bike had stripped, was barely holding on with the amount of thread engagement, and that a good lateral knock would likely pop the bolt out more often than not. Considering my personal preference is to bike with pannier bags and keep my back clear of extra weight, this was going to quickly become a issue that I would have to fix somehow. Some quick research brought Helicoil inserts to my attention as a valid method to fix damaged threads. Another popular method seems to be drilling the mounting into through bolt style, but I did not want to risk damage to the aluminum frame and don't have enough personal knowledge to know whether or not such a modification would actually be safe long term in this situation. The Helicoil insert method works by drilling out the worn and damaged threads, tapping the hole with new threads a little larger than the original, and then threading in the coil insert to leave you with threading in the same size as the original. After watching a few videos on YouTube, search for "helicoil repair" in case that's not obvious, it seemed to be within my skill limits, not very costly, and that the method produced satisfactory results on much more demanding applications since most examples seemed to be focused on car and motorcycle components. The only real concern I had left moving forward and buying the required tools was that the irregular surface of the seat stays would make the drilling and tapping more difficult than the examples I had seen, but this later proved to not be the case.</p><h2 id="the-tools">The Tools</h2><p>So step 1 in getting the right tools was checking on which Helicoil kit to get was to double check what size the threads the originals were. Thankfully, Google will quickly tell you that the bike frame accessory mounts are M5x0.8 and Park Tools has a pretty great page <a href="http://www.parktool.com/blog/repair-help/basic-thread-concepts#article-section-6">explaining threading concepts.</a> Another popular suggestion was to use some thread locker to help lock in either the insert or bolt afterwards and opted for some <a href="https://www.amazon.com/gp/product/B000I1RSNS/">Loctite 242</a> to be safe, but a stronger thread locker can be used if you are more confident about not needing to remove the bolt or if you plan on doing a stronger lock on the coil insert itself with the newly tapped threads. The <a href="https://www.amazon.com/gp/product/B000BB8XLG/">Helicoil kit for this size</a> also requires a 13/64in drill bit, it is also written on the kits thread tap for reference, so order one as well if you don't already have a bit in that size. You will also need a <a href="https://www.amazon.com/gp/product/B0052TZU5O/">T-Handle wrench</a> that with a 0-1/4in range since you <strong>should not</strong> use a power drill to tap the threads or insert the coil. All in all the parts I needed can out to about $50 USD on Amazon.</p><h2 id="the-fix">The Fix</h2><p>Here I will show the various steps done to fix the threads. These are all taken straight from the official instructions, so this is more for additional reference.</p><p><em>I wish I did a video, might get a chance with a different bike in the near future, but for now I just have pictures.</em></p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://wdworak.homelinux.com/content/images/2019/03/IMG_20160621_215445.jpg" class="kg-image" alt="The Damaged Mount Point"></figure><!--kg-card-end: image--><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://wdworak.homelinux.com/content/images/2019/03/IMG_20160621_215458.jpg" class="kg-image" alt="Drilling it out"></figure><!--kg-card-end: image--><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://wdworak.homelinux.com/content/images/2019/03/IMG_20160621_215651.jpg" class="kg-image" alt="The Tapping Bit on the Wrench"></figure><!--kg-card-end: image--><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://wdworak.homelinux.com/content/images/2019/03/IMG_20160621_215758.jpg" class="kg-image" alt="Tapping the New Threads"></figure><!--kg-card-end: image--><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://wdworak.homelinux.com/content/images/2019/03/IMG_20160621_215839.jpg" class="kg-image" alt="Mount post Tapping"></figure><!--kg-card-end: image--><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://wdworak.homelinux.com/content/images/2019/03/IMG_20160621_220132.jpg" class="kg-image" alt="Setting up the helicoil driver tool"></figure><!--kg-card-end: image--><p>7) Put the tool flush to the mount point and begin threading the coil in. Again, make sure it engages the new threads cleanly or the repair will fail. Make to drive the coil a bit lower than the opening of the mount point aka not flush. <br><strong>PHOTO OF INSERTED COIL MISSING :'(</strong></p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://wdworak.homelinux.com/content/images/2019/03/IMG_20160621_220302.jpg" class="kg-image" alt="Punching out the tang"></figure><!--kg-card-end: image--><p>9) YOU ARE DONE! If everything went well then you not have a repaired mount point and can try putting your rack back on to confirm everything is good. If things did not go well, you will have to research other methods of thread repair.</p>]]></content:encoded></item></channel></rss>