Internet advertisement doesn't pay much anymore.

Become a patron
Pin Eight


Pin Eight is the personal web site of Damian Yerrick. You may be interested in one or more of his projects:

Concentration Room

Older projects: Luminesweeper

Updating Multiboot Menu

Posted on March 19, 2020

Today I returned to a Game Boy Advance project that I had last touched almost 17 and a half years ago: Multiboot Menu. It takes several Game Boy Advance programs small enough to fit into RAM (256 KiB or smaller) and turns them into a ROM that runs from a flash cart. And now it builds correctly with a modern version of devkitARM.


Posted on April 18, 2019

I've opened a creator page on Patreon. To keep updates coming and get your name in the credits of one of my projects, become a patron today.

PHP upgraded

Posted on November 8, 2018

PHP on has been upgraded to version 7.2.

MediaWiki upgraded

Posted on August 19, 2018

MediaWiki is upgraded to version 1.30. One extension had to be disabled because it is no longer maintained and no longer compatible with recent MediaWiki. Upgrading to the current version is on hold until I investigate migrating my hosting from PHP 5 to PHP 7.

Still from a video of a man walking on a path

In other news: In 2018, web browsers started to block automatic playback of video that is not muted, requiring a user gesture to enable anything audio-related. But discussions about this policy on various forums uncovered a vocal minority who don't want any video to autoplay because video uses a lot of data, which cellular and satellite ISPs put under a monthly cap. Some of them don't realize how many ways there are to play video that use even more bandwidth than the <video> element, such as animated GIFs or sequences of JPEG or PNG images. Web browsers allow autoplaying muted video as a least bad way of discouraging ad networks and other websites from automatically falling back to less efficient methods.

So for people who claim to have blocked autoplaying video using a browser feature or add-on, I have created a video autoplay test suite with 14 tests to run against a video blocker.

Fast, good, cheap: choose two.

Posted on August 9, 2017

It started with a Tweet by @missingcloudltd showing an animation of a proposed user interface allowing selection of up to two items in a list, using the classic iron triangle of fast, good, and cheap as an example. Then @nannerb implemented the proposal in HTML and JavaScript as Cue comments from the peanut gallery that all three are possible if the user turns off JavaScript before visiting

Some took this as a subtle condemnation of script in the browser. This rekindled a perennial discussion about whether script in the browser ought to exist in the first place. A vocal minority of users in the comment sections of Slashdot, SoylentNews, and elsewhere, believe HTML documents ought to be static apart from form submission. (See, for example, the reaction on Slashdot and on SoylentNews to Google Chrome's adoption of WebAssembly.) To them, if an application needs to be more dynamic than HTML, CSS, and form submission can provide, then it ought to be native, written using a multi-platform toolkit such as Qt, and made available as source code under a free software license for download, inspection, compilation, and installation by PC owners.

So anyway, some replies claimed that the two-of-three UI isn't even possible without script in the browser. It's true that HTML lacks a selection input allowing greater than one but fewer than all options; radio buttons allow only one, and checkboxes and <select multiple>. But navigation or form submission allows the server to correct mutually inconsistent inputs and present a consistent view to the user.

So here's my reimplementation of FGC using only HTML and CSS. Even ignoring the JavaScript debate, it has one additional feature that @awhite requested: the user can link to a single state.


Posted on December 22, 2016

Don't like everybody seeing what web pages you're looking at? Try the HTTPS Everywhere extension by Electronic Frontier Foundation, available for Firefox and Chrome. It rewrites http: URLs on select websites to use https: instead. This means a snooper looking at your can see only what sites you're viewing, such as "some page on Stack Overflow" rather than "the question about == and === in JavaScript".

Pin Eight is not included in HTTPS Everywhere, but it does have a similar feature called HTTP Strict Transport Security. Once it's turned on in your modern web browser, the browser will rewrite all URLs to https:. Currently we're deploying it on an opt-in basis, so go ahead and turn on HSTS for a month.

OCSP problem

Posted on April 5, 2015

We are aware of a problem reaching Pin Eight with Firefox 37. StartSSL is having OCSP issues. Users of Google Chrome are unaffected.

UPDATE (18:10 UTC): StartSSL's OCSP server appears to be operational once more.

Follow me on Twitter

[A cartoon boy still half inside an egg, wearing a red cap and a blue vest]

Posted on February 13, 2015

I have a Twitter account now (username: @PinoBatch), but I still feel like I haven't hatched all the way.

A couple users on NESdev BBS found a few serious problems with my NES and Super NES project templates. So I addressed some of their concerns in version 5 of my NROM, SNROM, and LoROM templates. Highlights include:

  • Added overall map of source code to README
  • Background and player related code are in separate files
  • Indented forward branches in player movement code
  • Super NES register names are broken into functional groups have aliases based on names from Fullsnes
  • Improvements to Super NES init code and LoROM linker script
  • SNROM template also supports UNROM

Super NES

Posted on November 9, 2014

So I'm finally learning how to program for the Super Nintendo Entertainment System. There's a new section for this platform with a port of my NES project template.

Fight for the future of the Internet

Posted on September 1, 2014

For years, there has been a fight between between "net neutrality" and "paid prioritization" approaches to last-mile home Internet access in the United States. ISPs normally make money by charging a monthly fee to the receiver (you), but lately some have been trying to double-dip by also charging both the sender of the information (such as Netflix). Instead of giving subscribers what they have paid for, some cable and fiber telecom providers have chosen to engage in congestion by choice in order to promote their own traditional cable television service instead of over-the-top (OTT) video on demand services such as Netflix, Amazon Prime, and Hulu Plus. These providers intentionally route the OTT service's connections down the "slow lane" to degrade quality of service unless the OTT service pays the ISP a recurring fee. So under paid prioritization, the customer ends up paying the ISP twice: once as part of the Internet subscription and once to the OTT provider.

Proponents of net neutrality have staged a protest against anticompetitive double-dipping on September 10. Many web sites will briefly display a fake loading bar as a symbol of the fight against ISPs' preferential treatment of some sites over others. Pin Eight is among them.


Posted on August 7, 2014

A long-standing mixed active content problem on some pages of this site has been fixed.

The JSNES Arcade

Posted on July 12, 2014

If your PC is fast enough, and it uses a modern web browser, visit the JSNES Arcade to play some of my NES games without having to download and install an emulator.

Wiki scraper

Posted on June 10, 2014

Since Koitsu announced the decision to shut down Parodius Networking, I've been privately maintaining a tool that backs up a wiki that runs MediaWiki software. I used it as a backup plan in case normal wiki migration didn't work correctly, but it ended up proving useful for creating a downloadable static version of a reference wiki. It is currently in use on NESdev Wiki, and now I make it available for everyone to download.


Posted on May 15, 2014

It is the story of a neighborhood rivalry that got w-a-y out of hand. Trampling each other's gardens was only the beginning. Soon they were shooting off model rockets to blow holes in the walls of the house across the street.

Today, I release the source code of RHDE: Furniture Fight, a game that won second place in the 2014 NESdev competition.

Still reading? Check out older posts from 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003, and 2002.

I have written for other sites: All The Tropes | Gab | GbdevWiki | GitHub: pinobatch | NESdev | RationalWiki | Slashdot | SoylentNews | Twitter: @PinoBatch | Wikipedia


© 2000–2019 Damian Yerrick. Some rights reserved: except where otherwise indicated, this site is free content, licensed under your choice of Creative Commons Attribution-ShareAlike 2.5 or GNU Free Documentation License 1.2. Terms apply.