# Recent blog entries for nuncanada

Actually in the model the observers will agree on velocity as percentage of light speed. The difference comes from acceleration. There is a prefered "absolute 0 velocity", and the observer that is closer to it will have its time going faster than the other.

From General Relativity these observers observations should be simmetric.

If we were to measure Gravity's contribution in towers in both poles they should not agree...

That pretty much rules out discrete time models?

Found out a model for a theory of mechanics with discrete time which preserves Lorentz invariance.

Unfortunally it seems break one of Realitivity's axioms, that two observers agree on their relative velocity. And it also ends up creating a prefered frame of reference.

If some spaceship's intruments doesnt agree with our velocity measurements on Earth, someone send me an email :- P

5 Dec 2008 (updated 5 Dec 2008 at 03:10 UTC) »
Dynamic Programming is a nice general procedure to attack some specific exponential algorithms and reduce them to polynomial time. But beware, they aren't usually created taking in mind the symmetries of the problem in question, so they may leave a lot to desire to come close to a algorithm designed with the given problem in mind.

So for instance, matrix chain multiplication which is a textbook example for dynamic programming will give out a O(n^3) algorithm. There are much better algorithms for this problem out there, specifically a O(n*log n) one.

Just after i first was taught about the chain matrix multiplication problem and it's dynamic programming solution i couldn't believe that was the best algorithm that could be done for it. Some days later after trying first to find an algorithm and then looking a lot around the internet i finally found this paper. Thanks Hu and Shing for the great work and taking out my obsession with this problem.

24 Sep 2008 (updated 24 Sep 2008 at 00:46 UTC) »

Am I crazy?

* I believe formal methods (typed lambda calculus, example: Coq) is the path for the future of programming, not all the fashion industry that comes from Software Engineering and business.

* I believe deep down time is discrete (maybe because i have been programming since being 6 years old, and that scrambled my head to disbelieve the continuum?). Even being a maverick in math and physics during school i never liked geometry, I felt uncomfortable with continuity since early on.

* I believe democracy with capitalism and inheritance has always failed, its inefficiency and unfairness in all levels is just absurd. There must be a better social arrangement, and merit has to play a big part of it, not which family you grew into.

* I haven't been able to make myself believe that the discrete logarithm problem doesn't have a polynomial solution. Didn't find an algorithm but the problem just seems to have too much "symmetry".

See? I told you that I am crazy.

13 May 2008 (updated 14 May 2008 at 20:16 UTC) »
A new world for open source is blooming!

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.
13 Dec 2007 (updated 13 Dec 2007 at 16:01 UTC) »

How i would like to program:

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.

GPLv3, solving yesterdays fight!

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.

8 Mar 2007 (updated 31 Dec 2007 at 23:17 UTC) »

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?

Now the evil empire will revive from the threats...

How long will it take for the barbarians to come?

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.

21 older entries...