This Week in Programming: Are You AMPed?
Can you feel it? That tingling sensation? The excitement? Are you amped for Google AMP?
I would say that some of you out there are decidedly NOT amped about about Google’s Accelerated Mobile Pages initiative and you’re saying it loud. Before we go any further though, here’s Google’s video explanation of what exactly AMP is and does:
So, getting back to the topic at hand — people annoyed with Google — we find one manifesto-ish blog post on the topic that clearly states that Google AMP can go to Hell. Tell us what you really think, why don’t you? The onus to not only bend to Google’s will, but to go to great lengths to do so at the peril of losing all your web traffic, is what this particular author takes issue with.
“For years Google has been nudging webmasters to create better websites — ‘better’ meaning ‘easier for Google to understand’,” they write. “And the latest weapon in Google’s arsenal is AMP. An AMPified web makes Google’s life so much easier.”
— Benjamim Theodore (@theodore_47) September 13, 2018
What it doesn’t do, they argue, is make the developer’s life any easier. Rather, the developer has to perform double duty, making an exact AMP replica of every web page or face the consequences. As the author notes, publications are at the forefront of this battle and they are largely obeying Google’s urgings. One more quote:
“As a side benefit, it also allows Google full control over content monetization. No more rogue ad networks, no more malicious ads, all monetization approved and regulated by Google. If anything happens that falls outside of the AMP standard’s restrictions, the page in question simply becomes AMP-invalid and is ejected from the AMP cache — and subsequently from Google’s results,” they write.
For a further primer on what’s going on with AMP, make sure to take a look at this piece in PacktPub that goes over the basics.
Are you amped now? Well, if not, here’s one final point on the topic, a video looking at how Google AMP stands in stark opposition to the other trends playing out on the internet right now — specifically that of decentralization.
This Week in Programming
- GitHub Gets Azure Pipelines: Integrations! Integrations as far as the eye can see! That is, it seems that every week there is news of yet another IDE, code repository, what have you, getting another integration with some other system to make our lives easier. This week, news comes that Azure Pipelines is now available in GitHub Marketplace to help “reduce context switching fatigue, streamline authentication processes, and focus on problems that really matter.” Of course, this makes sense as Microsoft recently bought GitHub and is now bringing its CI/CD service to the platform. Oh, and continuing with its push for open source initiatives, Azure Pipelines is free for open source repositories. Pipelines allows you to “build, test, and deploy applications to virtual machines; to cloud providers such as Azure, Amazon Web Services, and Google Cloud Platform; or to app stores across operating systems, including Android, iOS, Linux, macOS, and Windows systems” and has “built-in tasks for Kubernetes, serverless, and VM deployments as well as a rich ecosystem of extensions for every language and tool.”
- GitHub Pull Requests for Visual Studio Code: Continuing that same thought (the one about integrations — it wasn’t that long ago!) Microsoft/GitHub also announced GitHub Pull Requests for Visual Studio Code. Well, the public preview at least for GitHub Pull Requests for Visual Studio Code, giving developers “the ability to review source code where it was written — inside the editor.” Features of this upcoming integration include the ability to authenticate and connect Visual Studio Code to GitHub, list and browse PRs from within Visual Studio Code, interact with PRs in-editor, including in-editor commenting with Markdown support, validate PRs from the editor and more.
- GitHub Desktop 1.4: While we’re riding that GitHub news train, here’s one more quick one for you: the release of GitHub Desktop 1.4, which provides a sort of crystal ball into your error-filled future. The newest GitHub Desktop now “provides information about whether or not you’re going to encounter conflicts before merging,” rather than being surprised later. See the post for screenshots, but long story short, GitHub Desktop will now give you a warning such as “There will be 2 conflicted files when merging feat-html-support into master.” Speaking of “masters”…
- Python Ditches the Master / Slave Dichotomy: And now seems like an appropriate time to diverge slightly from this week’s feature news to look at a story about how Python is dumping offensive “master”, “slave” terms in its documentation. This one from PacktPub, a new addition to my weekly reading list, that explores how “a python developer at Red Hat, Victor Stinner, started a discussion titled ‘avoid master/slave terminology’ on Python bug report,” which has resulted in lively discussion and the eventual stepping in of former BDFL Guido Van Rossum. PacktPub quotes Van Rossum as putting the whole thing to rest, saying “I’m closing this now. Three out of four of Victor’s PRs have been merged. The fourth one should not be merged because it reflects the underlying terminology of UNIX ptys. There’s a remaining quibble about “pliant children” -> “helpers” but that can be dealt with as a follow-up PR without keeping this discussion open.” As the article notes, “Python is not the only one who has been under scrutiny. The Redis community, Django, and Drupal all faced the same issue. Drupal changed the terms ‘master’ and ‘slave’ for ‘primary’ and ‘replica.’ Similarly, Django swapped ‘master’ and ‘slave’ for ‘leader’ and ‘follower’.” See also this morning the brief mention of this sort of phenomenon over at Hacker News, where someone has posted about React abandoning the use of the word “blacklist.”
Lies that developers tell (themselves):
(1) This is the best stack/IaaS for us to use [reality: I know it and want to start now]
(2) DevOps doesn’t matter until scaling [you’ll spend 30% of your time dealing with ops then]
(3) We’ll just rebuild it if we get traction [hahahaha]
— Joe Emison (@JoeEmison) September 6, 2018
- Git 2.19 Adds Folder Rename Detection, Commit Diff, & More: For such a small release number, Git 2.19 has a lot of highlights. First up, folder rename detection (which has some folks over on Reddit excited) will make it so that Git automatically detects renamed directories as part of a merge, ie “If one branch moves a directory from A to B but another adds a new file A/file, we can infer that the file should become B/file when the two are merged.” Git 2.19 also adds “git range-diff,” which is “a tool for comparing two sequences of commits, including changes to their order, commit messages, and the actual content changes they introduce.” And finally, “git grep” has some new tricks up its sleeve and branch sorting gets some options to reduce the number of times you have to type the same thing. Check out the post for full details.
- .NET Core 2.2 Preview 2 & ML.NET 0.5: Microsoft held its .NET Conference this week, making two announcements we’ll briefly cover here. First, .NET Core 2.2 Preview 2 has been released and auto-enables tiered compilation by default. According to the announcement, tiered compilation offers “a significant request-per-second (RPS) throughput benefit.” At the same time, ML.NET 0.5 adds TensorFlow model scoring as a transform to ML.NET, which enables using an existing TensorFlow model within an ML.NET experiment. Check out the post for the many details. And lest we forget, C# 7.3 also made an appearance, focusing on “themes of performance-focused safe code, as well as bringing some small “quality of life” improvements in both new and old features.”
— The Internet (@compdadjokes) September 13, 2018
- The Apple App Store is Open: And finally, Apple had its big iPhone unveiling this week and now wants devs to know that it’s time to submit your apps to the App Store. Developers can now “submit apps that take advantage of the powerful new capabilities in the next release of iOS, watchOS, and tvOS,” built using “Xcode 10 GM seed, test with the latest releases of iOS 12, watchOS 5, and tvOS 12.” Starting March 2019, the iOS 12 SDK and iPhone XS Max support will be a requirement for all new apps and app updates. Apple offers more details about preparing your apps.
“Much of the essence of building a program is in fact the debugging of the specification.” – Fred Brooks
— Programming Wisdom (@CodeWisdom) September 14, 2018
Feature image via Pixabay.