Programming Languages

This Week in Programming: Minecraft’s Move to Open Source

13 Oct 2018 6:00am, by

Last week, we took a little detour into a debate around visual programming languages, ending with a video that had been making the rounds. Instead of describing the video, let’s just share it again. It’s worth it, if you haven’t seen it:

That’s right, it’s the entirety of the Gameboy game Pokemon Red written entirely in Minecraft code blocks. Are you in awe? I know I certainly am. And that’s just the tip of the iceberg, really. There’s an Atari 2600 emulator programmed in Minecraft code blocks, too. There’s a camcorder. There’s more than we’ll link to here, but suffice it all to say that Minecraft can be an interesting and powerful force in the world of programming.

(Click through on the tweet above to see that, yes, Minecraft is the ultimate of programming epiphanies.)

Now, I understand if you aren’t chomping at the bit to go coding your next project INSIDE of Minecraft (it only took 21 months to recreate Pokemon Red, after all.) But perhaps you’d like to use some of the code used to build Minecraft, and that’s what we’re here to talk about this week: The Minecraft team has begun to open source its code libraries.

According to the blog post, they are beginning the task of opening up different self-contained libraries to whatever use you deem fit, as long as you give them credit. The first two libraries to be made open source under the MIT license are DataFixerUpper, which “does exactly what it sounds like, and it’s one of the most important parts of the Minecraft game engine” and Brigadier, the game’s command engine. And already a third library, Blaze3D, is under consideration for becoming open source.

So, if you’re ready to achieve enlightenment, as per the embedded meme above, your open-sourced abilities are on the way. (For now, we’ll skip the debate about whether or not those languages are in any way correctly ordered.) In the meantime, here’s what else we’ve seen in the world of programming over the last week.

This Week in Programming

  • ML.NET Adds APIs & More: Continuing its march onward to an eventual 1.0 release, Microsoft announced ML.NET 0.6, the latest version of its cross-platform, open source machine learning framework for .NET developers. They break down the release into three major features: A new API for building and using machine learning models, the ability to score pre-trained ONNX Models, significant performance improvements for model prediction, .NET type system consistency, and more. The post goes into much more detail on each, but the short version is that the APIs enable new tasks and a code workflow that wasn’t possible with the previous LearningPipeline API. As for the ONNX Models, they now join the TensorFlow models that were added in version 0.5, and the performance improvements include some drastic speed-ups.
  • Visual Studio Code’s September Release: Microsoft is keeping its steady monthly drumbeat going for Visual Studio Code, offering numerous little updates in this month’s release, including a new custom title and menu bar on windows. According to the blog post, highlights include helpful little features such as being able to go back to the site of your last edit, customize your snippets to a workspace, better Markdown folding, and a number of Git improvements. Furthermore, Microsoft has also announced the September release for its Python extension for Visual Studio Code, which it says closes a total of 45 existing issues. Among the issues closed are support for Python environments in split terminals, automatic activation of environments in the terminal, and debugger support for the breakpoint() built-in. The announcement also says that the new release has worked to reduce CPU and memory consumption in the Python Language Server.
  • Behind GitHub’s Security Alerts: Leading up to next week’s GitHub Universe, the company is opening up the curtains for a peek into the inner workings. According to a blog post on how it is applying machine intelligence to GitHub security alerts, the company “created a machine learning model that scans text associated with public commits (the commit message and linked issues or pull requests) to filter out those related to possible security upgrades.” The model then “aggregates across a specific timeframe to get a holistic view of all dependencies that a security release might affect” and “outputs a list of packages and version ranges it thinks require an alert and currently aren’t covered by any known CVE in our system.” We certainly hope this will work better than Amazon’s misogynistic machine learning model.
  • Travis CI Gets Excited About Windows Support: It seems that users of Travis CI are excited about the early release of Windows support, which means that they can now run tests on Linux, Mac, and Windows — all in the same build. According to the announcement, Windows is available for open source and private projects on either travis-ci.org or travis-ci.com, with enterprise support on the way. They say that npm is equally excited about Windows, as “over 40% of npm users are installing it on Windows machines, but until today only a tiny fraction of packages were actively running Windows tests in CI. Adding Windows support to Travis CI will provide a more stable development experience for a huge segment of the JavaScript community — 32 percent of projects in the npm registry use Travis CI.” Currently, the Windows build environment supports Node.js, Rust, and Bash languages, and a stable release is expected for Q2 of 2019 when they also expect to release Windows Build Environments for Enterprise.
  • Google Offers Users Granular Control: Alongside the company’s announcement that it would (finally) be killing off its flawed social experiment (after discovering some inherent security flaws), Google has announced more granular Google Account permissions with Google OAuth and APIs. No longer will all permissions be listed in a single permissions dialog, but rather they “will show each permission that an app requests one at a time, within its own dialog” and “users will have the ability to grant or deny permissions individually.” As such, developers should review their apps to ensure they meet the guidelines in the Google API Services: User Data Policy and consider several design suggestions, such as asking for permissions only when needed, rather than in aggregate upon installing an app.
  • Up To Speed: Mozilla would like us all to know that calls between JavaScript and WebAssembly are finally fast. According to a blog post on Mozilla Hacks, making it easy to combine JavaScript and WebAssembly has been one of Mozilla’s big priorities, but function calls between the two languages has prevented that. Long story short, they’re fast now and they have about 3,000 more words and very interesting graphics on the why and how behind that, so click through for all the gory details.
  • Keep Your Eyes on Spinnaker: And finally this week, TechCrunch advises us all that Spinnaker is the next big open source project to watch. Spinnaker, if you’re unfamiliar, is Netflix and Google’s open source continuous delivery (CD) platform that launched last July. Now, however, the project has announced a “formal governance system” that TechCrunch advises could put it in line to become a de facto standard, much like Kubernetes.

Microsoft is a sponsor of The New Stack.

Feature image via Pixabay.


A digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.