Separating Ideas From Words

We covered Malamud’s General Index this week, and Mike and I were talking about it on the podcast as well. It’s the boldest attempt we’ve seen so far to open up scientific knowledge for everyone, and not just the wealthiest companies and institutions. The trick is how to do that without running afoul of copyright law, because the results of research are locked inside their literary manifestations — the journal articles.

The Index itself is composed of one-to-five-word snippets of 107,233,728 scientific articles. So if you’re looking for everything the world knows about “tincture of iodine”, you can find all the papers that mention it, and then important keywords from the corpus and metadata like the ISBN of the article. It’s like the searchable card catalog of, well, everything. And it’s freely downloadable if you’ve got a couple terabytes of storage to spare. That alone is incredible.

What I think is most remarkable is this makes good on figuring out how to separate scientific ideas from their prison — the words in which they’re written — which are subject to copyright. Indeed, if you look into US copyright law, it’s very explicit about not wanting to harm the free sharing of ideas.

“In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.”

But this has always been paradoxical. How do you restrict dissemination of the papers without restricting dissemination of the embodied ideas or results? In the olden days, you could tell others about the results, but that just doesn’t scale. Until today, only the richest companies and institutions had access to this bird’s eye view of scientific research — similar datasets gleaned from Google’s book-scanning program have trained their AIs and seeded their search machines, but they only give you a useless and limited peek.

Of course, if you want to read the entirety of particular papers under copyright, you still have to pay for them. And that’s partly the point, because the General Index is not meant to destroy copyrights, but give you access to the underlying knowledge despite the real world constraints on implementing copyright law, and we think that stands to be revolutionary.

A GPU card with a home-made fan assembly

3D-printed Fan Mount Keeps Server GPU Cool In Desktop Case

Most readers of Hackaday will be well aware of the current shortages of semiconductors and especially GPUs. Whether you’re planning to build a state-of-the art gaming PC, a mining rig to convert your kilowatt-hours into cryptocoins, or are simply experimenting with machine-learning AI, you should be prepared to shell out quite a bit more money for a proper GPU than in the good old days.

Bargains are still to be had in the second-hand market though. [Devon Bray] chanced upon a pair of Nvidia Tesla K80 cards, which are not suitable for gaming and no longer cost-effective for mining crypto, but ideal for [Devon]’s machine-learning calculations. However, he had to make a modification to enable proper thermal management, as these cards were not designed to be used in regular desktop PCs.

The reason for this is that many professional-grade GPU accelerators are installed in rack-mounted server cases, and are therefore equipped with heat sinks but no fans: the case is meant to provide a forced air flow to carry away the card’s heat. Simply installing the cards into a desktop PC case would cause them to overheat, as passive cooling will not get rid of the 300 W that each card pumps out on full load.

[Devon] decided to make a proper thermal solution by 3D printing a mount that carries three fans along with an air duct that snaps onto the GPU card. In order to prevent unnecessary fan noise, he added a thermal control system consisting of a Raspberry Pi Pico, a handful of MOSFETs, and a thermistor to sense the GPU’s temperature, so the fans are only driven when the card is getting hot. The Pi Pico is of course way more powerful than needed for such a simple task, but allowed [Devon] to program it in MicroPython, using more advanced programming techniques than would be possible on, say, an Arduino.

We love the elegant design of the fan duct, which enables two of these huge cards to fit onto a motherboard side-by-side. We’ve seen people working on the opposite problem of fitting large fans into small cases, as well as designs that discard the whole idea of using fans for cooling.

Continue reading “3D-printed Fan Mount Keeps Server GPU Cool In Desktop Case”

A one-string bass violin made from two washtubs, some plywood, a Louisville Slugger, and some weed whacker line.

Louisville Slugger Puts This Bass On Base

One of the most recognizable instruments in both jug band and American folk music has got to be the washtub bass. Also known as gutbuckets, these instruments tend to use an old broom for a neck and usually have a single string.

A nifty DIY wooden tool for turning a wingnut with ease.We would argue that the design of [goaly]’s single-string double gutbucket owes something to the double bass of the violin family as well, with its figure eight shape. On top of those tubs is a plywood soundboard, which is screwed into a series of wood blocks around the lip of the tubs.

For the combination neck and fretboard, [goaly] called up a vintage Louisville Slugger, which is way more interesting than some old broom handle. [goaly] extended the backbone through the body with scrap lengths of 2″x2″, and this spine runs through both tubs and acts as a peg on the bottom. In lieu of a tailpiece, the string is tied to a board that the player secures with their foot.

Although [goaly] experimented with steel cable, clothesline rope, nylon rope, and paracord first, the string is made from weed whacker trimmer line. At the top, the string is attached through the neck — it’s held down with a couple of bent fender washers and pulled taut with a wingnut. We love that [goaly] even fashioned a wooden tool to make it easy to turn the wingnut. And we also love the DIY bridge, which looks like a little person.

There are a couple of ways to make sounds with this thing. Fretting and plucking work, of course, but so does bending the whole thing backward to change the pitch. For a good time, do both. We think it sounds nice and thump-y, and it even makes great percussive sounds on the front and back. Check it out in action after the break.

Don’t have a washtub? A wheelbarrow works too, and it comes with its own stand.

Continue reading “Louisville Slugger Puts This Bass On Base”

Unique Pomodoro Timer Displays Quotes While You Work

[zorbash] came up with a great side project while designing a way to read notes and highlighted sections from e-books without having to use Good Reads or the Amazon tool: build a gadget to display a parade of quotes from favorite authors and their books. The project is called Brain because it’s built on an IoT platform called Nerves.

As a bonus, the gadget functions as a Pomodoro timer of sorts — that’s the time management method where you work for 25-minute periods and take 5-minute breaks in between, with a longer break every four Pomodoros. Brain displays a quote for 25 minutes and then flashes the screen to draw [zorbash]’s attention to the fact that time is up. We think this is a nice, unobtrusive way to do things. There are no breaks built in, but that’s just how [zorbash] rolls.

The quotes are fetched using Bookworm, a script [zorbash] wrote that’s available on GitHub. It uses a Raspberry Pi 2 B, an SD card to store the JSON’d quotes, and a Wi-Fi dongle to allow the fetching. If you’re wondering about the enclosure, it’s made of clay.

If you like your Pomodoro timers a little more physical, here’s one that starts as soon as you plug it in to a USB port.

The Linux X86 Journey To Main()

Have you ever had a program crash before your main function executes? it is rare, but it can happen. When it does, you need to understand what happens behind the scenes between the time the operating system starts your program and your first line of code in main executes. Luckily [Patrick Horgan] has a tutorial about the subject that’s very detailed. It doesn’t cover statically linked libraries but, as he points out, if you understand what he does cover, that’s easy to figure out on your own.

The operating system, it turns out, knows nothing about main. It does, however, know about a symbol called _start. Your runtime library provides this. That code contains some stack manipulation and eventually calls __libc_start_main which is also provided by the library. Continue reading “The Linux X86 Journey To Main()”

Photo of an automated plant watering system attached to four potted plants.

Automation Allows You To Leaf Your Plants Alone

The greatest threat to a potted plant stems from its owner’s forgetfulness, but [Sasa Karanovic] has created an automation system that will keep his plants from getting too thirsty. Over the past year [Sasa] has been documenting an elegant system for monitoring and watering plants which has now blossomed into a fully automated solution.

If you haven’t seen the earlier stages of the project, they’re definitely worth checking out. The short version is that [Sasa] has developed a watering system that uses I2C to communicate with soil moisture, temperature, and light sensors as well as to control solenoids that allow for individual plants to be watered as needed. An ESP32 serves as a bridge, allowing for the sensors to be read and the water to be dispensed via an HTTP interface.

In this final part, [Sasa] integrates his watering system into a home automation system. He uses a MySQL database to store logs of sensor data and watering activity, and n8n to automate measurement and watering. If something isn’t quite right, the system will even send him a Telegram notification that something is amiss.

If you think automation might be the best way to save your plants from a slow death, [Sasa] has kindly shared his excellent work on GitHub. Even if you don’t have a green thumb, this is still a great example of how to develop a home automation solution from scratch. If you’re more interested in television than gardening, check out [Sasa]’s approach to replacing a remote control with a web interface!

Continue reading “Automation Allows You To Leaf Your Plants Alone”

Pulp-Molding: A Use For Cardboard Confetti

We’re pretty sure that we don’t have to tell you how great cardboard is. You probably sing the praises yourself and use it for everything from a work surface protective layer to a prototype of your next amazing build. But if you still find yourself flush with cardboard even after all that, here’s one thing you can do with all those pieces that are too small to use for anything else– chuck them in an old blender, whip up some cardboard pulp, and press that gunk into some 3D-printed molds.

In addition to a step-by-step of the process, [flowalistik] offers a mold set of STL files for various useful items like a pencil holder, a box with a lid, a tray, and a coaster, as well as the Fusion 360 files in case you want to change them around. You might want to seal the coaster with something protective so that it doesn’t mold/disintegrate/bloom from condensation.

Each part consists of the walls, the wall clip that keeps them closed, but allows for de-molding and reuse, the bottom lid, and the top lid. All these prints need to be pretty high-res so that they can withstand the pressure of the clamp holding it all together. [flowalistik] recommends a layer height no larger than .03mm and a 20% infill.

The process of making the pulp itself is fairly simple, and the recipe only calls for water and some kind of binder. To start, remove all tape, coatings, staples, and anything else non-soluble from the cardboard. Cut it into bite-sized pieces your blender will enjoy, and add water and PVA glue or rice paste. Mix it up, remove the excess water by squeezing your pulp inside of a piece of cloth, and then use it to fill up your mold. You’ll want to press out the water as you go and fill it further, then finally apply the clamp. You can start de-molding parts on a schedule, starting with the clamp after about six hours. Once it’s fully dried in about two days, you can treat it like MDF and sand, cut, or even drill it. We think some of these would look pretty good with a coat of paint.

Need your objects to be more sturdy? Keep that printer warmed up — you can use prints to cast concrete, too.