I spent the last three months in Dublin, on an internship with Microsoft. The experience was great and I could recommend it to anybody, but that’s not what I wanted to talk about this time. Whenever you move from one place to another there’s a certain amount of know-how that makes your new life easier/better/more predictable and that knowledge usually comes with time. By the end of my internship I felt at home in Dublin and now I’d like to share some tips with you.
Getting to and from the airport
The airport is about 10 km north from the city centre, but travelling there and back is no hassle. As listed on the airport’s website, there are multiple bus services you could use. I have been using Aircoach‘s services – I don’t think they are the cheapest of the lot, but the buses come frequently, are really reliable, convenient, and hard to miss :) One-way ticket from the city centre costs €7, a return one €12. You don’t need to book the tickets in advance, there’s always a lot of room left. There are also multiple routes, so if you want to go straight from/to Microsoft building 3 or 4 in Sandyford it’s also possible. It takes 40 minutes to get from the airport to the city centre, and another 40 to get to Sandyford.
Taking the taxi is of course also an option and it costs about €60 to get from the airport to Sandyford and under €30 to get to the city center.
In Dublin you have buses, the Luas, the DART, and dublin bikes at your disposal. Luas and the buses are in the same “ecosystem”, so you can use same tickets for both. Apart from ordinary types of tickets (single, return, monthly etc.) you can also buy a leap card, which is a pre-paid card you can use both for Luas and the buses. You can buy most of the tickets (and top-up your leap card) in machines at Luas stations, but you have to buy the leap card wherever you can buy newspapers.
In the last three months of the last year I had the pleasure of taking part in an online machine learning course, taught by prof. Andrew Ng of the Stanford University. The course is already over, so it might seem old news, but next edition should start any time now. If the topic of machine learning seems interesting to you in any way I can really recommend it.
As I mentioned, the course is a public version of the Stanford CS229A course, also taught by prof. Ng. The course consists of 18 chapters distributed among 10 weeks. Each chapter contains 1,5 h worth of lectures in short parts, a set of graded review questions and usually a graded programming exercise. The course gives you comprehensive information about techniques practically used in machine learning, allowing the “graduates” to really use the knowledge in their own projects.
That’s what I knew before I started the course, but afterwards, despite my high expectations I was surprised by its high quality.
For my classes I recorded screencasts about TDD, and, because lately I’m focused mostly on c++, I decided to delve into google test instead of the regular jMock and mockito. Initially I wanted to make it a tutorial showcasing all the tools within the library, but it ended up being a TDD Kata solving example with a short introduction about how to set up the development environment.
The narrativ is kind of slow, but I guess the main issue for people reading this particular page is that it’s not in English.
This thursday, in the lecture hall of the Biology Departament of University of Warsaw, Google organized a meetup with their engineers, celebrating the official launch of their new office in Warsaw. The event started with Joshua Bloch’s, lecture, which was a treat for the attendees, most of whom were MIM UW students, almost filling the room.
Joshua presented code snippets that don’t do what you might expect them to, by invoking constructs that may lead to unforseen behavior. Majority of those constructs weren’t Java-exclusive and could have been presented in C++ or even python. The well known issues were covered, e.g. String comparison, operator precedence, working with floating-point variables, implicit conversion. But there also were topics I haven’t ever thought about, like regular expressions that match same patterns but differ hugely in their efficiency.
It wouldn’t be right for me to try to recreate his lecture, especially that all the “puzzlers” that were presented are also covered in Joshua’s book, which he kept shamelessly plugging;) I’d just like to give you an example of a sick, twisted piece of code you aren’t likely to encounter in real life situation, but you might as well learn from it. Here is the last puzzler of the lecture Read more
Some time ago I described a script you could use to see who’s using your laptop when you’re not around. I sadly (?) didn’t catch any robbers using it, but the whole setup already took nearly 4000 photos, some of which might be a little interesting:
I’ve got a series or two of one person sitting in front of the computer for quite some time and I could use it to create a timelapse similar to those I made using my crude blackberry app, but on the other hand maybe I shouldn’t be picking on my friends…
Despite the fact I’ve been planning this for quite some time and the wordpress itself has been installed on my server over a year ago, just last week the dire need for a proper e-mail address made me buy the domain and begin filling in the missing parts. In the following week this very monument of self-love should be completed using the notes I already have somewhere on my disk, however today is the day we have been officially indexed by google.
Making sure this blog’s contents match its name, some of the interface remains to be translated well and will be, perhaps for quite some time, almost done ;)
I was talking to a friend of mine and we came up with the idea of “America’s next top model” and Top Coder crossover. The “top model” shows are slowly losing their popularity, but our idea is still scary on the wallpaper of my desktop, motivating me to hard work:
Half of the idea and whole design is courtesy of Jakub Rostkowski, and the wallpaper comes in three different sizes:
English: Some time ago, inspired by…
…also known as the “Do not fuck with a hacker’s machine” clip, and the fact I started using Debian exclusively on my netbook, I decided to make preparations in advance for a dire situation in which my laptop is stolen/captured by insurgents, and retrieve it easier or even play a prank on them. These were my postulates:
…anotherwords about the usefulness of Batch. Recently my
girlfriend fiancée was handed the task of copying the same set of files to 1500 different USB keys – an unpleasantly mindless task. To make it a little more convenient for her I wrote a simple script that does it all except for plugging and unplugging the drives ;)
Writing it in i.e. bash shouldn’t be a problem to anybody, but since they use mostly windows in corporations and I wouldn’t want to force anyone to install cygwin, I created the following .bat file: