Friday, June 30, 2006

Hylafax protocol prototype update

Basic login mechanism is now working. All I did was to follow the same way any FTP client handles login as noted by Bernstein here. Next would be testing to login as admin.

Tuesday, June 27, 2006

Hylafax protocol prototype

This is an update of the previous post. For the prototype, I'll just focused on 3 things:

  1. Able to login, both as users and admin
  2. Able to post fax job
  3. Able to query the fax server the status of fax job

I've played around with asyncore/asynchat and looks that this is a feasible project.

Monday, June 26, 2006

The new Hylafax protocol adventure begins

I've started my little learning project - writing a prototype program that speaks Hylafax protocol in Python. I also found Pyla, a Hylafax client written in Python. Pyla make use of ftplib module that comes with Python distribution - a smart move for not re-inventing the wheel. But I want to re-invent the wheel in order to learn something. So I'll be a little bit more adventurous - instead of using blocking socket like Pyla, I'll go for non-blocking asynchronous communication. Two asynchronous communication framework came to mind - Twisted and asyncore/asynchat. Twisted is sexy, but I guess I'll go with asyncore/asynchat for the sake of learning.

Wednesday, June 14, 2006

Another reminder

I know a mental know will not last long, that's why I blog this kind of thing :)

Please be reminded to check out Bazaar-NG - a next generation distributed version control system. I think I might have one or two projects which is suitable for using distributed version control system. Furthermore, this one is written in Python and still under active development. This could be a nice alternative to centralized version control system that I'm used to - CVS and SVN.

Tuesday, June 13, 2006

Hylafax protocol for Python

A reminder for myself to investigate about Hylafax protocol. All I know right now, the new Hylafax protocol is a modified FTP protocol. When I browse through the hfaxd code (it's written in C++), I think writing a Hylafax protocol under Python is acheivable.

Monday, June 12, 2006

FIFA World Cup - got time to blog?

I haven't been able to find a time to blog - all due to FIFA World Cup. Below are my thoughts of the current state of the competition:
  1. Most of the seeded teams which have played produced a sub-standard performance.
  2. Many of the teams which were expected to lose to the seeded teams fought in a spirited manner and played extremely well.
After 8 matches, the underdogs were obviously well prepared. They did their homework well. They played well as a team. Many of the players were very good at ball control.

So, what happened to the seeded teams? Over confidence? Ego - thinking that they're star players which make them unable to play as a team? Poorly prepared? Or all the above?

Friday, June 09, 2006

Open Source: Beyond Software

Open Source is not exclusive to software, or in the broader sense tech domain - yes, that's right. Newsforge reported about a project called Free Penguin Project that produced sewing pattern to make a soft toy of the cuddly little penguin - Tux.

Another thing to do beside hacking the codes - sew!

Thursday, June 08, 2006

My little rant on Python

Today I thought to myself, why not try to play around with SysV shared memory and semaphore under Python. Then, to my surprise, this time the battery is not included. Yes, there is no module that come with standard Python which offer this facility. After painstakingly Google around, I found 2 modules which provide a mechanism to this IPC - but I'm not too convinced with these 2 modules. I guess I need to dig into the C codes of these external modules to boost my confidence level. Till then, I'd stick to Unix domain socket and pipe for my IPC under Python.

Tuesday, June 06, 2006

IPv6 has finally come

Today, the 6th day of June of the year 2006 - or 666 if you like to dramatize a little bit - is the day 6Bone, the experimental IPV6 netwrok will be shut down. Now IPv6 comes to a stage of deployment to the masses.

This is a wake up call for me to ensure that all the boxens I'm using and their corresponding network apps support IPv6. With this, comes a task of learning how to use IPv6 and its tips-and-tricks. Bye-bye 6Bone, Welcome IPv6.

Monday, June 05, 2006

2 weeks full of events

A couple of updates.

First, ITTutor was defaced on 31 May 2006 and up till now is still closed. Apparently the Admin is taking the opportunity, while fixing the defaced page(s), to do some upgrade works.

Secondly, the Klang Valley in Malaysia was shocked by a landslide which claimed 4 lives. A series of finger-pointing trying to find the fault followed right after. The local authority, however, has the lion share for blames - due to repeated complaint by the affected residences months before the incident happend.

Next news, I still couldn't find an SSL library for Python which is easy to use and less confusing for newbies like me. The existing libraries is either too complex for newbies or simply out of date with the current C version.

Finally, the talk in the office is to integrate the procurement system with the fax server, which is running Hylafax. It is very likely I'll be assigned to figure out how to do it.

Friday, June 02, 2006

Managing user account using OpenLDAP

IBM developerWorks features a nice article on implementing a centralize user management using OpenLDAP. Although it's Red Hat specifics, but most of the steps described also applicable to other Linux distributions. I might even try to test the steps in the article myself when I have a free time - may be after the FIFA World Cup is over :)

Thursday, June 01, 2006

The first day of June 2006

A very interesting day.

Today marks the month of June 2006, the month of FIFA World Cup. Along with it come plenty of sleepless night - since all the live telecast would be in the early morning in Malaysia.

Also a very interesting start:
Linux.com featured 2 nice articles on GNU grep and Emacs tips.
Newsforge brought an article on OCSNG - which could be a nice complement to WPKG I'm currently evaluating.