Ada Web Application is a framework to build high performance secure web applications. This is a new release with 99 Debian packages ready to be installed on Ubuntu 20.04 or 18.04.
By Stephane Carrez2020-11-15 21:12:45
Ada Web Application is a framework to build high performance secure web applications. This is a new release with 99 Debian packages ready to be installed on Ubuntu 20.04 or 18.04.
By Stephane Carrez2020-08-09 20:49:00
Reading a file to get its content in a String is a simple operation that is often used in a project. Although this is not complex to do, sooner or later you often have to implement such operation.
By Stephane Carrez2020-05-16 07:55:00
The Ada Stemmer Library provides several stemming algorithms that can be used in natural language analysis to find the base or root form of a word.
By Stephane Carrez2020-05-01 20:49:00
Ada Web Application is a framework to build high performance secure web applications. It is time for a new version for this framework to bring new features, increase the reliability and security.
By Stephane Carrez2019-12-26 17:47:00
Data security is a major risk at the time of "everything on the Cloud". Using the Cloud can be a good thing but it is sometimes critical to encrypt documents before exposing them to third parties. AKT is a tool for signing and encrypting user's data.
By Stephane Carrez2018-11-17 14:02:00
How does Ada, Java and Python compare with each other when they are used to connect to a database? This was the main motivation for me to write the SQL Benchmark and write this article.
By Stephane Carrez2018-07-15 21:17:00
To celebrate the France's victory at World Cup, and also because I've not made new releases for a long time, several new releases are available for several Ada projects.
By Stephane Carrez2018-02-18 09:17:00
Writing and maintaining documentation is always a pain for a developer. Most of the time, the documentation is not updated after some changes are made in the code and the documentation becomes out of date. What is described here is not a miracle but it helps in promoting to have an accurate documentation together with the implementation.
By Stephane Carrez2017-10-08 18:32:00
The OpenAPI initiative aims at defining a standard for the specification of REST API. The OpenAPI Specification (OAS) defines a programming language-agnostic interface to describe a REST API. The Swagger Codegen generator supports more than 28 different languages (including Ada) and it is able to read an OpenAPI document and generate either the documentation or the client and server REST code for several target languages.
By Stephane Carrez2017-06-25 17:00:00
The Gnome and KDE desktop environments have designed a shared service API to allow applications to protect, retrieve and manage their secret data such as passwords and private keys. The Secret Service API defines the mechanisms and operations that can be used by applications to use the service.
By Stephane Carrez2017-03-21 22:55:00 3 comments
Arcadius Ahouansou from Menelic.com made an interesting benchmark to compare several Java Web servers: Java REST API Benchmark: Tomcat vs Jetty vs Grizzly vs Undertow, Round 3. His benchmark is not as broad as the TechEmpower Benchmark but it has the merit to be simple to understand and it can be executed very easily by everyone. I decided to make a similar benchmark for Ada Web servers with the same REST API so that it would be possible to compare Ada and Java implementations.
By Stephane Carrez2017-03-18 17:27:00
Atlas is a small application intended to show various features provided by the Ada Web Application framework.
By Stephane Carrez2016-12-04 23:01:00
Writing a simple UDP server in Ada for a STM32F746 ARM controller is now easy with the use of the Ada Embedded Network stack. The article describes through a simple UDP echo server the different steps for the implementation of an UDP server.
By Stephane Carrez2016-09-30 19:19:00
EtherScope is a monitoring tool that analyzes the Ethernet traffic. It runs on a STM32F746 board, reads the Ethernet packets, do some real-time analysis and displays the results on the 480x272 touch panel.
By Stephane Carrez2016-09-29 19:19:00
The Ada Embedded Network is a small IPv4 network stack intended to run on STM32F746 or equivalent devices. This network stack is implemented in Ada 2012 and its architecture has been inspired by the BSD network architecture described in the book "TCP/IP Illustrated, Volume 2, The Implementation" by Gary R. Wright and W. Richard Stevens.
This article discusses the Ethernet Driver design and implementation. The IP protocol layer part will be explained in a next article.
By Stephane Carrez2016-04-30 16:07:00
The Ada Wiki Engine is a small Ada library that parses a Wiki text in several Wiki syntax such as MediaWiki, Creole, Markdown and renders the result either in HTML, text or into another Wiki format.
By Stephane Carrez2016-04-29 12:35:00
GCC 6.1 release has been announced recently by Jakub Jelinek and it is now time to build a new Ada compiler with it. The process to do that is not complex but contains a few pitfalls.
By Stephane Carrez2015-12-30 22:00:00
A new release is available for several Ada projects.
By Stephane Carrez2015-12-16 10:25:00
liblzma is a public domain general-purpose data compression library with a zlib-like API. liblzma is part of XZ Utils which includes a gzip-like command line tool named xz and some other tools. XZ Utils is developed and maintained by Lasse Collin. Major parts of liblzma are based on Igor Pavlov's public domain LZMA SDK. The Ada LZMA library provides an Ada05 thin binding for the liblzma library and it allows to use all the operations provided by the compression and decompression library.
By Stephane Carrez2015-05-25 09:51:00
MAT is a memory analysis tool that monitors calls to malloc, realloc and free calls. It works with a small shared library libmat.so that is loaded into the program with the LD_PRELOAD dynamic linker feature (See the ld.so(8) man page). The library overrides the malloc, realloc and free function to monitor calls to these functions. It then writes or sends probe events which contain enough information for mat to tell what, when, where and by whom the memory allocation was done.