Skip to main content

Posts

Great Technical Books on Programming

We are in the middle of a computer programming languages explosion. In the last few years, a slew of programming languages have come into their own, others have been revived with new expressions and a whole bunch of them have been born anew. Also a new modality has appeared of the polyglot programmer, that is a programmer that works in multiple languages. This last change is the most significant. Because for a long time programming was dominated by a very few select group of languages: C, C++, Java and C#. All of which are related. And dominated by a tool set like Visual Studio with C# and Visual Basic. Now that is no longer the case and things are for the better. Recently I taught myself how to program and want to highlight a few books that are good reads. Most books in programming fall into a trap, that is they don't teach programming at all, but instead teach only the programming language. That's like teaching someone the rules to America Football and expecting them to a...

Watching TV, commuting and mental anguish

In Puerto Rico, I watch TV. I watch a lot of TV. More than I should. I used to watch very little while I was learning to code in California and was unemployed so had little time. Also I watch very little when I was dating here. Now I watch a lot. I find that mentally I'm too tired after work to do much of anything important. My theory: commuting in Puerto Rico causes massive mental anguish. Think about it. How much emotional energy do you waste on your drive home? Now my drive is not long. I used to live in LA for god's sake. But it is intense as most rush hour driving is in Puerto Rico. Now I even find myself amped even when it isn't intense. A Pavovlian response.... I arrive exhausted. Ready for a break.

Meeting awesome people on my travels.

Response to Neil de Grasse Tyson on GMOs

Recently I saw a post from business insider of Prof. Neil de Grasse Tyson talking about GMOs. He says:  What most people don't know, but they should, is that practically every food you buy in a store for consumption by humans is genetically modified food. There are no wild seedless watermelons; there's no wild cows; there's no long-stem roses growing in the wild — although we don't eat roses. You list all the fruit, and all the vegetables, and ask yourself: Is there a wild counterpart to this? If there is, it's not as large, it's not as sweet, it's not as juicy, and it has way more seeds in it.  We have systematically genetically modified all the foods, the vegetables and animals, that we have eaten ever since we cultivated them. It's called "artificial selection." That's how we genetically modify them. So now that we can do it in a lab, all of a sudden you're going to complain? I've heard those arguments before. And ...

Teaching Math

I recently bought myself a Math book that I'm delighted with (Mathematics 1001 by Elwes). I'm finally understanding many math concepts I had not understood in my education and I've reached an few interesting theories on how math should be taught. There should be three things that a math class should teach at the same time: 1. Memorization 2. Visual (Graph-Based) 3. Procedural (Equation-Based) 4. Historical All four are part of a whole and some students will respond better on one than the other. These are four avenues to teach the same thing by the way not three different things. Memorization should begin really early. There is no need to explain how multiplication works to have the kids start to memorize the multiplication table. The reason is not that you * need * to memorize it but  that by doing so or encouraging kids to do so, they'll be faster at doing calculations. Here are the things I think should be memorized in math: a. all the pairs of numbers that...

Multiple Assignments in Ruby

In this Rails project I'm running I need to set a whole bunch of individual variables to 'disabled' at once depending on the group the current user belongs to. We can use multiple assignment in this case but with a caveat. Multiple assignments are a quick way of setting a lot of variables at once. h, k = 1,2  => [1,2] h => 1 k => 2 but   h, k = 1      => 1 h => 1 k => nil In that case we can do this: h = k = 1   => 1 h => 1 h => 1  Beware this sets them to the same object. So if you change one you change both. h = k = [] h << 1 h => [1] k => [1] While we're at it here is how to reverse two variables: h = 1 k = 2 h,k = k,h h => 2 k => 1

Net Neutrality explained

Best explanation of Net Neutrality: Vi Hart . I didn't find a petition in WhiteHouse.gov so I made one: https://petitions.whitehouse.gov/petition/protect-net-neutrality-change-telecommunications-classification-common-carriers/GN70pvdF