Inferring algorithm from behaviour

A behaviour results from the sequence of steps that an algorithm performs: the transformation that it applies to the input to generate the output, as well as the environmental footprint (resources used).

For example, a bubble sort returns a sorted array given an unsorted one. It consumes O(n²) resources. Furthermore, it is known that the pattern of operation on the data can be represented visually like the following (Found on Wikipedia - colour would have been preferable):

All Watched Over by Machines of Loving Grace - Adam Curtis 2011 ⍟⍟⍟⍟⍟

Ayn Rand's demise started when she was unable to uphold her own philosophy, collapsing in front of her lover Nathaniel Branden and accusing him of immorality for leaving her for a younger woman. Wasn't he acting out of "rational" self-interest?

My home entertainment system (actual and ideal)

I care about my entertainment system. I'm looking for flexibility and extensibility.

Usage scenarios


  • Watching a video on DVD
  • Watching a video on computer file
  • Watching an online video
  • Watching a cable/satellite channel


  • Listening to shuffled audio stream
  • Listening to thematically shuffled audio stream
  • Listening to a specific audio track/album


  • Watching a thematic stream of online pictures

The future mediastore

The mediastore will replace today's both DVD rental and music stores. It will only serve digital media, that customers will load onto their personal storage devices, such as USB flash drives or iPods. They will also be able to order it to be placed online, to later stream it from home.

The value of the mediastore will be the same as today's video or CD store: to find current media in an environment designed for findability.

Pop Quiz

What does this mean: {{{

     (#$forAll ?PERSON1
        (#$isa ?PERSON1 #$Person)
        (#$thereExists ?PERSON2
             (#$isa ?PERSON2 #$Person)
             (#$loves ?PERSON1 ?PERSON2)))

Found at an OpenCyc tutorial.

Microsoft doesn't get the Web

The Microsoft bid to acquire Yahoo! is the latest desperate move from a dinosaur to avoid extinction. Actually, the only thing keeping that dinosaur alive right now is its cash, because it is plain to see that Microsoft just doesn't "get" the Web. It drove Hotmail to the ground years ago, it created a single sign-on system that everybody hates, and I don't think is much better than - even the name is as bland.

A programming thought experiment

When you're coding a function, start with the return statement and work the logic backward to reach the inputs. Since we're more concerned with the function's output, this reversal does shift the focus on getting the result required instead of starting off far away, at the input level.

Matrix programming in Excel

Excel is like a giant matrix programming pad. Take a financial statement for example: I am just learning to read one and I am discovering the logic behind the usage of the tool.

The statement can be considered a computer program made up of arithmetic and logic operations on matrices. One of its output is the Balance Sheet, that pulls results (i.e., invokes functions) from the various other sheets, namely: Income Statement, Cash Flow Statement, Revenues, Expenses, etc.

XScreenSaver is info-protoart

If you're looking for folk expressions of infoart (and who wouldn't), check out XScreenSaver. This wonderfully simple system is the standard screensaver on Linux, and it shows how the stock Windows screensavers are an insult to the genre.

Each screensaver is humbly called a hack, and each hack is a small program that displays an interesting animation on the screen. Interesting is the key word here, and probably an understatement. Most people who are in the room become mesmerized by them - my cat too! I wish I was such a hacker.

Music hacking

It's more fun to compute

Syndicate content