Saving Floor Space With a Scratch Built Bike Hoist

Vertical storage is often underused in the garage or workshop as it can be tricky to get bulky objects off the floor safely. So we stick a few shelves on the wall, put boxes of screws and components on them, and call it a day. Meanwhile, you end up playing a game of horizontal Tetris with all the big stuff on the ground.

Looking to free up some floor space in his garage, [Chris Chimienti] recently decided to design and build his own hoist to lift his bicycles off the floor. While his design is obviously purpose built for bikes, the core concept could potentially be adapted to lift whatever it is you’ve been kicking across the garage floor as of late; assuming it doesn’t have any strong feelings on suddenly being tipped over on its side, anyway.

A simple modification allows for operation with a drill.

Before he started the actual build, [Chris] knocked together a rough facsimile of his garage in SolidWorks and started experimenting with the layout and mechanism that the hoist would ultimately use. While we’ve all felt the desire to run into a project full-speed, this more methodical approach can definitely save you time and money when working on a complex project. Redesigning a component in CAD to try it a different way will always be faster and easier than having to do it for real.

We’ve become accustomed to seeing projects include sensors, microcontrollers, and 3D printed components as a matter of course, but [Chris] kept this build relatively low-tech. Not that we blame him when heavy overhead loads are involved. Even still, he did have to make a few tweaks in the name of safety: his original ratcheting winch could freewheel under load, so he swapped it out for a worm gear version that he operates with an electric drill.

If you like the idea of having an overhead storage area but don’t necessarily want to look at it, you could always cover it up with a rock climbing wall.

source https://hackaday.com/2020/10/16/saving-floor-space-with-a-scratch-built-bike-hoist/

Hackaday Podcast 089: 770 Potato Battery, Printing Resin Resist, and No-Internet Video Chat

Hackaday editors Mike Szczys and Elliot Williams weigh the hacking gold found across the internet this week. We can’t get over the epic adventure that went into making a battery from 100 pounds of potatoes. It turns out you don’t need Internet for video conferencing as long as you’re within a coupe of kilometers of everyone else. And move over toner transfer method, resin printers want a shot at at-home PCB etching. We’ll take a look at what the Tesla selfie cam is doing under the hood, and lose our marbles over a ball-bearing segment clock that’s defying gravity.

Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Direct download (~60 MB)

Places to follow Hackaday podcasts:

Episode 089 Show Notes:

New This Week:

Interesting Hacks of the Week:

Quick Hacks:

Can’t-Miss Articles:

source https://hackaday.com/2020/10/16/hackaday-podcast-089-770-potato-battery-printing-resin-resist-and-no-internet-video-chat/

Benchtop Injection Molding For The Home Gamer

When we think injection molding, the first thing that comes to mind is highly automated production lines pumping out thousands of parts an hour. However, the very same techniques are able to be scaled down to a level accessible by the DIYer, as [The CrafsMan] demonstrates.

Using a compact, hand-actuated injection moulder, [The Crafsman] demonstrates the basic techniques behind small-scale injection molding. The PIM-Shooter Model 150A in question is designed to work with low melting point plastics like polypropylene and low density polyethylene, and can use aluminium molds which are much cheaper to make than the typical steel molds used in industry.

However, the real game changer is when [The Crafsman] busts out his silicone mold making techniques, and applies them to injection molding. By making molds out of silicone, they can be created far more cheaply and easily without the requirement of heavy CNC machinery to produce the required geometry. With the right attention to detail, it’s possible to get good results without having to invest in a custom aluminium mold at all.

Injection molding is a process that can achieve things 3D printing and other techniques simply can’t; it can even be used to produce viable lenses. Video after the break.

source https://hackaday.com/2020/10/16/benchtop-injection-molding-for-the-home-gamer/

This Week in Security: BleedingTooth, Bad Neighbors, and Unpickable Locks

This week, the first details of BleedingTooth leaked onto Twitter, setting off a bit of a frenzy. The full details have yet to be released, but what we know is concerning enough. First off, BleedingTooth isn’t a single vulnerability, but is a set of at least 3 different CVEs (Shouldn’t that make it BleedingTeeth?). The worst vulnerability so far is CVE-2020-12351, which appears to be shown off in the video embedded after the break.

We do have some insight into this, in the form of a Google Security Advisory. A Proof of Concept is included, which triggers a kernel panic on a target machine. It’s unclear whether the target machine needs to be paired first, or if it is enough to have Bluetooth powered on. The core problem is that a malicious Bluetooth packet can follow an unintended code path, resulting in data type confusion. Until it’s resolved, it might be wise to keep Bluetooth turned off on your laptop.

RFC6106 and Bad Neighbors

Patch Tuesday was this week, and there was one bug in particular that caught my eye. CVE-2020-16898 is a problem in how RFC6106 IPv6 route advertisements are handled. A properly formatted packet contains a length field, and that field is defined as always having an odd value. When the packet is malformed as having an even value, a buffer overflow is triggered.

Proof of Concept code is available. Running the PoC results in a BSoD on an unpatched machine. Microsoft has concluded that it will be very difficult to turn this flaw into a true code execution vulnerability, due to existing hardening in the Windows kernel. Additionally, RFC6106 packets are only for local networks, and are blocked by gateways and ISP equipment. It’s very unlikely that this vulnerability could be used for attacks across the internet.

An Unpickable Padlock?

Lock picking is a fascinating practice. By applying tension to the core of a lock, the individual pins can be lifted to the sheer line, and once they’re all in place, the lock is picked. Manufacturers have been trying to make locks more resilient to picking and other bypass methods, but this lock really takes that effort to the next level. The video below is BosnianBill‘s teardown and analysis of this unpickable lock.

There are several weird elements to this. First, rather than being a major security or lockmaker brand, this is a “Gangsheng” lock. It’s likely that this is a knockoff of a series of locks designed by Yeuma. That aside, the design is very clever, with a series of “airgaps” built into the locking mechanism. There is no way to tension the lock directly, and the only tension force is provided by internal springs. It remains to be seen if this lock design will truly be unpickable, or if a weakness will eventually be found. Regardless, the design is impressive, and the future of high security locks appears to be interesting.

Spying on Smartwatches

If you have an Xplora 4 children’s smartwatch, you might want to retire it, as researchers from Mnemonic Labs have discovered what appears to be an intentional backdoor in the device. Upon receiving a cryptographically signed text message, this Android-based device can record audio, take a picture, and report back its position. When a piece of tech hardware ships with odd functions like this, it’s usually debugging functions that were never removed. This case is slightly different, as the smartwatch was developed by Qihoo 360, who has already been placed on the US list of national security threats. Not to mention, when the function to collect audio is literally labeled wiretap, it becomes hard to assume no ill intent.

Via The Register.

Playing Tricks on Trickbot

[Brian Krebs] first noticed something unusual going one with the Trickbot botnet at the beginning of the month. He reported on a new set of instructions being sent to some Trickbot instances, setting the command and control server to localhost. While this doesn’t remove the infection, it does prevent the infected machine from taking further directed actions. A few other tricks were in play at the time, like sending fake infection data to the controlling servers. It looked like a complex attack on the malware network.

A few days later, Microsoft released a statement detailing their actions to cripple the Trickbot network. The timing immediately suggests that [Krebs] was reporting on Microsoft’s actions. While this is possible, the specifics in Microsoft’s report don’t quite line up. Microsoft claims to have taken the actions on October 12, while [Krebs] had been observing odd behavior for several days, as of October 2nd. The mitigation steps sound quite different as well. It’s unclear whether these were two separate actions against Trickbot. Either way, it’s always good to see concrete actions taken against botnets.

Hacking Apple

We’ve covered lots of news about vulnerabilities in Apple devices, but this story is about the guys who hacked Apple’s infrastructure. The whole story is detailed, and a useful guide to doing a security audit like this. They identified infrastructure, and started with looking for known vulnerabilities that hadn’t been updated yet. All told, they found 54 separate vulnerabilities in Apple’s infrastructure. They ranged from a fun email worm in iCloud, powered by a cross-site scripting attack, to a clever security bypass allowing them admin access to one of Apple’s official forums. It’s not light reading, but if you really want the details on how a red-team goes about a test against public infrastructure, this is a good place to start.

source https://hackaday.com/2020/10/16/this-week-in-security-bleedingtooth-bad-neighbors-and-unpickable-locks/

Shocking Tinnitus Therapy is Music to Sufferers’ Ears

Do you suffer from tinnitus? We were surprised to learn that 15-20% of people have this condition that amounts to constant ringing in the ears. Science doesn’t fully understand the ringing part, but one possible explanation is that the brain is compensating for the frequencies it can’t hear any more.

Causes of tinnitus. Image via Drugs.com

[Hubert Lim], a biomedical engineer at the University of Minnesota discovered that the brain can be stimulated to the point of suppressing tinnitus for as long as one year. [Lim] discovered this by accident while doing deep brain stimulation on a patient with tinnitus. The electrode strayed a bit, touching other areas of the brain and the patient suddenly exclaimed that they couldn’t hear their tinnitus anymore.

Then [Lim] and his team tested guinea pigs, searching here, there, and under the armpits for the best place to suppress tinnitus. As it turns out, the tongue is one of the best places when used along with a specific soundscape. So then they did a human trial with 326 people. Each person had a small paddle electrode on their tongue and headphones on their ears.

As the electrodes sparkled like Pop Rocks against their tongues, the trial participants listened to pure frequencies played over a background of sound resembling vaporwave music. The combination of the two overstimulates the brain, forcing it to suppress the tinnitus reaction. This discovery certainly seems like a game changer for tinnitus sufferers. If we had tinnitus, we would be first in line to try this out given the chance. Armed with the soundscape, we’re left to wonder how many 9V batteries we’d have to lick to approximate the paddle.

Speaking of taste, have you ever experienced all five at once? Here’s a device that simulates them all.

source https://hackaday.com/2020/10/16/shocking-tinnitus-therapy-is-music-to-sufferers-ears/

Shocking Tinnitus Therapy is Music to Sufferers’ Ears

Do you suffer from tinnitus? We were surprised to learn that 15-20% of people have this condition that amounts to constant ringing in the ears. Science doesn’t fully understand the ringing part, but one possible explanation is that the brain is compensating for the frequencies it can’t hear any more.

Causes of tinnitus. Image via Drugs.com

[Hubert Lim], a biomedical engineer at the University of Minnesota discovered that the brain can be stimulated to the point of suppressing tinnitus for as long as one year. [Lim] discovered this by accident while doing deep brain stimulation on a patient with tinnitus. The electrode strayed a bit, touching other areas of the brain and the patient suddenly exclaimed that they couldn’t hear their tinnitus anymore.

Then [Lim] and his team tested guinea pigs, searching here, there, and under the armpits for the best place to suppress tinnitus. As it turns out, the tongue is one of the best places when used along with a specific soundscape. So then they did a human trial with 326 people. Each person had a small paddle electrode on their tongue and headphones on their ears.

As the electrodes sparkled like Pop Rocks against their tongues, the trial participants listened to pure frequencies played over a background of sound resembling vaporwave music. The combination of the two overstimulates the brain, forcing it to suppress the tinnitus reaction. This discovery certainly seems like a game changer for tinnitus sufferers. If we had tinnitus, we would be first in line to try this out given the chance. Armed with the soundscape, we’re left to wonder how many 9V batteries we’d have to lick to approximate the paddle.

Speaking of taste, have you ever experienced all five at once? Here’s a device that simulates them all.

source https://hackaday.com/2020/10/16/shocking-tinnitus-therapy-is-music-to-sufferers-ears/

Shocking Tinnitus Therapy is Music to Sufferers’ Ears

Do you suffer from tinnitus? We were surprised to learn that 15-20% of people have this condition that amounts to constant ringing in the ears. Science doesn’t fully understand the ringing part, but one possible explanation is that the brain is compensating for the frequencies it can’t hear any more.

Causes of tinnitus. Image via Drugs.com

[Hubert Lim], a biomedical engineer at the University of Minnesota discovered that the brain can be stimulated to the point of suppressing tinnitus for as long as one year. [Lim] discovered this by accident while doing deep brain stimulation on a patient with tinnitus. The electrode strayed a bit, touching other areas of the brain and the patient suddenly exclaimed that they couldn’t hear their tinnitus anymore.

Then [Lim] and his team tested guinea pigs, searching here, there, and under the armpits for the best place to suppress tinnitus. As it turns out, the tongue is one of the best places when used along with a specific soundscape. So then they did a human trial with 326 people. Each person had a small paddle electrode on their tongue and headphones on their ears.

As the electrodes sparkled like Pop Rocks against their tongues, the trial participants listened to pure frequencies played over a background of sound resembling vaporwave music. The combination of the two overstimulates the brain, forcing it to suppress the tinnitus reaction. This discovery certainly seems like a game changer for tinnitus sufferers. If we had tinnitus, we would be first in line to try this out given the chance. Armed with the soundscape, we’re left to wonder how many 9V batteries we’d have to lick to approximate the paddle.

Speaking of taste, have you ever experienced all five at once? Here’s a device that simulates them all.

source https://hackaday.com/2020/10/16/shocking-tinnitus-therapy-is-music-to-sufferers-ears/

Jetson Nano Robot

[Stevej52] likes to build things you can’t buy, and this Jetson Nano robot falls well within that category. Reading the project details, you might think [Stevej52] drinks too much coffee.  But we think he is just excited to have successfully pulled off the Herculean task of integrating over a dozen hardware and software modules.  Very briefly, he is running Ubuntu and ROS on the PC and Nano. It is all tied together with Python code, and is using Modbus over IP to solve a problem getting joystick data to the Nano. We like it when existing, standard protocols can be used because it frees the designer to focus more on the application. Modbus has been around for 40 years, has widespread support in many languages and platforms.

This is an ongoing project, and we look forward to seeing more updates and especially some video of it in action. With the recent release of a price-reduced Jetson Nano, which we covered last week, this might be an excellent project to take on.

source https://hackaday.com/2020/10/16/jetson-nano-robot/

Clear PS2 Is The Crystal Edition We Deserved

Every so often, console manufacturers release a crystal edition of their hardware that never really lives up to the hype. The manufacturing realities of producing optically clear plastic mean the expense is rarely justified, even for a special edition. Instead, we get hazy, smoky translucent cases that are comparatively underwhelming. Here to rectify that, [BitHead1000] delivers on a properly transparent PlayStation2.

While the title calls it a Glass PS2, the cutting tools used and the labels on the material make it pretty clear (pun intended) that this build uses acrylic. Regardless, it’s an attractive material all on its own, and much more suited for such a build. To get the best possible visual effect, the internal shielding is removed and tossed in the bin, with plastic standoffs used to hold things in place instead. The case is then assembled around the components, giving an unparalleled view of the hardware inside.

It’s undeniably cool to watch the optical drive doing its thing inside the case when it’s switched on, and a few internal LEDs only add to the spectacle. We’ve seen [BitHead1000] pull off other casemodding feats, too, such as the fire breathing N64. Video after the break.

source https://hackaday.com/2020/10/15/clear-ps2-is-the-crystal-edition-we-deserved/

Adding Crush Ribs to 3D Printed Parts For a Better Press Fit

[Dan Royer] shared a tip about how to get a reliably tight fit between 3D printed parts and other hardware (like bearings, for example.) He suggests using crush ribs, a tried-and-true solution borrowed from the world of injection molding and repurposed with 3D printing in mind. Before we explain the solution, let’s first look at the problem a little more closely.

Imagine one wishes to press-fit a bearing into a hole. If that hole isn’t just the right size, the bearing won’t be held snugly. If the hole is a little too big, the bearing is loose. Too small, and the bearing won’t fit at all. Since a 0.1 mm difference can have a noticeable effect on how loose or snug a fit is, it’s important to get it right.

Crush rib locations highlighted with blue arrows.

For a 3D printed object, a hole designed with a diameter of 20 mm (for example) will come out slightly different when printed. The usual way around this is to adjust printer settings or modify the object until the magic combination that yields exactly the right outcome is found, also known as the Goldilocks approach. However, this means the 3D model only comes out right on a specific printer, which is a problem for a design that is meant to be shared. Since [Dan] works on robots with 3D printed elements, finding a solution to this problem was particularly important.

The solution he borrowed from the world of injection molding is to use crush ribs, which can be thought of as a set of very small standoffs that deform as a part is press-fit into them. Instead of a piece of hardware making contact with the entire inside surface of a hole, it makes contact only with the crush ribs. Press fitting a part into crush ribs is far easier (and more forgiving) than trying to get the entire mating surface exactly right.

Using crush ribs in this way is a bit of a hack since their original purpose in injection molding is somewhat different. Walls in injection-molded parts are rarely truly flat, because that makes them harder to eject from a mold. Surfaces therefore have a slight cant to them, which is called a draft. This slight angle means that press fitting parts becomes a problem, because any injection-molded hole will have slanted sides. The solution is crush ribs, which — unlike the walls — are modeled straight. The ribs are small enough that they don’t have an issue with sticking in the mold, and provide the mating surface that a press-fit piece of hardware requires. [Dan] has a short video about applying this technique to 3D printed objects, embedded below.

Designing around a manufacturing method’s limitations is key to getting good results, and techniques from one area can cross-pollinate with another, as they did here. Whether you’re just curious, or experimenting with something like hot-glue injection molding, it’s worth spending a little time to learn more about injection molding and its design considerations because it’s one of those technologies that makes the world go round.

source https://hackaday.com/2020/10/15/adding-crush-ribs-to-3d-printed-parts-for-a-better-press-fit/

Handheld Pong on a 6502

Recreating the arcade smash hit Pong in a device small enough to plug into a home television was a considerable technical challenge back in 1975. Of course, a big part of that was the fact that it needed to be cheap enough that consumers would actually buy it. But had money been no object, the Vectron Handheld by [Nick Bild] shows what a dedicated Pong board based on the 6502 CPU and 7400-series logic could have looked like.

Prototyping the Vectron Handheld

Well, aside from the display anyway. While [Nick] made sure to use components that were contemporaries of the 6502 wherever possible, he did drop in a modern SPI LCD panel. After all, it’s supposed to be a portable game system.

Though as you can see in the video after the break, the massive 273 mm x 221 mm PCB only just meets that description. Incidentally, there’s no technical reason for the board to be this big; [Nick] was just playing it safe as he’s still learning KiCad.

Those with a keen eye towards 6502 projects likely saw the breadboard version of the Vectron that [Nick] put together last year. Compared to the original, the circuit for the handheld has been considerably simplified as it wasn’t designed to be a general purpose 6502 computer. Whether or not you think being able to play Pong on it makes up for those shortcomings is a matter of personal preference.

source https://hackaday.com/2020/10/15/handheld-pong-on-a-6502/

A Lawnmower That Looks Where You’re Going

As a kid, one of the stories my dad told me was about mowing a fairly large field of grass on the farm with a gas-powered push mower. One day, some sort of farm tool was left in the field and the old industrial mower shredded it, sending a large piece of sharp metal hurtling toward his leg. Luckily for my dad, the large plastic wheel managed to stop the piece of metal, destroying the wheel. My grandfather was frustrated that he needed to repair the lawnmower but was grateful that my dad still had both feet attached.

Of course, this story was used as a lesson for me not to gripe about having to mow the lawn when it was my turn, but there was also the lesson that lawnmowers can be dangerous. [DuctTape Mechanic] took it upon himself to see if he could prevent that sort of accident altogether and has created an automatic safety shutdown mechanism for his family lawnmower. (Video embedded below.)

This uses an inductive sensor that can detect metal before it gets sucked into the mower itself. The sensor trips a relay which forcibly shuts the mower down by grounding the ignition coil. While it doesn’t physically stop the blade like other safety mechanisms, it does prevent a situation from escalating by turning off power to the blade as soon as possible. Getting to the ignition coil wasn’t easy as it required getting deep into the engine itself, but now [DuctTape Mechanic] has a mower that could be expanded further with things such as with a capacitive sensor or more smarts to determine if it is detecting underground or above ground metal.

Someday we’ll have robotic mowers, but until then, we laud the efforts of hackers out there trying to make the world a little safer.

Thanks [wahmad530] for sending this one in!

source https://hackaday.com/2020/10/15/a-lawnmower-that-looks-where-youre-going/

Air Cannon Serves Up a Blast of Ferrocerium Sparks

OK, looks like we have a new way to entertain the kids and wreak havoc in the neighborhood, if this spark-shooting ferrocerium cannon is as easy to build as it looks.

This one comes to us by well-known purveyor of eyebrow-singing projects [NightHawkInLight], whose propane torch never seems to get a break. The idea here is a large scale version of an apparently popular trick where the “flints” from lighters, which are actually rods of ferrocerium, an aptly named alloy of iron and cerium, are heated to a nearly molten state and dropped onto a hard surface. The molten alloy thence explodes in a shower of sparks, to the mirth and merriment of those in attendance.

[NightHawkInLight]’s version of the trick scales everything up. Rather than lighter flints, he uses ferrocerium rods from firestarters of the type used for camping. The rod is stuffed into a barrel formed from steel brake line which is connected to the output of a PVC air chamber. His ominpresent propane torch is attached in such a way as the flame plays upon the loaded pyrophoric plug, heating it to a molten state before the air is released from the chamber. The massive display of sparks seen in the video below is pretty impressive, but we’re getting tired of  gender reveal parties and forest fires.  We just hope he had fire extinguishers on hand.

Seriously, be careful with stuff like this. [NightHawkInLight] has a lot of experience working with these kinds of projects, from his plasma-propelled soda bottles to making synthetic rubies with an arc welder. We’re sure he wouldn’t want to see anyone get hurt.

source https://hackaday.com/2020/10/15/air-cannon-serves-up-a-blast-of-ferrocerium-sparks/

A Smart Speaker That Reminds You It’s Listening

[markw2k9] has an Alexa device that sits in his kitchen and decided it was time to spruce it up with some rather uncanny eyes. With some inspiration from the Adafruit Uncanny Eyes project, which displays similar animated eyes, [markw2k9] designed a 3d printed shell that goes on top of a 2nd generation Amazon Echo. A teensy 3.2 powers two OLED displays and monitors the light ring to know when to turn the lights on and show that your smart speaker is listening. The eyes look around in a shifty sort of manner. Light from the echo’s LED ring is diffused through a piece of plexiglass that was lightly sanded on the outside ring and the eye lenses are 30mm cabochons (a glass lens often used for jewelry).

One hiccup is that the ring on the Echo will glow in a steady pattern when there’s a notification. As this would cause the OLEDs to be on almost continuously and concerned for the lifetime of the OLED panels, the decision was made to detect this condition in the state machine and go into a timeout state. With that issue solved, the whole thing came together nicely. Where this project really shines is the design and execution. The case is sleek PLA and the whole thing looks professional.

We’ve seen a few other projects inspired by the animated eyes project such as this Halloween themed robot that is honestly quite terrifying. The software and STL files for the smart speaker’s eyes are on Github and Thingiverse.

Thanks [markw2k9] for sending this one in!

source https://hackaday.com/2020/10/15/a-smart-speaker-that-reminds-you-its-listening/

Modern Network Adapter for Retro Computers

Universal Serial Bus, or USB, is so ingrained in modern computing that it’s hard to imagine a time without it. That time did exist, though, and it was a wild west of connector types, standards, and interfacing methods. One of the more interesting interfaces of the time was the SIO system found in 8-bit Atari computers which ended up sharing a lot of the features of modern USB, and its adaptability is displayed in this modern project which brings WiFi, Bluetooth, USB, and SD card slots to any old Atari with an SIO port.

The project is called FujiNet and it uses the lightweight protocol of SIO to add a number of modern features to the 8-bit machine. It’s based on an ESP32, and the chip performs the functions of a network adapter by bridging WiFi and Bluetooth to the Atari. It does this by simulating drives that would have potentially been used on the Atari in its time, such as a floppy disk drive, an RS232 interface, or a modem, and translating them to the modern wireless communication protocols. It even has the ability to emulate a printer by taking the output of the print job from the Atari and converting it to PDF within the device itself.

Not only does this bring a lot of functionality to the Atari, which you may be able to use to view sites like retro.hackaday.com, but the FujiNet is housed in a period-appropriate 3D-printed case that matches the look and feel of the original Atari. If you need a more generic solution for your retrocomputing networking adventures that isn’t limited to SIO, we recommend grabbing a Raspberry Pi to handle that.

Thanks to [Gavin] for the tip!

source https://hackaday.com/2020/10/14/modern-network-adapter-for-retro/

Grab a Stanford Computer Science Education

There are two reasons to go to school: learn about something and to get a coveted piece of paper that helps you get jobs, or at least, job interviews. With so many schools putting material online, you can do the first part without spending much money as long as you don’t expect the school to help you or grant you that piece of paper. Stanford has a huge computer science department and [Rui Ma] cataloged over 150 computer science classes available online in some form from the University. Just the thing to while away time during the quarantine.

Apparently, [Rui] grabbed the 2020 course catalog to find on-campus classes and found the companion website for each class, organizing them for our benefit. The list doesn’t include the actual online class offerings, which you can find directly from Stanford, although there is another list for that.

There are basic classes like CS103, Mathematical Foundations of Computing, that are important to know before attempting some of the upper-level classes. Systems classes range from CS1U on Practical Unix to CS149 and CS315B which cover parallel computing.

If you want to learn more about the theory behind why your LED blink algorithm scales poorly, there’s CS254, Computational Complexity. Machine learning is in vogue right now, and there are plenty of options including CS20, Tensorflow for Deep Learning Research.

There’s more, but we’ll let you read the list. Phone programming, robots, video games, and biocomputing are all on the menu. There are even a few classes on things like personal finance for engineers, ethics, and computer music.

To be fair, not all of these classes are easy to digest on their own. Some of them are supporting material and you really need the professor’s lectures. However, for some classes like CS106L (Standard C++ Programming) you’ll find complete sets of lecture notes and some classes even have video lectures, like the one below from CS224N, Natural Language Processing with Deep Learning.

We were glad [Rui] put together this list. Of course, if you are grabbing university content for self-study, you don’t have to get everything from one place. If you want a very practical education, the Navy’s materials are another source.

source https://hackaday.com/2020/10/14/grab-a-stanford-computer-science-education/

Cheap All-Sky Camera is Easy as Pi

Combining a Raspberry Pi HQ camera and a waterproof housing, [jippo12] made an all-sky, all-Pi meteorite tracking camera on the cheap, and it takes fantastic photos of the heavens. It’s even got its own YouTube channel. Inside there’s a Raspberry Pi 4 plus an HQ camera to take the pictures. But there’s also a system in place to keep everything warm and working properly. It uses a Raspberry Pi 3+, a temperature sensor, and a relay control HAT to pump pixies through a couple of 10 W resistors, making just enough heat to warm up the dome to keep it from fogging.

A few years ago, we reported that NASA was tracking meteorites (or fireballs, if you prefer) with a distributed network of all-sky cameras — cameras with 360° views of the night sky. Soon after, we found out that the French were doing something quite similar with their FRIPON network. We pondered how cool it would be to have a hacker network of these things, but zut alors! Have you seen the prices of these things?  Nice hack, [jippo12]!

Rather do things the old fashioned way? Dust off that DSLR, fire up that printer, and check out OpenAstroTracker.

source https://hackaday.com/2020/10/14/cheap-all-sky-camera-is-easy-as-pi/

Linux Fu: Global Search and Replace with Ripgrep

If you are even a casual Linux user, you probably know how to use grep. Even if you aren’t a regular expression guru, it is easy to use grep to search for lines in a file that match anything from simple strings to complex patterns. Of course, grep is fine for looking, but what if you want to find things and change them. Maybe you want to change each instance of “HackADay” to “Hackaday,” for example. You might use sed, but it is somewhat hard to use. You could use awk, but as a general-purpose language, it seems a bit of overkill for such a simple and common task. That’s the idea behind ripgrep which actually has the command name rg. Using rg, you can do things that grep can do using more modern regular expressions and also do replacements.

A Note on Installing Ripgrep

Your best bet is to get ripgrep from your repositories. When I tried running KDE Neon, it helpfully told me that I could install a version using apt or take a Snap version that was newer. I usually hate installing a snap, but I did anyway. It informed me that I had to add –classic to the install line because ripgrep could affect files outside the Snap sandbox. Since the whole purpose of the program is to change files, I didn’t think that was too surprising, so I did the install.

Simple Usage

If you want to use rg as a grep, go ahead. One refreshing upgrade is that it does output line numbers when printing to stdout:

If you don’t want the line numbers, use the -N option. You can also specify a replacement with -r:

Suppose you wanted to create a new file with the replacement, though. In that case, send the --passthru option so that all lines are sent through even if they don’t match.

Conversely, you might want to only print out the parts that match and not the entire line. The -o option will do that. You can also use many grep-like options. For example, -v will invert the match so that only lines that don’t match print.

Overwriting

One of the classic problems with Linux multitasking is trying to overwrite a file. For example, try this:

cd /tmp
cp /etc/fstab test.txt
cat test.txt  # plenty of stuff there
cat test.txt > test.txt
cat test.txt  # oops, the file is now empty

This is a common use case for rg, though. Of course, you can send the output to a temporary file and then replace the original file with the temporary one. But that seems inelegant. A utility called sponge is a neater way to do it. Sponge copies its standard input to a file, but it waits until there is no more input before it does so. Replace the second line above with:

cat test.txt | sponge test.txt

So to make a replacement in a file you could use something like:

rg --passthrough 'Jen' -r 'Jennifer' invite.txt | sponge invite.txt

Flavors

By default, rg uses regular expressions from Rust. These are known to be fast, but have some limitations in the name of performance. You can use the -P option to select PCRE2 regular expressions which have more features but might be slower. Another option is to use --engine=auto. This will cause rg to use Rust expressions unless you appear to use features that require PCRE2. If you provide multiple expressions, they will all use the same expression engine, so any PCRE2 expression will force the use of that engine.

With the PCRE2 engine you can do look-around, backreferences, and more. If you have trouble quoting regular expressions when you just want to find some text, you’ll appreciate the -F option. This causes the search expression to be an ordinary string:

There are many other options. Try the --help option to see them all. You can match across lines, match binary files, use CRLF as a line terminator, show context lines, or filter each file through an external program.

Toolbox

This is one of those simple tools that you can certainly live without, but it is much nicer to do many common tasks with it than without it. Of course, to get the most out of any grep-like tool, you really need to know regular expressions. If you want a fun way to learn regular expressions, try a crossword puzzle.

source https://hackaday.com/2020/10/14/linux-fu-global-search-and-replace-with-ripgrep/

Lowering the Bar for Exam Software Security

Most standardized tests have a fee: the SAT costs $50, the GRE costs $200, and the NY Bar Exam costs $250. This year, the bar exam came at a much larger cost for recent law school graduates — their privacy.

Many in-person events have had to find ways to move to the internet this year, and exams are no exception. We’d like to think that online exams shouldn’t be a big deal. It’s 2020. We have a pretty good grasp on how security and privacy should work, and it shouldn’t be too hard to implement sensible anti-cheating features.

It shouldn’t be a big deal, but for one software firm, it really is.

The NY State Board of Law Examiners (NY BOLE), along with several other state exam boards, chose to administer this year’s bar exam via ExamSoft’s Examplify. If you’ve missed out on the Examplify Saga, following the Diploma Privilege for New York account on Twitter will get you caught up pretty quickly. Essentially, according to its users, Examplify is an unmitigated disaster. Let’s start with something that should have been settled twenty years ago.

Did They Just Email Me My Password?

Passwords are stored in plaintext. Seriously- how is this still a thing? Users report being able to call customer support and retrieve not only their usernames but their passwords as well. Others had their passwords emailed to them. If a customer support rep can read your password to you over the phone, you’ve got a real problem. It would only take a bit of social engineering for somebody to get into your account, and if you reuse passwords, then your unrelated accounts can be easily compromised. (Please, use a password manager!)

It turns out that you don’t even need to log into somebody’s account to scope out their personal info. Users uploaded government IDs to their accounts, which were promptly sent to a server and stored accessible publicly via a random URL. It’s worth noting that it seems like more of a shortcoming on the part of the NY BOLE and not ExamSoft. Thankfully, once users reported the problem, the BOLE fixed it — though the fact that it was a issue in the first place is ridiculous. More astonishingly, the NY BOLE isn’t the only exam board that had this sort of problem. The DC Bar published  users’ background check documents, containing SSNs and employment histories, in addition to their IDs.

12345? Amazing, I have the same combination on my luggage!

Courtesy of @milkbar$100

There is a set of config files that comes bundled with each downloaded exam, and those files are, well, just plaintext. Puzzlingly, the parameters in these files, such as “isTimed” and “allowSpellChecking,” seem to have little effect in the software. Examsoft claims that modifying them will corrupt and invalidate the exam, but that doesn’t appear to be the case either.

The software also downloads the exam days before the test starts, leaving the files vulnerable to being poked and prodded by the curious-minded. These files are at least encrypted with an 18-character key, according to ExamSoft. On the exam day, the key is made public and test-takers can use it to decrypt the exam files. This isn’t the best strategy, especially when the Michigan bar exam, rather than employing an 18-character key as ExamSoft promised, used the passwords green56, purple34, and blue78 for their exam files. These horribly weak passwords are probably vulnerable to a brute-force attack.

One of Examplify’s main selling points is its ability to lock down a computer. You wouldn’t want a test-taker googling anything, or glancing at a PDF of the textbook on a second monitor.  While some of the more obvious ways to cheat are blocked here, users have found a loophole that ExamSoft unsurprisingly overlooked. Mac users may be familiar with the Universal Clipboard, a feature which, when enabled, allows a user to copy something on one device and paste it on another linked to the same account. Guess what — Examplify doesn’t disable it. This is a fun loophole, since a test-taker could copy the question text, and a friend could paste it onto an iPad and copy the relevant section in the textbook for the test-taker to read. It’s unclear as to whether or not this has been fixed yet, but as of September 28th the workaround was still usable.

Users found other creative ways to get around the software lockout as well. It’s been reported that if the computer gets rebooted mid-exam, the user gets ~30s of unrestricted access to their files, as well as the internet. One user was even able to reset the timer and start the exam over by rebooting their computer.

As you can imagine, it’s not just the security that’s awful. Users report a slew of interface problems, from software freezing mid-exam to the facial tracking software (which determines whether you’ve cheated by looking away from your screen) not being able to recognize dark-skinned people.

Now What?

It’s tough to dive into this sea of shortcomings without registering for the bar exam, however we were able to find a link to the Examplify installer (Windows, macOS) hosted on ExamSoft’s servers and, of course, unprotected. Go nuts.

It’s impressive that with modern advances in technology, we’ve found ways to make exams more stressful than ever before. It may be worth considering doing away with the bar exam and other standardized tests entirely. For the time being these tests are still a reality and it goes without saying, but we’ll say it anyway: even though ExamSoft and the NY BOLE seem to have made it easy to cheat, please don’t do that. Amid all of this failure, they’ve at least succeeded in one way. They’ve given us excellent examples of how not to do, well, pretty much everything.

Thanks to [Jonathan Merrin] for the tip!

source https://hackaday.com/2020/10/14/lowering-the-bar-for-exam-software-security/

Lowering the Bar for Exam Software Security

Most standardized tests have a fee: the SAT costs $50, the GRE costs $200, and the NY Bar Exam costs $250. This year, the bar exam came at a much larger cost for recent law school graduates — their privacy.

Many in-person events have had to find ways to move to the internet this year, and exams are no exception. We’d like to think that online exams shouldn’t be a big deal. It’s 2020. We have a pretty good grasp on how security and privacy should work, and it shouldn’t be too hard to implement sensible anti-cheating features.

It shouldn’t be a big deal, but for one software firm, it really is.

The NY State Board of Law Examiners (NY BOLE), along with several other state exam boards, chose to administer this year’s bar exam via ExamSoft’s Examplify. If you’ve missed out on the Examplify Saga, following the Diploma Privilege for New York account on Twitter will get you caught up pretty quickly. Essentially, according to its users, Examplify is an unmitigated disaster. Let’s start with something that should have been settled twenty years ago.

Did They Just Email Me My Password?

Passwords are stored in plaintext. Seriously- how is this still a thing? Users report being able to call customer support and retrieve not only their usernames but their passwords as well. Others had their passwords emailed to them. If a customer support rep can read your password to you over the phone, you’ve got a real problem. It would only take a bit of social engineering for somebody to get into your account, and if you reuse passwords, then your unrelated accounts can be easily compromised. (Please, use a password manager!)

It turns out that you don’t even need to log into somebody’s account to scope out their personal info. Users uploaded government IDs to their accounts, which were promptly sent to a server and stored accessible publicly via a random URL. It’s worth noting that it seems like more of a shortcoming on the part of the NY BOLE and not ExamSoft. Thankfully, once users reported the problem, the BOLE fixed it — though the fact that it was a issue in the first place is ridiculous. More astonishingly, the NY BOLE isn’t the only exam board that had this sort of problem. The DC Bar published  users’ background check documents, containing SSNs and employment histories, in addition to their IDs.

12345? Amazing, I have the same combination on my luggage!

Courtesy of @milkbar$100

There is a set of config files that comes bundled with each downloaded exam, and those files are, well, just plaintext. Puzzlingly, the parameters in these files, such as “isTimed” and “allowSpellChecking,” seem to have little effect in the software. Examsoft claims that modifying them will corrupt and invalidate the exam, but that doesn’t appear to be the case either.

The software also downloads the exam days before the test starts, leaving the files vulnerable to being poked and prodded by the curious-minded. These files are at least encrypted with an 18-character key, according to ExamSoft. On the exam day, the key is made public and test-takers can use it to decrypt the exam files. This isn’t the best strategy, especially when the Michigan bar exam, rather than employing an 18-character key as ExamSoft promised, used the passwords green56, purple34, and blue78 for their exam files. These horribly weak passwords are probably vulnerable to a brute-force attack.

One of Examplify’s main selling points is its ability to lock down a computer. You wouldn’t want a test-taker googling anything, or glancing at a PDF of the textbook on a second monitor.  While some of the more obvious ways to cheat are blocked here, users have found a loophole that ExamSoft unsurprisingly overlooked. Mac users may be familiar with the Universal Clipboard, a feature which, when enabled, allows a user to copy something on one device and paste it on another linked to the same account. Guess what — Examplify doesn’t disable it. This is a fun loophole, since a test-taker could copy the question text, and a friend could paste it onto an iPad and copy the relevant section in the textbook for the test-taker to read. It’s unclear as to whether or not this has been fixed yet, but as of September 28th the workaround was still usable.

Users found other creative ways to get around the software lockout as well. It’s been reported that if the computer gets rebooted mid-exam, the user gets ~30s of unrestricted access to their files, as well as the internet. One user was even able to reset the timer and start the exam over by rebooting their computer.

As you can imagine, it’s not just the security that’s awful. Users report a slew of interface problems, from software freezing mid-exam to the facial tracking software (which determines whether you’ve cheated by looking away from your screen) not being able to recognize dark-skinned people.

Now What?

It’s tough to dive into this sea of shortcomings without registering for the bar exam, however we were able to find a link to the Examplify installer (Windows, macOS) hosted on ExamSoft’s servers and, of course, unprotected. Go nuts.

It’s impressive that with modern advances in technology, we’ve found ways to make exams more stressful than ever before. It may be worth considering doing away with the bar exam and other standardized tests entirely. For the time being these tests are still a reality and it goes without saying, but we’ll say it anyway: even though ExamSoft and the NY BOLE seem to have made it easy to cheat, please don’t do that. Amid all of this failure, they’ve at least succeeded in one way. They’ve given us excellent examples of how not to do, well, pretty much everything.

Thanks to [Jonathan Merrin] for the tip!

source https://hackaday.com/2020/10/14/lowering-the-bar-for-exam-software-security/

Lowering the Bar for Exam Software Security

Most standardized tests have a fee: the SAT costs $50, the GRE costs $200, and the NY Bar Exam costs $250. This year, the bar exam came at a much larger cost for recent law school graduates — their privacy.

Many in-person events have had to find ways to move to the internet this year, and exams are no exception. We’d like to think that online exams shouldn’t be a big deal. It’s 2020. We have a pretty good grasp on how security and privacy should work, and it shouldn’t be too hard to implement sensible anti-cheating features.

It shouldn’t be a big deal, but for one software firm, it really is.

The NY State Board of Law Examiners (NY BOLE), along with several other state exam boards, chose to administer this year’s bar exam via ExamSoft’s Examplify. If you’ve missed out on the Examplify Saga, following the Diploma Privilege for New York account on Twitter will get you caught up pretty quickly. Essentially, according to its users, Examplify is an unmitigated disaster. Let’s start with something that should have been settled twenty years ago.

Did They Just Email Me My Password?

Passwords are stored in plaintext. Seriously- how is this still a thing? Users report being able to call customer support and retrieve not only their usernames but their passwords as well. Others had their passwords emailed to them. If a customer support rep can read your password to you over the phone, you’ve got a real problem. It would only take a bit of social engineering for somebody to get into your account, and if you reuse passwords, then your unrelated accounts can be easily compromised. (Please, use a password manager!)

It turns out that you don’t even need to log into somebody’s account to scope out their personal info. Users uploaded government IDs to their accounts, which were promptly sent to a server and stored accessible publicly via a random URL. It’s worth noting that it seems like more of a shortcoming on the part of the NY BOLE and not ExamSoft. Thankfully, once users reported the problem, the BOLE fixed it — though the fact that it was a issue in the first place is ridiculous. More astonishingly, the NY BOLE isn’t the only exam board that had this sort of problem. The DC Bar published  users’ background check documents, containing SSNs and employment histories, in addition to their IDs.

12345? Amazing, I have the same combination on my luggage!

Courtesy of @milkbar$100

There is a set of config files that comes bundled with each downloaded exam, and those files are, well, just plaintext. Puzzlingly, the parameters in these files, such as “isTimed” and “allowSpellChecking,” seem to have little effect in the software. Examsoft claims that modifying them will corrupt and invalidate the exam, but that doesn’t appear to be the case either.

The software also downloads the exam days before the test starts, leaving the files vulnerable to being poked and prodded by the curious-minded. These files are at least encrypted with an 18-character key, according to ExamSoft. On the exam day, the key is made public and test-takers can use it to decrypt the exam files. This isn’t the best strategy, especially when the Michigan bar exam, rather than employing an 18-character key as ExamSoft promised, used the passwords green56, purple34, and blue78 for their exam files. These horribly weak passwords are probably vulnerable to a brute-force attack.

One of Examplify’s main selling points is its ability to lock down a computer. You wouldn’t want a test-taker googling anything, or glancing at a PDF of the textbook on a second monitor.  While some of the more obvious ways to cheat are blocked here, users have found a loophole that ExamSoft unsurprisingly overlooked. Mac users may be familiar with the Universal Clipboard, a feature which, when enabled, allows a user to copy something on one device and paste it on another linked to the same account. Guess what — Examplify doesn’t disable it. This is a fun loophole, since a test-taker could copy the question text, and a friend could paste it onto an iPad and copy the relevant section in the textbook for the test-taker to read. It’s unclear as to whether or not this has been fixed yet, but as of September 28th the workaround was still usable.

Users found other creative ways to get around the software lockout as well. It’s been reported that if the computer gets rebooted mid-exam, the user gets ~30s of unrestricted access to their files, as well as the internet. One user was even able to reset the timer and start the exam over by rebooting their computer.

As you can imagine, it’s not just the security that’s awful. Users report a slew of interface problems, from software freezing mid-exam to the facial tracking software (which determines whether you’ve cheated by looking away from your screen) not being able to recognize dark-skinned people.

Now What?

It’s tough to dive into this sea of shortcomings without registering for the bar exam, however we were able to find a link to the Examplify installer (Windows, macOS) hosted on ExamSoft’s servers and, of course, unprotected. Go nuts.

It’s impressive that with modern advances in technology, we’ve found ways to make exams more stressful than ever before. It may be worth considering doing away with the bar exam and other standardized tests entirely. For the time being these tests are still a reality and it goes without saying, but we’ll say it anyway: even though ExamSoft and the NY BOLE seem to have made it easy to cheat, please don’t do that. Amid all of this failure, they’ve at least succeeded in one way. They’ve given us excellent examples of how not to do, well, pretty much everything.

Thanks to [Jonathan Merrin] for the tip!

source https://hackaday.com/2020/10/14/lowering-the-bar-for-exam-software-security/

Tiny Mario Clone On A Tiny Processor

We’ve become used to seeing retro games running on commodity microcontrollers where once they would have required the bleeding-edge console hardware of their day. [Duncan]’s Mario clone takes the genre a little further, using not a processor with plenty of pins for peripherals, but instead the humble ATtiny85. Its eight pins drive two OLED displays, and accept input from the buttons of a cheap Nintendo-like controller.

The write-up is split between software and hardware sections, with all the software itself available from a GitHub repository. He’s bit-banging the i2C for the displays for an impressive turn of speed, and the ATtiny’s lack of pins is addressed by clever use of resistive dividers to present a different voltage for each button pressed. With a truth table of voltages he’s even able to detect multiple simultaneous button presses. Music is achieved with the chip’s limited resources by storing the sounds in EEPROM, and clocked it at 16 MHz for smooth gameplay.

The whole is mounted inside the shell of the controller, with its USB guts removed and replaced by a smart custom PCB. An unexpected problem with ground plane fill caused a temporary roadblock reading the buttons, but the finished product is a very Nintendo-like experience. We like it.

source https://hackaday.com/2020/10/14/tiny-mario-clone-on-a-tiny-processor/

An Open Source IR Gateway Based on the ESP8266

The market is absolutely inundated with smart gadgets, with everything from coffee makers to TVs advertising that they support the latest and greatest in home automation platforms. Don’t worry about how many of those platforms and services will still up up and running in the next few years, the thing will probably stop working before then anyway. No sense worrying about the details in a disposable world.

Of course, not all of us are so quick to dump working hardware in the name of the latest consumer trend. Which is why [Viktor] has developed an open source infrared gateway that can connect your “dumb” devices to the latest flash in the pan backend service with nothing more than a software update. Though even modern smart TVs still include IR remotes, so there’s nothing stopping you from using it with newer gear if you don’t trust like the built-in implementation.

The hardware here is really quite simple, essentially boiling down to a few IR LEDs and an IR receiver hanging off the GPIO ports of an ESP8266. While the receiver isn’t strictly necessary, it does allow [Viktor] to rapidly implement new IR codes. He just points the existing remote at the board, hits a button, and the decoded command gets sent out over MQTT where he can easily snap it up.

[Viktor] has done the hard work of creating the PCB design and testing out different IR LEDs to find the ones with the best performance. But if you wanted to just throw something together in a weekend, you should be able to get his firmware running with little more than a bare ESP and a random IR LED salvaged from an old remote. But don’t be surprised if you get hooked on the concept and end up rolling your own home automation system.

source https://hackaday.com/2020/10/14/an-open-source-ir-gateway-based-on-the-esp8266/

Making A Servo Tester Just A Bit Better

Servo testers are useful devices to have on hand, allowing one to quickly check a given part for proper operation. However, cheaper models can be quite limited, and may not output signals suitable for testing the full range of servos out there. [Buttim] had a few testers laying around, and wanted to see if they could be modified to do more.

Initial experiments with the cheapest model on hand came to naught, revealing nothing but a small IC with its markings scrubbed off. However, going a few more dollars upmarket, [buttim] found a servo tester packing a Nuvoton N75E003. An unfamiliar name to the hobbyist, Nuvoton microcontrollers are often found in mass-production designs due to their low cost.

The N75E003 is a 8051-based device, and [buttim] was able to source a programmer and tutorial resources on how to work with the chip. Armed with the right hardware and knowledge, the servo tester was first programmed with a basic blink sketch. With everything confirmed to be working as expected, [buttim] set about programming a custom firmware for the servo tester that would output a broader range of PWM signals to suit their needs.

It’s a great example of the learning possibilities available by simply cracking open the case of commodity hardware and diving in. Of course, if you need something even more capable, you can always build your own from scratch!

source https://hackaday.com/2020/10/13/making-a-servo-tester-just-a-bit-better/

Browser Makes Tiny Office Suite

There’s a recent craze of people living in tiny houses of 400 square feet down to as little as 80 square feet. Maybe [zserge] was thinking about that and created a very tiny office suite in which each tool weighs in at less than 1K. If you are guessing you couldn’t squeeze much functionality in C or C++ code or even assembly, you’d be right. The language of choice? HTML and JavaScript. So while the code is small, it relies on a pretty big piece of software. On the other hand, you have a browser open right now, so the incremental cost of using these tools is very small.

We get the idea that there’s not much chance this is going to sweep the shelves of Microsoft Office, Libre Office, and all the many competitors. However, it is a pretty stunning example of what you can do with modern HTML. There’s even a GitHub repo.

The text editor is only 63 bytes and can live inside a bookmark in the browser. While it doesn’t actually have the real features of a word processor, you can use Control+B and Control+I to set up bold and italic text. The spreadsheet is a marvel at 741 bytes and really does formulas using the somewhat unsafe eval() function. The functions don’t evaluate until you leave the cell, even if you press enter, so if it seems like it isn’t working, just try clicking in another cell.

For a paltry 410 bytes, there’s a drawing app and presentation module that weighs in at 668 bytes. This last is really just the text editor with some hotkeys to make bullets and headers and the like. There’s a hardcoded limit of 50 slides, but you could change that if you are more verbose.

Saving things can be a bit tricky. You can save as HTML or print using the browser’s native functions. You might have to take a screenshot of the drawing app. Overall, these little apps are a bit tongue-in-cheek, but we have to applaud their function to size ratio.

This project made us think of the JavaScript art project we covered before. We saw a similar technique used to provide serverless websites.

source https://hackaday.com/2020/10/13/browser-makes-tiny-office-suite/