RNA vs DNA: tradeoffs

RNA was the first carrier of genetic information. It is cheaper and faster to replicate, so in a volatile environment where adaptation had to be fast, this was efficient. However, RNA’s instability limits the information it can carry: longer strands lead to too-frequent errors. DNA, with its greater infrastructure, is more stable. Reproduction is more … Read moreRNA vs DNA: tradeoffs

comfort

When I snuggle with my youngest daughter, I sing her a special song called “La La Linda.” As I hold her and stroke her hair and sing, I am charging up the song by creating associations in her brain. Each snuggle links it closer to feelings of comfort and love. When she falls on the … Read morecomfort

Functors: What the funk for?

For all the programmers who don’t deeply grok the lambda calculus terminology — Say you are about to call a method on a container, and that container can give you something back of type Tweet. What you really want isn’t a Tweet, but some part of it, say Tweet.getId(). What if, instead of getting the Tweet … Read moreFunctors: What the funk for?

When is code data, and when is it code?

The first tenet of functional programming: code is data. Store it in variables, pass it as parameters, return it from methods. This is challenging in the JVM, where all code lives inside methods on objects. Therefore, Scala passes around code in a function object. Code lives in the apply() method. When is a function object created? … Read moreWhen is code data, and when is it code?

waste not, grow not

Duplication of effort. Is it a bad thing? IT organizations put a lot of effort into reducing duplicate code and design effort. Architects are tasked with producing standards and choosing technology for the entire organization. Responsibilities are divided carefully, and watchdogs look for opportunities for reuse, increasing conformity. Data is painstakingly normalized so that the … Read morewaste not, grow not

mastery

They say ten thousand hours of practice is what is takes to master a skill. Ten thousand hours of playing violin, of hockey, of programming. No: not ten thousand hours of doing it. Ten thousand hours of conscious practice with the intent to get better. [1] When riding a motorcycle, devote 5% of your attention … Read moremastery