FP Complete

Pantry, part 1: The Package Index

Back in January, I published a two part blog post on hash-based package downloads. Some project needs at FP Complete have pushed this to the forefront recently, and as a result I’ve gotten started on implementing these ideas. I’m hoping to publish regular blog posts on the topic as I continue implementation. There are a […]

Deploying Rust with Docker and Kubernetes

Deploying rust with Docker and Kubernetes Hello! My name is Chris Allen and I’m going to use a tiny Rust app to demonstrate deploying Rust with Docker and Kubernetes. Rust and Haskell apps are deployed in similar ways. Much of this is because the compilers for both languages generate native binary executables. Here are the […]

Why blockchain and cryptocurrency audits?

FP Complete now does blockchain audit services. Why have we chosen to work in this field, and what are we aiming to accomplish? Our corporate mission is to drive the successful adoption of better IT engineering tools and practices. Experience shows us again and again: quality and productivity are driven more by these substantive improvements […]

Sed: a debugging story

This blog post is a semi-complete retelling of my debugging adventures on a particularly crazy bug. Consider it a combination of fun story telling for the audience and catharsis for myself. This affects anyone trying to use AppVeyor and Stack for projects that use the network package with GHC 8.4 and up. If you want […]

Hackathon Review and Stack Maintenance

Last Wednesday (June 6, 2018), I ran a Haskell Hackathon after LambdaConf. The turnout certainly wasn’t the same as Zurihac, but I was quite happy with the crowd, the participation, and the interactions. I wanted to share a bit of how we ran this hackathon, why I liked it so much, some ideas that got […]

DevOps to Prepare for a Blockchain World

Introduction As the world adopts blockchain technologies, your IT infrastructure — and its predictability — become critical. Many companies lack the levels of automation and control needed to survive in this high-opportunity, high-threat environment. Are your software, cloud, and server systems automated and robust enough? Do you have enough quality control for both your development […]

Practical Property Testing in Haskell

We aired our second webinar in our ongoing series on Wednesday, May 9th. The topic was “Practical Property Testing in Haskell.” This webinar is one in our continuing series covering topics in Haskell Programming, DevOps, Cloud Computing, Cryptocurrencies, FinTech, Medical Device Software, DataOps, and all the other great things we do. If you want to be […]

Pinpointing deadlocks in Haskell

Concurrent programming is hard! I still remember the moment of my introduction to multi-threaded programming at the University of New Mexico, our professor grabbed his head and said: “Here be demons!”. There are all sorts of issues that arise in a concurrent setup, such as race conditions, starvation, deadlocks, data corruption, you name it. All […]

A new Haskell library for talking to ODBC databases

I’m pleased to announce the release of a Haskell library for connecting to SQL Server databases via ODBC. Features The library is very simple, but what it does support should be high quality: Correct Unicode handling. All text is handled through the Text type. The test suite randomly generates Unicode to send to the server […]

Asynchronous Exception Handling in Haskell

This post gives a deep dive into the Haskell exception system. If you are looking for a simpler tutorial on how to work with exceptions, I recommend our safe exception handling tutorial. Last week, I gave a webinar on the topic of asynchrnous exceptions in Haskell. If you missed the webinar, I encourage you to […]