Like a lot of game developers [Amir Rajan] likes to put Easter Eggs into his creations. His latest Nintendo Switch title, A Dark Room, has a very peculiar one, though. Instead of a graphic or a Tetris game, [Amir] put a code editor and a Ruby interpreter in the game.
Ruby is a language that originated in Japan and is popular with Web developers, in particular. It has dynamic typing, garbage collection, and supports several different programming styles. We aren’t sure what you’d do with it on a Nintendo Switch, but any time we can program a gadget, it makes us happy.
Continue reading “Easter Egg Turns Nintendo Switch into a Development Platform”
In the past half-century, lasers have gone from expensive physics experiments using rods of ruby to cheap cutting or engraving tools, and toys used to tease cats. Advances in physics made it all possible, but it turns out that ruby lasers are still a lot of fun to play with, if you can do it without killing yourself.
With a setup that looks like something from a mad scientist movie set, [styropyro]’s high-powered laser is a lot closer to the ray gun of science fiction than the usual lasers we see, though hardly portable. The business end of the rig is a large ruby rod nestled inside a coiled xenon flash lamp, which in turn is contained within a polished reflector. The power supply for the lamp is massive — microwave oven transformers, a huge voltage multiplier, and a bank of capacitors that he says can store 20 kilojoules. When triggered by a high-voltage pulse from a 555 oscillator and an old car ignition coil, the laser outputs a powerful pulse of light, which [styropyro] uses to dramatic effect, including destroying his own optics. We’d love to hear more about the power supply design; that Cockcroft-Walton multiplier made from PVC tubes bears some exploration.
Whatever the details, the build is pretty impressive, but we do urge a few simple safety precautions. Perhaps a look at [Ben Krasnow]’s 8-kJ ruby laser would help.
Continue reading “Home-Brew Ruby Laser Packs A Wallop”
What do you get when mindless automatons with no capacity for reason or logic converse? While you discuss that in the comments, here are two chatbots on Twitch. The highlights? A few hours ago they were doing the cutesy couple, “‘I love you more!’, ‘No, I love you more!'” thing. This was ended by, “Error, cannot connect to server.” Even robot love is not eternal.
3D printer nozzles wear out. Put a few hundred hours on a brass nozzle, and you’re not going to get the same print quality as when you started. This has led to stainless and silly-con carbide nozzles. Now there’s a ruby nozzle. It’s designed by [Anders Olsson], the same guy who’s using an Ultimaker to print neutron shielding. This guy is a nuclear engineer, and he knows his stuff. This is a nozzle designed to not grind contaminants into extruded plastic, and it looks cool, too.
This is the eighth day of the year, but the guild of independent badge makers of DEF CON are already hard at work. AND!XOR is working on the DC25 badge, that promises to be bigger, badder, and more Bender. I’m loving the Hunter S. Bender theme.
Anyone can design a PCB, but how do you panelize multiple PCBs? There’s a lot to consider – routing, mouse bites, and traces for programming the board while still panelized. This is the best solution we’ve seen. It’s a GUI that allows you to organize Gerbers on a panel, rotate them, add routes and cutouts, and generally do everything a board house does. It’s all Open Source and everything is available on GitHub.
[ducksauz] found a very old ‘computer trainer’ on eBay. It’s a DEC H-500, built to explain the basics of digital electronics and semiconductors to a room full of engineering students. It is an exceptionally beautiful piece of equipment with lovely hand-drawn traces and ‘surface mounted’ 7400 chips mounted on the back side.
[glitch] had a cheap EPROM eraser with very few features. Actually, that might be giving it too much credit: it’s barely more than a UV light that turns on when it’s plugged in and turns off when it’s
plugged out unplugged. Of course it would be nice to implement some safety features, so he decided he’d hook it up to a software-controlled power outlet.
Of course, controlling a relay that’s wired to mains is old hat around here, and in fact, we’ve covered [glitch]’s optoisolated mains switch already. He’s gone a little beyond the normal mains relay project with this one, though. Rather than use a microcontroller to run the relay, [glitch] wrote a simple Ruby script on his computer to turn the EPROM eraser on for the precise amount of time that is required to erase the memory.The Ruby script drives the relay control directly over a USB to serial adapter’s RTS handshake pin.
[glitch]’s hack reminds us that if you just need a quick couple bits of slow output, a USB-serial converter might be just the ticket. You could imagine driving everything from standard lamps to your 3D printer’s bed heater (provided you use similar hardware), but it’s especially helpful for [glitch] who claims to forget to turn off the eraser when it’s done its job, which leaves a potentially dangerous UV source just lying about. It’s always a good idea to add safety features to a dangerous piece of equipment!
The Raspberry Pi is a great machine to learn the ins and outs of blinking pins, but for doing anything that requires blinking pins fast, you’re better off going with a BeagleBone. This has been the conventional wisdom for years now, and now that the updated Raspberry Pi 2 is out, there’s the expectation that you’ll be able to blink a pin faster. The data are here, and yes, you can.
The method of testing was connecting a PicoScope 5444B to a pin on the GPIO pin and toggling between zero and one as fast as possible. The original test wasn’t very encouraging; Python maxed out at around 70 kHz, Ruby was terrible, and only C with the native library was useful for interesting stuff – 22MHz.
Using the same experimental setup, the Raspberry Pi 2 is about 2 to three times faster. The fastest is still the C native library, topping out at just under 42 MHz. Other languages and libraries are much slower, but the RPi.GPIO Python library stukk sees a 2.5x increase.
[Akhil Stanislavose] wanted to spice up his window decorations for the holidays. Inspired by blinkenlights, he decided to make his front window interactive. The Blinken Window is a grid of 6 x 10 programmable LEDs running on a Raspberry Pi. Since a RasPi doesn’t have enough GPIO pins for 60 LEDs, [Akhil] built an expander board using 8 daisy chained standard CD4094 (74HC595 could also be used) shift registers to accommodate them.
[Akhil] designed a PCB to replace the expander board for future use. It is modular in nature so that many of them can be connected together to provide as many outputs as one needs, allowing any size window to become a Blinken Window. The PCBs are still being fabricated, but the Eagle files are available for download (zip file). Ruby was used to implement the API. You can find the project files on GitHub, which also features a simulator that you can run on your computer to see how an animation or game will end up looking on the window. In the demo video, [Akhil] demonstrates how you can use the Blinken Window to play a version of Pong using your smartphone as the controller. [Akhil] has also provided a few basic animation examples that can be expanded upon. We’d enjoy seeing an implementation of Tetris. There’s so many fun ways to turn regular windows into dynamic displays, we’re starting to look scornfully at our own lazy, air leaking windows.
See the Blinken Window in action after the break.
Continue reading “Use Ruby to Make Any Window A Blinken Window”
In times of crisis, or extreme government control, it can be difficult to spread critical information to people who can help. A good example of this was during the Arab Spring in 2011. When your Internet connection is taken away, it can feel as though all is lost. Unless you have a ham radio, that is.
For many people the thought of ham radio conjures up images of old guys twisting knobs listening to static, but it’s actually come a long way in our modern digital age. For example, you can now send tweets via ham radio. This project was actually started in 2011 by [Bruce Sutherland]. The Egyptian government had shut down the country’s Internet access after citizens were posting information about the extreme violence they were facing. [Bruce] wanted a way to help others get the word out, and he came up with HamRadioTweets. This system allows a user to send tweets via ham radio.
The system actually piggybacks off of a ham radio service called APRS. This service is most often associated with GPS tracking systems, such as those found in nearspace balloons, but it can also be used to send simple text messages over the air. APRS works thanks to the vast network of receiving stations setup all around the world. These stations can receive messages and then re-transmit them, greatly extending the reach of the original transmitter. Some of them are even hooked up to the Internet to get the messages to go distances that would be extremely difficult and unreliable by traditional means.
[Bruce’s] system hooked into the Internet component and watched for messages being sent specifically to “TWITR”. The Python based system would then read these messages and re-transmit them over Twitter. The project died out a while back after Twitter updated their API. Now, it’s been rebuilt on Ruby by [Harold Giddings]. The project website was handed over to [Harold] and he is currently maintaining it. Hopefully you’ll never need to use this software, but if the time comes you will be glad it’s available. You can watch [Harold] bounce an APRS message off of the International Space Station and on to Twitter in the video below. Continue reading “HamRadioTweets Gets the Word Out”