sábado, 11 de diciembre de 2010

Something Vs. Nothing

(Reading Creation, Optimism, Sacrifice can help to put yourself in the right perspective)

People only dream about being the best, about being the strongest. They are hypnotized with that false illusion of being the best. Human beings have many limitations. You can be really good in one aspect, but also you are so bad in some other aspects.

Also, no human lives forever, nobody is eternal. Do you want to live destroying others life? I wish that you don't get embarrassed when you get old.

Why do people like to destroy? Maybe because Universe is destined in such a way that all beings live at expense of the weakest ones. So, we have two extremes: have latently strong enemies, or be devoured. I hate being caught in between of two risky extremes. Although, when you compare Nothing vs. Something extremes, it seems clear which is the path to choose.

Is it possible that there's is a Something worse than Nothing?

viernes, 10 de diciembre de 2010

Creation, Optimism, Sacrifice

In the beginning, you have nothing.
You try with all your might to have something.
You start creating whatever means you believe helps you have something.
Then you start to see that you are not sure about what you will achieve with your actions.
Then you put on yourself a high load of optimism to keep your motivation to create something.
You achieve some small things you can feel a little pride for them.
You start to imagine a next level for those things you achieved,
but optimism is not enough when you have to renounce from things you don't want to.
You try to do whatever is on your reach to bring them with you,
but they become a high load.
And this is when sacrifices appear,
and those sacrifices are what put optimism at risk.

miércoles, 3 de noviembre de 2010

Bugs

(Thanks to IMDb, and whatever made me recall these quotes)

Let's analyze these dialogs from A Bug's Life movie:

Flik: Here, pretend - pretend that that's a seed.
Dot: It's a rock.
Flik: Oh, I know it's a rock, I know. But let's just pretend for a minute that it's a seed, alright? We'll just use our imaginations. Now, now do you see our tree? Everything that made that giant tree is already contained inside this tiny little seed. All it needs is some time, a little bit of sunshine and rain, and voilá!
Dot: This rock will be a tree?
Flik: Seed to tree. You've gotta work with me, here. Alright? Okay. Now, y-you might not feel like you can do much now, but that's just because, well, you're not a tree yet. You just have to give yourself some time. You're still a seed.
Dot: But it's a rock.
Flik: [shouting] I know it's a rock! Don't you think I know a rock when I see a rock? I've spent a lot of time around rocks!
Dot: You're weird, but I like you.

I felt a connection when I saw the recursion of this 'childish' explanation near the end of the movie. With this dialog, in that time, I felt a similar level of connection like the one I felt with the first twelve minutes of Up movie.

Also, it's nice to see how, in the moment of the recursion, these talkers almost exchange their positions:

[Dot gets a rock]
Dot: Pretend it's a seed, okay?
Flik: Thanks, Dot.
Francis: Hey, what's with the rock?
Slim: Must be an ant thing

I'm sure some sheeps may do a nice work as shepherds. The problem seems to be how to state when their work is either solving a need, or satisfying a terrenal whim.

martes, 12 de octubre de 2010

"C'est la vie": A lazy answer

"To keep open some doors you want to close, is as disgusting as to keep closed those doors you want to open."
Ignacio Cortorreal
(If not, correct me)

"Why is hard to work?" Because "C'est la vie"? Because "it's the law"? If you love to answer this way, I will say you this: No! Wrong answer! When you respond in this way, you are trying to explain too much in less than three seconds. You are totally forgetting every possible possibility or exception, and when exceptions appear, the first answer it comes to mind is "That's another different thing.", which is partially good because, although exceptions could be complex, these exceptions also belong to the answer of the question "Why is hard to work?"

Sometimes we make mistakes. Some people think we should be punished, and others say that we deserve mercy, ourselves included. ;-D ... Although, I believe that the next three points should be analyzed before granting or denying mercy.
  • If you make mistakes without being adviced before, your mentor has part of the guilt.
  • If you make mistakes after being adviced, the guilt belongs to you
  • As we are human, we can be forgiven up to certain point
To make an example of something I think could be a mistake, let's have a look at this conversation:

- Dad?
- Hmm?
- We're pals, right?
- Right.
- And we'll always be together, right?
- Simba, let me tell you something that my father told me: Look at the stars. The great kings of the past look down on us from those stars.
- Really?
- Yes.
- So whenever you feel alone, just remember that those kings will always be there to guide you. And so will I.

(Thanks to arkymedes for the subtitle)

Can you see how Mufasa answers that difficult question to Simba in The Lion King? That dialog could have happened this way, but in real life:

- Dad, will you always be with me?
- No
- Why
- Because everybody dies. I will, someday.
- You will die! Oh no! Why you have to die?
- Because "c'est la vie"

And then, Simba should start to blame God for the "erratic" way in which Life was created. But no! Instead, our little kid, now that he knows that "our life is temporary" and that "he will die someday", he starts to make other people suffer for his own profit, and then some subjects ask him "Why are you so mad?" Which could you think will be his answer? You are right: "c'est la vie!"

"Sometimes there are people who don't want to listen. But also, there are people who don't want to talk."
Ignacio Cortorreal (If not, correct me)

When I talk like this, I now see what Moses was trying to teach with those Ten Commandments. But, for some reason, people started to walk away from those Commandments, and now we see Zeal, Hatred, Envy, Anger everywhere. I can bet that it started when some disciples of Moses started to use "c'est la vie" or "that's the law" as an answer.

"The Ten Commandments are really good. The problem is that each one of Them have many exceptions. And every exception should be explained. If not, people could develop wrong explanations."
Ignacio Cortorreal (If not, correct me)

Do you remember those funny moments when kids start to ask these two lovely questions "What is that?" and "Why?" It gives me chills to think how the disposition to reach the bottom of any deep topic is hardwired inside the personality of each one of us. I believe that "You ask too much" is a devastating answer, but "I don't know" is a phrase that everyone says with shame... Life is really complex, but the funny part is that we can learn and enjoy many things.

"My destiny is my only enemy. Cuantas veces yo caí, pero proseguí.
A fuerza de golpes yo crecí, no debió de ser así,
pero le doy gracias al destino por todo lo que sufrí."
Yomo

lunes, 27 de septiembre de 2010

Recursion

Twisting. A new way to think and analyze algorithms. Its structure seems that can be exploitable with multicore systems, excepting of course the size of stacks... In essence, Recursion is a function that calls itself until certain condition is met. And this simple essence is still twisting...

You can define a function as:
function hola() { 
echo "hola!";
}
To make hola() recursive, we need to call hola() inside hola():
function hola() { 
echo "hola!";
hola();
}
But if we execute hola() right now, it will execute forever! We still need some condition that stops that infinite recursion:
function hola($n) {
if($n<=0) return;
echo "hola!";
hola($n-1);
}
And then, a recursive function was born. This is a completely too big jump away from sequential programming! Just try to solve factorial, fibonacci, quicksort and backtracking by using loops only, and compare them with their recursive counterparts... Twisting!

The 'Hello, World!' of recursion, Factorial:
function fact($n){
if($n<=1) return $n;
return $n * fact($n-1);
}
Right after factorial, the next example is Fibonacci:
function fibo($n){
if($n<1) return 0;
if($n==1) return 1;
return fibo($n-1) + fibo($n-2);
}
Fibonacci recursion still twists me, just like any QuickSort algorithm:
function qs($list){
if(count($list)<2) return $list;

$less=array();
$more=array()
$pivot=$list[(int) (count($list)/2)];

foreach($list as $e){
if($e<$pivot) $less[]=$e;
else $more[]=$e;
}
return array_merge( qs($less), qs($more) );
}
And, if that was not enough twist, there's also a Backtracking recursive algorithm! You can look an example of it at CodingBat, using Java. Backtracking is useful for solving problems similar to Knapsack and Eight Queens puzzles.
function backtracking($start, $charArray, $counter = ""){
if($start >= count($charArray)) return;
echo $counter, $charArray[$start], '<br />';
backtracking($start + 1, $charArray, $counter);
backtracking($start + 1, $charArray,
$counter . $charArray[$start]);
}
backtracking(0, array("A","B","C","D"));
I am starting to think that recursion (or at least my knowledge of recursion) is still in diapers.

-------

What follows now is a curiosity I found in Python.

I coded a solution for the previous backtrack recursion in CodingBat by using loops and binary numbers. That solution is good for an amount of elements less than 32 (int) or 64 (long) . Python has "unlimited" integers, so I tested if I can create an integer with a googol of bits and typed:

a = 1<<(10**100)
OverflowError: long int too large to convert to int

Experimenting with previous expression, I assume the limit is:

a = 1 << ((1 << 31) - 1)
print a

OverflowError: long is too large to format

This means 2,147,483,648 (more than two thousand millions) elements, an amount still lower than the amount of people in Earth; Although, in terms of integers, with 64 elements (bits), you can express a number like 9, 223,372, 036,854, 775,808 (more than nine trillions), a number good enough for some kind of accounting.

Python can't format and print (1 << ((1 << 31) - 1)), but at least we can know how many digits it has:

import math
math.log10(1 << ((1 << 31) - 1))

646456992.94488049

The number we can express in Python has 646,456,993 (more than six hundred millions) digits! But we can't print it. That number in ASCII string will weight 617MB. The same number in binary storage should weight 256MB, but it seems Python has something like Computational Notation to store binary strings (analogous to Scientific Notation), because it handles these calculations very well.

Bit: data? instruction? element? state? number? group?

lunes, 20 de septiembre de 2010

The 'Undisputed' eager to fight

I learned and discovered this facet of myself with Nova, because he likes to joke with people too much:
  1. You don't like to be repeatedly touched on your body.
  2. Somebody knows you dislike to be touched.
  3. That person touches you a lot of times.
  4. Your anger rises to the point that you hit that person.
  5. That person uses that attack of yours as an excuse to fight against you.
  6. You show your strength, and that person sees you are strong enough.
  7. Then, that person says that he was simply touching you.
  8. That person also says that you are the crazy one.
  9. As you feel that hypocrisy, you say that person won't be a good friend of yours.
  10. That person sees how you ignore him, and then he wants to be your friend.
Now I understand, in Matrix Reloaded, what Seraph meant when he said: "You do not truly know someone until you fight them."
  • Carlos and Ivans, after our encounters
  • Sasuke and Naruto talk using fists
  • Boyka and Turbo in Undisputed III
  • And tons of stories about supposedly opposite extremes that get acquainted and sometimes they even identify a common enemy.
So, could that initial bothering of people we show be just a unconscious eagerness or impulse from ourselves to get acquainted with that person?

Wow, terrific! How many corners of our subconsciousness will we still keep unexplored?

sábado, 18 de septiembre de 2010

My praise for Python language

Disclaimer: PHP is my main scripting tool. I still prefer PHP for things related to HTML. Python threads looks like a total copy from Java's, but some concepts of Python have me dreaming too much...

I like when languages focus on both, problems and users. There are still many other common problems that bothers developers everyday, but I like like when solutions go towards freedom, instead of going towards constraints (although the world itself is a constraint).

Don't you find it rude to use Eclipse, NetBeans, VisualStudio or Zend Studio on EVERY computer you will ever use, only to check the a method's syntax? Programming environments should be cheaper and lighter... nevertheless, these comments looks contradictory...

When you unify several complex concepts into simple principles, you feel a surge of freedom in your brain, head, body, self, ... well, whatever you choose. Well, that's what I felt when I discovered that I can slice arrays the same way I slice strings.
  • If you have no text editor for coding, it brings Python GUI and a prompt to make tests.
  • It forces you to tabulate your code, which makes code looks nicer
  • Nested block delimiters reduced: neither {...} nor begin...end
  • help() and dir() functions: pass any object as a parameter and look.
  • The way you can access your own packages and modules
  • Built-in: highest integer number you can express is limited only by your computer
  • Built-in: complex number calculations (2+3i)
  • Its slicing system for arrays and string, for example: "python"[1:5:2]
  • dict.items() and enumerate(array)
  • Integer division for floating point numbers, without casting
  • You can use named parameters, for example: print my_page(head='Hello', foot='Bye');
Vaguely explored:
  • Its flexible object definitions. It looks more flexible than JavaScript definitions.
  • Lambda
  • Jython and binaries

martes, 14 de septiembre de 2010

Transforming If Conditions

I feel that breaking logic operations into several 'if' statements are easy to read and follow. But, from time to time I want to transpose them from single 'if' statement to multiple 'ifs' and vice versa. These are some patterns I use.

if(a==1) {
if(b==2{
f1();
}
}
/*AND*/ if (a==1 && b==2) { f1(); }

It looks a nice way to decompose a 'conjunction' (and); but it's not so well with 'disjunction' (or):

if(a==1) { f1(); }
if(b==2) { f1(); }
/*OR*/ if (a==1 || b==2) { f1(); }

But, if you have different conditions that execute the same statements, it's nice to know that you can join them with 'or'.

And now, there's one that annoyed me way too much, the empty 'if' block.

if(a==1) { /*nothing*/ }
else { f1(); }
/*NOT*/ if ( !(a==1) ) { f1(); }

I can remove that 'empty' block by negating the condition; but that extra parenthesis in NOT example looks odd. We can erase it by inverting that condition to:

if (a!=1) { f1(); }

And now, some other inversions of boolean operators:

if(a > b) ... if( !(a <= b) )
if(a >= b) ... if( !(a < b) )
if(a != b) ... if( !(a == b) )

It's fun to see that, if a number is not greater than another, it can, not be only lesser, but also equal; and that, if a number is neither less nor equal than another, then it's greater. Never forget the equal when inverting a less-than and greater-than operators.

Now I understand why the word NOT is never used in boolean variables. Which API method looks good: is_not_good() or !is_good()? Sorry for english language! ;-P

¿NOT is good? -vs- ¿NO está bien?

domingo, 12 de septiembre de 2010

Validation Overkill

"The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich find most hard to pay."
Sir Antony "Tony" Hoare, 1980

People keep inventing new ways of validation, and that's really good! The problem is when they want them all in the whole same form!

[This link] provides an example I have elaborated about what I have called "Validation Overkill."

I will list some overkill principles:
  • State validation constraints, before, while and after:
    before: by using a label, and description of the time of data and its formatting
    while: show errors while typing data, or when changing focus, with Javascript or AJAX
    after: it's normal that back-end rejects wrong data
  • Indicate validation errors. It's normally done by adding a red color to a data field
  • List a summary of errors with anchor links to data fields, normally at the top of the form.
  • Retell errors, just like the while part of validation constraints.
You are right! Of course these principles looks nice enough to take them into account, but there are some inconveniences:

Javascript problems: visibility, library size, duplication of validation code, excesive AJAX
  • Javascript code is visible
  • if libraries are big, they will take time to be downloaded
  • sometimes it's needed to validate twice: front-end and back-end
  • excessive ajax requests can kill bandwidth
User traffic and bandwidth: ajax
  • If your user base is big, it will be a load for your server
  • AJAX is a process running on back-end, not in the browser.
Processor power
  • You would like to squeeze the total capability of the machine, but
  • sometimes to pay for a CPU upgrade, or
  • to buy an extra CPU to use as replication could be a faster way to solve latency
And very important, amount of fields!!
  • because all these rules are present in every field of an input form,
  • and specially if those fields are required
But, as a friend of mine says: "That's what we are paid for!"

viernes, 10 de septiembre de 2010

Unanimous Rule

"What you have to do, done; and what you have to ignore, ignored. and don't cry for what you will lose."

I was thinking about how could I spend more that RD$ 10MM. A friend of mine said that he would help some people if he receives a great amount of money. In my case, I thought about making contests. I would choose a group of different ethnical people, and choice of the winner must be their responsibility.

I thought it could be a referendum. 70% of participants must agree on the winner. Or maybe the choice must be unanimous, and if someone is in disagreement, that person *MUST* state his/her reasons, and we'll ponder it until everyone is agreed.

One possible problem is that even organizers could cheat! Somewhat, I must interview them in a private and protect them from evil supervisors by controlling the tide of the contest.

I was also starting my ethnical group by creating my "Email Web of Trust", just like when I talked about ToDao: to create a way in which people trust me enough to show me some of their contacts to show the world what an unified group can make. people add you, and give you emails, and trust you.

It could be a voting, or by amount of friends, or branches. But, again, there are people who will fake any of these systems and votes. I, sadly, would force people to write captchas and to write some thoughts that I will analyze. I could force them to provide a phone number, an email, or a scan or copy of their identification number. I could even set up a webcam meeting with them to check their validity.

Do you find all of this as madness? (300 anyone?) Then read some Albert Einstein quotes:
  • "The secret to creativity is knowing how to hide your sources."
  • "I want to know God's thoughts...the rest are details."
  • "There are only two ways to live your life. One is as though nothing is a miracle. The other is as though everything is a miracle.
Every idea is a miracle, and you should annotate all of them; although this method of thought promotes schizophrenia. (I think Einstein would have said it like that.)

Why do I like Einstein? Because he proved the Theory of Relativity on physics. Just as we, in real life and HHRR say that "everything depends on the way you look at things"...

... and, in the end, I still have difficulties to find motivation to work on my duties. I'm almost sure it's because of my daydreaming. I don't know why, but right now I recalled a Franco De Vita song called Louis...

Sacrifice, Weapon, Recovery

Today, in The Great Pawn Hunter's web page, I was reading Decoy: Chess with Style, and then all the Knights section in the Lessons page. I re-re-leaned the forgotten sacrifice-weapon-recovery principle I learned in 2002. I was re-dazzled again about how nice and beautiful some sacrifices can become... and also, in how similar they are to some aspects of life.

You must notice that whatever you sacrifice is not in vain. A plain sacrifice, because it has meaning, it has a purpose.

In Naruto Manga, Asuma explains what is his duty in the village (a sacrificial piece) and who is the most valuable piece in his game of life. Shikamaru got it wrong until Asuma finally explained his thoughts.

These children of the atom are making great philosophical stories since Tetsuwan Atomu (Mighty Atom). Mighty Atom was renamed to Astro Boy in United States. What do you think could be the reason behind that name change?

And still those powerful robots can't imagine a world without money and wars, because they want to be heads and managers of Earth by keeping poverty... As Maquiavelli said, "It is better to be feared than loved", right? I wouldn't like to be respected by fear, or to be so powerful that I fear of being alone, without enough reliable people near me.

There's no enough imagination. We humans are so crippled that we can only imagine that this is the only one way to live our lives. Respect, tolerance, acceptance and communication.
Now, each one have needs, and exchanges or sacrifices to make.

Understanding between everybody is better than any kind of money. if I could communicate with all animals and bugs, I probably would not need to kill them. But they can't imagine a new civilization. (a song about this line?)

I know the risk of losing all good things I have achieved and kept. It's just like when I don't want to lose rating on Free Internet Chess Server (FICS), but if I don't risk, I won't improve.

I know that we need to push people to work and do things, and that is not easy to change from one way to another. But also, Creativity doesn't light up too well under anxiety or pressure. Each idea should be stored and pondered from time to time when they appear on our heads.

I think I wrote about "storing all ideas of the world, even crazy ones" some time ago, but I can't remember when It was. And I'm not talking about "Web of Ideas", but something else.

miércoles, 8 de septiembre de 2010

Happy -vs- Sad

#6: yes, randomness, e+motion, sell, task, That's our task. That's what we get paid for. We do it, change it, and tweak it as you like, and receive the blame for it if it doesn't work as expected. And still we need to be happy. But how convenient that Einstein said that "There are only two ways to live your life. One is as though nothing is a miracle. The other is as though everything is a miracle." Thank your for the miracle of working that way...

Do you think we should simply ignore that bad side? Why don't we celebrate when somebody dies? or when diseased? or crippled? Or better: don't think about it at all! Show indifference to your friends' suffering, because it's bad and we should be in good mood forever, right? No! because they will reduce their estimation towards you. Challenges, Families, Relationship, Friends, ... the silly "That's another thing" answer. I hate it. I believe in Universal Law. Law should be applied to every[thing|one|where]. Then, What would my penalty be?

If you believe in God, then you believe in supernatural powers. If not, well, Malcolm X said that "a man who believes in nothing will fall for anything."

martes, 24 de agosto de 2010

Autist Cowgirl

I saw Temple Grandin. It's a comedy movie, right?

She knows that humans care about cows because they are food, and so they will be killed. Nevertheless, she also thought that cows deserve some kind of respect. She also said that if she were to die, she would like it to be in the best and most peaceful way possible...

Have you read the previous paragraph? Many of you could think "Cows are not human. Why should we treat them as humans?" Well, I don't know what you could think about random citizens, workers and soldiers, but they also are/will be "killed" (citizens will be taxed, workers won't have enough freetime, and soldiers will go to wars), but that doesn't matter, because they are not cows, but sheeps of some big shepherds.

My favourite phrases from the movie:
  • People. I don't understand people ...
  • She thinks in pictures.
  • They mess with the perspective!
  • Think of it as a door ...
  • It's almost time for The Man from U.N.C.L.E.
  • Nature is cruel, but we don't have to be.
  • I touched the first cow as it was being stunned ...
  • I don't want my thoughts to die with me.

jueves, 19 de agosto de 2010

Pulpy Enough

I saw Pulp Fiction. I think this movie was made with several kind of people in mind, because part I didn't like much, I'm sure those same parts will be lovable for women, delinquents or polices.

Each one of these phrases are very related to parts I like. There are many phrases, so I only stated those memorable ones for me of the whole section:
  • Royale with Cheese.
  • Eenie, meenie, minie, mo.
  • "Please" would be nice.
  • All right, now, Yolanda!
  • ... shepherd. (I avoided the temptation of putting that complete "ending" phrase)
As dreamy and delightful as Kill Bill 1 & 2 were.

miércoles, 18 de agosto de 2010

Function's Name, Code and Usage Relationship

To show how important the relation between a function's name, code and usage is, let me show you this silly example using Python:

#Look this valid function definition:
def are_different(a,b):
return a==b

#This line looks nice. They are different:

if are_different(1,2):
print "1 & 2 are different!"
else:
print "Houston: we have a problem!"
#Huh? Where is the mistake?

raw_input
("Press [ENTER] key...")

(You can download previous code in this link. Double-click to run it.)

What can you see? It's fun to see how function name says one thing, and its implementation says another.

Conventions are important. It should be clear by reading any part of the code.

In validation functions, there are two possible values. True and False. Although you can choose to return the one you like the most, when you want to say that a validation has_failed or has_passed, it "should" be clear what value to use, shouldn't it? ...

Actions (or processes) should be according with names. Names should be chosen according to actions. "What you say should be backed-up with what you do." "Things you do speak louder than things you name."

Comparing this with Positivism, I like how inspiring messages are written, although they don't promote planning.

#300-private

martes, 17 de agosto de 2010

What Programming Languages contribute

Each programming language should contribute something new to the programming world, like some kind of new element to the structure of a program, to name a example. An inconvenient I have is that I still see sequential solutions easier to find than a structured ones.

My programming rabbit hole started when I was 14, with slight touches toMS-DOS command prompt. Then I lightly met FoxPro, then COBOL, until I hit Turbo Basic.

I learned that Assembly Language existed, the one I consider the genesis of imperative programming language style. When you notice that Assembler is essentially data movement and comparison, it's hard to imagine something like Warcraft coded in this language. Some time ago I learned that programs are based in a theoretical Turing Machine.

When I saw function and sub statements in QBASIC and the list of commands of the Help, I knew that something different was comming. Something called procedural or structured programming. In college, I saw DBASE III Plus (which I compared with FoxPro), Turbo Pascal and Borland C. I saw in the last two some resemblances to QBASIC, but declaring variables and importing libraries where something new to me.

In the university I learned what was the real importance of C and Pascal, why GOTO is evil, complex typedef struct, and recursion, that by itself was something too abstract for me, not to mention the fact that it's needed for some sorting algorithms (also abstract) like Quick Sort. I wish I had met SmallTalk and LISP at this time... I feel power and flexibility in LISP, but I still neither understand it, nor its macros.

In 1995, the first language I saw after QBASIC was HTML, but I didn't see some statements (no conditions, no loops, no variables). So HTML was not programming language for me, and I rejected it until I learned about JavaScript. Something interesting that I learned with JavaScript is that you can "store" function definitions in variables, but later I learned that what gets stored is a reference, and that C allowed this kind of assigment. About JavaScript events, I heard of the event concept with Visual Basic (QBASIC successor) and Delphi (Pascal's).

OOP... What a headache!! I was doing a lot of HTML, CSS, JavaScript and PHP, before I learned about OOP and Java. I saw C++ before, but I never saw something about Object-Oriented Programming on it. I learned that SmallTalk was an older OOP language than Java. Inheritance, abstraction, polymorphism, encapsulation, imports (I took them like includes, but later I learned that they are namespaces!), collections, threads, bytecodes, and patterns: all of these were part of the tsunami that Java was for me. Some interesting things that I tested with Java for Eclipse were Test-Driven Development and Source Navigation (like navigation in Internet)

If something was difficult after starting to learn Java, it was to learn CakePHP and the concept of MVC Frameworks. It's nice to jail a group of developers into conventions, but the problem is when the framework doesn't provide what you need in a way that is easy, accesible and well documented.

A problem I get with JavaScript is when I want to access some local variable, inside a function called from another function. In C# there is something called closures, designed to avoid this kind of problems.

I wanted to experiment something new, so I looked into Ruby, and then Python. I choose Python because of how it does things and it tends toward procedural and imperative styles easier. Not to mention Python IDLE. What I discovered is that code blocks are delimited by tabs or spaces, but the flexibility of its dynamic typing was a good pay-off for me. I later knew that FORTRAN was also space-delimited for code blocks. Python use import for namespaces, but here, they are are real plus!

The first time I heard the term lambda was when I learned what is the Haskell language. This is a concept vaguely experimented by me, but it's a pending one.

ASSEMBLY speed never will be 100% matched by compiled languages, but his drawback is his bad programming productivity.

FORTRAN was the most used language for Math.
LISP seems so flexible and so abstract that it looks boring.
C focus on Implementations to increase Portability.
SmallTalk was the first famous OOP language.

Now we have Haskell, Scripting Languages, C++ and Java. It seems like including several new libraries and constraints, and also change the semantics of old languages. But how could you use the power of LISP without never ever using parenthesis? or fixed-width? or brackets? or tabs? or begin/end blocks? If you can solve the problem of Hierarchy of Operators without using any of these block delimiters, please show me that novell discovery! But not bring another one.

Now, I think that the next step would be a language that could abstract or force segregation of the many individual areas of a program in a meaningful way. MVC Frameworks are a great example, but not wide and crystal-clear enough. I think that OOP is for Programming the same that Calculus is for Math.

There are things like SSH and HTTPS that are standard and globally "accepted". So, why can't some essential authentication structures come by default in some languages, just the same objects like System, String, Math, Thread, etc. exist?

lunes, 16 de agosto de 2010

Luffy Laughters

ALERT: Some One Piece Spoilers!!!

Many thanks to YouTube and those people who cut some of these clips. These really made me laugh!! But more importantly, many thanks to Eiichiro Oda and Toei Animation for making this lovely One Piece to happen!!

Meeting Crocus
http://www.youtube.com/watch?v=ZPDCu0IBVak

Ero-Camel
(Chapter 97, 20:29)

That Camel gets beaten
(Chapter 103, 15:58)

Zoro and Sanji wake-up 'kiss'
http://www.youtube.com/watch?v=WnldPHfOT78&feature=related

Zoro's Tarzan Call
http://www.youtube.com/watch?v=tGL2-9pcPfk

Nami hits a wolf
(Chapter 166, 15:38)

Luffy's Baka Song
http://www.youtube.com/watch?v=gQG0V2yHlEI

173: 13:58 "Funny Vehicle Horn"
195: 10:17 "Going Merry scared"
195: 15:41 "Zoro woke up"
200: 7:48 "Condoriano"
205: 2:14 "Sanji hugs Nami"
213: 4:22 Luffy eating a "cucumber"-like kiwi
242: 5:50 Iceburg Testament
258: 8:44 Nami dress-up on Rocket Man
285: 16:49 Nya Nya Song
290: 5:43 Sogeking's Shakeen!!
302: 9:20 Calling Usopp
303: 9:06 Luffy's Sakura Song
304: 10:05 Carring Usopp + Kabuto
307: 10:03 Sanji's Nyngou
357: 4:40 Ussopp's Best Fight
359: 8:50 Sanji's Spoiled Dream
408: 19:43 Luffy's Seta
409: 8:53 Luffy's Kintama
416: 7:50 Luffy's Binks' Sake
418: 18:10 Franky's Right & Left (after his sneeze)

No laughs, but worth mention:
24: Mihawk Vs. Zoro
26: Zeff & Sanji's Story
28: 19:34 Luffy's Best Gomu Gomu No Pisutoru
30: 16:19...19:08 Red Leg's Farewell to Sanji
37: 18:16 Nami begs a favour from Luffy
348: 20:46 Yoho hohó, Yoho hóho
414: 20:04 Sonia's Back is burning
419: 16:24 Coincidence?

Idea of a Web of Ideas

I was contemplating my sms_list, while I got the idea of a web of ideas. In this web, ideas can be compared and analyzed using synonyms and similar words, to make it easier either acceptance or rejection by applying the rule of the majority.

While I was thinking about that web, I took an example of somebody promoting the idea of 100% Perfect. but instead, I promote 99.99%. I imagined a situation on which a person says that my 99.99% idea is wrong, and that person let me try to explain it, and I choose an example of a wake.

I was trying to continue that story in that previous linear form, but I decided to transform it into a dialog. And so, I did this:

- Your idea is wrong. I can get the 100% of my plan.
- No plan is 100% Perfect.
- Ok. Explain it better.
- I will put an example. Imagine that you are in a wake. Take the opportunity to say some words in that wake and say 'I love God'
- I won't do it because you say it. I'm not your pawn.
- O.K., don't do it. Don't say that you love God. Even in that moment, you will hide your love for Him.
- Why don't you tell it instead?
- Because I don't feel it nice. Also, I'm no the one promoting the 100%
- What does it have to do with 100%?
- Somebody will give you a suggestion which is in concordance with the plan, but because it was exactly that person (me in this case) you will show, bring or find any kinds of blockade, errors and mistakes. You will dismiss the possibility that person shows, and so, that 0.01%.
- Well, to say 'I Love God' in that moment is not completely necessary.
- And there goes that 0.01% away... Also, while you execute your plan, alternatives appear...

It was a nice thought, but this sequence in my head impressed me so much, that I decided to plaster it here.

viernes, 13 de agosto de 2010

FUD

Ogg versus the world: don't fall for open-source FUD

I believe in Communties. The previous link could be the result of scrapping some FSF press releases, but if some things it shows are true, then they prove an Universal Law: that even Entities against some Forces will use any mean to get noticed, including means used exaclty by their Opposition or Enemies.

What to do if both bands have partners in both sides, partners that keep their rivalry ignited? In warfare, this is called Department of Intelligence.

What to do if every idea or action can be misinterpreted? This is because every good act have a bad point of view.

What to do if you try to achieve fame by every possible mean? Will you do a wrong action because your point of view is the right one?

The only True Truth in this Universe are those Needs we will always have.

Manga War

Best Manga Review: Pluto
http://bestmangareview.blogspot.com/2007/12/pluto.html

I have read Pluto manga. The previous URL inspired me to re-read it again, so I went to OneManga... What a big surprise! They don't offer the manga anymore!

Many other online-reading manga websites have been blocked, and are prohibited to show mangas.

This is my anger.

This is the kind of action that characterize Japanese. This kind of mentality have earned my atomic bombs. :-@

It is like the battle between Open Source and Paid Software (Copyright vs. Community). My solace is that Black Market will always exists. I thought they would improve lessons from Linux, instead of going totally backwards.

Pluto and Robots, equals money.

We users can show our gratitude and pay a fee, but is not acceptable for me to buy the physical manga version, and to wait for those "big robots" to translate our beloved mangas.

Could it be a pressure from U.S.A.? Or an egoist Japanese Nationalism? Or are they zealous because they couldn't see the idea of a big community of international manga evangelists coming through?

Instead of giving merit to those websites that helped them to spread fame, they try to remove or ban a possible right or opportunity.

Unless, of course, that you, "big robots", want to centralize online manga and scanlation.

Next match will be: Anime War.

jueves, 5 de agosto de 2010

Extra Comma

Middle-Square Method vs. Linear Congruential Generator. Two methods for generating random numbers... TIMTOWTDI.

A friend of mine (Puntiel) and I were analyzing a common problem that I have named "Extra Comma". When you elaborate a query to insert several records at once, each input should be separated with comma, except either the first or the last one.

A similar problem also is presented when you should separate several web links with the pipe character '|'.

I think the best way to do this is by using a flag boolean to indicate if it's either the first or the last data, but its easier to indicate the first data.

$isFirstTime = true;
$comma="";
while($data = get_value($rst)) {
$output .= "{$comma} '{$data}'";
if($isFirstTime) {
$comma = ",";
$isFirstTime = false;
}
}

Although I believe that's the ideal way, I don't like how it looks. So, I modified it a little bit.

$comma="";
while($data = get_value($rst)) {
$output .= "{$comma} '{$data}'";
$comma = ",";
}

I chose this one because I didn't find that comma re-assignation as expensive, and also it's easier to read. But my friend prefer this method:

while($data = get_value($rst)) {
$output .= ", '{$data}'";
}
$output = substr($output, 1);

He says that his method is faster than mine. It could be true, because we are not benchmarking anything. But I don't believe that 'substr' is faster than:

while($data = get_value($rst)) {
$output .= ", '{$data}'";
}
$output[0]='';

TIMTOWTDI ("Tim Toady") as you can see. When performance is an issue, these trivialities become important. But, only a benchmarking for both, processes and network, shows when those modifications gives us a real gain.

lunes, 2 de agosto de 2010

Memento of our Society

I saw Memento.

Good and Evil are playing with all of us humans.

Although we have no vision, we should have a system to test or define our direction. But, any system can be sabotaged.

It's not to choose the best thing for one person, or a country, but for the whole world.

We still keep playing inside this kinder-garden bubble that we (we) have called Earth.

The sad part of all this is that, even if Earth explodes, it will be so hard to reconstruct this knowledge again.

20100813T1103: In another point of view, a possibility I also explored is how could we misinterpret old or former memories or facts of the past with our limited memory. It could also mean that it could be a mistake to try to seek the origin of everything with our current level of development, because we can take that complete beginning as all wrong, as we normally do every time we see any "better" alternative or suggestion.

My Highest Thanks

These are three paragraphs I wrote some days ago. I tried my best to express my feelings with them; although they will never be enough to express what I really mean, I wrote them because I don't want to forget them.

"First, I want to thank THE CREATOR, for letting me be able to live the life I have. I know it could be better, but also it could be worse! Sometimes I make this big mistake of forgetting these thanks, but it's because I'm too busy trying to not repeat many of terrenal mistakes, and trying to take note of them. Someday, I could help someone using these notes, or someone could help me to improve my actual status in life that I have defined within these notes. [20100727T1247]"

"Second, I want to take this opportunity to give thanks to all the people capable to create art. Art that digs out from deep of ourselves those feelings of joy, fun, happiness, shame, sadness,... all what makes us still feel human and not robot. Feelings that keep us pushing our limits: writing, painting, music, movies. All my depressions from my former jobs were aliviated by the Art, and the actual one won't be the exception, nor the future one! Thank you all! Like Love, Art will never die!
[7 ARTS]: architecture, sculpture, painting, dance, music, poetry, cinema,"

"Third, I want to thank all and every one of the people who helped me and made possible the level of understanding that guided me through this life. Each one of them put something in me, but I won't name them all because I'm not still on the podium. ;-D
[20100820T1230]"

viernes, 30 de julio de 2010

Genius + Brute Force = Ingenious

These two statements have been branded with fire in my mind:
  • Genius find a solution instantly
  • Brute Force searches for a needle in a haystack
Sometimes we need to generate random numbers. History has kept evidence of Dice and Coin toss as methods of generating random choices.

Donald Knuth invented algorithms for pseudo-random number generation.

Edsger Dijkstra stated that there are two approaches to solve computer problems: Mozart Vs. Beethoven. (As a curious fact, Mozart and Beethoven met each other in 1787) The former is a genius, but the latter works by brute force.

In India, Pachisi and Chaturanga were played with Dice. Orthodox Chess can be also played with dice, but Chess isn't normally played that way. The praise of what is random have been lost.

In Watchmen movie, Dr. Manhattan talks about the "Pleasure of Randomness" If there's an origin for that phrase, I'd like to find it out. Also, some levels of randomness are required to produce Fine Arts.

To try to get in touch with that "Pleasure of Randomness", I decided to create a little program that generated three numbers between zero and one-hundred inclusive. Then, I will use only the first two numbers and some operations to generate a result equal to the third number. For example, if those three numbers where {2, 3, 6}, then (2+3)+(3-2)=6. Of course that 2*3=6, but what would you do if numbers were {53, 92, 59}? This is what I did, using Python IDLE:
## OUR THREE RANDOM NUMBERS

a=53 ; b=92 ; c=59 ;

## EXPLORING NUMBERS
92-53 = 39   (b-a)
53-39 = 14 a-(b-a)
39-14 = 25 (b-a)-(a-(b-a))

25-14 = 11 (b-a)-(a-(b-a)) - (a-(b-a)) //???

92-11-11-11 = 59 //MAGIC!

b \
-((b-a)-(a-(b-a))-(a-(b-a))) \
-((b-a)-(a-(b-a))-(a-(b-a))) \
-((b-a)-(a-(b-a))-(a-(b-a))) \
== c

## SIMPLIFICATION

>>> ((b-a)-(a-(b-a))-(a-(b-a)))
11
>>> ((b-a)-(a-b+a)-(a-(b-a)))
11
>>> (b-a-a+b-a-(a-(b-a)))
11
>>> (b-a-a+b-a-(a-b+a))
11
>>> (b-a-a+b-a+(-a+b-a))
11
>>> (b-a-a+b-a-a+b-a)
11
>>> b-a-a+b-a-a+b-a
11
>>> 3*b-5*a
11
>>> (9*b-15*a)
33
>>> b-(9*b-15*a)==c
True
>>> b+(-9*b+15*a)
59
>>> b-9*b+15*a
59
>>> 15*a-8*b
59
Looking at this simplification, some questions pops out from my mind: Would a genius had gotten an equation like this from the start? Would have a genius known that a solution found using this method could be simplified without even trying to solve one problem in the first place? I don't know, but I'm sure I'm not a genius.

This simple game taught me some lessons:
  • Pseudo-Random exploration is helpful to find a solution.
  • Be ware of the word 'repeat'. It could hide a mathematical operation.

---
20100729T0948:
round a problem many times
look for hindrances, obstacles, inconveniences
re-round each found obstacle and find inner obstacles
until one obstacle is solved
then, that solution will solve another
and so, like a domino effect,
the first and original problem
starts to get solved
- [id, status, created, modified, position, modcount]

20100729T1125:
writing undefined sentences to describe the problem
making calculations with parameters to find a result
opening many files to understand and solve the code

20100729T1143:
TDD to automate tests "seems" the way to go.
GUI needs to be scriptable, and HTML allows this.
Maybe JavaScript could be a problem, but if you could
append a [SCRIPT] tag and run it, it will be no problem

Enterprise, Human Resources, People and Wars:
- If you kill people, you must find and train new ones.
- If you forgive people, they will squeeze you.

martes, 20 de julio de 2010

SQL = Sets Quarantined, Lost

I have two tables in a MySQL database. They both have persons, but BOTH tables have persons that are not in both. So, I wanted to bring all those people that are not repeated. I can do this using inner loops, but I tried to do it by MySQL alone.

I elaborated an example with two sets: t1=[a,b,c]; t2=[a,b,d]. What I want to bring is this set: r=[c,d]; because [a,b] can be retrieved by a simple INNER JOIN.


#TEMPORARY TABLES WE WILL USE
#TABLES WITH ELEMENTS WILL BE: t1 AND t2

DROP TEMPORARY TABLE IF EXISTS t1,t2,plus,minus;

#FIRST DATA SET
CREATE TEMPORARY TABLE t1 AS
SELECT 'a' AS f1 UNION SELECT 'b' UNION SELECT 'c';

#SECOND DATA SET
CREATE TEMPORARY TABLE t2 AS
SELECT 'a' AS f2 UNION SELECT 'b' UNION SELECT 'd';

#CREATING THE "UNION"
CREATE TEMPORARY TABLE plus AS
SELECT * FROM t1
UNION
SELECT * FROM t2;

#CREATING THE "INTERSECTION"
CREATE TEMPORARY TABLE minus AS
SELECT t1.* FROM t1
INNER JOIN t2
ON t1.f1=t2.f2;

#CHECK OUR TEMPORARY TABLES
SELECT * FROM t1; #FIRST TABLE
SELECT * FROM t2; #SECOND TABLE
SELECT * FROM plus; #ALL ELEMENTS
SELECT * FROM minus; #COMMON ELEMENTS

#AND THIS IS THE OPERATOR I NEED IN MYSQL
SELECT plus.* FROM plus
LEFT JOIN minus
ON minus.f1=plus.f1
WHERE minus.f1 IS NULL

/*
AN UNION MINUS AN INTERSECTION BRINGS ALL RECORDS
THAT ARE NOT PRESENT IN ANY SET

YOU SEE, VENN DIAGRAMS AND SET THEORY ARE TOO OLD SCHOOL
THAT THEY SEEM NOT NEEDED NOWADAYS. BUT NOW,
OBJECT-ORIENTED ANALYSIS AND DESIGN IS, AGAIN,
BRINGING ALL THOSE OLD-SCHOOLERS BACK!!
*/

domingo, 11 de julio de 2010

Common Sense = Prejudices

"Common sense is the collection of prejudices acquired by age eighteen."
Albert Einstein

There are faults that we allow because they are logical and common sense. This is an example of how a bad action can be seen as good, and that there's no absolute true.
  1. Mixing milk with water
  2. Mixing flour and yeast to make bread
  3. Accepting or giving "payment" to correct a legal "fault"
  4. Drinking "juice powder" instead of natural fruits
  5. Forbidding abortion on EVERY possible situation.
  6. Cutting big trees because they interfere with power lines
  7. Keeping the extra-change mistake because they won't give it back if the mistake was ours.
  8. Not asking questions; but instead, either requesting or begging for answers.
Sadly, I see some of these topics as 'Necessary Prejudices' in some aspects too.

jueves, 1 de julio de 2010

Frameworks = Mathematical Placebos

Thanks to Online LaTeX Equation Editor. Very helpful for "The Placebo Formula"
---

Programming Frameworks are like something I have called as Mathematical Placebos, extra data that we add to equations to help us reach its results.

This extra data bloats the language ahead of the future. We tend to find many gotchas before and while we are working on a code, and they will delay code delivery.

What started easy, now is not.

To give a mathematical example, a very interesting equation, Euler's Identity, goes like this:



LaTeX: e^{i\pi}+1=0
PHP: it doesn't have built-in calculations for imaginary numbers.
Python: print (math.e**(math.pi*1j))+1

The result is this Python expression is not exactly 'zero', but very near to it. This is a common catch in floating point calculations. ;-P

Do you imagine what amount of tests Leonhard Euler did, in order to find out that relation of constants returns -1?

What I call "The Placebo Formula" (numbers I recall when I solve fractional, algebraic, or exponential equations), goes like this:



LaTeX: \frac{\sqrt[1]{\left(\textbf{1}\right)^{1}}}{1}+0=1
PHP: echo pow(1.0,1.0/1.0)*1.0/1.0+0.0;
Python: print 1.0*1.0**(1.0/1.0)/1.0+0.0

Do you get the idea of all those extra artifacts in both placebo formula and frameworks? You have to remind yourself that if you see a simple "1" in a formula, you can add any of those pseudo-numbers to ease your calculations.

In programming, this effect is also achieved when you create a common Object class for every object, including those objects not yet discovered or planned. When you have to add a behavior to all objects, you add it to that base Object class.

---
PS: I annotated what I need to do in this post instead of actually doing it! (e.g. I typed "use an image of euler's identity and wikipedia link") It is always easier said than done, although this action can prompt you to do a better organization of the way in which you express your thoughts. Write for yourself!

Evolution of Coding

It all started so simple:
  • George Boole, and his Boolean Algebra.
  • Claude Elwood Shannon, and his Information Theory.
  • Alan Mathison Turing, and his Turing Machine.
  • Charles Babbage, and his Programmable Computer.
  • John von Neumann, and his Computer Architecture.
I tried to put this in the normal order of understanding for people, but actually I will use the order on which I normally encounter the problem.
  • Every computer problem is composed by 'only' three main parts: input, process, output.
  • The input part needs both a layout and an interface to look nice.
  • The main process must be structured, and it should support alternate logic to handle possible exceptions.
  • The output also needs a layout specifically designed for screens, papers and files.
  • Not all users will be allowed to use this program. So an authentication system is required. Also, it should allow many users, each one with possible different roles and levels.
  • In the input part, users commit many mistakes, so validation is needed for each data that program receives.
  • To ease distribution of the program, and to centralize the data store, a client/server structure is defined.
  • Many users in different remote location have different languages. So, programs now need to support different types of languages, like english, spanish, etc.
  • Good database software and modern platforms have been developed. So, it should be useful to make programs able to migrate to them. (db, os, platform, web, mobile, etc.)
  • It's hard to create a migrable program, so we should separate our development into three layers or tiers: back,middle,front (A.K.A M.V.C.)
  • There are several programming languages on which we can express many of these principles easier (C++, Java, etc.), so we should migrate our programs to them.
  • We are losing performance as our user base grows up. So, we should test concepts like replication.
  • Some foreign programs and systems also want to have access to our program. So, we should create Web Service or open ports for Socket programming.
  • It's probable that, with all these changes, we have left some doors open because of lack of sanitation. We must protect our programs against Session Hijacking, Cross-Site Scripting (XSS), and several types of Injections (SQL, HTML, CMD)
  • Many users access the same resource simultaneously, and that generates either deadlocks or data inconsistency. So, we should program taking into account concurrency and multiple threads of execution.
  • Our application is growing too much. So, we should apply concepts like distributed/cloud computing, to make our programs and database expandable by simply buying extra hardware.
  • OOP, EXCEPTIONS, CHANGE (files,interrupt)
Now, there's a question: What's next? How could we magically and instantly create or adapt a program to any change we still don't know? A possible simple change might touch EVERY AREA of our program! And a touch of that kind needs TIME to be checked in every area we have created. That's the problem known as Essential Complexity.

---
PS: IPO (Input-Proccess-Output) ... Hajime no 'IPO' ;-P

sábado, 5 de junio de 2010

Improving curiosity of "kids"

Money, Satellites, Vices, Limo-Hummer... either to look for or create inventions. Some hunt inventions for money; others for fame and acknowledgment; others, by pleasure; others by needs; others promote inventions to win money; others desperately look for inventions to become rich (they search for them all over the world), but discoveries are born from needs, learning and education. How could you wish that inventors flourish, if the only thing they have in mind is MONEY, not MESSAGE?

The game of adults is so promoted, that we all forget that we were children and, instead of showing to our children why some things are bad, we blindly forbid them, and by that time we also forget that those prohibitions were what motivated us to act opposite to our parents when we were little kids.

This is a Vice Cycle because, in many aspects, searchers and parents are also, although offensive, our bosses.

viernes, 21 de mayo de 2010

amo al sufrir ↔ formar a luis

"Un conocimiento reducido es algo peligroso; pero debemos de tomar ese riesgo, ya que un conocimiento reducido es lo máximo que nuestras cabezas más grandes pueden soportar."
George Bernard Shaw

Él no tiene esperanza, pero "no hay destino que no pueda decorarse con desprecio."
El Mito de Sísifo

"En este negocio, en el momento en el que te das cuenta que estás en problemas, ya es muy tarde para salvarte a tí mismo. A menos que corras asustado todo el tiempo, estás muerto."

Bill Gates

"Tener como meta la Comodidad y la Felicidad nunca me ha atraído; un sistema de éticas construído en estas bases sería suficiente para un rebaño de vacas."

Albert Einstein

"En este mundo hay sólo dos tragedias: una es no obtener lo que se quiere; la otra es obtenerlo. Esta última es la peor, es una verdadera tragedia."

Oscar Wilde

"Sabed sufrir: sabiendo sufrir, se sufre menos."

Anatole France

"El sufrimiento más intolerable es producido por la prolongación del placer más intenso."
George Bernard Shaw

"Si al ser feliz creo serlo,
sufro en mi dichoso estado,
pues me hace desgraciado
sólo el miedo de perderlo.
Y si estoy bien sin saberlo,
pues no lo sé, no lo soy;
así mañana como hoy,
ser feliz nunca podré;
pues si lo soy, no lo sé,
y si lo sé, ya no lo soy."
Joaquín María Bartrina y de Aixemús
(¿O era José María?)


Cúspides:

sábado, 15 de mayo de 2010

The Last "Atreyu" From Earth

After I saw Never Ending Story (first movie), I started to dream about how could somebody write something like that, that can give the same impression for adults as that story created on kids.

A friend of mine, KameKun, recommended me The Last Man From Earth movie. I can assure you that you can bring something useful for yourself after you see this movie. The most important thing I need to study about this movie is how to organize things you say, in a order that all people listening them will be able to understand you, and believe you.

If all is possible, and all these things have happened, then somebody must be desperately hunting for that last man. If not, then the way he organized the story is at the scale of an illusionist or a magician, because it is almost believable.
  • Aristarchus long before that. (story is getting sharp)
  • Yochanan
Now, impressively, I have recalled something I wrote some time ago. I called that story Immortal Rich. Recently, I have commented in my actual job how much I like dialogs in textbooks. Well, this movie is all dialog!

After you see this movie, haven't you felt how your mind tries to fly towards all those moments that John described? I really like that kind of jumps...

"The Last Supper" Man

Reference to my joke in the title:
http://en.wikipedia.org/wiki/The_Last_Supper_%28Leonardo_da_Vinci%29

I have seen Superman Returns movie. I really don't like to underestimate coincidences, like must people do, and in this time, I have found one related to Planet Krypton and Planet Vegeta, and, even knowing that they were not born in Earth, both Goku and Superman love this planet. When I see things like these, I think that Japan is copying some stories from United States...

Some extracts of quotes:
  • God doesn't share His power
  • In jail, my knowledge worth less than a piece of metal and cigarettes
  • Don't alarm. It is normal
  • They don't need superman, but they cry for one
  • Mind over muscle
  • Krrrrryptonite!

If Lex Lutor is the wolf, then is Superman the vampire? Never underestimate the perseverance of a wolf!

When I saw Superman falling towards earth and sea, I recalled the phrase "Fallen Angel" and Jiraiya... and also that I want to jump from a parachute and learn how to swim!! XD

viernes, 14 de mayo de 2010

Parameterizing

There are two ways to pass values to functions. I will state examples using PHP:
  1. showUser('Ignacio','Cortorreal');
  2. showUser(array('name'=>'Ignacio','last'=>'Cortorreal'));
Each one has advantages and drawbacks. At the end, when you are building an API, you must choose what to do. The first version is older, and I have started to valorate the older although, for analysis, it is too painful, but more efficient. Will the Old one version minimize "supposed logic errors" because of its strong typing? No! Neither the New one.

The power of the New one is that parameters can be expressed in any order!! For example, if you want to add the middle name and a second last name to showUser() function, we can add it, and it won't bring problems to other code using that function, but its interface and implementation stars to become a mess, something that is somewhat reduced with the Old method.

DOS
  • format /q/u/v/c/s
  • g++ -Wall hello.cpp -o hello.bin
  • type a.txt b.txt
  • grep -v " OK "
JS (PROGRAMMING)
  • save({a:1,b:2,c:3});
  • sum(1,2,3);
WEB
  • /products/view/5/1
  • /products/list/page:3/sort:desc/
  • script.php?first=john&last=doe
SQL
  • Horizontal Vs. Vertical Structures:

IDFirstLast
3IgnacioCortorreal

--Vs--

IDFieldValue
3FirstIgnacio
3LastCortorreal

In lambda calculus, each function has exactly one parameter. The process to emulate multiple parameters is called currying. It looks crazy, but I think it is the way to go if we want to find a new order for these Parameters' disorder. Python supports this kind of paradigm, and is my next language to study after I achieve a basic-intermediate level of my C++ abilities. I was looking to Haskell or LISP, but Python's documentation on the web is way too much better.

This is the strongest Yin-Yang I have found in programming. Which one to choose?

domingo, 9 de mayo de 2010

El Reino del Celo

Inspirada en Kingdom of Zeal, de Chrono Trigger.
Versión de 8 bits: http://www.youtube.com/watch?v=YxlFMufWaFk
El Reino Del Celo (cantada por mí)

Ya lo logré
Contento estoy
Soy el mejor
pero no sé...
[x2]

Ya caí!
Es que he acabado de
descubrir...

Que al terminar,
otra historia acaba de comenzar.
Acabo de notar,
que será asi toda la eternidad.
No puedo aceptar
que en un círculo vicioso voy a estar,
pero parece que continuar
es más conveniente que parar.

Confesión: Lloré! Fue muy nostálgico pensar como esta magnífica canción de Chrono Trigger se hubiese escuchado en un Nintendo... en esa tan feliz Época a la que llamo Mi Niñez! Y combinar eso con lo que sentí cuando la jugué en Super Nintendo, y con lo que escribí... fue una explosión de llantos para mí... :'-(

The Sealed Kingdom of Happymess...

sábado, 8 de mayo de 2010

The Never Ending Ocarina Of Time!

Alert: this post is too personal. It might contain too much bullshit.

I was trying to note what I think while I see The Never Ending Story movie, and to try to compare it with some of my thoughts from childhood, because the only concrete thing that I recalled was that I felt a deep and profound story the moment I saw it when I was a child. In my mind, pieces appear randomly, and I try to put them in order, just like a Jig-Saw, or Tetris. I started adding notes, but ended doing a mess of thoughts that it seems it will take a long time to get in order. I always believe that thoughts, like anger, clever or crazy, can hide interesting ideas.
  • this book is not for you (my eyes are getting wet)
  • No, not too much. We still have a long way to go.
  • Don't let the Sadness of the Swamps get to you (DKC2)
  • Atreyu wouldn't quit now
  • How did all this happen? With Luck (Wink!)
  • Only 9,891
  • Never give up, and good luck will find you (go down fighting)
  • It's to hurt if it's to heal (La Mole, Orochimaru, Dr. Lizard, I thought in Hal, but it was Triton from One Piece)
  • To the winch, wench
  • Be confident
  • What if they really do know about me in Fantasia?
  • Fantasia has no boundaries
  • Why is Fantasia dying then?
  • People who has no hope are easy to control
  • I am the servant of the power behind the nothing.
  • That was the end of Fantasia
  • It was the only way to get in touch with an earthling
  • ...others are sharing his
  • ...that one little boy could be that important
  • He's already chosen it
  • As many as you want. The more wishes you make, the more magnificent Fantasia will become
i felt identified with bastian

atreyu is link in ocarina of time

Auryn - wingw-auryn leviosa

chile easter island stones

people will try to hunt only for all the defects in the movie, but will ignore the message and the impression they tried to transmit. Maybe now I'm ready to see Star Wars, from Ronald ACS.

sadness of the swamps. Artax and the swamps moved me right now. I cried with Bastian.

Morla is like E.T.! Another must to see. It's a Turtle, like KameKun.

What? they heard Bastian Scare Cry? Nice, they showed how to get into the mind of the child, or the reader!

It can scare kids, but I think that is a too great story for starting kids.

Neo and Smith - Atreyu and Gmork - Yin and Yang: recursion of Nothing to the correct level, and to make it impressive for some, and that it can make it evident and ignored. Once again, stories must be read twice, and after some long time. I was writing while Bastian was reading.

I have read that directors are killing us with recycled stories. If that's true, they why they keep recycling them? MAYBE BECAUSE HUMANITY HAVEN'T STILL GOT THE MESSAGE OF IT!

God sent his first ship, Falco, and Atreyu grabbed it ASAP

Mikey and Pluto, Astro Boy and Jump, Casshern and Friender, Atreyu and Falco (Falkor, like a Dog-Dragon),

Now I know why I never forgot Falco. Hey I have noticed how language gets truncated with time. Black rappers do it, and dialects too!

I saw Naruto and the two old little toads!!

Southern Oracle - Matrix Oracle

Old Women doing the Hard Work to push the Old Man up?

Observatory to Astronomy. I recalled "Chapulin Colorado Chiquitolina", and now "hobbits"

The sphinxes reminded me the eye laser on Zelda, allegory on the game's challenges? Maybe the purity of the heart to get to the Inner Light is the meaning of the sphinx?

Goku purity of heart.

"Father, into your hands I commend my Spirit"

Magic Mirror Gate!! OCARINA AGAIN! Besides Zelda, I was always looking for another story that resembles Dark Naruto! Still, I don't know the story of Dark Ryu.

Ingredients in this post seems un-connect-able, but I think I will cook something interesting in the future, even if it's only for My Self.

In which circumstances a man can elaborate a colorful story like that? On drugs?

Not too much computer effects. That's why they feel alive and real.

What Atreyu saw at the mirror was the image of the reader?? These stories are seeds to plant into the heads of writers! Include readers into your story and take their feelings to the extreme!

"Now, this is going too far." Reactions like that is what people feel when they are confronted with disgusting truths. It is like when you light up your bedroom and find many insects and bugs inside it. But like in Moon said to Huo Yuanjia: because, "If you're sad", my Grandma told me "then cry", "After you cry, you still have to live life"

When was the first time I saw this movie? Before my vice with video games, before I was 11. I was loosing my vice, and this movie reminded it to me.

I recall a torment when Bastian was reading. Also, I compared Falkor with DBZ Shenlong.

"The Empress needs a name" Empress looks like Enterprise or "Empresa" in Spanish. Then the writers enterprise needs a new name? Also, I learned that Name is a pilot script in Bakuman manga... but "Empress" and "Name" can be exchanged with "Dream" and "Focus/How"

Although Fantasies can look imperfect, they are necessary to transmit the correct impression. I recalled all those rare things that we think, like orcs, gollums, hobbits, entz, bugs, etc. They are ugly but somehow, I feel that they are really needed.

The Bastian Storm was when reading "Sea of Possibilities" Possibilities are infinite!! I recalled the book "Who stole my cheese", and How I wanted to become a child. I recalled two girls in my school that sung "tienes que ser un niño". Some time ago, I wanted to feel like a child. Love Guru refreshed me that idea, and I was almost forgetting it.

LOL the Auryn was lost! Naruto necklace was also lost! Atreyu looks like young Servando and Florentino.

I recalled Link at the Valley of Death, but after the Sea Of Possibilities.

Each time I see The Rock Man, I recall "La Mole" or "The Thing"

I also recall Indiana Jones from time to time.

Still, if you try to do a movie like that right now in 2010, and only using superposition and physical background effects, it will be still a expensive movie to do.

Recursion of story writing that I thought when I read Bakuman, and also recalled Issac from Heroes.

"Little Red Riding Hood" Painting Twist! They have been shown Bastian there, to transmit the impression to the watcher, also! But I can't demand too much from 1982 cinema. What a coincidence...

When I saw Gmork, I recalled Splinter from Ninja Turtles, and Pluto manga, and Kerberos from Eyeshield 21; and Princess Mononoke when Falkor appeared after that.

When I recall about the origin of this movie, I also recalled Kinderheim 511 experimients in Monster manga, and Steiner the Magnificent.

Recalled also Mario Bros world 2-2 when Falkor found Auryn.

"That was the end of Fantasia." Instead, I really felt like Earth exploded. After that, when I saw the Ivory Tower, I have recalled some blogs and writings that say: "If you have arrived at this point, then I feel proud of you, and I felt I accomplish something." There's is still Hope.

Also I recalled a Bachata from Anthony Santos "Predica, que todavia hay luz."

When Falkor said "Go on" I recalled Toruk Makto from Avatar, and how I joked about Neytiri starting to respect Jake Sully after seeing "The Hummer". I recalled that I haven't seen neither Terminator Salvation nor Twilight nor Saw movies...

Dragon, the Dragon of Luck, Bugs Bunny, the Rabbit of Luck... 8-Mile B-Rabbit, Alice in Wonderland Rabbit Hole.

Inside Ivory Tower, Atreyu looks like Basshunter, and Empress recalls Nicole Kidman, and some superior beings that appeared in Assassin's Creed.

"Why you look so sad?" made me recall Thiaoouba Prophecy eBook.

I don't know what to think when I heard Empress to say Bastian. The first impression was "It's a child's tale", then "If they were to choose a name, they should be left it open". I now understand the message a little better, but how can we make an history in which the reader feels that he forms part of it? As I see it now: Atreyu --> Video Games. The next step is, either a model of yourself in the story, or you playing in a First Person View mode with a helmet. Life is like a Game, a long one, and sometimes it feels short. Life is like Chess, as Benjamin Franklin said.

I recalled when Ichigo couldn't hear his Zankapatou name in the moment I couldn't hear the new name for the Empress. I now saw another storm, the storm I recall from when I was a child, I think it is this one.

I also recall how some unseen but realistic ideas that I think occur after a couple of years.

"Lord" of Flies, flew and left us alone...

I have seen "Lord of the Flies" ... !@#$%^&*())_+{}:"|<>?`-=[];'\,./

This is exactly what I think will happen with our beloved Earth! Since the start, the fire was a signal!

I will stop now because, if I keep going, I will put inside this entry the whole UTF-32 Chart (Uhat The F#$%?) I got some laughs with Se7en, but even though this is another type of "Divine Comedy", I got mad with it. Also, after you see this movie, try to remember the "Over here!" moment... Why does God let bad things to happen? Why does He make those sadistic jokes? If you have seen Monster anime, then you'll understand this: maybe we are in God's Kinderheim 511.

We all only keep trying to look into differences instead of looking into similarities! Balance Everything! Don't turn the tide blindly to one side or the other. That is what I think, but it is also a Contradiction, because if we don't do it, then there won't be Progress... Can you see how a "right" decision can become "wrong", but in some aspects can return to be "right"? This movie is another evidence for myself that any enlightening situation can be seen either as "Wow", or "Bah."

Some phrases:
  • ... too many people are screwing around ... (could be "reading" screwing around?)
  • There's eight million "islands" out here...
  • Both March Songs in the movie were funny.
  • Over here! ... Hey, man, we were hunting.
  • If you don't stand up to him, you're just another one of his slaves. (what Jack did!)
  • What are you guys doing? (it looks like Cannibalism... Hannibal Lecter anyone?)
If there are really Powerful, Intelligent and Advanced Entities living in other planets, they will know for sure the greatest value of planets (for some Greek philosophers, some planets were Gods!) and they will come to Earth if they think something really dangerous is happening to the planet, just like The Day The Earth Stood Still movie.

Do you want to try it out? Even if they come, many of us will be punished from them. Or maybe they would let the whole Earth explode...

Haven't you feel how "magically" Noah has built his Arc to save some animals and people? Or how "magically" Lot was saved from Sodom? Or when Moses opened up the Red Sea? Can you make an analogy with Klaatu? Or with the ending of "Lord of Flies" movie? Don't you feel how "magically" we have anything we need to keep alive for many years? Swimming seems to be a kind of food... and a polluting act.

Lot's story fits more than a certain alternative I read about the origin of Adam and Eve, except that they were relatives...

I have now seen the vice cycle of "our" Universe: There are tons of evidence that many great people used to AFFIRM that there exists Real Powerful and Intelligent Entities in the Universe, but many people ignored, and still will continue to do so until...

"When Father's out, Kids make a Party", but if you leave kids alone, then they can "start to play with matches." In this case, kids can have two extremes. First extreme is to do exactly what Father said. Second extreme is to realize that kids will be alone for a very long time. Second starts to forget the teachings of and feel hatred for Father. First insists that Second is acting mad, but Second is alone and doesn't care about it, because Second does anything he can to survive (but ignores that Father built a house and left food). With this Wrath, Second attempts to beat First. While getting beat, First, who has been acting exactly as Father commanded, and seeing how everything he learned was for nothing, First says "Father, why have you forsaken me?" (recalling Chop Suey, from System of a Down - It seems to fit also in this movie). But the magical thing is that, if Father appear in that very moment, Second will magically also say "Father, why have you forsaken me?"

On the Internet I read that Lord of Flies book is a recommended reading in many schools. Nevertheless, I have never known about this book when I was a kid. If I ask to some of my literature teachers from school if they taught "Lord of Flies" book, they might blindly say Yes, and that I hadn't put enough attention. If that's the Truth, then I forgot it, but if that's a Lie, the education system is downgrading... Some schools might teach about this story, but if the message can't be spread, then it was for nothing, although the message might be inside somebody's psyche until it finds its way to fly out...

Some thoughts that people with a Second attitude will have after they saw this movie will be "Now we are adults. We are the soldiers." ( but not "We are the world. We are the children.") But if it is shown the real way, then they will say "Hey! Don't believe that silly science-fiction crap", or the most modern complain, "No girls! Too gay!" Now I know what some religions meant when they say "The origins of Universe and God are so simple, that we can't believe or understand them."

I can't help it, but I got INCREDIBLY AMAZED when I saw fight of Ralph and Jack in front of Piggy, and compared it with Sasuke and Naruto (respectively) ... Innocently, this movie has too many metaphors!

PS: Beelzebub is "Lord of Flies", and that term is related to evil... how many things have been taken as evil, but they weren't? ... ironically and funny, the next movie I have in queue to see is The Never Ending Story...

PPS: I want to play King Of Fighters and use Ralph's Galactic Phantom.

PPPS: This PPS thing was learned from Mary and Max movie... :-P