Skip to main content

Posts

Dangers of Over the Air Updates - Hyundai Kona 2023 power steering

Two days ago I did the Over the Air (OTA) update for my new Hyundai Electric Kona 2023. It was weird so see how much changed (many of the changes not listed at all on the update documentation) but either they altered how the power-steering works or the update turned power steering off. They car is a lot harder to drive now, and it feels like a different car (one which I would not have bought). So while the radio became much better, the danger of OTA updates is that now you may change the profile of the car so much it's a different product. 

Great Audiobooks (list only)

Inspired by this NPR's article . This is a crib sheet of my favorite audio books. I'll write a blog post (or vlog) later.   Some books are better on Audio 1. Ready Player One by Ernest Cline, narrated by Will Wheaton  2. Robert Dugoni's Tracy Cross White series narrated by Emily Sutton-Smith 3. Robert Dugoni's The Eighth Sister and The Last Agent, narrated by:  Edoardo Ballerini 4. The Graveyard book narrated by the author Neil Gaiman 5. N.K. Jemisin's The Fifth Season by Robin Miles (get the Booktrack edition) 6. Wanderers, by Chuck Wendig and narrated by Dominic Hoffman and Xe Sands    Some great audio book performances: 1. The Man of the Mountaintop by Susan Trott, et. all, narrated by a cast including Stanly Tucci. (Audible exclusive) 2. The Sandman by Neil Gaiman, performed by great actors including James McAvoy. (Audible exclusive) 3. The Myst by Stephen Kind in 3D audio. This is my first book on tape I ever heard and it is still one of my favorites. It is...

Byzantine Programming Languages: Dart

 Dart,  Byzantine Languages pt. 1 Why is Dart a Byzantine Language? Dart wasn't born with types. It was born to replace JavaScript (JS) but wasn't any better than JS when it was born, because very quickly ES6 made the improvements Dart had over JS disappear. Then TypeScript gained ascendance as types help get a handle on large JS databases. So types were added to Dart... and Dart seemed to be ready for the graveyard of fringe languages like Pony, Prolog, and Idris. But Google didn't give up on it. Dart kept evolving but like a Bazar, it evolved by adding things like it added types. So when you look at Dart you see many design decisions in the language are in conflict. It's a packed language, with lots of things. Its syntax was extended to use types and it's lightly based on C, quite possibly the most popular language historically but also one that largely succeeded in-spite of its syntax not because of it. What's good about Dart? The VM. The virtual machine that...

Best Tech Books

Best Tech Books for Programming Language Learning I'm a bit of a polyglot no only in human languages (English, Spanish, Japanese) but also with programming languages. I found that the best way to get a deep understanding of the programming field, I needed to be broad. I got introduced to Bruce Tate's 7 languages in 7 weeks series right when I was starting to learn Ruby and found the cross-language trends to be very useful in knowing what to learn for the future.  So here is a list of Programming Books that I found good for learning a language. These are the must have books in my opinion to "get" or "grok" the language. Most of these books I have not finished but they're so good I can recommend them for other language learners and polyglots. All these books should accelerate your learning dramatically.  Poignant Guide to Ruby Ruby: POODR and _why's Poignant Guide to Ruby .  Okay, so _why's Poignant Guide to Ruby is the reason I fell in love with ...

What Medieval Economics can teach us about tariffs.

As a teen, I used to play Dungeons and Dragons (D&D) with my friends. This started an interest in the medieval period that led to me taking a medieval history class in college just to understand the period more. Over the years I've also read great books like " Dungeon, Fire and Sword " about the crusades (I recommend the book) and yet with all that knowledge it wasn't until recently that it occurred to me I had a completely wrong understanding of economics in the Medieval Period. "Viking helmets, sword and footwear" by eltpics is licensed under CC BY-NC 2.0 In my D&D games, players who are adventures battling monsters and creatures would need equipment and on the trips to town, they'd get resupplied with their adventuring necessities. I'd run these moments referencing my imagination of what it must have been and fantasy books I'd read. There be an inn with a raucous bar, a gruffly black-smith, if a city also a weapon and armor sm...

"Classic" Programming Languages

In my time in government, I've worked on modernizing legacy systems. Though not all legacy systems are worth modernizing, I've found a few "classic" languages in the process that are not the ones you'd expect. All these "classic" languages share a few things: They're all proprietary. They all had or have enterprise support They all have outdated UI (user interface) elements reminiscent of the '90s. Microsoft's (Visual) FoxPro    License: Proprietary Latest Release: 2007 Top on these languages I've encountered is FoxPro, a language that is unsupported now, but was back in the '90s a good language. It was bought by Microsoft and that gave it a sense of enterprise support. I encountered this language at the Environmental Quality Board in Puerto Rico, where there were two "programmers" in this language and a system running on it. The environmental complaints/issues ticketing system had been modernized not too lo...

Fixing Autocomplete in Github's Atom Text Editor for Ruby

I really like Github's  Atom Text Editor . I really like that it's multi-platform allowing me to master one set of skills that is transferable to all platforms and all machines.  On thing that just burns me of the default set-up in Atom is the Autocomplete feature that seems to change my words as a type them. Because Ruby uses the end of line as a terminus for a statement you usually finish a word with pressing the return button and you get really annoying changes to your finished typed word a la MS Word. I find myself yelling "No that's not what I wrote!" at the screen in busy coffee shops. I disabled autocomplete for a while but it is a very useful function. Then I found out they changed the package that gave the autocomplete to a new one called "Autocomplete Plus" that gives you more options. All that I needed to change to make autocomplete sane again: 1. Open Atom's Preferences 2. Search the bundled packages for " Autocomplete Plus ...

Programming is a Craft (And that's a good thing)

Programming is a craft. You are building something. The modern languages have given the programmer great ownership of the craft. Before it was more like an assembly and one programmer was responsible for one cog in a big machine and few programmers, the elite, saw the whole machine, understood the whole craft. But now with languages like Ruby and Python, the massive power at the hands of the programmer bring the whole thing back to a craft. It is something you do with your hands. It is creative, like writing and while not physical or tactile, it is built piece by piece. The connection is deep and actually obscured by the way programming is taught. Because programming originated from a mathematical discipline and math has mostly lost its craft origins and now is taught more as an intellectual pursuit, it is often forgotten that math is but a tool itself. Not an end goal. Math is used to do things with it. Calculous to measure trajectories of objects. Geometry is essential for architec...

Embarking on a new venture

On a beach in Costa Rica, on Biscayne Bay in Miami, on Cassadaga in Central Florida and who knows where else my travels will take me. Feeding myself good reading: Paolo Coelho's The Alchemist. Feeding myself good food. And beginning to write. It is hard to leave behind the troubles and toils of Puerto Rico, but their fate is their own. There is shock, loneliness and sorrow I'll have to deal with. Embarking on new ventures of writing, long hard work ahead and I'm ready. Behind me the past and dried leaves rustling in the wind.

textmate vs. atom yaml

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

Algunas Fotos de la Actividad.