Saturday, May 7, 2011
Preview: IPRO 315 Devblog
Monday, May 2, 2011
Projects In, Finals Incoming
Sunday, April 24, 2011
Short Story: The Luddites Were Right
The Luddites Were Right
I was considered an expert on the subject of, 'Computers and Terrorism', but that all changed recently. The irony was not lost on me as protester's cries of 'Luddite!' and 'Amish scum!' rang through the crisp evening air outside my window. It was the eve of The Continuity, that fabled day in which man became immortal, free from the needs and weaknesses of flesh. Raymond Kurzweil had been championing the idea for years. I suppose it turns out he was right, though wherever he is now, I'm quite sure he wasn't expecting this.
In the years leading up to that fateful day, I had frequently, and publicly, clashed with the Transhumanist movement. I had argued that we didn't yet understand enough about the technologies underlying this momentous transition. The supreme arrogance of the inventor, that he, and he alone, truly understands the impact and implications of his creations, his children, had permeated the cult of Transhumanism. Gone were the days when people would step back and examine the implications of their innovations, unsure if their existence really brought something positive or fearful of potentially catastrophic outcomes. “Rubbish!”, they would say, “We've systematically considered the possibilities. An overwhelming majority of outcomes point to nothing short of Utopia. Your fears are irrational and rooted in the primitive 'fight or flight' mentality that kept your ancestors alive in a hostile world. Things are different now.”
They had lost touch with their humanity. With their full body prosthesis, they were nothing short of demigods with the outsized egos of the Olympians themselves. Technology had enabled them to become stronger, faster and smarter than any creature that had ever walked the earth before or since. The only thing that connected them to their previous fleshy existence was their brains, and even those had been so heavily augmented as to be unrecognizable. The Continuity would be the final step, the last barriers to true godhood had been overcome at long last.
Leading the charge was prophetically named Icarus Foundation. As the most profitable corporation in the world, with cash reserves an order of magnitude greater than that of the recently established global government, the Icarus Foundation had enough financial and political resources to shape the world as they pleased. They could have put it toward ending global hunger or curing disease or even to simply enrich themselves. Instead, they directed all their energy toward furthering the Transhumanist agenda. With it's board of directors populated entirely with prominent Transhumanists, it was easy to see why.
Their plan was simple. Offer everyone on Earth a chance to leave their bodies behind and join them in a world of ones and zeros. Free of charge, naturally. After years of research, they had developed a cost effective way to translate human consciousness into digital form. The subject would have a small device placed at the base of their skull designed to read record their brain waves as well as manipulate their senses, creating a virtual reality that existed only in their minds. In this virtual sandbox, they would be subjected to a wide variety of stimuli in order to create a kind of map of their brain. The map would be used to generate the necessary data structures and algorithms necessary to transfer a consciousness from a living brain to a machine.
Their initiative was wildly successful. With the world's population standing at roughly twenty billion people, the number of people willing to accept an offer at Nirvana and escape their life of poverty was staggering. In the end over ninety-eight percent of the world's population had their minds digitized and their bodies disposed of. After it's announcement, public sentiment was such that all opposition was quickly silenced under a hail of rocks.
However, I had misgivings about Icarus from the start. It's origins can be traced back to a Transhumanist terrorist organization known as Ascension. Without warning, Ascension staged a series of bombings around the world that killed hundreds outright with hundreds more dying of their wounds. Ascension's signature style was to coordinated their bombings with large scale attacks on the telecommunications infrastructure of emergency service providers to hamper their response. In the aftermath of each attack, a letter written in ASCII art would be sent to the authorities. The message was simple: Flesh is fear. Fear is weakness.
Ascension disappeared from the scene as abruptly as it had appeared. This coincided with the establishment of the philanthropic Icarus Foundation. Funded by an anonymous group of wealthy donors, the Icarus Foundation quickly became one of the world's leading aid organizations. Following that success, it began acquiring large numbers of technology companies, eventually transforming it into an economic juggernaut. It's motto: Fidens Sum Vere Licens. Without fear I am free.
Although not publicly known at the time, one of the first companies it acquired was run by former members of Ascension. Having been able to evade the global hunt for the perpetrators of the Ascension bombings, the perpetrators simply faded away. After its acquisition by the Icarus Foundation, it was integrated into the division responsible for developing the artificial intelligence the would greet the newly “ascended”. The A.I. would act to gently integrated people into a world where the five traditional senses had no meaning, an understandably jarring transition.
Everything went well for a time. Then Murphy's Law reared its ugly head. The most extreme members of Ascension came to believe that the only true freedom from weakness lay in chaos. Taking the concept of entropy to the extreme, they introduced a parasitic bug into the A.I. that greeted every newly digitized human being. The bug would gradually corrupt all the data that comprised a person's digital identity. Interactions between those on the outside and the “ascended” gradually became erratic, degenerating into bursts of random data until they finally ceased all together. Then one day, the all lights simply disappeared.
In the end, those who gave up their bodies to join The Continuity got what they wanted: freedom from weakness. It had only cost them their lives. As for me, well, those cries of “Amish scum!” I heard outside my window all those years ago turned out to be prophetic as well.
Friday, April 22, 2011
Sunday, April 17, 2011
Learned Today: Small Caps
Friday, April 15, 2011
Power User or e-Slob?
Thursday, April 14, 2011
Technical Interview Fail
It is a simple problem, one that any first year Computer Science student should be able to solve with ease, let alone a fourth year graduating senior.
Problem: Develop an algorithm for a function that takes an array of integers and an integer containing the size of that array. Remove all the duplicate values from the array. Return the size of the array. That is, the number of unique values in the array.
Constraints:
- You may not use use any additional data structures. Local variables are allowed.
- Valid data must be in a form that is accessible using only the value returned. That is, using the number of unique values in the array, it must be possible to access only the valid data within the array.
- Declare a variable to count the number of duplicate entries
- Starting with the first element in the array, compare it to each other element.
- If they are equal, then the second element is considered the duplicate.
- If a duplicate element is found, it is swapped with an element from the back of the array.
- Continue until the element you are comparing is a duplicate element. That is, the index of that element is equal to the size of the array minus number of swapped items minus one.
- Return the size of the array minus the number of duplicate items.
- Declare variables to count the number of duplicate items and the array position (index) of the last (furthest to the left) duplicate value. Initialize them to 0 and -1, respectively.
- Compare each element with its neighbor. If the first two elements are the same, the right one is considered the duplicate. The last duplicate is now at position 1.
- After this, continue comparing elements with their right neighbor.
- If a unique element is found, copy its data to the position of the last duplicate. If there is no last duplicate, do nothing. A unique element is one where it's right neighbor is does not have the same value.
- If a duplicate element is found, the current element is considered the duplicate and its index is stored as the last duplicate. Increment the count of the number of duplicate elements found.
- Continue this until all elements have been compared.
- Return the size of the array minus the number of duplicate items. The array from index 0 to index array size minus number of duplicates minus one contains sorted, unique values.
Tuesday, April 12, 2011
Thursday, April 7, 2011
Sunday, April 3, 2011
Friday, April 1, 2011
Infield Defense
Thursday, March 31, 2011
Belt Belt Belt Belt Belt
Tuesday, March 29, 2011
Voting For Meaningless Things
- Randomly picking candidates