Take the opportunity sometime to ask a programmer “What’s your favorite bug ever?” You’re likely to get some great stories. They might be tales of misfortune in which some villain got their comeuppance. They could be hard to solve puzzles that led to a personal sense of victory. But, quite frequently, they’re humorous anecdotes of absolutely bizarre behavior encountered in the course of being a developer.
Slack — we love it, we hate it. Slack has had some highly visible outages lately, but one of my favorite UI bugs ever was this gem from a few years ago.
Angular Material provides copious examples for their components. In my opinion, this is one of the strongest endorsements for the library. The
DataTable component has among the most examples, but is a bit lacking on adding drag-and-drop, particularly when it comes to making it a beautiful experience.
This post will walk through a setting up a simple data table using material components, the anatomy of the drag-and-drop module, and how to style it beautifully.
Prefer to learn from code? Here’s the GitHub repo.
Adding interactivity to data visualizations can contribute to better understanding of data. One of my favorite interactions is to use hover events to highlight data in another plots. Plotly.js provides events that make this kind of interaction possible, and their Angular library makes it easy to add to your next single page app.
Feel free to jump straight to the GitHub Repo if you’d prefer.
You can skip to the next section if you’re already comfortable with Plotly in Angular. …
When playing chess, I find my games falling into similar positions. This is by design. Focusing exclusively on a couple of different openings helps improve your games, precisely because you’re seeing the same positions over and over. But I’ve been curious, more generally, what constitutes common and uncommon positions for chess pieces. I set out to analyze a year of tournament chess games with Python and chess.py in order to find out.
Link to this project’s Git repo.
A game of chess is a sequence of board positions defined by player moves. If I were to take a chess game…
I have a couple of projects in mind for analysis of chess game positions. They all require collecting a large number of chess games into structured data. This Week in Chess provides records of thousands of games each week. Each week consists of a file in Portable Game Notation (PGN), a plain text format for recording chess games.
I want to analyze hundreds of thousands of games, so step one is to gather the plain text files and parse them using the grammar of of PGN files.