As I’m writing this, it’s the first time I’ve had hotel-provided Internet access since I arrived on Thursday. The reason I mention this is that it is, by far, the only negative experience that I’ve had at the first Clojure Conj. It has been the best programming conference I’ve been to in a long time. The amount of […]
Categories: programming
Tagged: clojure, conference
- Published:
- 23 October 2010 – 11:16 pm
- Author:
- By petrilli
One of the great things about Redis is the richness of its data structure. I once heard something call it a “data structure in the cloud”, and that’s not completely inaccurate. Before delving deeper into using Redis with Python, I wanted to cover the core data types that are the foundation of this data-structured approach. If you’ve […]
Categories: programming
Tagged: hash, list, python, redis, set, string
- Published:
- 20 October 2010 – 9:19 am
- Author:
- By petrilli
Redis is a key-value store if you want to strip the idea down. A key-value store maps a key, usually a string, to some “blob” of data, and gives you the basic commands you need to manipulate them. There are a few things that I think make it interesting, however: Rich data structures Unlike some traditional key-value stores, like memcached, Redis […]
Categories: programming
Tagged: keyvalue, nosql, python, redis
- Published:
- 19 October 2010 – 3:11 pm
- Author:
- By petrilli
Today, in the New York Times, there was another article about how the US government wishes to make it easier to establish the National Panopticon. This follows a previous article that contained the amazing opening paragraph: Federal law enforcement and national security officials are preparing to seek sweeping new regulations for the Internet, arguing that their […]
Categories: social
Tagged: freedom, politics, privacy
- Published:
- 19 October 2010 – 10:52 am
- Author:
- By petrilli
So, what does it mean to put together ZeroMQ and Protocol Buffers inside of Clojure? What exists below is really just a quick thrown-together combination of a few sample bits of code from projects. This isn’t intended as a lesson in ZeroMQ, Protocol Buffers, or Clojure, but if you’ve got even a little bit of experience with a Lisp-ish language, […]
Categories: programming
Tagged: clojure, messaging, protobuf, zeromq
- Published:
- 18 October 2010 – 9:18 pm
- Author:
- By petrilli
A dessert for a cool fall evening if I’ve ever seen one. Comice pear with goat cheese, honey, lime and grains of paradise.
Categories: food
Tagged: cheese, dessert, fruit, goatcheese, honey, pear
- Published:
- 16 October 2010 – 6:54 pm
- Author:
- By petrilli
For most people, if they think about IP addressing at all, they see it as a 1:1 assignment of addresses to machines. This isn’t true though, either in theory or practice. A single machine can contain at least the following address types: IPv4 unicast — 192.168.1.10 IPv4 loopback — 127.0.0.1 IPv4 broadcast — 192.168.1.255 IPv4 multicast — 224.0.1.41 IPv6 unicast — 2001:DB8:0:0:0202:B3FF:FE1E:8329 IPv6 loopback — ::1 IPv6 anycast — 2001:DB8:0:0:0:0:0:0 IPv6 […]
Categories: asides
- Published:
- 15 October 2010 – 12:37 pm
- Author:
- By petrilli
Nearly 15 years ago, the IETF gave final approval to the next version of IP: IPv6. This came after several years of extensive research, prototyping and work by a lot of very smart people attempting to solve the problems facing the then-current version, IPv4. The problem is, in the intervening years, IPv6 has not been rolled out […]
Categories: technology
Tagged: addressing, ipv4, ipv6, networking
- Published:
- 14 October 2010 – 7:43 pm
- Author:
- By petrilli
In a previous post, I talked about ZeroMQ, and how it handles a lot of the underlying pieces/parts for you when you’re writing a distributed application. One thing it doesn’t deal with is the encoding of application-level data onto the wire. It just moves byte-based messages around. For that, you’ll need some kind of encoding scheme. There are a couple […]
Categories: programming
Tagged: asn1, bson, csv, json, messagepak, protobuf, sexp, thrift, xdr, xml, yaml
- Published:
- 13 October 2010 – 1:21 pm
- Author:
- By petrilli
Within the software development community, the term refactoring is used pretty frequently. Martin Fowler defines it as: Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure. The question for me is, what happens if we apply some […]
Categories: personal
Tagged: refactoring
- Published:
- 12 October 2010 – 1:52 pm
- Author:
- By petrilli