Modal Title
Machine Learning / Serverless / Software Development

This Week in Programming: Oops, I Clicked The Wrong Link and Set Off a Nuclear Scare

Jan 20th, 2018 6:00am by
Featued image for: This Week in Programming: Oops, I Clicked The Wrong Link and Set Off a Nuclear Scare

As a programmer, perhaps user interface design isn’t your so-called “wheelhouse” per se. Sorting algorithms and efficient database schema? Sure, but things like color palettes and “the rule of thirds,” you leave that stuff for those weird-sweater wearing hippies in the art department. That works, until an end-user accidentally tells all the residents of the Hawaiian Islands that there’s an inbound nuclear missile headed their way because you stuck the regular old real missile alert link next to the test missile alert one.


When that happens maybe, just maybe, it’s time to up your game. Seriously, look at that design. Even an inline, style override making the actual alert bold and flashing red would do in this case. It’s just not that hard to make this less confusing. Or you could follow GitHub’s practical yet overbearing lead…

And while you’re maybe not programming missile alert test systems, you likely have your own mini equivalent. Then again, even when you try hard, sometimes you do that thing, where you…well, you know the one.

If you haven’t been fully inundated yet with the variety of ways to mess this thing up, definitely go take a gander at the programmer humor subreddit, which has been beating this horse dead for days now. It’s a worthwhile waste of your time.

And with that, on to the past week in programming, starting with a newly released video from MIT on deep learning — because when you can’t trust humans to do things, it’s time to put the machines in charge!

This Week in Programming

  • Deep Learning for Design Mock-Ups: We all know that we’re going to be replaced by robots, right? In the meantime, though, deep learning and AI will help us do what we do, and this week we’re shown how to turn design mock-ups into code with deep learning. According to this post, “the largest barrier to automating front-end development is computing power,” but “deep learning algorithms, along with synthesized training data” can set us on the path to exploring artificial front-end automation now, instead of in a couple years. Read on to find out how to “teach a neural network how to code a basic HTML and CSS website based on a picture of a design mockup.” Neat.
  • Bringing Functional Programming to Kotlin: As you know it thus far, Kotlin is an object-oriented programming OOP language, much like the language it attempts to replace. But the latest announcement brings functional programming to the traditionally OOP language with Arrow for Kotlin, a library born from the fusion of KΛTEGORY and funKTionale. The new library aims to “merge into a single library that would provide users in Kotlin with a unified and reasonable approach to typed FP that avoids issues related to split libraries and binary incompatibilities between data types and type classes for users.” As pointed out by Jaxenter, “Arrow provides users in Kotlin a unified and reasonable approach to typed FP” that “avoids issues related to split libraries and binary incompatibilities between data types and type classes for users.” Arrow is available to try out now.
  • Another Kotlin Update: In further Kotlin news, Kotlin 1.2.20 is out, bringing some basic bugfixes and tooling updates with it. The latest update adds support for Gradle build cache, improved incremental compilation for Android and mixed Kotlin/Java projects, IDE support for the new Kotlin style guide, and inlay hints in the editor for implicit parameters and receivers of lambdas (more about lambdas later).
  • And Angular 5.2: In other dot release news, SDTimes notes that Angular 5.2 is now available, adding “improved type checking for templates, support for TypeScript 2.6, and improved router parameters and data inheritance,” as well as several bug fixes. In addition, Angular now supports TypeScript 2.4, 2.5, and 2.6.

Now that we’ve gotten through the big “news” of the week, we can get back to rehashing the year past.

This Week in Rehashing the Future Past

  • Looking Back at JavaScript in 2017: Folks, we’re still not out of January, and therefore we are still rehashing the year past. It’s okay, round numbers and all, right? With that, we can take a look at 2017’s “Rising Stars” of JavaScript, a collection of the best of the best in JavaScript for the year past, according to the numbers of stars added on GitHub over the last 12 months. As is preferred, these insights come in the form of a number of pretty graphs that “compare the number of stars added on Github over the last 12 months” and allow you to click through for more info. According to this round-up, “Vue.js is once again the winner of this year, and its success is not slowing down,” while “the React eco-system keeps growing up, after finally putting its license-related issues behind it.” That said, the survey says (hat tip Family Feud) that “if we had to pick one project among the 2017 Rising Stars it would be Prettier.” Beyond this, there’s also the State of JavaScript 2017 survey, which compiles responses from more than 23,000 developers.
  • Microsoft Gets Git in 2017: While we’re still looking at the year past, Microsoft gives itself a pat on the back for its performance contributions to Git in 2017. According to the company’s blog post, the “Visual Studio Team Services (VSTS) hosts the largest Git repository in the world: the Windows source code,” which involves “keeping a primary copy of the code available in the cloud and having it be performant while being updated by over 4,000 users at the same time.” As you might expect, they want to keep things moving along, and so they found ways to optimize code.
  • Go Get 2018, Google Style: You might aspire to one day call yourself a “Googler”, and if so, there are eight things you need to know about Hash Code 2018, according to the big G. Hash Code is “Google’s flagship team programming competition for students and professionals in  Europe, the Middle East, and Africa” and registration for Hash Code 2018 is now open. Hash Code is currently in its fifth incarnation, and last year had more than 26,000 participants. The competition starts Thursday, March 1, 2018, with an online qualification round that begins with a YouTube livestream at 18:30 CET.
  • Some Love for Rust in 2018: Just recently, there was a call for call for community blog posts, and hence, a response: Rust in 2018: it’s way easier to use! According to the author, who’s been using Rust on and off since late 2013, the language is “SO MUCH EASIER than it was the last time I tried it” and he has some ideas for where the language needs to go next. As an “intermediate Rust programmer (definitely not advanced!)”, he has several suggestions, but it can boil down to two simple goals. First, issue “a major release marketed as ‘Rust: it’s easier to use now,'” and second, “explain on who the Rust programming language is for.” Voila!

This is another one of those things we need to get out of the way, but every time I read “Lambda,” I’m hopelessly returned to my youthful viewings of Revenge of the Nerds and the only fraternity I (and likely many of you) would ever join — the Tri-Lambs. That said, there’s some news in the world of Lambda and programming this week…

This Week in Lambda, Lambda, Lambda

  • Lambda and Go: Though originally announced months ago, Amazon again announced this week that AWS Lambda supports Go, which means you can now develop your AWS Lambda function code using Go and “run code without provisioning and managing servers.” Lambda now supports Go, JavaScript, Node.js, Java, C# and Python. As always, read the documentation for more details.
  • Lambda and C#: While they’re at it, Amazon is also announcing that AWS Lambda supports C# (.NET Core 2.0), which, well, means the same thing as its announcement about Go – you can now develop your AWS Lambda function code in C# using the .NET Core 2.0 and run code without provisioning and managing servers.
  • Instead of Lambda: If however, you’re not wanting to deal with official implementations and all that jazz, you can also just use an open source GitHub-like platform as an alternative for AWS Lambda, called 1Backend, that just “happened” to pop up on Hacker News at the appropriate time this week. The post actually includes several others. So, there’s that.

Google and Microsoft are sponsors of The New Stack.

Feature image: A Terminal High Altitude Area Defense (THAAD) interceptor launched from the Pacific Spaceport Complex Alaska in Kodiak, Alaska, via the U.S. Department of Defense Missile Defense Agency.

Group Created with Sketch.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.