Laptop Memory Upgradable Again

For some computing components, the bottleneck to improved speed and performance hasn’t been power consumption or clock speed but physical space. But a new memory standard may provide all of the power and space-saving benefits of soldered memory modules without losing any upgradability.

The standard is called compression attached memory modules (CAMM) and provides a way for small form factor computers to have upgradable memory without needing dual in-line memory module (DIMM) slots. Unlike DIMM, though, CAMM modules allow for modern high-speed low-power memory to be used and can take advantage of dual-channel properties even if only one memory module is installed. CAMM modules are held in place with small screws, similar to modern M.2 drives, and don’t have the massive footprint of a DIMM slot. This allows laptop manufacturers to save nearly as much space as having soldered memory.

While this won’t solve the problem of computer manufacturers offering only soldered memory as a cash-grab, hopefully, some take the new standard under their wing for those of us who value the upgradability of our hardware. There are of course some problems with newer standards, but right now it seems like the only other viable option is soldered modules or slower, heavier computers. Some may argue that these soldered-on modules can be upgraded in theory, but not without considerable effort.

PC Fan Controller Works On Most Operating Systems

For better or worse, most drivers for PC-related hardware like RGB components and fan controllers are built for Windows and aren’t generally of the highest quality. They’re often proprietary and clunky, and even if they aren’t a total mess they generally won’t work on Linux machines at all, or even on a headless setup regardless of OS. This custom fan controller, on the other hand, eschews the operating system almost entirely in favor of an open source fan controller board that can be reached over a network instead.

The project’s creator, [Sasa Karanovic], experimented with fan splitters to solve his problems, but found that these wouldn’t be the ideal solution given the sheer number of fans he wanted in his various computers, especially in his network-attached storage machine. For that one he wanted ten fans, with control over them in custom groups that would behave in certain ways depending on what the computer was doing. His solution uses two EMC2305 five-fan controller chip which communicates over I2C on a custom PCB with a RP2040 at the center. This allows the hardware to communicate with USB to the host computer for updating firmware and controlling over the network. There’s also a 1-wire and I2C bus exposed in case any external sensors need to be integrated into this system as well. To get power for all of those fans, the board uses a SATA connector to get power from the computer’s power supply.

With the PCB built and all of the connections to the host computer made, the custom board is able to control up to 10 fans in any custom configuration without needing a monitor or a driver since it is accessible over the network through an API. It’s also open-source so any changes to the firmware or hardware can easily be made for most air-cooled PC situations. If you’re less concerned about the internal case temperature and more concerned about all the heat your PC is dumping into a living space, you might want to look into venting your PC outside instead.

Continue reading “PC Fan Controller Works On Most Operating Systems”

Preserving Floppy Disks

Time is almost up for magnetic storage from the 80s and 90s. Various physical limitations in storage methods from this era are conspiring to slowly degrade the data stored on things like tape, floppy disks, and hard disk drives, and after several decades data may not be recoverable anymore. It’s always worth trying to back it up, though, especially if you have something on your hands like critical evidence or court records on a nearly 50-year-old floppy disk last written to in 1993 using a DEC PDP-11.

This project all started when an investigation unit in Maryland approached the Bloop Museum with a request to use their antique computer resources to decode the information on a 5.25″ floppy disk. Even finding a floppy disk drive of this size is a difficult task, but this was further compounded not just by the age of the disk but that the data wasn’t encoded in the expected format. Using a GreaseWeazle controlled by a Raspberry Pi, they generated an audio file from the data on the disk to capture all available data, and then used that to work backwards to get to the usable information.

After some more trials with converting the analog information to digital and a clue that the data on the disk was not fragmented, they realized they were looking at data from a digital stenography machine and were finally able to decode it into something useful. Of course, stenography machines are dark magic in their own right so just getting this record still requires a stenographer to make much sense out of it.

GLASNOST Is A Computer That Makes Transparency A Priority

We live in a world where most of us take the transistor for granted. Within arm’s length of most people reading this, there are likely over ten billion of them sending electrons in every direction. But the transistor was not the first technology to come around to make the computer a possibility, but if you go to the lengths of building something with an alternative, like this vacuum tube computer, you may appreciate them just a tiny bit more.

This vacuum tube computer is called GLASNOST, which according to its creator [Paul] means “glass, no semiconductors” with the idea that the working parts of the computer (besides the passive components) are transparent glass tubes, unlike their opaque silicon-based alternatives. It boasts a graphical display on an oscilloscope, 4096 words of memory, and a custom four-bit architecture based only on NOT, NOR, and OR gates which are simpler to create with the bulky tubes.

The project is still a work in progress but already [Paul] has the core memory figured out and the computer modeled in a logic simulator. The next steps are currently being worked through which includes getting the logic gates to function in the real world. We eagerly await the next steps of this novel computer and, if you want to see one that was built recently and not in the distant past of the 1950s, take a look at the Electron Tube New Automatic Computer that was completed just a few years ago.

Timekeeping For Distributed Computers

Ask any programmer who has ever had to deal with timekeeping on a computer, and they’re likely to go on at length about how it can be a surprisingly difficult thing to keep track of. Time zones, leap years, leap seconds, various timekeeping standards, clock drift, and even relativity are all problems that can creep in to projects. Issues with timekeeping are exacerbated in distributed systems as well, adding another layer of complexity when we need to reliably determine the order that a series of actions occurred across a number of different computers with a high precision. One solution to this problem is the implementation of a vector clock.

When using other systems such as logical clocks to attempt to keep track of the order of events on different computers, a problem that may arise is that these systems don’t always track these changes with perfect reliability due to many issues such as varying temperature, race conditions, or clock skew. The vector clock instead tracks causal relationships between events. Each separate process maintains its own vector clock, represented by a list of integers. When one of these processes performs an event, it increments its own clock and sends it out to the rest of the system. By keeping track of this clock as it is updated by various processes across the computer the distributed system can be much more confident about the order in which events took place.

Of course, there are always downsides with elegant solutions like this. In the case of vector clocks the downside is largely increased overhead for keeping track of all of the sets of integers. But in systems where the ordering of processes is of the upmost importance, this is worth the trade-off to ensure reliability. And unless we hook all of our computers up to atomic clocks like they do for some computers at CERN we will have to take the increased overhead instead.

DisplayPort: A Better Video Interface

Over the years, we’ve seen a good number of interfaces used for computer monitors, TVs, LCD panels and other all-things-display purposes. We’ve lived through VGA and the large variety of analog interfaces that preceded it, then DVI, HDMI, and at some point, we’ve started getting devices with DisplayPort support. So you might think it’s more of the same. However, I’d like to tell you that you probably should pay more attention to DisplayPort – it’s an interface powerful in a way that we haven’t seen before.

By [Belkin+Abisys], CC BY-SA 3.0
The DisplayPort (shortened as DP) interface was explicitly designed to be a successor to VGA and DVI, originating from the VESA group – an organization created by multiple computer-display-related players in technology space, which has previously brought us a number of smaller-scale computer display standards like EDID, DDC and the well-known VESA mount. Nevertheless, despite the smaller scale of previous standards, DisplayPort has since become a hit in computer display space for a number of reasons, and is more ubiquitous than you might realize.

You could put it this way: DisplayPort has all the capabilities of interfaces like HDMI, but implemented in a better way, without legacy cruft, and with a number of features that take advantage of the DisplayPort’s sturdier architecture. As a result of this, DisplayPort isn’t just in external monitors, but also laptop internal displays, USB-C port display support, docking stations, and Thunderbolt of all flavors. If you own a display-capable docking station for your laptop, be it classic style multi-pin dock or USB-C, DisplayPort is highly likely to be involved, and even your smartphone might just support DisplayPort over USB-C these days. Continue reading “DisplayPort: A Better Video Interface”

Clock Runs Computer In Slow-Motion

At the heart of all computers is a clock, a dedicated timepiece ensuring that all of the parts of the computer are synchronized and can work together to execute the instructions that the computer receives. Clock speeds for most modern off-the-shelf computers and smartphones operate around a billion cycles per second, and even clocks that tick at a human-dizzying speed of a million times per second have been around since at least the 1970s. But there’s no reason a computer can’t run at a much slower speed, as [Greg] demonstrates in this video where he slows down a 6502 processor to a single clock cycle per second.

To reduce the clock speed from the megahertz range down to a single hertz or single clock cycle per second, [Greg] is using the pendulum from an actual clock. He attaches a small magnet to the bottom of the pendulum which is counted by a sensor as it swings past. Feeding that pulse into a monostable conditioner yields a clock signal which is usable for one of his 6502-based computers, and at this extremely slow rate, it’s possible to see the operation of a lot of the computers’ inner workings a step at a time. In fact, he optimized the computer’s operation as this slow speed let him see some inefficiencies in the program he was running.

It helps if your processor is static, of course. Older CPUs with dynamic storage for registers and some with limited-range PLLs would not work with this technique. The 8080A, for example, required a clock of at least 500 kHz.

Not only can this computer use a pendulum clock as the basis for its internal clock, but [Greg] also rigged up a mechanism to use a heartbeat. Getting in a little bit of exercise to increase his heart rate first will noticeably increase the computer’s speed. And, if you’re looking to get a deeper glimpse into the inner workings of a computer, we’d recommend looking at one which forgoes transistors in favor of relays.

Continue reading “Clock Runs Computer In Slow-Motion”