The Grooviest Random Number Generator Ever

Cloudflare is one of those Internet companies you use all the time, but don’t usually know it. Big websites you visit use Cloudflare to shore up their defenses against denial of service attacks. The company needed some truly random numbers for its security solutions, so it turned to some groovy old tech: lava lamps. In their office is a wall of 100 lava lamps monitored by cameras. The reaction of the lamps is unpredictable, and this allows them to generate really random numbers. [Joshua], a Cloudflare employee, talks about the technical details of the system in a recent blog post.

You might think this is a new and novel idea, but it turns out the LavaRnd (or maybe it is LavaRand — there’s some dispute if you read the comments below) system has been around for a while. In fact, we covered it way back in 2005. Silicon Graphics patented the system in 1996.

Continue reading “The Grooviest Random Number Generator Ever”

Becoming Your Own ISP, Just for Fun

When moving into a new house, it’s important to arrange for the connection of basic utilities. Electricity, water, and gas are simple enough, and then it’s generally fairly easy to set up a connection to an ISP for your internet connection. A router plugs into a phone line, or maybe a fiber connection and lovely packets start flowing out of the wall. But if you’re connected to the internet through an ISP, how is the ISP connected? [Kenneth] answers this in the form of an amusing tale.

It was during the purchase of data centre rack space that [Kenneth]’s challenge was laid down by a friend. Rather then simply rely on the connection provided by the data centre, they would instead rely on forging their own connection to the ‘net, essentially becoming their own Internet Service Provider.

This is known as creating an Autonomous System. To do this involves several challenges, the first of which is understanding just how things work at this level of networking. [Kenneth] explains the vagaries of the Border Gateway Protocol, and why its neccessary to secure your own address space. There’s also an amusing discussion on the routing hardware required for such a feat and why [Kenneth]’s setup may fall over within the next two years or so.

It’s not for the faint hearted, and takes a fair bit of paperwork, but [Kenneth] has provided an excellent guide to the process if you really, really just need to own your own corner of the internet. That said, there are other networking tricks to cut your teeth on if you’d like a simpler challenge, like tunneling IP over ICMP.


A Web-Based Modem

If you are beyond a certain age, you will recall when getting on the Internet was preceded by strange buzzing and squawking noises. Modems used tones to transmit and receive data across ordinary telephone lines. There were lots of tricks used to keep edging the speed of modem up until — at the end — you could download (but not upload) at a blazing 56,000 bits per second. [Martin Kirkholt Melhus] decided to recreate a modem. In a Web browser. No kidding.

We started to say something about a modem in the cloud, but that wouldn’t really be accurate. The modem uses the HTML 5 audio API, so it really runs in the browser. We would have been really surprised if [Martin] had cooked up a modem able to interact with a real modem, but as you might expect, the browser modem only communicates with other instances of itself. If you want a brief introduction to HTML 5 audio, you might enjoy the video below.

Continue reading “A Web-Based Modem”

Untether from Your Location With A VPN

By now, most of us know the perks of using a VPN: they make private one’s online activity (at least from your ISP’s point of view, probably), and they can also make it appear as if you are in a different locale than you physically are. This is especially important for trying to watch events such as the Olympics which might air different things at different times in different countries. It’s also starting to be an issue with services like Netflix which allow content in some areas but not others.

While VPNs can help solve this problem, it can be tedious to set them up for specific purposes like this if you have to do it often. Luckily, [clashtherage] has created a router with a Raspberry Pi that takes care of all of the complicated VPN routing automatically. In much the same way that another RPi router we’ve seen eliminates ads from all of your internet traffic, this one takes all of your traffic and sends it to a locale of your choosing. (In theory one could use both at the same time.)

Obviously this creates issues for Netflix as a company, and indeed a number of services (like craigslist, for example) are starting to block access to their sites if they detect that a VPN is being used. Of course, this only leads to an arms race of VPNs being blocked, and them finding ways around the obstacles, and on and on. If only IPv6 was finally implemented, we might have a solution for all of these issues.

Have Some Candy While I Steal Your Cycles

Distributed computing is an excellent idea. We have a huge network of computers, many of them always on, why not take advantage of that when the user isn’t? The application that probably comes to mind is Folding@home, which lets you donate your unused computer time to help crunch the numbers for disease research. Everyone wins!

But what if your CPU cycles are being used for profit without your knowledge? Over the weekend this turned out to be the case with Showtime on-demand sites which mined Monero coins while the users was pacified by video playback. The video is a sweet treat while the cost of your electric bill is nudged up ever so slightly.

It’s an interesting hack as even if the user notices the CPU maxing out they’ll likely dismiss it as the horsepower necessary to decode the HD video stream. In this case, both Showtime and the web analytics company whose Javascript contained the mining software denied responsibility. But earlier this month Pirate Bay was found to be voluntarily testing out in-browser mining as a way to make up for dwindling ad revenue.

This is a clever tactic, but comes perilously close to being malicious when done without the user’s permission or knowledge. We wonder if those ubiquitous warnings about cookie usage will at times include notifications about currency mining on the side? Have you seen or tried out any of this Javascript mining? Let us know in the comments below.

Joe Activation with a WiFi-Controlled Electrical Outlet

[Mike] is the only one in his house who drinks coffee, and uses a simple single-serving brewer with no auto-on feature. And since no one really wants to have to stand around making coffee in the morning, [Mike]’s solution was to IoT-ize his electrical socket.

MQTT Dash is an Android app “for nerds only ;)”

The project consists of a relay board controlled by an ESP8266-packing Adafruit Huzzah. It’s all powered by a 9V power supply with a regulator supplying the relay coil and Huzzah with 5V. [Mike]’s using CloudMQTT to communicate with the outlet.

We often see these automation projects hit a wall when it comes to adding a user-side dashboard. [Mike] is using a free Android app called MQTT Dash which allows for a number of different UI components and even had coffee maker icons already built in. It’s certainly worth a look for your own projects. [Mike] uses it to turn on the outlet for 10 minutes, and by the time he grabs half-and-half the outlet is already off again.

It turns out that connecting coffee pots to the Internet is a driving force among out readers. This one alerts the whole office when the coffee is done, while another one is controlled by Alexa. Then again, sometimes all you can do is reverse engineer the Internet of coffee.

Control The Air Conditioning With Slack

[Raphael Baron] needed a better way to control his office’s air conditioning units. Sure, they have remotes, but that’s too easy. [Raphael] came up with a solution that uses an ESP8266, a computer, IR LEDs, and a bot that runs on Slack.

[Raphael] built a prototype of the ESP8266 hardware on protoboard and used it to read and record the IR signals from the remote. Once he’d figured out the issues he was having with the IR library he was using, he could use it to send the IR commands to the AC unit. Since their office has two AC units, [Raphael] built a second prototype which had two IR LEDs but didn’t have the IR receiver. Using this he could turn both AC units on and off and set their temperatures.

For the server, [Raphael] turned to Clojure, a dialect of Lisp, which provides easy access to the Java Framework, mainly to get practice working with the language. The server’s main responsibility is to use Slack’s real-time API to listen for messages from a Slack bot and forward them to the ESP. In this way, a user talking to the Slack bot can send it messages which the server forwards to the microcontroller which, in turn, parses the messages and send IR commands to the AC units.

[Raphael] admits that this isn’t the most advanced, professional stuff, but it doesn’t matter. The schematics for the ESP8266 board and the code for both the ESP board and the server are available on GitHub. There seems to be a lot of hacks using Slack, such as this NERF Turret controlled by a Slack bot.  Or this jukebox that users can interact with by talking to a Slack bot.