This Halloween I have a new treat for everyone- a multiplayer remake of Death Race, an infamous arcade game from 1976. Video game developer Exidy built the game as a modification of their popular Destruction Derby game in which drivers hit cars to win points. In Death Race they instead were challenged to run over monsters called “gremlins”, which in the primitive graphics of the time looked like stick figures that resemble people. To add to the confusion the “gremlins” give out a high pitched scream when hit. This game marks the earliest controversy regarding video game violence and as such has a special place in video game and computer software history, as never before had a program been as attacked in the media as Death Race. Now you and your friends can play against each other in a web-optimized multiplayer remake!
The language barrier is a major problem during the COVID-19 pandemic when trying to convey critical safety and medical information and to get information to parents and students as we head back to school. Translation services are expensive and there are many communities that need services.
Amazon Web Services has a product called Amazon Translate which is a neural machine translation service, meaning it translates text using machine learning. It is very powerful, and while it cannot replace a human translator, can help people like teachers convey meaning to the communities they work with reliably. Unfortunately this tool is intended for developers, whereas it can be of great value to people who are not programmers who could leverage its generous free usage tier, letting you translate 2 million characters per month for 12 months at no cost.
That’s where FreeTranslate comes in. FreeTranslate is a software project I have worked on that allows people to deploy a personal translation page to use these free credits by simply clicking a button. It will deploy FreeTranslate to your Amazon account and generate a personal URL just for you!
The technical details are that I have built a CloudFormation template that deploys when you click a URL on my projects page. This template deploys an API Gateway (for the webpage and sending translation requests) and a Lambda function (which does the actual translation bit). You can see a diagram from the CloudFormation designer tool here:
SHARING THE SOLUTION
As always, the code is open source! You can view it here.
Famous author and artist Eric Carle turns 91 today. I remember loving his books when I was a kid, especially The Very Hungry Caterpillar and Brown Bear, Brown Bear, What Do You See?. Each book features his distinctive art style. The images are collages composed of tissue paper and acrylic paint, producing vivid depictions of animals and nature.
Carle’s work is as complex as it is beautiful. How can we make it easier for children to produce their own homages to his creations?
Neural style transfer is a technique that allows you to compose images in another’s style using deep learning. That is, you teach a computer to identify key elements of an image’s style and redraw that image in that style it has just learned.
Taking the code from the tutorial I built a website that lets you upload images, have the style of Eric Carle’s The Very Hungry Caterpillar transferred to it, and display it for the world to see and for you to download! At any given time the latest 10 images will be displayed for any visitors to see. The website is built in one of my favorite frameworks, Flask.
You can access the website at ericcarletransfer.ml. Be warned, the transfer time can be in excess of 10 minutes- it is very computationally intensive.
The results have been encouraging though! Take a look:
The neural network is picking up on the look of the tissue paper and paint. In the future I want to work on reducing the amount of noise seen in the backgrounds.
SHARING THE SOLUTION
The URL again is http://ericcarlearttransfer.ml/
As always, the entire project is opens source and can be found here on GitHub!
Word searches can be a great way to build a summary activity for reading a story, article, or book. However, they are time consuming and difficult to make.
text2wordsearch uses the Rapid Automatic Keyword Extraction (RAKE) algorithm to automatically extract the top key words from a blob of text! Simply copy the text from the article or story and choose how many words you want in your word search. Then copy the word search into your favorite word processor (be sure to use a monospace font!). The keywords selected are found in the bottom box.
The technical details are that this uses an AWS Lambda function to run the RAKE algorithm and generate the word search, ingesting the text from the web interface above which is deployed on AWS API Gateway. The Lambda function is written in Python and leverages two excellent packages: python-rake and word-search-puzzle. Because it is a Lambda function they had to be installed to a directory and uploaded as part of a zip bundle along with my function code. This zip is included in the repo linked below for you to deploy and play with yourselves!
SHARING THE SOLUTION
Zoom Bombing is exposing children learning remotely to inappropriate content and disrupting meetings so a few pranksters can have a laugh. The biggest unsolved issue with Zoom Bombing is that people are sharing links and passwords on social media in order to egg trolls and classmates on to bomb these classes and meetings. How can we share a meeting without disclosing the meeting ID and password?
BombSquad is a solution I built on Amazon Web Services to help mitigate the worst of Zoom Bombing. Here’s how it works:
- Get a Zoom meeting invitation link like normal (and make sure the password feature is turned on!)
- Go to www.BombSquad.us
- Select your meeting options- you can permanently turn off the participant microphone and camera so that nobody can reenable it by clicking the checkboxes.
- Paste your invitation link
- Get a sharable cloaked URL that goes right to your meeting!
- Continue orchestrating your meeting from the Zoom client like normal.
The technical details are as follows: BombSquad takes your URL, transforms it to force the user to use the Zoom web client, stores the original URL securely, and only redirects the browser to the real meeting URL if the user clicks through the sharable link you receive. The invitation link inside the window is disabled. Thus, all a user can see are BombSquad URLs! This is performed using a combination of AWS S3 and Lambda instances as shown above, making this a neat example of a serverless application– the first I am distributing publicly!
SHARING THE SOLUTION
Head on over to www.bombsquad.us and give it a try!
Personal protective equipment (PPE) is in short supply due to the COVID-19 pandemic.
There are tons and tons of awesome PPE designs on Thingiverse, YouMagine, Instructables, and other popular hangouts for makers. One that I really like is this facemask that uses a plastic report cover or overhead transparency made by Erik Cederberg / 3DVerkstan from Faceshield.nu. Unfortunately, it was physically too large to print using my 3D printer, so I made a version of his design that can be cut using home CNC mills, like my Carvey. It can be cut in just 11 minutes! I used a 1/4″ thick MDF sheet, but any flexible but strong material should do the job.
SHARING THE SOLUTION
Head on over to Inventables right now to grab the Easel project/G-code! My employer is also printing these same masks in our company hackerspace, so I intend to bring them in as part of their drive to produce PPE and donate them to those who need them.
COVID-19 is taxing our internet infrastructure, and many stuck at home are struggling with tasks where it would be useful to share one’s screen with others, such as teaching from home, sharing content with someone without handing them your device and getting it contaminated, or monitoring what is happening on a home computer in real time.
FreeDisplay is a free open-source program written in Python that allows you to share your screen with anyone on your local network, such as your home Wi-Fi network. It creates a QR code other can scan for easy sharing and serves a simple webpage with a mirror of your screen so that any device with a web browser can easily view your screen! Use it for home teaching, sharing content without handing someone your device, presentations, monitoring activity on your home computer and more. Download for free here: https://kevinl95.github.io/freedisplay/
As always, the code is open-source and can be viewed here: https://github.com/kevinl95/freedisplay
This is an exciting new project I’ve been working on to use off-the-shelf smart lightbulbs to make an inexpensive and automatic classroom management gadget. Using a bit of Node I was able to get the noise level of a classroom and translate it into a color for a connected smart lightbulb, from green to red as the classroom gets louder! Inspired by the ‘traffic light’ noise warning gadgets I see in classrooms, this one is fully automatic. There are no switches to throw- just set the maximum volume in the free software and the lightbulb will change color on its own!
Works with MagicHome brand smart lightbulbs, such as these which are known to work:
As always, this program is open source! Click here to view the code on GitHub!
It can be difficult or dangerous to connect internet of things (IoT) gadgets like sensors, smart light bulbs, switches, digital assistants, etc. to campus WiFi networks. Your information technology department may have instituted restrictions on connecting these devices to their network, a landing page may make connecting impossible, or no guest network may exist. Additionally, it is good practice to keep IoT gadgets on their own separate network for security. The FBI has made several recommendations including using a separate network for operating IoT gadgets safely.
Travel routers offer a convenient way to set up this separate network inexpensively and with portable equipment. Unlike your home router or the router in your workplace these routers are small and low power, and can even be run off a USB port on your computer! The range of these devices vary, but generally will cover a single room.
Introducing the GL.iNet GL-USB150 Microuter! This handy little USB microrouter creates a small, easy to set-up WiFi network around your computer. When connected to your laptop, it will appear as a second network connection, letting you access all of your IoT gadgets as well as your campus internet. There are many travel routers out there that may better suit your needs, but this one is small, inexpensive, and has worked for me in the past. It is easy to use and portable.
- Plug the microrouter into your computer
- In your web browser, go to http://192.168.8.1 to complete setup (Documentation here)
- If your devices will need internet access, you can connect your router to the campus internet itself using the connect tool on the main page.
- Your router is now broadcasting. Connect your IoT gadgets to the network using their respective apps. You should see a network that starts with the words “GL-USB150…”. Your devices should have no problem connecting to this new network instead of the campus network.
- Connect your tablet or phone to your new network when you want to control the devices with their apps. Your computer will always be connected to this network as well as the campus network, requiring no reconnection. It will treat the new network as a second network connection.
- The GL-USB150 router is a 2.4 GHz device. If you plan on connecting it to the campus WiFi because some of your devices require internet access (note that many devices like switches, light bulbs, etc. do not need internet access, they can be operated on a network without an internet connection) you should verify it is not a newer 5 GHz network. Note that some devices, like Amazon Echo devices, do need internet access so putting them onto a network like this without setting up an internet connection will not work.
- Some IT policies forbid you from running your own networking equipment.
When volunteering in schools I have run into this problem before- a teacher wants to use a cool new gadget but it just won’t connect to the WiFi. This workaround as worked for me, and I hope it works for you!
Chocolate turkeys need a place to sit and Christmas is coming up!
3D carved bamboo Christmas ornaments that double as Thanksgiving party favors!
SHARING THE SOLUTION
Happy Thanksgiving everyone!