Articles

Input / Output and the Object-Oriented Paradigm

Today, more then ever before, I/O dominates what software is about.  Of course, it’s always been important but, with increasing bandwidths, I/O seems to be what most programs now spend most of their time doing.  This leads to interesting questions about how, for example, to handle millions and millions of concurrent connections and we . . . → Read More: Input / Output and the Object-Oriented Paradigm

Testing out my Papilio FPGA!

Recently, I got hold of a Papilio One (which you can think of as the Arduino of FPGAs).  The Papilio board has a Xilinx Spartan 3 on board, which is plenty enough to get started learning about FPGAs.  Here’s what the board looks like:

Now, it might look big above … . . . → Read More: Testing out my Papilio FPGA!

Building an Arduino Robot (for Testing Whiley)

The Whiley programming language is about developing more reliable software and, of course, embedded systems is one of the biggest areas that could benefit. Obviously, then, we need an “embedded system” to test Whiley with, right?  At least, that’s the thinking behind my recent endeavor to create an Arduino-based Robot.

After some discussion with our workshop . . . → Read More: Building an Arduino Robot (for Testing Whiley)

A Source File with 72KLOC!?

Yesterday, I was looking at the stats on Ohloh for the Whiley project and noticed that my total line count for the project had increased from around 65KLOCto 143KLOC over a very short amount of time:

Confused, I was pondering this for a while.  Then it struck me: I’d checked in . . . → Read More: A Source File with 72KLOC!?

Generating Verification Conditions for Whiley

Probably the most interesting aspect of the Whiley language is that it supports compile-time verification of preconditions, postconditions and other invariants.  There are two main aspects of how this works:

Generation of Verification Conditions (VCs) from the source code.  A verification condition is a logical expression which, if proved to be satisfiable, indicates an . . . → Read More: Generating Verification Conditions for Whiley

Comparing I/O in C with Java

Recently, I was having a somewhat heated discussion with a friend about the Java I/O library (specificially java.io.*).  His position was that the library is unnecessarily cluttered and verbose, and that  I/O in C is much simpler and more productive.  Whilst I agreed with some of that, I also argued that the Java I/O . . . → Read More: Comparing I/O in C with Java

The Whiley Project on Ohloh

Just yesterday, I came across the ohloh website for the first time and was surprised to find the Whiley project already listed there.  If you haven’t seen it before, Ohloh is a site that attempts to gather stats and other information on open source projects such as: who the developers are, how many commits . . . → Read More: The Whiley Project on Ohloh

Rustan on Automatic Program Verification

Yesterday I came across an interesting talk given by Rustan Leino at the University of Edinburgh in 2011.  Rustan takes an interesting look overview over the subject’s history, and then shows several tools in action (including Code Contracts and Dafny): Anyway, Rustan has a long history in program verification now, and was heavily involved . . . → Read More: Rustan on Automatic Program Verification

A Misconception of Functional Programming?

Recently, I came across an article entitled “Useful Pure Functional Programming” which talks about the advantages of functional programming.  However, something struck me about the way the author thinks about functional programming:

“Living for a long time in the context of an imperative world made me get used to think in a specific sequential . . . → Read More: A Misconception of Functional Programming?

Autonomous Robotic Drone which Flies Indoors!?

Very recently, I came across this article from MIT News about an autonomous robotic drone developed at MIT.  It’s incredibly neat stuff … and I would love to get Whiley running on something like this!  Here’s the video from the article:

Anyhow, one day I will build one of these things . . . → Read More: Autonomous Robotic Drone which Flies Indoors!?