The ‘Refugee’ project.

March 1, 2017 Leave a comment

Recently, I have participated in the 1st Hackathon of the Technological Educational Institute of Central Macedonia in Hellas. Our team has developed a web application for the refugee crisis that exists in our country (Hellas) on our days.

Read more…

Creating a Sharded Cluster of Replica Sets in MongoDB.

February 18, 2017 Leave a comment

MongoDB is a great NoSQL database management system. But using a single standalone MongoDB server is not the way you want to use it in the production level. In case you want to scale out and increase the throughput of your application you can use sharding to distribute your data in multiple clusters, called shards. Furthermore, MongoDB can support continuous availability and fault tolerance by using replication servers that form a replica set. A replica set not only provides us a mechanism for fault tolerance and availability but a way for safely and continuously backing up our data. The latency of our database queries can be improved by using primary and secondary indexes.

Read more…

Arduino: A simple and lightweight library for managing the Arduino GSM shield.

July 21, 2016 Leave a comment

In a recent Arduino embedded system I needed to manage an Arduino GSM Shield for some specific use cases. However, I couldn’t use the well-known GSM library due to memory capacity limitations since this library “eats” the Arduino board memory 🙂 I could use an Arduino board with more memory capacity but this was not the case for me. I wrote the library SimpleGSM, which is a simple GSM library for managing the Arduino GSM shield (maybe you can use the library with other GSM cards) and execute some basic operations. I wrote the library to have exactly the operations I wanted. The library uses internally a software serial for the communication.

Read more…

Neo4j code infrastructure for .NET enterprise applications.

July 19, 2016 2 comments

Here I am, rock you like a hurricane!

The Spring framework from the Java “universe” currently supports efficiently the Neo4j graph database. However, the Spring.NET framework from the C# “universe” does not support Neo4j and generally a decent code infrastructure library for Neo4j is missing from the .NET open source world at the moment.

A starting code infrastructure could be a Generic Repository for supporting CRUD operations, a Relationship Manager for managing relationships between nodes and a Unit Of Work for supporting transactions. In a recent project, I have coded a prototype code infrastructure on my own since I couldn’t find a simple, well-written and unit-testable example. This is the reason why I would like to give it to you people so that you can benefit from it.

Read more…

Arduino: Security Alarm System.

March 25, 2015 Leave a comment

This project refers to a Security Alarm System implemented with Arduino and various electronics.

Read more…

A dynamic string data structure helper implementation.

October 21, 2014 Leave a comment

In this article I will present to you a dynamic string data structure helper implementation. In C, a string is just an array of characters terminated with the null character (NUL in ASCII). Also, some times we handle a string by using a pointer to a buffer containing sequential characters terminated also with the null character. The C standard liibrary provides various functions for string manipulation but it seems that whenever we want to extend a string by using pointers we have to perform all the time memory reallocation which leads to a bad evolution of replicated code. In a recent project, I needed to create a string and append to it any number of new strings in order to extend it without using strcat, strcpy, strlen and realloc functions all the time. So, I created a simple dynamic string data structure which solved my specific problem and I would like to share it with you people.

Read more…

A useful function for getting the host name and service of a socket.

October 20, 2014 Leave a comment

In this article I will present to you a useful function for getting the host name and service of a socket.

Read more…