Grouping NBA Players

In basketball, we typically talk about 5 positions: point guard, shooting guard, small forward, power forward, and center. Based on this, one might expect NBA players to fall into 5 distinct groups- Point guards perform similar to other point guards, shooting guards perform similar to other shooting guards, etc. Is this the case? Do NBA […]

Read More

Updated Django Website

One year later Last year I wrote about developing our company website with Django: http://blog.aclark.net/2015/01/11/new-django-website/index.html This year, I updated the site and am again very happy with the results. Here’s an overview of the interesting aspects. Makefile I’ve continued to develop Python projects using a Makefile. So much so I’m now attempting to genericize the […]

Read More

Repeated measures ANOVA using Python

A common method in experimental psychology is within-subjects designs. One way to analysis the data collected using within-subjects designs are using repeated measures ANOVA. I recently wrote a post on how to conduct a repeated measures ANOVA using Python and rpy2. I wrote that post since the great Python package statsmodels do not include repeated […]

Read More

Coming to Bay Area in April

Despite my visa blues ( see more at https://todayilearnedinamerica.wordpress.com/2016/02/15/night-13-make-epic-shit/ ) I am still hanging on and traveling on in the United States of America. I am also going to TWO of the best conferences I have never attended despite being a blog Partner since past three years. Predictive Analytics World San Francisco – April 3-7, 2016…

Read More

Python Design Patterns: For Sleek And Fashionable Code

Python is a powerful, object-based, high-level programming language with dynamic typing and binding. Due to its flexibility and power, developers often employ certain rules, or Python design patterns. What makes them so important and what do does this mean for the average Python developer? In this post, Toptal Senior Software Engineer Andrei Boyanov explains why […]

Read More

How to always execute exit functions in Python

…or why atexit.register() and signal.signal() are evil UPDATE (2016-02-13): this recipe no longer handles SIGINT, SIGQUIT and SIGABRT as aliases for “application exit” because it was a bad idea. It only handles SIGTERM. Also it no longer support Windows because signal.signal() implementation is too different than POSIX. Many people erroneously think that any function registered […]

Read More