So it turns out that I’m just as bad as I’ve always been at updating my blog, go figure. I intended to write an update at various points prior to and after both the dissertation and exam periods, but never got round to it (despite having a tab open the entire time). I guess I just don’t value this blog as that important when I can shoot out updates with less effort on G+, Facebook, etc.
The end of the semester was pretty tough, between the five classes I took having coursework hand-ins and my dissertation reaching 16.5k words. While most of the other students think I’m crazy for taking five classes in the second semester, I don’t regret it and while I’m not entirely pleased with my class choices, I felt that I learned a lot from the experience.
The exam period was interesting, as my timetable was very heavily front-loaded. I had 6 exams in the first 8 days, with the other 3 spread over the last 2 weeks of the period. This made it tough to schedule my studying but I didn’t leave any exam feeling worried and a number of those that I thought would have gone badly went much better than expected (AI, for example) so I was pretty pleased. The results should come out within the next two weeks or so, at which point I’ll have to confirm with the school that I want to continue for the MSci (though there’s not really any turning back at this point anyway).
Just after the dissertation hand-in at the end of March, I went for an interview with ARM in Cambridge for their summer internship programme. Given that the semester had only finished three days before and I travelled up on the day, I didn’t feel particularly prepared but the interview seemed to go pretty well. I answered their more complex questions with relative ease but overall it seemed like a relatively straightforward interview (actually it seemed like they might have made their decision in advance). I received an offer a week later and accepted, so I’ll be heading to Cambridge for 9 weeks from mid-July until mid-September to work in the Processor Division Cores group.
On the Friday after the ARM interview, I took part in Amazon’s Hackathon in the 3rd year lab at the university. It was an intense 24-hour session of brainstorming, designing, coding and frantic debugging, which saw around 50 students compete in teams to develop the most interesting and innovative app (preferably one that made use of Amazon infrastructure). Our team, Giraffa Cakes, consisted of myself, Euan, James and Amal, and our Android app compared two Amazon products, providing news, reviews and videos about them with sentiment analysis of associated tweets and blog posts. Our effort paid off as we were awarded the People’s Choice award, netting us £300 of Amazon gift vouchers between the four of us and a real sense of pride and achievement. Euan described the event in more detail here, including a screenshot of our app in action.
To accompany the internship at ARM, I’m also working for my supervisor Joe on the implementation of my project (home network traffic classification using machine learning) into the Homework router. While the implementation of the basic functionality should be easy enough, the more complex areas that I identified in my project could take a fair bit of work. I started last Monday after the semester finished and had a chance to attend a meeting with the main figures of the Homework project on Tuesday and Wednesday, which was incredibly interesting. The life of an academic really seems to be as interesting as I hoped.
Given that I’ll be around for 5th year, I’ve got a number of plans developing in my head. With Ant graduating in June, I’ll become the President of Compsoc, meaning it’s time for me to kick things up a gear. I’ve got a lot planned for the society and if we can pull off even half of the events I have planned, it will be a great improvement over what we had before. There’s also organisation to be done for Language Café (hosted by the International Society) since a number of the key organisers are heading abroad on exchange. Hopefully we can get some plans together and really boost participation in both Compsoc and Language Café. The last and most important thing (given that it’s worth about 40% of my degree) is my MSci project. Now is the time to start thinking about projects and while I’ve got ideas for a couple of systems-related projects, I’m tempted to go for something involving AI or ML. In any case, I have a few months to think up some potentially interesting projects and I’ve no doubt that my opinions will change in that time.
Semester 2 week 2 is now over and the new classes are looking interesting for the most part.
MRS4 doesn’t really seem to have introduced any groundbreaking concepts as yet, we’re mainly being taught about Promela and different methods for outlining how processes act and interact.
Algorithmics 4 has taught us a few cool algorithms/data structures already, including suffix tr(i|e)s, regular expressions (again, though covered differently from Alg3) and longest common subsequence.
Machine Learning M has been great, though because I’ve read the book I’m mainly revising the material I already learned from that. Still, it’s interesting to hear Simon’s verbal input and it’s useful to formally cover the maths involved. Matlab looks like it should be fun so far.
Computer Architecture 4 is awesome. The content has been good so far, John’s insights have been incredibly interesting and it looks like Hydra is going to be a lot of fun to learn and use.
The only let-down is Advanced Networking & Communications 4 which has been a massive waste of time. We’re being taught material that I learned in high school (Higher Computing) with only a few small nuggets of new information. My main annoyance is that he only covers 3 slides per lecture and says that it’s for the Masters students’ benefit. If they’re that important, the class should be ANC M and they should be being marked at a higher standard. As it stands, ANC is a complete waste of my time.
Last week I was unlucky enough to be mugged for my Galaxy Tab when I was getting the bus home after my friend’s birthday party. The police have been helpful but there doesn’t seem to be any progress as yet. Alex lent me his HTC Desire so I’m using that at the moment, which is nice because it has ICS installed. Sadly it has limited internal storage so I can’t install many apps (too many don’t support installing to SD by default).
The workload for this semester looks like it’ll be pretty high thanks to my 5 classes and project, so I need to get off my ass and on to making progress. Hopefully I can post some interesting posts about my project progress.
So the past couple of weeks haven’t been particularly eventful: I made some progress on my project, I relaxed a lot and yesterday (well, Tuesday) my sister got married!
The other week I found out about accompl.sh, which is a cool kind of long-term motivational to-do list. The idea is that you create a to-do list for the next year and you can keep track of what you’ve done and how you’re meeting your goals. You need to come up with 10 things and then you can lock into your list, so you can no longer edit. I had a little trouble coming up with 10 things, but in the end I managed it and I’m already making good progress.
At the same time, Google introduced their new fun site called Schemer which is sort of a bucket-list kind of deal. It’s similar to accompl.sh but less focused. It seems the idea is that you collect lots of things you want to do or have done and you can mark them off, sharing them with your friends along the way. In the US there are a number of location-based benefits and they’ve gotten websites such as Lifehacker involved to add new Schemes to the site on a regular basis.
With this spurt of planning, I finally got round to finishing Integrated Korean: Intermediate 1 and ordered the second book in the level. It arrived the other day and it has a LOT of new material for me to learn. While it’s daunting at the moment, I’m looking forward to getting through this book, as that will mean I’ll have completed 2/5 levels (Beginner, Intermediate, Advanced Intermediate, Advanced, High Advanced, if I’m remembering that rightly).
As is obvious from the fact I’m still pursuing my Korean learning, I really want to return to Korea. So far I hadn’t been thinking too much about it, but my project supervisor Joe suggested doing an internship at the uni over the summer, looking at implementing some pretty complex Machine Learning algorithm in C (I’d like to do a visualisation, too…). Now, I’m thinking a lot about where to go and what to do. At the moment it looks like there are two main paths.
- Plan A: Internship at university here, travel to Korea on holiday
- Plan B: Internship in Korea
The former would allow me to do an internship that I’d definitely be interested in, while grabbing relevant research experience in the process. The money would likely pay for a 4 week trip to Korea, and when I was there my whole focus could be on relaxing, learning Korean and seeing my friends.
The latter would allow me to spend a much longer (likely 8-14 weeks) period in Korea, at the expense of having to work 40 hour weeks again. Last summer I felt pretty burnt out all the time, getting 6 hours of sleep most nights, but I also had the time of my life improving my Korean and making new friends.
There are a couple of variants here of course. The first would be getting an internship at a British (as in, located here) company if I was so inclined, and then visiting Korea, but I would like to spend more time doing research type stuff. The second would be to take an internship in some other country (Google EMEA already turned me down, but maybe Aus or the US) and then either not going to Korea or making a shorter holiday there.
Beyond this summer, I’ve been trying to figure out what to do academically. It’s been my dream for a good few years now to do a PhD and as such I was hoping I could aim for direct entry from 4th year into a PhD program. Sadly I haven’t been quick enough in acting and I haven’t had enough experience of research as yet to make a good research proposal as part of an application (at least I think so). After talking to Joe (so much to talk about in a single half an hour!), he calmed down my worrying a bit and recommended I do the MSci first, as it gives good experience in advance of the PhD and ensures that I would be able to get the most out of the time spent doing a PhD. He also pointed out that PhDs in the UK at three years, require two years of postdoctoral study to meet real equivalence with an international PhD that would take 5 years, and while a 3 year UK PhD might overrun to 4, a US PhD could also finish early if necessary.
It’s all a bit of a muddle, and while I’ve solidified some of my direction, I’ve still got to decide about my summer and about where/when/what to do about PhDs.
It’s been a busy couple of weeks, that’s for sure. With the AI hand-in last week and FP and DAS this week (oh and don’t forget about those PSI reviews), I’ve been pretty busy.
One thing I’ve noticed, based on the end of 3rd year and the last few weeks is that I tend to have a harder time remembering things (conversations, etc) when I’m really busy. Though, I’ve also found that I think more about the problems in the coursework I’ve been assigned and find myself producing better quality solutions due to spending more time doing thinking away from the actual coding.
Sadly for DAS we had to get an extension to the deadline due to a lack of work by 2/5 team members, so I was in doing their work on Friday when I had planned to have a relaxed day. Marcin and I ended up getting almost everything done and polished, bar a few edge cases and the lack of working leader re-election. Oh well, sometimes it doesn’t work out.
I had my interview for Google on Friday 25th, which went alright. The interviewer wasn’t particularly great (called late, was reading the questions as he went along, didn’t tell me his name), which put me off and so I goofed up on a couple of the questions. They finally got back to me today with a rejection, saying there was no suitable position for me. That’s annoying to me because it means I chose the wrong 2 out of 30 areas to say I’m interested in, but if I’d chosen a different two it could’ve been alright…
Anyway I’ve applied to Google Korea, who told me last time they also didn’t have anything suitable. Maybe this time since I have Machine Learning experience I might be a bit luckier. We’ll see.
I’m sure I had more to say but I can’t remember. I’ll make another post later in the week.
Having finished my PSI essay on Thursday night (really just a couple of minor fixes, since it was only a draft), I got back on track for other assignments on Friday.
Friday morning featured a traditional Jtod lecture, with such highlights as:
- Java isn’t portable
- I use Emacs (aw yeah he does!)
- Something something something Monads
I met Ant to discuss our somewhat secret plan for next semester, which will involve a LOT of planning, a lot of time and a lot of fun, if we can do it. It’s all part of Compsoc Plus.
Dr Singh sent me an abstract for his talk, which looks like it’s going to be Completely Fucking Awesome. I’m looking forward to it a lot and I’ve got high hopes for attendance. The main problem is I had to arrange it for 1pm so we could end up with a bit of a restriction on the third year attendance.
Friday afternoon and evening featured a traditional language coffee (with me berating the people playing Scrabble), some wonderful AI (Minimax fixed, AlphaBeta and Expectimax now implemented) and another long evening nap (4 hours?)
Saturday saw me tackling some more of the AI stuff and heading to Tesco to buy some sweets for part of my Awesome Care Package for Korean Residents (ACPKR, I just made that up now, it’s not really a thing). I’m going to send the package to Alex by the looks of things, who will pass on the applicable sweets to Hyunwoo, Mikyung and Hyesook (and possibly Seoyoung if she’s still in Korea then). I’ve chosen three categories of snacks: British, Scottish and Christmas. We’ll see which of them they each like best. I hope they can share fairly.
One thing I may I forgot to mention on Thursday was our DAS presentation. We presented GAMRJ and it was all a bit lacklustre (I think the presentation didn’t address a lot of the points we intended to talk about because I didn’t make it). Luckily the questions cleared everything up and in the end it’s a binary mark for participation, not for how well we did.
Anyway back to Saturday. In the evening we went to Emily’s surprise birthday party and I got the bus home at about quarter to 2 in the morning.
Today I did the first 50% of FP4 in half an hour, installed Anki on my netbook and flipped all my flashcards so I can learn the English-Korean. I did yesterday’s and today’s flashcards, emailed SPJ about doing a talk for Compsoc, wrote a Korean blog post or two and eventually realised that I don’t know the fields for the machine learning data I have, so I emailed Alex to check on that. I’m now writing some letters to my friends as part of ACPKR and I’ll either work on AI or try my hand at some more DAS.
Pretty productive, all told.
Where to start? Well I haven’t been doing enough uni work in the last couple of days, but I did finish the tasks I set myself, so maybe I should’ve set myself uni work to do!
Here’s a summary of my Tuesday:
- Signed up for the beta of Sandglaz, a to-do list/calendar hybrid web-app. Their approach looks fantastic but I’m not sure if I’ll continue to receive the awesomeness when it’s out of beta without paying any money…
- Poured Euan’s water into my bottle in plain sight, then had him steal it back again
- Talked to my aunt via email about her tender as Compsoc secretary 37 years ago. It seems that organising talks for Compsoc runs in the family
- Simon asked me to talk to one of his advisees about studying abroad, and I asked to borrow a copy of his new book, since the library have ordered two copies and neither of them have arrived as yet.
Wednesday was hardly more exciting:
- Introduced Aidan to T-ara (Roly Poly) which he’s now decided has changed his life. I did warn him in advance, so I’ll take the credit but not the blame
- Listened to John Williamson’s phenomenal talk about gesture spaces. The man is a complete legend. Not only does he have a fantastic lecture style, but he fits huge amounts of information into what he says and is incredibly precise in how he articulates what he means. For people who aren’t interested in the area or don’t understand what he’s talking about, I think it could be confusing or boring, but my love of learning really kept me incredibly interested. Also his Self-Organising Maps were immense.
- I found out that a Redditor wants to give me L4D2 for free but I didn’t find out for 8 days after he said that so I dunno if the offer is still good or not.
Today (well it’s after midnight but whatever) was pretty fun:
- Having gone to bed early on Wednesday, I got up at 7am and went for a run. This rounded out my first week of C25K (although I did 4 runs) and I’ve been feeling a lot more motivated since I started. I’ve found it easier to put down the stupid things I’m doing and get started on a task that I need to complete. I’ve also been feeling somewhat less tired (although not entirely, I still took a nap this evening)
- Simon gave me a copy of his book, but totally confused me because he saw me coming by my reflection in the window.
- I got an email back from Don! I’d emailed him on Wednesday morning and I was really pleased to hear back from him. He’s doing a graduate class and it sounds like great fun. August and Val are apparently doing well too, which I’m very pleased to hear.
- I talked to Rod about using Gaussian Processes and he suggested that a C implementation shouldn’t be too difficult. He also suggested that I try training the GP system with a data set and then using the space produced by that to train an approximation using another ML technique that might be able to run in a more real-time manner. This could be a really good technique.
- I fought with Netramark again to find that I couldn’t run it on the lab machines because they don’t have postgre installed. I’m not sure whether having it installed would help either, as I’ve got all of the packages installed on my netbook and I still can’t get CRL_PAY to classify anything. Anyway I’ll contact Kim Hyunchul and ask him for a hand if I really need their tool (since it’ll do the ARFF conversion for me)
- We talked to Joe for an hour and a half and I completely forgot to ask him about Compsoc stuff (yes I’m an idiot). I guess we’ll just need to send him an email about it. He also seems to think that my application should group similar applications (eg. different voip implementations) together. His example of BT VOIP and Skype won’t necessarily work since Skype is encrypted, but I’m interested to see how it all turns out.
Anyway I didn’t do my flashcards today so I now need to do them as AnkiDroid is telling me that I have 115 reviews and I need to tick off the task in Astrid
So today was a pretty average Monday.
I got up, went in early to find that no-one from my DAS team felt like meeting up, and then went to my JP2 group at 1pm.
They were working on exceptions this week and it seemed like most of them got what was going on for once, other than the confusion with methods throwing exceptions and where the try/catch should go. Craig’s going on a total blowout with AP work even though he’s only in second year, which is pretty fun. I’m hoping Sventek would mark his AE with the third years’.
DAS was horribly boring, sadly, as we’d covered almost all of the material before between OS/NS/DIM. Sometimes I feel I should evaluate the lecture content more in advance so I know if I’ll be wasting my time.
The exciting part of today was going to the new Mexican place off George Square, Pinto, to have a really tasty burrito for the first time in way too long. I had the chargrilled beef while Heather had the chicken. The guy seemed a bit annoyed when I asked for extra beans but I love beans so there was no holding me back.
I got about 300 words into my 1500 word PSI essay and it looks so far like I’m only gonna hate it more as time goes on.
On a final brighter note, I went for another nighttime run (my 3rd C25k run) after I got home at about eleven o’clock and then got to watch Hugh Fearnley-Whittingstall talking about vegetables. That man will never get old for me.
Oh and it’s my mum’s birthday now. Happy birthday mum ^^
Catch you later
Having tried several times to start this blogging malarky, I think I’m ready to actually get on with it. Recently I’ve been much more organised, using to-do lists and managing my time better, so I hope I can have some discipline in making semi-regular posts. I’m also going to get started again with my blog for my Korean learning, so posts are likely to be scattered somewhat.
This weekend turned out surprisingly well!
On Friday I met my lovely friend Nora who came up to Glasgow for a visit from Paris and the university finished preparing my transcript which I’d only requested on Monday.
On Saturday I woke up late and had a bit of a slow start but I managed to get finished with part one of my AI exercise (the Berkeley Pacman project) and get a reflex agent written for part 2. I also sent my transcripts away, emailed my DAS team, read the FP exercise and got some Compsoc business done. They were all small victories, but I felt much better having finished. The bigger task I was pleased to complete was my second day of C25k, which I’ve been following with an Android app on my Galaxy Tab. I’ve wanted a prompt to start getting fit for a while and after reading Charlie Brooker’s Guardian article about running, I thought I’d give it a try. It’s been a lot more fun than I expected so far and I’m hoping to stick with the regimen until the end.
Sunday saw me visiting the Fort to get some new shoes (wet feet have been plaguing me since I was in Korea), meeting Nora for a delicious pub lunch before her departure and implementing MiniMax for Pacman. It felt like a real result
Here’s hoping for a productive week ahead, now that I’m sticking to my Astrid tasks.