A Whole Other Kind Of Graphical Programming

Java isn’t everyone’s cup of tea. With all its boilerplate and overhead, you’re almost always better off with a proper IDE that handles everything under the hood for you. However, if you learn a new language, you don’t really want to be bothered setting up a clunky and complex IDE. If only you could use a simple, standard Windows program that you are most likely already familiar with. This wish led [RubbaBoy] to create the MSPaintIDE, a Java development environment that let’s you write your code in — yes — MS Paint.

If you’re thinking now that you will end up writing your program with MS Paint’s text tool and create a regular image file from it — then you are right. Once set up, MSPaintIDE will compile all your PNG source files into a regular Java JAR file. And yes, it has syntax highlighting and a dark theme. [RubbaBoy] uses a custom-made OCR to transform the image content into text files and wraps it all into few-button-click environment — including git integration. You can see a demonstration of it in the video after the break, and find the source code on GitHub.

One has to truly admire how far [RubbaBoy] went, considering the tongue-in-cheek nature of this project. And all joking aside, if you’re interested in OCR, this might just be simple enough to begin with. Or you could expand it with some text to speech functionality.
Continue reading “A Whole Other Kind Of Graphical Programming”

The rust language logo being branded onto a microcontroller housing

Pun Intended: Bare Metal Attracts Rust

Programming languages tend to polarize, and Rust is by far no exception. Whether it will stick around and grow as an alternative for the lower levels or not — time will tell. In the meantime, if you’re curious about the language and its low-level abilities yourself, [phil-opp] has written a series of blog posts on building your own little bare metal kernel in Rust.

Starting from the basics, [phil-opp] describes in detail the set-up and build process to create a standalone executable that won’t be linked against the Rust standard library. From here he proceeds to build a simple operating system kernel that prints a good old Hello World via VGA output — QEMU emulation included. And of course, there is a GitHub repository with all of the source code.

[phil-opp] has been working on this for a while already, and he is currently writing the second edition of the series. Some content is therefore still missing, but you may find more of it in his first edition. And in case you know absolutely nothing about Rust in the first place, let’s just take a step back and start with the basics. After all, we might see more of it in the future.

FOSSCON 2018: Where Open Source And LEGO Collide

It probably won’t come as a surprise to anyone reading this, but hackers and makers absolutely love LEGO. We think you’d be hard pressed to find a Hackaday reader, young or old, that hasn’t spent some quality time with the little plastic bricks from Billund, Denmark. So it follows that there’s a considerable community of individuals who leverage their better than average technical prowess to utilize LEGO in new and unique ways. But the activities and history of these LEGO hackers is not exactly common knowledge to those who aren’t heavily vested in the hobby.

During the recent FOSSCON 2018 in Philadelphia, Daniel Pikora gave attendees a comprehensive look at the intersection of open source development and the world’s most popular brand of construction toys. A software developer with a penchant for open source code by trade, he’s also an avid member of what’s known as the Adult Fan of LEGO (AFOL) community who’s exhibited his creations at shows across the United States and Canada. Such a unique perspective, with a foot in both the FOSS and LEGO camps, makes Daniel an ideal tour guide for this particular microcosm of toys and tech.

In a whirlwind presentation that took attendees through 49 slides in about as many minutes, Daniel covered LEGO’s beginnings in the 1930s to the rise of 3D printed custom bricks, and everything in between. Some of the engineering-centric product lines, such as Technic and Mindstorms, were already fairly well known to the types of folk who spent a beautiful Saturday in Philadelphia at an open source conference. But Daniel’s deep-dive into the long history of open source LEGO projects brought to light the work of so many dedicated developers that everyone walked away with a newfound respect for the amount of work the AFOL community has put into elevating LEGO from a child’s toy to a legitimate tool. Join me below for a look at the particulars of that deep dive.

Continue reading “FOSSCON 2018: Where Open Source And LEGO Collide”

Intro To Docker: Why And How To Use Containers On Any System

If you have your ear even slightly to the ground of the software community, you’ll have heard of Docker. Having recently enjoyed a tremendous rise in popularity, it continues to attract users at a rapid pace, including many global firms whose infrastructure depends on it. Part of Docker’s rise to fame can be attributed to its users becoming instant fans with evangelical tendencies.

But what’s behind the popularity, and how does it work? Let’s go through a conceptual introduction and then explore Docker with a bit of hands-on playing around.

Continue reading “Intro To Docker: Why And How To Use Containers On Any System”

Make Your Python Prettier With Decorators

Many Pythonistas are familiar with using decorators, but far fewer understand what’s happening under the hood and can write their own. It takes a little effort to learn their subtleties but, once grasped, they’re a great tool for writing concise, elegant Python.

This post will briefly introduce the concept, start with a basic decorator implementation, then walk through a few more involved examples one by one.

Continue reading “Make Your Python Prettier With Decorators”

Friday Hack Chat: GNU Radio

Software defined radio picked up a lot of popularity when it was discovered that cheap USB TV tuners were functional bits of hardware that could become SDRs. It’s the software that makes this possible, and when it comes to SDR software, there’s no better tool than GNU Radio. For this week’s Hack Chat we’re going to sit down with some of the people behind this awesome software tool and pick their brains.

Our guests for this week’s Hack Chat will be Derek Kozel and Nate Temple, officers of the GNU Radio project. They’re also organizers of this year’s GNU Radio Conference. Also joining in on the Hack Chat will be Martin Braun, community manager, PyBOMBS maintainer, and GNU Radio Foundation officer.

GNU Radio is perhaps the most important bit of any software defined radio toolchain. This is the software that provides signal processing blocks to implement software defined radios. GNU radio is how you take a TV tuner USB dongle and pull images from satellites. You can use it for simulation, and GNU Radio is widely used by hobbyists, academics, and by people in industry.

For this week’s Hack Chat, we’re going to be talking all about GNU Radio. What can you do with it? Was the interface really inspired by MaxMSP? All that and more in this week’s Hack Chat.

  • Various bits of hardware that make GNU Radio work
  • The core process of writing modules
  • Upcoming features of GNU Radio

You are, of course, encouraged to add your own questions to the discussion. You can do that by leaving a comment on the GNU Radio Hack Chat Event Page and we’ll put that in the queue for the Hack Chat discussion.join-hack-chat

Our Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This week is just like any other, and we’ll be gathering ’round our video terminals at noon, Pacific, on Friday, August 31st. Need a countdown timer? We should look into hosting these countdown timers on hackaday.io, actually.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io.

You don’t have to wait until Friday; join whenever you want and you can see what the community is talking about.

FOSSCON 2018: Hacking The Indego Bike Sharing API

It’s often said that necessity of the mother of invention, but as a large portion of the projects we cover here at Hackaday can attest, curiosity has to at least be its step-mother. Not every project starts with a need, sometimes it’s just about understanding how something works. That desire we’ve all felt from time to time, when we’ve looked at some obscure piece of hardware or technology and decided that the world would be a slightly better place if we cracked it open and looked at what spilled out.

That’s precisely the feeling Eric O’Callaghan had when he looked out the window of his Philadelphia apartment a few years back and saw something unusual. Seemingly overnight, they had built an automated Indego bike sharing station right across the street. Seeing the row of light blue bicycles sitting in their electronic docks, he wondered how the system worked, and what kind of data they might be collecting. He didn’t need to rent a bike, he hadn’t even ridden one in years, but he suddenly had a strong urge to go across the street and learn as much as he could about this system.

He recently presented those findings during FOSSCON 2018 at the International House in Philadelphia, in the hopes that others might be interested in getting involved. Currently Eric is one of the only people who’s investigating the public data Indego offers, and as his personal MySQL database has now surpassed 15 million rows of data, he’s hoping to get some developers with big data experience into the fray. His approach to making this data useful is an interesting one which I’ll dive into after the break.

Continue reading “FOSSCON 2018: Hacking The Indego Bike Sharing API”