Python News: LEGO Robotics, Git Guides, and SNEK
LEGO Mindstorms Robot Inventor
LEGO has announced the new Mindstorms Robot Inventor, a significant upgrade that finally embraces developer-friendly tools. Moving beyond block-based programming, this new kit supports Python and Scratch natively, making it a powerful tool for STEM education and hobbyists alike.
• Supports both Python and Scratch.
• Features a 6-axis gyro, accelerometer, and modular sensors.
• Programmable via Android, iOS, and Fire OS tablets.
"I think being able to program with a real programming language instead of a blocky type of programming language goes a long ways."
Git Mastery and Workflow
Step-by-Step GitHub Contributions
Kevin Markham from dataschool.io provides an excellent guide for beginners on how to contribute to open-source projects. The process demystifies:
• Forking and cloning repositories.
• Syncing with the upstream repository.
• Creating feature branches and submitting Pull Requests (PRs).
• Handling feedback and unit testing requirements.
Troubleshooting Git with 'Oh Shit, Git'
Julia Evans’ popular zine, Oh Shit, Git, offers a practical, highly visual approach to solving common Git nightmares. It covers essential fixes for:
• Committing to the wrong branch.
• Handling merge conflicts.
• Recovering from incorrect file deletions or ignored files.
Embedding Python
SNEK: A Language for Small Devices
For projects where MicroPython or CircuitPython might be too heavy, SNEK is a minimal Python-inspired language designed for extremely constrained devices.
• Features a tiny footprint for devices with minimal Flash and RAM.
• Designed as an educational stepping stone to full Python.
Versioning and Attribution
Semantic Versioning Debates
Brett Cannon’s article, Why I Don't Like Semver Anymore, sparks an important discussion on whether Semantic Versioning is actually helping developers. The hosts conclude that for many projects, testing and continuous integration are more valuable than rigid adherence to three-digit versioning conventions.
GitFame
GitFame is a handy Python utility that analyzes repository history to rank contributors based on their actual impact (lines of code changed, file modifications). It is an excellent tool for understanding project ownership and historical involvement.