Building Faster Rsync From Scratch In Go

For a quick file transfer between two computers, SCP is a fine program to use. For more complex, large, or regular backups, however, the go-to tool is rsync. It’s faster, more efficient, and usable in a wider range of circumstances. For all its perks, [Michael Stapelberg] felt that it had one major weakness: it is a tool written in C. [Michael] is philosophically opposed to programs written in C, so he set out to implement rsync from scratch in Go instead.

[Michael]’s path to deciding to tackle this project is a complicated one. His ISP upgraded his internet connection to 25 Gbit/s recently, which means that his custom router was the bottleneck in his network. To solve that problem he migrated his router to a PC with several 25 Gbit/s network cards. To take full advantage of the speed now theoretically available, he began using a tool called gokrazy, which turns applications written in Go into their own appliance. That means that instead of installing a full Linux distribution to handle specific tasks (like a router, for example), the only thing loaded on the computer is essentially the Linux kernel, the Go compiler and libraries, and then the Go application itself.

With a new router with hardware capable of supporting these fast speeds and only running software written in Go, the last step was finally to build rsync to support his tasks on his network. This meant that rsync itself needed to be built from scratch in Go. Once [Michael] completed this final task, he found that his implementation of rsync is actually much faster than the version built in C, thanks to the modernization found in the Go language and the fact that his router isn’t running all of the cruft associated with a standard Linux distribution.

For a software project of this scope, we find [Michael]’s step-by-step process worth taking note of for any problem any of us attempt to tackle. Not only that, refactoring a foundational tool like rsync is an involved task on its own, let alone its creation simply to increase network speeds beyond what most of us would already consider blazingly fast. We’re leaving out a ton of details on this build so we definitely recommend checking out his talk in the video below.

Thanks to [sarinkhan] for the tip!

Continue reading “Building Faster Rsync From Scratch In Go”

New Resin Printing Method Creates Objects In Seconds

For anyone looking to buy a 3D printer at home, the first major decision that needs to be made is whether to get a resin printer or a filament printer. Resin has the benefits of finer detail, but filament printers are typically able to produce stronger prints. Within those two main camps are various different types and sizes to choose from, but thanks to some researchers at Switzerland’s École polytechnique fédérale de Lausanne (EPFL) there’s a new type of resin printer on the horizon that can produce prints nearly instantaneously.

The method works similarly to existing resin printers by shining a specific light pattern on the resin in order to harden it. The main difference is that the resin is initially placed in a cylinder and spun at a high speed, and the light is shined on the resin at different angles with very precise intensities and timings in order to harden the resin in specific areas. This high-speed method allows the printer to produce prints in record-breaking time. The only current downside, besides the high price for the prototype printer, is that it’s currently limited to small prints.

With the ability to scale in the future and the trend of most new technologies to come down in price after they have been on the market for some amount of time, it would be groundbreaking to be able to produce prints with this type of speed if printers like these can be scalable. Especially if they end up matching the size and scale of homemade printers like this resin printer.

Thanks to [suicidal.banana] for the tip!

Trike With Water-Rocket Engine

Many of us made soda bottle rockets for science class. Some of us didn’t have that opportunity, and made them in the backyard because that’s what cool kids do. Water rockets work on the premise that if water is evacuated from one side of a container, the container will accelerate away from the evacuation point. Usually, this takes the form of a 2-liter bottle, a tire pump and some cardboard fins. [François Gissy] modified the design but not the principle for his water trike which reached 261 kph or 162mph.

Parts for the trike won’t be found in the average kitchen but many of them could be found in a motorcycle shop, except for the carbon fiber wrapped water tank. There wasn’t a throttle on this rocket, the clutch lever was modified to simply open the valve and let the rider hold on until the water ran out. The front brake seemed to be intact, thank goodness.

Powering vehicles in unconventional ways is always a treat to watch and [François Gissy]’s camera-studded trike is no exception. If you like your water rockets pointed skyward, check out this launch pad for STEM students and their water rockets. Of course, [Colin Furze] gets a shout-out for his jet-powered go-kart.

Thank you, [Itay], for the tip.

Continue reading “Trike With Water-Rocket Engine”

Slow 3.5″ Raspberry Pi LCD Hacked To 40 MHz With ESP8266

As microcontrollers become more and more common, we see more ways to get a lot of performance out of one chip. A great example of this was the ESP8266 which was originally seen as a cheap WiFi card but has since blossomed into its own dev platform thanks to the horsepower hidden within. To that end, [Martin] is trying to push the now-ubiquitous WiFi chip even further by rolling out his own LCD driver for it from scratch.

The display of choice is the KeDei LCD 3.5″ module which was originally intended for use with a Raspberry Pi. [Martin] points out that this display isn’t optimized for speed, but after everything is said and done he has its clock line running at 40 MHz. To get this kind of speeds from the LCD, he depopulates the first shift register and adds his own fast-propagation circuit to establish a more-traditional serial addressing mode. With use of a WLCD driver that [Martin] also wrote, it is now relatively easy to draw on the screen very quickly with an ESP module. Check it out in the video below.

If you’re looking for your own tiny, cheap, fast display, this is one cool way to do it but we would suggest spinning a carrier board for both the ESP and the added circuitry. We’re looking forward to future projects which puts devices like these inside of really tiny magic mirrors, or uses them in other places where a small graphical display would be handy.

Continue reading “Slow 3.5″ Raspberry Pi LCD Hacked To 40 MHz With ESP8266”

Bright Idea For A Name Tag

Looking for a quick DIY project to separate yourself from the crowd at your next business function or maker expo? Take a leaf out of [Pete Prodoehl’s] book and make your own name tag complete with blinking LED!

Minimalist, yet flashy (sorry!), this quick project can be completed inside a few hours with few resources, and is a great way to display your DIY handiwork. Continue reading “Bright Idea For A Name Tag”

Hold, Fast, And Max Features On A Digital Caliper

While adding an RJ-11 connector to his digital calipers [BadWolf] slipped, shorting out a pin and accidentally discovered new features. He intended to add a port for reading measurement data electronically, but after the slip-up an ‘H’ appeared on the LCD screen and the measurement was frozen at the same number. At first it seemed like he may have killed the device, but this is actually a hold function. A little bit more playing around and he discovered that a combination of button presses can also enable a fast function which speeds up the rate at which the display changes its reading. There is even a max function that only updates the display if the reading is higher than any previously displayed measurement. These are nice features which he uses by connecting a momentary push switch between two of the output pins, details we gleaned from the annotated video after the break. He doesn’t say which pins work for him, but we’d bet one of them is the ground pin on the port, and the other is one of the two data pins. Do some investigating with your own calipers and let us know what you find in the comments.

Continue reading “Hold, Fast, And Max Features On A Digital Caliper”

$500 Craigslist Car Competes Against $400,000 Race Car…

…and wins. Well, 3rd in class, but still surprisingly well for such a cheap entry. This is truly a show that with enough elbow grease and headlight fluid anything can be accomplished money just makes it a ton easier.

Everything from the roll cage to the 5 minute gas tank fix was fabricated by [Bill Caswell]. Well — fabricated is a rough term for duct tape at that point, but this is still an awe-inspiring and truly motivational story for any hacker and car enthusiast alike.

[Thanks TJ Walker]