a journal sharing my experiences and growth
home // facebook // instagram

Friday, 7 March 2014

IPython Development

Currently I am working (with two others) on an open source piece of software, IPython. IPython is an interactive shell (which you can run on your browser) used for interactive computing. It allows you to code in Python, in a quick and easy way.

The project we are working on is created a way for IPython to recognize a set of "turtle" commands and, using these commands, draw a turtle on the screen. It is meant to be a tool for learning simple programming.

One of the first tasks given to us was meant to give us a "leg up" later in the project. Doing it the expected way would have helped with what followed. Unfortunately for us we did it another way. I find this to be a funny thing about self-directed work and being "productively lost." We were able to do the task described, but in a completely different way than others did it, and than we were supposed to do it.

The task itself was to count and display the number of lines in the output. We did that. We found a function that edited the data outputted, split it into an array of lines, counted those lines, and appended that to the data.

The next task given to us involved outputting some html in the same area (where the line count feature is). Naturally we tried adding some html to the same area of code that we had previously edited.
We tried various things to get html in this area (manipulating this particular function), before finally going to our instructor for help. This is where we (my team and our instructor) discovered that we had done the original task (line count feature) in a different way (basically, we had manipulated the wrong function). Our task remained the same, get something other than just the text to output on the screen. In our case, we wanted to get an html canvas in the output area.

I believe that if we had gone back and did this line count feature the right/expected way, the coming tasks would have been be easier (in fact, I do eventually go back and re-do the first task, as a learning tool).

We were not sure where to go at this point (to get the html displayed) so we tried to implement our own mime type, a disaster. I'm not going to get too detailed but we spent many fruitless hours looking at how we could implement our own mime type, and eventually get a turtle showing on the screen using this method. We stared at many different files that use mime types, and took steps to code our own mime type, but eventually we scrapped all this after talked to both our professor and project leader.

To be continued...


Post a Comment