group

Jarvis’ March

In computational geometry, Jarvis’ march or gift wrapping algorithm is used to compute the convex hull of a given set of points. The algorithm has broad range of applications in mathematics and computer science practically in pattern recognition, image processing, statistics, geographic information system (GIS) and game theory. Convex hull or convex envelope of a…

创业不求人 — 156周之程:源代码的管理 — 3周

在这6个月里,我们开发组共写了不少过5万行的源代码。虽然我们采用Git和Mercurial这两个版本控制来维护和追踪开发工程蓝图和源代码,但预计在未来6个月内源代码会大幅增加一至三倍,单靠版本控制是不够的。开发组必须实践统一的代码风格。 除了以Ada编写的源代码有采用我之前所创的代码风格,以其他语言编写的源代码至今还没有采用统一的代码风格。这周我心血来潮,终于把搁置很久的DocBook XML重新整理。接下来的数周我将会和开发组一起敲定和撰写其他语言的代码风格。 为什么代码风格那么重要?它和创业有什么关系? 以我多年程序设计实践中的经验,好代码风格的特点之一是易读。由于公司刚刚创建,有很多事务还未落实,因而这正是时候统一代码风格,让组员在实践中养成习惯。 由于源代码庫会不断增长,易读易明的代码将方便开发组维护和升级代码。将来开发组也会增加新血。一旦组员多了,统一的代码风格有助加强和巩固开发人员的团队精神。 其他语言的代码风格一定要在这数周内统一起来。

Ada and Multiple Inheritance

When developing an information system which computes real-life data, one of the most common problems a software developer may encounter is multiple inheritance. Inheritance is one of the four aspects in Object-Oriented Programming (OOP). What is Object-Oriented? Object-oriented technique organizes software as collection of discrete objects incorporate with data structures and behaviors. Take a software that…

A hot Sunny affair

I have been hesitating for another hot Sunny affair since the last one about three years ago. This is just another one I have been longing since then. The recent eclipse of Sun resurrects my overwhelming but sleeping desire. Although this happened near the time when Sun is setting, but it is never too late…

Objectively Boolean

I was introduced to Objective-C in a workshop organized by Apple Malaysia about 3 years ago. Read my posts here and here. No real development using Objective-C after that. One plain reason for me to pick up Objective-C again recently is to develop Cocoa and Cocoa Touch applications for the Macs and iPhone (and iPod…

Ada tasking on multi-core

With a multi-core processor such as the Intel’s Core Duo, the Ada tasking can be easily demonstrated compared to single core Pentium processor. Consider the following Ada code: with Ada.Text_IO; use Ada.Text_IO; procedure Tasking is task A; task B; task body A is begin for I in 1 .. 10 loop Put_Line (“A”); end loop;…

Hello? What is Ada?

I was giving an Ada talk this afternoon. The room was quite packed with students although not full. They were mainly 3rd year sem 1. Most of them were looking at technologies that they could work with their FYP (Final Year Project). While I regaled them with fascinating true facts of Ada, I could see…

Ada Talk at UTAR

An Ada Talk will be conducted at UTAR to introduce Ada and to let the students aware of available technologies in software development. This talk will introduce the history of Ada, a quick comparison of Ada and C, and the use of Ada in all sort of software development. This talk will also help students…