Oct 18, 2021 - Steps towards AI Pair Programming

Comments

In the last few years, with my colleagues at Nokia Bell Labs, I’ve been looking into how machine learning can help improve software development, helping developers write code better and faster by leveraging the large amounts of open source code that are now available online. We’ve covered various use cases including recommendation engines for open source software packages and code search engines to better find runnable usage examples based on programmer intent.

One particular area that I’ve found quite compelling has been the area of translating natural language into code. This idea fits in a wider body of work known in academic circles as “program synthesis”, and in the software development world as “AI pair programming”.

Read more

Oct 18, 2020 - Programming languages for programmable money

Comments

In this post I introduce the notion of programmable money and smart contracts, why they go hand-in-hand with blockchains, how smart contracts are programmed today and how they might be programmed in the future.

Read more

Oct 28, 2019 - Unix50

Comments

This past week my employer Bell Labs celebrated the fiftieth anniversary of the Unix operating system with a big “Unix50” event in the Bell Labs headquarters in Murray-Hill, NJ and the launch of an online coding challenge called The Unix Game.

Unix was invented by Bell Labs researchers Ken Thompson and Dennis Ritchie precisely 50 years ago in the summer of 1969. Their iconic OS has since influenced a large number of other operating systems, not least of which Linux, MacOS and Android which are still based on the same basic principles.

Read more

Jun 21, 2019 - Code Compass

Comments

I’m happy to share some of the work that I have been involved in at Bell Labs over the course of last year: our import2vec model for training good machine representations of software libraries (enabling computers to establish a mathematical degree of similarity between software libraries), and a practical tool built on top of these representations called Code Compass.

Read more

Oct 15, 2018 - Programming Secure Smart Contracts

Comments

Five years ago, I wrote on this blog about a distributed computing platform called Dr. SES (distributed resilient secure ECMAScript). The goal of Dr. SES was to build a secure distributed computing platform harnessing the power of object-capabilities to build smart contracts.

Read more