Saturday, July 16, 2005

Collaborative Blogging

I have decided to move my thought-tracking to a collaborative blog.
My friend, Lajos Pajtek, kindly created the blog for us.
Watch: http://thought-tracker.blogspot.com/

Wednesday, July 13, 2005

CastleProject and Spring.Net

I'm glad that I work with people which see XML as no human-readable-friendly format.
The YamlSerializer will do us good.

But here are Hammett's thoughts:
part I
part II

The second part is better, I really like the "castle way".

Tuesday, July 12, 2005

PicoContainer Book and txt2tags

Looking at PicoContainerBook I found txt2tags.
Very nice. Seems perfect for internal documentation.

Sunday, July 03, 2005

Loading Dynamic Assemblies in .Net

I think I forgot to post the link
Eric Gunnerson, Loadin Dynamic Assemblies

Composite Inversion of Control

I've just mailed with Hammet on the CastleProject devel-list.
I need a way to "divide et impera" the components.
Every component is formed of sub-components,
and the Container's job (MicroKernel) is to link all these elements
into one running application. Every partial-configuration file,
is responsible for setting-wiring its sub-coordinating components.

This is how the Metro is doing.

Thursday, June 30, 2005

Continuous Integration

Continuous Integration Server Feature Matrix

Friday, June 10, 2005

Ruby is "geil"

I knew it. A programming language which does not stand in the way.

Ajax on Rails by Curt Hibbs -- XMLHttpRequest and Ruby on Rails are two hot topics in web development. As you ought to expect by now, they work really well together. Curt Hibbs explains the minimal Ajax you need to know and the minimal Ruby you need to write to Ajax-ify your Rails applications.

Tuesday, June 07, 2005

How complicated can be to create a Windows Form

http://www.codeproject.com/cs/miscctrl/resize_form.asp
In Qt, is a quarter the effort, and it requires no custom code to be written.

hmmm... (or grrrrr)

Monday, June 06, 2005

PicoContainer and GoodCitizen

The GoodCitizen part is overall available. ("gueltig")
http://www.picocontainer.org/Good+Citizen

C# Idiom: NullObject Interface

I'm going to start to publish/collect some ideas in C# programming.
Some or them might be patterns, or more granular, like idioms.

let' say we have a class Client which uses a class Server.
The interface which is used by Client, will be IServer

class Client
{
private IServer server;
}

class Server : IServer
{
...
}

in Order to have a function Client, we need a initialization with a valid IServer.
Let's make a minimalistic, null object, implementation of this interface:
sealed class NullServer: IServer
{
... //default, empty implementation of IServer
private NullServer()
{ }

public static readonly NullServer Instance = new NullServer()
}

class Client
{
private IServer server = NullServer.Instance;
}

- Now we can use the client, without the need to create a whole instance of the Server class.
- Using the IServer interface, the Client can be better tested, using a MockObject.

- The Client can be injected with a server interface in the constructor (PicoContainer-style),
or with a Setter (Spring-style).

Wednesday, June 01, 2005

C# Coding Guidelines

A discussion
http://blogs.msdn.com/ericgu/archive/2004/01/19/60315.aspx

A good one
http://developer.agamura.com/technotes

A very detailed one:
http://www.tiobe.com/standards/gemrcsharpcs.pdf

Monday, May 30, 2005

C# Optimizing overload of object.Equals and operator ==

http://blogs.msdn.com/santoshz/archive/2004/06/01/145542.aspx

Thursday, May 12, 2005

Hiring is obsolete

Very interesting paper about the economics (or the meaning!?) of startup.

http://www.paulgraham.com/hiring.html

COM and ATL

Dr. GUI on Components, COM and ATL
With the time obsolete, due to .NET framework.

The Visual Proxy

Very good paper from Allen Holub.

Object Mentor - Design Principles

Some very nice papers.

Tuesday, April 19, 2005

Hollywood Principle

Inversion of Control Containers and the Dependency Injection pattern

Also check the wiki, and the PicoContainer for the introduction

Wednesday, April 06, 2005

Take Back Your Life!

From Eric Gunnerson's Blog, how to stay organized:
http://blogs.msdn.com/ericgu/archive/2005/03/28/403178.aspx

Thursday, March 03, 2005

Exception Cost: When to throw and when not to

From Rico Mariani's Performance Tidbits:
http://weblogs.asp.net/ricom/archive/2003/12/19/44697.aspx

Wednesday, March 02, 2005

Code as Design

3 essays by Jack W. Reeves offer three perspectives on a single theme, namely that programming is fundamentally a design activity and that the only final and true representation of "the design" is the source code itself.
http://www.developerdotstar.com/mag/articles/reeves_design_main.html

Monday, February 14, 2005

Interviews

Yukihiro Matsumoto, ruby creator, on Artima:
http://www.artima.com/intv/craft.html
"I work very eagerly to be lazy." - Very nice said.

Alan Kay, the smalltalk guy, on ACMQueue:
http://acmqueue.com/modules.php?name=Content&pa=printer_friendly&pid=273&page=2

Wednesday, January 19, 2005

Lawrence Lessig on "Free Culture"

http://www.oreillynet.com/pub/a/policy/2002/08/15/lessig.html

Sunday, January 16, 2005

Code Complete Quote

"You might think of the lines between subsystems as being hoses with water running through them. If you want to reach in and pull out a subsystem, that subsytem is going to have some hoses attached to it. The more hoses you have to disconect and reconnect, the more wet you're going to get. You want to architect your system so that if you pull out a subsystem to use elsewhere, you won't many hoses to reconnect and those hoses will reconnect easily" -- Steve McConnell

"A class is a lot like an iceberg: 7/8 is under water, and you can see only the 1/8 that's above the surface" -- Steve McConnell

Friday, January 14, 2005

Inversion of Control Containers and the Dependency Injection pattern

http://www.martinfowler.com/articles/injection.html


Monday, January 10, 2005

"Manging at Microsoft" - A conversation with Microsoft Program Manager David Anderson

Nice method to move (push) the team to move forward,
to appreciate how the information is spread.

-----
SD: You've said before that developers shouldn't be measured individually. Why not? And how then does a manager recognize and reward the star players on a team?

DA: I'm not a believer in measuring individuals by their code production. Developing software is a team sport; it requires interaction and mutual support across the team. It's knowledge work and is best done in an environment of knowledge sharing. When you reward people for individual effort relative to their peers, you encourage them to hoard knowledge rather than share it. The manager should be measured by the productivity of the team, not the individual team members for their individual efforts. It's a system -- optimize for the system, not for the parts.

My style is to reward individuals for secondary contributions. I use the "language lawyer" concept from Fred Brooks (author of The Mythical Man Month). For example, I ask a team member to become our "lawyer," or expert, on unit testing and test-driven development, and I measure them by how much they learn and by how well they diffuse that knowledge across the rest of the team. I reward people to learn and share. It's behavior compatible with team success.

Thursday, January 06, 2005

The Game of Amazons

El Juego de las Amazonas was invented in 1988 by Walter Zamkauskas of Argentina, and first published (in Spanish) in issue number 4 of the puzzle magazine El Acertijo in December of 1992.

The game description:
http://home.earthlink.net/~fomalhaut/amazons.html
or
http://www.cs.unimaas.nl/ICGA/games/amazons/

or very nice description:
http://jenslieberum.de/amazong/amazong.htm

Seems like a lot of fun (combination between chess, go, a little bit of "othelo")

Sunday, January 02, 2005

Code Complete Quotes

"A software metaphor is more like a searchlight than a road map. It doesn't tell you where to find the answer, it tells you how to look for it." -- Steve McConnell

"When you look at the architecture, you should be pleased by how natural and easy the solution seems. It shouldn't look as if the problem and the architecture have been force together with duct tape"-- Steve McConnell

Wednesday, December 29, 2004

Free .Net Zip Library

http://www.organicbit.com/zip/
but #ZipLib sound better (a complete C# implementation)

Friday, December 24, 2004

Project Management Book

The Project Manager's Desk Reference
von James P. Lewis

Thursday, December 23, 2004

The "Anti-GIMP"

Paint.Net : http://www.eecs.wsu.edu/paint.net/

Wednesday, December 22, 2004

Plugins in Mono (.Net)

Miguel de Icaza example
http://primates.ximian.com/~miguel/texts/cli-plugins.html

Tuesday, December 21, 2004

The Latest and the best in japanese cinema

http://www.midnighteye.com
Ghost in the Shell II, Avalon, Howl's Moving Castle.
How do I get to see these movies ?

Monday, December 20, 2004

Coding Style - Naming

Ottinger's Rules for Variable and Class Naming

GnomeHuman Interface Guidelines

http://developer.gnome.org/projects/gup/hig/2.0/
worth reading

Saturday, December 18, 2004

"Blog This" for Firefox

It seems to be in beta, but I have to give it a try:
http://www.firefoxtoolbar.com/

Trying "Hello"


I can post images, but i cannot update my profile, with this picture.
Hmmm...

Why blog ?

I read a lot. I found new ideas and new areas to be discovered.
I can leave markers on my blog, to find and search these areas later.
Kind of "Hansel and Gretel pebbles"...