Friday, December 23, 2011

Rice at Home

Here's a Christmas present to all!
I was just cleaning my office, was looking through a mission journal from when I was in Brazil, and found a poem I wrote.
This is a variation on 'Love at Home' that I wrote in Portuguese in 1997.
I thought Brad, and maybe anyone who served in Brazil would like it.

The english translation, which I just wrote today (and is pretty darn good if you ask me), is below.

-------------------------------------------------------
Com Arroz No Lar
Escrito por Daniel Lee Gibby, 1997

Tudo é belo em derredor, com arroz no lar!
Nossa vida é melhor, com arroz no lar!
Bem igual não pode haver,
Que a fome combater,
E sustento promover, com arroz no lar!

Refrao:
Com arroz, com arroz.
Nunca a gente vai faltar, com arroz no lar.

Temperado, há prazer, o arroz no lar.
Sem feijão não pode haver, o arroz no lar.
Pega logo seu pratão, não tem maior emoção,
E se sobrar dá ao cão, o arroz no lar.

Refrão.

(Canta as próximos dois linhas bem triste)
Todo mundo vai chorar, sem arroz no lar.
E os caracões quebrar, sem arroz no lar.
(Agora canta bem animada!)
Este jeito vai acabar, não podemos esperar!
Hoje mesmo vai pegar, o arroz no lar!

Refrão.
Translation (not a direct translation, but hey, it rhymes!):

Rice At Home
written by Daniel Lee Gibby, 2011

There is beauty all around, when there's rice at home!
Life is better by the pound, when there's rice at home!
You just can't find nothing else, that will feed your hungering self,
And provide long years of health, than some rice at home!

Chorus:
Rice at home, rice at home.
Never will we lack again, when there's rice at home.

Cooked with spices, it's the best, when there's rice at home.
Add some beans, please don't forget, when there's rice at home..
Everyone go get your plate, there is nothing quite as great!
Feed the dog what's left out late... extra rice at home.

Chorus.

(sing the next two lines very sadly)
Everyone will surely cry, without rice at home.
What a world! We're going to die, without rice at home.
(Now sing very exitedly!)
We just can't keep on going this way, hurry now and don't delay!
Quickly go and make our day! Bring some rice on home!

Chorus.

--------------------------------------

Wednesday, October 20, 2010

Something to think about

I think pretty much everyone goes along in life just trying to be comfortable, not really thinking why they do the things they do.

The evidences for creationism are just as thoroughly obvious to people who think logically about statistics and the probability that all evolutionist theories would come together in their proper order for them to all end up working together the way life is.

For example, we could postulate that the nerve endings in my body evolved over millions of years through many types of animals so that they would protect me from hurting myself, so that I survive the facts of nature. On the surface that might seem logical enough. Name any one itty bitty part of your body or of other organisms and you can make the same assumptions. Imagining that each one on its own, or that a few of them together all evolved that way seems logical enough. The problem is that no-one stops to think about how illogical it is that every part of all of life's systems somehow did this at the right time in order for everything else to progress to the point it is at.

What are the odds that everything turned out just right through evolution? Well, for a back-of-the-napkin calculation you just have to calculate the probability that one itty bitty thing would evolve to what it did, then count up all the itty bitty things that would have to evolve, and multiply their probabilities together to get your final probability.

In other words, if the chance that my nerve endings would evolve to be the way they are is 1 in 1000, (I'm making the chance extremely good here just to prove the point,) and you have let's say a list of 1000 other systems in your body and in your environment that would need to evolve at about the same probability (again, I'm really reducing the number of systems and collaborating circumstances that would have to come together, just for arguments sake,) then math says that 1/1000 * 1/1000 * 1/1000 * 1/1000... repeated 1000 times is 1/(1000^1000), or 1 divided by (1000 times itself 1000 times). Any idea how many zeros that is? It isn't 1000 zeros, that would be 10 to the 1000th. It is 3000 zeros. Not 1/3000, 1 divided by 1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

Hmm, I said back of the napkin, but I don't think I could fit that many zeros on my napkin. That is a very, very, very small number.

Remember that even with that tiny chance I've grossly exaggerated how likely it is that something would evolve, as well as grossly under-exaggerated how many systems and circumstances would have to evolve at about the same time for everything to work out OK. If the chance was 1/10000 instead of 1/1000 that something would evolve, you'd have 10 times as many zeros there.

Now, let's say that for a minute we believe scientists who say that the earth is around 4500 million years old. (That's when they say that the Hadean Eon started.) Let's even say that it is 10 billion years old to make the math easier (in the scientists favor again, even though there weren't life forms evolving according to scientists until later in the Proterozoic Eon, around 2500 million years ago), but just to make the math easy and to give another big advantage to the evolutionists we'll say that life forms were evolving as early as 10 billion years ago. That's 10,000,000,000 years. Now compare that many years with our calculation for the likelihood that things evolved.

All I'm saying is that it is easy to believe that something could evolve over 10 billion years if the likelihood that it will evolve is 1/1000. That gives it a 1 in 100 chance every 1000 years, and you'd say that would happen - no problem. Pure statistics for that one thing evolving say that not only would something evolve once in those 10 billion years, it would happen probably around 10,000 times. Again, that seems really believable if there were only 1,000 things that needed to evolve and none of them had to rely on each other to happen at the right time, but that's not the way statistics work, nor the way that evolutionists claim evolution works, nor are there only 1,000 things needing to evolve.

Remember, to find the probability of two things both happening, you multiply the probability of each happening by the others. That's how we got our back-of-the-napkin calculation.

So what are the odds that in 10 billion years all the 1000 different things would evolve together? Divide that tiny long number by 10,000,000,000 (or remove just 10 zeros out of it). How many zeros are left from the original 3000 zeros? 2990.

So that would be 1 in 100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

Do you think that looks very likely?

OK, so maybe we beat the odds, right?

Ahem..

(the sound of crickets or just plain silence follows)

Sunday, April 04, 2010

Google Picassa 3 Unnamed People

I really like Google Picassa 3's face recognition features. You tag who people are and it searches through your photos for matching faces and asks you if people in other pictures are also people you've tagged. After a while, it makes pretty good guesses about who is who.

It has been really cool for finding pictures of certain people when we need them. For example, we needed pictures of me or of my wife, or certain pictures of other people, and rather than go into our huge picture folder and think, I know that one of these years there was this good picture of Person X, you just click on the thumbnail of Person X and it shows the zoomed in view of Person X in all the different photos that they appear in... at least in the ones that you've already confirmed.

The problem is that I still have 7,140 unnamed people!

Many of them are indeed people in my family. I decided not to tag hardly anyone not in my family or extended family. So then you just click the X to ignore all the other people in your pictures you could be tagging.

It is funny how many of the people I don't know at all. I'll see hundreds of spectators at parades across the street from us, or who were sitting next to us in the parade route; there are kids who go with my kids to school in group pictures from school plays, but who I have no idea who they are.

There are even pictures of people hanging on the wall behind people who I was actually taking the picture of! So sometimes I'll mark Person B and Person C as being in a picture, and then it will show me Person B and I'll mark it as them and realize that actually it is from the same photo that I just tagged Person B in... it was just that there was a picture of Person B hanging on the wall in someone's living room. If it weren't for that, I was going to suggest to Google that Picassa have a feature to be a bit smarter and once you've tagged any particular person in a picture that it shouldn't recommend that the a face might be the same person again. I've realize there are other reasons that someone could be in a picture twice: remember the people in the rotating camera school class pictures that ran around the back of the bleachers so they'd be on both ends of the picture? That would need people to be there twice. More often though, is the case of photo collages, where the same person is there a bunch of times.

A few weeks ago I had over 10,000 unnamed people, so I guess I've whittled it down quite a bit. But it has taken seriously 3-5 hours to do that. It will be awesome to have it done, if I sometime get another 12 hours to finish the project. (I didn't do the math, that is just a guess.)

Pretty cool, this Picassa feature! Now who are these unnamed people?

Friday, April 10, 2009

Star Spangled

I know it isn't July, but I just had the Star Spangled Banner play randomly from my playlist.

I love all the verses, but the last one (also written in 1814) is more impressive to me than the rest:

O! thus be it ever, when freemen shall stand
Between their loved home and the war's desolation!
Blest with victory and peace, may the heav'n rescued land
Praise the Power that hath made and preserved us a nation.
Then conquer we must, when our cause it is just,
And this be our motto: 'In God is our trust.'
And the star-spangled banner in triumph shall wave
O'er the land of the free and the home of the brave!

Wednesday, April 01, 2009

Come Listen to a Prophet's Voice

General Conference is coming up this weekend and I'm stoked.

I watched this video that was recently produced by the Church of Jesus Christ of Latter-day Saints of Elder Jefferey R. Holland's talk about prophets in our day.

I love that talk, and couldn't help from watching the rest of the church sponsored videos on YouTube in the new Mormon Messages channel.

Now I'm singing this song in my head!

Come listen to a Prophet's voice
And hear the word of God.
Then let us in the truth rejoice
And sing for joy aloud.

Come, Listen to a Prophet's Voice - Hymn #21

I can't wait until Saturday and Sunday!

Wednesday, December 17, 2008

Powerful MySQL 5.1 - Cool is an understatement

MySQL 5.1 is here - as I was reading through MySQL's white paper on the new features, I occasionally thought, "yeah, that is cool." The most exciting things though were when I read about some features that made me get excited enough to want to blog about it. There are some totally powerful and powerfully cool features in 5.1

SQL Profiling

For example, the SQL Profiling Utility which lets you see exactly how much time the SQL server did doing what while it logged a profiling session. You can start and stop the session, then look back at each query that happened and then see in microsecond detail what things are taking a long time and which are taking... well, microseconds.
You'll be able to see in certain terms what things are taking a long time and what queries, indexes, or settings or hardware should be improved.

Replication

There are great replication features available that make it more reliable and able to ensure that the master and slave or a whole cluster are correctly in sync. Hurray for row-based replication!

Query Logs

The Slow Query Log and General Query Log are now logged as CSV files, which are accessible (along with any other CSV file) through the MySQL server, which makes it easy to see exactly which queries are taking the longest.

Process List

The show processlist command can now also be accessed through SQL (someone read my thoughts!) which means I can have one thread check whether another thread is currently running a query and how long it has been running, and how many other things are running and then the thread could decide whether it should go ahead or wait or abort. That would have been so hard before, and now it would be pretty simple.

CSV Storage Engine

The CSV Storage Engine gives us a whole new way to think about how to deal with CSV files. You can load any file instantly into MySQL and access it there as a normal table with SQL commands. I could have really used this 5 or 10 years ago, and all my manual work importing CSV files would have been handled in a fraction of the time. A ton of the work that we have to do with programming can now be done with SQL queries instead.

Event Scheduler

There is now an Event Scheduler which makes it easy to optimize tables or execute any other command and set them on a MySQL cron rather than have to depend
on (or remember to setup) Linux crons and their accompanying programs.

Table and Index Partitions

There are awesome new indexing features - the coolest is the ability to create Table and Index Partitions. Now queries against sets of data only need to look for the data in a fraction of the table.
Say we have web logs that are being added to a database or click through tracking data. Over time it grows and grows until we have millions of records. In the past we'd have to delete data or else summarize it and archive it, at which point we don't actually have all the data available to us anymore, just the summary, or we don't have it at all. If we setup table partitions instead, we can migrate partitions off to other physical locations (meaning we could move a set of the table to another physical disk partition), and the table would just keep plugging along. Meanwhile, the queries that only care about the last week or month, or the last year, as well as the queries that only care about January 3 years ago don't have to look through huge indexes or scan the whole table, they just look in the partitions they need data from and use the indexes for those partitions. That is a huge, HUGE benefit. This is the kind of thing that makes a Google search engine run quickly.

Full-text search enhancements and Plug-ins!

There is enhanced full-text search capability, with even the option to build your own plug-ins.


I haven't read about new features this cool for a long time. It will mean a lot of people being able to use a lot of data more efficiently and more quickly than ever before.

Saturday, November 08, 2008

Glow Brightly bedtime song

My 7-year-old daughter spontaneously came up with another bedtime song that I want to write down before I forget. I'm sure she'll like it if I remember it and sing it to her again...


Goodnight fireflies! Close your eyes.

Glow brightly. Glow brightly.


While you sleep the stars will shine.

Glow brightly. Glow brightly.

Actually, I came up the second part to match the first right after she sang it.

The melody goes like this:
Mi Sol Mi Do, Mi Sol Mi -
Re Mi Fa, Mi Fa Sol.

Mi Sol Mi Do, Mi Sol Mi -
Re Mi Fa, Mi Re Do.

I think I'll try to come up with another verse now...

Heaven's close now. Close your eyes.

Let your heart glow brightly.


Sing your praises to the skies!

Glow brightly! Glow brightly.


At first I wasn't sure whether it should say "Pray for hope now", or "Heaven's close now." Michelle like it better with "Heaven's close" and I think I like that better too.

Like with my other songs on this blog, feel free to use this, but if you ever write it down or use it, you need to give credit to me and my daughter. Let me know if you like it or use it in a public venue or want to try to make money with it, since it is after all copyright Daniel Lee Gibby, November 2008.

:)