Winder.AI Blog

Industrial AI insight about machine learning, reinforcement learning, MLOps, and more...


Research-Driven Development: Improve the Software You Love While Staying Productive

Research-Driven Development: Improve the Software You Love While Staying Productive

Mon Oct 16, 2017, in Software Engineering, Talk

Slides Abstract Have you ever wondered which parts of your job you love or hate? Chances are that like most developers you love learning and new problems to solve. You hate monotony and bureaucracy. You’ve probably put strategies in place to mitigate the things you don’t like. An anarchic development process like Agile, to reduce the amount of time in meetings. But have you ever thought about the way in which you approach learning and problem solving?

What is Artificial Intelligence?

Fri Oct 6, 2017, by phil-winder, in Data Science, Talk

If you ask anyone what they think AI is, they’re probably going to talk about sci-fi. We sometimes even need to set the record straight during our AI consulting projects. Science fiction has been greatly influenced by the field of artificial intelligence, or A.I.

Probably the two most famous books about A.I. are I, Robot, released in 1950 by Isaac Asimov and 2001: A Space Odyssy, released in 1968 by Arthur C. Clarke.

I, Robot introduced the three laws of robotics. 1) A robot must not injure a human being, 2) a robot must obay the orders, except where the orders would conflict with the First Law and 3) a robot must protect its own existance as long as such protection does not conflict with the First or Second Laws.

2001: A Space Odyssey is a story about a psychopathic A.I. called HAL 9000 that intentionally tries to kill the humans on board a space station to save it’s own skin, in a sense.

But the history of AI stems back much further…

The Meaning of (Artificial) Life: A Prelude to What is Data Science?

The Meaning of (Artificial) Life: A Prelude to What is Data Science?

Tue Oct 3, 2017, in Data Science, Talk

Slides Abstract The Hitchhiker’s Guide says the meaning of life is 42. Considering that the field of Data Science is going through a period of exponential growth it too could soon find that the meaning of an artificial life is also 42. But if you are not involved on a day-to-day basis, the expansion can seem bewildering. The story of how disparate disciplines have combined to produce Data Science is fascinating.

What Is Data Science?

Sat Jul 15, 2017, by phil-winder, in Data Science, Workshop

Data Science is an emerging field that is plagued by lurid, often inconsequential reports of success. The press has been all too happy to predict the future demise of the human race.

But sifting through chaff, we do see some genuinely interesting reports of work that affects both bottom-line profit and top-line revenue.

What is Cloud-Native?

Wed Jun 21, 2017, by phil-winder, in Cloud Native

Cloud-Native, a collection of tools and best practices, disrupts the ideas behind traditional software development. I am a firm believer of the core concepts, which include visibility, repeatability, resiliency and robustness.

The idea begins in 2015 when the Linux Foundation formed the Cloud-Native Computing Foundation. The idea was to collect the tools and processes that are often employed to develop cloud-based software.

However, the result was a collection of best practices which extend well beyond the realms of the cloud. This post introduces the essential components: DevOps, continuous delivery, microservices and containers.

Cloud-Native Data Science: Turning Data-Oriented Business Problems Into Scalable Solutions

Mon Jun 12, 2017, in Cloud Native, Data Science, Talk

Abstract The proliferation of Data Science is largely due to: ubiquitous data, increasing computational power and industry acceptance that solutions are an asset. Data Science applications are no longer a simple dataset on a single laptop. In a recent project, we help develop a novel cloud-native machine learning service. It is unique in that problems are packaged as containers and submitted to the cloud for processing. This enables users to distribute and scale their models easily.

Monitor My Socks: Using Prometheus in a Polyglot Open Source Microservices Reference Architecture

Sat Apr 29, 2017, in Cloud Native, Talk

Abstract This presentation describes how Prometheus was integrated into a polyglot microservices application. We will use the “Sock Shop”, a cloud-native reference microservices architecture to demonstrate some of the best practices and pitfalls of attempting to unify monitoring in real life. Attendees will be able to use this application as a reference point, or as a real life starting point for their own applications. Specifically, we will cover: Integrating Prometheus in Java/Go/Node.

How to use Javascript Promises to lazily update data

Fri Apr 7, 2017, in Software Engineering

Last week I was working on a simple implementation updating a shopping cart for a site, the frontend was written in html/javascript. The brief - when the quantity of an item in the cart was modified the client could press an update cart button which would update the cart database, after which it was necessary to recalculate the total values of the order and refresh the page with the new totals.

What is the Cloud?

Thu Mar 23, 2017, by phil-winder, in Cloud Native

The terms “Cloud” or “Cloud Services” have become so laden with buzz that they would be happy to compete with Apollo 11 or Toy Story. But the hype often hides the most important aspects that you need to know. Like how it works, or what you can do with it. This is the first of several introductory pieces that focus on the very basics of modern applications.

Surprise at CPU Hogging in Golang

Tue Jan 3, 2017, by phil-winder, in Software Engineering

In one of my applications, for various reasons, we now have a batch like process and a HTTP based REST application running inside the same binary. Today I came up against an issue where HTTP latencies were around 10 seconds when the batch process was running.

After some debugging, the reason for this is that although the two are running in separate Go routines, the batch process is not allowing the scheduler to schedule the HTTP request until the batch process has finished.