Trees as Linked Lists in Common Lisp

“If you are starting to learn Common Lisp, and have already read the chapter about “Cons” from an introductory book (also called cons cells), then you could try the following exercise. How to represent a tree using nothing but conses; and abstract that implementation with functions to create and traverse the tree.

PLEASE NOTE, that if you need to represent trees in a production program you shouldn’t use lists as described here unless you have a good reason. This is only an exercise in understanding how cons cells work…”

Posted in programming | Tagged ,

How schools kill creativity

Posted in science, thoughts | Tagged , ,

Python 3: threat or menace?

“I wish I still had my copy of this: a Harvard Lampoon parody of Life magazine from the ’60s, displaying a picture of a flying saucer and the ominous headline: “UFOs: Threat or Menace?”.

I was reminded of this when reading some recent articles worrying about the slow transition from Python 2 to Python 3, such as Python 3 is Killing Python. The authors of such articles, and Python developers in general, really like Python, and for the most part like Python 3. Their main concern is that the protracted 2-3 straddle will hurt Python’s popularity…”

Posted in programming | Tagged

Containerized Deployment at Facebook

“In this video, Aravind Narayanan from Facebook first introduces Tupperware and explains how it leverages sandboxes and container technologies. He later talks about how Tupperware integrates with other Facebook services and highlights the lessons they learned while building it…”

Posted in programming | Tagged , , , ,

High-performance packet filtering with pflua

“Pflua implements the well-known libpcap packet filtering language, which we call pflang for short.

Unlike other packet filtering toolkits, which tend to use the libpcap library to compile pflang expressions bytecode to be run by the kernel, Pflua is a completely new implementation of pflang…”

Posted in programming | Tagged ,

Billion Messages – Art of Architecting scalable ElastiCache Redis tier

“Whenever we are designing a highly scalable architectures on AWS running thousands of application servers and supporting millions of requests, usage of NoSQL solutions have become inevitable part. One such solution we often been using for years on AWS is Redis. We love Redis. AWS introduced ElastiCache Redis on 2013 and we started using the same since it eased the management and operational efforts. In this article i am going to share my experience on designing large scale Redis tiers supporting billions of messages per day on AWS, step by step guide on how to deploy the same, what are the Implications you face at scale ? Best Practices to be adopted while designing sharded+replicated Redis Tiers etc…”

Posted in programming | Tagged ,

How Twitter Uses Redis to Scale – 105TB RAM, 39MM QPS, 10,000+ Instances

Yao Yue has worked on Twitter’s Cache team since 2010. She recently gave a really great talk: Scaling Redis at Twitter. It’s about Redis of course, but it’s not just about Redis.

Yao has worked at Twitter for a few years. She’s seen some things. She’s watched the growth of the cache service at Twitter explode from it being used by just one project to nearly a hundred projects using it. That’s many thousands of machines, many clusters, and many terabytes of RAM.

It’s clear from her talk that’s she’s coming from a place of real personal experience and that shines through in the practical way she explores issues. It’s a talk well worth watching.

As you might expect, Twitter has a lot of cache…”

Posted in programming | Tagged , , ,