Zen and the Art of Computing

Peter Neumann – 1983 – thoughts

Psychosocial Implications of Computer Software Development and Use:
Zen and the Art of Computing

“the logical desire to use low-level programming languages in order to obtain efficient programs must be tempered by a holistically viewed long-term decrease in overall development costs”

This article summarizes the software development process in human terms — especially by looking at classically left- and right-brain characteristics that can be detrimental or beneficial during the creative and (possibly) repetitive actions that underlie program design.

Neumann makes a core distinction between logical, detail-oriented, procedural skills, and holistic, creative, and unstructured thinking. He acknowledges that each individual possesses a unique combination of these traits, and that teams should have members who excel in different subsets of these skills.

The major technical discussion of this article revolves around abstraction — as the fundamental cognitive paradigm for dealing with complex systems. Neumann also emphasizes the importance of an ‘integrated’ approach toward abstraction — recognizing that a trivial detail at a high level of abstraction may be fundamental to the operation of the system at a lower level of abstraction. He also relates high levels of abstraction to the ‘right-brained’ view, a ‘just forest no trees’ approach, and emphasizes that focusing only upon lower levels, a tendency which may become more pronounced as we age, causes a ‘missing the forest for the trees’ conceptual roadblock.

Neumann’s overall goal is towards the creation of robust, reliable, testable systems — more relevant now than ever. Pretty amazing that this article was written in 1983!

Learning Machine Learning

Currently pretty inundated with Machine Learning stuff — Here’s a list of a few resources:

  • David Barber — Bayesian Reasoning and Machine Learning

    • the .pdf for this book is free online (make sure to get the 2012 version)
    • note: link was broken – adding ‘https’, made it work, but you will get a security certificate warning
  • LxMLS Labs and Guide
    I attended the Lisbon Machine Learning School this Summer, and their lab resources are pretty awesome, if a little unpolished. Everything is done in Python using NumPy, and the lab guide generally assumes that the reader is working with ipython

    • The lab .pdf is here
    • Their github repo with exercises and answers is here
  • I also just ordered this book, which is supposed to be a great survey of most topics in Machine Learning. The Amazon reviews are pretty mixed, but it seems like this will eventually become the goto desk reference after a few more editions.

Blogging With a Static Page Generator

I started using Octopress on top of Jekyll to generate this site. When I add/change something, I just push it up to my server using rsync, and it’s done. Still got a lot of Ruby to learn, but this is already pretty sweet…

Diren Gezi Parki Tweet Analytics

Diren Gezi Parki – Tweet Analytics http://chrishokamp.com/diren/tweet_analysis/

Over the past week, I’ve been following the events in Turkey closely, as I’m sure many of you have. Although I couldn’t be there in person, I wanted to do something useful to contribute to these noble and courageous protests, and to show solidarity with my Turkish friends risking life and limb to peacefully defend their human rights.

Due to the alliance of the AKP government with most domestic media groups, the importance of these events has been downplayed within Turkey to a shocking extent. Those familiar with the Turkish political landscape harbor no illusions about the censorship of media, and general lack of free speech — but over the last week, all semblance of journalistic responsibility has been erased.

To fill the information gap, Turkish citizens from all walks of life have been obligated to become reporters, and they’re doing an excellent job! However, the huge amount of data streaming through Twitter and other social networks obviously contains both accidental and targeted misinformation, which must be filtered out in some way.

Thus began the #direntwitter analysis project. By aggregating tweets associated with the #direngeziparki movement, and utilizing algorithms from computational linguistics and information retrieval to extract the juicy stuff, I hope that the information contained in this deluge of tweets can become more structured, organized, and ultimately useful, both for post-hoc analysis, and for public discussion about the facts surrounding these events.

For a start, here is some information on the top hashtags from Sunday 2.6.13, sorted by information content, and containing the top terms for each hashtag. This dataset represents information from approximately 40,000 tweets, and there’s much more to come.

If you have ideas about ways to use Twitter data for (pro)social action, let’s work together! I’ll be very happy to share all code with you, and stuff should be up on github by this weekend.

Kurtuluş yok tek başına ya hep beraber ya hiçbirimiz…