Algorithm, Schmalgorithm: Developer Tantrums May Be A Bigger Threat
By Ted Smillie on Wednesday, June 27th, 2018
Features in QESP NewsletterVolume 30 , Issue 6 - ISSN 1325-2070
We have had recent warnings that AI applications can cause a wide range of harms due to biased algorithms. Now it appears we are more exposed to developer misbehavior than to faulty algorithms.
“It’s really sort of hilariously simple. If you’ve got a piece of text that you need to be aligned to the right, the way that you align a piece of text to the right is you put a bunch of spaces to the left of that piece of text. Uh, and that act is called “left-padding.” Um, and that’s all that left-pad does”
So why, on March 22nd 2016, did left-pad became the most important program in the world? And why in 2018 are we seeing problems caused by “The sudden departure of a developer from GitHub, along with the Go code packages he maintained”?
A July 7, 2016 Gimlet Media podcast (with transcription), #69 Disappeared describes the initial shock and gives a blow by blow account of the crisis management activities which brought the situation under control.
A 10 Feb 2018 blog by Thomas Claburn in the DevOps section of The Register, You can resurrect any deleted GitHub account name. And this is why we have trust issues notes that “Lax policies, coder laziness don’t mix well”. Again, we have a case of a developer leaving and deleting his account, taking with it a resource that other developers had included in their projects. However in this case the situation became more complicated when another developer opened a new GitHub account under the abandoned name and repopulated it with a workaround. The blog explains how “The reappearance of the account, however, has prompted confusion and complaints”, including the complaint that this “represents a fundamental flaw in GitHub’s security model.” The blog points out the dangers of allowing reuse of abandoned names, including an interesting reference to Russian tweeting in Twitter accounts abandoned by the US government.
Let’s not forget the times when developers have been the unsung heroes (and heroines.) A case in point appears in a June 05, 2018 Quartz Africa article by Wiza Jalakasi, How a 20-year old mobile technology protocol is revolutionizing Africa, which kicks off with “Every time you dial *XYZ# to check the airtime balance on your phone, you are using a decades old technology standard called USSD. For a very long time, that’s pretty much all it was used for, but now the game has changed.”
The article describes how banks and utility companies used the protocol to build mobile banking and utility management applications all across the continent, over the last few years at great cost due to the engineering effort and equipment required, so that “Until very recently, individuals and small organizations could never even dream of building their own USSD apps. But now, something truly incredible has happened, with the end result being it’s suddenly become very easy for developers to build USSD apps”
The game changer was the March 1997 European Telecommunications Standards Institute (ETSI) release of the Global System for Mobile Communications (GSM), covering “a little known and obscure niche protocol designed for technical communications between a mobile network operator’s computers and its subscribers handsets. Thus USSD was born to supplement (it’s in the name) existing GSM standards that were more focused on person-to-person communications.” The author gives details (and diagrams) of how the USSD was adopted, initially for mobile communications via a network, then by smartphones via the internet.
Africa is “special” in that “The continent has about 18% Internet penetration but over 80% mobile penetration. This 80% that are connected on mobile represent over 960 million people who have phones.” Also, “most Africans’ first phone is still likely to be a feature phone, as low-cost Chinese manufacturers dominate the continental landscape.”
The article uses diagrams to show how USSD allows app developers to cater for feature phone users via application programming interfaces (APIs), noting “APIs make it possible for application developers to build on USSD with the same skills and technologies they use for web technologies. This means that any developer who can build a smartphone app or a website can definitely build a USSD app and doesn’t need to learn anything new.”
In full-disclosure, the author provides :
“I lead International Expansion at an API company in the USSD (+SMS, Airtime, Voice, Payments) space called Africa’s Talking?—?so now you know why I care and that I may have a motive?—?and that’s ok because nobody really stands to lose here.”
The author notes that “Countless industries could benefit from USSD and the continent is already seeing massive uptake in industries such as banking, micro-finance and insurance” and gives examples of how the USSD technology can be layered on top of existing apps to reach a much wider audience.
This Quartz Africa article was first published on Medium
More criticism of algorithms comes in a scholarly review of two new books. The Digital Poorhouse by Jacob Weisberg in the June 7, 2018 Issue of The New York Review of Books, gives an illustrated history of the use and abuse of algorithms, contrasting the current US and European approaches. Recommended reading.
Another contribution which may help to restore trust in software development comes in a 05/06/2018 CASE STUDY & short video (1.5 minutes) in The Mandarin. on System Effects, “a methodology developed by UNSW Canberra Researcher Dr. Luke Craven to explore the ‘user’ or citizen experience of complex phenomena, such as climate resilience, poor health, or job market access. The method is proving to be useful for citizen and user engagement worldwide”