This Week in Programming: Big Blue’s AI Play for the Enterprise
Chances are if you were to ask a budding developer what companies are top of mind for them, one of the world’s oldest computing companies may not make the list. Nonetheless, the company that began as the archaic “Computing-Tabulating-Recording Company” before renaming to the much more modern (sarcasm abounds) “International Business Machines Corporation” — you know it as IBM — is still making headlines with its machine learning and quantum computing efforts.
While Big Blue may not be on the tip of your tongue when you think of bleeding edge programming languages, its latest announcements do focus on powering the latest in programming efforts. According to SDTimes, the company unveiled this week “a number of new solutions designed to help enterprises harness the power of artificial intelligence,” including the IBM Watson Data Kit, and the IBM Watson Services for Core ML, which purports to make it “easy to build apps that access powerful Watson capabilities right from iPhone and iPad.”
According to ZDNet, IBM’s real focus here is to Make Incumbent Enterprises Great Again (groan), also known as “catching a ride on the AI money train of big business.” Seriously though, at the core of this effort is IBM’s Watson Studio, which ZDNet calls “a 2.0 rethink of Watson Data Platform and Data Science Experience” that “provides a more visually integrated user experience” while also remaining “very much aimed at hard-core data scientists.” And for those hard-core data scientists, “Watson Studio can automatically generate complex, multi-layered neural networks and automatically run hyperparameter optimization for tuning models that would otherwise require considerable manual footwork.” Oh, and support for Anaconda packages, to boot.
And for the rest of you who may never really touch an IBM product for years to come, there’s plenty of other stuff to talk about this week, so let’s get on with it.
Is your child texting about deep learning?
lol: lots of loss
omg: one more GPU
brb: bringing RNNs back
btw: better try word2vec
lmao: layers – more and oversized
smdh: save me, Dear Hinton
(inspired by a @Iwillleavenow version about infosec)
— Miles Brundage (@Miles_Brundage) March 20, 2018
This Week in Programming
- Java 10 Arrives: That’s right, rejoice (if that’s a thing you do over new Java versions) because Java 10 is here! Though, by the comments on HackerNews, it sure looks like many of you are still using Java 8, so going by that timeline, perhaps you’ll get to Java 10 by 2021! Either way, this is the first release following Oracle’s newly designed six-month release cycle, (Java 9 was just six months ago) and highlights include local-variable type inference, Parallel Full GC for G1, application Class-Data sharing, and an experimental Java-Based JIT compiler. For full details, make sure to check out Oracle’s introduction to Java SE 10. And for those of you keeping your sights on the horizon, InfoWorld has a piece looking at the Java 11 roadmap.
- Add Situational Awareness to Android Apps with Google’s Transition API: The idea behind the Activity Recognition Transition API is simple. It lets you know when a user’s activity — walking, running, biking, driving, etc — has changed. While this might seem like a simple problem, it has a bunch of nuanced variables (as Google notes, should you trust a spike in a non-driving activity or is it a momentary classification error?). Well, Google has a plethora of data on which to base its analyses and now it’s available to you as an API. More features will be added in coming months, such as “differentiating between road and rail vehicles”, but the API is available now. Details are available in the Transitions API guide.
- AWS Docs Go To GitHub: Application Development Trends Magazine reports that Amazon Web Services has put its Documentation on GitHub and is now soliciting pull requests “as part of an ongoing effort to open source developer guides and other documentation. As part of this overall effort, Amazon had already open sourced AWS SDK developer guides in the awsdocs repository and has now added more than 138 new developer and user guides. Amazon’s blog post last week has the full details.
- GitLab Brings CI/CD to GitHub: In what Techcrunch calls “an interesting twist”, GitLab 10.6 has been released with CI/CD for GitHub and deeper Kubernetes integration. “GitLab, which in many ways competes with GitHub as a shared code repository service for teams,” writes Lardinois, “is bringing its continuous integration and delivery (CI/CD) features to GitHub.” According to the announcement, continuous integration, delivery and deployment “form the backbone of modern DevOps,” but “one thing that was missing was that you couldn’t use GitLab CI/CD with GitHub.” If you’re interested in trying it out, it will be free to developers until March 22, 2019.
- LG Open Sources webOS: Remember webOS, that operating system first launched as PalmOS back in 2009? Well, it’s been powering the likes of smart fridges and televisions ever since and LG has decided to launch an open source version. According to LG, webOS is “now a mature and stable platform ready to move beyond TVs.” The webOS Open Source Edition is available now.
- C# 8.0 On The Way: It looks like C# 8.0 is on the way and developer Kenneth Truyers has taken a look at what’s new and coming in C# 8.0. In all, he says that “the planned additions will be a significant improvement in making C# more robust and terse” including non-nullable reference types by default, the ability to use async/await inside an iterator, the ability to provide an implementation on an interface method, and the ability to create extension properties, fields and operators. The full discussion of the potential features are on GitHub.
- Those God Damn Privacy Rules: (For reference, first see this tweet.) Surely, you’ve heard of the GDPR by now, as it goes into full force on May 25th. Well, Adrian Coyler takes a look at GDPR compliance this week in his daily review of academic papers, though he doesn’t seem to buy the whole premise sold by most on how to prepare for GDPR. “The central idea in the paper is that business process modeling can be a powerful tool for managing purpose and compliance. I’m not sure how practical that is when your architecture looks like a death star and you’re on a journey towards 10,000 deploys a day, but you’re certainly going to need some way of tracking and managing data, consent, and purpose,” Coyler writes. “I take a somewhat different viewpoint here: for many organizations, I contend that an approach requiring a complete, accurate, up-to-date, global understanding of all processes and data flows is probably doomed to failure, as this is an impossible task! And yet we can’t escape the challenges the authors (and the regulations) place before us. My personal sense is that we need to track the provenance of data as it flows through an organization, including proof of consent and the purposes for which consent was given, and then match the purpose of a process against that consent record.”
- Are APIs a Solution to GDPR? Looking further at the same topic, perhaps from a slightly different angle, API Evangelist Kin Lane offers up that the GDPR is forcing us to ask questions about our data. “Most companies collect huge amounts of data, believing it is essential to the value they bring to the table, without no real understanding of everything that is being collected, and any logical reasons behind why it is gathered, stored, and kept around,” he writes. However, “doing APIs and becoming GDPR compliant go hand in hand. To do APIs you need to map out the data landscape across your organization, something that will contribute to GDPR. To respond to GDPR events, you will need APIs that provide access to end-users data, and leverage API authentication protocols like OAuth to ensure partnerships, and 3rd party access to end-users data are accountable.”
Tech buzzwords explained:
Dark web—Onion service
Data science—statistics done by nonstatisticians
— Arvind Narayanan (@random_walker) March 22, 2018
- IKEA Instructions for Algorithms: Finally, let’s finish up this week with a few fun tidbits. First up, IDEA instructions, “an ongoing series of nonverbal algorithm assembly instructions” that bite off the IKEA style of design. That’s right, if you’ve ever wanted to know how a Merge Sort algorithm works — without all those troublesome words and numbers, this is your go-to spot.
- Exercises in Programming Style: If you combine programming and literature, you get this literary movement out of the 1960s called Oulipo. In essence, it was like algorithmically created writing, at times. It was writing created through limitation and formula. And one such product of this form was created by one of Oulipo’s founding members, Raymond Queneau, Exercises in Style. In it, the same story is told over and over again, but with slight variations on either the point of view or the type of language used, demonstrating how the language used formed the central truth — if there were a central truth to be found. Well, now there’s an Exercises in Programming Style, which consists of a simple program implemented in 33 different programming styles. I don’t know about you, but that just appeals to my brain.
Feature image from IDEA, on Merge Sort algorithm.