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 thinking  design  iot  learning  links  machine learning  reading  short links  short  thinking 
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-02-26T06:14:51Z


Tim Hwang on bots that cause chaos



The O’Reilly Bots Podcast: Automating “psyops” with AI-driven bots.

In this episode of the O’Reilly Bots Podcast, I speak with Tim Hwang, an affiliated researcher at the Oxford Internet Institute, about AI-driven psyops bots and their capacity for social destabilization.

Continue reading Tim Hwang on bots that cause chaos.


Four short links: 24 Feb 2017


Apple DRM, Automatic Forecasting, Conversation API, and API Idempotency

  1. Apple's SSAFE DRM -- development notes from a 1979-80 anti-piracy project, discovered in an interesting fashion. (via BoingBoing)
  2. Prophet -- open source forecasting procedure implemented in Python and R. It is fast and provides completely automated forecasts that can be tuned by hand by data scientists and analysts. From Facebook. (via Sean Taylor)
  3. Perspective API -- an API that makes it easier to host better conversations. The API uses machine learning models to score the perceived impact a comment might have on a conversation. Developers and publishers can use this score to give real-time feedback to commenters or help moderators do their job, or allow readers to more easily find relevant information, as illustrated in two experiments below. We’ll be releasing more machine learning models later in the year, but our first model identifies whether a comment could be perceived as “toxic" to a discussion.
  4. Idempotency -- nothing's reliable, so it’s important to design APIs and clients that will be robust in the event of failure, and will predictably bring a complex integration to a consistent state despite them. Let’s take a look at a few ways to do that.

Continue reading Four short links: 24 Feb 2017.


Insights on scaling and integrating databases


An interview with Greg Meddles, technical lead for databases for the enterprise is hard. You have to parallelize, avoid bottlenecks, and shard across multiple machines. You have to carefully consider tradeoffs between data integrity and constant uptime, between optimizing for reading and writing, between speed of development and speed at runtime. You have to integrate wildly disparate data sources, satisfy stakeholders with competing expectations, and find the structure hidden in unstructured data. Working with databases at the scale of global enterprise is about bringing order to chaos. I recently had the opportunity to interview MarkLogic's Greg Meddles on this topic. Meddles has been bringing order to chaos for decades, scaling and integrating data systems in the financial sector, the intelligence community, and health care. He worked on IBM's Watson, and is currently the technical lead for, which integrated data stores from dozens of federal and state government sources while scaling to millions of users. In our conversation, I asked him about some of the common challenges that come with scaling and integrating databases. Here are some of his insights. Separating uniqueness from order Meddles began with an example that may seem elementary, but it was a good place to start, as the problem is easy to understand and touches on some of the more complicated issues we discussed later: "In the old days, most IDs came from an auto increment sequence in the database. This provided both a uniqueness and an ordering component. But once you get away from a system that lives on one or two servers, the coordination of uniqueness and ordering doesn't work anymore." The solution, of course, is to separate uniqueness from ordering. Uniqueness can be provided in a distributed system a number of ways—for example, by including an IP address or by using a UUID generator. Ordering is then a matter of having timestamps of sufficient granularity. This strategy entails pulling apart the functional requirements, and questioning the assumptions built into conventional one-server approaches—it’s a helpful way of approaching many of the problems of scale. Bottlenecks and parallelization According to Meddles, most scaling problems come down to bottlenecks of one sort or another. Too often, he says, people try to solve this by just throwing more computing power at the problem: "You're out of memory on some particular Amazon instance, so you bump up to the next biggest in size. That is always the naive solution. Whatever you're doing, you'll usually end up doing more of it. Eventually, you'll end up throwing good money after bad." But there's a better way, Meddles notes: "The way that you get around these problems is to do more things in parallel." There are a number of different approaches to doing things in parallel, but common to most of them is simplicity and, in particular, avoidance of state. "Maintenance of state is one of the issues that prevents you from doing things in parallel," he says. I asked about the relationship between the need to avoid state and the functional programming trend. Functional programming languages certainly help, according to Meddles, but are not necessary. "Good people tend to find good solutions regardless of the technology. The people who understand how to do functional programming well, can do functional programming whether it’s in JavaScript or Scala or whatever. What matters is not the technology, but things like how comfortable am I writing recursive algorithms, for example." Handling failure Our conversation turned to design tradeoffs that have to be made when scaling. He brought up the CAP theory, which states that of three desirable qualities—Consistency, Availability, and Partition failure tolerance—you can have only two. Since a large, distributed database is going to require partition failure tolerance, [...]

Building machine learning solutions that can withstand adversarial attacks



The O’Reilly Data Show Podcast: Parvez Ahammad on minimal supervision, and the importance of explainability, interpretability, and security.

In this episode of the Data Show, I spoke with Parvez Ahammad, who leads the data science and machine learning efforts at Instart Logic. He has applied machine learning in a variety of domains, most recently to computational neuroscience and security. Along the way, he has assembled and managed teams of data scientists and has had to grapple with issues like explainability and interpretability, ethics, insufficient amount of labeled data, and adversaries who target machine learning models. As more companies deploy machine learning models into products, it’s important to remember there are many other factors that come into play aside from raw performance metrics.

Continue reading Building machine learning solutions that can withstand adversarial attacks.


Sara Watson on optimizing personalized experiences



The O'Reilly Radar Podcast: Turning personalization into a two-way conversation.

In this week's Radar Podcast, O’Reilly’s Mac Slocum chats with Sara Watson, a technology critic and writer in residence at Digital Asia Hub. Watson is also a research fellow at the Tow Center for Digital Journalism at Columbia and an affiliate with the Berkman Klein Center for Internet and Society at Harvard. They talk about how to optimize personalized experience for consumers, the role of machine learning in this space, and what will drive the evolution of personalized experiences.

Continue reading Sara Watson on optimizing personalized experiences.


How to get practical results from design thinking


For design thinking to fulfill its promise, you can’t stop when you’re finished with the thinking.There are two questions I’d like to try to answer in this post: Can design thinking processes be useful to product makers? What’s missing from current design thinking practices? Can design thinking be practical? By definition, design thinking refers to the creative thinking strategies designers utilize during the process of designing. However, design thinking is now used by a broader range of people than just designers, and it has become an approach used to resolve problems more broadly than just in the design environment. Design consultancies, like my firm Fresh Tilled Soil, are hired to apply design thinking to a wide range of business and social issues. My concern, which is shared by other product leaders, is that design thinking is becoming another buzzword associated with theory and not practice. A lot of smart people like design legends Don Norman and Jared Spool have written about how the value of design thinking has been misappropriated. Others have suggested replacing these thinking processes with doing processes. I highly recommend reading the awesome suggestions by Tim Malbon, Don Norman, and Nikkel Blasse. The theme running through these reactions to general design thinking is the same: Where are the people? To get practical results out of design thinking, it turns out that you need to have people thinking and doing. The origins of design thinking In essence, design thinking is an extension of the scientific method. It’s a proven process by which you make observations, create a hypothesis, and then test its validity. Figure 1. This diagram is a simplified version of the scientific method. A more detailed version of the process can be found here. Courtesy of Richard Banfield. This process of making observations, testing theories, and then generalizing those theories to reflect reality has been the basis for almost all scientific discovery. It follows, then, that this process would work well for design-driven problem solving. This process is essential to discovering solutions, but its goal is to validate a hypothesis. This process doesn’t turn those validations into practical solutions. Design thinking borrows from this scientific rigor and provides us with a reliable way to go from unproven concept to validated solution. That’s a great process to produce a useful outcome. What it doesn’t do is provide us with a way to deliver value to our customers. We need something else to help us produce valuable outcomes. A small slice of the overall value Using the scientific method as a starting point, design leaders at places like IDEO have described how teams can validate ideas and get closer to solutions. This has been going on for a few decades now, and it’s been essential in revolutionizing how we get better at design. But these design thinking processes are only half the story. Teams relying exclusively on design thinking exercises are missing out on the best opportunities because it’s only delivering the first part of the promised value. In general, design thinking frameworks can only be effective if you take the outputs and use those to produce outcomes. This is why we like design sprints so much. They don’t just deliver artifacts (outputs); they also deliver answers (outcomes). For most, design thinking is like writing a recipe. It’s a guide to what needs to be done, but it’s not the outcome. Unless we actually gather and measure the ingredients, cook the meal, taste the final product, serve it to customers, and gather their responses, we haven’t really delivered the complete value. Recipes are great because they provide the instructions for a guaranteed and repeatable outcome. If you ordered a slice of pie at a restaurant and they passed you the recipe you’d walk out disappointed. And yet, t[...]

Four short links: 23 Feb 2017


Arduino & Pi Bundle, Encryption Primer, Travel Mode, and API Design

  1. Make Arduino and Raspberry Pi Humble Bundle -- cornucopia of great Make books.
  2. Nuts and Bolts: An Encryption Primer (Ed Felten) -- a straightforward introduction to encryption, as it is implemented in modern systems, at a level of detail suitable for policy discussions. No prior background on encryption or data security is assumed.
  3. Social Media Needs a Travel Mode (Maciej Ceglowski) -- We need a 'trip mode' for social media sites that reduces our contact list and history to a minimal subset of what the site normally offers. Not only would such a feature protect people forced to give their passwords at the border, but it would mitigate the many additional threats to privacy they face when they use their social media accounts away from home.
  4. Google API Design Guide -- a general design guide for networked APIs. It has been used inside Google since 2014 and is the guide we follow when designing Cloud APIs and other Google APIs. It is shared here to inform outside developers and to make it easier for us all to work together.

Continue reading Four short links: 23 Feb 2017.


Mobile web performance anti-patterns



7 common mistakes that keep teams from achieving optimum mobile performance, and what to do about them.

When it comes to optimizing web performance, mobile devices need a lot of attention. There are several misconceptions among web professionals, from designers to developers and operations staff, that contribute to a diminished user experience. I’ll detail these anti-patterns below and offer some tips for overcoming the most common mistakes.

1 Waiting too long to apply performance optimizations

The first big issue is that teams don’t sufficiently prioritize performance from the very early design stages. Performance considerations should be incorporated throughout the whole process by the entire team, not just executed by a small team after the project is done. When you don't think about performance for mobile devices from the start you end up working towards the wrong goals, like using a client-side only solution (compared to a server-side or mixed-side solution) or using client-side responsive web design techniques only. Those aren’t really goals; they’re solutions to problems. When you make performance the goal, you can properly analyze the situation, determine what problems you’re facing, and come up with the right solutions to solve them. Stop applying optimizations at the end—because often by the end, it’s too late.

Continue reading Mobile web performance anti-patterns.


Amazing, super-sweet natural proteins



A look at three alternate natural sweeteners that could be safe for our health.

Many of us have a sweet tooth and crave sweet treats throughout the day, like chocolate, candies, fudge, ice cream—you name it. Some of us consume these a little above the recommended amounts because sometimes sweet food just makes us feel better.

Sucrose is the major carbohydrate that is being consumed in every form of processed food such as confectionery, dairy products, or soft drinks. A food company may add honey (40% fructose and 35% glucose), date sugar (80% sucrose), rice syrup (100% glucose), corn syrup (98% glucose), coconut sugar (70%–80% glucose), or evaporated cane sugar (sucrose). But those are just sugar in different forms.

Continue reading Amazing, super-sweet natural proteins.


How to apply design thinking in your organization


Design thinking helps organizations grow, innovate, and improve financial performance.Design thinking is a process that uses design principles for solving complex problems. It helps organizations identify opportunities, unlock innovation, and improve their businesses. Market leaders as varied as Apple, IBM, Intuit, Kaiser Permanente, and Nike have used design thinking to gain a competitive advantage, applying it to create innovative products and services. Within an organization, design thinking is a tool for unlocking cultural change. It makes companies more flexible, more responsive to their customers, and ultimately, more successful. What are the elements of design thinking? Although the name and number of its key principles may vary depending on how you apply them, the basic elements of design thinking always include some variation on the following: researching and defining the problem, ideating, and prototyping and iterating. Researching and defining the problem: Design thinking draws upon user-centered research techniques, including ethnographic analysis, for understanding customers and users. During the research phase of the design thinking process, the goal is to understand and empathize with the people for whom you’re designing. Ideating: During the ideation phase of the design thinking process, the goal is to generate a large number of interesting ideas that represent potential solutions. Techniques for ideation may include sketching, brainstorming, and mind mapping to create high-level concepts. Prototyping and iterating: Making ideas tangible is critical to the design thinking process, as are the iteration cycles required to test and refine those ideas. Design has a bias toward making things, and prototyping is the technique that pushes the making process forward. You’ll create prototypes for demonstrating and validating your basic designs that are based on the best concepts from your ideation exercises. To properly evaluate a design concept, you’ll want to prototype it in the same environment and context in which it will eventually function. Prototypes can be low or high fidelity, interactive or static. What matters is that the prototypes must convey the experience flow. Learn more about the elements of design thinking: Watch Intuit’s Suzanne Pellican talk about Intuit’s journey From design thinking to design driven at the 2016 O’Reilly Design Conference. Learn when to use design thinking by reading the chapter “Design thinking” from the book Key MBA Models. Discover the basics of conducting effective user research in the book UX Research and “The Role of Research in Design Thinking,” a chapter from Design Thinking for Entrepreneurs and Small Businesses: Putting the Power of Design to Work. Learn how to approach the ideation phase in “Design Thinking, Ideation, and Sketching,” a chapter from The UX Book. Learn to build and test prototypes in Creating Prototypes to Test Product Market Fit and "Minimum Viable Products and Prototypes," a chapter from Lean UX. What are the benefits of applying design thinking? By introducing different ways of problem solving and methods for discovering what people truly need, design thinking helps organizations change their cultures to become more customer centric and collaborative. While every company is different, useful metrics for assessing the impact of design thinking include: cultural measures, such as employee satisfaction, internal engagement, and efficiency; financial measures, such as sales and productivity; and product quality measures, such as customer satisfaction. What is the value of design thinking? While the financials alone may paint an incomplete picture, it’s notable nonetheless that design-led companies, such as Apple, IBM, and Nike, outperform t[...]

Artificial intelligence: Cooperation vs. aggression


Machines learn what we teach them. If you don't want AI agents to shoot, don't give them guns.There's been a lot of buzz about some experiments at DeepMind that study whether AI systems will be aggressive or collaborative when playing a game. Players gather virtual apples; they have the ability to temporarily incapacitate an opponent by "shooting" a virtual "laser." And humans are surprised that AIs at times decide that it's to their advantage to shoot their opponent, rather than peacefully gathering apples. My question is simple: what does this tell us? The answer is also simple: nothing at all. If you ask an AI to play a game in which firing lasers at your opponents is allowed, it isn't surprising that the AI fires lasers at opponents, whether the opponents are virtual or physical. You wouldn't expect it to a priori develop some version of Asimov's laws and say, "I can't do this." (If the software doesn't allow it to fire the lasers, well, it won't, but that's hardly interesting.) You wouldn't expect an AI to have a crisis of conscience and say, "no, no, I can't do it." Unless it was programmed with some sort of guilt module, which as far as I know, doesn't exist. Humans, after all, do the same. They kill in first-person shooters as well as in real life. We have whole divisions of the government devoted to the organized killing of other people. (We ironically call that "keeping the peace.") And while humans have a guilt module, it usually only engages after the fact. The only interesting question that a game like this might answer is whether AI systems are more, or less, willing to pull the trigger than humans. I would be willing to bet that: When computers play humans, the computers win. We've certainly had enough experience losing at chess, Go, and poker. Humans are more likely to go for the guns because, well, it's what we do. DeepMind's research suggests that a computer would only shoot if it's part of an efficient strategy for winning; it won't shoot because it's a reflex, because it's scared, or because it's fun. It's up to you whether shooting as part of an efficient strategy for winning is an improvement over human behavior, but it's exactly what I would expect. DeepMind didn't beat Lee Sedol at Go by refusing to be aggressive. And even then, given that we're only talking about a game, I'm not sure that experiment shows us anything at all. I'd expect an AI to be pretty good at playing a first-person shooter, and I don't see any reason for it to derive Asimov's Laws from first principles when it's only exterminating bits. I certainly wouldn't volunteer to participate in a real-life shooter against some scary Boston Dynamics creation, and I hope nobody plans to run that experiment. Likewise, I don't see any reason for an AI to "learn" that there are things in its universe that aren't just bits. We are fascinated by "machine learning"; but in the end, the machines only learn what we tell them to learn. I'm skeptical of singularities, but I will agree that we're facing a singularity when a computer can learn, entirely on its own, that some of the bit patterns coming in through its sensors are humans, and that these bit patterns are qualitatively different from the bit patterns of dogs, cats, or rocks. In the end, we're back where we started. Fear of AI reflects our fear of ourselves. AI mimics human behaviors because we teach it to do so—in this case, by asking it to play a game with human rules. As I've said, if we want better AI, we have to be better people. If we want an AI that can distinguish between humans and bits, we have to teach it what humans are, and how to behave differently in their presence. ("You can shoot the wolf; you can't shoot the human.") And if don't want AI agents to shoot at all, we have to build [...]

Four short links: 22 Feb 2017


Delayed Feedback, Post-Human World, APL in R, and Demand-Driven Digitized Markets

  1. Why We're Suspicious of Immediate Feedback -- Simmons and Cope (1993) found that students were more likely to use procedural strategies like trial and error in a condition of immediate feedback than a condition of delayed feedback.
  2. The Post-Human World (The Atlantic) -- interview with Yuval Harari, whose Sapiens was so damn good. My nephew and these children got into a bit of a fight because they were trying to capture the same invisible creatures. It seemed strange to me. But these Pokémon were very real to the children. And then it hit me: This is just like the Israeli-Palestinian conflict! You have two sides fighting over something that I cannot see. I look at the stones of buildings in Jerusalem and I just see stones. But Christians, Jews, and Muslims who look at the same stones see a holy city. It’s their imagination, but they are willing to kill for it. That’s virtual reality, too.
  3. APL in R -- and you thought R was hard to learn.
  4. Manifestos and Monopolies -- In this brave new world, power comes not from production, not from distribution, but from controlling consumption: all markets will be demand driven; the extent to which they already are is a function of how digitized they have become.

Continue reading Four short links: 22 Feb 2017.


How do I locate data in my SQL Server tables using SQL Server Management Studio diagrams?



Locate data quickly and easily with the SQL Server Management Studio diagram tool.

Continue reading How do I locate data in my SQL Server tables using SQL Server Management Studio diagrams?.


How can I create a Transact-SQL query graphically?



Learn how to visualize tables and data using SQL Server Management Studio’s graphical query tool.

Continue reading How can I create a Transact-SQL query graphically?.


How should I format Transact-SQL queries?



Learn the formatting possibilities for Transact-SQL queries and develop your own code structure.

Continue reading How should I format Transact-SQL queries?.


Four short links: 21 Feb 2017


Fact Checking, Simulated Universes, Radio Hacking, and Fly Brain Hackathon

  1. Expanding Fact Checking at Google -- We’re able to do this work because the fact check industry itself has grown. This starts the most interesting section of the post: G is part of joint projects to debunk myths around the French elections, and are funding a variety of projects around Europe.
  2. Simulated Universes (We Make Money Not Art) -- This year, a section of the exhibition of the GAMERZ festival was dedicated to the omnipresence of algorithms into our life. It was curated by artist, writer and otherwise brilliant cultural agitator Ewen Chardronnet. Summary of the different art projects, and Chardronnet's approach.
  3. Universal Radio Hacker -- software for investigating unknown wireless protocols. Features include hardware interfaces for common Software Defined Radios; easy demodulation of signals; assigning participants to keep overview of your data; customizable decodings to crack even sophisticated encodings like CC1101 data whitening; assign labels to reveal the logic of the protocol; fuzzing component to find security leaks; modulation support to inject the data back into the system.
  4. Fruit Fly Brain Hackathon 2017 -- This hackathon will feature the Fruit Fly Brain Observatory (FFBO) and its key components NeuroNLP and NeuroGFX. The former allows for exploring fruit fly brain data using plain English queries, and the latter facilitates the modeling and execution of such brain circuits. Brief tutorials will be given on the usage of the FFBO as well as developing new tools/features in FFBO.

Continue reading Four short links: 21 Feb 2017.


All grown up: The IoT market today


Using a data-driven analysis to understand IoT technology adoption.Although we’ve been talking about it for years, it was in 2016 that the adoption of the Internet of Things (IoT)—among consumers and businesses—rose dramatically. At least in part, this was due to factors like the increased numbers of sensors and connected devices, a growing pool of skilled IoT developers, and real-time data and analytics support for IoT systems. As consumers, we now live with and are helped by IoT devices in our homes, our cars, even our toys. In the business world, the impact is even more pervasive. One of the industries that comes to mind for many of us when we think about the IoT is manufacturing, where connected technologies can improve safety, maintenance, and efficiency. Globally, the impact of the IoT on manufacturing has been evidenced by national initiatives such as Germany’s Industrie 4.0 and China’s Made in China 2025. But that’s old news. In the past year, we’ve seen businesses use IoT technologies in other ways, and with wider applications. Innovations like advances in deep learning that can be applied to the IoT make it likely that the growth of the IoT will continue to accelerate. If last year the IoT “grew up,” 2017 will mark the year that the IoT starts to become essential to modern business. A newly published report, The Internet of Things Market, by Aman Naimat, presents a current snapshot of the IoT business landscape, describing a data-driven analysis of the companies, industries, and workers using IoT technologies. Making use of web crawlers, natural language processing, and network analysis to process over 300 TB of data, Naimat uncovers some surprising results. For one, the IoT landscape looks different than the market for big data tools in several ways: which companies are adopting IoT technologies, their sizes, and their locations. Secondly, we found that the current use cases that incur the most spending on the IoT are not the ones that have been predicted to become the most valuable: health care and smart cities, for example. The report opens by looking at the number of companies using IoT technologies and the maturity level of their projects. Figure 1. Companies that have adopted IoT technologies by level of maturity. What do we mean by IoT project maturity? Level 1 projects are still under development, meaning products have not been deployed; strategy, design, scope, and infrastructure are all a work in progress. Level 2 projects have been deployed either within a specific department or for a single use case, such as inventory control. Level 3 maturity projects represent companies like Nest or Amazon, that have made the IoT a strategic directive for their businesses and have deployed IoT tools or products to address multiple use cases. While the numbers listed in the figure may not seem large, they represent actual adoption of IoT technologies and are, in fact, similar to the current level of adoption of big data technologies. Given the buzz around big data began as early as the 1990s, much earlier than interest in the IoT began, this points to a faster adoption curve for IoT. Ever increasing data sets and more robust compute power and scalability will doubtless lead to more IoT breakthroughs—and therefore business investments—in the future. But to know where we’re going, we need to understand where we currently are. The Internet of Things Market report can help you get your bearings. This post is a collaboration between O’Reilly and Talend. See our statement of editorial independence. Continue reading All grown up: The IoT market today.[...]

Bots: What you need to know


Bots are made possible by recent advances in artificial intelligence, user interface, and communication.“Bots are the new apps”—Satya Nadella, CEO of Microsoft Bots are a new, AI-driven way to interact with users in a variety of environments. As AI improves and users turn away from single-purpose apps and toward messaging interfaces, they could revolutionize customer service, productivity, and communication. Getting started with bots is as simple as using any of a handful of new bot platforms that aim to make bot creation easy; sophisticated bots require an understanding of natural language processing (NLP) and other areas of artificial intelligence. Bots use artificial intelligence to converse in human terms, usually through a lightweight messaging interface like Slack or Facebook Messenger, or a voice interface like Amazon Echo or Google Assistant. Since late 2015, bots have been the subject of immense excitement in the belief that they might replace mobile apps for many tasks and provide a flexible and natural interface for sophisticated AI technology. Bots are promising for a number of use cases currently served by mobile apps, as well as many that have never been well served by mobile apps: Customer relationship management: consumer-facing bots can assist customers with difficult transactions, make recommendations, and gather data. For instance, an airline’s bot could answer questions about fees, rebook flights, and suggest add-ons like hotel and car reservations. Matched to a sophisticated data-mining back end, the bot could build up customer profiles that the airline can use to market vacations, travel deals, and additional services. Productivity: bots could replace many slow tasks with a simple natural-language interface. For instance, a bot connected to an electronic medical record system could retrieve information faster than a conventional lookup; just ask “what was the patient’s blood pressure during his January visit?” Bots are already able to schedule meetings over email, retrieve reports from analytics systems, and facilitate communication among teams. Publishing and entertainment: bots provide an engaging, highly dynamic interface for many kinds of content. The New York Times and Quartz, for instance, both offer bots that display articles in a conversational format. Other publishers have experimented with conversational novels, video, and magazine content sent directly to users through popular messaging platforms. Bots are a particularly promising way to reach younger users, many of whom spend enormous amounts of time in messaging apps like Kik, and could be a significant avenue for influencer marketing. Conversational bots are a response to several larger trends that are reshaping communication and mobile computing: The mobile app economy is stagnating; it’s getting harder to persuade consumers to download and use new apps. As The Economist pointed out: “The 20 most successful developers grab nearly half of all revenues on Apple’s App Store. Building apps and promoting them is getting more costly. Meanwhile, users’ enthusiasm is waning, as they find downloading apps and navigating between them a hassle. A quarter of all downloaded apps are abandoned after a single use.” Consumers like conversational interfaces, and companies want to make themselves available on the platforms that their customers enjoy using. Facebook Messenger is the most popular Android app; it and WhatsApp (another Facebook messaging app) each have more than one billion active users. Artificial intelligence [...]

Using microservices to evolve beyond the data lake


The better prepared you are to utilize all the data in your data lake, the more likely you are to be successful​.Big data tools and technologies started out by meeting the needs of the analytics community, but they have been evolving ever since. These tools and technologies were born out of the necessity to support large-scale analytics that wouldn’t break the bank. They have since morphed into a set of technologies to support the live operational aspects of a business. Starting with Hadoop, Pig and Hive, HBase and other NoSQL point solutions onto Spark, Flink, Drill, and Kafka—a plethora of technologies that were built to each handle individual aspects of the three V’s of big data (volume, variety, and velocity). Let’s take a moment to level set. These technologies started out by displacing workloads previously reserved for the traditional data warehouse. Those data warehouses are now actively being augmented or displaced by data lakes. Fundamentally, this is predominantly driven by the cost savings when handling large volumes of data. Does this mean that traditional RDBMS or data warehouse are obsolete? Of course not! At this point in time, this is still primarily a story of co-existence. Putting big data aside for a just a moment, let’s peer into the applications that create data. These applications or services that have been built are still mostly monolithic in nature. This has been due in part to the cost of scaling the messaging layer to build properly decoupled components. The data these applications are generating has been growing by magnitudes in recent years, and making services smaller and more micro in nature means more data moving and more data being stored. Businesses have begun the move to microservices, so the better prepared you are to leverage all of this data with your data lake, the more likely you are to be successful. In the meantime, companies are putting more and more data in their data lakes. System “A” generating data, process “B” transforming that data, process “C” moving the data to store it in data lake “D” to be analyzed, by analytics application “E.” Just because the only thing that was really changed between the data warehouse and the data lake is the final storage location doesn’t mean we shouldn’t think further into the future. Time to evolve beyond the data lake Generally speaking, moving from the data warehouse to the data lake enables new ways to look at the business opportunities available. The processes don’t change a lot by just swapping in the data lake for the data warehouse. It still takes a substantial amount of time to get the data moved from the source to the destination, and the transformations are likely to still be complex. While this technology change may help move the business in the right direction, it likely doesn’t take it far enough. Companies use software to drive their business. The faster software can be written, tested, and deployed to production, the more nimble and agile a company can be to respond to its business needs. The same goes for the speed at which data can be stored at the final destination and made available to all downstream processes. Instead of just swapping technologies, we should think bigger. Let’s consider for a moment that we built our business application and deployed it directly on top of our data lake. I’m not talking about just some analytics application. I’m talking about applications that require data persistence like a database—maybe key-value, wide-column oriented, or even a document [...]

How can I pass parameters to a command in C#?



Learn how to pass data to a command without violating the command pattern in C#.

Continue reading How can I pass parameters to a command in C#?.


How do I use the singleton pattern in C#?



Learn how to create thread-safe instances with the singleton pattern in C#.

Continue reading How do I use the singleton pattern in C#?.


How do I use the repository pattern in C#?



Learn how to correctly implement the repository pattern in C#.

Continue reading How do I use the repository pattern in C#?.


Four short links: 20 Feb 2017


Car Security, Civ Math, Free Mindstorms, and Chinese AI Research

  1. Used Cars Still Controllable From Previous Owners' Phone -- “The car is really smart, but it’s not smart enough to know who its owner is, so it’s not smart enough to know it’s been resold,” Henderson told CNNTech. “There’s nothing on the dashboard that tells you ‘the following people have access to the car.'”
  2. Mathematics of Civilization V -- a beautiful obsession. (Theoretically beautiful. The page is full of LaTeX-rendered math and graphs, and is less than beautiful)
  3. Seymour Papert's Mindstorms, Free -- classic, available online as a PDF.
  4. China's AI Research (The Atlantic) -- Yet as the research matures in China, Ng says, it is also becoming its own distinct community. After a recent international meeting in Barcelona, he recalls seeing Chinese language write-ups of the talks circulate right away. He never found any in English. The language issue creates a kind of asymmetry: Chinese researchers usually speak English so they have the benefit of access to all the work disseminated in English. The English-speaking community, on the other hand, is much less likely to have access to work within the Chinese AI community.

Continue reading Four short links: 20 Feb 2017.


How to drive shareholder value with artificial intelligence



Your company is probably already doing AI and machine learning, but it needs a road map.

Continue reading How to drive shareholder value with artificial intelligence.


Four short links: 17 February 2017


Robot Governance, Emotional Labour, Predicting Personality, and Music History

  1. Who Should Own the Robots? (Tyler Cowan) -- what is government in a world where everything is done by the robots? [...] Say there are 50 people in the government, and they allocate the federal budget subject to electoral constraints. Even a very small percentage of skim makes them fantastically wealthy, and gives them all sorts of screwy incentives to hold on to power. If they can, they’ will manipulate robot software toward that end. Designing governance for The Robot Future is definitely a Two Beer Problem.
  2. Emotional Labour for GMail -- Automate emotional labor in Gmail messages.
  3. Beyond the Words: Predicting User Personality from Heterogeneous Information -- we propose a Heterogeneous Information Ensemble framework, called HIE, to predict users’ personality traits by integrating heterogeneous information, including self-language usage, avatar, emoticon, and responsive patterns. In our framework, to improve the performance of personality prediction, we have designed different strategies extracting semantic representations to fully leverage heterogeneous information on social media. (via Adrian Colyer)
  4. Theft: A History of Music -- a graphic novel laying out a 2,000-year-long history of music, from Plato to rap. The comic is by James Boyle, Jennifer Jenkins, and the late Keith Aoki. You can buy print, or download for free.

Continue reading Four short links: 17 February 2017.


Amir Shevat on workplace communication



The O’Reilly Bots Podcast: Slack’s head of developer relations talks about what bots can bring to Slack channels.

In this episode of the O’Reilly Bots Podcast, Pete Skomoroch and I speak with Amir Shevat, head of developer relations at Slack and the author of the forthcoming O’Reilly book Designing Bots: Creating Conversational Experiences.

Continue reading Amir Shevat on workplace communication.


Simon Endres on designing in an arms race of high-tech materials



The O’Reilly Design Podcast: The guiding light of strategy, designing Allbirds, and what makes the magic of a brand identity.

In this week’s Design Podcast, I sit down with Simon Endres, creative director and partner at Red Antler. We talk about working from a single idea, how Red Antler is helping transform product categories, and the importance of having a point of view.

Continue reading Simon Endres on designing in an arms race of high-tech materials.


Four short links: 16 February 2017


Memory-Busting Javascript, Taobao Villages, Drone Simulation, and Bio Bots

  1. ASLR-Busting Javascript (Ars Technica) -- modern chips randomize where your programs actually live in memory, to make it harder for someone to overwrite your code. This clever hack (in Javascript!) makes the CPU cache reveal (through faster returns) where your code is. I'm in awe.
  2. China's Taobao Villages (Quartz) -- Today, the township and its surrounding area are China’s domestic capital for one rather specific category of products: acting and dance costumes. Half of the township’s 45,000 residents produce or sell costumes—ranging from movie-villain attire to cute versions of snakes, alligators, and monkeys—that are sold on Alibaba-owned Taobao, the nation’s largest e-commerce platform.
  3. Aerial Informatics and Robotics platform (Microsoft) -- open source drone simulator.
  4. How to Build Your Own Bio Bot (Ray Kurzweil) -- researchers are sharing a protocol with engineering details for their current generation of millimeter-scale soft robotic bio-bots.

Continue reading Four short links: 16 February 2017.


How Python syntax works beneath the surface



Use Python's magic methods to amplify your code.

Continue reading How Python syntax works beneath the surface.


Four short links: 15 Feb 2017


Docker Data, Smart Broadcasting, Open Source, and Cellphone Spy Tools

  1. Docker Data Kit -- Connect processes into powerful data pipelines with a simple git-like filesystem interface.
  2. RedQueen: An online algorithm for smart broadcasting in social networks (Adrian Colyer) -- This paper starts out with a simple question “when’s the best time to tweet if you want to get noticed?,” detours through some math involving “solving a novel optimal control problem for a system of jump stochastic differential equations (SDEs),” and pops out again on the other side with a simple online algorithm called RedQueen.
  3. Open Source Guides -- GitHub's guide to making and contributing to open source. GitHub's is nicely packaged into visual and consumable chunks, but I still prefer (newly updated) Producing Open Source Software. The more people know how to do open source, the better.
  4. Cellphone Spy Tools Flood Local Police Departments -- caught my eye because I'm pondering visiting the U.S. this year, and I'm not a fan of surrendering devices for search. My current line of thought is: if CBP/popo are going to take a device from me and plug it into their software, hardware, and network ... it just has to look like a phone. Next challenge: making a large capacitor look like an unlocked iPhone.

Continue reading Four short links: 15 Feb 2017.


Doug Barth and Evan Gilman on Zero Trust networks



The O’Reilly Security Podcast: The problem with perimeter security, rethinking trust in a networked world, and automation as an enabler.

In this episode, I talk with Doug Barth, site reliability engineer at Stripe, and Evan Gilman, Doug’s former colleague from PagerDuty who is now working independently on Zero Trust networking. They are also co-authoring a book for O’Reilly on Zero Trust networks. They discuss the problems with traditional perimeter security models, rethinking trust in a networked world, and automation as an enabler.

Continue reading Doug Barth and Evan Gilman on Zero Trust networks.


Why you need a data strategy, and what happens if you don’t have one



How to map out a plan for finding value in data.

Continue reading Why you need a data strategy, and what happens if you don’t have one.


Four short links: 14 Feb 2017


Rapping Neural Network, H1B Research, Quantifying Controversy, Social Media Research Tools

  1. Rapping Neural Network -- It's a neural network that has been trained on rap songs, and can use any lyrics you feed it and write a new song (it now writes word by word as opposed to line by line) that rhymes and has a flow (to an extent). With examples.
  2. H1B Research -- H1B holders are paid less and often weaker in skills compared to their American counterparts.
  3. Amazon Chime -- interesting to see a business service from Amazon, not a operations service. This is better (they claim) meeting software: move between devices, with screen-sharing, video, chat, file-sharing.
  4. Quantifying Controversy in Social Media -- The research is carried out in the context of Twitter, but in theory can be applied to any social graph structure. A topic is simply defined as a query, often a hashtag. Given a query, we can build a conversation graph with vertices representing users, and edges representing activity and interactions between users. Using a graph partitioning algorithm, we can then try to partition the graph in two. If the partitions separate cleanly, then we have a good indication that the topic is controversial and has polarized opinions.
  5. Social Media Research Toolkit -- a list of 50+ social media research tools curated by researchers at the Social Media Lab at Ted Rogers School of Management, Ryerson University. The kit features tools that have been used in peer-reviewed academic studies. Many tools are free to use and require little or no programming. Some are simple data collectors such as tweepy, a Python library for collecting Tweets, and others are a bit more robust, such as Netlytic, a multi-platform (Twitter, Facebook, and Instagram) data collector and analyzer, developed by our lab. All of the tools are confirmed available and operational.

Continue reading Four short links: 14 Feb 2017.


The dirty secret of machine learning



David Beyer talks about AI adoption challenges, who stands to benefit most from the technology, and what's missing from the conversation.

Continue reading The dirty secret of machine learning.


Four short links: 13 Feb 2017


Urban Attractors, Millimetre-Scale Computing, Ship Small Code, and C++ Big Data

  1. Urban Attractors: Discovering Patterns in Regions of Attraction in Cities -- We use a hierarchical clustering algorithm to classify all places in the city by their features of attraction. We detect three types of Urban Attractors in Riyadh during the morning period: Global, which are significant places in the city, and Downtown, which are the central business district and Residential attractors. In addition, we uncover what makes these places different in terms of attraction patterns. We used a statistical significance testing approach to rigorously quantify the relationship between Points of Interests (POIs) types (services) and the three patterns of Urban Attractors we detected.
  2. Millimetre-Scale Deep Learning -- Another micro mote they presented at the ISSCC incorporates a deep-learning processor that can operate a neural network while using just 288 microwatts.
  3. Ship Small Diffs (Dan McKinley) -- your deploys should be measured in dozens of lines of code rather than hundreds. [...] In online systems, you have to ship code to prove that it works. [...] Your real problem is releasing frequently. So quotable, so good.
  4. Thrill -- distributed big data batch computations on a cluster of machines ... in C++. (via Harris Brakmic)

Continue reading Four short links: 13 Feb 2017.


Four short links: 10 Feb 2017


Microsoft Graph Engine, Data Exploration, Godel Escher Bach, and Docker Secrets

  1. Microsoft Graph Engine -- open source (Windows now, Unix coming) graph data engine. It's the open source implementation of Trinity: A Distributed Graph Engine on a Memory Cloud.
  2. Superset -- AirBnB's data exploration platform designed to be visual, intuitive, and interactive now with a better SQL IDE.
  3. MIT Godel Escher Bach Lectures -- not Hofstadter himself, but a thorough walkthrough of the premises and ideas in the book.
  4. Docker Secrets Management -- interesting to see etcd getting some competition here.

Continue reading Four short links: 10 Feb 2017.


Hacker quantified security



Alex Rice on the importance of inviting hackers to find vulnerabilities in your system, and how to measure the results of incorporating their feedback.

Continue reading Hacker quantified security.


Tom Davenport on mitigating AI's impact on jobs and business



The O'Reilly Radar Podcast: The value humans bring to AI, guaranteed job programs, and the lack of AI productivity.

This week, I sit down with Tom Davenport. Davenport is a professor of Information Technology and Management at Babson College, the co-founder of the International Institute for Analytics, a fellow at the MIT Center for Digital Business, and a senior advisor for Deloitte Analytics. He also pioneered the concept of “competing on analytics.” We talk about how his ideas have evolved since writing the seminal work on that topic, Competing on Analytics: The New Science of Winning; his new book Only Humans Need Apply: Winners and Losers in the Age of Smart Machines, which looks at how AI is impacting businesses; and we talk more broadly about how AI is impacting society and what we need to do to keep ourselves on a utopian path.

Continue reading Tom Davenport on mitigating AI's impact on jobs and business.


How to build—and grow—a strong design practice


5 questions for Aarron Walter: Shaping products, growing teams, and managing through change.I recently asked Aarron Walter, VP of design education at InVision and author of Designing for Emotion, to discuss what he has learned through his years of building and managing design teams. At the O’Reilly Design Conference, Aaron will be presenting a session, Hard-learned lessons in leading design. Your talk at the upcoming O'Reilly Design Conference is titled Hard-learned lessons in leading design. Tell me what attendees should expect. I had the unique opportunity of watching a company grow from just a handful of people to more than 550 over the course of eight years at MailChimp. When I started we had a few thousand customers, but when I left in February of 2016, there were more than 10 million worldwide. We saw tremendous growth, and I learned so much in my time there. In my talk, I'll be sharing the most salient lessons I learned along the way—how to shape a product, grow a team, how a company changes and how it changes people's careers, and a lot more. What are some of the challenges that come along with building and leading a design team in a strong growth period? As a company grows, the people who run it have to grow, too. There's a steep learning curve. When you're a small team it's easy to make decisions and get things done. But when a company grows, clear processes are needed, more people need to be brought into the planning process, and rapport has to be developed between teams and key individuals. The trick is you never really know what stage the company is in, so there's always uncertainty about whether you're doing the right thing. Everyone has to adapt and change with each new stage, and that can be hard for some people. What are some of the more memorable lessons you learned along the way? Early on as the director of UX, I thought my most important job was designing a great product. That was true but only until we needed to start building teams. Then my most important job was hiring great people. That remained my top priority for years to come, and I see it as my lasting legacy within the company. There are so many smart, talented people at MailChimp. I'm proud to have played a part in hiring and mentoring a number of people who've gone on to lead their own teams. In the early years of the product, we were focused on the future, toward new features and new ideas. But as the product and company matured, we had to master the art of refinement. Feature production is a treadmill: there will always be something else you can build. But if those features are half-baked or unrefined, you can end up with a robust product that is too complicated or too broken to use. Phil Libin said it best, "The best product companies in the world have figured out how to make constant quality improvements part of their essential DNA." You will be speaking about the importance of building a strong design practice. Can you explain what this looks like? A strong design practice has t[...]

Deep learning for Apache Spark



The O’Reilly Data Show Podcast: Jason Dai on BigDL, a library for deep learning on existing data frameworks.

In this episode of the Data Show, I spoke with Jason Dai, CTO of big data technologies at Intel, and co-chair of Strata + Hadoop World Beijing. Dai and his team are prolific and longstanding contributors to the Apache Spark project. Their early contributions to Spark tended to be on the systems side and included Netty-based shuffle, a fair-scheduler, and the “yarn-client” mode. Recently, they have been contributing tools for advanced analytics. In partnership with major cloud providers in China, they’ve written implementations of algorithmic building blocks and machine learning models that let Apache Spark users scale to extremely high-dimensional models and large data sets. They achieve scalability by taking advantage of things like data sparsity and Intel’s MKL software. Along the way, they’ve gained valuable experience and insight into how companies deploy machine learning models in real-world applications.

Continue reading Deep learning for Apache Spark.


Four short links: 9 February 2017


In-Memory Malware, Machine Ethics, Open Source Maintainer's Dashboard, and Cards Against Silicon Valley

  1. In-Memory Malware Infesting Banks (Ars Technica) -- According to research Kaspersky Lab plans to publish Wednesday, networks belonging to at least 140 banks and other enterprises have been infected by malware that relies on the same in-memory design [as Stuxnet] to remain nearly invisible. (via Boing Boing)
  2. Technical Challenges in Machine Ethics (Robohub) -- interesting interview with a researcher who is attempting to implement ethics in software. Fascinating to read about the approach and challenges.
  3. Scope -- nifty tool to help busy open source maintainers stay on top of their GitHub-hosted projects...dashboard for critical issues, PRs, etc.
  4. Cards Against Silicon Valley -- spot on tragicomedy.

Continue reading Four short links: 9 February 2017.


Four short links: 8 February 2017


Becoming a Troll, Magic Paper, HTTPS Interception, and Deep NLP

  1. Anyone Can Become a Troll (PDF) -- A predictive model of trolling behavior shows that mood and discussion context together can explain trolling behavior better than an individual’s history of trolling. These results combine to suggest that ordinary people can, under the right circumstances, behave like trolls. (via Marginal Revolution)
  2. Magic Paper -- printed with light, erased with heat, and reusable up to 80 times. (via Slashdot)
  3. The Security Implication of HTTPS Interception (PDF) -- We find more than an order of magnitude more interception than previously estimated and with dramatic impact on connection security. To understand why security suffers, we investigate popular middleboxes and clientside security software, finding that nearly all reduce connection security and many introduce severe vulnerabilities. Drawing on our measurements, we conclude with a discussion on recent proposals to safely monitor HTTPS and recommendations for the security community.
  4. Deep Natural Language Processing Course -- This repository contains the lecture slides and course description for the Deep Natural Language Processing course offered in Hilary Term 2017 at the University of Oxford.

Continue reading Four short links: 8 February 2017.


What is the new reduce algorithm in C++17?



Learn how to allow for parallelization using the reduce algorithm, new in C++17.

Continue reading What is the new reduce algorithm in C++17?.


Four short links: 7 February 2017


Game Theory, Algorithms and Robotics, High School Not Enough, and RethinkDB Rises

  1. Game Theory in Practice (The Economist) -- various firms around the world offering simulations/models of scenarios like negotiations, auctions, regulation, to figure out strategies and likely courses of action from other players.
  2. Videos from the 12th Workshop on Algorithmic Foundations of Robotics -- there are plenty with titles like "non-Gaussian belief spaces" (possibly a description of modern America) but also keynotes with titles like Replicators, Transformers, and Robot Swarms.
  3. No Jobs for High School Grads (NYT) -- “In our factories, there’s a computer about every 20 or 30 feet,” said Eric Spiegel, who recently retired as president and chief executive of Siemens USA. “People on the plant floor need to be much more skilled than they were in the past. There are no jobs for high school graduates at Siemens today.”
  4. The Liberation of RethinkDB -- The Linux Foundation bought the IP after the startup wound-up, where it's now run as an open source project via the Cloud Native Computing Foundation, all with the support of the founder and community. Happy story for everyone but the investors in RethinkDB. Also worth noting: RethinkDB is in a competitive space ("NoSQL stuff") and stands out so much that real money went to rescuing it from the startup deadpool.

Continue reading Four short links: 7 February 2017.


Staying out of trouble with big data



Understanding the FTC’s role in policing analytics.

Continue reading Staying out of trouble with big data.


How do I use the slice notation in Python?



Learn how to extract data from a structure correctly and efficiently using Python's slice notation.

How do I use the slice notation in Python?

In this tutorial, we will review the Python slice notation, and you will learn how to effectively use it. Slicing is used to retrieve a subset of values.

The basic slicing technique is to define the starting point, the stopping point, and the step size - also known as stride.

Continue reading How do I use the slice notation in Python?.


Four short links: 6 February 2017


NPC AI, Deep Learning Math Proofs, Amazon Antitrust, and Code is Law

  1. Building Character AI Through Machine Learning -- NPCs that learn from/imitate humans. (via Greg Borenstein)
  2. Network-Guided Proof Search -- We give experimental evidence that with a hybrid, two-phase approach, deep-learning-based guidance can significantly reduce the average number of proof search steps while increasing the number of theorems proved.
  3. Amazon's Antitrust Paradox -- This Note maps out facets of Amazon’s dominance. Doing so enables us to make sense of its business strategy, illuminates anticompetitive aspects of Amazon’s structure and conduct, and underscores deficiencies in current doctrine. The Note closes by considering two potential regimes for addressing Amazon’s power: restoring traditional antitrust and competition policy principles or applying common carrier obligations and duties. Fascinating overview of the American conception of antitrust.
  4. FBI's RAP-BACK Program -- software encodes "guilty before trial." employers enrolled in federal and state Rap Back programs receive ongoing, real-time notifications and updates about their employees’ run-ins with law enforcement, including arrests at protests and charges that do not end up in convictions.

Continue reading Four short links: 6 February 2017.


How do you customize packages in a Kickstart installation?



Learn how to set up your configuration file to indicate the types of packages you want to install by using the “yum” command.

Continue reading How do you customize packages in a Kickstart installation?.


Four short links: 3 February 2017


Stream Alerting, Probabilistic Cognition, Migrations at Scale, and Interactive Machine Learning

  1. StreamAlert -- a serverless, real-time data analysis framework that empowers you to ingest, analyze, and alert on data from any environment, using data sources and alerting logic you define. Open source from AirBnB.
  2. Probabilistic Models of Cognition -- we explore the probabilistic approach to cognitive science, which models learning and reasoning as inference in complex probabilistic models. In particular, we examine how a broad range of empirical phenomena in cognitive science (including intuitive physics, concept learning, causal reasoning, social cognition, and language understanding) can be modeled using a functional probabilistic programming language called Church.
  3. Online Migrations at Scale -- In this post, we’ll explain how we safely did one large migration of our hundreds of millions of Subscriptions objects. This is a solid process.
  4. Interactive Machine Learning (Greg Borenstein) -- intro to, and overview of, the field of Interactive Machine Learning, elucidating the principles for designing systems that let humans use these learning systems to do things they care about. In Greg's words, Machine learning has the potential to be a powerful tool for human empowerment, touching everything from how we shop to how we diagnose disease to how we communicate. To build these next thousand projects in a way that capitalizes on this potential, we need to learn not just how to teach the machines to learn but how to put the results of that learning into the hands of people.

Continue reading Four short links: 3 February 2017.


Personalization's big question: Why am I seeing this?



Sara M. Watson from Digital Asia Hub discusses the state of personalization and how it can become more useful for consumers.

Continue reading Personalization's big question: Why am I seeing this?.


How do you create a Kickstart file?



Learn how to create and make changes to a Kickstart configuration file using the anaconda-ks.cfg.

Continue reading How do you create a Kickstart file?.


How do I use the set_intersection algorithm in C++?



Learn how to handle array comparisons using the set_intersection algorithm in C++.

Continue reading How do I use the set_intersection algorithm in C++?.


Mike Vladimer on IoT connectivity



The O’Reilly Hardware Podcast: Powering connected devices with low-power networks.

In this episode of the O’Reilly Hardware Podcast, Brian Jepson and I speak with Mike Vladimer, co-founder of the Orange IoT Studio at Orange Silicon Valley. Vladimer discusses how Internet of Things devices could benefit from connectivity options other than those provided by well-known technologies (including cellular, WiFi, and Bluetooth), and explains the LoRa wireless protocol, which supports long-range and lower-power applications.

Continue reading Mike Vladimer on IoT connectivity.


Extend Spark ML for your own model/transformer types



How to use the wordcount example as a starting point (and you thought you’d escape the wordcount example).

While Spark ML pipelines have a wide variety of algorithms, you may find yourself wanting additional functionality without having to leave the pipeline model. In Spark MLlib, this isn't much of a problem—you can manually implement your algorithm with RDD transformations and keep going from there. For Spark ML pipelines, the same approach can work, but we lose some of the nicely integrated properties of the pipeline, including the ability to automatically run meta-algorithms, such as cross-validation parameter search. In this article, you will learn how to extend the Spark ML pipeline model using the standard wordcount example as a starting point (one can never really escape the intro to big data wordcount example).

Continue reading Extend Spark ML for your own model/transformer types.


Kat Holmes on Microsoft’s human-led approach to tackling society’s challenges



The O’Reilly Design Podcast: Building bridges across disciplines, universal vs. inclusive design, and what playground design can teach us about inclusion.

In this week’s Design Podcast, I sit down with Kat Holmes, principal design director, inclusive design at Microsoft. We talk about what she looks for in designers, working on the right problems to solve, and why both inclusive and universal design are important but not the same.

Continue reading Kat Holmes on Microsoft’s human-led approach to tackling society’s challenges.


Four short links: 2 February 2017


Physical Authentication, Crappy Robots, Immigration Game, and NN Flashcards

  1. Pervasive, Dynamic Authentication of Physical Items (ACM Queue) -- Silicon PUF circuits generate output response bits based on a silicon device's manufacturing variation. This is cute!
  2. Hebocon -- crappy robot competition.
  3. Martian Immigration Nightmare -- a game can make a point.
  4. TraiNNing Cards -- flashcards for neural networks. Hilarious!

Continue reading Four short links: 2 February 2017.


Should you containerize your Go code?


Containers helps you distribute, deploy, run, and test your Golang projects.I’m a huge fan of Go, and I’m also really interested in containers, and how they make it easier to deploy code, especially at scale. But not all Go programmers use containers. In this article I’ll explore some reasons why you really should consider them for your Go code — and then we’ll look at some cases where containers wouldn’t add any benefit at all. First, let’s just make sure we’re all on the same page about what we mean by “containers.” What is a container? There are probably about as many different definitions of what a container is as there are people using them. For many, the word “container” is synonymous with Docker, although containers have been around a lot longer than either the Docker open-source project or Docker the company. If you're new to containers, Docker is probably your best starting point, with its developer-friendly command line support, but there are other implementations available: Linux Containers - container implementations including LXC and LXD rkt - pod-native container engine from CoreOS runc - running containers per the OCI specification Windows Containers - Windows Server containers and Hyper-V containers Containers are a virtualization technology — they let you isolate an application so that it’s under the impression it’s running in its own physical machine. In that sense a container is similar to a virtual machine, except that it uses the operating system on the host rather than having its own operating system. You start a container from a container image, which bundles up everything that the application needs to run, including all its runtime dependencies. These images make for a convenient distribution package. Containers make it easy to distribute your code Because the dependencies are part of the container image, you’ll get exactly the same versions of all the dependencies when you run the image on your development machine, in test, or in production. No more bugs that turn out to be caused by a library version mismatch between your laptop and the machines in the data center. But one of the joys of Go is that it compiles into a single binary executable. You have to deal with dependencies at build time, but there are no runtime dependencies and no libraries to manage. If you’ve ever worked in, say, Python, JavaScript, Ruby, or Java, you’ll find this aspect of Go to be a breath of fresh air: you can get a single executable file out of the Go compilation [...]

What is a Kickstart installation and why would you use it?



Learn to use Kickstart to get the same look on multiple Red Hat Enterprise Linux system installations.

Continue reading What is a Kickstart installation and why would you use it?.


How do you use standard algorithms with object methods in C++?



Learn how to write shorter, better performing, and easier to read code using standard algorithms with object methods in C++.

Continue reading How do you use standard algorithms with object methods in C++?.


Four short links: 1 February 2017


Unhappy Developers, Incident Report, Compliance as Code, AI Ethics

  1. Unhappy Developers -- paper authors surveyed 181 developers and built a framework of consequences: Internal Consequences, such as low cognitive performance, mental unease or disorder, low motivation; External Consequences, which might be Process-related (low productivity, delayed code, variation from the process) or Artefact-related (low-quality code, rage rm-ing the codebase). Hoping to set the ground for future research into how developer happiness affects software production.
  2. GitLab Database Incident Report -- YP thinks that perhaps pg_basebackup is being super pedantic about there being an empty data directory, decides to remove the directory. After a second or two he notices he ran it on, instead of YP died for your sins.
  3. Compliance as Code -- instead of relying on checklists and procedures and meetings, the policies and rules are enforced (and tracked) through automated controls, which are wired into configuration management tools and the Continuous Delivery pipeline. Every change ties back to version control and a ticketing system like Jira for traceability and auditability: all changes must be made under a ticket, and the ticket is automatically updated along the pipeline, from the initial request for work all the way to deployment.
  4. Ethical Considerations in AI Courses -- In this article, we provide practical case studies and links to resources for use by AI educators. We also provide concrete suggestions on how to integrate AI ethics into a general artificial intelligence course and how to teach a stand-alone artificial intelligence ethics course.

Continue reading Four short links: 1 February 2017.