Almost everyone is unaware but the seeds of change have been
planted! To a better open source community we are going to!
Open Source is a lot of times regarded as an example of
Meritocracy in action, but if you read Amartya
Sen's article
about Meritocracy, you will recognize that most of Open
Source projects fit more in his description of a 'static'
meritocracy than a 'dynamic' one (my words to resume his
thoughts), and Sen shows how what should be regarded as a
real meritocracy is the dynamic qualities.
To our rescue comes the knight in his shinning armor, not
other than the famous Linus Torvalds! I guess most readers
think i am crazy by now, but keep up and maybe it will make
sense.
DVCS have been around longer than git but not only by
creating a functional open source DVCS, but by evangelizing
the benefits of a distributed system he has planted the
seeds
that will change the future (interestingly for all the
democracy and meritocracy fanatics, this necessity came from
a "dictatorship").
And GitHub is sign of
the changes to come, once oss developers start to rethink
forking not as deviating from the community but as a common
fact of producing software, the whole community structure
will change!
No longer the "core group" will have the overwhelming power,
nor will it matter much, probably such a notion will end up
existing mostly. We will have the real possibility for the
community to choose what to follow from whom, github is a
start in that direction.
I am waiting anxiously for the future, a dynamicly
meritocratic one for OSS.

Be able to create function specifications that
completely describes the relationship between it's input and
output.

function sort
Input: List of a
Output: List of a

Relationship:
- output's list must be sorted (not enough, [] is sorted)
- every a in input must be in the output's list (not
enough, we might have duplicated elements)
in the same number as they appear in the
input's list

That would be great... Now anyone could invent yet
another sorting algorithm and prove it to follow these rules.

Btw, the function signature should make the compiler
check if the specification makes it really a function, not a
relationship or a partial function.

People are still 'fighting' Microsoft's imperialism while
the real danger now is from web companies, mainly
impersonated by Google.

We need an open source license that obliges whoever changes
it's code to publish it publicaly in the Internet. To
certify that they will play by the book, there should be an
organization to arrange for the permanent publicity of such
code.

Sun is known for his long time hatred of
Microsoft, but what makes me blog about this is it's
relationship to Hannibal's
life...

Hannibal's father made him and his brothers swore to
destroy
Rome when he was young, till his death he was still very
much enraged against Rome looking for oportunities to attack it.

Neverthless Hannibal did win lots of battles against
Rome
and became quite famous for his daring adventure in Italy.
But he never was able to doom Rome. Maybe if ....
Now, Sun did win the languages battle, but was not able to
deal the fatal blow with it. Is it doomed to the same fate
of Hannibal, a "slow" "agonizing" (in the sense that he
never realized his objectives and had all his family members
killed by the Romans) death?

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...

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.

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 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...