Tuesday, January 9, 2018

Spring Finite State Machine

This is a basic example about designing a Finite State Machine (FSM) using Spring Statemachine in combination with Spring MVC.

Monday, June 12, 2017

SOAP, Restful web services with CXF, Web UI with Vaadin and Spring Framework

This is a simple project to integrate CXF and Vaadin 8 to Spring Framework. Here, we reuse previous project  and just to add more Vaadin into the project to support web UI.

Monday, June 5, 2017

SOAP and Restful web services with CXF and Spring Framework

This is a simple web application combination of SOAP and Restful webservices in CXF and Spring framework.
Configuration using annotations makes development a webservies application really simple and fast. It is a big change from the past when there were lot of steps need to be done to build a webservices application.

Sunday, June 4, 2017

SOAP web services standalone application with CXF framework

This is a simple Java SOAP web services application using CXF framework.

1. Setup
Download CXF run-time binary at and add it to your Eclipse.

Friday, January 1, 2016

Create A Mixed C/C++ project for ARM with Eclipse Autotools

1.       Environment setup
Assuming that you installed and setup GCC for ARM (Linux x86). Else, reference here.
Be sure that you installed automake, autoconf, autoreconf. Else, you need install it.
To install Automake: sudo apt-get install automake
This also will install Autoreconf and Autoconf for you.
To check version of automake: automake --version.

Tuesday, September 8, 2015

"Train" problem with Dijkstra, Depth First Search and combinatorial algorithm (Java)

The local commuter railroad services a number of towns in Kiwiland.  Because of monetary concerns, all of the tracks are 'one-way.'  That is, a route from Kaitaia to Invercargill does not imply the existence of a route from Invercargill to Kaitaia.  In fact, even if both of these routes do happen to exist, they are distinct and are not necessarily the same distance!

The purpose of this problem is to help the railroad provide its customers with information about the routes.  In particular, you will compute the distance along a certain route, the number of different routes between two towns, and the shortest route between two towns.

Saturday, February 14, 2015

MasterMind game - Implementation in MVC design pattern (C++)

MasterMind game is designed based on idea of MVC design pattern and is implemented on C++.

Saturday, January 17, 2015

D-BUS example

D-BUS is a framework developed for IPC method (inter-process communication) in Linux. Below is a example for how to setup, implement and build an application using gdbus.

Monday, September 8, 2014

Eclipse CDT no print out message to its console in Windows 64bit

How to fix it:

My environment is Windows 8, 64bit. Eclipse for Windows 64bit.
Either you install Mingw-w64 32bit or 64bit version ( Then you might face with the problem that Eclipse doesn't print out message to its console.
Assuming that you setup your environment correctly, but it seems that Eclipse does not recognize GCC in PATH environment variable.
So, In order to fix this issue, in your project, do:

Friday, October 25, 2013

Building Linux kernel image for ARM with Eclipse [Part 5]

G.  Bring all things into target board

Building Linux kernel image for ARM with Eclipse [Part 4]

F. Board configuration

Building Linux kernel image for ARM with Eclipse [Part 3]

D.  Build U-boot Boot loader Image

We will download the modified u-boot source code from Atmel. This version is more fit with AT91SAM family than the official u-boot version. In general, U-boot takes up for loading kernel image to RAM and setting up operation environment for kernel as well. 

Building Linux kernel image for ARM with Eclipse [Part 2]

C.  Build Linux kernel Image

     At first, we need to import the Linux kernel source code into the Eclipse IDE

Building Linux kernel image for ARM with Eclipse [Part 1]

I feel quite lazy to remember a lot Linux build commands while building Linux kernel image and also don't want to repeat to typing the build commands every time need to modify and rebuild the kernel image. So, I looked at a tool help to make build processes to be more user friendly. Eclipse IDE and its plug-ins are the great fit tools for this purpose.

In this article, I intend to setup needed environment for building the Linux kernel image for Atmel AT91SAM9260 SoC which is based on ARM926EJ-S core. The target board is Olimex SAM9-L9260. Host OS is Ubuntu 13.10 64-bit. There are some differences in setting up environment between Ubuntu 13.10 and previous versions.
A great thing here is all tools used in this project is free ^-^.

Sunday, January 1, 2012

Some Take Notes in Programming for Windows CE/Mobile

Le Trung Thang, New Year 2012 

.NET compact framework in Windows CE / Mobile OS comes in with support for mobile devices which have limitation of resource: RAM size, CPU speed. So, there’re some tricks may be helpful in developing the applications for this operation system.

Saturday, December 31, 2011

Telnet in Java

  Le Trung Thang, end of 2011 

Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection. User data is interspersed in-band with Telnet control information in an 8-bit byte oriented data connection over the Transmission Control Protocol (TCP) (soure:

Wednesday, September 7, 2011

Porting Android OS on SAM9-L9260 Board

Le Trung Thang 2011

(This page is to response to an open-source project is kicked off by Olimex at:

Sunday, September 4, 2011

FreeRTOS and Implementation of FAT file system FatFs on SD card

Le Trung Thang 2011

After building successful the application “Building an Application for AT91SAM7S withFreeRTOS RTOS and IAR”, in this article we will combine FatFs, a FAT file system module, with FreeRTOS to make an application with functions more diverse than
 FatFs is a generic FAT file system module for small embedded systems that can be ported to any underlying hardware. It has been architected with separate layers for hardware accesses. FatFS is compatible with Windows FAT12/16/32 file system (Figure 1).
Fig 1. Application model with RTOS

Friday, August 19, 2011

Where the printf() Rubber Meets the Road


Sunday, July 24, 2011

Building an Application for AT91SAM7S with FreeRTOS RTOS and IAR

 Le Trung Thang 2011 

After ported success the FreeRTOS kernel to AT91SAM7S board, see: “Porting Real Time OS "FreeRTOS" to AT91SAM7S256 Evaluation board”. Now, we can start to create an application using FreeRTOS. The preparation tools, you can see at above article.

The first, you need download the demo project at here. Unzip downloaded file and go to folder Atmel\at91sam7s-ek\FreeRTOS-getting-started  and open file FreeRTOS- this getting-started.eww to start IAR Embedded Workbench for ARM IDE.
From demo project, you can edit the project hierarchy as your requirement.

Tuesday, July 19, 2011

Porting Real Time OS "FreeRTOS" to AT91SAM7S256 Evaluation board

Le Trung Thang 2011 
AT91SAM7S Evaluation Board or OLIMEX SAM7-P256 Development Board (
-  Segger J-link emulator (
-  IAR Embedded workbench for ARM (
-  FreeRTOS  RTOS (
To get FreeRTOS , you can either download from directly or  download the demo project which included FreeRTOS v7.01. Thank to Mr. Richard Barry, author of FreeRTOS.

Tuesday, April 12, 2011

Runtime Library in C/C++

Le Trung Thang 2011

Static link vs Dynamic link

Saturday, January 22, 2011

Những lời khuyên của Bill Gates

Những lời khuyên của Bill Gates
( from: ) 

Monday, January 17, 2011

C/C++ Input Output Stream

Le Trung Thang 2011

I/O Stream hierarchical in C++ standard

Wednesday, January 5, 2011

Người Việt ở Mỹ là ai ?

Trống Đồng Việt Nam


Tôi xin được nêu rõ một vài khác biệt trong số những người được gọi là Việt kiều để cho những bạn trong nước có thể hiểu một cách tương đối chính xác và có được cái nhìn đa diện về cuộc sống ở xứ người hơn.

Thursday, December 30, 2010

Top 10 algorithms of the 20th century

1. Top 10 algorithms of the 20th century - 10 Thuật Toán Quan Trọng Nhất Thế Kỉ 20

Thursday, December 16, 2010

How The Kernel Manages Your Memory

Friday, November 26, 2010

ARM Assembly quick reference

( From: , )

Wednesday, November 10, 2010

"synchronized" - How Java Supports Synchronization


This section describes the 'synchronized' keyword and how Java supports synchronization in 3 different ways - synchronized class methods, synchronized instance methods, synchronized statement blocks.

Monday, October 18, 2010

Improving Software Quality

(from: )

[Cover page: Steps to Software Quality]

by Robert Green

Robelle Solutions Technology Inc.

I am founder of a small software company that makes tools for the Hewlett-Packard 3000 computers. I also spent seven years working in the HP factory and three years in an end-user MIS department. I have been involved in the development of applications, operating systems, and tools, some of high quality and some of low.

Wednesday, October 13, 2010

Monday, October 11, 2010

UML Language

UML - The Class Diagram.

Java Delegate

( from: )

Trong lập trình .NET có kiểu delegate khá thú vị, trên rất nhiều diễn dàn tôi vẫn thường được nghe hỏi về delegate trong java.

Wednesday, October 6, 2010

Multiply Using Booth’s Algorithm

Booth's multiplication algorithm is a multiplication algorithm that multiplies two signed binary numbers in two's complement notation. The algorithm was invented by Andrew Donald Booth in 1951 while doing research on crystallography at Birkbeck College in Bloomsbury, London. Booth used desk calculators that were faster at shifting than adding and created the algorithm to increase their speed. Booth's algorithm is of interest in the study of computer architecture.

Saturday, September 25, 2010

Core Java Interview Questions & Answers

Core Java Interview Questions & Answers

Core Java Interview Questions - Here you can find out a list of questions for core java interview along with the answers. There questions are often asked for core java job interview.

Wednesday, September 15, 2010

GWT Tutorial

This article describes how to develop a Web application with GWT and the Google Plugin for Eclipse. This article assumes basic Eclipse and Java knowledge . The article was developed using JDK 1.6, GWT 2.0 and Eclipse 3.6 (Helios)).

Monday, September 6, 2010

Thursday, September 2, 2010

Riêng Một Góc Trời - The favorite love songs

1. Riêng Một Góc Trời
Nhạc sĩ: Ngô Thụy Miên

Sunday, August 29, 2010

Threads and Callbacks in RMI


7.1. Background

So far, all the RMI examples you have seen have been very straightforward - the client needs to invoke some service on a server, and is prepared to wait until the service has finished before proceeding. But what if the service will take some time, and the client wishes to get on with something else while it waits? Or if the activities of the server are to some degree independent of main function of the client? The first situation is often the case when dealing with GUI code - it is not considered good practice to freeze up a GUI while it performs some slow operation.
Also, suppose there are multiple clients - what happens if more than one tries to access the service at the same time? We will deal with this issue first, as it is the simplest.

Tuesday, November 24, 2009

Xử lý các sự kiện Trong Java

Java SE Architecture, source:

Thursday, November 12, 2009

Getting started IAR Embedded Workbench for ARM with AT91SAM7S256

Le Trung Thang 2011

Prepare tools:
- Software: IAR Embedded Workbench for ARM (
- Hardware: AT91SAM7S EVALUATION BOARD and Jlink 7 ( debug board (see schematic at below).
Other alternation can be considered in case of you don’t have AT91SAM7S Evaluation Board could be OLIMEX SAM7-P256 Development Board (
I have not tested with Olimex board yet, but strong belive that it's able to work well with this demonstration project.
- Source code: Demo source code of this project can download here: SAM7s256-SourceCode.


Fig 2. Modules in Board

Vi Điều Khiển AVR ATmega128 - AVR microcontroller

Một số tài liệu về vi điều khiển AVR và FPGA.
(This is some documents about Atmel AVR microcontroller, FPGA chip in Vietnamese.)

Sunday, October 11, 2009

Study About ARM7TDMI processor and Keil Realview Real-Time OS

Le Trung Thong, 2012

Here is place to post the ARM7 project which is graduated thesis of Thong Le. This page will include design, source code, plans,... Thong Le will take care this page.
Copyright by