Author Archives: The Digital Question

The Creative Process is Evolving: Why are we alienating our kids?

Please watch this video first:

Lawrence Lessig masterfully presents the concept that we are strangling the creative talents of our kids by refusing to update our archaic laws on intellectual property and copyright. He correctly frames the argument with an example of farmers complaining that they owned the airspace above their farms. Just because you created a writing, movie, or song does not mean that the world cannot react to this and produce new works related to your art or product. When you release your art or product to the world it becomes part of its culture.  In turn, people will react to your art or product by building on it creating something new. This is the whole point of copyright law: “to promote the progress of science and useful arts…” (1).

Now consider the age old conundrum that ‘if a tree falls in the forest and nobody is around does it make a sound?’ Science proves that sound is produces regardless if somebody is present to hear it; however, George Berkeley, introduced the philosophical argument that existence  <-> perceivable (if and only if clause) (2). This argument does have a potential strong hold on art and science as ‘useful’ products. It changes the tree argument to: ‘does it matter if a tree makes sound if nobody is around to hear it?’. This strikes at the heart of the issue: “does it matter that your art/science/product exists if a person or culture is not around to perceive/react to it thus providing the arena where it becomes useful or meaningful?’.  Does it matter if the Mona Lisa is art if nobody reacts to it, views it, or perceives it as art?

I don’t believe art is universal. I don’t believe their is a true form of art that exists outside of people and culture that great artists tap into. This argument is parallel to C.S. Lewis argument in Mere Christianity that their are universal ethical codes that are separate from religion and culture (3). Universally (at least among the sane) we believe it is wrong to abuse children and to kill for no reason; however, this does not apply to art and science (products).  The reaction…the perception is part of the art, which is why copyright law is limited in the first place. Your creation when released to the world becomes part of it. One cannot exist without the other. Our founding fathers realized this and thus protected this relationship through limiting copyright length. You the creator are allowed to benefit for a time from your work at a greater percentage than the public. After the copyright expires, the public is allowed to benefit from your work at 100%. If this wasn’t a shared relationship than why does copyright ever expire? Why don’t you own your creation forever? The answer is in the argument that for art and science to be ‘useful’ it must be perceived by/reacted on by some audience.

Until we start protecting the rights of our children to remix and create using a portion of what already exists, we are alienating them without sound reason.  And taking this a step further, until we legalize fair use in this way thus forcing a shared fiscal relationship where both the original creator and the remix creator can monetize their products legally then we continue to do a great injustice to our youth while at the same time stifle a huge industry of original artwork.

Chapter #8: Where Wizards Stay up Late

Source: Where Wizards Stay Up Late: The Origins of the Internet

Authors: Katie Hafner and Matthew Lyon


In chapter 8, Katie discussed the early solution to the problem of connecting networks built on different incompatible hardware. Vint Cerf thought of the idea of having a routing computer acting as a gateway between the two networks. That way a gateway could be programmed for any two networks and all it needed to understand was these two languages.

The idea here is similar to a group of people communicating who all speak a different language. It would be very hard, maybe impossible to find one person that could translate effectively between all the languages. Furthermore, what if a new person joined the conversation: the translator would have to be replaced with someone who spoke all the current languages plus the new one. A much simpler solution is to find translators that speak two languages and chain the conversation: Spaniard -> gateway translator (Spanish, German)  <- German <- gateway translator (German, Italian) <- Italian. If a new person was to join you could just find a new translator and put him into the conversation, which has no effect on the other gateways.

The concept of building a device to ‘translate’ incompatible technology coupled with the move to define standards for certain aspects of computer communication allowed for the Arpanet to grow into the internet we know today, where macs and pcs talk to each other without even knowing they are different species of hardware.

Chapter #7: Where Wizards Stay up Late

Source: Where Wizards Stay Up Late: The Origins of the Internet

Authors: Katie Hafner and Matthew Lyon


In chapter 7, Katie describes the transformation of the web from a formal academic/professional service to one used for personal interest. She describes how Len Kleinrock in 1973 forgot his razor at a conference in England; once back in the U.S., he used the Arpanet to ask his friend to bring his razor back. Kleinrock stated that, “I felt I was stretching the net” (189). This move to personal use continued with the introduction of email programs, where people became more relaxed about what they said. The next big move away from the professional Arpanet was with the introduction of the computer game: Adventure. The game was transferred all over the network from machine to machine. “Adventure demonstrated the appeal of an open networking culture and an emphasis on openness grew with time”. This was an important milestone for the early network, which pushed it down the path towards the current masterpiece we now call the internet.


Chapter #3: Where Wizards Stay up Late

Source: Where Wizards Stay Up Late: The Origins of the Internet

Authors: Katie Hafner and Matthew Lyon

In chapter 3, Katie includes this bit of information about Frank Heart:

“Heart had a predilection for judging people not by their looks or manners or political views, but almost purely by how smart he believed them to be. or as he liked to put it, by how many neurons per cubic centimeter their brains contained. If he decided the number was unusually high, Heart was likely to tolerate a lot more idiosyncrasy in one than in another whose gray matter he thought was less densely packed. When talking, Heart often used computer jargon in nontechnical circumstances. ‘It’s a no-op,’ he might say to his wife Jane if they decided to leave a Sunday afternoon free. (No-op, or no operation, refers to a line of code that accomplishes nothing.) Or he might say, ‘It’s binary,’ to one of their small children, meaning it is a black-and-white situation.”

Engineers seem to think about the world differently. Heart may have been more obvious than most, but I analyze life like I approach my computer design. I weigh time cost against performance gains, I try to break down problems into smaller chunks trying to understand the inner loops, I dismiss unnecessary information without much of a glance while at the same time failing to explain my actions (comments) because obviously anyone would understand what I mean in this situation or by this action. My Dad, who has been a computer engineer for 30+ years, is very much the same way.  One of my brothers, who also is a computer scientist, will quickly dismiss you when explaining a concept if you don’t immediately understand his explanation, which usually is only a minute step down from the original complexity. I’ve run into this same problem with many computer science professors.

I don’t understand how engineers can spend hours debugging code line-by-line to figure out a bug and yet struggle to have the patience to explain a technical problem to the layman. In the end, I think it is an important area of reflection for any engineer. In order to make quality software that acts intuitively, the way the user expects it to act, engineers must analyze their user base and break down their thinking and actions in much the same way they code: ‘

A user gets frustrated because he doesn’t immediately see a confirmation purchase page so he repeatedly submit the purchase (solution: handle first button click and ignore the rest) —– My girlfriend will be mad at me about ‘x’ and not say anything for weeks then she will want to kill me because I forgot to put my shoes up. (solution: ignore initial reason for all fights and decipher the real problem).

In the first situation, sometimes the problem is not with the user and the button needs to be clicked again. In the second situation, sometimes, maybe even most of the time, your girlfriend will be telling you what is bothering her; however, unlike the first situation where the user just reloads the page and starts from scratch your girlfriend will not be so forgiving. The world is not really as binary as engineers would like to think.

Chapter #2: Where Wizards stay Up Late

Source: Where Wizards Stay Up Late: The Origins of the Internet

Authors: Katie Hafner and Matthew Lyon

In chapter 2, Katie discusses the dawn of managed networks through centralized, decentralized, and distributed networks.  The 2nd one is really just a centralized network with centralized mini-networks being connected back to one central server. The third one is the gem. Paul Baran thought up the idea of distributing nodes across the geographic grid wherever necessary and connecting them to each other with regard to location. The key, he discovered was to assure a certain level of connectivity between nodes to assure reliable redundancy in case a node crashed or was hacked. (59) This idea of distributed network greatly decreased the complexity of the physical design and costs of building a reliable network. It is also the same concept peer-to-peer on which “distributed” file sharing like Napster was founded. Baran also introduced the idea of packet switching: breaking of files into smaller bits and sending them across different network paths to their destination where they are put back together into the original file. (60) Centralized networks cannot support this concept because each node passes through the central hub by only one path. These two major breakthroughs paved the way for reliable networking over large distances supporting vast amounts of nodes.

The importance of platforms (APIs) to the Web

Why should you, a consumer of the web, care about platforms?

An API is a door that developers can use to plug into software like Facebook and Twitter to gain access to user data. A good example of this is when various apps plugin into your Facebook to connect you to your friends or get contact information. As a consumer, this feature is vitally important to the way you use the web. If platform API access did not exists, then you can kiss goodbye all the apps, webpages, and software that rely on these platforms to posts your pictures, purchases, movies likes, activity, likes, dislikes, et cetera transparently without you having to think about image formats, multiple logins, and file transfers from one device to another or from your device to the web.

Why should you, a developer, care about platforms?

If you are studying computer science then you positively, absolutely, most definitely should learn of the importance of platforms. As code-base size grows larger by the day and expected features become infinite, your only hope at success is to tap into the immense wealth of platforms. You no longer have to worry about servers because you can just tap into Google Cloud or Amazon AWS, which will scale affordable with your user base. You no longer have to start from scratch because you can use Facebook or Google+ to manage all your user connections. You don’t have to pay Microsoft an arm and a leg for Visual Studio (though if you have the money it is well worth it) because you can use Eclipse with various plugins for your need. The future of quality software is in the hands of platforms.

If your in computer science you should read the rant by Google employee Steve Yegge on the one thing that Amazon does significantly better than Google. You must keep in mind that it was written in 2011 back when Google Android and Google+ was still going through major growing pains. Yegge discusses how Amazon understood the importance of Accessibility and how that directly ties to the software as a platform model. Yegge worked at amazon when Jeff Bezos ordered his company to make the transition:


“His  [Jeff Bezos] Big Mandate went something along these lines:

1) All teams will henceforth expose their data and functionality through service interfaces.

2) Teams must communicate with each other through these interfaces.

3) There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.

4) It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter. Bezos doesn’t care.

5) All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.

6) Anyone who doesn’t do this will be fired.

7) Thank you; have a nice day!”

Basically, Bezos ordered his employees to design every bit of internal and external software as a platform. Yegge explains that this forced Amazon to change to a “service-oriented architecture”:

“From the time Bezos issued his edict through the time I left, Amazon had transformed culturally into a company that thinks about everything in a services-first fashion. It is now fundamental to how they approach all designs, including internal designs for stuff that might never see the light of day externally.”

Yegge goes on to explain how Amazon realized that they can’t always build the right feature of software for their users. This is were the platform model allows other companies or users to see the shortcoming in your software and build a solution using the API. This idea of Accessibility is, as Yegge describes it, “the most important thing”:

“I’ve come to understand that there are lots and LOTS of people just like you: people for whom this idea does not have the right Accessibility, so it hasn’t been able to get through to you yet. “

Google has learned a lot during its climb to the top with Android; however, you don’t have to learn the lesson the hard way yourself. Take Yegge’s advice and follow the Golden Rule of Platforms:

‘”Start with a Platform, and Then Use it for Everything.’ You can’t just bolt it on later. Certainly not easily at any rate — ask anyone who worked on platformizing MS Office. Or anyone who worked on platformizing Amazon. If you delay it, it’ll be ten times as much work as just doing it correctly up front. You can’t cheat. You can’t have secret back doors for internal apps to get special priority access, not for ANY reason. You need to solve the hard problems up front.”

And don’t forget to read the article:

Chapter #6: Where Wizards Stay up Late

Source: Where Wizards Stay Up Late: The Origins of the Internet

Authors: Katie Hafner and Matthew Lyon

Chapter #6: pages 160 – 186.

On page 180, Katie discusses a big conference that was being set up for a show and tell of the network for a group of VIPS, “a Washington coterie of congressmen, pentagon officials and others”.  Just before the presentation was about to start the network monitoring tool started showing a major increase of dropped packets. McKenzie put together quickly that it was likely a troubled line that was in repair. He called Cambridge and told them “Get it out! Get it out!”.  Cambridge pulled the bad line and was able to restore the smooth network operation within 30 seconds.

This remote-management technology can be viewed as the forefather to the almost religious dedication to coding or building in safeguards to the infrastructure and software. However, I find it amusing that we haven’t really improved in this area. Apple just recently released the iPhone 6 in a big-todo conference, which included world-wide live streaming to the internet. It was plagued with problems: Here we have a company that is releasing an updated version of it’s flagship product. They have basically unlimited resources to make sure its a successful launch and yet they fail. On the other hand, the poor guys down at ARPA are working with pennies on Apple’s dollars and where able to solve their problems before anybody new they existed.

A Snippet about Net Neutrality

I was walking on the campus of University of Mary Washington and came upon a chalk board requesting students to make a statement about “What the Constitution means to them”.  One student’s anonymous submission caught my attention because it relates to the concepts of this course:

“Really we need a free and open internet to assure that everyone can have access to the information we need. We need protection for whistle-blowers and the means for a freely informed public. We need Net Neutrality!”

And there you have it… The net neutrality debate in the real world.