A Call for Advice

The folowing is ultimately a plea for assistance, guidance and a ‘how to proceed’ if you will. I graduated from the MA Interactive Media in Goldsmiths with a cursory competency of software languages and a hazy understanding of art practice, and I think 2012 is my time to level up a notch or 2 (my existing work is available to peruse here http://www.thereisnowetware.com)

Area in need of Remedy # 1

I am a pidgin programmer who mostly uses Perl and I understand how that works for

  • regular expressions, if/else constructs, automating system calls
  • how to interface to a DBI and Arduino

but not much else. Pidgin programming and glueing together the bountiful resources on the internet (to which I am eternally grateful and indebted) have seen me through thus far (a glance at the chimera code that is Data Mining Divination ought to illustrate this to anyone morbidly curious enough to glance)

I think I would benefit from learning code from scratch* to the level where, when I have an idea I can sit down, write the pseudo code and be possessed of enough competency that I can work through each step, or at least now which sort of code structure I should be enlisting (i.e. not have to look up how to reference one subroutine to another). Is perl the best language to persist with learning or should I look elsewhere to languages like Ruby or Python.

*In some ways I can see that learning code this way is problematic: myself and Alexandra Jönsson discussed this last year, how we enjoyed learning Perl while in the process of problematizing an area (i.e. through a practice – driven investigation of a research area) rather than learning code as we imagined one might through a computer science lens: i.e. a solution or ends driven application of code.
…However I am determined to get past struggling with the medium this year

Area in need of Remedy # 2

I am someone who is possessed of a long term interest in how technology is altering our consciousness (yes, that hoary old chestnut) and also more recently interested in the anti-anthropocentric position of understanding how technology, as an assemblage or otherwise shapes us at a level beyond (or below) our conscious recognition.

Where does one need to start to actually understand and appreciate data mining rather than occupying the exoticised perspective I feel I have from considering the process from a distance. How solid a grounding in statistics is required?

If you can help, or suggest routes to pursue I would be most grateful.

Advertisements

~ by Stephen Fortune on January 9, 2012.

3 Responses to “A Call for Advice”

  1. Some quick answers:

    #1: Learn Python. In fact, it’s not even particularly important which language you learn – but it is vital to port the concepts that you’re familiar with to a new syntax/semantics, and start thinking fluidly in terms of algorithmic concepts rather than getting mired down in Perl’s dollar signs.

    Python is a good one because (a) it’s incredibly well-designed and idiomatic, meaning you spend time thinking about how to accomplish something rather than (say) how you name your methods; (b) its whitespace delineation and thoroughgoing OO is sufficiently different to Perl, yet has the nice functional stuff you may be familiar with (map, grep, etc); (c) it is the 21st century swiss army knife, perfect system glue but also nice for many digital arts things (see pyext for Max/pd, NodeBox, others).

    I am thinking of proposing to run a short, free-or-maybe-cheap course for artist-programmers at the New Cross People’s Library (google it), based in Python. If i do so, I’ll be sure to let you know.

    And if I don’t, I have some recent lecture/workshop notes on learning Python for data mining, which might be of use.

    #2: Did you go to many of the events related to Matthew Fuller at Goldsmiths? Interesting stuff there, but maybe too close to your existing thinking.

    It depends what you mean by “data mining” – it has a couple of subtly different senses, relating to pulling social data from the web (etc) and doing more advanced machine learning to do other kinds of complex inference to illuminate hidden patterns.

    For either, an engaging way to start is to roll your sleeves up and apply your learning with a specific API and some vaguely defined goal… I seem to remember we discussed the python twitter examples I created for a recent social coding workshop, which might help in starting to think about interacting with the complex ecosystem of web services that now surround us.

    And, more critically, what drives that ecosystem (which is fundamentally, in most cases, driven by commerce…)

    Great resolutions though. Be great to discuss over a pint sometime!

  2. Python is the best language to learn if you want to get the most done (see “Learn Python The Hard Way”). If you want to learn the craft and ideas of programming as an end in itself, Lisp still can’t be beaten (“Practical Common Lisp” or “Structure And Interpretation Of Computer Programs” are practical and academic classics for that). If you want to stay in the data processing and visualising area, Processing has lots of good resources and feels a lot less like programming Java with mittens on than it used to.

    Data Mining is an emerging art, and a black one at that. I’m not being sarcastic when I recommend the Wikipedia page as a good starting point:

    https://en.wikipedia.org/wiki/Data_mining

    You need some statistics knowledge (books featuring anime characters or copious clipart can make this less painful in my experience), some NLTK and NumPy (or if you’re willing to learn another language, R can be much more expressive and is still easier to read than Perl), and a lot of conference papers. O’Reilly’s books on data mining are good (as ever):

    http://search.oreilly.com/?q=data&x=0&y=0

    http://search.oreilly.com/?q=mining&x=0&y=0

    I got started with this one (which is of course in Python):

    http://shop.oreilly.com/product/9780596529321.do

  3. Cheers for the replies guys. Dave, if you do something around code (paid or no) in the New Cross People’s library I’d be very interested in it, and I know others would be also! Love to chat more about it over a pint, pre Holden/Caribou conversation fodder?

    Thanks for the resources on data mining Rob. It really feels like taking a bite of more than I can handle but I find it really difficult to resist diving in there. I had no idea the Wiki was such a rich resource! And it was the papers published as data mining begin (particularly those by Fayyad, Usama;, Piatetsky-Shapiro, and Smyth) to emerge and legitimate itself that hooked me in in the first place. And I’ve brushed up against R before and through your blog, I think it would be palatable enough and I would like to learn it if I can conjure up the time from somewhere

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: