A Sunday Roll
Last Sunday, Bent, Tine and I decided to paddle a tour on Odense Fjord. The weather was fantastic and Tine told me the water was about 2°C. This might sound very cold, but I am equipped with a neoprene long john and dry jacket, and as an exception I even had my neoprene gloves on (instead of the pogies I usually use). I tried falling in similar water temperatures and it is not all that bad.
The tour was relaxed, and with the February sun warming us we were having a great time.
At the end of the tour I wanted to try out rolling my kayak in the canal in front of the club house. It would be my first time I'd roll outside of the swimming pool and the first time to do it in my own kayak. I found it such an exciting prospect that I was willing to overcome the coldness of the water. I felt like I had 50% chance for the roll to succeed and expected that I would need to do a wet exit.
Blog about fun in programming, bicycle building projects and my adventures in kayaking.
Wednesday, February 29, 2012
Friday, February 24, 2012
My danish rye bread recipe
Here is a recipe of basic danish rye bread ----there are so many recipes around; everybody seem to have developed their own. But anyway, this one is mine and truly the best one! (only joking!)
Thursday, February 16, 2012
Locking Style for Concurrent Programs (c#)
As a job I do a lot of asynchronous programming. I have been working intensively with multi threading some 6 years now (before that I did programming on Unix in c++).
As a consequence of the problems I encountered during this 6 year period, the way I use locks has changed a lot. The most recurring problems were:
As a consequence of the problems I encountered during this 6 year period, the way I use locks has changed a lot. The most recurring problems were:
- deadlocks.
- pumping on the UI thread. When the UI-thread waits on a lock, the runtime can decide to start pumping on that call stack!!! This way *any* code can be called from nearly any point in your code. This can easily cause deadlocks or other (crazy) faulty programs because of unexpected reentry.
- performance: I used to take my locks over longer periods of time. For example during doing I/O or remoting to get some kind of serialization behavior. Instead it has shown to be a better idea to schedule work where possible, as it is often not important when something really happens.
Labels:
.net,
concurrency,
csharp,
locking,
programming,
style guide
Monday, February 6, 2012
Replacing the seat in my nelo inuk
When I bought my nelo inuk kayak, I knew very well, that the factory seat was too narrow for my wide hips. I could just about fit in between the vertical edges, but could only rotate little bit in the seat.
So I decided to replace that seat with a high back racing seat. Peter Unold did the same thing a few years ago, and he used a board as a base for the seat. This increases the seat height, making the boat more tippy. I tried to install mine without changing seat height.
Subscribe to:
Posts (Atom)