About the Pitfalls of Merge Conflicts

Posted on Sat 31 December 2016 in misc • 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 misc • Tagged with ada, linux, kernel, os

View on Github Star on Github Download Pt-3

In this part, I will continue porting capabilities to the run-time

Image

The 'Image attribute is used to return the string representation of a value. This value can be integer, boolean, enumeration etc.

The run-time have a separate implementation of the attribute …


Continue reading

Writing Linux Modules in Ada - Part 2

Posted on Sat 05 November 2016 in misc • Tagged with ada, linux, kernel, os

View on Github Star on Github Download Pt-2

In the previous post I demonstrated that writing Linux kernel modules in Linux is not science fiction.

Yet, the produced module was extremely simple. Before improving it, some foundation needs to be added. Today I want to introduce the secondary stack.

Secondary …


Continue reading

Writing Linux Modules in Ada - Part 1

Posted on Sun 23 October 2016 in misc • Tagged with ada, linux, kernel, os

View on Github Star on Github

In the following series of blog posts I will document my attempts to write Linux modules using the Ada language.

I am not a professional and my knowledge of the Linux kernel and gnat is not comprehensive. Please pardon me for any inaccuracies I …


Continue reading

Connecting MSP430 with ILI9341 TFT Display

Posted on Sat 30 April 2016 in misc • 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 misc • 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 • 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 • 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 • 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

How to Enable Logging of Chat Sessions in ERC

Posted on Wed 04 December 2013 in misc • Tagged with Emacs

ERC is an irc client that runs inside emacs. I sometimes use it to ask question or read interesting discussions.

It is very nice to have the code I am working on and some interesting discussion side by side on the screen.

Sometimes I read something interesting and later want …


Continue reading