Data As Code

Date Tags data / code

I followed through the exercises of Seven Languages in Seven Weeks a while back, and there was a really interesting concept introduced by clojure (which really extends it's idea from lisp): that code is data and data is code. The idea that a programming language's syntax is flexible ...

more ...

Python Internals

Date Tags python

The internals of Python are actually pretty straightforward, but it's still worth a dive. I recently gave a talk at Zillow about it, so I'd thought I'd share some points here as well.

Everything here prefixed with >>> can be typed into the python interpreter (activated by typing ...

more ...

DRY Principles through Python Decorators

Date Tags python

Python decorators are a powerful tool to remove redundancy. Along with modularizing functionality into appropriate bite-sized methods, it makes even the most complex workflows into concise functionality.

For example, let's look at the Django web framework, which handles requests by methods which receive a method object and return a ...

more ...

The inevitable cons of overloading methods

Date Tags theory

Day 1

You see a simple method that draws a triangle. Currently, it takes in a specific size:

drawTriangle(float size);

You've been told that in the past, we only needed one kind of triangle. Now we need to be able to choose the color. No biggie, we have ...

more ...

Increment-Decrement for Emacs

Here's a small increment/decrement function I wrote, because I like how vim has one:

;; check if string is an integer
(defun string-integer-p (string)
  (if (string-match "\\`[-+]?[0-9]+\\'" string)

;; Decrement Int
(defun decrement ()
  "Decrement the integer that the cursor is on."
  (let ((x (thing-at-point 'symbol)))
    (when (string-integer-p ...
more ...

About Yusuke Tsutsumi
I work at Zillow. I focus on tools and services for developer productivity, including build and testing.

My other interests include programming language design, game development, and learning languages (the non-programming ones).