Week summary

One of the reasons for having this blog running again was to share more of what I do at work. I have been working as a software developer for some years, but a couple of months ago I began as a research scientist at a research institute, in the ICT department. I’m still sort of figuring out what I’m doing and how things work, but I also think that others are curious to what researchers do for a living.

At work

Currently I’m working on three projects, but this week I only managed to work on two of them, a pre-project for writing a project proposal to the research council, and a development project for making a web site in PHP.

The income of the institute consists to great extend of project fundings from the research council here in Norway, or from the EU, and there is always a continous work on writing proposals and to stay up to date with upcoming calls. The proposal I’m working on is for a large project with many partners, and I’m learning a lot on how these type of projects work. I’ve met many great people from the industry and other research institutions over the last few weeks on various workshops and meetings, and I have met users that will benefit from our solutions if get the funding. This week I’ve worked on the budget for the project (really not that fun, but it has to be done 🙂 ) and I’ve been writing and searching for references for the proposal and a state-of-the-art report we are working on, so I’m learning a lot about the actual research area as well.

When it comes to the web site, developing in PHP is also quite new to me. I’m not very found of the dynamic typing, and the tedious syntax with $this->that. Not to mention the extended use of arrays, where new keys and values are added ad hoc as needed. The latter is probably not just the language’s fault.
I’ve suggested that we should do some tidying in the code, and next week we will discuss what the domain model should look like. Hopefully we will be able to replace some arrays with real objects, do general tidying and write some test, and that will make the code more fit for fight.
Other than that I also spent some time trying to get a constructor to work for a new class I wrote. The reason why it didn’t work was the most newbie reason of all; I didn’t notice that there should be a double underscore at the beginning, and had only a single one in my code 🙂

After work

  • Often I read books on the subway to and from work, but this week I started to listen to the Type Theory Podcast. I listen to the two first episodes, which were great, and the webpage has good posts on the episodes, including many relevant references. I hope they will make more episodes.
  • I also watched Jenny Tong’s talk from Google’s Ubiquity, and now I want to make all sorts of stuff with Arduino. Great video!
  • I ran into one of the managers for the last customer I worked with when I still was a consultant, and I was invited to a cake celebration the next day, celebrating that the application I worked one had been put in production. It was nice to meet all my great friends and former colleagues there, both from my old company and from the customers.
  • It is the final week of the Machine Learning course I’m following at Coursera, taught by Andrew Ng. It’s a great course, and I would like to do more machine learning stuff in the future. I also believe that all programmers should learn a bit about machine learning and data mining, everyone wants to have applications that make suggestions or decisions for the user based on earlier behaviour nowadays.
  • We had a great meeting in the Lambda club, which is a group that originated from my former company, with enthusiastic programmers with an interest in functional programming, languages in general, and all weird and fun stuff one can do with code. At the meeting we had great fun solving the following puzzle; given squares divided into eight regions, where each region can be coloured in white or black, how many different squares are there, when squares obtained by rotation or flipping (reflection) of another square is consider to be the same. It’s a great puzzle which can be solved in various ways, and would fit into a codekata or similar.