God damn, I’ve been neglecting this blog. It’s sad really, because I do have a lot to say. I guess I’ve just been talking to myself instead of blogging lately, which maybe says something about my mental stability, but whatever. I’m blogging now, and I’m going to blog the fuck out of this blog.
It’s 2016. My job is pretty cool in some ways, but in some other ways it bothers me a great deal. It’s probably not in my best interest to go into that in great detail here (as if anyone is reading this, right?) so I will leave the rest unsaid, and just get to the broader point. I am someone who cares a great deal about science, engineering, creating cool things, doing things the right way, etc. And when I say “cares a great deal” I mean probably more than I can adequately articulate with my pedestrian writing skills. It’s almost like a spiritual thing. So for someone like me, what do you do when your day job is preventing you from attaining your desired level of spiritual satisfaction?
Chris Stucchio wrote an article about the differences between basic income and basic job policies, based on relatively straightforward math. Briefly, basic income says give everyone money with no strings attached and get rid of other forms of welfare. Basic job is the same, except anyone who can work is mandated to work, either in a normal job like today or in a New Deal-style government works program.
Chris’s main conclusion was that basic job came out looking way better than basic income. Additionally, a major purpose of his post was to encourage other people to play around with the math as well rather than just bloviating. Since I’m a big basic income proponent and have some quibbles with how he came to conclude that basic income doesn’t look too good, I will follow his lead and play around with the math.
If an NBA player gets a jump shot blocked, does it change the way he plays the rest of the game? You can imagine there could be a psychological effect like a loss of confidence, or a conscious/subconscious decision to try harder to avoid being blocked again which could harm shooting efficiency. Basketball statistics legend Dean Oliver recently Tweeted that claim it has a big effect on Steph Curry and basketball players in general. But is it actually true? And how big is the effect? Let’s look at some data.
Despite miraculously recovering from ACL surgery and successfully leading his team for the playoffs, Adrian Peterson tragically missed the all time rushing record by 9 yards.
…or did he?
Let’s think about how the NFL measures yardage. They take the difference between where the ball was before the play and where the ball is after the play, and then they round to the nearest integer. What happens if you rush for half a yard? It’ll get recorded as either 0 yards or 1 yard. Spread out over an entire season, and this kind of rounding error can have a big impact.
These are some notes I wrote as porting my on-again off-again hobby project Basketball GM from PyGTK to PyGObject. I did this because PyGTK is dead and stuck on GTK+ 2, and PyGObject is the future and already on GTK+ 3 through the use of GObject introspection. So, others going through the same transition might (or might not) find this useful. You can see the code I’m referring to on the pygobject branch on GitHub.
My blog is powered by WordPress. WordPress remains at its core a monstrous amalgamation of PHP spaghetti code. Thus, despite the fact that WordPress is free (beer+speech), easy to use, well supported, well documented, and all that jazz… it still pains my hacker sensibilities to use it. For similar reasons, a lot of hacker types are moving away from WordPress and similar blog software to static site generators like jekyll.
In recent weeks, there have been a lot of people decrying the importance of the Ames Straw poll, likely because the mainstream media is worried that Ron Paul will win it. Here’s one prominent example, titled “The Ames Straw Poll Has Limited Predictive Value”. Of course, if you actually read the article, it doesn’t really demonstrate what is claimed in the title. So, I wanted to look at this issue a little more systematically. Unfortunately, I got scooped by that bastard Nate Silver who wrote an article about this exact issue this morning, after I had already almost finished mine. So instead, this will be an exercise in open source journalism.
If you search for information about showing tooltips in a PyGTK TreeView, most of what you find is about tooltips for hovering over rows. Here, I’ll explain how to show a tooltip when you hover over a column header in a PyGTK TreeView.
In MATLAB, it is really easy to do parallel processing of trivially parallelizable problems with a
parfor loop. I do it all the time. It’s great. A problem with this is that, if you need to parallelize something in the first place, it’s typically something that takes a really long time to run. Some type of progress monitor is normally easier to make, but because
parfor does not iterate in order and the workers cannot communicate with one another, it’s a little tricky to do in the parallel case.
In 1957, we knew what DNA was. We were pretty sure that proteins were determined by sequences of DNA. But we didn’t know exactly how this happened. In other words, the genetic code was still a mystery back then. This was a particularly perplexing problem, because a very simple question could be stated with no obvious answer: How does a language (DNA sequences) with four letters (the nucleotides A, C, G, and T) get translated into a language (protein sequences) with twenty letters (amino acids)… and furthermore, is there some higher purpose to having these two different alphabets?