Explain, Enhance and Enrich Your Data with Bacalhau Amplify

Published
Author
Dr. Phil Winder
CEO

Bacalhau is a project started under Protocol Labs, but has now spun out into Expanso, Inc. Expanso is a leading Web3 innovator specializing in developing next generation decentralized commodity services. This case study, which includes a video presentation, describes the proceeds of this collaboration. The Bacalhau team asked Winder.AI to help them develop a new AI product designed to perform data engineering at web-scale, backed by Web3 technologies.

Read more

Do you like DAGs? Implementing a Graph Executor for Bacalhau

Published
Author
Enrico Rotundo
Associate Data Scientist

Winder.AI helped Protocol Labs, a technology company in the crypto space, to help develop Bacalhau, a novel decentralised computational platform that focuses on the AI lifecycle. This case study describes some of our work to develop this project but for more information view the Bacalhau website.

Read more

GitOps for Machine Learning Projects

Published
Author
Dr. Phil Winder
CEO

Not so long ago, developers used clunky consoles to provision infrastructure and applications. It wasn’t long before someone realized it was better to automate such a process via scripts and APIs. But it wasn’t until Hashicorp showed that APIs were not enough. Their insight was to declare a canonical representation of the infrastructure. You can then reconcile this declaration against the live view of the infrastructure. In 2015-16 we helped WeaveWorks develop their cloud monitoring platform.

Read more

Developing a Real-Life Project

Published
Author
Dr. Phil Winder
CEO

I’m often asked questions in the vain of “how did you figure that out?”. Other times, and I’m less of a fan of these, I get questions like “you estimated X, why did it take 2*X?”, which I respond with a definition of the word estimate. Both of these types of questions are about the research and development process. Non-developers, and especially non-engineers, are often never exposed to the process of research and development.

Read more

Local Jenkins Development Environment on Minikube on OSX

Published
Author
Dr. Phil Winder
CEO

Developing Jenkinsfile pipelines is hard. I think my world record for the number of attempts to get a working Jenkinsfile is around 20. When you have to continually push and run your pipeline on a managed Jenkins instance, the feedback cycle is long. And the primary bottleneck to developer productivity is the length of the feedback cycle.

Read more

How to Test Terraform Infrastructure Code

Published
Author
Dr. Phil Winder
CEO

Infrastructure as code has become a paradigm, but infrastructure scripts are often written and run only once. This works for simplistic infrastructure requirements (e.g. k8s deployments). But when there is a requirement for more varied infrastructure or greater resiliency then testing infrastructure code becomes a requirement. This blog post introduces a current project that has found tools and patterns to deal with this problem.

Read more

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

Published
Author

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?

Read more

How to use Javascript Promises to lazily update data

Published
Author

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.

Read more

Surprise at CPU Hogging in Golang

Published
Author
Dr. Phil Winder
CEO

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.

Read more
}