In a Huffington Post article titled “What Global Warming, Energy Efficiency and Erlang Have in Common,” Noah Gift says, “Hidden in the discussion of rising energy costs and consumption in datacenters is the selection of software language.” Gift’s emphasis is on how the constraints many languages have limit them to one processor and how the languages used to write software can affect the way that processors use energy. This inefficiency would seem to extend backward from running software to developing software. Nowadays, developers must contend not only with multiple desktop platforms but also with multiple mobile platforms, and do so in multiple languages. This week’s link roundup highlights some tools for simplifying the processes of developing across languages and platforms.
Apache Thrift: The Apache Thrift software framework combines a software library with a code-generation engine, and the compiler generates code that can communicate across programming languages, enabling efficient development of scalable backend services. A white paper discusses motivations and design choices.
At SATURN, we hate the idea that a good talk might be rejected because its abstract is unclear or doesn't answer questions that the reviewers might ask. Good talks should not be rejected because the proposal is not absolutely perfect. So last year we introduced an early-acceptance deadline for speaker submissions, and it worked out really well. The quality of presentations was higher than in years past, and we overcame the dreaded Student's Syndrome--everyone waiting until the night before to submit. But this year we asked ourselves, Can we give even more opportunities? Can we make the proposal process even more friendly? For SATURN 2015, we have adopted a rolling-acceptance approach.This means that the review committee is continuously reviewing speaker proposals as they are submitted. When reviewers see a great proposal, it is accepted immediately and added to the technical program. Authors of other proposals get detailed feedback about what the reviewers are thinking and what questions they have, so they can revise and resubmit. No longer will you have to hire a soothsayer to guess what the committee might have been thinking, only to have the feedback too late to do anything about it. We have been accepting speaker proposals since October though the website was lagging a bit. That has been corrected and the full list of speakers accepted is now available.
Second International Workshop on Software Architecture and Metrics Florence, Italy, May 16, 2015 Submission deadline: January 23, 2015 http://www.sei.cmu.edu/community/sam2015/ Software engineers of complex software systems face the challenge of how best to assess the achievement of quality attributes and other key drivers, how to reveal issues and risks early, and how to make decisions about architecture and system evolution. There is an increasing need to provide ongoing quantifiable insight into the quality of the system being developed to manage the pace of software delivery and technology churn. Additionally, it is highly desirable to improve feedback between development and deployment through measurable means for intrinsic quality, value, and cost. While there is body of work focusing on code quality and metrics, their applicability at the design and architecture level and at scale are inconsistent and not proven.
For pioneering leadership in the development of innovative curricula in computer science, Dr. Mary Shaw of Carnegie Mellon University received the National Medal of Technology and Innovation from President Barack Obama during a White House ceremony in November 2014. The SATURN 2015 program committee is pleased to announce that Dr. Shaw will deliver a keynote presentation at SATURN 2015, which will be held at the Lord Baltimore Hotel in Baltimore, Maryland, April 27-30.
Software Engineering Institute (SEI) research forms the foundation for a new one-day course from the SEI, Big Data: Architectures and Technologies.
To learn more, see this article about the SEI big-data course on the SEI website.
The new big-data course, along with one-day courses on DevOps and technical debt, will be offered at SATURN 2015, which will be held in Baltimore, Maryland, April 27-30.
Minimum Viable Architecture
In his Introduction to Minimum Viable Architecture, Savita Pahuja at InfoQ recalls an older blog by Kavis Technology that described the role of agile methods as serving a balancing function between the minimum viable product and the minimum viable architecture. Below are several recent opinions on this topic and a project that is putting the theory into practice. Less is More with Minimalist Architecture: Ruth Malan and Dana Bredemeyer wrote in the October 2002 issue of IT Professional that you should "sort out your highest-priority architectural requirements, and then do the least you possibly can to achieve them!" Good Enough Is Good Enough: Minimum Viable Architecture in a Startup: In a presentation given at the San Francisco Startup CTO Summit, Randy Shoup encourages startups to ignore the advice he's been giving for a decade on building large-scale systems.
The Watson Explorer
The Watson Developer Cloud brings Watson to developers and the cognitive cloud to Internet applications. Watson offers a variety of services for building cognitive apps, including language identification and translation, interpreting meaning based on context, and communicating with people in their own styles. Here are some reviews and links to APIs and sample code.
IBM's Watson Supercomputer Gives Developers Access to Cognitive Cloud: George Lawton at TechTarget provides an early review of the Watson Explorer’s unified view of enterprise information. The cloud allows the technology to be accessible for a greater variety of applications and improves the scale and time to market of those applications.
IBM Debuts First Watson Machine-Learning APIs: Serdar Yegulalp at Java World previews the eight services that developers can access for building cognitive apps based on Watson’s machine intelligence service. He focuses on visualization rendering as the service least limited by data training.
Deep Neural Networks
“At some fundamental level, no one understands machine learning.” —Christopher Olah
“Neural networks are one of the most beautiful programming paradigms ever invented.” —Michael Nielsen
This week, we round up a few examples on deep neural networks (DNNs), a subfield of machine learning that deals with developing training algorithms and uses raw video and speech data as input.
Replicating Deep Mind: Kristjan Korjus is working on a project to reproduce the results of Playing Atari with Deep Reinforcement Learning, by Volodymyr Mnih and colleagues of DeepMind Technologies. Mnih et al. presented a deep learning model that used reinforcement learning to learn control policies from sensory input and outperformed human experts on three of seven Atari games.
Deep Learning, NLP, and Representations: Christopher Olah at Colah's Blog looks at deep learning from a perspective on natural-language processing and discusses how different DNNs designed for different language-processing tasks have learned the same things.