Archive for the ‘programming’ Category

The Filter Bubble: More Program . . . or be Programmed

Wednesday, May 18th, 2011

Great TED talk by Moveon.org founder Eli Pariser on how the personalization reflex/mandate/standard of content on the web keeps us in a bubble. Couple great slides/moments:

- an examination of his Facebook feed which, over time, as FB’s algorithm’s started to weed things that appeared not to be what he wanted, started suppressing the display of statuses from conservative friends.
fbblackedout.png

- showing how two people Googling “Egypt” during the uprising get vastly different results based on what the Google algorithm concludes each person wants. One person got news links about the uprising, the other got travel information!
egypsearches.png

- a fun, but spot-on mock-up of what useful personalization choices should look like:
personalizationshouldbe.png
The Google search screen is possibly the most unsettling. From the beginning, much of Google’s algorithm has been focused on following the herd. In addition to attempting to understand what a page was about, Google cleverly added in the power of “this is what other people think this page about” (because they clicked on the result with a similar query) and “this is where influential linkers (content providers) think you should go.” So already, you’re getting knowledge that is pre-validated (or pre-sanitized). But now, by personalizing the results, you’re narrowing the results even further: this is what people who think, spend, and live like you believe is the best result.

The fun of the internet is to see things that surprise you, connect laterally to your existing thinking, create serendipity, or just put things in front of you that you should know as a member of a community and a polis. The “service” of personalizing – while valuable – reduces that function, makes the user work to be exposed to new things. This line from Eric Schmidt, suggests that there is an end state goal for the algorithm to manage everything you see: “it will be very hard for people to watch or consume something that has not in some sense been tailored for them.” Oi, oi, oi.

Parisi ends with a rousing, but almost disturbing plea to programmers to stop programming us:

we need the new gatekeepers to code that kind of responsibility into the code that they’re writing … I know there are a lot of people here from Facebook and Google . . . wq really need you to make sure that these algorithms have encoded in them a sense of the public life, a sense of public responsibility, we need them to be transparent enough that we can see what the rules are that determine what gets through our filters . . . we need you to give us some control so we can decide what gets through and what doesn’t.

The problem with programming

Monday, January 24th, 2011


comic2-1205.png

From Invent Your Own Computer Games with Python

Designing an HTML tag . . . is actually fascinating

Friday, August 27th, 2010

I’m getting up to speed on the upcoming tech wave by reading the finally published “HTML5 Up and Running”, by Mark Pilgrim. That sentence just feels sad (though necessary), but the first chapter of the book is really, really interesting. In a section titled “A Long Digression into how Standards Are Made”, Pilgrim walks us through a three week email thread that covers the origin and (pretty much) final resolution of the IMG tag.

The thread begins on February 25, 1993, with Marc Andreesen writing:

I’d like to propose a new, optional HTML tag:

Required argument is SRC=”url”.

This names a bitmap or pixmap file for the browser to attempt to pull over the network and interpret as an image, to be embedded in the text at the point of the tag’s occurrence.

An example is:

<IMG SRC=”file://foobar.com/foo/bar/blargh.xbm“>

(There is no closing tag; this is just a standalone tag.)

This tag can be embedded in an anchor like anything else; when that happens, it becomes an icon that’s sensitive to activation just like a regular text anchor.

Browsers should be afforded flexibility as to which image formats they support. Xbm and Xpm are good ones to support, for example. If a browser cannot interpret a given format, it can do whatever it wants instead (X Mosaic will pop up a default bitmap as a placeholder).

This is required functionality for X Mosaic; we have this working, and we’ll at least be using it internally. I’m certainly open to
suggestions as to how this should be handled within HTML; if you have a better idea than what I’m presenting now, please let me know. I know this is hazy wrt image format, but I don’t see an alternative than to just say “let the browser do what it can” and wait for the perfect solution to come along (MIME, someday, maybe).

Let me know what you think………

Cheers,
Marc


Marc Andreessen
Software Development Group
National Center for Supercomputing Applications
marca@ncsa.uiuc.edu

For the next three weeks, a number of programmer types, including Tim Berners-Lee, discuss a whole range of ideas for how this much-needed tag should be developed. It’s worth a read or two, since it highlights several open source, design, and software dynamics. Even in the note above you see a bunch of things:

  • The presence of shared, common language. One of the hardest things about organizations where teams are important is building a common vocabulary. Actually, it’s less about the vocabulary and more about building a precise understanding of what the words in the vocabulary mean. In my job, even the word ‘app’ can have too precise a meaning (iPhone or iPad app) or too loose (anything on the web that isn’t pure messaging or might contain a button). The thread started with the note above is remarkable for its precise, simple language and writing styles which conform to the expectations of other while personalities and passions still come through.
  • The idea is presented with a clear rationale, an awareness of its shortcomings, and a genuine openness to improvement and realization that something may have been missed. The thread goes on to propose some very different approaches to how to mark up images, and Andreesen ultimately sticks to his initial proposal but leaves things open to a better evolution saying “we’re not prepared to support [a different approach] at this point” and that specifics will be in place “for the time being.”
  • The conversation has a mix of ideal principles and the need to ship and finds a balance. More important, the decision-maker(s) are aware of the balance and compromise. Intel has an internal mantra that people need to “disagree, but commit” to the imperfect, different, or inferior solution that wins the day. Too often, that “commit”ment can turn into group-think that forgets that the decision needs to be revisited, involved necessary compromises, or creates serious problems elsewhere. Everyone on this thread is aware and keeps track of the issues that are left open or created while other issues are closed.
  • The thread operated comfortably and, again, in a self-aware fashion, at many altitudes. Tim Berners-Lee talked about user confusion while supporting the theoretical superiority of INCLUDE (a tighter, more pure, but more time consuming approach), another person suggests “maybe we should think about a general-purpose procedural graphics language” (let’s acknowledge that markup languages are not up to this and rethink the whole thing), while others tweak the proposed structure of the tag.
  • There is very little preciousness — about ideas, implementations, territory, intellectual/engineering integrity — to be found. I’ve worked with engineers, and written code myself, for almost a dozen years, and was surprised to the point of shocked to see how matter of fact, and yet rigorous, a group of programmers could be, especially on a medium (email) that was at the time new and where etiquette was still evolving.

    The book is worth a read and this chapter is really illuminating.
    You can view the Andreesen post and click through the thread here.

    Hug a developer

    Saturday, September 6th, 2008

    bad project management hurts people and undermines our family values:

    MSFT sparking dreams with free dev tools

    Tuesday, February 19th, 2008

    Interesting Microsoft move pre-reported by TechCrunch this morning:  Bill Gates will announce (or has announced) that (verified) students will have access to MSFT development tools for free.  In a program called Dreamspark, students can get the entire Visual Studio line, Expression, Windows Server, and Game Studio.  It’s a smart way to compete with open source, build the community of developers who work with and prefer Windows, and build brand loyalty at a formative phase of someone’s career.

    Channel 8 did an interview with Bill Gates about this initiative which turned into talking about software.  Despite outsourcing and the commoditization of certain development skills, Gates is still quite bullish on the importance of programming:

    [People can use MSFT dev tools to] build a career around or build fun software for themselves.

    The skill of design, skill of knowing what good code looks like … will be around for the next couple decades.
    There’s nothing more fun than thinking about software . . . software for the poor (there’s a lot more work that needs to be done), software to make jobs more interesting, software to help peofle design things in new ways … if you think about the sciences today they’re really driven by software … biology has so much information that it’s really software people who are gong to help find patterns and organize that information.