Subscribe: O'Reilly Radar - Insight, analysis, and research about emerging technologies
Added By: Feedage Forager Feedage Grade B rated
Language: English
continue reading  continue  data  design  learning  links august  links  machine  new  reading  short links  short  time 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: O'Reilly Radar - Insight, analysis, and research about emerging technologies

All - O'Reilly Media

All of our Ideas and Learning material from all of our topics.

Updated: 2017-08-19T09:31:54Z


Four short links: 18 August 2017


Neural Style Transfer, Hype Cycles, Automation and Jobs, and Become a Bayesian

  1. Neural Style Transfer -- overview of the state of the art in recasting an image to have the style of another.
  2. Eight Lessons from 20 Years of Hype Cycles -- Out of the more than 200 unique technologies that have ever appeared on a Gartner Hype Cycle for Emerging Technology, just a handful of technologies—Cloud Computing, 3D Printing, Natural Language Search, Electronic Ink—have been identified early and traveled even somewhat predictably through a Hype Cycle from start to finish. [...] [J]ust over 50 individual technologies appear for just a single year on the Hype Cycle—never to reappear again. [...] 20% of all technologies that were tracked for multiple years on the Hype Cycle became obsolete before reaching any kind of mainstream success. [...] I was often struck by how many times the Hype Cycle had an insight that was essentially correct, but the technology or the market just wasn’t ready yet. [...] There are a number of core technologies that appear again and again in different guises over the years in Hype Cycles, sometimes under multiple aliases. Each reincarnation makes progress and leaves lessons for its successors without really breaking through. [...] It's remarkable the number of major technologies from the last 20 years that were either identified late or simply never appeared on a Hype Cycle.
  3. Robopocalypse Not (James Surowiecki) -- A rigorous study of the impact of robots in manufacturing, agriculture, and utilities across 17 countries, for instance, found that robots did reduce the hours of lower-skilled workers—but they didn’t decrease the total hours worked by humans, and they actually boosted wages. In other words, automation may affect the kind of work humans do, but at the moment, it’s hard to see that it’s leading to a world without work. McAfee, in fact, says of his earlier public statements, “If I had to do it over again, I would put more emphasis on the way technology leads to structural changes in the economy, and less on jobs, jobs, jobs. The central phenomenon is not net job loss. It’s the shift in the kinds of jobs that are available.”
  4. Become a Bayesian in Eight Easy Steps: An Annotated Reading List -- The resources are presented in an incremental order, starting with theoretical foundations and moving on to applied issues. [...] Our goal is to offer researchers a starting point for understanding the core tenets of Bayesian analysis, while requiring a low level of time commitment. After consulting our guide and the outlined articles, the reader should understand how and why Bayesian methods work, and feel able to evaluate their use in the behavioral and social sciences.

Continue reading Four short links: 18 August 2017.


How Ray makes continuous learning accessible and easy to scale



The O’Reilly Data Show Podcast: Robert Nishihara and Philipp Moritz on a new framework for reinforcement learning and AI applications.

In this episode of the Data Show, I spoke with Robert Nishihara and Philipp Moritz, graduate students at UC Berkeley and members of RISE Lab. I wanted to get an update on Ray, an open source distributed execution framework that makes it easy for machine learning engineers and data scientists to scale reinforcement learning and other related continuous learning algorithms. Many AI applications involve an agent (for example a robot or a self-driving car) interacting with an environment. In such a scenario, an agent will need to continuously learn the right course of action to take for a specific state of the environment.

Continue reading How Ray makes continuous learning accessible and easy to scale.


Julie Stanford on vetting designs through rapid experimentation



The O’Reilly Design Podcast: Quickly test ideas like a design thinker.

In this week’s Design Podcast, I sit down with Julie Stanford, founder and principal of user experience agency Sliced Bread Design. We talk about how to get in the rapid experimentation mindset, the design thinking process, and how to get started with rapid experimentation at your company. Hint: start small.

Continue reading Julie Stanford on vetting designs through rapid experimentation.


Jack Daniel on building community and historical context in InfoSec



The O'Reilly Security Podcast: The role of community, the proliferation of BSides and other InfoSec community events, and celebrating our heroes and heroines.

In this episode of the Security Podcast, I talk with Jack Daniel, co-founder of Security Bsides. We discuss how each of us (and the industry as a whole) benefits from community building, the importance of historical context, and the inimitable Becky Bace.

Continue reading Jack Daniel on building community and historical context in InfoSec.


Four short links: 17 August 2017


Implementing Compression, Eliminating Humans, Mapping NES, and Classifying Defects

  1. On the Implementation of Minimum Redundancy Prefix Codes -- a paper that shows all the curls and challenges of the real world, instead of the idealized handwaving that's pretty much everywhere else. (via Fabian Giesen)
  2. Eliminating the Human (MIT TR) -- David Byrne digs into the idea that modern tech is mostly about reducing need for human interaction. When interaction becomes a strange and unfamiliar thing, then we will have changed who and what we are as a species. Often our rational thinking convinces us that much of our interaction can be reduced to a series of logical decisions—but we are not even aware of many of the layers and subtleties of those interactions. As behavioral economists will tell us, we don’t behave rationally, even though we think we do. And Bayesians will tell us that interaction is how we revise our picture of what is going on and what will happen next. (via BoingBoing)
  3. Automatic Mapping of NES Games with Mappy -- We describe a software system, Mappy, that produces a good approximation of a linked map of rooms given a Nintendo Entertainment System game program and a sequence of button inputs exploring its world. In addition to visual maps, Mappy outputs grids of tiles (and how they change over time), positions of non-tile objects, clusters of similar rooms that might in fact be the same room, and a set of links between these rooms. We believe this is a necessary step toward developing larger corpora of high-quality semantically annotated maps for PCG via machine learning and other applications.
  4. IBM's Defect Classification System -- for when you get devopsessive. (via Ryan Betts)

Continue reading Four short links: 17 August 2017.


Contouring learning rate to optimize neural nets


Tips and tricks for treating learning rate as a hyperparameter, and using visualizations to see what’s really going on.Learning rate is the rate at which the accumulation of information in a neural network progresses over time. The learning rate determines how quickly (and whether at all) the network reaches the optimum, most conducive location in the network for the specific output desired. In plain Stochastic Gradient Descent (SGD), the learning rate is not related to the shape of the error gradient because a global learning rate is used, which is independent of the error gradient. However, there are many modifications that can be made to the original SGD update rule that relates the learning rate to the magnitude and orientation of the error gradient. Why contour the learning rate? Contouring the learning rate over time is similar to contouring the speed of a car according to road conditions. On smooth, broad roads such as a highway, we can increase our speed (learning rate), but on narrow, hilly, or valley roads, we must slow down. Additionally, we don’t want to drive too slowly on highways, or we’ll take too long to reach the destination (longer training time because of improper parameters). Similarly, we don’t want to drive too fast on hilly and narrow roads (like ravines in the optimization loss surface), because we could easily lose control of the car (be caught in jitter, or create too much bounce with little improvement) or skip the destination (the optima). Keep in mind that “...a high learning rate... [indicates] the system contains too much kinetic energy and the parameter vector bounces around chaotically, unable to settle down into the deeper, but narrower parts of the loss function” (see Karpathy’s Notes for cs231n). From the same source, a good guesstimate for an initial learning rate can be obtained by training the network on a subset of the data. The ideal strategy is to start with a large learning rate and divide by half until the loss does not diverge further. When approaching the end of training, the decay of the learning rate should be approximately 100 or more. Such decay makes the learned network resistant to random fluctuations that could possibly reverse the learning. We’ll start with a small LR, test out on a small set of data, and choose the appropriate value. Learning rate decay Non-adaptive learning rates can be suboptimal. Learning rate decay can be brought about through reducing decay by some constant factor every few epochs, or by exponential decay, in which the decay takes a mathematical form of the exponential every few epochs. “Decay” is often considered a negative concept, and in the current case of learning rate decay it’s a negative, too: it refers to how much the learning rate is decreasing. However, the result of this kind of decay is actually something we very much want. In a car, for instance, we decrease the speed to suit the road and traffic conditions; this deacceleration can be understood as a “decay” in the velocity of the car. Similarly, we gain benefits from decaying the learning rate to suit the gradient. Decreasing the learning rate is necessary because a high learning rate while proceeding into the training iterations has a high probability to fall into a local minima. Think of a local minima as a speeding ticket, a toll or traffic light, or traffic congestion—something that basically increases the time taken to reach the destination. It’s not possible to completely avoid all traffic lights and tolls, but there is an optimal route that we prefer while driving. Similarly, in training we want to avoid the zig-zag bouncing of the gradient while looking for the optimal route and prefer training on that path. Ideally, we don’t want to speed up too much because we’ll get a speeding ticket (jump into a local minima and get stuck). The same analogy applies to learning rates. Moment[...]

Announcing the Rebecca Bace Pioneer Award for Defensive Security


Carrying on Becky Bace’s legacy of encouraging and celebrating defenders.In her keynote at O’Reilly Security Conference in New York 2016, Rebecca “Becky” Bace shared her vision for the future of cybersecurity. Within her talk, Becky encouraged defenders to study analogous safety industries in history and heed the lessons learned. She urged defenders to recognize the importance of understanding the context of the challenges we face today by considering historical parallels and our shared goals for the future. With more than three decades in what is an arguably young discipline, Becky was incredibly well qualified to provide this larger context. Unfortunately, only a few months after sharing this message, Becky Bace passed away. We’re excited and honored to announce a new Defender Award, commemorating Becky, her contributions, and her inimitable spirit—The Rebecca Bace Pioneer Award. This annual award will recognize a defender who forged new paths in defensive security. We can think of no greater way to celebrate Becky and her role within the security community than by continuing her efforts to boost, support, and celebrate others within the space. The winner of the first annual Rebecca Bace Pioneer Award will be announced at the O’Reilly Security Conference in New York. Please help us celebrate Becky by nominating worthy defenders for the first annual Rebecca Bace Pioneer Award here. We created the O’Reilly Defender Awards to celebrate our security heroes and heroines. And we can think of few as deserving of these honors as Becky Bace. Her technological contributions and her long-standing efforts to build, support, and boost the security community and its individual members make her a true pioneer in defensive security. Becky had more than 35 years of experience in technology and more than 30 years were focused specifically on security. It’s impossible to fit her extensive technological achievements into a short paragraph, but here’s a brief summary of just a few of her efforts. She was an early leader in exploring and documenting intrusion detection techniques, an influencer and founder in the earliest government forays into cybersecurity, including spending 12 years at the US National Security Agency leading the Computer Misuse and Anomaly Detection (CMAD) research program. As chief strategist at the Center for Forensics, Information Technology, and Security (CFITS) at the University of South Alabama, she developed a highly respected academic program in her home state. Beyond her considerable technological achievements and contributions, Becky was known for her role as a mentor, an encourager, and a fierce friend within the security community. She was affectionately called the “den mother of computer security” or “infomom,” though as Jack Daniel tells us in the latest O’Reilly Security podcast, she preferred the moniker, “cranky broad.” In the words of others: When I think about Becky Bace, I remember her warm and friendly demeanor, her charming voice, and her welcoming hugs. Many of us knew her as "infomom," the mother bear nurturing the information security community. Her professional accomplishments as a pioneer in cybersecurity research were numerous and tremendously impactful. She literally wrote the book on Intrusion Detection and led the Computer Misuse and Anomaly Detection Program at the NSA. She moved onto Los Alamos National Laboratory and then onto a number of private sector positions. Her favorite role was that of mentor and teacher. There's nothing like reading her story as told through her own words. Her oral history is preserved and can be read here. Becky Bace has left a lasting impression on our community and we will always remember her. — Caroline Wong, Vice President of Security Strategy, Cobalt Becky was known as the den mother of IDS (Intrusion Detection Systems), for her work fost[...]

Creating better disaster recovery plans


Five questions for Tanya Reilly: How service interdependencies make recovery harder and why it’s a good idea to deliberately and preemptively manage dependencies.I recently asked Tanya Reilly, Site Reliability Engineer at Google, to share her thoughts on how to make better disaster recovery plans. Tanya is presenting a session titled Have you tried turning it off and turning it on again? at the O’Reilly Velocity Conference, taking place Oct. 1-4 in New York. 1. What are the most common mistakes people make when planning their backup systems strategy? The classic line is "you don't need a backup strategy, you need a restore strategy." If you have backups, but you haven't tested restoring them, you don't really have backups. Testing doesn't just mean knowing you can get the data back; it means knowing how to put it back into the database, how to handle incremental changes, how to reinstall the whole thing if you need to. It means being sure that your recovery path doesn't rely on some system that could be lost at the same time as the data. But testing restores is tedious. It's the sort of thing that people will cut corners on if they're busy. It's worth taking the time to make it as simple and painless and automated as possible; never rely on human willpower for anything! At the same time, you have to be sure that the people involved know what to do, so it's good to plan regular wide-scale disaster tests. Recovery exercises are a great way to find out that the documentation for the process is missing or out of date, or that you don't have enough resources (disk, network, etc.) to transfer and reinsert the data. 2. What are the most common challenges in creating a disaster recovery (DR) plan? I think a lot of DR is an afterthought: "We have this great system, and our business relies on it ... I guess we should do DR for it?" And by that point, the system is extremely complex, full of interdependencies and hard to duplicate. The first time something is installed, it's often hand-crafted by a human who is tweaking things and getting it right, and sometimes that's the version that sticks around. When you build the second one, it's hard to be sure it's exactly the same. Even in sites with serious config management, you can leave something out, or let it get out of date. Encrypted backups aren't much use if you've lost access to the decryption key, for example. And any parts that are only used in a disaster may have bit-rotted since you last checked in on them. The only way to be sure you've covered everything is to fail over in earnest. Plan your disaster for a time when you're ready for it! It's better if you can design the system so that the disaster recovery modes are part of normal operation. If your service is designed from the start to be replicated, adding more replicas is a regular operation and probably automated. There are no new pathways; it's just a capacity problem. But there can still be some forgotten components of the system that only run in one or two places. An occasional scheduled fake disaster is good for shaking those out. By the way, those forgotten components could include information that's only in one person's brain, so if you find yourself saying, "We can't do our DR failover test until X is back from vacation," then that person is a dangerous single point of failure. Parts of the system that are only used in disasters need the most testing, or they'll fail you when you need them. The fewer of those you have, the safer you are and the less toilsome testing you have to do. 3. Why do service interdependencies make recovery harder after a disaster? If you've got just one binary, then recovering it is relatively easy: you start that binary back up. But we increasingly break out common functionality into separate services. Microservices mean we have more flexibility and less reinvention of wheels: if we[...]

How synthetic biology startups are building the future at RebelBio


The accelerator is helping scientists turn their moonshot visions into viable businesses, fast. Biology is becoming the new digital. As the engineering of biology starts delivering solutions at industrial scale while becoming more data-driven and automated, investors are getting excited to fund breakthrough biotechnologies that unlock this potential for a whole range of industries. Europe has been steadily rising as a global hub for innovation and is attracting big bets from veteran VC investors. It has even been hailed as the “New Silicon Valley.” Boasting an active DIY biology scene, world-class institutions and productive innovation ecosystems, the continent is a fertile base to grow global startups from the early stage to the next level. Accelerators are indispensable elements to harness this early-stage innovation, which often remains locked up in institutions or falls into the “Valley of Death,” the often deadly funding gap between those first discoveries and a working prototype. This is the stage the RebelBio accelerator comes in to help startups solve global grand challenges—with life itself. An Innovation Engine It’s as exciting in biology today as it was in the computer industry in the late '70s, when the Apple II came out. Computers became personal. As Steve Jobs said, “I think the biggest innovations of the 21st century will be at the intersection of biology and technology,” the ethos of RebelBio is to bend and break the rules of the status quo at the intersection between these two disciplines. A total of 15 multidisciplinary teams from across the world have begun the latest program at RebelBio, garnering an investment of over $100,000 for each company. In addition to gaining access to fully equipped labs and office spaces, they also draw from a network of hundreds of mentors, including RebelBio-founder Bill Liao, who also cofounded Xing, Davnet, and CoderDojo. The program helps the founders to make their longer-term moonshot visions (the “innovation” part) into feasible projects which generate revenue early on (the “engine” part). It is transforming scientists into entrepreneurs across diverse areas of life sciences and is currently in its fourth batch. From novel biomaterials to new ways to brew the foods we love, from speeding up cancer lab tests turning days into hours, to a microbe-miner discovering life-saving antibiotics. We even have a machine learning startup for drug discovery, and another working on microbial fuel cell modules to treat wastewater while generating electricity! Bill Liao, founder of RebelBio and general partner at SOSV So what kind of startups are brewing at RebelBio? Figure 1-1. The lab and some of the cohort IV at University College Cork (Image: RebelBio) Diagnostics 2.0: Rapid, Portable, and Personal One RebelBio startup is Sex Positive, founded by Nico Bouchard and Mary Ward, cofounders of Counter Culture Labs and both biohackers from California. Developed as a smart diagnostic device for sexually transmitted infections, Sex Positive is enabling rapid self-testing of sexual health in the privacy of one’s own home, without the need for a hospital lab. The first test will be for chlamydia. The device combines fluid dynamics, immunology, genetics and electronics designed by a Tesla engineer remotely in Palo Alto. Meanwhile, KaitekLabs is founded by Emilia Diaz from Chile, who is turning bacteria into living computers. They function as a ready-to-use, portable biosensor kit to detect shellfish toxin directly from shellfish—a major food source for many people living in coastal regions around the world. It makes the invisible poison orange! The startup has already sold out a batch of the first prototype. Figure 1-2. KaitekLabs’ founder Emilia with the “MOSES”[...]

The impact of design at Shopify


Five questions for Cynthia Savard Saucier on how design impacts Shopify’s business outcomes, and tips for improving designer-developer communication.I recently asked Cynthia Savard Saucier, Director of UX at Shopify and author of Tragic Design, to discuss the design process, its impact on Shopify’s business outcomes, and how to improve communication between designers and developers. Cynthia is presenting a keynote on The impact of design: How design influences outcomes at the O’Reilly Velocity Conference, taking place Oct. 1-4 in New York. 1. Describe your design process and an example of the impact it’s had on business outcomes at Shopify. Describing the design process is quite difficult since every project and team finds their own. Not every designer sketches, or creates clickable prototypes; it wouldn’t be appropriate in all cases! However, there are some commonalities across all teams at Shopify. First, design doesn’t work in isolation from other disciplines. We have multidisciplinary, product-based teams. This is even visible in the architecture of our offices! The floor plan is pretty much a representation of our roadmap. Also, every project has a multidisciplinary trio of leads (product, engineering, and UX). They make decisions together, and ensure a good team alignment. Second, we often start the design process with a design sprint, inspired by Google Ventures. During that sprint, we make sure members from a variety of disciplines, expertise, and locations attend and contribute. This diversity of thought, from the beginning, is very valuable. We aren’t following Google Ventures’ proposed methodology religiously, as we found it wasn’t entirely relevant to the way we work. We adapted the activities, keeping what worked best for us, like the use of a war room, the four-step sketching process, and the voting system. We care just as much about how people work as the deliverable itself. A lot of effort goes into tweaking our processes so they work for the project, people, and product. Third, we believe that research with real users leads to real insights. This seems quite obvious, but I know from experience that surprisingly few UX professionals ever get to meet their users. That being said, we don’t always do user testing or interviews. We are constantly researching what our merchants want and need (two very different concepts). We join unofficial merchant groups, and read what is posted on forums. We also listen to customer support calls, to learn the pain points and major complaints that our users have. Finally, everyone (regardless of their discipline) is encouraged to spend a day with a merchant. Observing their work, helping them with their business, learning how to process orders, deal with inventory, use the POS, helps build empathy and understanding for what our users go through. For example, a merchant shared their process for dealing with shipping update requests with us. Replying to emails takes time and effort, both things we could lessen by leveraging our confirmation page differently. So we did. By presenting the order status on this page, we benefited both our merchants and their customers. It's a significant result—they don’t have to answer the same emails over and over again, and can spend that time in a more valuable way. 2. Why is it important for engineers to start thinking about design’s impact? Let’s start with a simple statement. Developers and designers are doing the same work: solving problems for their users. They simply use complementary tools to get there. To use a biology reference: designers and developers are not in a neutral relationship (where both entities simply live together), but rather a mutualist association (where they benefit from each other).  To quote Yonatan Zunger: Engineer[...]

Take the 2018 Data Science Salary Survey



As a data professional, you are invited to share your valuable insights. Help us gain insight into the demographics, work environments, tools, and compensation of practitioners in our growing field. All responses are reported in aggregate to assure your anonymity. The survey will require approximately 5-10 minutes to complete.

All responses to this survey are reported in aggregate to assure your anonymity.

Continue reading Take the 2018 Data Science Salary Survey.


Four short links: 16 August 2017


IoT Hacking, Virtual School Fails, Neural Network NLP, and Using Logical Fallacies

  1. Reverse-Engineering IoT Devices -- nice step-by-step of how the author figures out the protocol used by a Bluetooth lightbulb (oh to live in such times) and thus how to control it without the Approved Software.
  2. Of Course Virtual Schools Don't Work -- that graph. The horror. Once seen, cannot unsee (or ever claim virtual schools are a good idea).
  3. A Primer on Neural Network Models for Natural Language Processing -- This tutorial surveys neural network models from the perspective of natural language processing research, in an attempt to bring natural-language researchers up to speed with the neural techniques. The tutorial covers input encoding for natural language tasks, feed-forward networks, convolutional networks, recurrent networks and recursive networks, as well as the computation graph abstraction for automatic gradient computation.
  4. Effective Presentations Using Applied Logical Fallacies -- what I also got out of this Informal Logic course was that here were a huge list of classically tested brain shortcuts that are surprisingly effective. Sure, they only work if you’ve turned off some of your critical thinking skills [...] but we’re predisposed to do this all the time! Why? Because critical thinking takes effort and time, and you’re presented with probably hundreds of arguments or bits of reasoning every day, and it would be expensive to evaluate them all deeply. So, we brain shortcut when it’s mostly safe to do so. This is really good!

Continue reading Four short links: 16 August 2017.


Four short links: 15 August 2017


P != NP, Open Source Lab Notebook, Science Data, and Anonymous Feedback

  1. A Solution of the P versus NP Problem -- from a respected computability theory researcher, so not the usual crank writing—but will need to withstand interrogation and verification from the rest of the academic community. Explainer: computing is interested in efficiently processing digital information. Some problems can be proven to have efficient solutions ("P"), some can be proven to have no efficient solution ("NP"). There are a lot of problems, so researchers turn new problems into an archetypical problem with a solution that we've already proven is efficient or inefficient. The big question has been: can we find an efficient solution to a known-inefficient problem? To do so would mean we could quickly solve hard problems in maps, planning, allocation, even Donkey Kong and Bejeweled. This proof shows that both variations of one archetypical hard problem can't be reduced to an efficient solution: they're proven to be inefficient, which means (because we've shown all inefficient problems are equivalent) that all inefficient problems ("NP") can't be solved efficiently ("aren't P").
  2. eLabFTW -- a free and open source electronic lab notebook.
  3. A Happy Moment for Neuroscience is a Sad Moment for Science -- Allen Institute for Brain Science release data. These data are the first complete set of neural activity recordings released before publication. No papers preceded it, not even a report. Nothing. Just: here you go guys, the fruits of the joint labour of around 100 people over four years. Traditional research organizations (universities) couldn't do this: they rely on publications for funding, kudos, and measuring success.
  4. Sarahah -- get anonymous feedback. Nice design: only you can see the feedback, so it doesn't promote pile-ons. A lot of teens I know are using it positively, which may be a first for software. The Verge wrote it up if you need more social proof.

Continue reading Four short links: 15 August 2017.


How to use Presto Sketching to clarify your team’s purpose


The Team Purpose map can visually guide and capture a team’s discussions about their identity, purpose and direction.This chapter is about using Presto Sketching techniques to envision the future state. What will change about you and the people for whom you’re designing? What solution are you going to create, and how will it change that present state? This area is a mix of conceptual and literal representation, with a bit of visual metaphor thrown in. Let’s see how it applies to: Helping your team rally around a common future with the Team Purpose map Envisioning the future state of your customers with the Superhero Booth sketch Exploring goals with the Build a Bridge sketch Knocking down the barriers with the Goal Barriers sketch Envision a future product with the experience canvas Bringing future experiences to life with storyboarding Rally around a common future with the Team Purpose map Setting out to create a new product or service is one of the most exciting things you can ever do. But sometimes it’s worth parking that for a spell, and checking how you as a team are functioning first. If you’re part of a startup business, it’s common to think of your business and your product as one and the same thing, having one and the same purpose. If you’re part of a larger business with one or more products or services, your team purpose might need to be expressed in a different way (e.g. a product support team’s purpose is different to the development team’s purpose).  Or maybe you have had some staff changes in the team, and it’s been a while since the team’s purpose was really said out loud. Figure 2. The Team Purpose map: This is a fun visual activity to do with your team, especially if it’s a new team and you need to form a shared understanding together of who you are, your purpose, and your destination. In any case, the Team Purpose map is a large-format template you can use to visually guide and capture a team’s discussions about their identity, purpose and direction. There are loads of different kinds of these large-format graphic facilitation templates for capturing strategic outputs of large group discussions.49 The version you see above is my version, based on refining a template through lots of different strategic sessions. As with all of these visual patterns, do feel free to adapt it to your team’s needs.  Use this pattern when you want to: Set (or reset) a team’s identity, purpose and direction, and get a shared understanding and sense of ownership Expose any hidden assumptions or anxieties in a new team, or a new project Align several stakeholders, teams or organisations around a common purpose and direction How to do it Depending on your confidence in facilitating a discussion, you can either guide the discussion yourself, or give that duty to someone else while you capture what people are talking about on the wall or whiteboard. Preparation is crucial for this sort of activity. Make sure that everyone knows ahead of time what will be covered. If necessary, give them ‘homework’ to do, to help them prepare for various sections of this activity. You might want to ask everyone to list what their own hopes and fears are for the new team, or what particular skills and assets they want to bring to the team. Gather your group and draw the team purpose map on the biggest whiteboard or wall you can find. It’s a good idea to have the boss or a senior stakeholder establish the intent of the strategic discussion, and give some background that would be helpful for everyone.  Start everyone off with something fun: get them to draw themselves in the space where you see ‘[...]

Four short links: 14 August 2017


Robotics Interviews, Customer Development, Engineering Method, and Complex System Failures

  1. Robotics Interviews -- Mike Salem (Robotics Nanodegree Service Lead), interviews professional roboticists.
  2. 10 Things I've Learned About Customer Development -- my favorite: If someone says, “I wouldn’t personally use it, but I bet other people would,” no one will use it. They're all true.
  3. Multiple Perspectives on Technical Problems and Solutions (John Allspaw) -- [The Engineering Method is] “the strategy for causing the best change in a poorly understood or uncertain situation within the available resources.”
  4. How Complex Systems Fail -- Complex systems contain changing mixtures of failures latent within them. The complexity of these systems makes it impossible for them to run without multiple flaws being present. Because these are individually insufficient to cause failure, they are regarded as minor factors during operations. Eradication of all latent failures is limited primarily by economic cost but also because it is difficult before the fact to see how such failures might contribute to an accident. The failures change constantly because of changing technology, work organization, and efforts to eradicate failures.

Continue reading Four short links: 14 August 2017.


A multi-cloud strategy is the foundation for digital transformation


Using a single cloud provider is a thing of the past.When news broke that Amazon was acquiring Whole Foods, brick and mortar retailers panicked. Many industries are feeling pressure to undergo digital transformation for fear of being “Amazoned” (acquired by an online competitor). The International Data Corporation (IDC) forecasts worldwide spending on digital transformation technologies will grow to more than $1.2 trillion in 2017 (an increase of 17.8% over 2016. IDC’s Worldwide Semiannual Digital Transformation Spending Guide reports that many industries have been affected by the frenzy, too, with manufacturing leading the pack, followed by retail, health care, insurance, and banking. No one wants to be “disrupted.” Defining digital transformation Surprisingly, despite the anxiety around digital transformation and the money being invested, the term is not well defined. George Westerman, principal research scientist with the MIT Sloan Initiative on the Digital Economy, defines digital transformation as “using technology to radically improve the performance and reach of an organization.” Technology, however, is accelerating at such a fast pace that it makes it difficult for businesses to keep up and stay ahead of the curve. Digital transformation, in practice How do businesses unlock the power of rapidly evolving technology to maximize their investment? One answer, according to the 2017 Digital IQ survey, which looked at top performing IT and business leaders across industries is to focus less on one specific technology and more on the human experience. Focusing on the human experience means organizations will have to re-examine their customers’ experiences, employees’ experiences, and their entire organizational culture. In developing a better understanding of the human experience that surrounds digital technology, companies are better equipped to continuously adapt and anticipate marketplace changes. Using a multi-cloud strategy to achieve digital transformation A growing number of companies have embraced a multi-cloud approach as part of their digital transformation strategy, mainly to meet various business and technology requirements because no single cloud model can fit the diverse requirements and workloads across different business units. Every major cloud platform—including Amazon Web Services, Microsoft Azure, and the Google Cloud Platform—has a range of data-related services in the areas of cloud data warehousing, big data, NoSQL, and real-time streaming, to name a few. Some workloads run better on one cloud platform while other workloads achieve higher performance and lower cost on another platform. By adopting a multi-cloud strategy, companies are able to choose best-in-class technologies and services from different cloud providers to create the best possible solution for a business. Another reason for a multi-cloud approach is that companies adopt new IT projects in increments. A multi-cloud environment creates an ideal sandbox for IT to experiment with and deploy proof-of-concepts. Various teams can set up and decommission scenarios quickly without the burden of the high cost and time needed to build and deploy new infrastructure. With a multi-cloud strategy, each business unit can choose their ideal cloud service depending on their specific business needs, which may include: Ease of administration Concurrency of workloads Query performance User roles and access levels Security and governance Government regulations and data privacy Specialized functionality for a particular workload or application (i.e., machine learning or AI) [...]

How to choose a cloud provider


Practical questions to help you make a decision.If you look up the phrase “boiling the ocean,” it’s defined as writing a post on choosing a cloud provider—there are so many different facets and use cases, and each variable complicates your choice. The key is to narrow the field to your specific situation and needs. In this article, I share some of the early questions and decisions I use when working with a team to choose a cloud provider. Simple pass/fails I recently worked with a large financial organization who was considering a move to the cloud. When I started the engagement, we began with quick pass/fail decisions to see if a cloud move was feasible. These pass/fail choices allowed the team to make an initial go-forward decision before they went too deep down the rabbit hole. The following considerations helped mitigate their risk. Can we use the cloud? This might sound like an easy one, but some teams actually forget this step. There may be an outright prohibition on using the cloud at your organization, or the political climate may be so terrible that you decide not to fight that battle. Will the technologies work for your use case? Can the cloud technologies do what you need them to do? With small data problems, this isn’t usually an issue: they can handle almost anything. With big data problems, however, capability can be a sticky issue—there are bigger tradeoffs that the technology designers had to make. I’ve written some in-depth posts covering some of these tradeoffs and comparisons. For example, I compared Amazon Kinesis and Apache Kafka, and Google Cloud Pub/Sub and Apache Kafka. You’ll notice there are subtle differences. In the lens of a use case, these differences can make a requirement of your use case impossible to implement with a technology. In order to make this initial call, you need to really understand and know your use case. You’ll want to have a general idea of where and what you want to do in the future, and validate those use cases, too. Compare providers At the 10,000-foot level, there isn’t a glaring difference at small data scales. At these small data scales, there are fewer distinguishing factors. But at big data scales, the different cloud providers have bigger differences. Generally, the providers distinguish themselves on: How easy are the managed services to use and operate? For example, how easy is it for me to spin up a database and have it replicate all over the world? Since the services are managed, how good is their uptime and how reliable is the system? In other words, how often does the service go down, and for how long? Some outages are system-wide, but how often do your instances disappear? The cloud providers fight each other on price. What is the total cost of running infrastructure on the cloud provider? Unfortunately, this question can be difficult to answer because working with a single technology can have three or four different costs associated with it. For example, a messaging system could have costs for the message transfer, the storage of the message, and an hourly fee for the managed messaging system. How prevalent are engineers with knowledge of that cloud provider in the marketplace? These days, you can’t throw a stone without hitting someone with some knowledge of Amazon Web Services. That said, the skills are largely similar at an operation level. The skills at a developer level are only somewhat similar. How difficult will it be for you to move between cloud providers and technologies—aka “lock in”? For example, some providers use an open[...]

Four short links: 11 August 2017


Cracking Wi-Fi, Hacking with DNA, Animation Playthings, and Physics Simulation

  1. Wi-Fi Cracking -- This is a brief walk-through tutorial that illustrates how to crack Wi-Fi networks that are secured using weak passwords. It is not exhaustive, but it should be enough information for you to test your own network's security or break into one nearby. The attack outlined below is entirely passive (listening only, nothing is broadcast from your computer) and it is impossible to detect, provided you don't actually use the password that you crack.
  2. Computer Security and Privacy in DNA Sequencing -- Here we highlight two key examples of our research below: (1) the failure of DNA sequencers to follow best practices in computer security and (2) the possibility to encode malware in DNA sequences. Buffer overflow in binary -> DNA -> crappy sequencer code -> binary -> "I'm in!".
  3. Wick -- a free browser-based toolkit for creating small interactive things for the Internet. ... Wick is a hybrid of an animation tool and a coding IDE, heavily inspired by similar tools such as Flash, HyperCard, and Scratch. Open Source.
  4. Predictive Simulation in Game Physics -- Predictive simulation is traditionally used as part of planning and game AI algorithms; we argue that it presents untapped potential for game mechanics and interfaces. We explore this notion through 1) deriving a four-quadrant design space model based on game design and human motor control literature, and 2) developing and evaluating six novel prototypes that demonstrate the potential and challenges of each quadrant. Our work highlights opportunities in enabling direct control of complex simulated characters, and in transforming real-time action into turn-based puzzles. Based on our results, adding predictive simulation to existing game mechanics is less promising, as it may feel alienating or make a game too easy. Preprint paper and open source code.

Continue reading Four short links: 11 August 2017.


Mike Roberts on serverless architectures



The O’Reilly Programming Podcast: The next technological evolution of cloud systems.

In this episode of the O’Reilly Programming Podcast, I talk serverless architecture with Mike Roberts, engineering leader and co-founder of Symphonia, a serverless and cloud architecture consultancy. Roberts will give two presentations—Serverless Architectures: What, Why, Why Not, and Where Next? and Designing Serverless AWS Applications—at the O’Reilly Software Architecture Conference, October 16-19, 2017, in London.

Continue reading Mike Roberts on serverless architectures.


How to craft a voice user interface that won’t leave you frustrated



Design principles for creating a truly conversational UI.

Continue reading How to craft a voice user interface that won’t leave you frustrated.


Four short links: 10 August 2017


Sarcasm Detector, GMO Salmon, New Deep Learning Courses, and Serverless Malware Detection

  1. An Algorithm Trained on Emoji Knows When You're Being Sarcastic on Twitter (MIT TR) -- They also tested it against humans, using volunteers recruited through the crowdsourcing site Mechanical Turk. They found it was better than the humans at spotting sarcasm and other emotions on Twitter. It was 82% accurate at identifying sarcasm correctly, compared with an average score of 76% for the human volunteers.
  2. GMO Salmon On Sale (Guardian) -- Originally developed by a group of Canadian scientists at Newfoundland’s Memorial University, the salmon can grow twice as fast as conventionally farmed Atlantic salmon, reaching adult size in some 18 months as compared to 30 months. The product also requires 75% less feed to grow to the size of wild salmon, reducing its carbon footprint by up to 25 times, the company has claimed.
  3. New Coursera Deep Learning Courses -- topics: neural networks, tuning and optimization, structuring ML projects, convolutional neural networks, sequence models.
  4. BinaryAlert -- Serverless, real-time, and retroactive malware detection from Airbnb. (via Airbnb Engineering blog)

Continue reading Four short links: 10 August 2017.


Four short links: 9 August 2017


Event Trend Detection, Separation of Duties, Online Communities, and Autonomous Tractors

  1. Complete Event Trend Detection in High-Rate Event Streams -- Complex Event Processing (CEP) has emerged as a prominent technology for supporting streaming applications from financial fraud detection to health care analytics. CEP systems consume high-rate streams of primitive events and evaluate expressive event queries to detect event sequences such as circular check kites and irregular heart rate trends in near real time. These event sequences may have arbitrary, statically unknown, and potentially unbounded length. (via Paper a Day)
  2. Separation of Duties -- boring stuff that's worth getting right.
  3. 30+ Case Studies of Building Online Communities -- from Burning Man to Twitch.
  4. John Deere's Autonomy Lessons -- in order to build a fully autonomous tractor, there are no shortcuts. While a blend of GPS and other location tracking sensors, image sensors, and telematics assist John Deere vehicles to navigate fields today, the company still can’t truly replicate everything a human would see and feel sitting in the tractor cab. The company’s latest commercially available machine with autonomous features, the S700 combine (a vehicle that harvests grain), can automatically adjust its harvesting equipment based on the condition of the crop it sees—but still gives the farmer sitting in the tractor a camera on the process to make sure it’s happening correctly. Right now all of John Deere’s tractors still require a human to sit inside—a sign that autonomy is a long road even in controlled environments.

Continue reading Four short links: 9 August 2017.


Cancer detection, one slice at a time


New technology is allowing researchers to use digitization to help detect cancer. Ke Cheng’s story begins in a way that’s achingly familiar. She recalled late nights and long hours as a grad student, repeating a tedious task in the name of research. Like many of us, Ke dreamed of starting a company that would make that job easier and faster. She ended up building the world’s largest online, preclinical pathology database, which catalyzes and could ultimately lead to the automated detection of cancer. But let’s take a step back—how did Ke go from an overworked grad student to building a fountain of digital data? For her, the tedious grad-school task was cutting tissue and making slides for histopathology (the analysis of tissue to identify or determine changes due to a disease). The process starts by preserving a tissue sample and embedding it within a block of paraffin wax. A microtome is used to section the tissue into slices thin enough for microscopy (typically, about five microns thick). Each slice is placed on a microscope slide, where it can be stained to color different structures. The most common stain, H&E, is a mixture of an acidic dye (hematoxylin) and a basic one (eosin), which will stain cytoplasm pink and nuclei purple. This alone can be used to detect disease, just by allowing researchers to observe the organization (or disorganization) of the tissue structure. But there are hundreds of “special stains” to detect tissue elements (e.g., muscle fibers, glycoproteins, and mucins), microorganisms (e.g., fungi and bacilli), or specific ions like ferric iron (Fe3+). Immunohistochemistry (IHC) can also be performed on tissue slides. IHC uses antibody-based detection to confirm cancer subtypes. While standard H&E staining is automated, using special stains or IHC can take significant time to optimize. Most researchers prep the tissue themselves and then send it off for sectioning and staining. At the time of Ke’s graduate work, it took two or more weeks to get the slides back. The key step that transformed Ke’s histology-service company into a pathology data powerhouse was simple: digitization. When Ke founded HistoWiz four years ago, there were already instruments available that would automate histopathology (though they were uncommon to see in everyday research labs). But automating slide histology wasn’t the final vision; it was just the first step. Ke was inspired by the open source genomic research model, in which searchable databases exist that everyone can access and contribute to. She saw firsthand that a trove of histopathology data existed but was unable to be easily shared because it was siloed in slide boxes (and tucked away in dusty cabinets or drawers). Even in the literature, only representative images (tiny sections of the entire slide) were used; and of course, publishable results are a small fraction of the all data collected. Ke started HistoWz on her own and drew an initial customer base by promising a three-day turnaround (compared to the two-week industry standard at the time). She spent her days going door to door in her old research buildings, asking if people would be interested in doing a free trial. Then she spent her nights processing the samples using core facility equipment. Four years later, HistoWiz supports a number of major research institutions (including Harvard, MD Anderson, and HHMI), as well as big pharma (Pfizer, Regeneron, and Novo Nordisk[...]

Deep learning revolutionizes conversational AI


Recent AI breakthroughs transform speech recognition.The dream of speech recognition is a system that truly understands humans speaking—in different environments, with a variety of accents and languages. For decades, people tackled this problem with no success. Pinpointing effective strategies for creating such a system seemed impossible. In the past years, however, breakthroughs in AI and deep learning have changed everything in the quest for speech recognition. Applying deep learning techniques enabled remarkable results. Today, we see the leap forward in development manifesting in a wide range of products, such as Amazon Echo, Apple Siri, and many more. In this post, I’ll review recent advances in speech recognition, examine the elements that have contributed to the rapid progress, and discuss the futureand how far we may be from solving the problem completely. A little background For years, one of the most important tasks of AI has been to understand humans. People want machines to understand not only what they say but also what they mean, and to take particular actions based on that information. This goal is the essence of conversational AI. Conversational AI encompasses two main categories: man-machine interface, and human-to-human interface. In a man-machine interface, a human interacts with a machine through voice or text, and the machine understands the human (even if in a limited manner), and takes some kind of action. Figure 1 demonstrates that the machine can be either a personal assistant (SIRI, Alexa, or similar) or some kind of chatbot. Figure 1. Man-machine AI. Source: Yishay Carmiel. In a human-to-human interaction, the AI forms a bridge between two or more humans having conversations, interacting, or creating insights (see Figure 2). An example might be an AI that listens to conference calls, then creates a summary of the call, following up with the relevant people. Figure 2. Human-to-human AI. Source: Yishay Carmiel. Machine perception and cognition In order to understand the challenges and the technologies behind conversational AI, we must examine the basic concepts in AI: machine perception and machine cognition. Machine perception is the ability of a machine to analyze data in a manner similar to the way humans use their senses to relate to the world around them; in other words, essentially giving a machine human senses. A lot of the recent AI algorithms that employ computer cameras, such as object detection and recognition, fall into the category of machine perception—they concern the sense of vision. Speech recognition and profiling are machine perception technologies that use the sense of hearing. Machine cognition is the reasoning on top of the metadata generated from the machine perception. Machine cognition includes decision-making, expert systems, action taking, user intent, and more. Generally, without machine cognition, there isn’t any impact from the outcome of the AI’s perception; machine perception delivers the proper metadata information for a decision and action. In conversational AI, machine perception includes all speech analysis technologies, such as recognition and profiling, and machine cognition includes all the language understanding-related technologies, which are part of Natural Language Processing (NLP). The evolution of speech recognition The research and development of speech recognition occurred o[...]

Integrating data with AI


Tamr’s Eliot Knudsen on algorithms that work alongside human experts.As companies have embraced the idea of data-driven management, many have discovered that their hard-won stores of valuable data are badly siloed: separate troves of data live in different parts of the company on separate systems. These data sets may relate to each other in essence, but they’re often difficult to integrate because they differ slightly in schemas and data definitions. In this podcast episode, I speak with Eliot Knudsen, data science lead at Tamr, a company that uses AI to integrate data across silos. Data integration is often a painstaking, highly manual process of matching fields and resolving entities, but new tools can work alongside human experts to discover patterns in data and make recommendations for automatically merging it. src="" height="166" width="100%" frameborder="no" scrolling="no"> The participation of humans in the process is essential. Knudsen points to Andrew Ng’s assessment that “if a typical person can do a mental task with less than two seconds of thought, we can probably automate it using AI either now or in the near future.” AI-driven products that make more complex judgments need to acknowledge their limitations and invite humans into the loop. Knudsen cites a Gmail feature as an example: the service launched in 2004 with a sophisticated spam filter that was able to work with a high degree of accuracy by training its model across all of Gmail’s user accounts. A few years later, Gmail introduced another AI-driven feature that’s considerably more complex: a flag that indicates whether you’re likely to think a message is important. Knudsen emphasizes the fact that this feature is only a flag, not a filter like the spam detector. “On the surface, the idea of flagging email as being spam versus not spam, and important versus not important looks very similar,” he says. “But if you think about what it takes for someone to figure out whether or not an email is actually important and actually deserving of their attention, that’s usually something that—at least for me—takes longer than two seconds. I need to actually go through, I need to think about whether this is an email that I should be responding to at all. It’s unlikely that artificial intelligence is in any near term going to be able to say that an email is important versus not important with a high degree of accuracy.” So, says Knudsen, Google’s response to that challenge shows the "important flag" as a recommendation that, unlike a spam filter and more similar to a notification, fits better with the user experience. In the same way, the process of data integration needs to draw on the expertise of human users—whether technical or business managers—who often have deep insight into the ways that their data sets are structured and used. By using AI-driven tools, managers can get the best possible leverage out of the time that humans need to put into the integration process—what Knudsen calls “the machine-driven, human-guided approach.” This post is a collaboration between O’Reilly and Tamr. See our statement of editorial independence. Continue reading Integrating data with AI.[...]

Jupyter Insights: Lorena Barba, an associate professor of mechanical and aerospace engineering


Jupyter in education, Jupyter-in-the-loop, and reproducibility in science.Lorena Barba is an associate professor of mechanical and aerospace engineering at George Washington University. She will be speaking at JupyterCon, August 22-25, 2017, in New York City. Below, Barba shares her thoughts on the current and future state of Jupyter. 1. How has Jupyter changed the way you work? My research group is pretty eclectic, with a focus on computational fluid dynamics and computational physics, but with a wide range of activities in education and open source software. My doctoral students and I use Jupyter daily. When any of us is studying a new topic—like, say, a new method for solving the equations of fluid dynamics—the exploration develops and gets recorded in a notebook. When a student is producing some preliminary results from simulations, they are organized for internal discussion in a notebook. Not to mention our educational materials: my students and I co-author many notebooks for teaching and learning. Some become an enhanced form of (free) textbooks for a course, others may support a one-off tutorial, and yet others encapsulate our own learning process with new topics. 2. How does Jupyter change the way your team works? How does it alter the dynamics of collaboration? Combined with public hosting on the web and version control (on GitHub, for example), we use Jupyter to loop through our conversations about research. Through an iterative process, we often co-write asynchronously and develop the unpolished ideas that later turn into a research paper. We use "Jupyter-in-the-loop" to help us think and organize our work! 3. How do you expect Jupyter to be extended in the coming year? Like everyone, I am eagerly awaiting the arrival of JupyterLab. It will change everything! Adoption in data science will be solid. Users will jump with joy at being able to read in large data files and manipulate them without slow-down. In the educational realm, I’m looking forward to the ecosystem—with tools like nbgrader and nbtutor—becoming easier to use and better integrated. We have brilliant people developing these tools, and I just hope their future employers will continue to support their open source contributions. 4. What will you be talking about at JupyterCon? My talk is titled Design for Reproducibility. In recent years, the debates about reproducibility in science have really heated up. Often, the concerns include open sharing of code and data that helped arrive at a new finding. This is still controversial in some fields, believe it or not. Jupyter is promoted as a solution for creating reproducible computational narratives. Some see it as a means of putting into practice Knuth’s idea of literate programming, where code is directly annotated with comprehensible documentation. But here is one seeming contradiction: interactive tools were seen by the pioneers of reproducible research as the antithesis of reproducibility. What makes Jupyter different than, say, the dreaded spreadsheet? My talk will explore how we build into the design of our tools (like Jupyter) an enabling capacity to support reproducible research. I also want to tell you about a Birds-of-a-Feather informal session that I’m co-leading with Robert Talbert: "Jupyter for Teaching & Learning," on Thursday, August 25, 2017, at 7 p.[...]

Four short links: 8 August 2017


Better Bloom Filter, AI Future, Adversarial Benchmarking, and Civilized Discourse​

  1. A General-Purpose Counting Filter: Making Every Bit Count -- like Bloom filters, but faster, resizable, you can delete items, and more. (via Paper a Day)
  2. Jeff Dean's AI Lecture for YC -- not just a good intro to modern AI, but a glimpse at how Google sees the future playing out.
  3. CleverHans -- A library for benchmarking vulnerability to adversarial examples.
  4. Civilized Discourse: But How? (Jeff Atwood) -- You have to have those rules because if no one can say what it is you stand for, then you don't stand for anything. Anything is now fair game, technically.

Continue reading Four short links: 8 August 2017.


Why continuous learning is key to AI


A look ahead at the tools and methods for learning from sparse feedback.As more companies begin to experiment with and deploy machine learning in different settings, it’s good to look ahead at what future systems might look like. Today, the typical sequence is to gather data, learn some underlying structure, and deploy an algorithm that systematically captures what you’ve learned. Gathering, preparing, and enriching the right data—particularly training data—is essential and remains a key bottleneck among companies wanting to use machine learning. I take for granted that future AI systems will rely on continuous learning as opposed to algorithms that are trained offline. Humans learn this way, and AI systems will increasingly have the capacity to do the same. Imagine visiting an office for the first time and tripping over an obstacle. The very next time you visit that scene—perhaps just a few minutes later—you’ll most likely know to look out for the object that tripped you. There are many applications and scenarios where learning takes on a similar exploratory nature. Think of an agent interacting with an environment while trying to learn what actions to take and which ones to avoid in order to complete some preassigned task. We’ve already seen glimpses of this with recent applications of reinforcement learning (RL). In RL, the goal is to learn how to map observations and measurements to a set of actions, while trying to maximize some long-term reward. (The term RL is frequently used to describe both a class of problems and a set of algorithms.) While deep learning gets more media attention, there are many interesting recent developments in RL that are well known within AI circles. Researchers have recently applied RL to game play, robotics, autonomous vehicles, dialog systems, text summarization, education and training, and energy utilization. Figure 1. Reinforcement learning involves learning mappings of measurements and observations into actions. Source: Ben Lorica. Just as deep learning is slowly becoming part of a data scientist’s toolset, something similar is poised to happen with continuous learning. But in order for data scientists to engage, both the tools and algorithms need to become more accessible. A new set of tools and algorithms—different from the ones used for supervised learning—will be required. Continuous learning will require a collection of tools that can run and analyze massive numbers of simulations involving complex computation graphs, ideally with very low-latency response times. Figure 2. Typical set of tools (or “stack”) for continuous learning. Source: Ben Lorica. A team at UC Berkeley's RISE Lab recently released an open source distributed computation framework (Ray) that complements the other pieces needed for reinforcement learning. In complex applications—like self-driving cars—multiple sensors and measurements are involved, so being able explore and run simulations very quickly and in parallel provides a big advantage. Ray allows users to run simulations in parallel and comes with a Python API that makes it accessible for data scientists (Ray itself is written mainly in C++). While I’m writing about Ray in the context of RL, it’s more generally a fault-tolerant, distributed computation framework aimed at P[...]

Four short links: 7 August 2017


Social Agents, Computational Zoom, Living Memory, and AI Policy

  1. Prom Week Meets Skyrim: Developing a Social Agent Architecture in a Commercial Game -- This project’s goal was to develop and implement a social architecture model, inspired in academic research, in a modern and commercially successful video game and investigate its impact on player experience. We choose to implement the social architecture in a popular Role Playing video game: “The Elder Scrolls V: Skyrim,” due to its popularity and high “mod-ability.”
  2. Computational Zoom: A Framework for Post-Capture Image Composition -- we introduce computational zoom, a framework that allows a photographer to manipulate several aspects of composition in post-processing from a stack of pictures captured at diff erent distances from the scene. We further define a multi-perspective camera model that can generate compositions that are not physically attainable, thus extending the photographer’s control over factors such as the relative size of objects at different depths and the sense of depth of the picture. We show several applications and results of the proposed computational zoom framework.
  3. SDF Projects -- zomg there's an authentic TOPS-20 system you can get logins on. For a taste of the Old Days.
  4. ISOC's AI and ML Policy Paper -- The paper explains the basics of the technology behind AI, identifies the key considerations and challenges surrounding the technology, and provides several high-level principles and recommendations to follow when dealing with the technology.

Continue reading Four short links: 7 August 2017.


How to move your team closer to clarity


Design thinking, the Lean approach, and Agile software development can make a difference in your teams.Despite its title, this book is really about ability, learning, and adapting. Design thinking, Lean, and Agile are mindsets that, when practiced, help organizations develop new competencies. We learn to tackle problems and explore possibilities. We strive to make every action a learning opportunity for making better decisions. We put learning to work as we pursue outcomes in a way that’s optimized for adapting to constant change. More than following steps, procedures, or instructions, this report describes the mindsets and ways of working that help teams to think differently, practice new skills, and develop new abilities. Popular culture depicts designers as precious snowflakes. In the movies, developers are socially inept propeller heads. And we all like to joke about bean-counting middle managers and executives who are asleep at the wheel. All of them are petrified of being disrupted by Silicon Valley’s hoodie-wearing startups. Convention is dead in the modern age—there are no rules, and job roles are so last century. It’s no wonder people are so confused about how to do software better. These are exaggerated generalizations, I know, but they do paint a picture of the mess we face when working together to build stuff that matters. Creating digital products and services is a pursuit that requires collaboration across many disciplines. Technology, design, and business all have their own kinds of architects. Strategy has different flavors, from corporate to customer to technology. Products require design, software is engineered, and someone needs to run the entire operation. Design thinking, Lean, and Agile are prominent mindsets among product development teams today. Each mindset brings its own kind of value to the product development life cycle (see Figure 1). And although they come from different origins—industrial design, manufacturing, and software development—they share many similarities and are complementary and compatible with each other. Figure 1. Design thinking, Lean, and Agile. At a distance, design thinking is a mindset for exploring complex problems or finding opportunities in a world full of uncertainty. It’s a search for meaning, usually focusing on human needs and experience. Using intuitive and abductive reasoning, design thinking explores and questions what is, and then imagines what could be with innovative and inventive future solutions. The Lean mindset is a management philosophy that embraces scientific thinking to explore how right our beliefs and assumptions are while improving a system. Lean practitioners use the deliberate practice of testing their hypotheses through action, observing what actually happens, and making adjustments based on the differences observed. It’s how organizations set their course, learn by doing, and decide what to do next on their journey to achieve outcomes. The heart of Agile is building great software solutions that adapt gracefully to changing needs. Agile begins with a problem—not a requirement—and delivers an elegant solution. The Agile mindset acknowledges that the right solution today might not be the right solution tomorrow. It’s ra[...]

Four short links: 4 August 2017


Chinese Spamsorship, History of Intelligence, Patreon Numbers, and Javascript WTFs

  1. Quackspeak Ascendant (Cory Doctorow) -- China's approach to networked control is one of three dominant strategies used in the world: in Russia, they fill the channel with an untanglable mess of lies and truth, leading people to give up on understanding the situation; for the west's alt-right trolls, the strategy is to be so outrageous that you get picked up and retransmitted by every channel, which lets you reach the tiny minority of otherwise too-thin-spread, broken people and recruit them to your cause; and in China, it's quackspeak, this anodyne, happy-talk-style chatter about nothing much.
  2. Intelligence: A History -- If we’ve absorbed the idea that the more intelligent can colonize the less intelligent as a right, then it’s natural that we’d fear enslavement by our super-smart creations. If we justify our own positions of power and prosperity by virtue of our intellect, it’s understandable that we see superior AI as an existential threat. (via Sam Kinsley)
  3. Inside Patreon -- Half its patrons and creators joined in the past year, and it’s set to process $150 million in 2017, compared to $100 million total over the past three years.
  4. WTFJS -- A list of funny and tricky examples of JavaScript.

Continue reading Four short links: 4 August 2017.


JupyterHub on Google Cloud


A step-by-step tutorial on how to install and run JupyterHub on gcloud. Deploying JupyterHub on Kubernetes on Google Cloud JupyterHub, a "multi-user server for Jupyter Notebooks," is an essential tool for teaching and training at scale with Jupyter. As described in The course of the future – and the technology behind it , JupyterHub is being used to power an introductory class in data science taken by hundreds of students at Berkeley every semester. JupyterHub is a complex piece of software, and setting up and operating has been out of reach for many organizations, but recent work by members of the Jupyter team - especially @CarolWilling, @choldgraf, @Mbussonn, @minrk, and @yuvipanda -- has put JupyterHub within reach of a host organizations and individuals. Their new project, a Helm package for JupyterHub and an accompanying article called Zero to JupyterHub on how to use it, describes the relatively straightforward steps needed to install and run JupyterHub on Google cloud. In this article, I've followed along with the tutorial, adding additional detail on setting up gcloud, preparing a docker image with the content project you want to deploy in it, and provided more background on some of the tools used. Introduction Although there are a lot of steps, there are three core things to do: Create a k8s cluster on gcloud. In a traditional ops setting, this is kind of like setting up a new server. Install the JupyterHub application on the cluster using Helm, the k8s package manager. Configure the new JupyterHub instance to serve a default content project. In this case, I'll have it serve Allen Downey's ThinkDSP project. See Computational Publishing with Jupyter for more background information on this step. By the end of this tutorial, you'll have a public server (no DNS entry or https, which is something I'll need to figure out how to add) where anyone can log in and get a running instance of ThinkDSP. What's not covered here: How to set up an "authenticator" for JupyterHub so that you can control who can log into Jupyter and get a notebook. Right now, anyone can just log in with any username and password. Probably unwise. How to handle persistent storage for the container. This is dependent on an unmerged issue on docker-stacks project. So, you won't be able to save the notebooks served this instance of JupyterHub, but that should be fixed soon. Install the gcloud CLI You need the google cloud CLI for your platform. Once you download and install it, you should be able to run the gcloud tool on your machine: $ gcloud version Google Cloud SDK 155.0.0 bq 2.0.24 core 2017.05.10 gcloud gsutil 4.26 Set your login credentials Once you've got it installed, do gcloud init to set your credentials. This will open a browser and ask you login to the google account where you'll be deploying JupyterHub. Install kubectl plugin Install kubectl: gcloud components install kubectl You only need to do this once. Create a Kubernetes cluster Once you've got the basic setup, you're ready to create a kubernetes cluster where we'll install the JupyterHub server. In an AWS context, this is kind of like setting up your EC2 instance. I set up a cluster name[...]

Why AI and machine learning researchers are beginning to embrace PyTorch



The O’Reilly Data Show Podcast: Soumith Chintala on building a worthy successor to Torch and on deep learning within Facebook.

In this episode of the Data Show, I spoke with Soumith Chintala, AI research engineer at Facebook. Among his many research projects, Chintala was part of the team behind DCGAN (Deep Convolutional Generative Adversarial Networks), a widely cited paper that introduced a set of neural network architectures for unsupervised learning. Our conversation centered around PyTorch, the successor to the popular Torch scientific computing framework. PyTorch is a relatively new deep learning framework that is fast becoming popular among researchers. Like Chainer, PyTorch supports dynamic computation graphs, a feature that makes it attractive to researchers and engineers who work with text and time-series.

Continue reading Why AI and machine learning researchers are beginning to embrace PyTorch.


A DevOps approach to data management


A multi-model approach to transforming data from a liability to an asset. Deriving knowledge from data has become a key competency for many—if not most—businesses. With the right data, and the right tools to handle it, businesses can gain keen insights into a variety of metrics, including operations, customer activity, and employee productivity. In the free O'Reilly report, Defining Data-Driven Software Development, author Eric Laquer explores the advancements of DevOps and applies those lessons to managing data, addressing the challenges involved in handling business data and examining ways to fulfill the various needs of different stakeholders. Laquer also illustrates how using a multi-model approach allows for a variety of data types and schemas to operate side by side. Utilizing data in its natural form Multi-model technology accepts that our data comes in many types. It enables a variety of representational forms and indexing techniques for more creative and effective approaches to problems that might otherwise present major challenges in the confining, single-schema world of tables, rows, and columns. As many of us know, today's data does not tend to be homogenous, fitting easily into a relational schema based on rows and tables. Modern applications must process data that includes records, documents, videos, text, and semantic triples in a variety of formats, including XML, JSON, text, and binary. A majority of the data that analysts work with today is document based, with inconsistent schema and metadata from document to document, even within the same collection. Businesses typically have documents that fulfill similar purposes, but are structured differently for historical or other reasons; this is especially true with large organizations that have merged with other organizations over time. However, since documents are not the only type of data that businesses must deal with, pure document-oriented database systems are not the best solution for large-scale data storage. Other options include a semantic triple store or a graph database, to surface useful facts about how entities are connected. In some cases, it may also be necessary to handle certain types of data (i.e., transactional data), using more conventional relational technologies. Abandoning rigid schemas Flexibility has become the key to handling all of the different types of data present in organizations today; however, achieving the necessary level of flexibility requires abandoning rigid schema definitions. Without rigid schemas, software developers can examine and work with data as it is, avoiding the common practice of writing application code to munge and reformat data to fit schemas. The ability to deal with data in its "natural" form, and mark it up as needed, makes development more nimble. In the free report, Laquer examines some of the conflicting needs around data and proposes as a solution a DevOps model of data management, combined with a flexible, multi-model database system. Developers need flexibility and the ability to build out systems with as little administrative overhead as possible. DBAs, analysts, compliance officers, a[...]

Four short links: 3 August 2017


Pricing Unicorns, Software Failures, Finding Prices, and Simulating Poverty

  1. How Unicorns Are Made -- One provision frequently afforded to investors is called a liquidation preference. It guarantees a minimum payout in the event of an acquisition or other exit. The study found that it can exaggerate a company’s valuation by as much as 94%. [...] Ratchets can inflate a startup’s value by 56% or more, the study said. The study is also interesting reading.
  2. IRIX 5.1 is a Disappointment -- leaked memo from the early '90s that rings true today.
  3. Finding the Right Price for Early Customers -- Setting an artificially high price, then waiting for the customer to wince (i.e., reject the price), forces an interested customer to negotiate it down. Each negotiation down will get you closer to the maximum price you can expect to charge, whereas always getting a "yes" will not tell you if you could charge more.
  4. Poverty Pick-A-Path -- turn-based game that challenges you to choose between options as a person experiencing poverty. I'm a fan of simulations that help you "experience" the difficulty of situations like balancing the budget, or (in this case) navigating a family downturn. Spoiler: UBI would be nice.

Continue reading Four short links: 3 August 2017.


Declaring variables in Kotlin



Learn the difference between mutable and immutable variables and how to cut down on boilerplate code.

Continue reading Declaring variables in Kotlin.


Building—and scaling—a reliable distributed architecture



Five questions for Joseph Breuer and Robert Reta on managing dependencies, building for adaptability, and managing through change.

I recently asked Joseph Breuer and Robert Reta, both Senior Software Engineers at Netflix, to discuss what they have learned through implementing a service at scale at Netflix. Joseph and Robert will be presenting a session on Event Sourcing at Global Scale at Netflix at O’Reilly Velocity Conference, taking place October 1-4 in New York. Here are some highlights from our conversation.

What were some of the obstacles you faced while implementing at scale?

The primary challenge when operating a service in a distributed architecture at scale is managing for the behavior of your downstream dependencies. Whether those dependencies are a datastore or a restful API defining timeouts, fallback data, and concurrency of the interactions will be the defining factor of your service. Your service may scale wonderfully, but if a dependency is not accounted for then the overall service can quickly fall over.

Continue reading Building—and scaling—a reliable distributed architecture.


Operationalizing security risk



Bruce Potter on why and how to build a risk assessment program.

Continue reading Operationalizing security risk.


Reinforcement learning for complex goals, using TensorFlow


How to build a class of RL agents using a TensorFlow notebook.Reinforcement learning (RL) is about training agents to complete tasks. We typically think of this as being able to accomplish some goal. Take, for example, a robot we might want to train to open a door. Reinforcement learning can be used as a framework for teaching the robot to open the door by allowing it to learn from trial and error. But what if we are interested in having our agent solve not just one goal, but a set that might vary over time? In this article, and the accompanying notebook available on GitHub, I am going to introduce and walk through both the traditional reinforcement learning paradigm in machine learning as well as a new and emerging paradigm for extending reinforcement learning to allow for complex goals that vary over time. I will start by demonstrating how to build a simple Q-learning agent that is guided by a single reward signal to navigate an environment and make deliveries. I will then demonstrate how this simple formulation becomes problematic for more complex behavior we might envision. To allow for greater flexibility, I will then describe how to build a class of reinforcement learning agents, which can optimize for various goals called “direct future prediction” (DFP). All the code is available in TensorFlow in this accompanying iPython Jupyter Notebook. Q-learning—for the greatest cumulative reward Reinforcement learning involves agents interacting in some environment to maximize obtained rewards over time. This is typically formalized in the following way: an agent receives a state \((s)\) from the environment, and produces an action \((a)\). Given this state and action pair, the environment then provides the agent a new state \((s’)\) and a reward \((r)\). The reinforcement learning problem is then to discover a mapping from states to actions, which produce the greatest amount of cumulative reward. One approach to this is called Q-learning, in which we learn a direct mapping between state and action pairs \((s, a)\) and value estimations \((v)\). This value estimation should correspond to the discounted expected reward over time from taking action \((a)\) while in state \((s)\). Using the Bellman equation, we can iteratively update our estimations of \(Q(s, a)\) for all possible state action pairs. This capacity to iteratively update the Q-value comes from the following property of an optimal Q-function: \(Q*(s, a) = r + γmax_{a'}Q(s’, a')\) The above means that the current Q-value for a given state and action can be decomposed into the current reward plus the discounted expected future reward in the next state. By collecting experiences, we can train a neural network to predict more accurate Q-values over time, and by taking actions that optimize the expected value, we can then, ideally, obtain the greatest cumulative reward possible from the environment. Using a universal function approximator such as a neural network, we can generalize our Q-estimation to unseen states, allowing us to l[...]

Jay Jacobs on data analytics and security



The O’Reilly Security Podcast: The prevalence of convenient data, first steps toward a security data analytics program, and effective data visualization.

In this episode of the Security Podcast, Courtney Nash, former chair of O’Reilly Security conference, talks with Jay Jacobs, senior data scientist at BitSight. We discuss the constraints of convenient data, the simple first steps toward building a basic security data analytics program, and effective data visualizations.

Continue reading Jay Jacobs on data analytics and security.


Four short links: 2 August 2017


App Size, Decision-Making, Headless Chrome, and Scientific Significance

  1. App Sizes Are Out of Control -- amen! I'm downloading a CD of data a day just for app updates.
  2. Make Great Decisions -- useful technique.
  3. Chromeless -- Chrome automation made simple. Runs locally or headless on AWS Lambda. Chromeless can be used to: run 1000s of browser integration tests in parallel; crawl the web and automate screenshots; write bots that require a real browser; do pretty much everything you've used PhantomJS, NightmareJS, or Selenium for before.
  4. Moving the Goalposts? (Thomas Lumley) -- responding to a paper proposing to make the threshold for scientific statistical significance be 10x harder to clear: The problem isn’t the threshold so much as the really weak data in a lot of research, especially small-sample experimental research [large-sample observational research has different problems]. Larger sample sizes or better experimental designs would actually reduce the error rate; moving the threshold only swaps which kind of error you make. This isn't all of Thomas' thesis, but it's a good point.

Continue reading Four short links: 2 August 2017.


The wisdom hierarchy: From signals to artificial intelligence and beyond


A framework for moving from data to wisdom.We are swimming in data. Or possibly drowning in it. Organizations and individuals are generating and storing data at a phenomenal and ever-increasing rate. The volume and speed of data collection has given rise to a host of new technologies and new roles focused on dealing with this data, managing it, organizing it, storing it. But we don’t want data. We want insight and value. We can think about these new technologies and roles, and the way they help us move from data to insight and value, through the lens of something called the wisdom hierarchy. The wisdom hierarchy is a conceptual framework for thinking about how the raw inputs of reality (signals) are stored as data and transformed first into information, then into knowledge, and finally into wisdom. We might call these steps in the hierarchy “levels of insight.” To illustrate, starting with the input of specific error codes coming out of a software system, we can draw out an example of each step in the hierarchy: Data: All the error logs from that system. Information: An organized report about the error codes. Knowledge: The ability to read a specific error report, understand it, and possibly fix the problem. Wisdom: An understanding of how different and seemingly unrelated errors are actually connected symptoms of a larger, underlying problem. Whatever esoteric connotations we might associate with the word “wisdom,” we can define it here as deep subject matter expertise. From this kind of wisdom comes decision-making, business value, and leadership. From a human perspective, the levels of this hierarchy aren’t absolute, though. The line between each level is fuzzy, and the growing insight within a particular organization doesn’t usually follow a direct path; the journey circles back on itself. For example, as knowledge about the value of data increases, the nature of data collection might change. Insights gleaned from data analysis become data themselves. Additionally, insight doesn’t simply move up the hierarchy, but comes in from all directions. There are many inputs aside from information that create knowledge, and many inputs aside from knowledge that create wisdom and business value. From a machine learning and AI perspective, the hierarchy undergoes a weird recursion process. While humans might be said to climb the hierarchy, machines flatten it. No matter how advanced a computer system is, it is really only dealing with data. The inputs to an AI system are data; the processing of those inputs is data centric; and the outputs are, from the computer’s perspective, simply more data. But the outputs can be interpreted by humans at each level of the hierarchy. We can understand the results in terms of information, knowledge, or—if the AI is sufficiently advanced—wisdom. From signals to data to information The first wave of innovation in big data was simply figur[...]

Four short links: 1 August 2017


RNA Coding, x86 Fuzzing, 1960s Coding, and AI Traps

  1. A Living Programmable Biocomputing Device Based on RNA (Kurzweil AI) -- Similar to a digital circuit, these synthetic biological circuits can process information and make logic-guided decisions, using basic logic operations — AND, OR, and NOT. But instead of detecting voltages, the decisions are based on specific chemicals or proteins, such as toxins in the environment, metabolite levels, or inflammatory signals. The specific ribocomputing parts can be readily designed on a computer.
  2. Sandsifter -- audits x86 processors for hidden instructions and hardware bugs by systematically generating machine code to search through a processor's instruction set and monitoring execution for anomalies. Sandsifter has uncovered secret processor instructions from every major vendor; ubiquitous software bugs in disassemblers, assemblers, and emulators; flaws in enterprise hypervisors; and both benign and security-critical hardware bugs in x86 chips.
  3. Programming in the 1960s -- uphill both ways in rain the colour of a television tuned to a dead station.
  4. How to Make a Racist AI Without Even Trying -- My purpose with this tutorial is to show that you can follow an extremely typical NLP pipeline, using popular data and popular techniques, and end up with a racist classifier that should never be deployed. Exploitability is the failure mode of doing what's easy.

Continue reading Four short links: 1 August 2017.


How can I add simple, automated data visualizations and dashboards to Jupyter Notebooks



Learn how to use PixieDust in Jupyter Notebooks to create quick, easy, and powerful visualizations for exploring your data.

Continue reading How can I add simple, automated data visualizations and dashboards to Jupyter Notebooks.


From prototype to product with hybrid neural networks


Apache MXNet and the middle path between declarative and imperative programming.After several decades as an interest of academic computer scientists and specialized research labs, deep learning is appearing widely in real products. That transition has led to several exciting new deep-learning frameworks that tend to emphasize either rapid prototyping or efficient deployment at scale. For product developers looking to experiment with an idea and then reinforce and deploy it, a single framework that supports both ends of the process is helpful. Apache MXNet, an open-source deep learning framework first published in 2015, aims to achieve exactly that. I recently talked with Mu Li, principal scientist at Amazon and one of the original authors of MXNet—he was lead author of the “Parameter Server" paper that enables MXNet to have almost linear scale with additional processing power. He walked me through the origins of the framework and his vision of “hybridized” neural network models that can carry a single project from early prototyping through deployment at scale. MXNet emerged from two goals that are classically opposed in computer science: ease of use and high performance. Declarative structures enable high performance in deep learning: the programmer specifies a network structure at a high level, and the framework implements low-level native routines to build the network in the most efficient manner possible. The drawback is that these declarative frameworks require the programmer to know and specify the network structure—its computation graph—at the outset. That makes iteration slow and experimentation difficult; discovering the best network structure for a particular problem is arguably the principal task for a deep-learning engineer. In some cases, like long short-term memory (LSTM) networks, the structure of the neural network can depend on control statements--loops and ‘if’ statements--that can’t be evaluated until data is fed in, so programmers need to use equivalent statements provided by the frameworks—meaning lots of mucking about with low-level code. Declarative frameworks can also be unintuitive to programmers who are accustomed to an interactive trial-and-error approach—an essential shortcoming as interest in deep learning explodes. Many newcomers to deep learning don’t have systematic training in symbolic linear algebra and want to teach themselves through active experimentation. The deep learning community has responded by introducing a handful of imperative frameworks—notably PyTorch and Chainer—that execute programs line-by-line and allow programmers to use complex control statements to change network structure programmatically and on-the-fly. The drawback here is in performance: if the programmer doesn’t specify the full structure of the network before running it, the framework can’t pre-co[...]

Four short links: 31 July 2017


Statistics & Fiction, Staying Anonymous, Attacking Machine Learning, and Digital Native is Fiction

  1. The Heretical Things Statistics Tell Us About Fiction (New Yorker) -- Almost without fail, the words evoke their authors’ affinities and manias. John Cheever favors “venereal”—a perfect encapsulation of his urbane midcentury erotics, tinged with morality. Isaac Asimov prefers “terminus,” a word ensconced in a swooping, stately futurism; Woolf has her “mantelpiece,” Wharton her “compunction.” (Melville’s “sperm” is somewhat misleading, perhaps, when separated from his whales.)
  2. Things Not to Do When Anonymous -- so many ways to surrender anonymity, so difficult to remain anonymous.
  3. Robust Physical-World Attacks on Machine Learning Models -- Our algorithm can create spatially constrained perturbations that mimic vandalism or art to reduce the likelihood of detection by a casual observer. We show that adversarial examples generated by RP2 achieve high success rates under various conditions for real road sign recognition by using an evaluation methodology that captures physical world conditions. We physically realized and evaluated two attacks, one that causes a stop sign to be misclassified as a speed limit sign in 100% of the testing conditions, and one that causes a right turn sign to be misclassified as either a stop or added lane sign in 100% of the testing conditions.
  4. The Digital Native is a Myth (Nature) -- The younger generation uses technology in the same ways as older people—and is no better at multitasking.

Continue reading Four short links: 31 July 2017.


Four short links: 28 July 2017


Usable Security, Philosophy Time, AR A-Ha, and Machine Knitting

  1. A Rant on Usable Security (Jessie Frazelle) -- By making a default for all containers, we can secure a very large amount of users without them even realizing it’s happening. This leads perfectly into my ideas for the future and continuing this motion of making security on by default and invisible to users. Kernel/Docker-heavy thoughts.
  2. Philosophy Time -- James Franco and philosophers tackle beauty, metaphor, imagination, and more. (via BoingBoing)
  3. Augmented Reality's A-ha Moment -- ​prototype app from TRIXI Studios that turns your living room into an A-ha video. Finally, someone using technology for the forces of good. (via BoingBoing)
  4. Machine Knitting Lingo -- not just vocab but pointers to hardware and software like Img2Track which connects certain models of Brother electronic machines directly to your computer. [...] Img2Track has a full UI, no need for Python or the command line. You import an image, it does some needed manipulation for you, you download it to your machine, and then knit as usual. To use Img2Track you only need to buy or make a special cable. You make no changes to your knitting machine itself. Demo up to 60 stitches wide for free, pay for the full-width software.

Continue reading Four short links: 28 July 2017.


Eric Freeman and Elisabeth Robson on design patterns



The O’Reilly Programming Podcast: Creating designs that are more flexible and resilient to change.

In this episode of the O’Reilly Programming Podcast, I talk with Eric Freeman and Elisabeth Robson, presenters of the live online training course Design Patterns Boot Camp, and co-authors (with Bert Bates and Kathy Sierra) of Head First Design Patterns, among other books. They are also co-founders of WickedlySmart, an online learning company for software developers.

Continue reading Eric Freeman and Elisabeth Robson on design patterns.


John Whalen on using brain science in design



The O’Reilly Design Podcast: Designing for the “six minds,” the importance of talking like a human, and the future of predictive AI.

In this week’s Design Podcast, I sit down with John Whalen, chief experience officer at 10 Pearls, a digital development company focused on mobile and web apps, enterprise solutions, cyber security, big data, IoT,  and cloud and dev ops. We talk about the “six minds” that underlie each human experience, why it’s important for designers to understand brain science, and what people really look for in a voice assistant.

Continue reading John Whalen on using brain science in design.


When you hear hooves, think horse, not zebra



Don't overcomplicate cybersecurity. Focus on building a strong security foundation and go from there.

A month or two ago I was having a discussion with a physician about obscure diseases—commonly referred to as zebras. While I was considering these zebras in the context of effective data mining strategies for medical diagnosis, he made an interesting point. One of the things that they teach new physicians is the phrase “When you hear hoofs, think horse, not zebra.” The principle is quite simple—the odds are the patient has the more common diagnosis than a rare, improbable one. A simple but illustrative example would be the following (stolen from a physician family member):

An adolescent female patient presents with a three-week history of headache, fatigue, and intermittent fevers but was historically healthy. The physical exam was unremarkable and aside from the occasional fevers, the only symptom of note was that she was pale in color. The zebra could have been meningitis or a brain tumor—and the inexperienced practitioner would order thousands of dollars of tests and subject the patient to multiple procedures. But a routine blood count showed that she was simply anemic—the horse—and just needed extra iron. The rule: Think horse without ruling out zebras.

Continue reading When you hear hooves, think horse, not zebra.


Classifying traffic signs with Apache MXNet: An introduction to computer vision with neural networks


Step-by-step instructions to implement a convolutional neural net, using a Jupyter Notebook.Although there are many deep learning frameworks, including TensorFlow, Keras, Torch, and Caffe, Apache MXNet in particular is gaining popularity due to its scalability across multiple GPUs. In this blog post, we'll tackle a computer vision problem: classifying German traffic signs using a convolutional neural network. The network takes a color photo containing a traffic sign image as input, and tries to identify the type of sign. The full notebook can be found here In order to work through this notebook, we expect you'll have a very basic understanding of neural network, convolution, activation units, gradient descent, NumPy, and OpenCV. These prerequisites are not mandatory, but having a basic understanding will help. By the end of the notebook, you will be able to: Prepare a data set for training a neural network; Generate and augment data to balance the data set; and Implement a custom neural network architecture for a multiclass classification problem. Preparing your environment If you're working in the AWS Cloud, you can save yourself the installation management by using an Amazon Machine Image (AMI) preconfigured for deep learning. This will enable you to skip steps 1-5 below. Note that if you are using a conda environment, remember to install pip inside conda, by typing 'conda install pip' after you activate an environment. This step will save you a lot of problems down the road. Here's how to get set up: First, get Anaconda, a package manager. It will help you to install dependent Python libraries with ease. Install the OpenCV-python library, a powerful computer vision library. We will use this to process our image. To install OpenCV inside the Anaconda environment, use 'pip install opencv-python'. You can also build from source. (Note: conda install opencv3.0 does not work.) Next, install scikit learn, a general-purpose scientific computing library. We'll use this preprocess our data. You can install it with 'conda install scikit-learn'. Then grab the Jupyter Notebook, with 'conda install jupyter notebook'. And finally, get MXNet, an open source deep learning library. Here are the commands you need to type inside the anaconda environment (after activation of the environment): conda install pip pip install opencv-python conda install scikit-learn conda install jupyter notebook pip install mxnet The data set In order to learn about any deep neural network, we need data. For this notebook, we use a data set already stored as a NumPy array. You can also load data from any image file. We'll show that process later in the notebook. The data[...]

Four short links: 27 July 2017


Next Death, Evolution of Trust, Indoor Robots, and Embryo Editing

  1. Predicting Who Dies Next in Game of Thrones -- waiting for the org chart version of this.
  2. The Evolution of Trust -- fun illustration of what game theory has to say about trust.
  3. Indoor Robots -- overview of companies in the various spaces.
  4. First Human Embryos Edited in USA (MIT TR) -- Mitalipov is believed to have broken new ground both in the number of embryos experimented upon and by demonstrating that it is possible to safely and efficiently correct defective genes that cause inherited diseases. Although none of the embryos were allowed to develop for more than a few days—and there was never any intention of implanting them into a womb—the experiments are a milestone on what may prove to be an inevitable journey toward the birth of the first genetically modified humans.

Continue reading Four short links: 27 July 2017.


R’s tidytext turns messy text into valuable insight


Authors Julia Silge and David Robinson discuss the power of tidy data principles, sentiment lexicons, and what they're up to at Stack Overflow.“Many of us who work in analytical fields are not trained in even simple interpretation of natural language,” write Julia Silge, Ph.D., and David Robinson, Ph.D., in their newly released book Text Mining with R: A tidy approach. The applications of text mining are numerous and varied, though; sentiment analysis can assess the emotional content of text, frequency measurements can identify a document’s most important terms, analysis can explore relationships and connections between words, and topic modeling can classify and cluster similar documents. I recently caught up with Silge and Robinson to discuss how they’re using text mining on job postings at Stack Overflow, some of the challenges and best practices they’ve experienced when mining text, and how their tidytext package for R aims to make text analysis both easy and informative. Let’s start with the basics. Why would an analyst mine text? What insights can be derived from mining instances of words, sentiment of words? Text and other unstructured data is increasingly important for data analysts and data scientists in diverse fields from health care to tech to nonprofits. This data can help us make good decisions, but to capitalize on it, we must have the tools and the skills to get from unstructured text to insights. We can learn a lot by exploring word frequencies or comparing word usage, and we can dig deeper by implementing sentiment analysis to analyze the emotion or opinion content of words, or by fitting a topic model to discover underlying structure in a set of documents. Why did you create the tidytext text mining package in R? How does it make an R user’s life easier? We created the tidytext package because we believe in the power of tidy data principles, and we wanted to apply this consistent, opinionated approach for handling data to text mining tasks. Tidy tools like dplyr and ggplot2 are widely used, and integrating natural language processing into these tools allows R users to work with greater fluency. One feature in tidytext 0.1.3 is the addition of the Loughran and McDonald sentiment lexicon of words specific to financial reporting, where words like “collaborate” and “collaborators” seem to be tagged as positive and words like “collapsed” and “collapsing” seem to be tagged as negative. For someone who is new to text mining, what is the general purpose of a sentiment lexicon? What are some ways this lexicon would be used in by an analyst? Sentiment lexicons are lists [...]

Four short links: 26 July 2017


Blockchain and Securities Law, Low-Energy Sensing, Robotics Deep Learning, and Chipped Employees

  1. Report of Investigation ... DAO (SEC) -- This Report reiterates these fundamental principles of the U.S. federal securities laws and describes their applicability to a new paradigm—virtual organizations or capital raising entities that use distributed ledger or blockchain technology to facilitate capital raising and/or investment and the related offer and sale of securities.
  2. How to Make a Wireless Sensor Live for a Year on One Tiny Coin Cell Battery -- We see that making the right choices in software can make a stunning 400x difference in power consumption – two orders of magnitude – even with an already extremely power-efficient hardware.
  3. Deep Learning in Robotics: A Review of Recent Research -- what it says on the cover.
  4. A Wisconsin Company Will Let Employees Use Microchip Implants to Buy Snacks and Open Doors -- Participating employees will have the chips, which use near field communication (NFC) technology, implanted between their thumb and forefinger. It’s an extension of the long-running implantable RFID chip business, based on a partnership with Swedish company Biohax International. The vending kiosk company, also known as 32M, will “chip” employees at a party on August 1st. This is fine. What could possibly go wrong?

Continue reading Four short links: 26 July 2017.


Making great hires in your design organization



How to help your team succeed and develop a stronger design practice.

Continue reading Making great hires in your design organization.


A lesson in prescriptive modeling



Simulate new business models and practices with open source code.

Continue reading A lesson in prescriptive modeling.


Four short links: 25 July 2017


AI Sentencing, AI Vocabulary, Soft U2F, and Encrypted Email

  1. Opening the Lid on Criminal Sentencing -- Duke researchers building a (socially) better algorithm. CORELS makes it possible for judges and defendants to scrutinize why the algorithm classifies a particular person as high or low risk. [...] None of the research team’s models rely on race or socioeconomic status.
  2. Agents that Imagine and Plan -- the relentless appropriation of terms from cognition and psychology bugs me. But I can't figure out whether I'm long-term wrong, i.e. whether the future will look on the distinction between software and wetware (Ai and human intelligence) as irrelevant.
  3. Soft U2F -- Authenticators are normally USB devices that communicate over the HID protocol. By emulating a HID device, Soft U2F is able to communicate with your U2F-enabled browser, and by extension, any websites implementing U2F. Improves site security by preventing phishing. (The magic numbers intercepted for one site can't be reused on another)
  4. Magma -- The magma server daemon is an encrypted email system with support for SMTP, POP, IMAP, HTTP and MOLTEN. Additional support for DMTP and DMAP is currently in active development.

Continue reading Four short links: 25 July 2017.


Data science startups focus on AI-enabled efficiency


Recapping winners of the Strata San Jose Startup Showcase.Every five years, we invent a new technology that, when sprinkled atop existing business problems, acts as a panacea for managers. In the ‘90s it was the Web, followed quickly by SaaS, mobility, clouds, data, and now AI. But there's a bigger underlying pattern. Web and SaaS gave us interfaces anyone could use. Mobility made them ubiquitous, taking us away from the workday—we check our phones dozens of times a day, and, often, they're the last thing we look at before sleep and the first thing we grab upon waking. Clouds gave us elastic, on-demand computing. Big data gave clouds something to do. And AI is a set of algorithms that make sense of that big data, teasing threads of gold from the digital hay. Take, for example, the winners of the Strata San Jose Startup Showcase. From a field of applicants, our panel winnowed the list down to 10 finalists, and then a combination of on-site judges and audience voting helped us pick the winners: The first-place winner, Nexla, makes data wrangling easier with a product that allows teams to share, automatically process, transform, and monitor data. Over 80% of time is spent getting data sources to cooperate: cleaning them, moving them around, and ensuring they're consistent and available as companies build data products atop them. Second-place winner Gluent tries to unify the many rivers of data in an organization, pulling them into a single, central, agnostic repository. One truism of AI is that data beats algorithms—so the more data you have at your disposal, the better the models you create and the greater your ability to test them properly, avoiding perils of overfitting and bias. Third-place winner Repable uses the torrent of data that gamers generate to understand publisher, brand, and player trends. E-sports is a huge industry, and any early insights into what's happening are invaluable. But gamers are notoriously fickle, and they engage with their audiences across a wide range of platforms. So, pulling this information together and normalizing it is a huge challenge. The popular vote winner, Outlier, harnesses existing business information and looks for anomalies. Most business managers don't worry about what's expected; they care about what's not. Sudden growth, overnight churn, or a rash of alerts often point to something urgent. But patterns in data can often reveal hidden advantages, if the organization has the time to mine it[...]

How (not) to approach persistence testing in Java and Groovy



Manage resources and fixtures with Spock's lifecycle hooks.

Testing persistence is one of the most frequently encountered types of integration test. If done incorrectly it can mean death to a suite of tests because they will run slowly and be incredibly brittle.

One of the most common antipatterns encountered is to test everything by reference to a single monolithic fixture containing an ever-growing volume of data that attempts to cater to every corner-case. The fixture will soon become the victim of combinatorial explosion—there are so many combinations of entities in various states required that the sheer amount of data becomes overwhelming and impossible to monitor. Tests based on monolithic fixtures tend to be replete with false moniker testing—"I know the pantoffler widget is the one set up with three variants, one of which has a negative price modifier and is zero-rated for tax."

Continue reading How (not) to approach persistence testing in Java and Groovy.


Four short links: 24 July 2017


Productivity Growth, Tree-Based Learning, Google's TCP Improvement, and Computational Psychology

  1. Is Productivity Growth Becoming Irrelevant? -- The growth of difficult-to-automate service activities may explain some of the productivity slowdown. Britain’s flat productivity reflects a combination of rapid automation in some sectors and rapid growth of low-productivity, low-wage jobs – such as Deliveroo drivers riding around on plain old-fashioned bicycles. In the United States, the Bureau of Labor Statistics reports that eight of the ten fastest-growing job categories are low-wage services such as personal care and home health aides.
  2. A Practical Guide to Tree-Based Learning Algorithms -- These algorithms empower predictive models with high accuracy, stability and ease of interpretation. Unlike linear models, they map non-linear relationships quite well. Common examples of tree based models are: decision trees, random forest, and boosted trees.
  3. BBR Explainer -- Short version: Google changed the TCP implementation (their network stack) and now your YouTube videos, Google websites, Google Cloud applications, etc. download a lot faster and smoother. Oh, and it doesn't get in the way of other websites that haven't made the switch. (Subtext: another feature of Google Cloud that doesn't exist at AWS or Azure. Nothing to turn on, no extra charge.)
  4. Computational Psychiatry in Borderline Personality Disorder (arXiv) -- growth in use of computational methods to diagnose disorders. (via the explainer in MIT TR)

Continue reading Four short links: 24 July 2017.