Running Code Wins
Tuesday, December 24, 2013
The blogosphere was better than the current Web
We need a return to independent platforms, with features designed, prototyped, developed, and spread by authors and editors, rather than by CEOs and marketers.
Social Media is liberating, and has led to a magnificent proliferation of voices. But we're seeing a new age, as the major corporations behind the sites we've grown dependent on go public, and shareholders' needs begin to dominate those of authors and readers.
Publishing on the Internet is still far from settled. We can still create the IndieWeb we all deserve.
Who's disrupting the disrupters?
Monday, December 2, 2013
More reading notes
"The three faces of City 2.0"
by unattributed / Paris Tech Review 2012.05.09http://translate.google.com/translate?hl=en&sl=fr&tl=en&u=http%3A%2F%2Fwww.paristechreview.com%2F2012%2F05%2F09%2Ftrois-visages-ville%2F&sandbox=1
"New experiences like Songo also raise the question of individual freedom. In a city where everything is connected, the idea of privacy is not it default setting?"
With existing infrastructure like 4G phones, cctvs, pervasive netowrks, sensors, etc, "the city is, in fact, already digital"
"More than the threat of a widespread surveillance, then it is the collaborative practices that define the digital city."
Rise of 'web 2.0' as a term: "Without major technical changes without central decision, a set of new tools (blogs, RSS son), new platforms (social networks, video sharing sites), new practices, both among providers and users, have transformed the place that the web plays in the lives of millions of people."
"The people become "co-designers"." end the central monopoly on urban design and planning, involve more citizens in shaping their city. the technology enables, but is not primary.
"The development of ICT, far from the city dissolve or free ourselves from the physical constraints on the contrary has reinforced the need to be in space." technology has made location and physical place more important (within the city)
Access and representation: "the data collected through the sensors will inevitably biased, and at the same time it is difficult to imagine that local governments do not use it to build their policies. The risk therefore exists only refer to a citizen idealized - a virtual citizen, in both senses of the word." - Jacques Levy
Against the Smart City
by Adam Greenfieldhttp://urbanomnibus.net/2013/10/against-the-smart-city/
Deconstruct big vendors' ideal: “Several decades from now cities will have countless autonomous, intelligently functioning IT systems that will have perfect knowledge of users’ habits and energy consumption, and provide optimum service…The goal of such a city is to optimally regulate and control resources by means of autonomous IT systems.”
omniscience, infallability
me: a quest for the technical perfection of public policy. requires perfect translation and implementation of these systems, in light of heclo's "iron triangle." in my metaphysics, perfect translation is unattainable. system would further be subject to imperfections magnified by absolutism pointed out in lessig's "code"
"We act in historical space and time, as do the technological systems we devise and enlist as our surrogates and extensions. " - how Latourian!
Argument: perfect knowledge is impossible
- heisenberg, can't observe perfectly
- only capture things amenable to quantification
- actors may change their behavior to distory recorded data
- humans in the system will misuse the data if possible
"The Siemens scenario amounts to a bizarre compound assertion that each of our acts has a single salient meaning,"
me: i'm not sure i agree with this claim
" which is always and invariably straightforwardly self-evident — in fact, so much so that this meaning can be recognized, made sense of and acted upon remotely, by a machinic system, without any possibility of mistaken appraisal."
"“the data is the data”: transcendent, limpid and uncompromised by human frailty. This mystification of “the data” goes ... unchallenged"
"Perceptions of risk in a neighborhood can be transformed by altering the taxonomy used to classify reported crimes ever so slightly." http://urbanomnibus.net/2013/10/against-the-smart-city/foryoutou.se/oaklandcrime
Making data "neutrality and dispassionate scientific objectivity." is a particular political expression (me: and a cheap rhetorical trick meant to silence criticism)
"would seem to repose an undue amount of trust in the party responsible for authoring the algorithm." - me: need for visibility and insight into the system making the decision as systems move from decision support to decision making (ie completely autonomous systems)
"the element of the arbitrary we see here should give us pause"
"the authorship of an algorithm intended to guide the distribution of civic resources is itself an inherently political act."
"some easily-measured value used as a proxy for a reality that is harder to quantify, and again we see the distortion of ostensibly neutral results by the choices made by an algorithm’s designers"
me: operationalization and methodology are risky, hard to get right even under favorable non-adversarial circumstances, and both are subject to deliberate manipulation
Greenfield picks up on the word 'goal':
"What is being suggested here strikes me as a rather profound misunderstanding of what a city is. Hierarchical organizations can be said to have goals, certainly, but not anything as heterogeneous in composition as a city, and most especially not a city in anything resembling a democratic society."
(me: I read Siemens' phrasing here as 'goal of implementing this city design is to have a city capable of the following' - that is, the goal is adopted at a point in time by a group of actors (a city council?), similar to adopting a master plan. i don't read it as meaning a permanently chartered goal, which would seem to go against the democratic spirit Greenfield appeals to)
Saturday, November 30, 2013
readings in tech and urban design
the data city
by jack self, 2009.10.04http://millenniumppl.blogspot.com/2009/10/data-city-jules-verne.html
a critique of http://www.thingsmagazine.net/2009/10/on-battlesuits-collage-city-seeking-and.htm
linked to...
On battlesuits, the collage city, seeking and remembering
unattributed via things magazine, 2009.10.01http://www.thingsmagazine.net/2009/10/on-battlesuits-collage-city-seeking-and.htm
Makes the claim "The modern city is the data city."
"The data city of the future will be unnavigable without technology, granted..."
Speculates about role of changing patterns of information consumption & memory
linked to...
the city is a battlesuit for surviving the future
by matt jones, 2009.09.20http://io9.com/5362912/the-city-is-a-battlesuit-for-surviving-the-future
Archigram, a 1960s "protoblog" architectural collective actant
"cities as systems, reflecting the contemporary vogue for cybernetics and belief in automation."
"people are walking architecture"
Adam Greenfield, Nokia design director: "a searchable, query-able city" - a read/write city
"Behaviour and information as the raw material to design cities with as much as steel, glass and concrete."
"chaotic sprawls of the industrialising world such as the "maximum cities" of Mumbai or Guangzhou. Here the infrastructures are layered, ad-hoc, adaptive and personal"
"Cities are entities that network outside of nations as their wealth often exceeds that of the rest of the nation put together - it's natural they solve transnational, global problems."
linked to...
the street as platform
by dan hill, 2008.02.11http://www.cityofsound.com/blog/2008/02/the-street-as-p.html
"The way the street feels may soon be defined by what cannot be seen with the naked eye."
"Each element of data causes waves of responses in other connected databases, sometimes interacting with each other physically through proximity, other times through semantic connections across complex databases, sometimes in real-time, sometimes causing ripples months later. Some data is proprietary, enclosed and privately managed, some is open, collaborative and public."
Quoth Archigram: '“When it’s raining on Oxford Street, the buildings are no more important than the rain”'
Data ephemeral like the weather (like Archigram's rain)
"So the more relevant question is how do the buildings and the rain of data interrelate?"
"Considering the non-visual senses might be a better analogy when it comes to perceiving the way data affects i.e. looking at the way the street sounds, feels or smells."
"Holes in data, public and private, may become more relevant than the pothole in the pavement - until you trip over it, at least."
re availablility of services, "a sense of fragility in the network, perceived but not comprehended by users"
Two possible future streets: "Locked down street", "Open source street"
Generativity: " Proprietary systems, while ideally suited to high-security purposefully-closed networks, are intrinsically unlikely to enable a form of creative aggregation and connection unintended by the owners and makers."
Localization of data:
"Intrinsic local detail will tend to require collaborative updates from local users themselves."
"An open approach to descriptive data can enable a far richer local dataset to emerge, more accurately conveying the sense of what the street is. It may also be patchy, however."
Commercial efforts are likely to be poorly adapted for local needs.
"This commercial development is a given, and often not related to those whose job it is to shape streets."
"The various information modelling systems - the building information modelling system; those conveying the state of local services; those broadcasting the presence of a bus - could be built with openness in mind. Why do this? In order to enable maximum coverage and to stimulate engagement and innovation, with occasional possibility for unintended creative use. And often, it's public data and therefore part of a civic relationship."
"Just as good street planning might leave a space open to possibility, and not over-prescribe its program, so informational systems can leave themselves open to possibility."
Re open analytics:
"The patterns of use in their data become as self-evident as that shortcut worn through the grass in front of the library."
"actually showing the seams of an object is far more likely to engender trust, engagement and appropriation."
=== thoughts:
we are architects, historians, geographers. sociographers, demographers, planners. social workers, teachers, counselors.
"As Reyner Banham said, when you’re running with technology, you’re in fast company - and you may have “discard the professional garments by which you are recognised”."
=== further reading list:
Adam Greenfield, Everywhere - on ubiquitous computing
Transmetropolitan - graphic novel, prototypal dystopian megacity future
Thursday, July 11, 2013
Tuesday, April 2, 2013
Thinking in Promises
Programming in promises requires thinking about type signatures.
Depending on your perspective, this is either a great thing or The Worst Thing EverTM
People who have programmed in statically typed languages before are used to thinking about parameter types and return value types. For these people, it is easier to reason about a function from a URL to a Response object in terms of
(URL) => Response
rather than (URL, (Error, Response) => void) => void
(using jsig notation). The former clearly expresses the expected input and output of the function, while the later only has input which is presumably being evaluated for its side effects.People who are used to programming in dynamic languages primarily aren't used to having to think in terms of types and signatures, so this additional overhead contributes to their perception of promises as being too hard, too mysterious, or too much to think about. Programmers used to thinking about types are already thinking about this, so this mental overhead is negligible, and the abstraction of promises makes code easier to reason about simply because it let's them reuse the abstractions, patterns, and mental models they're already used to.
My relativistic assertion is that neither approach is correct, just as neither The British
colour
nor the American color
is correct. This assertion is not without controversy, but neither are Promises. I appreciate the clarity that having type signatures gives me in communicating about code to fellow programmers (including my future self).Finally, I want to clear the air. There is an unfortunate amount of FUD on the side of some promise proponents, whom I've heard say things like "callbacks aren't composable". It is possible to do metaprogramming on callbacks, including things like control flow manipulation (parallelization), map/reduce, decorator pipelining, etc. It's just that this needs to be done either in an ad hoc way or using some purpose-built library like async (or any one of the dozens of other control flow libraries in npm). These are not always clear to reason about. I won't make any claims as to which is easier, but with promises, since they're just values, one can use the same value programming techniques like map and reduce that is typical in synchronous code.
Sunday, February 24, 2013
building F# compiler on Mac OS X 10.8 Mountain Lion
I had some trouble getting it installed on my machine, so this documents the exact steps I followed at the end of February, 2013, to get everything up and running. Initially I was following F# 3.0 in the Mac and Mono World. Dave's blog has a bunch of other great content which I recommend you check out.
- Download and run the installer for mono 3.x: http://www.go-mono.com/mono-downloads/download.html
In the console:
# Check installed mono version:
$ mono -V
# I get 3.0.4.
# add mono to pkgconfig path
# in your .bash_profile:
export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/Current/Lib/pkgconfig/
# Git clone fsharpc:
$ git clone git://github.com/fsharp/fsharp.git
# Make sure brew packages are installed and up to date:
$ brew update
$ brew install pkg-config
$ brew install autoconf
# cd to fsharpc directory and comment out mono version check in ./configure:
$ cd ~/dev/fsharpc
# For me, lines 1764 - 1766
# #if ! pkg-config --atleast-version=$MONO_REQUIRED_VERSION mono; then
# # as_fn_error $? "\"You need mono $MONO_REQUIRED_VERSION\"" "$LINENO" 5
# #fi
# Run config script with correct paths:
$ ./autogen.sh --prefix=/Library/Frameworks/Mono.framework/Versions/Current/ --with-gacdir=/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/gac
$ make
$ sudo make install
# verify the install:
$ fsharpc
F# Compiler for F# 3.0 (Open Source Edition)
Freely distributed under the Apache 2.0 Open Source License
error FS0207: No inputs specified
Now you're ready to go.
Sunday, January 13, 2013
call to network citizenship
Aaron wasn't a victim of a cruel Department of Justice, unless we all are. His death is tragic, and this country (both our culture and our society) is terrible at dealing with mental illness. And the grossly disproportionate charges sought by his prosecution, and the prospect of facing more than 30 years in prison for his alleged and victimless crime no doubt caused great stress for a sensitive, idealistic, brilliant 26-year-old.
But we should remember his work, and his message of openness, and take from it a renewed urgency to educate ourselves as citizens of a networked space.
He was an activist, fighting at the vanguard of liberalism and freedom in our bold new networked age. He understood what was at stake in an interconnected world, how easy it is for individuals to be subsumed and left powerless by faceless, distributed, protocol-based power structures.
As network citizens, we must treat ignorance and willful idiocy of networked power structures as no more acceptable than not knowing that there are 50 states, or that the Constitution was not signed in 1776, or that there are three branches of the American federal system.
The network is the dominant power structure of our lifetimes, and it is incumbent upon us to be conversant in this new territory, to understand the stakes, the parties involved, the competing powered and monied interests, and to recognize that we still have legitimate popular sovereignty over these several corporate and special interests. Citizenship is a duty for any individual caught living in an advanced society. Be a citizen.
Requiescat in pace, Aaron Swartz.
Aaron Swartz speaking at a PIPA/SOPA opposition rally in New York.
(Photo (c) selfagency under a Creative Commons BY-SA 2.0 license)
I reproduce here Aaron's Guerrilla Open Access Manifesto:
Information is power. But like all power, there are those who want to keep it for themselves. The world’s entire scientific and cultural heritage, published over centuries in books and journals, is increasingly being digitized and locked up by a handful of private corporations. Want to read the papers featuring the most famous results of the sciences? You’ll need to send enormous amounts to publishers like Reed Elsevier.
There are those struggling to change this. The Open Access Movement has fought valiantly to ensure that scientists do not sign their copyrights away but instead ensure their work is published on the Internet, under terms that allow anyone to access it. But even under the best scenarios, their work will only apply to things published in the future. Everything up until now will have been lost.
That is too high a price to pay. Forcing academics to pay money to read the work of their colleagues? Scanning entire libraries but only allowing the folks at Google to read them? Providing scientific articles to those at elite universities in the First World, but not to children in the Global South? It’s outrageous and unacceptable.
“I agree,” many say, “but what can we do? The companies hold the copyrights, they make enormous amounts of money by charging for access, and it’s perfectly legal — there’s nothing we can do to stop them.” But there is something we can, something that’s already being done: we can fight back.
Those with access to these resources — students, librarians, scientists — you have been given a privilege. You get to feed at this banquet of knowledge while the rest of the world is locked out. But you need not — indeed, morally, you cannot — keep this privilege for yourselves. You have a duty to share it with the world. And you have: trading passwords with colleagues, filling download requests for friends.
Meanwhile, those who have been locked out are not standing idly by. You have been sneaking through holes and climbing over fences, liberating the information locked up by the publishers and sharing them with your friends.
But all of this action goes on in the dark, hidden underground. It’s called stealing or piracy, as if sharing a wealth of knowledge were the moral equivalent of plundering a ship and murdering its crew. But sharing isn’t immoral — it’s a moral imperative. Only those blinded by greed would refuse to let a friend make a copy.
Large corporations, of course, are blinded by greed. The laws under which they operate require it — their shareholders would revolt at anything less. And the politicians they have bought off back them, passing laws giving them the exclusive power to decide who can make copies.
There is no justice in following unjust laws. It’s time to come into the light and, in the grand tradition of civil disobedience, declare our opposition to this private theft of public culture.
We need to take information, wherever it is stored, make our copies and share them with the world. We need to take stuff that's out of copyright and add it to the archive. We need to buy secret databases and put them on the Web. We need to download scientific journals and upload them to file sharing networks. We need to fight for Guerilla Open Access.
With enough of us, around the world, we’ll not just send a strong message opposing the privatization of knowledge — we’ll make it a thing of the past. Will you join us?
Aaron Swartz
July 2008, Eremo, Italy