This Week in Programming: An Assembly Language IDE and the Mantra of Doing Good
Last week, we’d just barely entered into the new year — a time when we like to promise ourselves that we are going to change, that we are going to finally get in shape, volunteer more, live more, be more. As a developer, maybe you tell yourself that you’re going to buckle down and learn that new language, or turn a new page with dutifully commenting all of your code, or donate your time to helping kids learn to code, or the homeless… more on that in a moment.
Sometimes, while meandering through my various feeds, I see a few things that mesh together so well, they’re hard to ignore. Over the last year, I’ve watched as “API Evangelist” Kin Lane has struggled with his place in society and his role in this whole technology thing, and this week is no exception, as he talks about being “white, male, and convincing myself I am doing good with technology.”
“Since 2010, I’ve had this mission to help the ‘normals’ understand the importance and value of APIs,” Lane writes. “As I step back from my own delusion and look at the wider tech sector, and this “doing good” affliction that seems to infect mostly white men pushing technology across a variety of sectors, I’m beginning to ask a lot more questions regarding my own behavior. Why do I feel the need to push our technology on others? Why do I feel like we are doing good while doing this?”
Right around the same time, I saw this self-examination of one’s role in technology and society, I also saw this CodeUp billboard (pictured above) while driving down the road. But my reaction was much different than the one of this article that heaps praise upon its simple delivery — it was more focused on the inherent value judgment that being a developer elevates one above being a barista, or, more generally, everyone else.
The billboard assumes that programming is inherently good. That technology is the solution to all problems, societal and otherwise. And this brings us to the second thing that crossed my feed, that crosses the line quickly from funny to sad: the Shit Hacker News Says subreddit. It is a laundry list of things people say on Hacker News that exemplifies attitudes about technology in society taking a wrong turn. Case in point: “On an article about how rural poor Americans make money to supplement their disability check: ‘So why can’t we invest enough time and money in these people to make them engineers and technicians?'” Or how about “If you can program you are likely among the smartest people in the world and can do better at any analytical task than almost anyone else.”
I certainly don’t have an answer to any of this and I have no illusion that I’m insightful or helpful in pointing it out, but sometimes things just line up that you can’t ignore. So here’s to 2018 and here’s what we’ve seen this week in programming.
This Week in Programming News
- Bring About The Data! Sure, we’re just helping someone fill out their PR (that’s “public relations”, not “pull request”) efforts by pointing you here, but sometimes they make pretty graphs with interesting data later on that we like to look at. Both StackOverflow and Kotlin-creator JetBrains have announced surveys for the new year. Potential prizes and feel-good feelings abound for those who participate! And free cake! (Fine, we made up that last part.)
- Google App Scripts Updates: Google announced 3 new tools to help improve your Apps Script development and management experience this week, including a new dashboard, API and CLI. According to the blog post, the scripting language has come a long way since its inception as a tool for Google Sheets, with “more than 5 million weekly active scripts that are integrated with a host of G Suite apps, and more than 1 billion daily executions.” The dashboard will allow you to keep track of various projects, their health, and is built on top of the new Apps Script API, which replaces and extends the Execution API, and allows you to “programmatically manage Apps Script source files, versions and deployments.” Finally, the CLI is a command-line interface tool called clasp (Command Line Apps Script Projects) that provides standard CLI functionality and lets you use your prefered Git, Github or IDE.
- SourceForge and GitHub: You may be one of the 3.7 million registered developers that SourceForge is touting in its latest announcement, which means you get to look forward to a new user interface and GitHub Sync Tool to manage the 430,000 projects on the service. We’ll leave the UI details out, but the open-source software directory has “created a GitHub Importer tool that will import your GitHub project to SourceForge and sync your GitHub project file releases on SourceForge,” in a move to more closely link the strengths of the two platforms (whatever those may be).
- An Assembly IDE, You Say? That’s right, a Pakistani student has developed a full-blown IDE for Assembly language, which actually “provides a full-blown development environment for MASM application which includes a very intelligent editor which can auto-complete the instructions and detect errors before you run the program.” My own limited experience with assembly involved fouling up some boot sectors and bricking my computer, but your own experience may vary. Perhaps this would have prevented that. As the article notes, “ASSEMBLY LANGUAGE PROGRAMMING IS A NIGHTMARE!” For now, the IDE is not available as the University of Karachi is currently planning to launch the software through their own channels.
- Python Projects of 2017: This blog post has ranked the best open source Python libraries, tools and programs published between January and December 2017 according to the number of stars on GitHub, picking from a list of nearly 15,000 open source Python projects to give you a list of the top 30 Python open source projects of 2017. Maybe you’re already familiar, or maybe you’ll find your next favorite library among the list. Take a gander.
The programming equivalent of “never work with children or animals” is “never work with dates or times”.
— James Thomson (@jamesthomson) January 7, 2018
This Week in Other Programming Thoughts
- So, You Want to be a Web Developer? Then this roadmap to becoming a web developer, which comes in the form of “a set of charts demonstrating the paths that you can take and the technologies that you would want to adopt in order to become a frontend, backend or a devops,” is for you. Even if you’re not on the learning path, the charts are a fun way to see the full lay of the land.
- What’s the Meaning of This? You’ve likely heard people talk about “code readability,” and in this blog post, Typical Programmer Greg Jorgensen asks what code readability really means. “Programmers seem to believe in a realm of beautiful, readable, easy-to-maintain code that they haven’t seen or worked with yet. They seem to think that other programmers get the time and support to write perfect, clean, tested code. That mythical realm doesn’t exist,” he writes. “All code baffles and frustrates and offends a significant subset of programmers. All software gets developed under time, budget, management, requirements, and skill constraints that prevent doing anything perfectly. We should keep those constraints and limits in mind when we look at code and immediately conclude the code resists understanding, or that only fools would have produced such software.”