DMCA Vs Hacker

This week featured a large kerfuffle over a hack that you probably read about here on Hackaday: [Neutrino] wedged an OLED screen and an ESP32 into a Casio calculator. REACT, an anti-counterfeiting organization, filed DMCA copyright takedowns on Casio’s behalf everywhere, including GitHub and YouTube, and every trace of [Neutrino]’s project was scrubbed from the Internet.

The DMCA is an interesting piece of legislation. It’s been used to prevent people from working on their tractors, from refilling printer ink cartridges, and to silence dissenting opinions, but it’s also what allows us to have the Internet that we know and love, in a sense.

In particular, the “safe harbor” provision absolves online platforms like YouTube and GitHub from liability for content they host, so long as they remove it when someone makes a copyright claim on it. So if a content owner, say Casio, issues a takedown notice for [Neutrino]’s GitHub and YouTube content, they have to comply. If he believes the request to be made in error, [Neutrino] can then file a counter-notice. After ten to fourteen days, presuming no formal legal action has been taken, the content must be reinstated. (See Section 512(g).)

cardboard cnc machineBoth the takedown notice and counter-notice are binding legal documents, sworn under oath of perjury. Notices and counter-notices can be used or abused, and copyright law is famously full of grey zones. The nice thing about GitHub is that they publish all DMCA notices and counter-notices they receive, so here it is for you to judge yourself.

Because of the perjury ramifications, we can’t say that the folks at REACT who filed the takedown knowingly submitted a bogus request in bad faith — that would be accusing them of breaking federal law — but we can certainly say that it looks like they’re far off base here. They’re certainly not coders.

The good news is that the code is back up on GitHub, but oddly enough the video describing the hack is still missing on YouTube.

But here’s how this looks for Casio and REACT: they saw something that was unflattering to a product of theirs — that it could be used for cheating in school — and they sent in the legal attack squad. If that’s the case, that’s rotten.

This article is part of the Hackaday.com newsletter, delivered every seven days for each of the last 200+ weeks. It also includes our favorite articles from the last seven days that you can see on the web version of the newsletter.

Want this type of article to hit your inbox every Friday morning? You should sign up!

Build Your Own Dial-Up ISP – Now With Modem Pool!

When it was the only viable option, the screech and squeal of dial-up internet was an unwelcome headache to many. But now that its time has passed, it’s gained a certain nostalgia that endears it to the technophiles of today. [Doge Microsystems] is just one such person, who has gone all out to develop their very own dial-up ISP for multiple clients.

The retro network is based on an earlier single-device experiment, with a Raspberry Pi 3B acting as the dial-up server. It’s hooked up to four modems, three of which are connected over USB-serial adapters implementing hardware flow control.

Obviously, four analog phone lines are hard to come by in this day and age, so [Doge] uses Asterisk along with a series of Linksys SIP devices to create their own PBX network.  Each modem gets a phone line, with four left over for clients to dial in.

To connect, users can either call a certain modem directly, or dial a special number which rings the whole pool. Thanks to mgetty, each modem is set up to answer on a different number of rings to allow the load to be shared. Once connected, a PPP daemon handles connecting the user to the Internet at large.

While it’s unlikely we’ll all be ringing [Doge]’s house to get our next YouTube fix, owning your own dial-up ISP is certainly an admirable feat. We’d love to see it deployed in the field sometime, perhaps at a hacker conference or Burning Man-type event. Of course, if you’ve got your own old-school network pumping data, be sure to let us know! Video after the break.

Continue reading “Build Your Own Dial-Up ISP – Now With Modem Pool!”

Spacing Out: All The Orbital News You’re Missing

We keep finding more great space stories than we can cover, so here’s a speed-run through the broader picture of the moment as it applies to space flight.

The big news this week was the first launch of a manned SpaceX Crew Dragon capsule to the ISS. I was excited because the pass en route to the space station was scheduled to be visible from the UK at dusk, and on Wednesday evening I perched atop a nearby hill staring intently at the horizon. Except it had been cancelled due to bad weather. The next launch window is planned for today and you can watch it live.

Meanwhile, fashion is the other piece of this manned-launch’s appeal. Their sharply-designed spacesuits have attracted a lot of attention, moving on from the bulky functional Michelin Man aesthetic of previous NASA and Roscosmos garments for a positively futuristic look that wouldn’t be out of place in Star Trek. Never mind that the two astronauts are more seasoned space dog than catwalk model, they still look pretty cool to us. Against the backdrop of a political upheaval at the top of NASA, this first crewed orbital mission from American soil since the retirement of the Shuttle has assumed an importance much greater than might be expected from a run-of-the-mill spaceflight.

While we’re on the subject of the ISS, it’s worth noting that we’re approaching twenty years since the first crew took up residence there, and it has been continuously crewed ever since as an off-planet outpost. This is an astounding achievement for all the engineers, scientists, and crews involved, and though space launches perhaps don’t have the magic they had five decades ago it’s still an awe-inspiring sight to see a man-made object big enough to discern its shape pass over in the night sky. We understand that current plans are to retain the station until at least 2030, so it’s a sight that should remain with us for a while longer.

Closer to Earth are a couple of tests for relative newcomers to the skies. When Richard Branson’s Virgin group isn’t trying to boot millionaires off the planet through its Virgin Galactic operation, it’s aiming to cheaply fling small satellites into orbit from a rocket-toting airborne Boeing 747 with its Virgin Orbit subsidiary. Their first test launch sadly didn’t make it to space, once the rocket had flawlessly launched from the airliner it suffered a fault and the mission had to be aborted. Getting into space is hard.

The second test was never intended to make it into space, but is no less noteworthy. The British company Skyrora have performed a successful ground test of their Skylark L rocket, aiming for a first launch next year and for offering low-earth orbit services by 2023. This is significant because it will be the first British launch since the ill-fated Black Arrow launch in 1971, and with their Scottish launch site the first ever from British soil. If you’ve seen Skyrora mentioned here before, it is because they were behind the retrieval of the Black Arrow wreckage from the Aussie outback that we mentioned when we wrote about that programme.

Looking forward to the coming week, especially today’s rescheduled SpaceX launch. This time however, I’ll check the weather conditions before climbing any hills.

Rolling Your Own LED Matrix Driver, With Copper Foil Tape To The Rescue

It all started when [Damien Walsh] got his hands on some surplus LED boards. Each panel contained 100 mini-PCBs hosting a single bright LED that were meant to be to be snapped apart as needed. [Damien] had a much better idea: leave them in their 20×5 array and design a driver allowing each LED to be controlled over WiFi. He was successful (a brief demo video is embedded down below after the break) and had a few interesting tips to share about the process of making it from scratch.

The first hurdle he ran into was something most of us can relate to; it’s difficult to research something when one doesn’t know the correct terms. In [Damien]’s case, his searches led him to a cornucopia of LED drivers intended to be used for room lighting or backlights. These devices make a large array of smaller LEDs act like a single larger light source, but he wanted to be able to individually address each LED.

Eventually he came across the IS32FL3738 6×8 Dot Matrix LED Driver IC from ISSI which hit all the right bases. Three of these would be enough to control the 100-LED panel; it offered I2C control and even had the ability to synchronize the PWM of the LEDs across multiple chips, so there would be no mismatched flicker between LEDs on different drivers. As for micontroller and WiFi connectivity, we all have our favorites and [Damien] is a big fan of Espressif’s ESP32 series, and used the ESP32-WROOM to head it all up.

LED pads bridged to copper tape, with Kapton (polyimide) tape insulating any crossovers.

The other issue that needed attention was wiring. Each of the LEDs is on its own little PCB with handy exposed soldering pads, but soldering up 100 LEDs is the kind of job where a little planning goes a long way. [Damien] settled on a clever system of using strips of copper tape, insulated by Kapton (a super handy material with a sadly tragic history.) One tip [Damien] has for soldering to copper tape: make sure to have a fume extractor fan running because it’s a much smokier process than soldering to wires.

A 3D-printed baffle using tracing paper to diffuse the light rounds out the device, yielding a 20 x 5 matrix of individually-controlled rectangles that light up smoothly and evenly. The end result looks fantastic, and you can see it in action in the short video embedded below.

Continue reading “Rolling Your Own LED Matrix Driver, With Copper Foil Tape To The Rescue”

Job Application Script Automates The Boring Stuff With Python

Job hunting can certainly require a good amount of hoop-jumping in today’s age. Even if you’re lucky enough to have your application read by an actual human, there’s no guarantee the person on the other end has much of an understanding about your skill set. Oftentimes, the entire procedure is futile from the start, and as a recent graduate, [harshibar] is well aware of the soul-crushing experience investing a lot of time in it can be. Well, as the saying goes: if you can’t beat them, join them — and if you can’t join them, automate the hell out of the application process.

As the final piece of a “5 Python Projects in 5 Days” challenge [harshibar] set for herself — which also spawned a “Tinder for Netflix” for the web development section of it — she essentially created a web-scraper that gathers job openings for a specific search term, and automatically sends an application to each and every one of them. Using Beautiful Soup to parse the scraped pages of a certain job portal, Selenium’s browser automation functionality to fill out the online application forms, she can get all her information into the form saving countless hours in comparison to the manual alternative. The program even hits the apply button.

While the quantity-over-quality approach may not be for everyone, there’s of course room for more filtering and being more selective about the job openings beforehand, which [harshibar] also addresses in her video about the project (embedded below). And while this won’t fix the application process itself, we can definitely see the satisfaction a beating-them-at-their-own-game might provide — plus, it can’t have a worse miss rate than your typical LinkedIn “recruiter”. Still, if you’re looking for a more systematic approach, have a look at [Lewin Day]’s view on the subject, he even has advice job hunting is still further down the road for you.

Continue reading “Job Application Script Automates The Boring Stuff With Python”

Creating Surreal Short Films From Machine Learning

Ever since we first saw the nightmarish artwork produced by Google DeepDream and the ridiculous faux paintings produced from neural style transfer, we’ve been aware of the ways machine learning can be applied to visual art. With commercially available trained models and automated pipelines for generating images from relatively small training sets, it’s now possible for developers without theoretical knowledge of machine learning to easily generate images, provided they have sufficient access to GPUs. Filmmaker [Kira Bursky] took this a step further, creating a surreal short film that features characters and textures produced from image sets.

She began with about 150 photos of her face, 200 photos of film locations, 4600 photos of past film productions, and 100 drawings as the main datasets.

via [Kira Bursky]
Using GAN models for nebulas, faces, and skyscrapers in RunwayML, she found the results from training her face set disintegrated, realistic, and painterly. Many of the images continue to evoke aspects of her original face with distortions, although whether that is the model identifying a feature common to skyscrapers and faces or our own bias towards facial recognition is up to the viewer.

On the other hand, the results of training the film set photos on models of faces and bedrooms produced abstract textures and “surreal and eerie faces like a fever dream”. Perhaps, unlike the familiar anchors of facial features, it’s the lack of recognizable characteristics in the transformed images that gives them such a surreal feel.

[Kira] certainly uses these results to her advantage, brainstorming a concept for a short film that revolves around her main character experiencing nightmares. Although her objective was to use her results to convey a series of emotionally striking scenes, the models she uses to produce these scenes are also quite interesting.

She started off by using the MiDaS model, created by a team of researchers from ETH Zurich and Intel, for generating monocular depth maps. The results associated levels inside of an image with their appropriate depth in relation to one another. She also used the MASK R-CNN for masking out the backgrounds in generated faces and combined her generated images in Photoshop to create the main character for her short film.

via [Vox]
In order to simulate the character walking, she used the Liquid Warping GAN, a framework for human motion imitation and appearance transfer, created by a team from ShanghaiTech University and Tencent AI Lab. This allowed her to take her original images and synthesize results from reference poses of herself going through the motions of walking by using a 3D body mesh recovery module. Later on, she applied similar techniques for motion tracking on her faces, running them through the First Order Motion Model to simulate different emotions. She went on to join her facial movements with her character using After Effects.

Bringing the results together, she animated a 3D camera blur using the depth map videos to create a less disorienting result by providing anchor points for the viewers and creating a displacement map to heighten the sense of depth and movement within the scenes. In After Effects, she also overlaid dust and film grain effects to give the final result a crisper look. The result is a surprisingly cinematic film entirely made of images and videos generated from machine learning models. With the help of the depth adjustments, it almost looks like something that you might see in a nightmare.

Check out the result below:

Continue reading “Creating Surreal Short Films From Machine Learning”

WiFi Goes Open

For most people, adding WiFi to a project means grabbing something like an ESP8266 or an ESP32. But if you are developing your own design on an FPGA, that means adding another package. If you are targeting Linux, the OpenWifi project has a good start at providing WiFi in Verilog. There are examples for many development boards and advice for porting to your own target on GitHub. You can also see one of the developers, [Xianjun Jiao], demonstrate the whole thing in the video below.

The demo uses a Xilinx Zynq, so the Linux backend runs on the Arm processor that is on the same chip as the FPGA doing the software-defined radio. We’ll warn you that this project is not for the faint of heart. If you want to understand the code, you’ll have to dig into a lot of WiFi trivia.

Continue reading “WiFi Goes Open”