3D Printering: The Past And Future Of Prusa’s Slicer

If you own a desktop 3D printer, you’re almost certainly familiar with Slic3r. Even if the name doesn’t ring a bell, there’s an excellent chance that a program you’ve used to convert STLs into the G-code your printer can understand was using Slic3r behind the scenes in some capacity. While there have been the occasional challengers, Slic3r has remained one of the most widely used open source slicers for the better part of a decade. While some might argue that proprietary slicers have pulled ahead in some respects, it’s hard to beat free.

So when Josef Prusa announced his team’s fork of Slic3r back in 2016, it wasn’t exactly a shock. The company wanted to offer a slicer optimized for their line of 3D printers, and being big proponents of open source, it made sense they would lean heavily on what was already available in the community. The result was the aptly named “Slic3r Prusa Edition”, or as it came to be known, Slic3r PE.

Ostensibly the fork enabled Prusa to fine tune print parameters for their particular machines and implement support for products such as their Multi-Material Upgrade, but it didn’t take long for Prusa’s developers to start fixing and improving core Slic3r functionality. As both projects were released under the GNU Affero General Public License v3.0, any and all of these improvements could be backported to the original Slic3r; but doing so would take considerable time and effort, something that’s always in short supply with community developed projects.

Since Slic3r PE still produced standard G-code that any 3D printer could use, soon people started using it with their non-Prusa printers simply because it had more features. But this served only to further blur the line between the two projects, especially for new users. When issues arose, it could be hard to determine who should take responsibility for it. All the while, the gap between the two projects continued to widen.

With a new release on the horizon that promised to bring massive changes to Slic3r PE, Josef Prusa decided things had reached a tipping point. In a recent blog post, he announced that as of version 2.0, their slicer would henceforth be known as PrusaSlicer. Let’s take a look at this new slicer, and find out what it took to finally separate these two projects.

Continue reading “3D Printering: The Past And Future Of Prusa’s Slicer”

Reverse Engineering Dropbox

These days everyone talks about data “in the cloud.” However, before that phrase was fashionable, there were a few pioneers and one of the most famous of these is Dropbox — a service that let you store files on a remote server that dates back to 2007. [Vincent Berg] first noticed some odd network traffic on a hotel network, and figured out that it was a feature of Dropbox that allows computers on the same network to update each other. This led him to start investigating the undocumented Dropbox protocol and reverse engineering the Linux client.

We won’t ask why [Vincent] was poking around the hotel network to start with. However, a cursory glance at the Dropbox client gave away that it was using Python. The byte-compiled classes were — at the time — in a ZIP file added to the executable (which was nothing but a modified copy of Python). The files were encrypted, but [Vincent] used a clever technique. He built a shared object using normal Python and put a backdoor in it that gave him access to the Dropbox Python interpreter.

Continue reading “Reverse Engineering Dropbox”

Mathics: How To Do Hard Math When You’re Not An MIT Janitor

Algebra is the bane of many a student, but it is surprisingly useful when it comes to electronics. Sure, you can just memorize all the permutations of things like Ohm’s law. But it is better if you can remember one form and deduce the others on the fly.

There are many occasions where you — as our old Algebra teacher used to say — need to use what you know to get what you don’t know. The gold standard, of course, is a computer program called Mathematica. For home and student use, the software is “only” about $160-$600, but commercial versions range from about $1,000 to nearly $8,000. Of course, there are free alternatives, and the one we’re looking at today is Mathics. It will run in your browser or as a desktop application powered by Python, and it’s available for free.

The program does a nice job of displaying mathematical formulae and you can get an idea of its power by visit the online version. which has examples if you click the question-mark in the upper right and look for the fourth item down. There’s also a standalone version of the online help.

We did have a little trouble with some of the gallery examples timing out, as well as the site certificate being expired. We also had a bit of difficulty remembering the linear algebra classes we took a long time ago! If you want something easy to play with try this:

Solve[4x+3==20,x]

Don’t forget to press Shift+Enter in the browser to get the solution.

Under the hood, MathJax and SymPy do a lot of the heavy lifting. In fact, we imagine a lot of the program’s intended audience would wind up using Jupyter notebooks with Python underneath. Of course, there are copies of Wolfram software on stock Raspberry Pi’s, too.

Fortran Goes Interactive

When you think of Fortran you probably think of punched cards and green bar paper. While it is true that Fortran isn’t the go-to language it used to be — pun unintentional — it still has a vibrant community of people who do serious number crunching. However, many members of that community have been seduced away by interactive tools that are also good at number crunching like MATLAB, Julian, and Python with special libraries. The LFortran project aims to create a Fortran environment with interactivity like Python, but retaining the speed that Fortran is known for.

The resulting tool is impressive. You can use it from Jupyter, can parse code targeting existing Fortran compilers, and supports Linux, Mac, and Windows. There is development to make the code fully interoperable with other languages like C or Python as well as take advantage of GPUs and other specialized hardware. They are also zeroing in on full Fortran 2018 support.

Continue reading “Fortran Goes Interactive”

Raspberry Pi Streams Music Using Only The Default Linux Tools

Getting a  home music streaming system off the ground is typically a straightforward task. Using Apple devices with Airplay makes this task trivial, but if you’re a computing purist like [Connor] who runs a Linux machine and wants to keep it light on extra packages, the task gets complicated quickly. His goal is to bring audio streaming to all Linux platforms without the need to install a lot of extra software. This approach is friendly to light-footprint devices like the Raspberry Pi that he used in his proof of concept.

[Connor] created a set of scripts which allow streaming from any UNIX (or UNIX-like) machines, using only dependencies that a typical OS install would already have. His Raspberry Pi is the base station and streams to his laptop, but he notes that this will work between virtually any UNIX or Linux machine. The only limitation is what FFmpeg can or can’t play.

We definitely can appreciate a principled approach to software and its use, although it does seem that most people don’t have this issue at the forefront of their minds. This results in a lot of software that is bulky, making it difficult to maintain, use, or even know what it does, and also makes it harder for those of us that don’t want to use that type of software to find working solutions to other problems. It’s noble that [Connor] was able to create something without sacrificing any principles.

KiCad Gets Banana For Scale

Over the years we’ve seen KiCad grow from a niche, somewhat incomplete, but Open Source PCB design suite to a full-featured extravaganza of schematics and board layouts. We’ve plumbed the depths of keys and kais and queues and quays, and KiCad just had its first conference last weekend. While we wait for the rest of the talks to be published, there’s a special treat for KiCad users everywhere. Here’s a banana for scale.

Have you ever worried your PCB was too big? Confused if you’re working in inches or millimeters? Do you just want to know the scale of your PCB? Just add this footprint to your KiCad project, and you’ll have a banana on your board view. This is immediate visual feedback, giving you all the information you need to continue on with your design. There’s a 2D view and a 3D view. It’s something no electrical engineer should be without. All of this can be yours for the low, low, cost of free because KiCad is Open Source.

If you’re wondering what official features are in the works for the EDA suite, the first two talks from the con delve into that. project leader Wayne Stambaugh’s talk covers features new to version 5.1 and plans for 6.0. There was also a developers panel that provides insight on what goes into a large project like this one.

Easter Egg Turns Nintendo Switch Into A Development Platform

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”