Fluid Simulation Does The Math

If you like math, you should enjoy [kynd’s] page about simulating fluid in p5.js. You might still enjoy the pretty colors and shapes if you aren’t into math. What’s scary is that the page promises to have as little math as possible, but there’s still quite a bit. Of course, we are sure you could go even deeper down the rabbit hole.

The algorithm’s core is a pair of 2D arrays representing cells that comprise the display area. One array holds the color of the cell, while another holds a velocity vector of the fluid in the cell. A vector, of course, has both a magnitude and a direction.

Continue reading “Fluid Simulation Does The Math”

Audacity Runs Surprisingly Well In Your Browser

Audacity is an extremely popular open source audio editor, with hundreds of millions of downloads on the books. But due to some controversy over changes the Muse Group wanted to implement when they took ownership of the project back in 2021, the userbase has fractured somewhat. Some users simply stick with an older version of the program, while others have switched over to one of the forks that have popped up in the last couple of years.

The Wavacity project by [Adam Hilss] is a bit of both. It looks and feels just like an older version of Audacity (specifically, 3.0.0). But the trick here is that he’s managed to get it working with WebAssembly (WASM) so you can run it in your browser. Impressively, it even works on mobile devices. Though the Audacity UI, which already carries the sort of baggage you’d expect from a program that’s more than 20 years old, is hardly suited to a touch screen. Continue reading “Audacity Runs Surprisingly Well In Your Browser”

Bleep Remover Censors Those **** Bleeps

One of the more interesting cultural phenomena is the ‘bleep’ that replaces certain words in broadcasts, something primarily observed in the US. Although ostensibly applied to prevent susceptible minds from being exposed to the unspeakable horrors of naughty words, the applied 1 kHz censoring tone is decidedly loud and obnoxious enough that its entertainment level falls somewhere between ‘truck backing up’ and ‘loud claxon in busy traffic’. There is thus a definite argument to be made to censor the censoring beep to preserve one’s sanity, which is the goal of [Oona Räisänen]’s Bleep-be-gone project on GitHub.

Using a Perl-based wrapper, the versatile ffmpeg framework is used to filter a provided video that was afflicted with bleepitus, before outputting a pristine version where the infernal noise is replaced with blissful silence. This use of silence for censoring naughty words is incidentally becoming more commonplace over an ear-piercing beep, but a tool like Bleep-be-gone can be used to hasten the demise of its terror. Considering that the point of the 1 kHz back-up alarm beep is to draw a person’s attention to a piece of heavy equipment moving about, there is clearly no good reason why the replacement of a naughty word should warrant a similar drawing of attention.

Review: LibrePCB Hits Version 1.0

Nearly three years ago at the start of 2020 and before the pandemic hit, we took a look at an up-and-coming player in the world of PCB design. LibrePCB is by no means as old as the more established players, but at the time it was joining the ranks of open-source EDA packages with its first early stable releases. It showed a lot of promise but was still a little rough around the edges back then, but in the years since it’s advanced to the extent that in September they released version 1.0. That’s a significant moment for any open source package, so it’s time to return and take another look. It’s a cross-platform package with builds available for Linux, Windows, MacOS and FreeBSD, of which I needed the Linux version. There are one or two options to choose from, I went for the appImage as probably the least trouble. Very quickly I was in a new EDA package, and I set out to make a simple Schmitt trigger oscillator as a test project. Continue reading “Review: LibrePCB Hits Version 1.0”

The End Of Basic?

Many people, one way or another, got started programming computers using some kind of Basic. The language was developed at Dartmouth specifically so people could write simple programs without much training. However, Basic found roots in small computers and grew to where it is today, virtually unrecognizable. Writing things in something like Visual Basic may be easier than some programming tasks, but it requires a lot of tools and some reading or training. We aren’t sure where the name EndBasic came from, but this program — written in Rust — aims to bring Basic back to a simpler time. Sort of.

You can run the program in a browser, locally, or connected to a cloud service. It looks like old-fashioned Basic at first. But the more you dig in, the odder it gets. The command line is more akin to a Python REPL. You type things, and they happen. It took a while to figure out that you need to enter EDIT to write a program. Then, what you type gets saved until you press escape. The syntax is Basic-like but has oddities. There are no line numbers, but you can use labels that start with an at sign.

Continue reading “The End Of Basic?”

Chromebooks Now Get Ten Years Of Software Updates

It’s an acknowledged problem with the mobile phone industry and particularly within the Android ecosystem, that the operating system support on a typical device can persist for far too short a time, leaving the user without critical security updates. With the rise of the Chromebook, this has moved into larger devices, with schools and other institutions left with piles of what’s essentially e-waste.

Now in a rare show of sense from a tech company, Google have announced that Chromebooks are to receive ten years of updates from next year. Even better, it seems that this will be retroactively applied to at least some older machines, allowing owners to opt in to further updates for the remainder of the decade following the machine’s launch.

Of course, a Chrome OS upgrade on an older machine won’t make it any quicker. We’re guessing many users will feel the itch up upgrade their hardware long before their decade of software support is up. But anything which saves e-waste has to be applauded, and since this particular scribe has a five-year-old ASUS Transformer just out of support, we’re hoping for a chance to jump back on that train.

There’s another question though, and it relates to the business model behind Chromebooks. We doubt that the hardware manufacturers are thrilled at their customers’ old machines receiving a new lease of life and we doubt Google are doing this through sheer altruism, so we’re guessing that the financial justification comes from an extra five years of making money from the users’ data.

PyOBD Gets Python3 Upgrades

One of the best things about open source software is that, instead of being lost to the ravages of time like older proprietary software, anyone can dust off an old open source program and bring it up to the modern era. PyOBD, a python tool for interfacing with the OBD system in modern vehicles, was in just such a state with its latest version still being written in Python 2 which hasn’t had support in over three years. [barracuda-fsh] rewrote the entire program for Python 3 and included a few other upgrades to it as well.

Key feature updates with this version besides being completely rewritten in Python 3 include enhanced support for OBD-II commands as well as automating the detection of the vehicle’s computer capabilities. This makes the program much more plug-and-play than it would have been in the past. PyOBD now also includes the python-OBD library for handling the actual communication with the vehicle, while PyOBD provides the GUI for configuring and visualizing the data given to it from the vehicle. An ELM327 adapter is required.

With options for Mac, Windows, or Linux, most users will be able to make use of this software package provided they have the necessary ELM327 adapter to connect to their vehicle. OBD is a great tool as passenger vehicles become increasingly computer-driven as well, but there are some concerns surrounding privacy and security in some of the latest and proposed versions of the standard.