MySQL, UTF8 and Indexing

“When testing an application in MySQL 5.6, I came across a few interesting issues. These weren’t necessarily changes in MySQL between version 5.5 and 5.6, but rather the packages I used to install MySQL 5.6…”

State of the Common Lisp Ecosystem, 2015

“This is a description of the Common Lisp ecosystem, as of August 2015, from the perspective of a user and contributor.

The purpose of this article is both to give an overview of the ecosystem, and to help drive consolidation in each domain.

Each application domain has recommendations for consolidating that part of the ecosystem, and pointers for interesting future work…”

Using Nginx as a Load Balancer

“After you’ve ensured your web application is setup for a distributed environment, you can then decide on a strategy for load balancing. Nginx offers these strategies:

  • Round Robin – Nginx switches which server to fulfill the request in order they are defined
  • Least Connections – Request is assigned to the server with the least connections (and presumably the lowest load)
  • Ip-Hash/Sticky Sessions – The Client’s IP address is hashed. Ther resulting hash is used to determine which server to send the request to. This also makes user sessions “sticky”. Subsequent requests from a specific user always get routed to the same server. This is one way to get around the issue of user sessions behaving as expected in a distributed environment.
  • Weight – With any of the above strategies, you can assign weights to a server. Heavier-weighted servers are more likely to be selected to server a request. This is good if you want to use a partiuclarly powerful server more, or perhaps to use a server with newer or experimental specs/software installed less…”

CPython internals: A ten-hour codewalk through the Python interpreter source code

“Here are nine lectures walking through the internals of CPython, the canonical Python interpreter implemented in C. They were from a dynamic programming languages course that I taught in Fall 2014 at the University of Rochester. The format isn’t ideal, but I haven’t seen this level of detail about CPython presented online, so I wanted to share these videos…”

Python, Machine Learning, and Language Wars. A Highly Subjective Point of View

“In the following paragraphs, I really don’t mean to tell you why you or anyone else should use Python. To be honest, I really hate those types of questions: “Which * is the best?” (* insert “programming language, text editor, IDE, operating system, computer manufacturer” here). This is really a nonsense question and discussion. Sometimes it can be fun and entertaining though, but I recommend saving this question for our occasional after-work beer or coffee with friends and colleagues…”

How To Use Journalctl to View and Manipulate Systemd Logs

“Some of the most compelling advantages of systemd are those involved with process and system logging. When using other tools, logs are usually dispersed throughout the system, handled by different daemons and processes, and can be fairly difficult to interpret when they span multiple applications.Systemd attempts to address these issues by providing a centralized management solution for logging all kernel and userland processes. The system that collects and manages these logs is known as the journal.

The journal is implemented with the journald daemon, which handles all of the messages produced by the kernel, initrd, services, etc. In this guide, we will discuss how to use the journalctl utility, which can be used to access and manipulate the data held within the journal…”