View on GitHub

Quorten Blog 1

First blog for all Quorten's blog-like writings

Is Ubuntu still relevant?

2020-11-03

Categories: unix  
Tags: unix  

So, recently I’ve upgraded from Ubuntu 18.04 LTS to Ubuntu 20.04 LTS, and my first impression? I didn’t really like what I saw. I mean, to be honest, I’ll say overall it felt like two steps forward, two steps backward. Ubuntu still works for my limited use case of a very simple desktop with a restricted range of installed software, but I feel it has fallen far from being the best “desktop” distro.

And that’s right, they’re not. They’re primarily focused on software developers targeting powerful, high-end computer hardware. Accessibility, heck that’s a far cry from their current mission statement, but they’ve thought to include it in a bullet point. No longer is Ubuntu primarily a billionare’s humanitarian effort, it is now Canonical’s means to make billions of dollars. Cloud, server, IoT development. That’s what they’re targeting, and it will be their mission on an IPO.

So, yes, derivatives like PopOS and Linux Mint, they’re definitely preferential choices for a GNU/Linux desktop distro. Actually, I’d vouch that Raspberry Pi OS would be the best desktop experience if you want it to be user-friendly. Well, it can be made to be so.

Now, here’s an interesting predicament that came about on the question of dropping 32-bit support. Gamers and Ubuntu Studio communities, they objected heavily to the idea when raised at a later date. But speaking with the “developer” channel and Valve Steam, the no concerns were raised at all in the conversations. They just didn’t really care or see it as an issue. Of course not, you know what kinds of developers those are?

Read on →

What is the value of the pull-up resistors in AVR microcontrollers like the ATMega328P? In general, there is no defined value. These are not implemented as true resistors because that would take up a significant amount of chip space, they’re likely implemented as just transistors that provide an approximate resistive function when used in a clever way. Therefore, there is a range of uncertainty from 20K to 50K. But, hey, that’s all I needed to know for my intended purpose. Mainly, I was interested in exactly how viable it would be to connect a small keypad with wires formed entirely out of conductive carbon ink directly to an AVR microcontroller. At 100 ohms of resistance per inch of trace, this sounds viable, 10 inches of such traces would provide a resistance of 1K, and 20K is still well ahead of that resistance, so the voltage swings should still work properly with key presses. Use the shortest traces possible in your keyboard matrix.

20201102/DuckDuckGo atmega328 pull up resistance
20201102/https://idle-spark.blogspot.com/2015/04/arduino-avr-328p-internal-pull-up.html
20201102/https://forum.arduino.cc/index.php?topic=134077.0

Now, as for the BCM2835 in Raspberry Pi, from what I’ve heard about the information on it so far, it sounds like the pull-up and pull-down resistance values are more stable in that chip. Well maybe they don’t use true resistor implementation in there, but it could be that the self-heating of the chip due to the high-speed core helps provide a more stable resistance value.

Electric Paint, the carbon conductive by Bare Conductive, do I really have to go to Amazon to buy it? Well, searching assuming it is at Digi-Key, I found it! I’ve also found a selection of other good chemicals in there, I’ll just summarize for those.

  • Other conductive inks, including Circuit Scribe, MG Chemicals, silver-based, copper-based, ones with curing acrylic overcoat, and so on.

  • Solder mask that you can draw onto your printed circuit boards for repair.

  • Conformal coating: silicone, acrylic, and others.

  • Two-part conductive epoxies to use as an alternative to solder when low-temperature conductive bonding joins are required.

  • Lithium grease for coating contacts on card edge electrical connectors, cleans oxidation off the surface, lubricates it, and also protects from future oxidation. Though, I have to admit I’m not sure if card edge connectors are supposed to be lubricated electrical contacts.

Yeah, lots of great stuff being sold there in that category of “Prototyping, Fabrication Products > Coating, Grease, Repair,” it’s just not very well categorized. Fortunately, there’s only about 150 products, so you can manually eye through the list to see everything.

Read on →

Wood shelves, yes something that many folks may like for setting up a vintage gaming console display. But is it really good for the systems? Well, untreated paper has lignin in it that breaks down into acid over time, so you’d think that wood itself would be similar, even though the effect may be less extreme. Indeed, it is. But, if you seal wood with two layers of polyethylene lacquer, that does the trick for protection of most of the acid issue. Another note, use potato starch glue if you want acid free glue for bonding cardboard, interesting. Or you could just use hot glue, yes.

20201031/DuckDuckGo are wood shelves safe for archival acid
20201031/https://www.woodweb.com/knowledge_base/Safe_Materials_for_Museum_Storage_Cabinets.html
20201031/https://ccaha.org/resources/selecting-materials-storage-and-display

Now what is melamine board? Basically, a dry erase whiteboard.

20201031/DuckDuckGo melamine
20201031/https://en.wikipedia.org/wiki/Melamine

Ah, but hey, here’s another note. You can also use finishing on cardboard to protect from acid, just like wood. With, of course, the disadvantage that it can no longer buffer against humidity.

20201031/DuckDuckGo acid free corrugated cardboard boxes
20201031/https://answers.yahoo.com/question/index?qid=20070217214711AAI7YGB

Read on →

Okay, so I’m getting closer to building the project that replaces my need to own the physical Apple IIc Plus computer, so I’m thinking about putting it up for sale. But I don’t just want to ship it again in the tattered old lamp box that it came in, why not create some good sturdy box for shipping it in and maybe even having a retail look to it? Well, finding the Apple IIc Plus box was moot, so this really came back to revisiting the old info on the Apple IIc unboxing I’ve found, but apparently did not save, years back.

My guess of the original box dimensions is that they must be about 15.5 x 16 x 10 inches, something like that. Well, yes, somewhat similar to the original Macintosh boxing but slimmer.

20201030/DuckDuckGo apple iic unboxing
20201030/https://www.engadget.com/2008-02-04-flickr-find-apple-iic-unboxing.html
20201030/https://www.flickr.com/photos/dansays/sets/72157603835099525/
20201030/DuckDuckGo apple iic plus unboxing

Alas, searching for that failed search subject, I still did come across some other interesting infornmation, someone else’s experience on Apple IIc Plus, got some useful information. Particularly interesting was the display evaluation, there are some specialist security displays that work great for Apple IIc Plus 80-column font mode? Yes.

Read on →

Wow, interesting, the PowerPC Mac OS Classic had a sophisticated graphing calculator program bundled as part of the operating system. But how was it developed? It was fully a clandestine effort of laid off Apple contractors/employees getting together to support a skunkworks project unofficially, then try to work it into the system disk image that shipped with the new Macintosh computers. Using old badges to gain access to Apple property even when they were not authorized to do so, then tailgating into the property when their badges were deactivated by security. Then they retroactively made it legally legitimate by defining it as a partnership with an external company, a matter of fact of having been assigned “external vendor” badges later in the project.

Personally, I don’t approve of the general approach, but as they say, the practice was somewhat relatable at the company at the time, just that they took it to extremes because they were not on payroll or under any facility access whatsoever.

20201029/https://www.pacifict.com/Story/

Gameshark… Gameshark? Yes, the novelty of Gameshark is that it has a parallel port interface for communicating with a PC, and although we had no shortage of such interfaces on 1990s PCs, nowadays they are quite hard to come by. In my particular case, I was looking for some interesting use cases to test my pi-parport board that I have built, and a Nintendo 64 Gameshark is one of them. The problem… can I get the software to run on Linux? The original software was written for Windows, but good news, there is at least one hobbyist development that ported it to Linux.

20201029/DuckDuckGo open source game shark nintendo 64
20201029/https://hackaday.com/2019/01/11/nintendo-64-homebrew-via-game-shark/

So, follow the trail here. The Hackaday article links to a modded version designed to work with one particular model of those annoying cheap Chinese USB parallel port interfaces. Follow the link to the original project that was designed for direct use with traditional PC parallel ports. Yep, Linux support.

20201029/https://github.com/hcs64/gs_libusb
20201029/DuckDuckGo ppcasm gsuploader
20201029/https://github.com/ppcasm/gsuploader

Read on →

That Texas Instruments SN74LVC161284DL parallel port transceiver chip? It has two mystery signals that are not well explained, HOST LOGIC and PERI LOGIC. What are these for? Well, this took a lot of searching around to find out what they’re for, but they are designed for detecting whether the device on the other side of the link is powered on. Essentially, its a Vcc power source of a sort. However, these pins are not exposed in the standard DB25 connector, they are only available on those stupid nonstandard 36-pin micro Centronics connectors that nobody uses. But, the most interesting thing about this? I found an online source that said the micro Centronics connectors are recommended for new applications! Ha! They never showed up on PC back panels before the parallel port became obsolete, who would ever use them?

20201028/DuckDuckGo ieee 1284 device power pin
20201028/http://www.interfacebus.com/Design_ieee1284c_Connector_PinOuts.html
20201028/DuckDuckGo ieee 1284 host logic high
20201028/http://www.efplus.com/techref/io/parallel/1284/1284conn.htm

I think a lot of things about the IEEE 1284 were a “wannabe” standard. This standards committee got together and thought they could create this new high-speed communications standard that would then take the market by force, but that simply never happened. So, in the latest versions of IEEE 1284, we ended up with all kinds of bespoke functional specifications that were never used in practice.

Looking for Open Hardware keyboards? Look here for a great example, they’ve got some pretty nice stuff going out there with mechanical keyboard designs!

So, a few noteworthy things are pointing out about this design. First of all, a large, rigid PCB is used to cover the full area of all the keys on the keyboard, rather than only being used for the microcontroller and relegating the lion’s share of the key surface area to be covered by a cheaper flex printed circuit with no diode isolation for n-key rollover. Second, the project makes use of a standardized USB Type-C daughter-board with protective electronics, Unified Daughterboard Project C3. Third, the keyboard microcontroller is AVR-based and uses a standardized keyboard controller firmware framework called QMK, and the keyboard itself it then just defined using some header file definitions for the pinout of the keyboard matrix and the key scan codes. And last but not least, I found the forum link to the great community behind this all, this is how they sync their communications with each other, and unfortunately there is clearly a broken link between this community’s communications and that of the 68kMLA community. Matter of fact, the Open Hardware design of the case came out of asking for permission from a member of this community.

Read on →

SCSI over parallel port? No kidding, is a really great way to access high performance devices from what use to be a cheap, low-cost, and fast interface.

Looking into this is more detail, a lot more is possible than I originally thought!

First of all, the question of needing to exclude parity bits? Well, you can wire together a simple combinatorial logic circuit to generate the parity bits from the data lines, just an XOR circuit. Okay, but I guess there’s a problem here, you have to know what direction the data lines are being asserted to know if you should generate the parity bit or not. But this is actually an easy problem to solve: use the I/O line to control the output driver.

Where does our Vcc come from for our logic circuit? I’d say we diode-OR some control pins together that we know are never going to be all low simultaneously. Well, okay… that’s tricky because those are pull-up resistors powering us! So, diode-OR everything together, that will maybe give us 200 ohm resistance to power on average. Maybe we really do need another dongle to get power from somewhere else, like USB? Oh, and that also brings into question, what if our driver does drive a lot of current on high? Well, that’s where our current-limiting resistors can help, as we’ll discuss later.

Read on →