-
Modularity & Abstraction
2020-07-16
(This is a sort of rambling post that I started in 2017 April.) Modularity and abstraction feature prominently wherever computers are involved. This is meant very broadly: it applies to designing software, using software, integrating software, and to a lot of hardware as well. It applies elsewhere, and almost certainly originated elsewhere first, however, it appears especially crucial around software. Definitions, though, are a bit vague (including anything in this post).…more
-
Go programming language: my totally unprompted opinions
2018-04-13
After I wrote my post on Python and asyncio, I had the opportunity to work with the Go language for some other projects, and I started jotting down my opinions on it as I did so. After using it for a bit, I decided that it's mostly C with concurrency, seamless M:N threading, garbage collection, fast compilation, namespaces, multiple return values, packages, a mostly sane build system, no C preprocessor, minimal object-oriented support, interfaces, anonymous functions, and closures.…more
-
Recommender Systems, Part 1 (Collaborative Filtering)
2018-04-08
This is an exported version of the Jupyter notebook available at my GitHub: https://github.com/Hodapp87/recommender-examples 1. Introduction The aim of this notebook is to briefly explain recommender systems, show some specific examples of them, and to demonstrate simple implementations of them in Python/NumPy/Pandas. Recommender systems are quite a broad subject on their own. This notebook focuses on movie recommendations from explicit ratings. That is, it’s focusing on the scenario in which:…more
-
Some Python asyncio disambiguation
2018-03-09
Recently I needed to work a little more in-depth with Python 3's asyncio. On the one hand, some people (like me) might scoff at this because it's just green threads and cooperative threading is a model that's fresh out of the '90s, and Python still has the GIL - and because Elixir, Erlang, Haskell, Clojure (also this), Java/Kotlin, and Go all handle async and M:N threading fine, and have for years.…more
-
Catalogue of My Stupidity: My Haskell 'GenericStruct' Nonsense
2015-06-23
(A note: I took these notes during my time at Urbanalta, intending them to be a private reference to myself on how to learn from some mistakes. I’ve tried to scrub the proprietary bits out and leave the general things behind. I do reference some other notes that probably will still stay private.) Background Some background on this: This is some notes on a small Haskell module I did at Urbanalta which I called GenericStruct.…more
-
Thoughts on tools, design, and feedback loops
2012-08-16
I just watched Inventing on Principle from Bret Victor and found this entire talk incredibly interesting. Chris Granger’s post on Light Table led me to this, and shortly after, I found the redesigned Khan Academy CS course which this inspired. Bret touched on something that basically anyone who’s attempted to design anything has implicitly understood: This feedback loop is the most essential part of the process. I reflected on this and on my own experiences, and decided on a few things:…more
-
Obscure features of JPEG
2011-11-24
(This is a modified version of what I wrote up at work when I saw that progressive JPEGs could be nearly a drop-in replacement that offered some additional functionality and ran some tests on this.) Introduction The long-established JPEG standard contains a considerable number of features that are seldom-used and sometimes virtually unknown.…more
-
QMake hackery: Dependencies & external preprocessing
2011-11-13
TODO: Put the code here into a Gist? Qt Creator is a favorite IDE of mine for when I have to deal with miserably large C++ projects. At my job I ported a build in Visual Studio of one such large project over to Qt Creator so that builds and development could be done on OS X and Linux, and in the process, learned a good deal about QMake and how to make it do some unexpected things.…more
-
Context Free
2011-08-29
My last post mentioned a program called Context Free that I came across via the Syntopia blog as his program Structure Synth was modeled after it. I’ve heard of context-free grammars before but my understanding of them is pretty vague. This program is based around them and the documentation expresses their limitations; what I grasped from this is that no entity can have any “awareness” of the context in which it’s drawn, i.…more
-
Isolated-pixel-pushing
2011-08-27
After finally deciding to look around for some projects on GitHub, I found a number of very interesting ones in a matter of minutes. I found Fragmentarium first. This program is like something I tried for years and years to write, but just never got around to putting in any real finished form.…more