home
on exploration, introspection and creation

Archive for September, 2010

Thoughts on Memory

Saturday, September 18th, 2010

Have I mentioned that I’m fascinated by memory? (And, more importantly, by how little we know about how it works and by how much we think we know, trying to model it as all these things it’s obviously not).

I realized that the first step to forgetting is to forget what it was you were trying to forget. There is one experiment I have been running for several years now. I thought of something relatively unique, such as a pink panda bear (of course the actual thing is not a pink panda bear), and told myself I’ll make myself forget it. However, every so often I remember the experiment which instantaneously means that I’ve failed — because for the next several months I will not be able to forget the thing. Apparently this phenomenon is very useful — people found out that the best way to memorize things is to recall them just as you are about to forget.

This makes me think about the recall mechanics. The way memory is structured, it seems, is that memories have little “pointers” which remain on the surface (I mean conceptually, not visually). These pointers allow you to access the memory, but if not refreshed, they get fainter and eventually the memory is buried altogether. Of course, pointers themselves are interconnected, so re-jiggering one memory may expose another one by pulling the pointer back up to the surface.

This is a very efficient way to keep a large number of memories somewhat accessible — a pretty common use case (memorization for the sake of memorization, it turns out, is not a useful survival skill; however, being able to recall memories as a result of some trigger is very useful — it allowed us to build a large “toolbox” of primitive skills by remembering our reactions to impulses. These reactions are then brought back upon the re-occurrence of the same impulse).

The Three Commandments of Every Enterprise

Saturday, September 18th, 2010

Granted, I haven’t spend much of my life working. But the few years I have spent allowed me to see some things that work and some that don’t. Here are some of the high-level principles that in my view make companies excellent:

  • Innovation — a company that doesn’t innovate by definition becomes obsolete — its days are numbered. All products have a lifecycle, and so innovation is a necessary component of staying ahead of that natural process of product aging and death. Note that innovation should apply not only to the stuff you make; it should apply to tools (upgrade them!) and processes (think of better ways to get something achieved!) you use and also people you hire (train! hire the right talent!).
  • Codification — once innovated, products and processes need to be systematized. This lowers the costs, makes the output more predictable, and protects you from losing the things you innovated on. Again, this applies to the stuff you make, but also in general — any decisions you make
  • Flexibility — if you can’t turn around your product (but also your processes and people) fast enough, you will never be able to deal with the increased complexity that is inherent in anything that grows. This may necessitate meta-innovation: the innovation of processes to deal with complexity itself.

Stages of sophistication and personal development

Friday, September 17th, 2010

I’m a big fan of a concept of, what for lack of a better I’ll call babushkism: things coming in discrete layers that subsume one another. One specific such manifestation of this concept are layers of sophistication. It’s an extension of this. It’s always fun to interact with people who are at different levels of sophistication than you are (in particular those who are more sophisticated, since you can learn quite a lot from them).

Take Wittgenstein’s Tractatus Logico-Philosophicus, for example. When my friend E.R. introduced me to it, I had no idea what it was. I didn’t really appreciate–or probably even understand–it at first. I was impressed by my friend’s sophistication–and excited about increasing my own degree of it through awareness, and then understanding. About a year later, I spoke to another friend V.M. and somehow Wiggtenstein came up. V.M. immediately dismissed TLP, calling it infantile (was that the word he used?) and suggesting several other books by the same author that were Wiggtenstein’s much better endeavors. E.R. hadn’t heard of any of these, but about two years later he came back to me and told me that V.M. had been right.

As we all increase our understanding of the world around us, our level of sophistication increases, usually in discrete ways for specific subjects. As the distribution of such sophistication is likely a Normal one, there’s always plenty of people who have given less thought to some thing and plenty of people who have given much more thought and are far more opinionated, have a broader context and understand it more.

I can also see this concept of hierarchical layers connected to personal development. As we go through stages in life, our sophistication in life itself increases. Usually this happens faster if we interact with people who have more experience and can unravel more of these layers for us (being several layers removed from someone is also fascinating because you can probably not even understand that top layer, let alone reach it in a reasonable timeframe; I liken it to the much-explored idea of hyperadvanced extraterrestials trying to explain their technology to us; or humans trying to visualize a five-dimensional object). Exposure to events that force you to evaluate things and operate on them also helps us become more sophisticated. I have been very fortunate to have a job that challenges me and gives me significant responsibilities, and friends that similarly challenge me but also expose the world to me, one layer of sophistication at a time.

Life Hack #29: The Best Time to Buy Things

Tuesday, September 14th, 2010
  • Wrapping paper after New Year’s
  • Patio furniture after Labor Day weekend
  • Car on weekday mornings in September
  • Groceries on Sunday evenings
  • Airplane tickets on a Wednesday, 21 days (or a couple of days earlier) before your flight
  • Appliances during a holiday weekend
  • Baby clothes during your pregnancy
  • Broadway tickets hours before the curtain rises, at TKTS
  • Champagne in December
  • Clothing on Thursday evenings, six to eight weeks after an item arrives in stores
  • Computers and electronics just after a new model is launched
  • Gas on an early morning or late evening on a weekday
  • Gift Cards a day or two before you give it
  • Shrubs, Trees and Other Plants in the Fall
  • Televisions six to 12 months after a particular model is launched
  • Wedding Dresses between Thanksgiving and Christmas
  • Wine in the early fall

[Source]

Life Hack #28: yyyy-mm-dd

Tuesday, September 14th, 2010

Don’t get fooled by the seemingly more natural mm-dd-yyyy grouping; if you start with the year you are achieving the following:

  • Ensuring you will never, ever confuse anyone whether 07-09 is the ninth of July or the seven of September
  • Ensuring that the alphanumerical sort (for example, if these dates are your folder names) is equivalent to a chronological sort

And yeah, I’d drop the hyphens, too, why waste characters. 98% of people will tell you what 20100822 most likely represents.

As a side note, though, a friend of mine had an interesting argument for the mm-dd-yyyy order: in real life, this order (month, then day, then year) reflects the transition from most to least valuable information: a month is in most cases more useful to us than just a day or just a year. Similarly, the month-day combination is more useful than a month-year combination.

Being OCD, I still prefer to start with a year.

Life Hack #27: Spaces in Filenames

Tuesday, September 14th, 2010

Trust me — you will save yourself a lot of time if you avoid using spaces in filenames.

I am known to be a space-hater, but the reason is very simple: in computing, the space character has been overloaded to mean too many things. Most crucially, it delimits parameters in command calls, and because of that you should avoid using spaces in things which are likely to become parameters in command calls (like filenames).

Learning New Skills

Tuesday, September 14th, 2010

Initially I had this realization about driving, but later I realized that it can apply to many other things: when we first learn a new skill, we learn a set of rules and practices. These rules help us avoid making mistakes but they slow us down in fully internalizing the thing we’re trying to learn. As we exercise the skill more, the rules become second nature to us. Finally, the rules disappear — we end up anti-deriving them back to the few conventions that were established long ago, and finally back to the innate sense of what it means to possess a particular skill.

This is, in my view, particularly evident in driving: for the beginner, driving is an extremely complex set of activities with seemingly arbitrary rules (such as, what to do when you’re at an intersection and about to turn left, or how to drive stick shift). Once you’ve been on the road for several years, driving becomes natural: it’s not that you get used to the rules. It’s that they become commonsensical to you–the decisions you make are just simple consequences of the few fundamentals your brain has internalized.

What Killed Commodore

Monday, September 13th, 2010

I consider Commodore Amiga to be probably the one thing that shaped my life the most, and the thing I respected the most throughout my entire adolescent and adult life. It was a computer far ahead of its time. “The Amiga was so far ahead of its time that almost nobody–including Commodore’s marketing department–could fully articulate what it was all about.”

Subsequently, I was somewhat shocked when I read this. The post is probably exaggerating, with the majority of the patents being somewhat legitimate, but this is a great example (albeit a painful one for me personally) of how patent law stifles innovation.

If you haven’t heard of Amiga, you should download an Amiga emulator (or here) and play some of the games that I’m sure you’ve played on other platforms, such as the Lemmings, Dune, Mortal Kombat, or Civilization. Take a look at how advanced the computer was for the time (it was early 1990s!).

Great Music

Monday, September 13th, 2010

Music also has a property of bringing back compressed memories quickly. It symbolizes a particular set of circumstances, a particular company, particular events. Great music is all about the atmosphere it creates. In a way, it doesn’t even matter what it is — the actual melody or lyrics are just a medium; what matters is what it connotes.

The best music is nondescript.

Good Design, continued

Saturday, September 11th, 2010

I already talked briefly about design in my “tree of concepts” as the thing that allows us to answer a simple question of what we should be doing. However, to leave it at that is a cop-out — the design is by far the hardest part of the puzzle. I continually see people come up with poor designs, which cause lots of problems (which those people fail to attribute to poor design, but instead, blame on poor inputs). For example, if you are a CEO of a company and your design is to hire people who will do the right thing based on some simple guidelines, and if the people keep failing, do you keep hiring hoping for the right person to show up? Or do you rethink your design, admitting a possibility that such a design is not likely to succeed?

Good design is an art and so there is no step-by-step guide to it. There are some principles of good designs — statements that usually hold true that provide you with both the constraints and the scaffolding to bootstrap the design. I listed a few of them last time — but here is a little more thought-out list (note how these principles connect with each other):

  • Good design is natural — it feels right. Perhaps it actually borrows from nature
  • Good design makes few assumptions — and those it does make are worth calling out. Most designs fail because of an assumption that wasn’t, or ceased to be true. It’s important to understand the magnitude (the number of degrees of freedom) of the assumption — for example, a design relying on people to do the right thing has a relatively significant assumption built into it
  • Good design is consistent — once you list the assumptions, you should make sure they don’t contradict one another.
  • Good design is simple — There is a tendency for people to fix designs by tacking on exceptions. This is more likely to introduce inconsistencies
  • Good design is robust and forgiving — a robust design is not likely to cause problems that require you to overcomplicate it. Remember that humans err, things always go wrong. If your design is relatively slow to change, those unexpected events may cause a lot of problems
  • Good design is agile — you won’t design it right the first time, so build mechanisms in for improvement (for example, an evolutionary one — consider several options and choose those that work better over time). However, don’t violate any of the above principles (often people take a lazy approach to design because they think they can change it any time they want. That does not produce good designs)