Ottawa Threatens Privacy Rights

Posted on June 18th, 2009

Most of the national media outlets have covered what I watched on CPAC today.  Rob Nicholson (Attorney General and Min. Justice) and Peter Van Loan (Min. Public Safety) tabled legislation which is allegedly meant to empower police with greater capacity to fight cyber-crime.

It’s hard not to feel fatalistic about this kind of legislation - it seems this kind of curtailing of Court oversight in law-enforcement is a pernicious ideology that pervades the Conservatives, for reasons that aren’t entirely clear.

While I’m obviously not opposed to enabling law-enforcement bodies do their job of apprehending criminals - I am suspicious of any law that might provide them with increased autonomy. The RCMP has an astonishing degree of latitude afforded it already and increasing their freedom at the expense of citizen rights subverts the very purpose of the police.

Of course the conventional boogey-men of the internet are trotted out again to provide a pretext for what amounts to systematic constraints on our, that is Canadian’s, right to privacy and presumption of innocence. Child molestation, fraud and identity theft - this apparent torrential storm of cyber-crime is difficult control under the existing framework, at least that’s what the RCMP lobbyists would have you believe.

There is little explanation as to how this legislation will manifestly improve the capacity of police to catch cyber-criminals. The kind of data they would gather can, in no way, positively associate a crime with a given person. Server logs, access records of IP addresses etc. are at the very best, circumstantial, at worst ambiguous and muddying rather than implicative.

I suspect that this legislation is met with enthusiasm by media companies - particularly Rogers and Bell-Globemedia. Buttressed with seemingly inevitable copyright restrictions mirroring the American Digital Millenium Copyright Act, this act actually provides subsidy for these corporations to develop the infrastructure required to investigate and prosecute alleged copyright infringers on a grand scale.

Our Most Valuable Minds Think In Systems

Posted on June 9th, 2009

To some this may seem patently obvious but it’s worth repeating that, throughout history, those people we (in this case “Western Civilization”) hold in the greatest esteem are those that think in and about systems.

These days the best paid employees are CEOs, doctors, lawyers and software developers among many others. These people specialize in systems. CEOs are concerned with the systems of productivity and profitability. Doctors are concerned simultaneously with the body as a system but they are also responsible for the proper functioning of our health-care system. Lawyers provide the generative constraints on our social systems. Software developers construct virtual systems for interaction, commerce and information storage.

It is puzzling then that our education system, and in fact our society. Lacks any sort of operable understanding at a general level of how different kinds of systems are structured and how they function.

Globalization to many scholars is the symptom of a greater struggle between two opposing kinds of organizational structure - command-and-control hierarchies with decentralized networks. This struggle is manifested in many proverbial (and often literal) battlefields.

How then will we grapple with teaching a new generation about how systems work? Or will this knowledge by the purview only of an elite professional class of people lucky enough to have learned the concepts?

Why Systems Theories Matter

Posted on March 31st, 2009

Systems theories, that is, the mathematical models that account for various behaviours of interacting elements are noticeably absent from any discussion, particularly within the social sciences here at UofT.

Thomas Homer-Dixon was an innovator in introducing the concept of complex-adaptive systems to the discourse of young undergrads doing Peace and Conflict Studies. Anatol Rapaport before him bestowed upon his students the mixed-blessing of a comparatively rigorous examination of game theoretic models of strategic agency.

What these men recognized is that there must be tools to understand abstract commonalities between seemingly disparate eventualities. The ultimate goal of history, after all, is to let us learn about the future by examining the past. It astounds me then, that historians steep themselves in factual accountancy rather than examing constructs for identifying patterns.

Just recently I wrote a paper on how dynamical systems theory can account for Jack Goldstone’s framework of analysis of revolutions. Goldstone gestures at the possibility for revolution as an emergent property but he fails to account in the readings we were given for what kind of system this emergence is coming from.

Dynamical systems theory appears nowhere in my Peace and Conflict literature, or any of my political science courses. It was introduced to me in my Cognitive Science class - a class no more connected with the mathematical particulars of dynamical systems theory than peace and conflict studies.

This may seem ironic, or even hypocritical given my previous entry decrying the inadequacy of abstract models at offering solutions to the most pressing problems of development - alluding to Hiediggerian functional fixation and framing issues.

The cognitive framing problem abounds in the social sciences - what start out as heuristics in undergrad become immutable laws of reality in the professional world, with no account as to hardening.

Competitive processes must be at play when examining issues of political or social import. On the one hand, we must be increasing the efficiency and applicability of our solutions - seeking the best solution for particular problems. The kind of hyper-contextualized thinking I said needed to be explored in my previous entry.

Conversely, generalizability and pattern coagulation and integration are also important processes. How can we identify relevantly similar characteristics and frame our problem-space, let alone our potential solution space if we have no basis for connecting two contexts. This is where innovation happens.

Thusly, a professional endeavour of any social scientist is to engender an appropriate governing mechanism for emphasizing one cognitive style over another. It is only in this way that sagacity in situations of apparently iredeemable conflict can emerge.

The only problems we face are ill-defined problems - insight is required and thus a disciplined process of cognitive annealing is needed to avoid functional fixation of the disasterous sort seen in the United Nations.

Systems theories, like any other theory allow us a currency of discourse that is otherwise unavailable. This compression of information accelerates and expands thinking - which can do nothing but help foster more and better solutions to the pressing problems of our time.

The Web Changes What We Expect From Media

Posted on March 6th, 2009

Journalism was born out of intellectual curiosity and maintained by intellectual laziness.  When Johann Carolus gave us what we understand today as the first printed newspaper he did so to provide a way to disseminate knowledge rapidly, asynchronously and persistently. It allowed a small group of authors to rapidly distribute information they thought everyone should know about with a strong emphasis on the timeliness and temporality of said information.

This is the same story for the modern web - except that small group is now a single person and that “everybody” is no longer figurative. Many people have said that the web is an enabling technology as profound as Gutenberg’s printing press. The printing press, like the web, was initially considered a novelty and didn’t really find its legs until its net effect had taken hold - mass literacy. When everybody knew how to read, books became the primary mechanism of information transfer.  Marshal McLuhan posited this lead to a monopoly of the alphabet - where the letter supplanted the spoken-word as the primary communicator.

Journalism, that is the process of compiling information and articulating it for a community of consumers, before Walter Lippman and John Dewey had their say, was simply about communicating facts to a group of people.

Journalism has become, however, a method of maintaining the appearance of worldliness at a convenience. It took the rigor and difficulty out of information and allowed people to understand and contextualize events - to read the immediate unfolding of current-events like a history book.

Without getting overly Marxist all up-ins “the media,” that is the media-industry and its social-class corollary quickly dismantled the necessity for people to think critically. The media classified their audience into aggregations of mutually compatible opinion groups and delivered material to reinforce these classification schemes. It takes a scintilla of factual truth, usually isolated and frequently uncontroversial - and places it in a contrived context to reinforce predetermined political, social or preferential biases (which exist as a synthesis of the political agenda of media corporations and the demand of their consumers).

Newspapers cling, to this day, to a laughable pretense of objectivity. An historical absurdity which has been dismantled, in drastically different ways from people as diverse as Noam Chomsky and Joseph Goebbels. To deem centralized institutional media as any sort of arbiter of fact, truth, reality or correctness is patently fatuous.

People like Andrew Keen cling to an archaic method of imperative reality - it’s true because we (the elite) say it is true. This was, for almost two millenia, an efficient and effective way of establishing a consensus - everyone was on the same page when it came to how the world worked because we all listened to the same people. If we didn’t, we went to war with each other.

The internet, and specifically the web, and the kind of social perception it engenders, greases the wheels for consensus reality. The “web-generation” isn’t called that simply because of the technology we’re using (that is a mulligan in the generational narrative).

People who use the web view society differently from those who do not, dramatically differently. Self-identification and mutual discoverability, which is taken to new extremes on the web, enables a fundamentally different kind of social interaction and self-perception.

Think about the differences in the interpretation of such concepts as “community”, “like-minded”, “friend”, “dialogue”, “openness” that the web has and can enable - this kind of change in perspective is irrevocable once it has transpired, when one “gets” the web one can never go back.

What we can consider fact, or true or even believable has been undermined by instantaneous transfer of information. Nobody can be considered canonical, if Wikipedia (edited by tens of thousands of dedicated supporters bent on veracity) is unreliable then so is everything else.

What newspapers rely on now to justify their existence, are the Aristotlean “incidental” qualities. Those things which are consequential of newspapers qua newspapers but aren’t definitional. They are large format, consume no electricity to read, portable, amenable to advertising placements and consequently (for some) quite lucrative.

Yomiuri Shimbun retains the highest circulation of a daily, paid-for newspaper in the world. Its Alexa rank is 735. The highest Alexa rank for a newspaper website is 91, retained by the New York Times. One must go well below the ranks of all the major social networks, and most of the big-name blog hosts (Wordpress, Blogger, Blogspot and Livejournal) to get to NYT. Wikipedia, is however, ranked 8th by Alexa - an Amazon property dedicated to tracking the relative popularity of websites.

If the New York Times really does give us all the news that fit to print (newspapers have condescension integrated even into their mottos), why then does NYT get two-thirds the traffic of CNN.com? Surely the world demands the rigour, expertise wisdom and insight proffered by the editorial staff of the NYT and newspapers of its ilk. Americans have used the TV as their primary source of news since 1963, the glitz and multimedia nature were used to explain the appeal. On the web, no distinction necessarily applies.

Perhaps, however, the world is getting messier. Perhaps there is an awakening of the fallibility of expert opinion (that is, in the case of mass-media opinion provided by a purported expert).

The mythology was the journalist was the citizen-ally against the potential corruption of our ruling elite, then it became our surrogate watch-dogs against our democratic leaders. They were, the story goes,  an essential pillar in maintaining the most important (and only essential) element of good politics - transparency.

Now, thanks to Chomsky and others, they are regarded merely as one more vested group. Owned as they are by large, vertically integrated corporations with extensive integration within government and private business. Media institutions are not our friends.

The principle threat is not from the blogosphere, mass-media is being eroded by newspapers themselves who’ve lost their way, their purpose and ultimately their reason for being.

Newspapers are made of dead tree. They’re falling without making a sound.

I’ve been reading a variety of treatises about proposed frameworks of understanding international development - the standard, virtually canonical literature such as Collier, Easterly, Krugman etc.

I’ve also examined the primary texts of the Millenium Development Goals and corollary literature, as well as the standard charter documentation of the World Bank Group and others.

What they, and scores of other institutions and organizations have in common is a pursuit of an abstract model for understanding the problem such that they can simulate it and thus test solutions which can then be applied to reality. The assumption, unproblematically accepted, is that an accurate simulation and abstraction means the reality is understood.

Often the solution predicates the model; such as the Marshall Plan becoming, however transiently, the model for international development amongst the western world.

There is a profound problem with this as any engineering student can tell you - abstractions don’t problems, and solutions built into unreliable or erroneous simulacrum are problematic, ineffective and often damaging. They build the scale models out of chip-wood and card-board, they construct the buildings out of concrete and steel, there is both a quantitative and qualitative shift.

International development is a combination design and engineering problem - both in the literal sense of technological innovation, but also in the philosophical sense of developing solutions and identifying principles of applicability.

Plain example, few people would dispute the utility of the hammer as a tool, and thus as a solution. It’s often seen as an indispensable tool for anyone who works in construction and thus should be taken nearly everywhere.

However, availability and implementation are often indistinguishable when it comes to solutions in international development. That is, it’s very costly to have a variety of solutions readily deploy-able within a nation and thus one must be judicious in selection in light of tightly limited resources. These resources, notably, are getting tighter in the contemporary economic climate.

So solutions, such as micro-credit, which thanks to Yunus and the Grameen bank have been a boon to legion Bangladeshis, must be seen as a hammer - a single isolate solution in a specific context.

A hammer, one can easily forget, is a extremely contextualized solution - it requires a nail, material amenable to nailing and stresses on the material amenable to nailing - the fixture of materials is the solution, just as providing means for entrepreneurship is the solution, not the credit itself.

That’s why micro-credit finds itself stalling elsewhere, such as Uganda or Sierra Leone. These places lack the population densities and the social norms expected of the model - the nails, materials and stresses.

On the one hand, international development practitioners, NGOs, CSAs, IGOs etc., develop contextualized solutions which frequently fail utterly to replicate outside the narrow conditions of the original. On the other hand, international development scholars identify global trends that frame the issue of international development is a unified homogeneous gestalt - which if taken as describe is beyond the capacity of a dedicated fraction of humanity to abate, let alone solve. As the Millennium Development Goals would indicate.

International development is plainly an engineering and design problem - more literally than figuratively. Amy Smith and her D-Lab’s solution for charcoal fires in Haiti, for example, demonstrates the kind of impact a combination of insight, education and technology can render on a community and then a nation. Solutions like the Solvatten, and yes micro-credit are profoundly important.

The issue is, there is little in the way of a catalogue, of problems and solutions. There’s no easy way for a agriculture engineer to look for descriptions of problems sorted say, by number of people affected with contact information of a stakeholder and immediately get to work developing a solution or to contact people who are already working on a solution to see how they can contribute.

Further, there’s no simple way for an aid worker with a particular problem to find a catalogue of solutions with descriptions of existing implementations and specifications for requirements. What education is needed? What are the pitfalls of this strategy? How long has it actually taken and what were the estimes? What was the scope and scale of deployment?

Such domains for problem and solution interchange, discovery and synthesis are sin qua non in software engineering, it is the primary and most salient virtue of open source development.

The average person cares little whom solves the problem and care tremendously more about whether the problem is solve and whether the solution is sustainable.

Programs such as Cameron Sinclair’s Open Architecture Network and Amy Smith’s courses at MIT are good starts.  We need more and these meta-innovators need to form an integrated community themselves to share knowledge - and on it goes.

The issue isn’t that the information is hidden, it’s that it’s disorganized and massive. The amount of open Academic literature available is paltry, and what is accessible and recoverable is largely out of date. Most of the cutting-edge material is still controlled by proprietary academic publishing houses - keeping it out of the hands of African and South-East Asian academic institutions (among others). While open scholarship will go a long way to get the information to the people with the circumstance and motivation to act on it, I think simply churning out literature is insufficient since it doesn’t address the underlying issue of quickly identifying and resolving problems in a highly contextualized fashion, while keeping the “customization costs” near zero.

What exactly the tools would be and what form they would take elude me - but I think it’s an important question and I think part of the answer lies in the open source movement and the tools (both technological and social) it has developed to handle the informational and labour scope, complexity, diversity and atomicity.

Early Web 2.0 Startups - Where are they now?

Posted on February 21st, 2009

In Feb 2006, a thoughtful Flickr contributor named Ludwig Gatzke, uploaded a graphic. It was basically a big collection of logos of Web 2.0 companies. I thought it would be interesting to see what happened to all these various start-ups in the last few years.

So I’ve edited the graphic by fading out those start-ups that are no longer with us.

Graphic of Web 2.0 Start Ups

The methodology for this was simple, I typed in the URL for the company, failing that I Googled the company. If I didn’t find anything relevant on Page 1 of the Google results I marked it as dead. I also marked as dead sites that are “under improvement”, still in closed beta-signup or otherwise not immediately usable. Further, any company that redirected to another domain I marked as dead - so buy-outs/ups are faded as well (eg. Writely became Google Docs so it no longer exists as such).

There’s lots to think about in terms of what led to these companies disappearing - especially those that simply shut-down.

If any of these are alive and kicking, I’ll be happy to amend the photo, so let me know.

An increasingly common technique, I think appropriated from PDF and other document viewers (Google Maps?), is the draggable interface. http://www.fichey.com/ is a site that implements this navigation method.

This kind of thing allows for innovative two dimensional navigation, especially if you use Flash to make the movement fluid. Fichey and others that use a Flash solution miss a critical element, especially give the rather massive size of their grids - and that is bookmarking.

A simple solution would be to have Flash parse the GET request to look for a “coord” value. If your site implements so-called clean URLs, make the x and y coordinates the last sections in the URI.

That way a user can link their friends directly to the area in question and bookmark it to return to later - both a critically important to usability.

Why we need a code.gc.ca

Posted on February 8th, 2009

My good friend David Eaves wrote an exciting post wherein he talked about his vision for StatsCan and how it should act like Google.

I think that StatsCan, on its own, could provide some compelling and valuable data for citizens of all stripes by implementing simple, cheap and scalable web services via conventional APIs. However I think StatsCan alone fails to capture the potential in technology.

Taking the Google analogy further and perhaps more literally - I think the Government of Canada needs a centralized managed repository for all its open initiatives. From APIs to software projects and packages to documentation.

Models abound for this kind of service - code.google.com being the most salient and directly applicable.

By providing robust (bilingual) documentation of the APIs proffered by Statistics Canada (and other ministries) Ottawa could spur innovation nationwide. Value-added services, mashups, statistical models and the like would all be available to anyone with the determination and the skills required to make use of the data provided.

Taking it a step further, the Government could provide an eco-system for these projects. A greenhouse for projects that make use of government data or contribute or expand government services.

The savings this could bring to the government’s TCO for software would be tremendous. The cost of staffing an open source community management bureau would be a fraction of the expense paid out to extortionist software vendors. Even if the government outsourced the maintenance of this project to a company, the cost savings would still be significant.

If the government developed robust and transparent standards for security, provided code and tools to develop applications - the issues of security and usability would be minimized.

By providing incentives for development of specific projects and fostering a community of recognition and respect the government can use its most valuable assets, trust, knowledge and influence to drive innovation.

The infrastructure required to build this is peanuts by governmental standards - a rack of servers, a high bandwidth internet connection and a horde of politically minded software nerds (some of whom speak and read French).

To start out, the working group should look like this:

6 developers with experience in open source. Two should know .NET, two should know Java EE and two should be web app experts - PHP, RoR, Python etc. They write foundational code, submit updates to the code bases and handle bug fix delegation etc.

1 project manager - this is our big-picture thinker, tie breaker and bean-counter. The Boss-Person.

4 community managers to wrangle the community projects and facilitate community leaders.

2 government liasons. One should be techie and the other political but both should be competent in the other discipline.

2 UX people, these people ensure applications comply with usability and accessibility guidelines and give guidance to the designers in the community.

3 Tech writers. These people document code and APIs, write tutorials and construct videos and other media.

So that’s 18 full-time, high-quality tech people - that’s probably about a million dollars per annum in costs all told,  the value generated by the team would be tremendously greater than that.

One of the worst kept secrets to the growth of the developing world is the massive financial aid pouring in the form of remittances. Huge diaspora populations in the developed world send money back to their countries of origin in the form of remittances - often a single worker supports a multi-generation family in their old homes.

In Africa, for example, remittances have outstripped Foreign Direct Investment in dollar count for half a decade. FDI in 2005 total $15 billion USD for the entire continent, whereas remittances totalled $17 billion. While these totals are over-shadowed by the $25 billion dollars in official development aid (which is mostly spent on humanitarian subsistence projects.

The millennium development goals and many other models for global development indicate that Africa must receive nearly double the inflows of cash to attain sustainability of the MDG outcomes; so every dollar counts.

The synchronized global recession puts these remittances under severe threat. The risk to labour jobs is stiff, and those jobs under the greatest threat are those disproportionately filled by immigrant workers. Moreover, the financial protectionism that is very trendy in political circles (particularly American) puts at threat the typical channels through which remittances are made.

Changes to the legal framework of financial structures could render such remittances illegal or infeasible, cutting off a huge source of funding for Latin America, Africa and SE Asia.

What was the fastest growing source of international finance for the developing world is under significant threat by the global recession - we must be very careful when recommending financial policy that could place these mechanisms under threat, we may have to pick up the tab down the road and it will have accrued interest.

Parallelism for the Uninitiated

Posted on January 27th, 2009

Unless you possess a degree in computer science or a related discipline or spend your free-time immersed in technical manuals like I do it is unlikely you’re aware of the epistemic crises facing software developers.

That is the issue of parallel processing, also known as concurrent processing. The basic theory of parallel processing allows for multiple operations to be performed simultaneously on different processors and the results to be combined and returned.

This is contrast to how processors have typically worked unto now, which is sequentially. A processor (such as the Central Processing Unit or CPU in your PC) performs operations in strict linearity - one step precedes another. Computers give the appearance of simultaneous activity by switching rapidly between each application’s processing tasks. Modern PCs can also offload certain types of processing by delegating it to specialized hardware - graphics processing goes to your graphics card, sound to your sound card etc.

Parallelism exists not because of some brilliant innovation in computing science, it exists because there hasn’t been a brilliant innovation. The amount of computing power available in a fixed amount of space, that is in a single chip, has a ceiling and we have essentially reached it.

You may have heard the marketing terms “multi-core” processor, such as Intel’s “Core 2 Duo” - these processing units add additional processors rather than making the one single processor faster.

The problem arrises because the way software is engineered prevents any sort of linear performance boost - for each processor you add you’ll experience a logarithmic decay in performance as each processor must coordinate its tasks with the other processors. Obviously this doesn’t happen, instead you simply get no performance enhancement despite the extra billion switches in your box.

Software isn’t engineered this way because there aren’t many commonly used languages that support parallel processing, moreover parallel processing isn’t merely a superficial change to phrasing  - it’s an entirely different architectural paradigm with which to architect software.

The holy-grail in computing research is to automate the process of parallel processing conversion from serially conceived software. Currently there is no such process that is commercially feasible.

C, C++, Java, PHP, COBOL, Ruby are all descended from the same serially premised roots. In the same way object-orientation revolutionized programming - pushing all but ANSI C to the procedural fringes, parallel processing will likely cause many languages to be abandoned.

What does this mean to consumers? Aside from the curiosity it presents, one can hope that it means very little. No hardware on the market is designed to truly take advantage of parallel processing even if though there are a few languages that support it. In the future it will likely mean an initial up-tick is shoddily made software as the current-generation of software programmers are forced to relearn their trade.

I suppose one could hold out hope for the 15 Ghz 100-Watt single-core processor, but I’d sooner wait on cold fusion or quantum-computing.

On the other hand - this does give another chance for small-businesses and obscure geniuses to break into a whole new market. The accumulated girth of the code currently available could be shed - the best applications would be ported over quickly and the rest deprecated, it could be seen as an industry-wide refresh. This means those otherwise intimidated by the dizzying array of platforms and tools (talk to anyone learning C++ or Java from scratch) might find it more enticing to get in on the ground floor.

While Parallel Programming models are being deployed in contemporary languages, these seem (to my illtrained eye) to be inappropriate bolt-ons to satisfy programmers enamored with a particular syntax.

Curiously, one of my favourite languages has supported parallel processing for more than a decade, Ada - the friend of anal-retentive high-integrity programmers the world over. Parallel processing is far from a new concept, it has its roots in the days of reel-to-reel tape media, room sized Cray machines and the computational hegemony of Lawrence-Livermore Labs.

Which language will be the next C? Will Haskell’s initial popularity carry it through? What about Castle’s impressive innovations? Sun certainly knows how to make a language. How about IBM’s X10? or good ole Cray’s Chapel?

Ultimately parallelism is the way to a new generation of ultra-fast computers. These machines will be not just folding proteins but simulating gene-expression, modelling the biosphere, monitoring the market, predicting the weather, encrypting data and of course….calculating really big prime numbers.