#0038: Demonstration of chess game data featured in Cowboy Bebop anime

#0038: Demonstration of chess game data featured in Cowboy Bebop anime

Preamble

I have been playing a fair bit of chess recently. I even went so far as to buy and start reading books on the subject. (gasp I know, first “buy”, then “read”. Must be one of those mundane everyday miracles I keep hearing about.) Anyway, as I did: it reminded me of a particular episode of an anime that I absolutely loved watching as a teen. Namely: Cowboy bebop.

Created by a Japanese company called Sunrise Inc. Cowboy Bebop is an anime that is generally highly regarded on the internet to this day (2023). Even though it originally aired in Japan in 1998. 25 years ago. Part of the reason for this in my opinion: is the sheer attention to detail, and artistic care of craft displayed within each episode. Something I will hopefully demonstrate here.

As a show: Cowboy Bebop has primarily an episodic structure. Where each individual episode features a self contained story with a start, middle, and end. That then contiguously fits into a larger narrative that runs across the season. With few exceptions such as the odd multi-episode narrative, or recap episode. The focus of this article is episode 14: Bohemian Rhapsody. A chess themed episode where I found the move-set for a full game of chess.

I wish to display that game here for your viewing pleasure. Please note however that I am no chess expert (as I am barely competent), so I will not comment on the game itself. I just want to feature it here because I think it’s really cool; that an anime would have such attention to detail as to feature things such as a complete game of chess. One that briefly scrolls across the screen for less than a handful of seconds no less. [See video extract below.]

Tools

Since this is not a tutorial piece I will be brief here. I just wish to outline the tools used to make the chess game demonstration GIF image and video extracts below for those interested.

  • XBoard – to play the game move-set out on, in a Linux based OS
  • Native Screenshot application of Linux Mint Cinnamon – to take screenshots of XBoard
  • GIMP – to edit images for the GIF animation
  • imagemagick – to convert a series of PNG files into a single animated GIF file
  • VLC – to play videos
  • Flowblade – to edit and export videos in MP4 format

Episode narrative background

Please note: this is primarily from memory, so I may have some of the details askew.

The cartoon villain of the week featured in this episode is a character by the name of “Chess Master Hex”. A child chess prodigy who whilst working for a large corporation as a researcher helped develop the first hyperspace gates. Gates which allowed space ships to move between planets in our solar system significantly faster and safer than previously available. They quickly became ubiquitous due to the savings on time and general logistics.

Now here’s the wrinkle: there is an unspecified fatal flaw in the gates’ system. One that never got addressed due to corporate interests burying it for the sake of profits. Hex who wanted the project paused until research into the flaw and it’s resultant fix was developed – was removed from the project for protesting it’s rushed go ahead. And then fired. (And likely made to sign a Non-Disclosure Agreement. You know how it is.) Because of this he then spun a decades long plan of vengeance on the corporation that wronged him.

Now fast forward to the present. Our cast of cowboys (space bounty hunters) are tasked with catching him. This is due to the corporation placing a large bounty on the entity that is coordinating a series of cyber-attacks against their hypergates. Cyber-attacks that involved the use of custom hardware that utilises an (until now) unknown latent vulnerability within the gates’ systems: in order to completely drain the bank accounts of any customer who uses a hyperspace gate’s pay point.

In the process of chasing up on the bounty, our cast manage to independently capture several of the low-level criminals that have been physically installing these systems into the hyperspace gates themselves. The odd thing is that all these people had nothing in common; except for the fact that they all had in their possession a digital chess piece. A King piece, that allowed the holder to play an online game of chess with a player who turned out to be Chess Master Hex himself.

The chess game

During the story a digital chess piece is scanned. It’s data is displayed on the scanner’s VDU. The contents of which are two different chess games’ moves-sets. Games played between a player named “Deep Blue” and Hex himself. The actual name “Deep Blue” is a reference to a real world notable chess super computer. That is contemporary to the anime’s time (1998). Note: I assume above that the first game was also played by Deep Blue. However, unfortunately half of the first game’s move-set (and metadata) was cut-off. So really only one and a half games’ data is revealed to us. With only the latter game’s data being revealed in it’s entirety on screen.

Now, being the curious cat that I am: I decided to actually play out the second game. The one I could see the complete move-set for. See below. The interesting thing learned here is that they are in fact real chess moves. Not just some random gobbledygook, as I feared it might be. All the moves depicted a valid game of chess, with none of the pieces making any illegal moves.

Well … There is one exception however. On White turn 18, a Rook makes an illegal move from it’s starting position of f1 to e7. (“Rfe7”.) I made the logical inference that it was merely a typo, since it was the only illegal move in the entire move-set up to this point. And since the numbers 1 and 7 typographically look alike: I substituted the legal move of “Rfe1” for it. This amended move resulted in the rest of game, including follow-up moves for that same rook piece being valid. Bravo.

One last little tidbit on this game: when it mentioned Deep Blue I was curious as to whether or not the game featured in the anime itself was famous. I.e. did they copy verbatim one of Deep blue’s games. (ctrl-c ctrl-v style.) And upon a cursory (Wikipedia) search it does not seem to be the case. I compared it to the games that made Deep Blue famous. The notable games where it had won against Russian grandmaster Garry Kasparov, and it didn’t match any of the six games that they had together in 1996, as well as the six rematch games of 1997. I compared all the games with a 1-0 result as is here. First the one’s where Kasparov wins 1-0, assuming him to be a substitute for Hex. Then I chose to include the one’s were Deep Blue wins 1-0 just for the sake completeness. To no avail.

Wikipedia summary of games between Deep Blue and Kasparov

Chess data-set compiled screenshots

Original compiled screenshot

Error corrected compiled screenshot

Screenshots of first camera shots of scanner displaying chess data

Video extract of scanner displaying chess data

Chess game demonstration

Chess game demonstration stills

Chess game demonstration animation

Radical Edward and Chess Master Hex playing chess using electronic chessboards

What’s the point of this section? I just think that this is cool is all. It illustrates the use of a holographic electronic chess board with public network access. I also love the aesthetics of retro-futuristic tech in general, as well as scrap-tech; and this touches on both. Now look at the screenshot of Edward (possibly?) holding in the ratty network plug into the electronic chessboard’s socket with her foot. It’s surprisingly relatable. (Or maybe I am just projecting.)

I initially wanted to plot the move-set for this game out as well, and do another animation for it too. Since the pieces look to be in consistent positions between shots. (Operative word: “look”.) However I found the process to be too much work for the payoff. The various dynamic camera shots of the chess boards (“boards” plural!) depicting the moves of their respective pieces quickly became disorientating.

My chronically sleep depraved brain soon threw it’s metaphysical hands up in frustrated surrender. Stuff it! The straw that broke the camel’s back as it were, is the shot (@ 00:49) of Hex placing a white queen, despite playing black! I just wasn’t willing to error correct, in addition to wrestling a coherent game out of those hectic camera shots. Still… I may comeback to it one day, if I fancy the challenge. Unlikely.

Moving on. Now look at the startup animation for Edward’s electronic chessboard. Did you notice the spelling error? Nice little bit of ‘Engurish’ there. It made me smile anyway. I mean the 90’s were a golden age for top-shelf Engurish in general. And thankfully Cowboy Bebop is no exception. Unfortunately the English dub is of such high quality that I have had no need to watch the Japanese original audio version, so I have likely missed out on some peak spoken Engurish as a consequence. What a genuine shame.

Aggregated screenshots of chess game

Video compilation of chess game

Sorry about the audio syncing issues in this vid. All settings are good, yet Flowblade (repeatedly) renders the video with de-synced audio. I am not sure why. :/ I am not going to chase it up right now because it isn’t really important. (And not worth the delay.) The visuals are what I am primarily demoing here.

Closing thoughts

The funny thing is that I don’t even really watch much anime anymore. However like I said earlier: I have had my interest sparked in playing chess as of late. I’ve been playing it at work using smartphone apps (like lichess.org or chess.com) as well as using a physical set against my work colleges. And while I was playing I was suddenly reminded of Cowboy Bebop’s chess episode. Specifically the scene with the junky scanner displaying the chess data lopsided on a monochrome green CRT monitor. And the idea suddenly occurred to me: “I wonder what that game actually looks like”. And that’s how this write-up came to be. I hope it has entertained you if nothing else.

Thank you for reading.

Acronyms used

CRT – Cathode Ray Tube
GIF – Graphics Interchange File
GIMP – GNU Image Manipulation Program
GNU – GNU’s Not Unix! (recursive acronym)
PNG – Portable Network Graphic
VDU – Visual Display Unit

Links, references, and further reading

https://en.wikipedia.org/wiki/Cowboy_Bebop
https://en.wikipedia.org/wiki/List_of_Cowboy_Bebop_episodes
https://en.wikipedia.org/wiki/Deep_Blue_(chess_computer)
https://en.wikipedia.org/wiki/Deep_Blue_versus_Garry_Kasparov
https://en.wikipedia.org/wiki/Engrish
https://en.wikipedia.org/wiki/GNU_operating_system
https://imagemagick.org/Usage/
https://www.gimp.org/
https://linuxmint.com/
https://jliljebl.github.io/flowblade/
https://www.gnu.org/software/xboard/
https://www.videolan.org/vlc/
https://www.lichess.org
https://www.chess.com
https://www.rd.com/article/what-does-gif-stand-for/

#0011: Copy-paste of “Thoughts on Flash” by Steve Jobs (2010)

#0011: Copy-paste of “Thoughts on Flash” by Steve Jobs (2010)

Apple logo with Adobe Flash logo on top of it

Preamble

This is a transcription of an open letter written in 2010 on the subject of Adobe Flash by the CEO of Apple of the time: Steve Jobs. I paste it here for referential and posterity purposes.

Rather annoyingly Apple has since removed the original article from their official company website, so this is a copy from a secondary source. An archive website called: web.archive.org (A.K.A wayback machine). This was then verified by comparing it with copies from other website articles published around 2010. Check the links and references section for specifics. I think this is a good illustration of the fragility of information on the internet. When primary (controlled) sources can suddenly disappear; we have to rely on secondary sources and their general trustworthiness.

(START QUOTE)

Thoughts on Flash

Apple has a long relationship with Adobe. In fact, we met Adobe’s founders when they were in their proverbial garage. Apple was their first big customer, adopting their Postscript language for our new Laserwriter printer. Apple invested in Adobe and owned around 20% of the company for many years. The two companies worked closely together to pioneer desktop publishing and there were many good times. Since that golden era, the companies have grown apart. Apple went through its near death experience, and Adobe was drawn to the corporate market with their Acrobat products. Today the two companies still work together to serve their joint creative customers – Mac users buy around half of Adobe’s Creative Suite products – but beyond that there are few joint interests.

I wanted to jot down some of our thoughts on Adobe’s Flash products so that customers and critics may better understand why we do not allow Flash on iPhones, iPods and iPads. Adobe has characterized our decision as being primarily business driven – they say we want to protect our App Store – but in reality it is based on technology issues. Adobe claims that we are a closed system, and that Flash is open, but in fact the opposite is true. Let me explain.

First, there’s “Open”.

Adobe’s Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc. While Adobe’s Flash products are widely available, this does not mean they are open, since they are controlled entirely by Adobe and available only from Adobe. By almost any definition, Flash is a closed system.

Apple has many proprietary products too. Though the operating system for the iPhone, iPod and iPad is proprietary, we strongly believe that all standards pertaining to the web should be open. Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript – all open standards. Apple’s mobile devices all ship with high performance, low power implementations of these open standards. HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash). HTML5 is completely open and controlled by a standards committee, of which Apple is a member.

Apple even creates open standards for the web. For example, Apple began with a small open source project and created WebKit, a complete open-source HTML5 rendering engine that is the heart of the Safari web browser used in all our products. WebKit has been widely adopted. Google uses it for Android’s browser, Palm uses it, Nokia uses it, and RIM (Blackberry) has announced they will use it too. Almost every smartphone web browser other than Microsoft’s uses WebKit. By making its WebKit technology open, Apple has set the standard for mobile web browsers.

Second, there’s the “full web”.

Adobe has repeatedly said that Apple mobile devices cannot access “the full web” because 75% of video on the web is in Flash. What they don’t say is that almost all this video is also available in a more modern format, H.264, and viewable on iPhones, iPods and iPads. YouTube, with an estimated 40% of the web’s video, shines in an app bundled on all Apple mobile devices, with the iPad offering perhaps the best YouTube discovery and viewing experience ever. Add to this video from Vimeo, Netflix, Facebook, ABC, CBS, CNN, MSNBC, Fox News, ESPN, NPR, Time, The New York Times, The Wall Street Journal, Sports Illustrated, People, National Geographic, and many, many others. iPhone, iPod and iPad users aren’t missing much video.

Another Adobe claim is that Apple devices cannot play Flash games. This is true. Fortunately, there are over 50,000 games and entertainment titles on the App Store, and many of them are free. There are more games and entertainment titles available for iPhone, iPod and iPad than for any other platform in the world.

Third, there’s reliability, security and performance.

Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know first hand that Flash is the number one reason Macs crash. We have been working with Adobe to fix these problems, but they have persisted for several years now. We don’t want to reduce the reliability and security of our iPhones, iPods and iPads by adding Flash.

In addition, Flash has not performed well on mobile devices. We have routinely asked Adobe to show us Flash performing well on a mobile device, any mobile device, for a few years now. We have never seen it. Adobe publicly said that Flash would ship on a smartphone in early 2009, then the second half of 2009, then the first half of 2010, and now they say the second half of 2010. We think it will eventually ship, but we’re glad we didn’t hold our breath. Who knows how it will perform?

Fourth, there’s battery life.

To achieve long battery life when playing video, mobile devices must decode the video in hardware; decoding it in software uses too much power. Many of the chips used in modern mobile devices contain a decoder called H.264 – an industry standard that is used in every Blu-ray DVD player and has been adopted by Apple, Google (YouTube), Vimeo, Netflix and many other companies.

Although Flash has recently added support for H.264, the video on almost all Flash websites currently requires an older generation decoder that is not implemented in mobile chips and must be run in software. The difference is striking: on an iPhone, for example, H.264 videos play for up to 10 hours, while videos decoded in software play for less than 5 hours before the battery is fully drained.

When websites re-encode their videos using H.264, they can offer them without using Flash at all. They play perfectly in browsers like Apple’s Safari and Google’s Chrome without any plugins whatsoever, and look great on iPhones, iPods and iPads.

Fifth, there’s Touch.

Flash was designed for PCs using mice, not for touch screens using fingers. For example, many Flash websites rely on “rollovers”, which pop up menus or other elements when the mouse arrow hovers over a specific spot. Apple’s revolutionary multi-touch interface doesn’t use a mouse, and there is no concept of a rollover. Most Flash websites will need to be rewritten to support touch-based devices. If developers need to rewrite their Flash websites, why not use modern technologies like HTML5, CSS and JavaScript?

Even if iPhones, iPods and iPads ran Flash, it would not solve the problem that most Flash websites need to be rewritten to support touch-based devices.

Sixth, the most important reason.

Besides the fact that Flash is closed and proprietary, has major technical drawbacks, and doesn’t support touch based devices, there is an even more important reason we do not allow Flash on iPhones, iPods and iPads. We have discussed the downsides of using Flash to play video and interactive content from websites, but Adobe also wants developers to adopt Flash to create apps that run on our mobile devices.

We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.

This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms.

Flash is a cross platform development tool. It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps. And Adobe has been painfully slow to adopt enhancements to Apple’s platforms. For example, although Mac OS X has been shipping for almost 10 years now, Adobe just adopted it fully (Cocoa) two weeks ago when they shipped CS5. Adobe was the last major third party developer to fully adopt Mac OS X.

Our motivation is simple – we want to provide the most advanced and innovative platform to our developers, and we want them to stand directly on the shoulders of this platform and create the best apps the world has ever seen. We want to continually enhance the platform so developers can create even more amazing, powerful, fun and useful applications. Everyone wins – we sell more devices because we have the best apps, developers reach a wider and wider audience and customer base, and users are continually delighted by the best and broadest selection of apps on any platform.

Conclusions.

Flash was created during the PC era – for PCs and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short.

The avalanche of media outlets offering their content for Apple’s mobile devices demonstrates that Flash is no longer necessary to watch video or consume any kind of web content. And the 200,000 apps on Apple’s App Store proves that Flash isn’t necessary for tens of thousands of developers to create graphically rich applications, including games.

New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.

Steve Jobs
April, 2010

(END QUOTE)

References, links, further reading

Primary Source:

  • [REMOVED] https://www.apple.com/hotnews/thoughts-on-flash/

Secondary Sources:

  • https://appleinsider.com/articles/10/04/29/apples_steve_jobs_publishes_public_thoughts_on_flash_letter
  • https://medium.com/riow/thoughts-on-flash-1d1c8588fe07
  • https://web.archive.org/web/20100703090358/https://www.apple.com/hotnews/thoughts-on-flash/

Steve Jobs at the 2010 D8 Conference video (extract on flash)

hyperlink: https://www.youtube.com/watch?v=YPb9eRNyIrQ

Steve Jobs at the 2010 D8 Conference (full conference)

hyperlink: https://www.youtube.com/watch?v=a0AZLPqjpkg

  • https://en.wikipedia.org/wiki/Thoughts_on_Flash
  • https://en.wikipedia.org/wiki/HTML5#%22Thoughts_on_Flash%22

#0003: Basic techniques for connecting wires

#0003: Basic techniques for connecting wires

picture comparing: pig-tail, straight solder, and western union splices

Connections discussed:

  1. Straight solder splice
  2. Pig-tail splice
  3. Western Union splice
  4. T-junction splice

STRAIGHT SOLDER SPLICE

picture showing two wires with their exposed copper ends coated in solder
picture showing a basic straight solder connection between two wires

The straight solder connection is made by aligning two opposite facing wires in adjacent-parallel, tinning them individually, then soldering them together. This joint is most suited for smaller gauge wires. Especially in low-voltage or low-current applications.

I find I use this joint frequently when prototyping and stringing various PCB modules together, such as power-supplies and buck-boost converters. This is because it allows me to make a more than strong enough bond very quickly; and without damaging the wires, by avoiding subjecting them to repeated mechanical strain. For example: by twisting them together and soldering, then de-soldering and unravelling them whenever I want to disconnect a module; as is the case with the other types of joints. With this connection however, it is simple: align and solder to connect; then apply flux, heat, and pull apart to disconnect.

The straight solder connection is actually rather strong in my opinion. When applied properly, it creates a bond that can not be pulled apart easily. I tested this joint by wrapping the wires around my hands then trying to pull the joint apart. It might eventually give, but only after considerable force is applied.

Despite it’s initial success with my basic stress test; I still wouldn’t recommend using this type of joint for any permanent applications. This is because, in my opinion, I don’t believe that it will stand up well in most real-world settings. Settings that involve: temperature swings, vibration, or constant stress on the wire and joint. These things can exacerbate any small imperfections in the weld to the point that they can create fissures that can either cause problems like intermittent connections or outright brake the bond. Since the solder is the only thing keeping the connection, any stress applied to it isn’t mitigated by anything. This strain coupled with environmental heat would make this type of connection unreliable in the field. An example of this would be wiring around an engine.

Still though, as long as the wire is not subjected to any real or ongoing strain in its application, it is not a bad option to utilise this type of connection. Especially for temporary or semi-permanent add-ons to an already established system. For example adding a voltmeter module to an electric bicycle to keep track of the battery levels. That way the module can quickly be de-soldered off or be further modded later with a switch as an example. This type of bond also has the smallest footprint. Allowing smaller sized heat-shrink to be easily applied as insulation.

PIG-TAIL SPLICE

picture showing a pig tail splice between two wires
picture showing a pig tail splice between two wires, the connecting twist stands at a right angle between the two connected wires, revealing some broken copper strands within the connection.
picture showing a pig tail splice between two wires, the connecting twist has been folded down onto one of the wires

The pig-tail or rat-tail splice is probably the most common type of connection that I have encountered in the wild. It is made by holding two wires in adjacent-parallel (facing the same direction), then twisting the exposed ends together. Its a quick and dirty solution to make a good mechanical connection. Usually this type of connection is insulated with either sticky tape or even heat-shrink for a semi-permanent solution. It is not soldered in many cases, as the twists and tape tend to make a ‘good enough’ connection for the use-case.

The alignment of the connecting wires is something to take into consideration when deciding whether or not to use this splice. In cases where the wires are to remain adjacent-parallel and facing the same direction; the pig-tail splice is a good candidate. It will allow the user to join two wires next to each other, whilst minimising any change of location, necessary in order for the wires to accommodate the new connection. Example use-case: connecting 2 or more adjacent wires within a ribbon cable. Additionally, with this setup: the connection can be easily soldered and insulated with heat-shrink by sliding it over the open end.

However in cases where the user is joining two opposite facing wires, they are usually left with a connection made up of a twisted pair that veers off at a right angle. This is then folded onto one of the wires in order to apply insulation. This is mechanically weak, as it concentrates any stress on the wire/connection or more accurately “pulling force”; at the bend. The first twist where the two wires meet.

This configuration of the pig-tail splice rarely takes solder well without ending up with an overly large footprint or bulge that the user has to then slide heat-shrink over. It is also too easy to melt the wires whilst soldering because of how close the insulation on the wires are to each other.

To conclude, this connection is good in solder-less temporary or semi-permanent applications. But if you want a more permanent bond (especially for opposite facing wires), the western union splice is a far better solution.

WESTERN UNION SPLICE

picture showing two wires being lined up for a connection
picture showing the exposed copper ends of two wires crossed over each other
picture showing an unsoldered western union splice between two wires
picture showing a western union splice between two wires

The western union splice is named after the Western Union Telegraph Company. This connection involves crossing the exposed ends of two opposite facing wires together, at a mid-point between the wire’s exposed tip and the start of it’s insulation: in an “X” shape. Then twisting them around each other’s exposed base sections. Continue twisting until the insulation of the opposite wire is reached. Then trim off any excess exposed wire tips. This makes a linear and very strong mechanical connection between the two wires; by maximising the contact area the wires have with each other within the connection. It also functions as a knot of sorts, and once properly soldered, it becomes essentially stronger than either wire itself. In addition it has a relatively small footprint and consequently takes to sliding heat-shrink over it rather well.

This is probably my most favoured splice for permanent connections. However for those same reasons, it is also largely inappropriate for temporary applications. This is because it becomes a hassle to de-solder and untangle the wires. This process will also almost definitely damage the wires involved; by fraying and breaking some copper strands from the stress of unravelling.

THE T-JUNCTION SPLICE

picture showing a T junction connection between three wires
picture showing a T junction connection between three wires

The “T” junction splice is any connection where you add a third wire to an existing connection. The most basic version involves removing the insulation from the mid section of a wire; then wrapping another wire around the exposed section before soldering it in place. Then insulating it. This method can also apply to any of the above connections – and the strength of the additional connection usually depends on the strength of the underlying connection.

You could opt to pig-tail together three wires into a T-junction (or four into an “X”, etc…), or straight solder three wires, or even create a western union splice, then tightly hitch the third wire over that connection for maximum strength.

At its most basic a ‘T’ junction splice is exactly that. Three wires connected together in a rough ‘T’ shape. Everything else is up to the user, and largely depends on the use-case and it’s needs.

SOURCES / REFERENCES / FURTHER READING:

https://en.wikipedia.org/wiki/Western_Union_splice

https://en.wikipedia.org/wiki/T-splice

https://en.wikipedia.org/wiki/Rat-tail_splice

https://en.wikipedia.org/wiki/Point-to-point_construction

https://en.wikipedia.org/wiki/Printed_circuit_board

https://en.wikipedia.org/wiki/Solder

https://en.wikipedia.org/wiki/Flux_(metallurgy)https://en.wikipedia.org/wiki/Soldering

#0002: Cleaning up after an alkaline battery leak

#0002: Cleaning up after an alkaline battery leak

picture depicting a stack of rusted and leaking double A batteries

This will be a rather basic guide on how to clean out a device after an alkaline battery leak.

Whenever I come across an old device, that for some initially unknown reason refuses to power on. Chances are, that someone left disposable alkaline batteries inside it, and that they have leaked. There are a number of reasons as to why people leave batteries inside devices. Predominantly: laziness, ignorance, or forgetfulness. There are also a number of reasons as to why these same forgotten batteries leak. Batteries with mixed charges, reverse charging each other, or a constant low current draw causing leaking; are but two examples.

Unfortunately, a more in depth look into what causes disposable batteries to leak is outside of the scope of this article. However it is something that I am interested in exploring at a later date. Check the further reading section of this article for the hotlink to that, when I eventually get round to penning it.

I cannot count the number of times I have opened the battery compartment of a device, that has been left in storage for a while; only to be greeted with a vented battery, rust, and the the blue-white fuzzy carpet of alkaline crystals growing out of it. Meshing into, fusing with, and corroding the negative terminal’s spring contacts. This infection then proceeded down the circuit and further into the device and onto more complicated/valuable components. In this regard, an unstemmed battery leak has the potential to brick a device.

picture depicting heavy alkaline battery leak on battery spring terminal

So, how do you deal with it? Well, if caught early and the leak hasn’t progressed far beyond the battery itself, and a bit of surface level corrosion on the spring contacts; then it is really not much of an issue. A quick wipe down with a damp cloth after disposing of the batteries, should suffice. I recommend using isopropyl alcohol to dampen the cleaning cloth, mainly because it becomes non-conductive very quickly by evaporating readily. It also doesn’t leave any contaminants like water might. However water is fine to use in a pinch; just make sure it is fully evaporated and that there is no substance residue left after cleaning; before you power up the device.

picture depicting very light alkaline battery leak on battery spring terminal

If the leak has had the time necessary to progress further into the circuit and deeper into the metals. That’s when you have to take more invasive steps in order to remove it. There are two main ways to deal with an advanced battery leak. Which one to use, largely depends on circumstance. The most important factor being whether or not the affect parts can be removed from the device.

Method #1: Acid Bath

The first method of remedy, requires the removal of the affected parts and the use of an acid bath. Removing the affected parts, will likely require de-soldering. Next, create a bath, of vinegar and water at a ratio of approximately 1:3. So 25% vinegar and 75% water, or thereabouts. This leaves you with a mildly acidic solution for you to submerge any affected parts within. Mix the solution well, then drop the parts in. Leave it for some time. How long for based on your own judgment. I recommend 30 minutes to a couple of hours depending on the invasiveness of the alkaline crystals into the metals.

picture depicting an acid bath (blue tub with vinegar-water inside it), and a pair of forceps

Remove the parts from the solution when you think that they have been in there long enough. At this point, they will require brushing down, to remove any stuck on materials. Use a strong bristly brush for this, something like a firm toothbrush will do. For those wondering, a wire brush would probably be overkill for this application, especially since the subjected parts would likely be rather small, and wire brushes are traditionally made for uses with larger items. Wire brushes will also likely remove the finish on the metal parts, that is if the acid bath hasn’t done so already.

picture depicting heavy alkaline battery leak on battery spring terminal

The main reasons why I recommend using a mildly acidic solution to counteract the alkaline crystals is: one, in order to minimise the severity of the reaction between acid and alkaline; and thus minimise the chances of additional corrosion or damage done to the metals in the process; and two, to minimise the chances of the acid removing or damaging the metal’s finish by reacting with it. It should be noted that plenty of parts in modern mass produced devices are made up of mixed metals, then given a chrome finish for uniformity.

picture depicting battery terminals with chrome finish removed by the acid bath

I should note that when I say ‘part’, I am referring to simple primarily metal constructs within devices; such as spring terminals or basic switches. I am not referring to more complicated components such as resistors, capacitors, transistors, or anything more sophisticated than those examples. This is because the acidic solution is very likely to compromise the internal structure or chemistry of any components submerged within it, if the leak’s corrosion hasn’t done so already. Bricking the component in the process. More on what to do with leak affected components mentioned later.

picture depicting two leak corroded battery terminals with chrome finish removed by the acid bath

After brushing all foreign materials off of the parts, dry them off, then wipe them down with a cloth laced with isopropyl alcohol. Continue until you are confident that you have removed all contaminants including traces of alkaline crystals and the acidic solution. Once this is done leave the parts to dry fully, before then placing them back into the device and likely soldering them back into the circuit they come from. That’s it, done.

Method #2: Acid Wrap

The second method of removing alkaline crystals is used when the affected part cannot be removed either from the device or it’s circuit for whatever reason. A good example of this is when a part is either welded, crimped, or glued into place; making it’s removal potentially too destructive to consider lightly.

picture depicting two spring contacts, one clean and the other covered in alkaline crystals
picture depicting two spring contacts, one clean and the other covered in alkaline crystals (front view)
picture depicting two spring contacts, one clean and the other covered in alkaline crystals (back view)

This method requires either tissue paper or cloth. Id est, something that can soak up liquid and cling to a particular structure without external pressure/force. I use tissue paper for this example. Soak the tissue paper in a diluted acidic solution; enough so that it has plenty of solution available but not enough that it drips excess. Then wrap it around the affected parts and wait for time, before removing it and brushing off any loose materials. Rinse and repeat until it looks done. Then clean and wipe down the part with an isopropyl laced cloth. Done.

You can adjust the ratio of vinegar to water to your liking. I still recommend a mildly acidic solution to minimise the severity of the reaction (and any damage caused from it), but the more acidic the solution is, the quicker it’ll dissolve the alkaline crystals off of the affected parts. From my experience a ratio of 1:1 seems to work out well.

Another tip for this method is to properly isolate the rest of the device from the part you are currently working on. This is done to avoid any accidental drips from the tissue paper or off-spray caused by brushing. Vinegar-water and electronic components are best left separated. With that in mind, I recommend using a plastic bag and tape. The plastic bag functions as a waterproof membrane and the tape holds it in place. Simple.

picture depicting two spring contacts, one clean and the other covered in light rust (viewed with chassis)
picture depicting two spring contacts, one clean and the other covered in light rust (front view)
picture depicting two spring contacts, one clean and the other covered in light rust (back view)

Dealing with components

Now that the basic method of cleaning metal parts has been explored, you may be wondering as what to do when the leak has reached more complex components. Well, the answer is simple. Try to remove whatever battery residue you can mechanically; i.e. just using a brush or a small chisel of some sort. Then de-solder/remove the component from the circuit. Test it appropriately. I recommend having both a multimeter as well as a multi-function tester on hand for this. If it is still within specification, solder it back into circuit; if not, replace it. There is not much one can do for any affected components beyond this. Once a capacitor or resistor is broken, it needs to be replaced.

Conclusion

As a final note, I should also mention that in a lot of situations: replacement of the affected metal parts is probably the more appropriate recourse to severe leak damage then repair might be. This means replacing spring terminals, and creating jumper wires as replacements for corroded PCB traces. This is because the repair can weaken the metal, leaving one with brittle spring terminals or a trace with more resistance in it than initially intentioned. However having said that, if you either can not remove the part, or don’t have the prerequisite replacements: then an ugly repair is better than no repair at all.

Sources/References/Further reading:

https://en.wikipedia.org/wiki/Alkaline_battery#Leaks

https://upload.wikimedia.org/wikipedia/commons/7/76/Alkaline_Battery_Leakage_Inside_a_Product.png

https://en.wikipedia.org/wiki/Isopropyl_alcohol

#0001: On creating a website

#0001: On creating a website

image depicting "w w w ."

I find myself sitting here at a loss as to what topic I should go with for my first article on this site. It needs to be something interesting, and more importantly this first post will set the standard for those to come; so it needs to be good.

If you read the title, you probably can guess what topic I chose. Yeah, after spinning it in my head for a while; I decided just to go with how this site came into existence. This is after all supposed to be a technical blog (of sorts), so it seems fitting that we start with the basic technology of this website itself.

So what is it that you actually need to create a website? Well, like most questions in life, the answer is: it depends. In this case I needed three things to get up and running: 1) a domain name, an official registered name for my website; 2) a site-builder, software to help me make the thing; and finally 3) a host, some always-online servers to hold the code and contents of the site, these are the computer(s) that users will connect to when they visit the website.

image depicting logos of HTML5, JS, and CSS3

Initially I thought that creating a website would be no sweat. Just get a domain name, get a host, and hash out something in HTML, JavaScript, and CSS (the holy trinity!). No builders necessary. No worries. It should take me exactly “one weekend” to do this. Right?

Well, unfortunately no. I think I fell victim to my own hubris, or more accurately the Dunning-Kruger effect. There was and is so much more to the process that I was unaware of, that I actually thought it’d be straight forwards and easy. Having said that however I should outright state; that yes, creating a web site has never been simpler or easier for the uninitiated. With site builders and turn-key solutions (like wordpress.com or squarespace.com for example); that largely abstract out all the mechanical technicalities, into simple graphic interfaces that a non-technical person can intuitively operate. A good real-world example customer for these would be an artist creating an online portfolio of their works.

logo of squarespace.com

These solutions however did not particularly interest me much, as I am interested in the technicalities of the actual infrastructure of the website itself. This I found to be something that is largely abstracted out of relevance by these public facing and user friendly interfaces. Another concern I’d like to voice is that, although these company services do make it very straight forward to get an online presence. They do however charge you for every step on the way, and at the end of it you may end up with something that you don’t exactly want and have spent money on it to boot.

Examples include: purchasing a packaged feature-set that after gaining some experience you realise that you have no use for; or in a bid to save money: purchasing the cheapest packages available then realising after the fact, that your use-case requirements are in excess of the service package’s limitations.

This was one of my primary concerns, and as a result caused me to be very cautious when selecting something out of the numerous and quite frankly somewhat overwhelming options. So many companies, site-builders, hosts, and all the packages and deals that they use and offer. So, after some time being put off from pulling the trigger on anything in particular; then procrastinating (naturally). I finally decided to write up a clear criteria of exactly what I wanted.

I always find that when venturing into the unknown (a bit melodramatic granted), it pays to have a plan, a goal, a list of objectives, a criteria, whatever you want to call it. I have also found it most effective for that plan to be concise in nature and hierarchal in structure. Id est: a numbered list.

So here’s mine:

  1. I wanted a basic website for blogging and a light hosting of files. It will consist predominantly of written articles, image rich guides, as well as to host small to medium files and programs of my own creation (<100MB each). This means the storage size needs to be in excess of 50GB. All those files and HD pictures add up quickly.
  2. I wanted my own unaffiliated domain name. It looks more professional in my opinion. For example: mywebsitename.net instead of something like: mywebsitename.wordpress.com or mywebsitename.googlesites.com.
  3. I wanted the site to be adequately secure against malware, spam, and intrusion with minimal intervention on my part. In other words I wanted to be hands off when it came to securing my contents. I need good ready on-hand security without having to divert my time and efforts into a rabbit-hole of research, at least for now.
  4. And finally, and most importantly. I wanted to be able to have this whilst maintaining a degree of privacy. I want an online presence without freely advertising my personal information to the world at large.

So that’s it: basic small bloggers site, with it’s own name, adequate hosting, some protection, some privacy, and with a comfortable storage limit. Obvious right, well not so in my experience. There is merit in writing down the obvious and enumerating it. It brings it to the front and centre and adds it to an objective hierarchy that one can work from.

In the end, after a frustrating period of paralysis via analysis, and exploring a multitude of different options on the market; I decided to just take the shortest route to my goal. Perhaps not the best route for my personal use-case, but that is the kind of thing one sees with experience and hindsight. So I decided to pick a reasonable option and just jump in and see how it goes.

And that is exactly what I did; I ended up going with wordpress.org as my choice of website builder. Three main reasons: one, it’s ubiquity – it is well known, well used, and well documented. So any issues I may come across, chances are good that someone else has, and probably documented a solution to boot. The second reason I liked WordPress, was because of it’s open-source and community driven nature. This makes it versatile meaning if there is a particular feature I wished for, chances are that someone else has, and has a documented implementation of it somewhere. Lastly, the third reason is simple, it is free. This allowed me to tinker with it without any financial investments.

As to why I didn’t just build the website out from source myself. Well beyond making a basic website consisting of static webpages linked together, this was beyond my skill-set and interest level at this time if I am honest. I wasn’t willing to spend the time and effort to learn to implement every little feature that I wanted for it. This could include anything from animated drop-down menus, to allowing user comments, or embedding videos within articles. It would have required more of a personal investment than I was willing to put in at the time; especially since I just wanted something useable and customisable to be up and running in a timely fashion. That, and I couldn’t justify taking time from other projects and responsibilities, the reward to work ratio wasn’t sufficient.

image depicting wordpress.org logo next to wordpress.com logo

Please note, there is a distinct difference between wordpress.org and wordpress.com. WordPress.org is just the open source website builder software. Whereas wordpress.com is a company that bundles in the website builder with their own hosting and support services. They are not the same entity.

Next up, hosting. This one is quite simple since as far as I know, one competent host is as good as another. I went with bluehost.com since they were recommended from wordpress.org via affiliate links. Their prices for what I wanted were also reasonable. Funnily enough, I got my domain name via bluehost’s partners. So it was a case of choosing WordPress and being funnelled to affiliates and partner’s services for the rest. It made things simple and since I actually have little experience in setting up websites; I was more concerned with not using the “wrong” company (dodgy or otherwise) or “wrong” tools (wasting time learning inferior tool sets – been there done that…), than I was concerned with choosing the best deal. As long as what I got was what was advertised, and what was advertised was good enough to get started.

With the WordPress optimised setup, I ended up with a “shared webhost service”. Essentially my website would be sharing the server with many others like it. This is because a simple WordPress website doesn’t really need anything that requires dedicated hardware. For example: large processing capabilities for online gaming. This website wasn’t going to be folding proteins or using their server for automated stock trading or anything like that. It also didn’t need a large reservoir of storage space available, since it wasn’t an archival or file hosting website.

The “shared webhost service” is the one of the cheaper options available. Others include a “virtual private server”, this is a mid-tier option allowing the subscriber to have a virtual server with it’s own allotted RAM and CPU usage. Additionally, and probably the most expensive option available is renting a dedicated server. Its exactly what it sounds like, the subscriber just rents a box dedicated to just them; and consequently they can have complete control over it. The latter two mentioned here are overkill for this humble hobbyist’s blog. They are more appropriate for the other examples I mentioned above.

While I was going through the processing of setting up the host; and looking through their various options; two features/services that they offered popped out to me, and I would like to highlight them for you. The first is “domain privacy” and the second is that of “SSL Certificate”.

Domain Privacy. This basically allows you to own the website without having your personal information plastered all over whois.com (or who.is, or whois.net, or what have you). Websites that comb website registrars for ownership information. As the newly minted website owner, your contact information would be listed there. Alarmingly, this includes: your full name, address! and any contact numbers or email addresses you provided whilst registering the site. It should also be noted that lying on the registration is apparently punishable by law (I read that somewhere during the signing process, but I can’t find a direct reference or link stating that. Apologies). Unfortunately I can’t actually speak to exactly where it applies, and what kind of punishment.

This is not really a problem for a business, with its own legal identity and premises; however it most certainly a problem for the private individual. If you then purchase “domain privacy” from the hosting or registering company, this will result in them acting as a mediator and using their information as a substitute for yours on these public listing.

I believe different countries have different laws regarding public displays of website owner’s personal information, via sites like who.is. Some permit it by default, others favour the owner’s privacy and don’t allow the display by default. My concern here is, although I live in a country that [with regards strictly to this] favours the individual’s privacy, the company that I’m doing business with is in another country, one that does not. Whose countries laws takes priority? Is seemed like the more prudent thing for me to do was to just purchase this service, rather than leave it to chance.

The second feature of note I encountered, is that of a “SSL certificate”. Put simply this gives the website a certificate of authenticity. This is issued from some association charged with verifying that the websites users connect to are who they say they are. In addition this allows secure connections to site servers using the HTTPS protocol. This is important to me as I know I am rather reticent to visit many non-https websites, especially since many modern browsers such as Firefox (circa 2020), warn users who connect to non-https or unsecured websites. Its just another layer of security to take advantage of. One that grants a level of authenticity.

image depicting orange "CPanel" logo

Moving on. It should be noted that when I purchased the hosting I also got the ability to setup my own emails system using cPanel. cPanel is a general control panel for web hosts that enables you to control all the various programs for your website. In this case an email client. I decided to go with one central email address (mail@tinkerersblog.net) using the webmail service and the roundcube mail client. There are other options of email client available, including: Horde and squirrelmail.

That’s basically the process from start to finish. At this point I have a basic WordPress template site and email. All that was left was to customise it to my liking and create content. In retrospect, the biggest hurdle for me was the over-abundance of choice on the market. It required an exhaustive process of researching and vetting the various services, and options available there-in. Other than that, once you have chosen a particular company, host, or web-builder you like; they tend to do a good job of keeping you in their ecosystem for the rest of the things you need to get set up. They do this predominantly via affiliate links and discounts.

The funny thing is now that I am committed and have paid approximately £180 for a 3 year deal for this site; I still think that maybe I could have found something better. A particular tool-set, or cheaper deal that would suit me more, maybe I invested into a bad company or technology, or perhaps I made a mistake when buying optional add-ons? Who knows? I guess I will, later. Still though, it is a nagging feeling that lingers on after the decision has been made.

Besides, the primary objective was to get started and that has been done. It’s only really with hindsight that I can make better decisions for my particular use-case; and that comes later. I guess that Steven Wright quote holds water here: “Experience is the thing you get just after you needed it” … I am paraphrasing. Anyway, That’s all for my musings.

Thank you for reading.

Sources / References / Further reading:


https://whois.icann.org/en/domain-name-registration-process
https://whois.icann.org/en/about-whois
https://en.wikipedia.org/wiki/WHOIS
https://en.wikipedia.org/wiki/CPanel
https://en.wikipedia.org/wiki/Webmail
https://en.wikipedia.org/wiki/Roundcube
https://en.wikipedia.org/wiki/SquirrelMail
https://en.wikipedia.org/wiki/Horde_(software)
https://en.wikipedia.org/wiki/Domain_privacy
https://en.wikipedia.org/wiki/HTML
https://en.wikipedia.org/wiki/Cascading_Style_Sheets
https://en.wikipedia.org/wiki/JavaScript
https://www.dreamhost.com/blog/wordpress-differences-beginners-guide/