Wednesday, April 28, 2010

Monday, April 26, 2010

Saturday, April 24, 2010

Code is Universal

Code for the purposes of this post will be distinguished with a capital C. It is both definitive and descriptive. Codes permeate our lives. The most common Code discussed is computer Code and plenty could be discussed on that topic alone. Let's focus on the other lesser recognized Codes.

Legal Code attempts to outline the rules for operating a society. Everyone in the U.S.A. worries depending on how strict the supreme court evaluates the Code of our nation. On the other hand plenty are concerned about the latest and greatest Code originating from congress. Step back for a second and look at them from a software development standpoint. You have a huge legacy system, left to us by former coders that have moved on to other things. Even when the Code is put into production, signed into law, there are many questions if there is some loophole, bug, and plenty of speculation as to the reasoning behind the bugs when they are found. We vote for the congressman that will implement our features and hopefully not leave the Code in such a state that is behaves against our view of society. They on the other hand have to deal with honoring multiple conflicting requirements while navigating the agendas of entities that do not care about our requirements at all. The result is buggy, occasionally unenforceable, and usually incomprehensible to a single person, that does not live up to its promises. The system is likely to be broken in many ways. That said, it is the best system we have and our society cannot risk a full rewrite.

The military cannot be left out on a conversation of Code. Every organization that has secrets have Codes to protect and obscure them. These Codes are free from agendas and political wrangling and they attempt to protect information itself. Sometimes they work through a simple system of rearrangement. rehpiced ot ysae yrev eb nac snrettap gnitfihs elpmiS. If you have ever bought something through the web you have taken advantage of this Code. Do you really want to broadcast your credit card number to everyone? All purchases online are done through various forms of encryption. Military and intelligence organizations have produced many sorts of coding systems with a special focus on how messages may be intercepted or reproduced. Take a look at the encryption done by Thomas Jefferson. One of my favorite ciphers is Pig Pen. There are other Codes out there that are even more fundamental.

DNA and RNA together encode how our bodies function. Over the past 40 years we have seen its usage in every form of life on this world. The elements of the Code use a limited variety of simple molecules to produce everything from Archaea and Viruses, to our pets and ourselves. Thanks in part to cataclysms, sex, and radiation this code has evolved substantially and survives in many forms. As it is self-modifying it is a powerful force capable of extending itself by shifting existing patterns. A collection of genes known as the HOX box describe for many creatures where their limbs are placed. We all progressed from a single cell with a single redundant code, to a blob of specialized cells, to a group of highly specialized clusters of cells shaping the world in ways we do not fully understand. The biggest risk of self-modifying code is this very emergent behavior that cannot be predicted at the point the code is written. Cancer can be viewed as a bug in the system that regulates how cells should die. Gene therapy could be viewed as a way to fix the bugs within ourselves by changing our structure. The field has great promise, but it is inherently risky as there are dire consequences from a slight change to our genetic Code.

Code is more than the hidden ingredient that makes your computer function. It is the record of how we want our society to function, the tool of those who strive to control information, and a fundamental part of every living thing.

Sunday, April 18, 2010

I woke up this morning wondering what would be just the right image for a page called the Infinite Napkin.

After a little playing in Photoshop Elements, this is what came to me.


M. C. Escher, this one is for you.

Designing for the Web

When I made my first website the web was very simple. HTML was at version 2.0 and Javascript was new. The dominant Web Browser was Netscape Navigator and I remember downloading it over a 2400 baud modem overnight (3 MB was quite a lot in those days, now a single photograph is bigger than that installation, but I digress...).

At the end of the day most simple websites are text. Some text is exactly what you see here. Other text describes the overall layout and behavior.

A few links for budding Website designers...

HTML Help - Oriented for beginners, with plenty of pointers to design and style guides.
W3 Schools - Fantastic technical resource for learning all of the little languages of the web.
CSS Zen Garden - Inspiring page about the flexibility of Cascading Style Sheets. The text never changes, but the variety of styles is staggering.
W3 Consortium - Formal definitions of how the web should work. Only go here once you feel you have mastered the other techniques.

Saturday, April 17, 2010

Infinite Napkin

Names are a funny concept... As a student of computer science I can tell you that names are pointers or aliases, they give a handle to something else. Here are the names of my former websites:

  • The Black Hole In Cyberspace (originally published on Geocities made through handcrafted HTML) like most High School students I enjoyed taking a different direction than my peers who called their websites "Bob's World" or "Planet Janet"
  • The Unbeaten Path: A personal page I cooked up in college
  • Davescape: a view of my mind (someone else beat me to the punch with that name...)
So, all this leads to now over 14 years since my first page...

Napkin - the most casual way of presenting a design or sketch is off the back of a napkin. That little scrap of paper that can yield so much information.

This napkin is broad enough to be infinite thanks to the web.

So welcome to the Infinite Napkin :)