Posts by Year

2023

Type Punning

5 minute read

Here are 32 bits, or 4 bytes. Seems like a pretty big number. And it is . . . sorta. Depends on how you look at it. 0 1 0 0 0 ...

String Chaos and Compiler Sleight-of-Hand

7 minute read

We need to talk about strings. I’m working on porting my Python assembler to C, and I’m getting to the harder stuff. As I wrote about in my last post I sett...

Porting my assembler to C, Part II

9 minute read

I’ve been keeping that good Impossible Stuff Day energy going today and made excellent progress on my assembler project. It can’t handle labels or symbols ...

RC29. Quantifying RC Q2

3 minute read

I’ve reached the halfway point of my RC batch, which means . . . it’s time to have another look at the data! Q2 at a glance Here’s what weeks 4-6 at RC loo...

RC28. Notes Towards an Assembler

3 minute read

Today I started thinking about a plan for implementing an assembler. Here are a few notes and musings I had for the lexer component, which will be responsibl...

RC27. The Walrus and the Char Pointer

2 minute read

This short post has nothing to do with chars or pointers (I couldn’t resist). It does, however, have to do with walruses – walrus operators, to be exact. ...

RC26. Building a CPU

10 minute read

The main thing I worked on today was building (okay “building,” in .hdl) the CPU for my simulated nand2tetris machine using components previously featured ...

RC25. A quick one on lambda multiplication

2 minute read

Clearly I’m a sucker for pain, because today one of the things I did was work through more brain-bending lambda calculus. This is a short one, though, since ...

RC24. Lisp Black Magic

9 minute read

I thought I’d regained my balance and overcome my recent bout of Lisp-induced vertigo, but after today’s meeting of Group SICP I’m about ready to puke. Back...

RC23. Reckoning Time!

5 minute read

Today was a day where I had some important, unplanned conversations, which prompted reflection and introspection about what I’ve been doing these past 5 week...

RC22. Conjuring Data in Lisp

5 minute read

“Let me do something that I think is really going to terrify you.” Well, Professor Abelson, you weren’t wrong. Elementary Data Structures in Lisp Okay, so,...

RC21. Celebrating Minor Triumphs

12 minute read

Dear journal, I’ve had a number of excellent days in my 4+ weeks at RC so far – productive, social, brimming with learnings and challenges and insights. In ...

RC20. Basic Text Processing in C

5 minute read

As much as I’m enjoying getting thrown into the deep end of C with Build Your Own Lisp, I’m finding it gratifying and delightful all around to be learning th...

RC19. Piecewise Functions

4 minute read

Today while meeting with my SICP group mates I learned about piecewise functions. Some background Some background before getting to the problem at hand. The...

RC18.

1 minute read

Today was slightly abridged since my boy is sick, but did manage to get a few things done: paired a bit on C for BYOL. We focused on implementing exponent...

RC17. Pascal’s Triangle in Lisp

2 minute read

I was stumped on implementing a procedure that computes a given element in Pascal’s triangle using Lisp but finally figured it out thanks to a little help fr...

RC16. Making a Program Counter

4 minute read

Next step on the road to a DIY computer is a program counter. This is an important component of our CPU since each consecutive output specifies a memory addr...

RC14. Quantifying my first 25% of RC

3 minute read

RC10. Quantifying my first 25% of RC For damn near the last decade I’ve been tracking my time spent on various work-related activities using an app called A...

RC13. Building an Adder, Part 3

3 minute read

A few days ago I posted the following schematic for a full adder, which I derived algebraically with a fellow recurser: The HDL for that looks like this: ...

RC12. Building an ALU

6 minute read

Here’s an ALU. Looks confusing. And, well, it sort of is, at least at first. The ALU is the arithmetic logic unit, and it does all sorts of cool things. T...

RC11. Building an Adder, Part 2

3 minute read

Today we’re going to bring our adder across the finish line. Last time we derived a full adder that required six gates in the end: 2 XOR gates 2 OR gat...

RC10. Building an Adder

9 minute read

A while back I built a 4-bit adder on a breadboard and managed to reduce each full adder component to five logic gates. In truth I’m not sure how I managed i...

RC09. Dialectical Learnings

3 minute read

Currently musing about learning style. I’ve been making my way through in BYOL (Build Your Own Lisp), but something about it isn’t working for me. I think th...

RC08. Lispful for Recursion

2 minute read

Something that intrigues me about Lisp so far is the way in which it lends itself, almost automatically and as a first principle, to recursion. In my experie...

RC07. DVD Logo

2 minute read

Today I have this to show for myself: In Creative Coding my group was working on generating weird fractals in response to the day’s prompt about organic...

RC06. Ceterum censeo Carthaginem esse delendam

1 minute read

I spent a lot of time today drawing out various logic gates schematics. Too much time. I hadn’t known that NAND logic is so magical and that it’s possible to...

RC05. The (Logic) Gates of Hell!

2 minute read

Just kidding, I love logic gates. I love logic gates, and I even like the simulated version, which I finally started messing around with today as part of the...

RC04. Closures, Squirrels

4 minute read

What an amazing five days. Don’t pity me when I say this, but this week was easily the most social week I’ve had in years. Years. Wish I could say it’s just ...

RC03. Curb your enthusiasm, (or don’t)

2 minute read

I’ve been writing here that my immediate path at RC has presented itself, and that path is something like a rogue CS education consisting of C and compilers ...

RC02.

3 minute read

Today is my third day at RC, and it feels like the (my) fog is starting to lift. I’m getting a lay of the land and am enjoying a new sense of clarity about m...

RC01.

3 minute read

I’m tired, man, tell you what. So impressed with all the recursers around me who are finding the time to write actual, thoughtful blog entries and check-ins,...

.apply() need not apply

4 minute read

Here’s an interesting puzzle I encountered. I’m working with a dataset with two features of interest: naive datetimes (naive meaning without any timezone in...

Implementing the Observer Pattern

8 minute read

I faced some challenges on a recent project, which I solved by implementing the Observer design pattern. Or a version of it, anyway. Here’s how I did it.

BitsBud

less than 1 minute read

Just finished a prototype of this friendly bit manipulator to help others develop better intuition for bits, bytes, and bitwise operations.

A Curious Variation of Binary Search

6 minute read

Binary search is a simple and efficient (and surprisingly intuitive!) way of searching a sorted array for a certain item that runs in O(log n) time.

JavaScript BPM Counter

less than 1 minute read

Tap along with the beat, baby! We’ll take care of the rest.

K-Means 101

2 minute read

K-Means 101 I’ve been working a lot with the Museum of Modern Art’s collection dataset recently and thought it would be useful to cluster paintings based on ...

Is the Museum of Modern Art Trending Global?

3 minute read

MoMA’s Acquisition Practices, Part II: Progressive or Conservative? So MoMA’s acquisition practices are trending towards older artworks by older, deader arti...

Art Auction Data: Exploratory Data Analysis

13 minute read

Art Auction Data: Exploratory Data Analysis I’m working towards an ML project that models painting prices in the secondary art market based on a variety of a...

The Easiest Way to Adjust Currency in Python

4 minute read

I’m working on a machine learning project that involves modeling art auction prices. The data that I’ve collected includes auction results from nearly 40 yea...

How to Quickly Generate Wordclouds in Python

2 minute read

I’m working on a machine learning project that will model auction prices for paintings. Based on some domain knowledge, I have a solid intuition that certain...

Art Stats Illustrated: Measures of Variability

8 minute read

What’s Variability? The various measures of central tendency that I reviewed last time give us a sense of a “typical” value for a set of numbers (although, a...

How to Find an Element’s XPath with Dev Tools

1 minute read

I’m working on a script for scraping a particularly complicated site, which makes targeting specific HTML elements especially tricky. Dev tools to the rescue!

How to Debug in WordPress

1 minute read

The other day I was installing a new WordPress theme for a client’s site that I inherited from another developer. It can be a bit, well, daunting to confront...

Back to Top ↑

2022

Knoedler Stock Books: Destinations

1 minute read

Mapping Artwork Destinations in the U.S. Since re-confirming the fact that the vast, vast majority of Knoedler’s sales occurred with US buyers, I thought it ...

Knoedler Stock Books: Transactions by Volume

2 minute read

Assessing Activity by Sales Volume I’ve been curious to explore some art history-related datasets, so I thought I’d start with the Getty Research Institute’s...

Back to Top ↑