Unattended Upgrades

We are managing a number of Debian servers in the office, for various internal applications. Initially, it was a simple matter of upgrading the servers manually. However, as the number of servers grew, the amount of repetitive apt-get upgrade commands that need to be entered became tedious. Unattended-upgrades to the rescue! Fortunately for Debian Squeeze, it is already packaged in the repository and installation is a simple matter of: # apt-get install unattended-upgrades However, what most guides do not tell Read more

FIRST LEGO League 2012

As in previous years, I participated in the Malaysia Open Championship of FLL as a judge. This year, I was promoted to head judge for the project judging and had to manage 8 judges judging 48 teams for the competition. As I have done several rounds of judging before, I was looking forward to enjoying the show this year. The presentation judging proceeded without a hitch. All the teams proceeded with their presentations on time and the judges were fully Read more

Taylor’s Engineering Fair 2011

I was invited to be a guest judge for the Engineering Fair 2011 at Taylor’s University today. The fair is a showcase for the first year and third year projects of the various engineering students at Taylor’s. After finishing with the judging work, I went around to have a look at the projects personally. It was a smart thing for them to coincide the Engineering Fair with the Open Day this weekend. As a result, parents and students who are Read more

LwIP on AVR32

Since the basic function for HAL is able to run without serious problem. I have to put HAL on hold and start to do net layer for AVR32. However, I will come back to HAL when bugs ‘fly’ out or when the time I want to increase the performance of HAL. The net layer for the AVR32 is based on LwIP (Light Weight Internet Protocol). The LwIP is a open-source networking library and API. It can support the basic networking Read more

Physical Programming #3

Yesterday, I went to Universiti Kebangsaan Malaysia (UKM) in Bangi, to deliver a talk on physical programming. This is the third such talk that I have been delivering in various local universities, with the previous two at Universiti Teknologi PETRONAS and Multimedia University. However, UKM is of note because of the reception that I received there. It was the biggest crowd of students that I had ever addressed, with about 50 students attending and filling up half the lecture room. Read more

AVR32: Displaying image on graphic LCD

Last weekend, I was dealing with the graphic LCD on EVK1105. I am happy to deal with output device. It is because they can interact with users and programmers. They can use for debugging, showing error and feedback. Another reason is the output devices are easier to debug when you have done something wrong. The software driver of graphic LCD is provided by the Atmel Software Framework. It is also comes with a example that displays an AVR32 logo on Read more

AVR32 Development

These two weeks, my task is writing a Hardware Abstraction Layer (HAL) for AVR32. So I need to work on AVR32 along with AVR32 studio and development board. The AVR32 is 32-bit micro-controller family developed by Atmel. Atmel provides most of the drivers for the on-chip peripherals and on-board components for AVR32. It also provides some third party services like FreeRTOS, light weight IP (LWIP), memory error-correcting code (ECC) as well as JPEG library. All the drivers and services are Read more

FreeRTOS: Inter-Task Communication

FreeRTOS is a type of real-time operating system. It is similar to all RTOS, having a serious problem with inter-task communication and resource sharing. In RTOS, inter-task communication is not like passing variables between normal functions. Normal functions can pass the data to a global variable or pass it to another function by returning the value. If the global variable is being used by RTOS, the data might be written by higher priority task before the lower priority task read Read more

ASH1 Assembler

During the last week, I worked on developing an assembler for ASH1! I have always wondered about the assemblers & compilers design… with AESTE, I had the chance to explore this field. ASH1 assembler is developed using MATLAB. It takes an assembly language source file (text file) and translates it into ASH1 object file (mif file). This is done by carrying out three passes over the source file as the following: In the first pass, comments and blank lines are Read more