Archive for the 'Programming' Category

Network Simulation with Virtual Machines

29Apr08

I’m currently evaluating some alternatives for network simulations with virtual machines in Linux.
So far, the best solution available would be Xen, but other good solutions would be OpenVZ and Linux VRF. Linux VRT provides separate networks profiles for processes, so that one process can have some interfaces, firewall rules and routing table, while other [...]

ccache

16Apr08

My build system has been getting slower in the last weeks. I don’t know if the amount of dependencies in our project, the number of includes-in-headers or maybe the increasing number f third-party libraries has made “make” to go crazy, but, at the end, I can launch the “make debug” and go for a [...]

The Problem with select()

04Aug07

select() is a relatively expensive operation. Well, it is never described as such in operating system courses, but it is in fact, specially when you design programs that handle a lot of file descriptors. Let’s see why.
Most servers work in the following way. When a new client connects and a session starts, the server establishes [...]

Implementing negotiations (3)

12Sep06

A most radical alternative would be to forget the whole idea of listeners and to serialize everything. With this approach, the gap between the dispatcher and the session negotiator would be very narrow, and the system design would be made around the idea of a composed state machine where negotiators are decomposed in several layers.
Figure [...]

Implementing negotiations (2)

11Sep06

While the state and observer patterns combination is a quite effective solution, the problem is now in the way listeners’s actions are perfomed.
- On one hand, listener’s action can be started asynchronously (usually as a new threads). This is a very convenient approach when there is low interaction between listeners, but it can increase the [...]




Search

Calendar

August 2008
M T W T F S S
« Apr    
 123
45678910
11121314151617
18192021222324
25262728293031