Migrating Blogofile to Pelican

Posted on Sat 13 May 2017 in misc View Comments • Tagged with Blogofile, Pelican

Since I started writing this blog in 2012, I used Blogofile as the blogging platform.

Blogofile is a static website generator, meaning that the content is written and stored in a structured format like Markdown, then it is compiled offline into a set of HTML pages that can be hosted …


Continue reading

About the Pitfalls of Merge Conflicts

Posted on Sat 31 December 2016 in misc View Comments • Tagged with Ada, Software Engineering, Source Control

I do not consider myself a novice software developer. And yet I still have not exceeded the list of things I can learn "the hard way".

Last month I had chance to learn about the dangers of resolving merge conflicts as well as how important is it to do a …


Continue reading

Writing Linux Modules in Ada - Part 3

Posted on Fri 25 November 2016 in Ada Linux Kernel Module View Comments • Tagged with ada, linux, kernel, os

In this article I will continue to extend the runtime running in the kernel module. We have not touched the kernel module part itself yet, just laying the infrastructure.
The next step is to implement the Image attribute. This requires some work as this attribute is implemented differently for each basic type it can be used on.


Continue reading

Writing Linux Modules in Ada - Part 2

Posted on Sat 05 November 2016 in Ada Linux Kernel Module View Comments • Tagged with ada, linux, kernel, os

In this article I will focus on implementing the secondary stack of the runtime.
Secondary stack is required if we desire functions to return objects of unconstrained types. This in turn required for the 'Image attribute, which is used extensively in the Interfaces.C package.


Continue reading

Writing Linux Modules in Ada - Part 1

Posted on Sun 23 October 2016 in Ada Linux Kernel Module View Comments • Tagged with ada, linux, kernel, os

In the following series of blog posts I will document my attempts to write Linux modules using the Ada language.
In part 1, I will demonstrate how to write in Ada and build a simple "hello world" Linux kernel module.
Additionally, I will introduce a basic customized Ada runtime to support our "hello world" module. This runtime will be extended in subsequent articles in the series.


Continue reading

Connecting MSP430 with ILI9341 TFT Display

Posted on Sat 30 April 2016 in misc View Comments • Tagged with ili9341, msp430, embedded

msp430 launcpad connected to ili9341 display

In the previous post I described how to connect ESP8266 with an ILI9431 TFT display using the Adafruit library. Texas Instruments' MSP430 is another popular low cost 3.3v MCU used by the maker community. It has Energia which is an IDE forked from and compatible to the Arduino IDE …


Continue reading

Connecting ESP8266 with ILI9341 TFT Display

Posted on Fri 04 March 2016 in ESP8266/ESP32 View Comments • Tagged with esp8266, arduino, embedded, ili9341

ESP8266 was popular with hobbyists for a long time. Recently I decided to join the hype and bought this module along with a super cheap color TFT display (ILI9341). In this post I will describe the process of connecting those two, using already available code written for Arduino.

ESP8288 connected to ILI9341

First step …


Continue reading

Trying Ada Bindings for X11

Posted on Tue 01 September 2015 in misc View Comments • Tagged with Ada, X11

Ada bindings for X11 were written Intermentics company and sponsored by Ada Joint Program Office (AJPO).

While intemetics has long been gone (looks like the it's domain is owned by L3 now), and AJPO was closed in 1998, the bindings are still around.

The "latest" version can be downloaded from …


Continue reading

Range Constrained Types in C++

Posted on Fri 05 September 2014 in misc View Comments • Tagged with C++, Ada

One of the first things a new Ada programmer will learn is the ability to define constrained type. Which means that one can restrict the values that can be assigned to a variable of this specific type.

For example:

subtype Positive is Integer range 1 .. Integer'Last;

Being a subtype …


Continue reading

Template Argument Deduction

Posted on Sun 04 May 2014 in misc View Comments • Tagged with C++, generics

With automatic template deduction, it is possible to omit the template argument when instantiating a template function. The compiler will deduce the type from the actual parameter sent to the function. This is of course assuming there are no ambiguities.

For example:

template<class T>
T max(T x, T …

Continue reading