Older blog entries for nuncanada (starting at number 22)

16 Dec 2006 (updated 16 Dec 2006 at 14:43 UTC) »

Strong Types

My previous programming experience (PHP, TCL, Java, C, C++) had made me believe that Types were evil, they were there just to add more characters to be typed without any real value. The errors in all these languages (not C and C++ that done have GC, tend to have much more bugs and more complicated to find out) tend to be in places where the type system didnt help anything.

And then i learned Haskell: now i believe strong typing is FANTASTIC as long as you have a good type system! Actually i wish Haskell had even more typing facilities (there is ongoing research on that) as they help so much you to get the right code for the problem...

Even if i dont stick to Haskell (maybe there is another language with a even stronger type system?), it certainly has taught me a lot of things, a mind expanding experience...

Which CMS? Which FrameWork?

Java, PHP or Python... The same questions, with the same multitude of answers. Why nobody is able to agree on what should be done? Is it so hard? Or something inherently human...

We need a language where there is only 1 way to do things. Or at least that all possible ways can be shown to be equivalent.

24 Feb 2005 (updated 27 Feb 2005 at 21:19 UTC) »

Open Source Java CMS? Where?

I got the unfortunate task of surveying the Open Source Java CMSes out there. It's interesting to compare how much harder they are to install then PHPs. Many have incompatibilities with certain versions of Tomcat or some of the libraries being used etc etc... Quite a pain...

Anyways, from the ones i was able to install, Lenya appeared to be the most professional of all of them although it was missing lots of features comparing to common stuff in PHP CMSes. Anyways it had good support for workflow and other interesting features for corporative use, but where is the dynamic content generation? It seemed more like a site editor than a dynamic application.

OpenCMS seems to be relatively stagnant, or maybe it's just my ignorant view. Anyways it was missing all interesting modules in its new version.

Some of the CMSes out there are laughable like JBoss Nukes. They didnt even consider asking PN developers what did they think was badly done/designed before copying everything? What were they thinking?

One CMS that seems interesting from docs/site is WebMan but i wasnt able to install it, first i needed to fix lots of missing ';' in the postgresql instalation sql schema which is a sign that they didnt even bother to test. And after that it doesnt work and yet doesnt give any errors... Very helpful.

It's interesting how Java developers downplay PHP ones, still they are producing quite the same crap.

27 Sep 2004 (updated 24 Feb 2005 at 21:00 UTC) »

I dont believe there is still people trying to do their own PHP Templating Engine, its amazing. We have already 100+, mostly half-solutions. Some months ago there was lots of discussions because someone wanted to put another Templating Engine in PEAR (a 'standard' library for PHP) besides the 4 already existent.
There is a pearl of wisdom i have read somewhere (certainly a book on philosophy/history of physics, but i cant remember which one) which i think applies perfectly to this:

If a question raises too much debate, it is a signal that it is the wrong question.

Meaning: people are building solutions (Templating Engines) to the wrong problem, that's why they never agree what's the best way to do it.

I have fallen in love with FlowDesigner.

I have been thinking about making a framework in php. If following that road, i would like it to be able to generate code from a flow diagram a lot like that from FlowDesigner. Besides that use a O/R Mapper, type hints for the inputs in the flow designer, as well some post checks on the outputs.

Something also useful would be an automatic population of nodes from functions found in the framework directories.

Have put a stop on programming for a while. Dropped out of the math course, so i am studying to get in the Computer Science course. Here in Brazil, the best courses are on public universties which are non-paid, and so there is a lot of competition to get in them.

Been doing good on tests, will pass without much problems... But i want to keep studying to see how well i am able to do...

Look how our social systems evolve, a common feature is the increase of 'Separation of Concerns'.

Programming is much more of a 'social problem' than a mathematical one. Programming needs to evolve towards a bigger separation of concerns...

Movies i liked the most till now:

- Gattaca - Dark City - The Cube - Memento - Run, Lola, Run - Muholland Drive - Matrix I - Forrest Gump

10 Mar 2004 (updated 24 Mar 2004 at 23:43 UTC) »

It's the first book that my father said i should read which i've been able to read to the end: 'Zen and the Art of Motorcycle Maintenance' by Robert M. Pirsig.

I won't even bother reading any book my father recommends now on. It's just that he's 'an artist while i am a mechanic'. ;) We've completely different book tastes.

I guess the only non-technical/scientific books i really like are those which make me forget human reality... Authors like Douglas Adams, Neil Gaiman and Tony Vigorito...

29 Feb 2004 (updated 29 Feb 2004 at 19:04 UTC) »
Exceptions: A seemingly good idea that works worst than its predecessors

If you have pretty 'linear' code, exceptions might be a good solution to lessen the quantity of error handling code. Maybe when making a library that is the case... Still for most real programming out there, it is about reusing diverse components, lots of interrelationship between you code.

From experience, when trying to use lots of decoupled parts which call up each other without a previous knowledge of the paths, you will have to catch exception as close as possible to the problem.

This makes it worst than using simple return statements for errors....

I am not the only one...

13 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!