Retrocomputing for the Forgotten

The world runs on marketing hype. Remember the public relations swirl around the Segway? Before it rolled out we were led to believe it was going to be remembered as fire, the wheel, and Segway. Didn’t really happen. Microsoft and IBM had done something similar with OS/2, which you may not even remember as the once heir-apparent to MS-DOS. OS/2 was to be the operating system that would cure all the problems with MS-DOS just as IBM’s new Microchannel Architecture would cure all the problems surrounding the ISA bus (primarily that they couldn’t stop people from cloning it). What happened? OS/2 died a slow agonizing death after the Microsoft/IBM divorce. But for whatever reason [Ryan C. Gordon] decided to write a Linux emulation layer for OS/2 call 2ine (twine).

We like retrocomputing projects even if they aren’t very practical, and this one qualifies. The best analog for 2ine is it is Wine for OS/2, which probably has something to do with the choice of name. You might be ready to click away since you probably don’t have any OS/2 programs you want to run, but wait! The good news is that the post has a lot of technical detail about how Linux and OS/2 programs load and execute. For that reason alone, the post is well worth a read.

Continue reading “Retrocomputing for the Forgotten”

Hack Excel for 3D Rendering

[C Bel] teaches Excel and he has a problem. Most of us — especially us Hackaday types — immediately write a VBA (Visual Basic for Applications) macro to do tough things in Excel. Not only is this difficult for non-technical users, but it also isn’t as efficient, according to [C Bel]. To demonstrate that VBA macros are not always needed, he wrote a 3D game engine using nothing but Excel formulae. He did have to resort to VBA to get user input and in a very few cases to improve the performance of large algorithms. You can see his result in the video below or download it and try it yourself.

The game is somewhat Doom-like. Somewhat. As you might expect it isn’t blindingly fast, and the enemy is a big red blob, but as the old Russian proverb goes, “The marvel is not that the bear dances well, but that the bear dances at all.” (And thanks to [Sean Boyce] for recalling that quote.)

Continue reading “Hack Excel for 3D Rendering”

Create a Discord Webhook with Python for Your Bot

Discord is an IRC-like chat platform that all the young cool kids are hanging out on. Originally intended as a way to communicate during online games, Discord has grown to the point that there are servers out there for nearly any topic imaginable. One of the reasons for this phenomenal growth is how easy it is to create and moderate your own Discord server: just hit the “+” icon on the website or in the mobile application, and away you go.

As a long-time IRC guy, I was initially unimpressed with Discord. It seemed like the same kind of stuff we’ve had for decades, but with an admittedly slick UI. After having used it for a few months now and joining servers dedicated to everything from gaming to rocket science, I can’t say that my initial impression of Discord is inaccurate: it’s definitely just a modern IRC. But I’ve also come to the realization that I’m OK with that.

But this isn’t a review of Discord or an invitation to join the server I’ve setup for my Battlefield platoon. In this article we’re going to look at how easy it is to create a simple “bot” that you can plug into a Discord server and do useful work with. Since anyone can create a persistent Discord server for free, it’s an interesting platform to use for IoT monitoring and logging by simply sending messages into the server.

Continue reading “Create a Discord Webhook with Python for Your Bot”

Curing a Parrot’s Amnesia with BLEAH

[Dandu] recently wrote in to tell us how he managed to revive his Parrot Flower Power after the manufacturer told him it couldn’t be repaired. To save you the trouble of opening Google in another tab, the Parrot Flower Power is a Bluetooth Low Energy (BLE) “smart” device for your flower pot. Because of course that’s a thing.

A healthy Flower Power connected

When [Dandu] noticed his Flower Power was no longer being detected by his iOS devices, he contacted support who told him that sadly this was a hardware failure and that he should just throw it away. But he had his doubts about this diagnosis as other devices such as his Raspberry Pi could still communicate with it. Upon closer inspection, he realized that the Flower Power didn’t have a name, and could only be contacted by its MAC address directly. Reasoning the lack of a name might be upsetting the “It Just Works” sensibility of his iGadget, [Dandu] started researching if there was some way to get the device to take a new name remotely.

Luckily for our hero, BLE is kind of broken. Searching for a solution to his problem brought him to a blog post by the creator of BLEAH which demonstrated exactly what [Dandu] was looking to do. Following along, it took only a single command to push a new name to the Flower Power’s BLE configuration. With that, his “broken” device was brought back to life. Why the device lost its name, or how to prevent it from happening in the future are questions for another day. [Dandu] will take the win.

If you’re interested in the popular new technology that’s compromising our security in the name of convenience and improved battery life, the rabbit hole starts here.

ESP8266 Broadcasts Memorial WiFi Spam

John Perry Barlow, founding member of the Electronic Frontier Foundation and Freedom of the Press Foundation, died on February 7th, 2018. To say that he left his mark on the Internet, and by extension modern culture, is something of an understatement. He may not be a household name, but between this activism (online and off), lectures, written work, and various entrepreneurial projects, his 70 years of life were surely not wasted. Barlow was once quoted as saying “I want to be a good ancestor”, and by pretty much any metric it would seem he made good on that goal.

To mark his passing, [Moritz Metz] came up with a rather unusual memorial. Using a bit of code on an ESP8266 board, he created a device that would broadcast out Barlow’s “A Declaration of the Independence of Cyberspaceline-by-line in the form of 228 WiFi SSIDs. Perhaps not the most effective way to get Barlow’s words out to the people, but we’ll give him extra points for style.

The code itself is based on FakeBeaconESP8266, which as the name implies, allows the user to create fake WiFi networks. to broadcast the manifesto of your choosing, you need only add in the appropriate sendBeacon() lines at the bottom of the code. It would appear that prefixing each line with a number is required to make devices scanning for networks show the lines of text in proper sequence. At least on the devices demoed, anyway.

Just to be clear: you should definitely not do this. Jamming up the local environment with a bunch of fake networks is a pretty terrible idea. But as a memorial for a man who occasionally claimed to be an anarchist, you could do worse. Plus we have to admit “Giants of Flesh and Steel” is an awesome name for a network.

Continue reading “ESP8266 Broadcasts Memorial WiFi Spam”

A Wrencher On Your Oscilloscope

We like oscilloscope art here at Hackaday, so it was natural to recently feature a Javascript based oscilloscope art generator on these pages, along with its companion clock. Open a web page, scribble on the screen, see it on the ‘scope.

As part of our coverage we laid down the challenge: “If any of you would like to take this further and make a Javascript oscilloscope Wrencher, we’d love to make it famous“. Which of course someone immediately did, and that someone was [Ted] with this JSFiddle. Hook up your soundcard’s left and right to X and Y respectively, press the “logo” button in the bottom right hand pane, fiddle with your voltages and trigger levels for a bit, and you should see a Wrencher on the screen. We’re as good as our word, so here we are making the code famous. Thanks, [Ted]!

It’s not an entirely perfect Wrencher generator, as it has a lot of points to draw in the time available, resulting in a flickery Wrencher. (Update: take a look at the comments below, where he has posted an improved JSFiddle and advice on getting a better screen grab.) Thus the screen shot is an imperfect photograph rather than the usual grab to disk, for some reason the Rigol 1054z doesn’t allow the persistence to be turned up in X-Y mode so each grab only had a small part of the whole. But it draws a Wrencher on the screen, so we’re pretty impressed.

The piece that inspired this Wrencher can be found here. If you think you can draw one with a faster refresh rate, get coding and put it in the comments. We can’t promise individual coverage for each effort though, we’re Hackaday rather than Yet-another-scope-Wrencher-aday.

Oscilloscope Art From Your Browser

Oscilloscope art is a fascinating pursuit in which waveforms are generated for the X an Y channels of an oscilloscope to draw pictures on its screen. It’s somewhat distinct from vector computer graphics of the type you might see in older arcade machines or the Vectrex console, in that while it uses a similar approach to creating a display it has a very different purpose. Sometimes these works can be breathtakingly beautiful animations, and other times maybe not so much.

If you’d like to explore the topic as a mild diversion, then maybe this Javascript oscilloscope art generator from [Neil Fraser] might be of interest. In around a hundred lines of code he’s created an in-browser scratchpad upon which a waveform can be drawn which will then be created as an audio signal on your computer’s soundcard. Hook up left and right to X and Y of your oscilloscope, and what you scribbled on the pad should pop up on the screen.

Draw it, see it on screen. Magic!
Draw it, see it on screen. Magic!

It’s an impressive piece of work that you can see in the video below or try for yourself, and your scribe’s Rigol was pressed into service to give it a go. After a bit of tweaking to find the right voltages and selecting slope triggering rather than edge triggering, we too were making squiggles appear on the screen.

It’s rather funny, he’s saved the best for last. As an afterthought, he also provides a link to another piece of his work, an oscilloscope clock in Javascript. If any of you would like to take this further and make a Javascript oscilloscope Wrencher, we’d love to make it famous.

Continue reading “Oscilloscope Art From Your Browser”