March and May Capers

Wowza, where the heck has all this time gone? Last time I checked the damned calendar said March on it. Or Mars, in the case of my work calendar (Jeg prøver å lære litt Norsk). I’ve been absolutely flat-out busy with work over the last few weeks, and creative writing has sort of been pushed aside in the name of sleep. Darn, it’s been so damned long I can’t remember what the heck I was going to write about. Oh well, the following is written in the order I remember it.

Breakfast on the Hurtigruten

In Norway there is a popular tourist cruise/transport line called the Hurtigruten, which is a series of small(ish) ships that sail between different cities along the coast of Norway. The whole thing seems to be incredibly efficient, with the company having enough boats to have two departing daily; on sailing up north, with the other going south. Patrons can book seats or a cabin and can choose how many days they want to spend on-board – you can choose to just sail up one or two cities for example, rather than go on a full round-trip.

In early March (again, wowza) the Ex-Pat office invited us to go on board one of the boats for a buffet breakfast, so we could see what it was all about. In the interests of cultural and culinary exploration we accepted, and so braved the – at the time – rather chilly weather to walk all the way down to the docks. The boat in on this particular day was the Nordkapp:

M. S. Nordkapp

One of the newer boards in the fleet. There were a couple of quite nice decks in the boat, with a stunning observation deck that must be a lot of fun to be in during the bumpy winter season:

Nordkapp Observation Deck

On the top deck was a traditional frame containing dried Stockfish – a Norwegian delicacy. I think it was there as a homage to the old Norwegian fishing boats, but right now I can only say be glad this isn’t smell-o-vision:

Dried stockfish on the Nordkapp.

After eating our fill of what we’ve discovered is the standard Nowegian breakfast buffet (I still don’t know who wakes up in the morning craving beetroot and mackerel) we went on a short tour of the ship, watched an informative if a little dated documentary on the transport line and then headed home. I was actually quite charmed with the whole experience; in a few months I might book Anika and I on it and sail down to Bergen for a few days.

The 17th of May

One thing I discovered recently; the 17th of May, Norwegian Constitution Day, is a big deal. Far from being just a regular public holiday, it gives an excuse for everyone to put on their Bunad and throw the biggest, craziest parades you can possibly dream of. Here in Trondheim, there was actually two parades – one early morning for the children, and another in the early afternoon for everyone else. Since we live very close to the city center, we were woken up by the melodious sounds of a brass band warming up, rather than the usual church bells.

Unfortunately however I managed to miss both parades, although I did see part of one televised from Oslo. Instead of braving the hoards of people and the rain to see the members of the Norwegian Mustache Club give their best parade impression – no, I’m not even kidding for once – I was instead attending yet another amazing party thrown by Paal, my co-worker-slash-partner-in-crime. A few other people from different departments were there also, including Eivind (founder of AVRFreaks.net) and his partner, but I was flattered to be the only Apps engineer other than Paal himself. Paal knows how to throw an damned good party, which meant I ended up having to suffer through veal, scrambled eggs and smoked salmon, fresh bread, cured meats, cheeses and good company. This might look like a stock photo, but I assure you it’s a genuine Paal party:

Norwegian Constitution Day Brunch

Becoming one of the unwashed masses

I used to use that phrase jokingly, but a few weeks ago it became a bit of a harsh reality. After discovering a minor drainage problem with our bathroom shower a few weeks ago (we got out of the shower to find a swimming pool where the bathroom floor used ot be) we called a local plumber. After a week of waiting and one minute showers – the plumber got sick the day after I called – he came and took a look at the problem while I went off to work.

When I got home, I was a little suprised to find a spotless bathroom – sans shower. Apparently the old unit had become defective, so the plumber had gone the sensible route and removed it completely. But not to worry, we would have a new one by the end of the week!

Cue several days of me going into work early just to use the work showers, something I’d rather not have to repeat in the future. There’s just something about having to get on the bus without my morning shower than puts me off for the rest of the day. That said, the new unit did indeed arrive by the end of the week and we now have a functional, and functioning, bathroom once again.

Spring is Here

Spring – and now summer – has finally come to Trondheim. It’s hard to believe that a city that used to look like Frosty the Snowman’s village now looks like this:

Park in Trondheim, overlooking the area near where we live.

In fact, it’s now actually quite warm during the days, and everyone’s now flocking to the local parks for picnicks and other outdoory activities. Anika and I went on a picknick yesterday for lunch, sitting in a park along the river and catching some of the sun. Being in Trondheim in 20 degree heat is certainly much nicer than last time’s -20 degrees, that’s for sure.

Picknick in a park along the Trondheim river.

Anika’s Birthday

This week it was Anika’s birthday, and as a result we decided to go out and try a new local restaurant. After going through the menus of what must have been half the food establishments of Trondheim Anika settled on “Two Rooms and a Kitchen” (To rom og kjøkken) as our final destination. The food was very nice; I have to find out where the heck the local eateries are getting their dinner-plate sized scallops, as I bleeding want to buy a ton of them and cook them up for my dinner at home. I ended up forgoing dessert as I was completely full, but Anika being Anika, she unsurprisingly had a little room left over for a “Chocolate Sandwich”, a dessert made from frozen mousse, sorbet, fruit and soft biscuit. Yum.

After dinner we went back to the local Kinosenter and saw the new Men In Black 3 movie. I happen to love the first two campy films dearly and the new one wasn’t a disappointment, but I was struck by how different in tone and in some ways style it was when compared against the earlier films.

Video Madness

Last week I managed to get roped in volunteered for piloting a new project at Atmel. I can’t say much about it right now, other than to show this:

Should it ever see the light of day, keep in mind I had thirty minutes preparation and it was supposed to be a test-video only. That didn’t stop it being shown at a company wide weekly meeting last week, unfortunately.

That’s all for now – plenty more to write about, but I’ll save it for another day (but not one as far away as this post was from the last). I’ll be gearing up for a public beta test of a new LUFA release soon.

 

The Arrival

Last week FourWalledCubicle had a bit of a “whoopsie” where a credit card was changed without notifying the hosting server company, resulting in the site being turned off for a day. That’s all resolved now, so 4WC should keep chugging on for at least a little while longer. Special thanks to said company for turning it off right in the middle of a world-wide holiday when people are most likely to want to start playing around with LUFA. Oh well, it’s back now.

Two days ago, on Friday, something miraculous happened – my boxes of junk super-important treasures from back home were delivered to my new house in Trondheim! They’ve had quite a long journey, as I shipped them off back in January just after I left, resulting in a three month wait for them to turn up in Norway. Shipping things half way across the globe is damned expensive and damned slow, but I think that’s just a function of the source-to-destination route being a rather uncommon one. All the boxes turned up intact, and it looks like nothing is lost or damaged.

Our boxes of stuff, shipped from our home back in Melbourne, Australia.

Anika and I are now busy unpacking all our clothes, gizmos and gadgets, which is like having a second Christmas. Except, you know, with second hand stuff rather than new toys (albeit ours). Frankly I’m just thrilled to have all my electronics gear back again, as I was going a bit spare trying to develop without any real tools other than what I could temporarily scavenge from work. An AVRISP and a Xplain board alone does not a good time make for serious development.

Actually, I’m rather excited by the kitchen goods, as it means we now have a kettle and rice cooker again. I’m not sure why it’s impossible to make good rice in a saucepan, but I’m quite happy to defer the task to a precisely engineered piece of technology that does a bang-up job of it.

After a few false-starts, it looks like Spring might actually be coming to Trondheim this year – the snow has all melted (again) and the weather is getting warmer. During the Easter break it snowed almost every day, which while scenic, sort of sucks when you have to go to work (I didn’t take the Monday-Wednesday time off, to conserve my vacation days). I do like snow, but when you’re standing in a snowstorm getting cold and wet the novelty does tend to wear off a bit.

Trondheim, during the springtime.

(More Pictures Here)

Anika’s also been trying her hand at cooking some different recipes, and I’m a more than willing test subject. We’ve been making our own burgers, tacos and burrito wraps, but Anika’s also made Tuna Pasta-bake, Toad in the Hole, and a Salmon pasta – all delicious. Just look at this thing:

Anika's Toad in the Hoie

You better believe I ate all of that.

There’s been some big LUFA changes made over the last few days, but I’ll save that for another post this week. In the meantime, check the repository commits!

 

Amsterdam, et al.

Time for an update; an enormous amount has happened over the last few weeks, and I keep meaning to write about it all here – but then I get home after work and I’m so tired I end up just wasting my time instead. The weekends are no better; I’m either doing something, or sleeping in. As a result, this will be as usual a bit haphazard.

 

Thomas Has Left the Building

Over the last three months I got to make friends with a nice guy named Thomas, who was here at Atmel Norway on a short internship over from Germany, much like I was a year ago. That is, the internship part, not the Germany part. I was a bit sad to see him go two weeks ago, but alas all good things come to an end. Thomas has put in an application for Atmel in the Heilbronn (German) Automotive arm, which means I might not get to see him again for a while. Not to worry, thanks to the Internet everyone’s just an email away.

 

Anika has a Job

After driving me mad spending some quality time home while I went off to work each day, Anika has found herself a job working at a local international school, as a replacement supervisor. Frankly the thought of having to supervise a bunch of 3 year old children all day fills my own heart with a cold terror – previously known only to those who just realized that train horn and whooshing noise was directly behind them the whole time – but she thinks is a great riot. Actually, I think she’s very well suited to the task, and it’s great that she’s found a way to have fun and get paid at the same time.

 

Laptop Repair

Several months ago – just before leaving for Norway – the screen on my nice and otherwise reliable Dell laptop died. I got it replaced, but the replacement screen was also mildly faulty, requiring another repair here in Norway. One would think this was simple, but through a comedy of errors this actually took several weeks, some very confused technicians and a lot of emails to get done. Firstly I had to fill out an ownership transfer form, to change the warranty address over to my new apartment in Norway. Through some sort of error on Dell’s side, this got changed so that the registered owner name was “Mr Test Customer”. Next, they couldn’t call my international SIM card in my phone to schedule an appointment – so they called the front desk instead. As our work just happens to use nearly identical model laptops, the call was routed to the Atmel IT department, who were (rightly) confused about it since the customer name wasn’t right and the service tag code didn’t exist in the Atmel database. Next the Dell technician called my coworker’s mobile phone as a backup – which would have been great if he had not been in France at the time. Now I ended up with two countries’ worth of Atmel engineers and technicians confused. After a lot of explaining and running around, I once again have a properly working laptop.

 

Phone Plan

Lesson learned: buy a phone. I actually tried to to this yesterday, but ended up giving up after the guy in the shop couldn’t give me a straight answer on the total plan cost. This should be simple: choose a phone, choose one of the three plans they offer, and get a total cost/monthly cost estimate. What I got instead was a two minute long explanation of formulas (I think there was a Fourier Transform in there somewhere) they use to figure this out, and no actual total amount. I’m not about to sign something where the salesman is being shonky, so I’ve left it for the moment. Phone companies are all crooks, no exceptions.

 

Haircut

I also got a haircut yesterday. Ordinarily this wouldn’t be newsworthy, but this was my first haircut I’ve had while in Norway (last time I just toughed it out the three months – never again!) and the guy in the shop didn’t speak English. The actual result is fine, but I really think I should have been awarded the Purple Heart of courage for not bolting as soon as he pulled out the electric clippers, after fruitlessly trying to explain how I wanted it – specifically, that I still wanted some of it on my head after he had finished with it.

 

Amsterdam!

And now the big one! Last week Anika and I flew down to Amsterdam for the extended weekend, from Saturday to Tuesday for a short holiday. This coincided nicely with her sister and her sister’s boyfriend’s entrance into the same city, as they are currently doing a crazily long five week slog across Europe. It was really great to catch up with some familiar faces from back home in the flesh, even if we haven’t really been away from Australia all that long yet. After arriving Saturday afternoon, we all met up and decided to walk the streets looking for a place to eat. I was ready to experience some rich local Dutch food, but it turns out this is almost impossible to find; Amsterdam has a million Argentinian and Italian food places for some reason, and not much else. Quite baffling, but we settled (eventually) on a pizza place that didn’t look to shabby. Half way through dinner an extremely fat black cat came over and sat next to us for a belly rub, which we were later told was fearsomely pregnant and not just the result of eating the leftovers every night.

After wandering around Amsterdam for a bit, I’ve come to a conclusion; if you can’t eat it, drink it, spend it, smoke it or, ahem, “make love” to it, they don’t think it’s interesting. It’s a city where there are a thousands coffee shops, but no one’s serving coffee. Incidentally, I always wondered why it was called the “Red Light District” – and now I know. Hrm.

Our hotel in Amsterdam was basic but clean – but thanks to the classical “tall and skinny” Dutch architecture I had to lug up our suitcase up several flights of stairs that looked like this:

Which was more of a carpeted ladder than stairs.

 

On Sunday, we all went off early in the morning to visit the Anne Frank museum, which was both fascinating and horrible at the same time. I always wondered how you could hide people in a house and not have anyone find out (well, for two years at least) but having been there, frankly I think I would have been just as bamboozled as everyone else. The cramped together houses seem to enter some sort of extra dimension inside, where it is difficult to make out how all the internal rooms fit into the spacial area allotted to the interior.

Afterwards we met up with my AVRFreaks friend Nard, who was generous enough to sacrifice his Sunday and put up with us for the day – we ended up visiting a historic windmill museum called Zaanse Scans. It was actually quite fun; after walking around the main museum building we then walked around outside and visited each of the old windmills. Nard, despite his protestations, was an excellent tour guide and funny to boot, so everyone had a great time. It’s kind of hard to argue with views like these:

And some bonus videos (commentary by Nard):




Much fun. Hopefully I’ll be able to go back soon and see Nard again.

On Monday, Anika and I ended up going to the local Zoo. I wasn’t expecting something all that good given the location in the center of Amsterdam, but it seems the Dutch animals are more resistant to the pervasive pot-smoking-hippy smells than myself, as there was a ton to see and plenty of animals I had never seen before. We have some decent zoos back home, but seeing Tapirs, pink Ibis and Egyptian Eagles was really interesting. Since Anika took a million, billion photos, I’ll just link to the photo gallery instead of putting them all up here.

Before we left, we stopped off at a local Dutch pancake house for lunch, resulting in Anika getting this:

And me getting this delicious monstrosity:

Mmmm, bacon. In the pancake. The Dutch really know how to make a decent breakfast.

 

The King’s Speech

Well, it’s been an interesting could of days. I had planned to go off to the magnificent – or, so I’m told – town of Røros, but alas, Anika and I weren’t feeling our best last Saturday and couldn’t stomach the two hour bus trip. I’m actually quite bummed about it, since I really was looking forward to seeing what my co-workers described as “the place where Norwegians go to feel Norwegian”. Oh well, next time.

Instead of spending the day in a scenic town relaxing and soaking up the atmosphere, I ended up making myself useful and constructed our new Ikea furniture that we bought last week, with some birthday money sent to me from my parents. The best way to describe the construction of a piece of Ikea furniture is “it’s like LEGO for adults, but one of those knockoff discount kits that only make one thing and all the pieces don’t quite fit”. I managed to give myself a bunch of blisters, but in the end we now have tables (yay!) and precious, precious chairs (huzzah!). Putting this together with the bed we bought previously, we now have about two thirds of a home filled with super cheap but super utilitarian furniture.

Table and two chairs for meals, next to the big window so we can look out while we eat.

Finally, somewhere to put my laptop so I don't cook my unmentionables while compiling code. Note the high quality drink coaster I'm using.

Two chests of drawers, some assembly required. I need a hammer.

My co-worker Alfonso was conveniently moving house on the weekend, and offered me a free microwave on Monday night if I was willing to pick it up. Since it wasn’t too far away from our house, I gratefully said yes. When I arrived, said microwave looked like this:

My new microwave, paid for in sweat and tears rather than dollars and cents.

But closer to home, it felt more like a 10 ton weight, and gave me a severe case of Gorilla-arm. It didn’t help that at the halfway point lay Den Gode Nabo, which tempted me dearly to just chuck it in the river and have a drink instead to cool down. Instead I managed to take it the rest of the distance home, and it’s now sitting in our apartment.

 

Speaking of Monday night, my boss at work asked me to give one portion of the monthly “AMAC” call, which is an initialism whose meaning is lost to me but is basically a call made out all the FAEs (Field Application Engineers – think Avon sales ladies, except bearded blokes with bags of electronics instead of makeup) from the global Atmel applications teams. The goal of the call is to keep everyone up to date with new advancements like the just released Atmel Studio 6 beta. My speaking part was short, but Kristian thought it would be a good learning experience for me. Nothing like sitting in a room nervously with a speakerphone, a hushed silence and a bunch of PowerPoint slides to give yourself a real “The Kings Speech” vibe.  I’ll forever remember my friend Thomas looking over the global email invite list and uttering some words of comfort: “oh, that’s a lot of people”. Thanks Thomas.

It ended up going better than I expected, but I’m definitely happy to leave presentations up to the professional presenters where I can.

 

In LUFA news, I’m still evaluating the best test strategies I can add to the repository to help keep a high code quality, and automate checks where I can. I’m going to look into some unit testing frameworks soon, but right now I’m writing some custom standard build tests, to build various modules in various configurations, and do a few sanity checks on the code. The goal is to get the code into a state where it can easily be ported to other C99 conformant compilers in the future, although that is a distant goal right now as I have a million other more pressing tasks to accomplish. This week I discovered a particularly cool free piece of software called CPPCheck, a static code analyzer for C/C++ code. I’ve tried to use tools like Lint before in the past with terrible results, but CPPCheck worked first time. After running it through the entire LUFA codebase I found just one real error in an unused application and a few benign warnings, resulting in a surprisingly small changeset to correct the discovered issues. Well worth the small amount of effort to integrate into the code base.

Further down the track I want to start adding in some additional tests – unit tests on the various sub-modules of LUFA, semi-automated functional tests and other similar tests. Getting XMEGA support in is a priority, but so is maintaining a good quality of code for the existing source tree. All very exciting stuff, inspired by the internal systems I now use every day to do the same with the slightly bigger ASF project. Well, not the static analysis, that’s not being used yet.

 

LUFA 120219 Released!

The latest LUFA version, 120219 is now released! This version contains many bug fixes that are rather critical to all users, so please upgrade. Once again, as always, a big thank you to the wide(ning) community around LUFA for all your help.

In this release the CDC driver issues of LUFA 111009 are fixed, along with many other improvements and upgrades. This is also hopefully the last release before XMEGA and AVR32 devices are fully supported along with demos, but I can’t promise anything just yet. I’ll put a link to the changelog below, so you can check out exactly what’s been altered without having to have me list it all here.

 

Over the weekend I implemented the start of a new BuildTest system, what will eventually become a set of unit tests and build tests to verify as much of LUFA as possible in an automated manner. It’s in its infancy at the moment, but even with the very simple test scripts I have now I already uncovered a few latent bugs which are now fixed in trunk and this release. In the future, I hope to add in a few automated scripts to compile, program, run and verify a set of basic applications on real hardware.

 

Without further ado, I give you LUFA 120219:

Download Package: LUFA 120219 (changelog)

Precompiled Documentation: LUFA 120219 Documentation

Online Documentation: LUFA 120219 Online Docs

 
 
 

Vital Stats

  • 35 Years Old
  • Australian
  • Lover of embedded systems
  • Firmware engineer
  • Self-Proclaimed Geek

Latest Blog Posts

RSS