Category Archives: computer science

Corwin’s Tenth Law

Any sufficiently complicated distributed system program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Raft. With apologies to Philip Greenspun.

Posted in computer science, jokes, software | Leave a comment

Creating a Sentient Mind Can’t Be That Hard

It just can’t. A conscious mind might be harder, but sentience is just a very low bar. It seems to me that there has to be some insight we’re missing, because, empirically, the problem cannot be particularly hard. What’s the … Continue reading

Posted in computer science | 1 Comment

ORMs model databases, databases don’t model objects

I was discussing the merits of a couple different ways to abstract some data common to multiple models at work, and my coworkers asked some questions that forced me to articulate exactly why I have such strong opposition to things … Continue reading

Posted in computer science, software | Leave a comment

How To DDoS Your Own Website With Python

Have you ever thought, “huh, I wonder how easily I could DDoS myself despite all the hard work of library and framework authors?” In that case, have I got news for you! In the vein of Uses and Abuses Of … Continue reading

Posted in computer science, pedantry, software | Leave a comment

Common Data Structures You Already Secretly Understand

Let’s talk about data structures that have close analogies to things you already do or know! This post will not be educational or entertaining, I promise. Enjoy! Linked Lists What is it? A linked list is a way of storing … Continue reading

Posted in computer science, pedantry | 1 Comment

A long hiatus and little to show for it (3.4 and 3.5)

It’s been a while since I posted because I went on vacation and the material got hard at the same time. Not a motivating combination! Anyway, I spent an awful lot of time struggling to understand the so called “failure … Continue reading

Posted in computer science | Leave a comment

JSON Pretty Printer

Just learning from a book and not getting anything working was starting to bother me, so I decided to throw together a quick JSON pretty printer. It’s just a tiny little C# project, thrown together in about 2-3 hours this … Continue reading

Posted in computer science, software | Leave a comment

Input Buffering and Regular Expressions (3.2 and 3.3)

The section on input buffering was pretty short. Basically, buffering input saves you time and is more convenient than jumping around an input stream a lot. Nothing groundbreaking. The chapter on regexes probably would be groundbreaking if you weren’t, you … Continue reading

Posted in computer science | Leave a comment

Lexical Analysis: The Role of the Lexical Analyzer Section 3.1

This chapter was mostly just a recap of things that were already covered about lexers. 3.1.1: Divide the following C++ program into appropriate lexemes. Which lexemes should get associated lexical values? What should those values be? float limitedSquare(x) float x; … Continue reading

Posted in computer science, Dragon book | Leave a comment

Ending Chapter 2

Section 2.7 is about symbol tables and has no exercises. Basically, the technique they talk about is, as you’re parsing the source, you move symbol tables around. So you start out with a null symbol table, and each time you … Continue reading

Posted in computer science, Dragon book | Leave a comment