#334 - Bitcoin is weird, Android Coding Update, and Black Panther

8 minute read

Motto: Dirigibles and Didgeridoos have Nothing in Common Other than They are both Plural Nouns and Long, Funny "D" Words

Bitcoin is weird. I assume anyone who's reading this is at least aware of Bitcoin as a thing, so I'm not going to explain what it is. I have no Bitcoin. I never bought in. The whole concept is... it's just insane to me. It's like a stock for a company that never existed, never made anything, that can pay no dividends. I mean, stocks as a whole barely make sense to me - but this is a whole new level of WHAT? 

From my admittedly limited understanding, you "mine" Bitcoin by telling your computer to do some crazy math. Your computer does that math and spits out a new Bitcoin. As time goes on the math gets harder to accomplish and thus Bitcoin become harder to produce. 

Meanwhile, everyone who has any Bitcoin at all has their name on this ledger that says "Jack has 2 Bitcoin, Jill has 3". If Jack wants to give Jill Bitcoin to help her pay for those medical bills she received as a result of her coming tumbling after, Jack enters into the ledger "hey I want to give 1 Bitcoin to Jill." At that point, Jack's computer sends out that message to everybody else's computer, everybody else's computer agrees "okay now we'll say Jack has 1 Bitcoin and Jill has 4."

The only thing is, Jack didn't give Jill anything. I mean, not really. Nothing physical happened, for sure... and relegating our scope of concern to the virtual world - Jack STILL didn't really do anything in a broad sense. He caused a made-up number on a list next to Jill's name to go up by one. This will enable Jill to give somebody else a made-up number increase. That's it.

If you decided you didn't care what that number next your name was on all of these copies of this ledger... then this holds no value. Inherently there is zero value in having a big number next to your name. Doing these math calculations (so far as I know) doesn't accomplish anything for anyone. It doesn't better science. It doesn't help us cure cancer. (If I'm wrong about that, then all this is out the window I guess.) The ONLY reason we give it value is because enough people decided they were willing to spend money to have the number next to their name go up.

We exist in a world where some websites have decided that, rather than make money by selling space to advertisers to show us visitors things advertisers want us to see... they utilize some of the spare compute cycles of us visitors to mine Bitcoin for them. 
This is crazy to me. It's crazy to me how abstract the concept of this all is. A website is utilizing a bunch of computers to accomplish math tasks that does nobody any good, so they can have a number next to their name on this big list go up... a number that only has value because some people decided they'd be willing to pay to have a big number of their own.

Cool - time to talk about Android development. 

I finished the Udacity course curriculum that would have garnered me an "Android Basics Nanodegree" had I elected to pay them for such a thing. I previously did the same thing with the "Front-End Web Developer Nanodegree". Accomplishing these things has certainly made me a better coder. The core concepts that I've pulled out I've been able to implement in my own projects both for funsies and at work.

THAT SAID - man Android development is a drag. It's long and slow and tedious to pick up on. The object model is vast and complex and very intimidating. Just accomplishing simple, easy things requires writing a ton of lines of code, invoking all sorts of concepts and models and other garbage that I'd prefer to not have to deal with. The metaphor I used to describe it to Melissa was imagine the problem of having to stand up out of a chair to walk to the bathroom to pee. Okay if you're approaching this problem in Android you have to write methods to stand up out of not just the chair you're in, but any chair in the world... and you can't just walk to the bathroom, you gotta stretch for 10 minutes, put on your best walking shoes, then draw up a map of how to get from your chair to the bathroom. Meanwhile all I can think is "dude I'm just trying to go pee here."

I am going to continue to push myself to get accustomed to it with the ultimate goal of producing a shareable, good version of "The Life Tracker", probably under a better name (currently I'm developing under the name "Captain's Log"... but who knows if I'll stick with that). The onset here has been very frustrating - just trying to do something as simple as "make the text not go behind the headerbar" took me 45 minutes of Googling to accomplish. It seems like something I should have been able to just... click and drag a box to do.

Anyway, the current mockup is this:

That view isn't perfectly representative of what I'm going for, but it's a start.

Okay enough of that. It's Marvel review time.

It was good. In terms of story telling, acting, and effects wasn't the absolutely pinnacle Marvel movie that everyone is saying it is - but it was a very solid entry to the franchise. I'm very glad that superheroes don't all have to look like me. I sincerely hope that more people find representation in the heroes that make up our cultural zeitgeist. Kids of all cultures, races, and genders shouldn't have to aspire to be like the white, male protagonists of The Avengers, the X-Men, or 4/5ths of the Justice League.  

Things I liked:
  • The villains were both very compelling in terms of acting and story
  • The score was awesome, Marvel needs more of this
  • The world-building of Wakanda was pretty great, I'd like to see more going on there and it makes me very excited that we're probably getting more in Infinity War
  • The water fight scenes were both tense and compelling
  • The new "spiritual" side of the MCU was an interesting and good addition to the universe
  • The story was self-contained enough to be enjoyed without having to see and know everything that came before it - while still enabling those of us who have to pull out just a little extra juicy goodness
  • Much of the enjoyment of this movie didn't revolve around the action spectacle, but instead the writing of the characters and the developments of the story
Things I didn't like:
  • The CGI was bad in spots - in particular the wall of people above the water fight & the rhinos in the field
  • Both of the villains were killed off - Marvel is always in need of more, better villains and to have TWO in one movie die off is a shame
  • There are basically no stakes whenever Black Panther is in his suit - he's invincible and can do basically whatever the plot decides he needs to be able to do (admittedly Iron Man has a similar issue with this)
  • The suit fight scenes also made the character look weightless, and the lack of contrast in the suit made some of the action scenes hard to decipher
  • Combining the above, the final fight was basically a dark, hard-to-follow mess of CGI where both characters seemed simultaneously weightless and invincible, this climactic scene needed to be better and it alone prevents me from including this movie in my Marvel Top-Tier Movie list  
What I'm reading is the new Star Trek movies. They aren't really "new" anymore; but they're new to me. They are pretty entertaining!

Also I watched Altered Carbon on Netflix. It was a really great, not-like-anything-I've-ever-seen-before show... up until the story took a turn that made it like everything else I'd ever seen. I wish the second half of the season didn't have the development that it did. It made the whole thing so much less interesting. Flashback episodes literally always suck, and this show had a flashback episode that was the delineation between "this is really interesting!" and "ugh! why is this happening? Did it have to be this, really?"

I have received no letters. If you understand why I have this section at all, then I like you.

Top 5: Best Coding Projects I've Done
5. The Original Life Tracker - the first iteration of what I've made was quite a feat at the time, I knew nothing about what I was doing and trying to figure out how to solve problems to build this is what started me on the path that lead to where I'm at today.
4. A Sudoku Solver in Excel - the very thing that made me switch from Computer Science to Electrical Engineering at KU. I blame KU's Computer Science professors for relying too heavily on theory, too heavily on "okay modify this text file"-type homework, and not providing enough guidance on troubleshooting techniques. Also their advisers did me zero favors. I could write an entire post about my misgivings with my college education, actually.
3. An old work-related project that very efficiently did comparisons between complex objects and created well-formatted reports to tell people what's up.
2. My current work-related project that should make everyone's lives much easier - slowly becoming the best thing I've done.
1. The Life Tracker - still probably the best thing I've done.

"When they make a movie about my life, I want The Rock to play me. I'm big on historical accuracy."
- Josh -