JSA Research & Innovation

Products Services Updates

Privacy-leak detector for Java

I can provide a automated detection of privacy-leaks in Java classes using a custom static analysis tool.

Pronunciation-aware dictionary look-up

Algorithms for pronunciation-aware searches in dictionaries and other databases.

Software for finding wave-induced cracks

I have an application for finding wave-induced cracks in video inspections of sub-sea structures available for interested customers.

Case statements in Ada

A short screencast introducing the viewers to some of the benefits of how case statements work in Ada, and how the static coverage checking in the compiler helps preventing errors. The presentation includes some Ada 2012 features and also gives a basic introduction of subtypes (subsets). (Alternative version.)

Command-line driver generator

An Open Source tool for generating command-line interfaces to Ada packages.
The declarations of subprograms in the public part of an Ada package specification can be seen as a declaration of how you are supposed to call the features implemented in the package. This tool translates an Ada package specification into ready-to-compile command-line interface for the package.

Sound recording and playback for Ada

An Open Source sound library for Ada providing recording and playback support.

POSIX in Ada

An appendix to the book Understanding Unix/Linux Programming making it Ada-based instead of C-based.

HTTP redirector

Are you tired of having all kinds of people tracking which links you click, and which pages you visit on the web? My HTTP redirector attempts to solve this problem by providing you with a local, non-logging replacement for some of the trackers out there. The tool is Open Source and written in Ada.

POSIX file descriptors as Ada streams

An Open Source Ada package wrapping a POSIX file descriptor (as declared in the POSIX.IO package from the POSIX Ada API) as an Ada stream. This allows you to stream Ada objects to/from any kind of file opened with the POSIX Ada API using just the standard stream attributes of Ada.

Mathematical modelling

Mathematical models designed to solve problems for your business.

Software development

Software development on a consultancy basis. I can provide time estimates and hourly rates, or fixed-price quotes depending on your needs. I have experience in a large variety of programming languages, among others: Ada, C, C++, Python, Oracle PL/SQL, Pascal, SPARK and Fortran.

Review of coding standards

Coding standards can benefit from a critical review from an experienced software developer. I provide reviews and constructive comments for coding standards for Ada source text.

Source code review

I can provide critical source text reviews, either during development or as an independent review of a final product before delivery/acceptance.

Contract-based programming in Ada 2012

A course introducing the participants to contract-based programming in Ada 2012, and giving them some basic rules for using the features of Ada 2012 in a consistent and efficient manner. This course has previously been given as a tutorial at the Ada-Europe conferences in 2014 and 2015.

Software innovations

New business use of existing software technology, and development of new programming techniques.

Data analysis and processing

Analysis of and data processing for biological experiments.

Interview (in Danish)

I recently gave an interview to the journal of the Danish academics' union about being an academic and running your own company. I don't reveal any big secrets to success, but the photos from the Medical Museion in Copenhagen are nice.

Ada 2012 Contracts in Practice

The Ada-Europe 2016 organizers have accepted my tutorial on Ada 2012 contracts in practics as a part of the programme for this year's international conference on reliable software technologies.

Ada Developers' Room at FOSDEM 2016

The Ada DevRoom at FOSDEM has been a big success. We will need a bigger room next year. The slides from the presentations can be found on the Ada-Belgium website.

What I did, when I got tired of writing command-line interfaces

The declarations of subprograms in the public part of an Ada package specification can be seen as a declaration of how you are supposed to call the features implemented in the package. So why should I have to write command-line interfaces myself? Why not let a tool translate between the Ada package specification and the command-line interface? [...]
I'm going to present this talk at FOSDEM 2016 (Saturday at 18.00 in AW1.124).
Slides and examples for the presentation are available now.

Generating integration tests from use-cases

Slides from my talk on using tools to generate integration tests from use-cases at Driving IT in Copenhagen.

Generazione di test di integrazione da casi d'uso

I gave a presentation on semi-automatic test-generation from use-cases at Linux Day 2015 in Cagliari. Slides and examples are available for download.

More SPARK 2014

Thanks to an interesting question on Stackoverflow, I got around to set up a repository for collecting SPARK 2014 examples.

Ada DevRoom at FOSDEM 2016

Earlier today the list of DevRooms at FOSDEM 2016 was announced. This includes an Ada DevRoom organised by Ada-Belgium. Please submit proposals for presentations to <adafosdem@ls.kuleuven.be>.

Ada User Journal 36.3 is out

I just picked up my copy of Ada User Journal 36.3 from my mailbox. I really look forward to read the paper by A. A. Lovelace (even if it appears to be a reprint ;-).

Gopher concurrency exercises

I was pointed to some interesting programming exercises by a fellow Ada programmer. I took a few hours out of the calendar to solve them in Ada. One interesting observation is that the hardest part of the exercises was to make nice terminations of the programs. The actual synchronisation and communication is easy to do in Ada.

PortfolioCurriculum vitaePublication listProductsServicesScienceRSS feedsCalendar

JSA Research & Innovation • Jægerparken 5, 2. th. • 2970 Hørsholm • Danmark