Get Today’s Forecast In Classic 90s Weather Channel Style

Remember when The Weather Channel actually had weather? It’s been a while, but we sure remember what a boon Local on the 8’s was when getting ready for the day. Not having to wait for the low-information national forecast on the morning shows or putting up with the antics of [Willard Scott] or [Al Roker] was just icing on the cake.

Recreating the retro look and feel of the Weather Channel experience is what this 1990s-style weather feed is all about, and we have to say that [Mitchell Scott] knocked it out of the park. Luckily, a lot of the heavy lifting was done already thanks to the WeatherStar 4000+ emulator project, which renders forecasts using online weather APIs in the distinctive retro graphics The Weather Channel used back in the day. He combined the graphics with the original smooth jazz soundtracks that TWC used back then; they’re online, because of course they are.

To really sell the look, [Mitchell] tracked down a period-correct Zenith TV with a 9″ CRT to display the feed from a Raspberry Pi 4’s composite video output. Why such a small screen? Easy. [Mitchell] wanted it on a shelf behind him to be visible during videoconferences. It’s a bit of a weird flex, but we respect it. Getting the composite video output working was a bit of a chore, as was tricking the TV into starting up on channel 14 so the feed is instantly visible.

The nostalgia is strong with this one, especially for weather geeks. For a more in-depth look at how The Weather Channel brought those local forecasts to cable, make sure you check out how the WeatherStar box was reverse-engineered.

Thanks to [USA-RedDragon] for the tip.

IRC Client On Bare Metal

In the beginning, there was the BIOS, and it was good. A PC’s BIOS knows how to set up the different hardware devices, grab a fixed part of a hard drive, load it, and run it. That’s all you need. While it might be all you need, it isn’t everything people want, so a consortium developed UEFI, which can do all the things a normal BIOS can’t. Among other things, UEFI can load code for the operating system over the network instead of from the hard drive.

In true hacker fashion, [Phillip Tennen] thought, “Does it have to be an operating system?” The answer, of course, is no. It could be an IRC client. He chose Rust to implement everything. While UEFI does provide a network stack, it isn’t very easy to use, apparently. It also provides support for a mouse. [Phillip] ported his GUI toolkit library over, and then the rest is just building an IRC client.

The client isn’t the easiest to use because, after all, this is a lark. Why would you want to do this? On the other hand, we can think of reasons we might want to take control of a UEFI motherboard and use it for something. If you want to do that, this project is a great template to jump-start your endeavors.

We’ve looked at the UEFI system a few times. Or, you can use it to play DOOM.

Continue reading “IRC Client On Bare Metal”

Playing Chess Against Your Printer, With PostScript

Can you play chess against your printer? The answer will soon be yes, and it’s thanks to [Nicolas Seriot]’s PSChess. It’s a chess engine implemented in PostScript, of all things. It’s entirely working except for one last hurdle, but more on that in a moment.

What’s it like to play PSChess? Currently, one uses a PostScript interpreter (such as GhostScript) to run it, much like one would use the Python interpreter to run Python code. The user inputs moves by typing in commands like d2d4 (representing a piece’s source coordinate and a destination coordinate on the 2D board). Then the program makes a move, and outputs an updated board state to both the console and a PDF document. Then it’s the user’s turn again, and so on until somebody loses.

The chess parts are all working, but there’s one last feature in progress. The final step of the project is to enable PSChess to be run directly on a printer instead of using GhostScript as the interpreter. Intrigued? You can find the code at the project’s GitHub repository.

So why PostScript? While it is a Turing-complete stack-based interpreted language, it was never intended to be used directly by humans. There are no meaningful development tools to speak of. Nevertheless, [Nicolas] finds PostScript an appealing tool for programming projects and provides tips and techniques for like-minded folks. One of the appeals is working within constraints to solve a problem, just like implementing a chess engine in only 4k, or draw poker in 10 lines of BASIC.

Webserver Runs On Android Phone

Android, the popular mobile phone OS, is essentially just Linux with a nice user interface layer covering it all up. In theory, it should be able to do anything a normal computer running Linux could do. And, since most web servers in the world are running Linux, [PelleMannen] figured his Android phone could run a web server just as well as any other Linux machine and built this webpage that’s currently running on a smartphone, with an additional Reddit post for a little more discussion.

The phone uses Termux (which we’ve written about briefly before) to get to a Bash shell on the Android system. Before that happens, though, some setup needs to take place largely involving installing F-Droid through which Termux can be installed. From there the standard SSH and Apache servers can be installed as if the phone were running a normal Linux The rest of the installation involves tricking the phone into thinking it’s a full-fledged computer including a number of considerations to keep the phone from halting execution when the screen locks and other phone-specific issues.

With everything up and running, [PelleMannen] reports that it runs surprisingly well with the small ARM system outputting almost no heat. Since the project page is being hosted on this phone we can’t guarantee that the link above works, though, and it might get a few too many requests to stay online. We wish it were a little easier to get our pocket-sized computers to behave in similar ways to our regular laptops and PCs (even if they don’t have quite the same amount of power) but if you’re dead-set on repurposing an old phone we’ve also seen them used to great effect in place of a Raspberry Pi.

User Beware: The Fine Line Between Content And Code

Everyone loves themes. Doesn’t matter if it’s a text editor or a smart display in the kitchen, we want to be able to easily customize its look and feel to our liking. When setting up a new device or piece of software, playing around with the available themes may be one of the first things you do without giving it much thought. After all, it’s not like picking the wrong one is going to do something crazy like silently delete all the files on your computer, right?

Unfortunately, that’s exactly what happened a few days ago to [JeansenVaars] while trying out a Plasma Global Theme from the KDE Store. According to their Reddit post, shortly after installing the “Gray Layout” theme for the popular Linux graphical environment, the system started behaving oddly and then prompted for a root password. Realizing something didn’t seem right they declined, but at that point, it was already too late for all of the personal files in their home directory.

Continue reading “User Beware: The Fine Line Between Content And Code”

It’s About Time

I’m pretty good with time zones. After all, I live in Germany, Hackaday’s server is in Los Angeles, and our writers are scattered all over the globe. I’m always translating one time into another, and practice makes (nearly) perfect. But still, it got me.

I was in the states visiting my parents, when Daylight Saving Time struck, but only in the USA. Now all my time conversions were off by an hour, and once I’d worked through the way the sun travels around the globe, I thought I had it made. And then my cell phone started reporting a time that was neither CEST nor EDT, but a third time zone that was an hour off. Apparently some cell towers don’t transmit time zone information, and my phone defaults to UTC. Who knew? For a short while, my phone lied to me, the microwave oven clock in the hotel lied to me, and I felt like I was going nuts.

But this all got me thinking about clocks and human time, and possibly the best advice I’ve ever heard for handling it in your own programs. Always keep time in something sensible like UNIX time – seconds elapsed since an epoch – because you don’t have to worry about anything more than adding one to a counter every second. When and if you need to convert to or from human times, you can write the function to do that simply enough, if you don’t already have a library function to do so.

Want to set an alarm for 2 hours from now? That’s easy, because you only need to add 7,200 seconds, and you don’t need to worry about 59 wrapping around to 0 or 23:59 to 0:00. Time math is easy in seconds. February 29th? That’s just another 86,400 seconds. It’s only us humans who make it complicated.

AI Image Generation Meets Virtual Dress Up

Image generators have really taken off thanks to machine learning, and all kinds of new ideas have been turned on in people’s heads as a result. OOTDiffusion is one such project, its job being to allow virtual try-ons of clothing by combining a picture of a person and an item of clothing, and doing so in a coherent way.

A model sporting a 2021 Remoticon shirt.

When it comes to AI image generators, maintaining consistency of a particular subject in a picture while changing or combining other parts of the image isn’t a trivial task. (If you’re unfamiliar with the basics of how diffusion-type AI image generators work, we have you covered.)

Virtual try-on of clothing is not a new idea, but it’s also far from being a completely solved problem. It’s easy to feed a system high-quality images of people and clothing and ask it to combine them, but the outputs rarely emerge with all their limbs intact, figuratively speaking.

OOTDiffusion addresses the two big challenges in this area: making sure the outputs look natural and realistic, and preserving as much of the garment’s appearance and qualities as possible in the process.

It seems to to a very good job, and you can try it for yourself in the online demo. Check out the research paper for more details, and the GitHub repository provides all the code if you’d like to get a little more hands-on.