Project samples: Language-server
for an on-line game | Analytical model of
leveraged equity investment | Efficient,
low-impact persistence implementation | PBX and reception management
My company supplies services in these fields:
- Ada-DK open monthly meetings,
- We meet the first Tuesday of every month to discuss and explore Ada
programming techniques and reliable software development in general.
- Ada User Journal
(volume 35 number 1)
- I am working on the news summary for issue number 1 of volume 35 of
Ada User Journal.
- Ada DevRoom
at FOSDEM 2014, Bruxelles
(February 1st 2014):
- Again next year there will be an Ada Developers Room at FOSDEM in
- Ada Europe 2014
– 19th International Conference on Reliable Software
Technologies, Paris (June 23rd to 27th
- Next year the Ada Europe conference on reliable software will take
place in Paris. I look forward to participate. The deadline for
submitting regular papers and tutorial and workshop proposals is on
December 15th (i.e. really soon). The
deadline for submitting
industrial presentation proposals is on January 19th.
and test setup (November 2013):
- I have refined and published my build
and test "framework". The repository represents a generalised version
of my (currently) preferred arrangement of the building and testing of an
- Database interfacing with GNATColl (October 2013):
- I am spending some time studying and experimenting with the GNATColl
database interfacing facilities. So far one of the public results of this
example of how (not) to link pairs of rows in a table together. The
documentation for the
gnatcoll_db2ada tool was not quite
obvious (for me).
- DANSAS'13 (August
I gave a presentation titled
Programming with Ada 2012 - an Experience Report at this year's
Danish Static Analysis Symposium.
The 2012 version of the Ada programming language standard includes
checked "contracts" and "aspects" for subprograms and types. Some of
these are by definition checked at compile-time, while other checks
can be postponed to run-time, if a static analysis is unfeasible (or
just not implemented).
At AdaHeads, we are currently developing a hosted telephone
reception system, where the core component is written in Ada 2012. We
picked Ada 2012 specifically to be able to use the contracts and
aspects to increase our confidence that the software is correct.
Our experience so far is that GNAT-GPL-2013 (the only generally
available Ada 2012 compiler) only implements static (compile-time)
checking of contracts and aspects where it is required by the
language standard. This means that for now, the big static analysis
benefits of using Ada are related to the basic type system, which
also existed in earlier versions of the standard, and the major
benefit of switching to Ada 2012 at the moment is in the improved
- Ada Europe 2013 –
18th International Conference on Reliable Software
Technologies, Berlin (June 10th to 14th
- I gave a presentation titled
Alice in Adaland at this
year's Ada Europe conference earlier today.
and Statistics Library (May 24th 2013):
- Extended my mathematics and statistics library with an (old) least
squares fit implementation from my still unpublished Ada source text
- Open Source Days 2013,
Copenhagen (March 9th and 10th 2013):
- I gave a talk on
Parallel Programming Patterns at the
conference Open Source Days in Copenhagen.
- Published a (partial) UDP-based client/server
implementation of the game Tron (March 8th 2013):
- As it seemed like there aren't many examples of Ada programs using
UDP, I have published an old toy example using UDP to exchange game state
between players and game-master in the game Tron.
- OpenID client for
the Ada Web Server library (AWS) (March 2013):
- My AdaHeads colleague Thomas LÝcke and I are preparing my port of the
Faces OpenID implementation to AWS for inclusion in the main
branch of AWS.
See also earlier activities.