« September 2006 | Main | November 2006 »

October 2006 Archives

October 4, 2006

Back to the Archives, pt. 1

This is an image I created last year in my first semester @ ITP. It started with a discussion with a friend around the question: If you could go back in time and remove one person from history, who would change things more than anyone else? He said Isaac Newton, which is a pretty difficult choice to argue against. While creating this image, however, I decided to pay tribute to one of the more unsung heroes of modern technology, the recently passed Jack Kilby, front and center holding a few examples of the early products of his work.

Kilby, who received his B.S. in Electrical Engineering from my alma mater, the University of Illinois, invented the concept and first example of the integrated circuit, that magical idea of forming many electrical devices in one block of substrate that has led to almost 50 years of unimaginable innovation. (Jack St. Clair Kilby Bio from Texas Instruments)



Circles

features:
Marie Curie

Albert Einstein

Robert Goddard

Jack Kilby

Isaac Newton

October 11, 2006

Land of the Free?

Even as we use terrorism as a guise to impose our specific brand of freedom upon the world through the use of violence and coercion, lawmakers are using this same terrorism as a long-awaited excuse to take away that freedom here at home. The system is sick, folks, and maybe beyond repair. Perhaps the evildoers are really just like bacteria, sent to this planet, by the same God that the politicians invoke whenever they have a personal agenda to advance, to compost this rotting corpse of a free nation. I hope not.

I love this country. As a matter of fact, I really know no other. I don't want to give up and move to Canada or France or Costa Rica or Zimbabwe or India or anywhere else for that matter. I love the people of this country. I've been to virtually every corner of America and everywhere I've been, I've been greeted with kindness.

What I don't love, however, is the way the current government continues to twist September 11 like a knife in the belly of the great people of this great nation, alienating us one by one in a sick mind experiment to see how far the citizens can be pushed before we stand up. Using our respect and mourning for those that died on September 11 and those that have died in vengeance and purported vengeance since as levers to pry us into accepting the new American ideals that democracy is silent agreement and that patriotism is blind faith is a tactic that is growing very old, very fast.

When, less than one month ago, I made the short walk on the morning of September 11 down to the former site of the World Trade Center and saw that an enormous contingent of the crowd were wearing black t-shirts with very plain and clear white text stating "9-11 was an inside job" I was saddened and embarassed. Not because of the presence of the protesters — actually I was rather moved that this country still allows the peaceful dissent of the people (most of the time at least). I was sad that we are living under a "leadership" that inspires such distrust, and embarassed that this "leadership" is primarily responsible for representing us to the rest of the world.

I'm not sure how much of this dissent made it into the mainstream national media. I saw firsthand one instance where a news reporter was threatening a protester with fictitious laws in an attempt to secure a clear backdrop of the gaping hole in the nation with no protesters in sight.

At one time, I thought that every youthful generation just needed a cause, and that without Vietnam or conspicuous segregation to rebel against, my generation and those after were, at times, looking for battles to fight for rebellion's sake. Now it seems to me that the inevitability lies on the other side of the equation.

Overcomforted veteran politicians have an inherent need for a personal agenda to impose, perhaps to leave some semblance of a legacy behind, perhaps because disconnect from their constituents makes them believe they are doing the right thing, or perhaps just to vie for more money and more power.

In any case, the reason I am writing this now may seem a bit petty, and certainly relative to many of the issues we face, it is. But I feel so strongly only because the attack is so arbitrary and ultimately personal. In the past weeks the Unlawful Internet Gambling Enforcement Act was slipped through both houses of Congress and now sits on our President's desk awaiting signature, conveniently tucked away at the bottom of a bill that supposedly focuses on port security. It's another example of pandering to a niche constituency. Polls have shown that a substantial majority of Americans don't want a ban on Internet poker. But, capitalizing upon loopholes in the political system, the most manipulative and conniving politicians impose their ways on the masses in a carefully architected attack on our personal freedom.

Ironically enough, what this bill really does is only eliminate the purest of law abiding citizens from playing, and the most conniving and fanatical players will continue, creating more criminal minds in the process as we move to research technologies like Tor and beyond to circumvent these bans.

Without locking down the entire country behind a firewall a la China, I don't believe there's any way these laws can truly be enforced. Sure, there will be enough of a nuisance that the state of the game will be crippled, but the "problem" will never be eliminated. Why can't these people learn? The hackers will always win. And by the way, as an aside to all you geniuses in Washington — if anything that even approaches the effect of that China-style national firewall ever comes into being in this country, that will be my breaking point. I'll be the first one marching my happy, intelligent, GDP-boosting ass to Canada or beyond, and I'll be taking a whole crowd of great American citizens with me. And just remember that - you've got the tanks and the bombs and the code of law on your side, but when it really comes down to it, we've got the brains. And you know it, and it scares the shit out of you. And so you try to keep a little control over what is going on or squelch it entirely, because when you see something you don't immediately understand or agree with, that's what you do. But take it easy, because just as fast as we can build this economic engine here, we can take it elsewhere.

And this isn't just another case of angst-ridden twenty-somethings looking for something to argue. Anchor Keith Olbermann painted this picture of opportunistic manipulation very clearly one month ago. Read the quote. Watch the video. If you haven't already.

The only positive on 9/11 and the days and weeks that so slowly and painfully followed it was the unanimous humanity, here, and throughout the country. The government, the President in particular, was given every possible measure of support.

Those who did not belong to his party -- tabled that.

Those who doubted the mechanics of his election -- ignored that.

Those who wondered of his qualifications -- forgot that.

History teaches us that nearly unanimous support of a government cannot be taken away from that government by its critics. It can only be squandered by those who use it not to heal a nation's wounds, but to take political advantage.

Terrorists did not come and steal our newly-regained sense of being American first, and political, fiftieth. Nor did the Democrats. Nor did the media. Nor did the people.

The President -- and those around him -- did that.

They promised bi-partisanship, and then showed that to them, "bi-partisanship" meant that their party would rule and the rest would have to follow, or be branded, with ever-escalating hysteria, as morally or intellectually confused, as appeasers, as those who, in the Vice President's words yesterday, "validate the strategy of the terrorists."

They promised protection, and then showed that to them "protection" meant going to war against a despot whose hand they had once shaken, a despot who we now learn from our own Senate Intelligence Committee, hated al-Qaida as much as we did.

The polite phrase for how so many of us were duped into supporting a war, on the false premise that it had 'something to do' with 9/11 is "lying by implication."

The impolite phrase is "impeachable offense."


Why is it that my government insists on protecting me from myself, when what I really desire is protection from my government?

RIGHT! The McLaughlin Group on Internet Gambling

Leave it to none other than Pat Buchanan to stand alone on the McLaughlin Group in support of this anti-American legislation. With any luck, the majority of the GOP's supporters aren't as blinded by the "American Values Agenda" and will put an end to this type of madness in the coming elections as these blatantly political tactics begin to backfire. Start the countdown...

Located via billrini.com

Read Modify Write Errors (Why the **** aren't my LED's blinking right?)

This is an issue that I have encountered on virtually every PIC-based project that I have ever worked on. Trying to do something possibly as simple as turn a series of LEDs on at a time becomes a frustrating exercise in futility. Why?

It has to do directly with how the PIC modifies an I/O port when you set a pin individually. (NOTE: this may not apply to all models of PIC hardware, but I have encountered the effect in a wide variety of PIC devices).

When the PIC sees a command such as HIGH PORTB.0 it actually must read the entire PORTB from the pins into an internal register. This happens regardless of whether or not the pin is configured as an input by the TRISB register. Then it modifies bit 0 in the register and finally writes the entire byte from the register out to the I/O port.

Doesn't sound so bad, right? Well usually it's not, unless you do something like:

In this case with an LED connected directly from the PIC pin to ground, when the PIC reads PORTB from the pins, it reads the voltage across the LED, because that is what is connected directly to the pin. Unfortunately, depending on the color and exact makeup of the LED, this voltage will be anywhere from 2-4V, because the current through the LED is limited by the PIC to around 20mA (which is a good thing unless you like the smell of burning silicon).

In the worst case, with a typical red LED connected, the pin voltage will be in the neighborhood of 2V, which is low enough to be read by the PIC as a zero at least part of the time. This leads to a situation where if you were to execute a block of code like
HIGH PORTB.0
PAUSE 250
HIGH PORTB.1
PAUSE 250
HIGH PORTB.2
it's quite possible you will end up with only the LED on PORTB.2 turned on, since when the second HIGH statement is executed, pin B0 might be read as low and then get re-set to low, even though that clearly is not the intent of the code.

So what can you do? The simplest (and probably most correct) thing to do in this case is to simply add a resistor to limit the current through the LED external to the PIC. This means that the full 5V from the power supply shows up on the PIC pin, ensuring that the PIC will keep high the pins that are supposed to be high

This effect can also occur if there is a capacitive load on the pin, which can in some cases mean just excessively long wires, or a capacitor of course. The likelihood of this increases as the frequency of the signals gets higher.

This leads to another potential approach that I have used with good results (actually it's how the PIC running at 40MHz is operating with 32 channels of firmware PWM in City Streets, Northern Lights). This alternate approach is to leave all of the port pins set high (PORTB = %11111111), but to use the TRIS registers to turn the outputs on and off. In many cases, making a pin an input is effectively the same as driving it low, and this certainly works in the case of LEDs.

This means the above sequence of turning three LEDs on consecutively would look like this:
PORTB=%11111111
LOW TRISB.0 ' note that making TRIS low makes the pin an output,
' driving it high -- don't forget to invert your logic
PAUSE 250
LOW TRISB.1
PAUSE 250
LOW TRISB.2

The situation/solution is the same if you are coding in PICC or even PICASM. My understanding however, is that the AVR that is the core of the Arduino uses an internal shadow register that eliminates this problem, although I haven't checked it firsthand. You can also perform this function manually in the PIC by declaring a variable that acts as a stand-in for the PORT register. You then modify this and write the entire byte to the port manually, like this:
shadowB var byte
shadowB = %00000000

PORTB = shadowB
HIGH shadowB,0
PORTB = shadowB
PAUSE 250
HIGH shadowB,1
PORTB = shadowB
PAUSE 250
HIGH shadowB,2
PORTB = shadowB
PAUSE 250

Being the most complex, this is the solution I use least often. Typically I make sure my outputs are isolated with resistors and then use the TRIS method if I am doing something high speed, like PWM or capacitively loaded.

Hopefully this makes a little sense of some of those random problems that plague your breadboard from time to time.

October 12, 2006

Censor This Post

I saw a talk this week by Ethan Zuckerman of globalvoicesonline.org, an organization dedicated to amplifying news feeds from the developing world into the eyes of our mainstream media.

Ethan's talk was motivational and thought provoking throughout, but I think the highlight for me was a quick story about a proxy server and a line of Javascript donated by the blogging community of Pakistan to help bloggers in India circumvent a goverment ban on blogspot.com URLs. From help-pakistan.com:

In light of the recent blogspot ban in India, the blogging community in Pakistan would like to present as a gift to the Indian blogging community a small script that can be inserted into their websites which converts all Blogspot links into a URL utilizing the proxy servers of pkblogs.com

Credit goes out to Adnan Siddiqui for creating this nifty javascript utility which quite simply needs to be installed on your file server and one line of code inserted into the header file of your website. Once installed all your surfers will automatically use pkblogs for all outgoing blogspot links

Download the ZIP file Pkblogs Script.zip

Please consider this as a gift from Pakistan to all Indians in hope of building friends across the border

God bless the hackers.


Another highlight of the talk was the conclusion when Red asked Ethan what we might do to help the world, what issues we might take on, and he responded:

You've got to find something you're passionate about, but passionate in a way that scares you. If it doesn't scare you, you haven't found the right thing.

jumpWORD.com on O'Reilly Radar

Last week, jumpWORD.com, the site I worked on for much of the summer, was featured on O'Reilly Radar:

Jumpword is a powerful set of tools for use with your phone. I really like the strong tie-in to the web. They are currently working to make the modules MySpace compliant (the script tags cause them to be blocked). They also aim to provide you with more control over the look of the modules -- a necessary improvement.

I think that most people will not grok how to use these tools or how to set them up on the Jumpword website. I think that Jumpword is going to have to build some applications with their tools or get more games to use them (or become the next MySpace fad!). They are still looking for business models, but are currently considering offering the service to corporations in need of a mobile toolkit for events.

Read the full post on radar.oreilly.com

October 15, 2006

We're not launching the shuttle here...

Or are we? This paper, submitted to the Rogers Commission in response to the Space Shuttle Challenger disaster in 1986 by Richard Feynman on the reliability of the Shuttle is full of fascinating insight, not only on NASA procedure but also on the philosophies of adequate robustness and error tolerance in design.

Illustrating benefits of incremental, bottom-up design and the importance of reducing features before reducing quality, Feynman sounds like he could be writing about application design for 37signals.

The proper way to save money is to curtail the number of requested changes, not the quality of testing for each.

In other words, it's better to release half a product than a half-assed product. Of course, usually no one dies when your webapp crashes. So it is astounding that the discrepancy between reliability estimates from NASA management and from engineering is 1000:1. Apparently the managers didn't study their statistics long enough to realize just how impossible it is to prove such an infinitesimal probability as 0.001% in a relatively tiny number of trials. And sadly, time has proven even the engineers' estimate to be optimistic. Whether you look at the casino or at Cape Canaveral, it seems to be a profoundly human trait to overestimate the importance of an insignificant number of trials in ill-fated attempts to predict the future.

For a successful technology, reality must take precedence over public relations, for nature cannot be fooled.

But O how often she does such a fine job of fooling us.

(From Confused of Calcutta via Alex Bisceglie)

Web 1.0 (beta)



The first six nodes of a wired mesh network for Network Effects.

The network consists of two types of PIC microcontrollers variably interconnected into a fault-tolerant mesh network. Arduino support may be forthcoming along with source code. At this point, the network is intended more for topological research than for moving bytes, but the protocol could probably find its way into other projects. More to come...

October 17, 2006

Web 1.0 (beta), continued

Basic Description:

Nodes:

Microcontrollers (in this case PICs) programmed with identical code. Physicality (pin layouts, etc) may differ from node to node within certain restrictions.

Protocols:

The network uses the standard RS-232 serial protocol for data transfer, with the addition of a proprietary signaling system that uses the same wire to send ready-to-send, ready-to-receive, and receive-success messages. Each packet consists of the target node address, the address of the sending node, the hopcount, and a four byte payload.

Transport:

Data is transfered serially using a wired connection.

Addresses:

In the protocol, locations are specified by an eight bit address, allowing up to 255 nodes. In the current hardware implementation, however, the nodes are addressed at boot time by hard-wiring four pins of the microcontroller, thus limiting the network to the four low-order bits of the address, or 16 nodes.


Network Stack:

The stack for this implementation is very simple, as (using the Internet comparison) only levels up to and including the IP level of the stack are included. A TCP-like protocol could be constructed atop this stack, and then any desired application protocols further atop that protocol. As it stands, however, the network implements:

[End to end addressed packet transfer]
[RS-232 plus additional signaling]
[TTL logic I/O]


Visual Explanation:


Each processor in the video is connected to a set of three LEDs, enabling the viewer to see network traffic in process.

Red -> Node is transferring data
Yellow -> Node is receiving data
Green (in combination with Red or Yellow) -> Transfer / Receive succeeded
Blinking green and yellow -> Packet arrived at ultimate destination

Each node has a local address (in this case, 0-5). Each node can then send a packet of data to any other address in the network. The transport protocol is simple (and unreliable) and consists simply of handing the packet off to a random node, attempting first to connect to any node which is not the source of the data. Thus if node 0 sends a packet to node 4, if the packet is not addressed to node 4, node 4 will attempt to pass the packet on to any node connected to it that is not node 0. If this fails, it will pass the packet back to node 0.

The video shows 5 packets being sent from the lower right node of the network to the node in the upper left corner. This shows the variable routing and a few of the possible routes a packet can take in the process.

Full Description:

The network was designed to be a lowest common denominator of mesh network design - a basis for possible future development. As such, it is a success. With a limited number of nodes, packets move from point A to point B in a reasonable number of hops, but it is clear that a good deal more work would be in order to develop a scalable network.


Fig. 1 - Schematic of TX/RX circuit

The network consists of PIC microcontrollers communicating via RS-232 serial with the addition of the ability to use that same data line for signaling from the recipient both of ready to listen and data received signals. This is achieved using the circuit shown in Fig. 1. The transmit pin for each data line is connected via a resistor to a second pin of the microcontroller which is configured as an input. Then this second pin is connected to the receive pin of the remote device. Then when a node wants to transmit, it asserts its TX pin high, which also raises TXACK and RX to high through the resistor. Then, assuming the there is a remote device connected that is not busy and sees the signal, it asserts its RX pin low, which pulls the TXACK pin on the transmitting device low as well (the resistor prevents an over-current between the two driven outputs). The transmitting device sees this ready signal, waits a specified small amount of time for the receiver to enter listening mode and then sends the data. After the data is sent a similar exchange takes place to confirm receipt.

Routing takes place via an extremely simple protocol. Each device can be connect to as many as three other devices. These connections are sensed each time a packet is sensed via the protocol described above. When a packet originates, it is sent randomly to one of the three possible connections or the first one that successfully receives it. If the packet is not at its ultimate destination, it is forwarded to another random node, with precedence given to nodes that are not the node from which it was received. This prevents two node looping. Even this one simple rule provides an enormous reduction in hop count over a purely random scheme and creates a somewhat usable, if poorly scaling, network.


Fig. 2 - Probabilty calculations for arrival in 5 hops or less across 6 nodes

As you can see in Fig. 2, for one particular simple six node topology, the probability of a packet arriving from one extreme of the network to the other in 5 hops or less (without making a loop) is 75%. In Fig. 3, two nodes are added, and while the similar case (no loop) entails only one more hop, delivery only succeeds within six hops 56% of the time.


Fig 3. - Probabilty calculations for arrival in 6 hops or less across 8 nodes

On the other hand, in the six node example, by tolerating a single loop which allows up to 9 hops, the probability of success increases to 93.75%, which can be seen in Fig. 4. Analysis of the eight node example quickly becomes difficult because of the greater number of combinations of loops, but it seems that allowing one loop (up to around 12 hops) increases its chances of success to around 78%. Time permitting, computer simulation would allow a better analysis of larger networks of this type.


Fig 4. - Probabilty calculations for arrival in 12 hops or less across 8 nodes

I did not have a specific numeric estimate of performance prior to construction and analysis, but the six node network performs somewhat better than I expected and the eight node network somewhat worse. This horrendous scaling could be improved with a topological shift to a small world system, where a number of these meshes could be connected together via specifically designated router nodes with the address space configured such that it can be deduced from the address whether a packet should stay within a subnet or propagate onward to another. The relative success of the mesh with small-scale networks suggests that this could be a workable solution, although the benefits over a more standard non-mesh topology are dubious given the rudimentary routing system.

The routing system itself could be improved if the size of each subnet remained relatively small by implementing a backpropagation system, wherein each packet was tagged with the address of each node through which it passed. Upon receipt of the packet, this information could be sent back to each of the nodes that were involved in the original transaction, and the hopcount of the outbound and inbound packets could be compared with any hopcounts of previous steps that were stored in memory to, over time, find an optimal next hop to reach any node in the network. This activity may need to be limited in order to balance the risk of flooding the network with optimization messages with the desire to adapt quickly to changes in topology.

After this first foray into mesh networking, I must say that I am pleased at the results of the basic implementation and would like to spend more time in the future to investigate and experiment with various learning schemes that could improve performance and scalability.

Lack of Focus + Featuritis + Poor Fundamentals = -$580 Million

The Sunday Times published an excellent article about how Friendster missed the mark. Poor performance and excessive complexity caused largely by disconnected management cost the site its shot at the big time.

The board also lost sight of the task at hand, according to Kent Lindstrom, an early investor in Friendster and one of its first employees. As Friendster became more popular, its overwhelmed Web site became slower. Things would become so bad that a Friendster Web page took as long as 40 seconds to download. Yet, from where Mr. Lindstrom sat, technical difficulties proved too pedestrian for a board of this pedigree. The performance problems would come up, but the board devoted most of its time to talking about potential competitors and new features, such as the possibility of adding Internet phone services, or so-called voice over Internet protocol, or VoIP, to the site.

THE stars would never sit back and say, ‘We really have to make this thing work,’ ” recalled Mr. Lindstrom, who is now president of Friendster. “They were talking about the next thing. Voice over Internet. Making Friendster work in different languages. Potential big advertising deals. Yet we didn’t solve the first basic problem: our site didn’t work.”

It's not surprising then that while Friendster was flailing and sinking under the burden of unnecessary features, it was crushed by a simpler and more open competitor:

Many people working at Friendster sneered at MySpace. The holy grail at Friendster — and the cause of most of its technical problems — was its closed system: users at Friendster could view only the profiles of those on a relatively short chain of acquaintances. By contrast, MySpace was open, and therefore much simpler from a technological standpoint; anybody could look at anyone else’s profile.

The two companies also mirrored their founders: where Friendster reflected the ordered vision of its engineer-founder — early on, the company famously removed the profiles of people who put up joke pictures, like photographs of their dogs in place of themselves — MySpace was more L.A.-laid back. At MySpace, they rode the wave instead of fighting it, and encouraged users to do pretty much as they pleased.

It's a classic tale of clinging to the poison that is killing you. As the complexity of the site burdened not only the technology, but the user base, Friendster continued to attempt to cure its ills by seeking additional functionality rather than paring back in order to both get the site up to speed and give users more freedom and ability. Clearly simplicity and openness has struck a decisive victory thus far.

Looking to the future, founder Jonathan Abrams has been left with such a bad taste in his mouth over what he believes to be the fumbling of his idea by a disconnected board of directors that he is said to have sworn off venture capital all together in the future — a great possibility in the world of rapid development and open source environments &mdash in favor of more organic development and growth. He is not alone &mdash certainly many of the next big things will be built with little more than a laptop and a hosting account.

The Net @ Risk (PBS)

Bill Moyers: The Net at Risk

Moyers on America
t r u t h o u t | Programming Note

Airdate: Wednesday, October 18, 2006, at 9:00 p.m. on PBS.

(Check local listings at http://www.pbs.org/moyers.)

"The Net at Risk" reports on what could happen if a few mega-media corporations get their way in Washington.

The future of the Internet is up for grabs. Big corporations are lobbying Washington to turn the gateway to the Web into a toll road. Yet the public knows little about what's happening behind closed doors where the future of democracy's newest forum is being decided. If a few mega media giants own the content and control the delivery of radio, television, telephone services and the Internet, they'll make a killing and citizens will pay for it. America's ability to compete in the global marketplace, the unfettered exchange of ideas online, and broadband services that could improve quality of life for millions are at stake. Some say the very future of democracy itself may hang in the balance. In "The Net at Risk," Bill Moyers and journalist Rick Karr report on the wannabe "lords of the Internet" and examine how promises by the big tel-co companies of a super-high speed Internet in return for deregulation and tax breaks have gone unfulfilled while the public has paid the price. After the documentary, Moyers leads a discussion on media reform to explore the real-world impact of deregulation on communities and citizen participation in democracy.

(From truthout.org via Japanic)

October 18, 2006

Way to go W!

Enough said.

(From thinkprogress.org)

The Musings of Paul Graham

I just came across an article by Paul Graham (who, among many other endeavors is a partner in Y Combinator) entitled How to Start a Startup. I was going to pull a few quotes and write an informative summary, but as it turned out I copied and pasted most of the article. So just go read it for yourself. Here's the intro to get you warmed up:

You need three things to create a successful startup: to start with good people, to make something customers actually want, and to spend as little money as possible. Most startups that fail do it because they fail at one of these. A startup that does all three will probably succeed.

And that's kind of exciting, when you think about it, because all three are doable. Hard, but doable. And since a startup that succeeds ordinarily makes its founders rich, that implies getting rich is doable too. Hard, but doable.

If there is one message I'd like to get across about startups, that's it. There is no magically difficult step that requires brilliance to solve.

October 20, 2006

Visa, Copyright Infringement, and the Power of Alternatives

I saw this story from the Times this morning on Digg and just now happened onto the surface of an interesting resultant discussion on Alex's blog about the relative dangers of corporate vs. governmental regulation:

Cat and I have an ongoing discussion on whether corporate vs. governmental regulation is more dangerous. She leans towards the corporate being the lesser evil, where I believe corporate regulation (that is, companies deciding policy, disregarding lobbying) is the greater evil.

Visa just announced their intention to block payments to the Russian music download site AllofMP3. AllofMP3 insists upon its legality in terms of Russian copyright law—but has promised a change in its business model, hoping for more international acceptance (of course, this will come at a price, as the downloaders are quite happy with the current system).

But is Visa's extreme measure to block payments to AllofMP3 acceptable? As a digg poster commented, Since when has it been Visa's obligation to judge business morality? While I believe that businesses should have models of moral obligation, decisions such as these should be questioned by general consumers and more closely examined by relevant subscribers. Business policies, and corporate morality policies should be easily available, and digestible to consumers, subscribers, anyone who wants them, really—public accessibility is key. Archives of past business and policy movements should be equally accessible.

My personal position is that on strict philosophical grounds, companies and governments are in the position to, and in fact are expected to, make moral judgements. Industry not dumping toxic waste into rivers or bars not serving liquor to six year olds are two relatively simplistic cases where government and corporate regulation overlap. Both may be against government regulations, but in either case, even if there weren't regulations in place, one would hope that the public as a whole would demand some level of responsibility on the part of the businesses.

The problem is when governments and corporations make seemingly moralist decisions that alienate their users, either by preventing them from doing things which they believe harmless or simply forcing them to align by association with platforms with which they disagree.

Is AllofMp3.com legal? I don't know. I'm not a lawyer, and I don't know where the money goes once I send it to Russia. However, if I like cheap music and Visa is "Everywhere I Want to Be", then something doesn't add up.

This, however, is where governments and corporations differ, even if they are holding hands under the table. Visa is an independent entity, and as such is free to make reactionary, moralist decisions, even if misguided. And as soon as they alienate enough of their customers, you can bet there will be a new player on the market, with lower interest rates and better service to soak up the profits. Capitalism can be ugly at times, but in its ability to turn sheer greed into a positive impetus, it's magical.

To some extent, the same is true of government, for which we must be eternally grateful. However, there are a couple of major differences. First, it's hard to perform a wholesale change of government without bloodshed. If Sprint pisses me off, I can always switch to Cingular, but if George Bush pisses me off, the only things I can really do are complain, leave the country, or start a revolution, none of which manage to be particularly attractive or effective. There is impeachment, but historically that is roughly as common at the presidential level as revolution.

The other difference is that, truth be told, the first responsibility of an American business is to its own interests, while by the best definition we have, the first responsibility of the American government is to our interests. Now where the situation gets murky of course is that in order to protect its own interests, a company must also protect its customers interests. But that is a secondary objective, not the primary. So finally, here's the point. I don't think Visa is evil.

I think Visa is wrong.

In doing what they feel necessary to in some way save their own asses (and I don't want to hear the same people who preach how moral-less and greedy corporations are now all of a sudden decide that they are driven by some arbitrary moral agenda), be it from future regulatory action from the government, future lawsuits from the RIAA, or future backlash from customers that sincerely respect the value of copyright (doubtful), Visa has continued what could easily turn into a major miscue. Conservative policy and mediocrity are the bane of passionate users.

This isn't the first time credit processors have made a moral distinction. The vast majority of credit card issuers haven't served Internet gambling sites for almost as long as there have been Internet gambling sites. An entire industry has formed largely around this decision. Companies like FirePay and Neteller stepped in to fill the void (and make a substantial profit) almost immediately. And now, due to increased scrutiny by the U.S. government and, of comparable relevance, the fact that these two startups have grown into large, publicly traded corporations, they are on the brink of stepping down as the feeding tube for Internet gambling.

But what will happen? The gambling sites will not be starved by any stretch of the imagination. The current payment processors will either reconsider their stance or fade into the background, largely marginalized without the differential from traditional payment services (like Visa) created by the very black and white willingness and non-willingness to accept gambling transactions, and newcomers will step up to fill the void. No amount of legislation or threats of prison time or even death can keep an entire world of people from seizing an opportunity to make quick millions. Whatever the potential penalty, there will be a supplier — just not a publicly traded one.

The problem from Visa's point of view is that It's easy to fall into the trap that only a few people are hurt by any of these decisions. First, each group is much larger than one might think, and secondly, the disenfranchised groups add very quickly and tend to be vocal. It's much like the downfall of President Bush's approval rating. A chip at a time, one small group of Americans at a time, he lost support, all the while failing to realize or at least care that he was sliding down the side of a mountain from a pinnacle of popularity to the current widespread disapproval. That's what will happen to Visa if this trend continues. If Visa suddenly decided that drinking is bad and that Visa will not be accepted in establishments that serve alcohol, what do you think would happen to their membership?

This feedback loop is key to maintaining control over both government and private interests, but the public can only react to what is seen. And there are two equally important sides to this absorbtion of information — production and consumption. If either side is lacking, this massively parallel system of checks and balance breaks down. The tendency is that peoples' alarms are triggered and things change before it is too late. But admittedly, that works every time...until it doesn't.

Pay attention, and if you do nothing else — think.



The upside to all of this? I visited allofmp3.com and at first glance I have to respect the approach. The site design is adequate, but the interesting part, and the part I would like to see adopted elsewhere, is that you pay for what you get, in terms of quality. Well, lets say bitrate. You can judge the quality of the music for yourself.

For example, say I want to buy Diddy's new CD (I don't). If I just want to hear the tunes at a decent quality (128kbps), I can get the 19 songs for $2.42, or if I will tolerate still lower quality and don't care to have my own copy, I can listen for free. If on the other hand I must hear every nuance, I can pay $5.21 and get 320kbps (near CD quality). That's choice, and that's what I like to see. For comparison, in terms of data per dollar, allofmp3.com is still more expensive than a CD, with the cost of Diddy's CD extrapolated to PCM bitrates ringing in at just over $26 (based on the allofmp3.com 128kbps MP3 price), twice the cost of the physical CD on Amazon. Care to do the math on a "legitimate" online music store?

October 21, 2006

Online Gambling Goes Underground

This week's BusinessWeek published a good analysis of the recent online gaming legislation.

However, depending on how the bill is implemented, it may not be that much more difficult. After all, online gamblers already had to have e-wallet accounts set up in order to gamble. "Dr. Pauly," for one, is betting that the law won't stop many. "It will be a nuisance, but if one site goes down a new one will pop up," says McGuire. He compares it to the illegal poker clubs in Manhattan that are closed down by police just to reopen in a new apartment building several weeks later. The night before PartyPoker stopped accepting U.S. bets; McGuire received an e-mail about a new New York club willing to take in some of the ousted players on an invitation-only basis. "One of the poker clubs goes down, another one will come up," says McGuire. "I have no intentions of stopping."

October 29, 2006

Suspension

Last week for my workshop in industrial design, our assignment was to create a puzzle — essentially anything that involved interlocking pieces that were created using NYU's laser cutting service. I decided to explore structure by designing and building a suspension bridge made from KEM playing cards, which are regular, professional-grade playing cards, made of a very flexible yet durable cellulose acetate plastic. I was very happy with the result, shown below. The design easily holds loads like model cars and is a good depiction of the basic principles behind the design and engineering of the structure of suspension bridges.

Suspension bridge made of playing cards.

Next up: a cardboard chair. The experience of designing and building the bridge should definitely be a big help as the problem is much the same, of obtaining structural strength from very flexible material, although I have plans to use a completely different type of structure to obtain the necessary strength and appearance. More to come...

NewsViz (v.0.0.1 alpha)

NewsViz is an application I am working on for Mainstreaming Information, a class on information visualization at ITP. This is an early prototype, but the goal is to allow people to easily compare the outputs of various news outlets in order to compare and contrast the "facts" from each.

There are many additions and refinements on the way, including improved navigation, visualization of relationships between keywords, and the ability to easily navigate to the full content of any story, but in the meantime, feel free to take it for a spin and contact me with any comments or suggestions.

NewsViz screenshot (alpha)

Music

Where am I?

Recent Photos

Powered by
Movable Type 3.35