Ropes I Know

January 31, 2010

OpenCV with VS 2005

Filed under: Computer — Tags: , , , , — Yeti @ 16:50

Since I’ve had some trouble getting OpenCV 2.00 to work with my Visual Studio 2005 installation, I’ld like to share the following post by Sergey Ten.

It saved me a lot of trouble. Sadly, I had spent half a day having trouble before I stumbled across his explanation.

For the lazy, here’s the summary of his summary:

After installing CMake, reboot (even if the installer won’t ask for it!) or it will not function!


September 13, 2009

.NET – Discoveries

Filed under: .NET, Computer, Programming Languages — Tags: , — Yeti @ 8:45

ApplicationContext Class (System.Windows.Forms)

.NET Framework Class Library
ApplicationContext Class

Specifies the contextual information about an application thread.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in

Even after several years of heavy C# / .NET – programming, I occasionally stumble upon something I have long since implemented a replacement method, only to discover that there is a class and and a standard method to do this. This standard method often proves to be a one-to-three – liner whereas I have hacked together a class hierarchy of several hundred lines-of-code.

And hey, sometimes it even works and if not, I have always learned quite a lot.

I know, sometimes people consider this trial and error method “Cargo Cult Programming”, but if I afterwards discover how it should be done, and realize that I’ve hacked in the right direction and have learned the “standard” method.

Does any of that make any sense to anyone?

P/Invoke the easy way

Filed under: .NET, Computer, Programming Languages — Tags: — Yeti @ 8:30 the interop wiki!

A wiki for .NET developers is primarily a wiki, allowing developers to find, edit and add PInvoke* signatures, user-defined types, and any other information related to calling Win32 and other unmanaged APIs from managed code (written in languages such as C# or VB.NET).

.NET developers worldwide can easily contribute to the community, sharing their valuable knowledge, whenever they have time to do so.

February 28, 2009

Ok, I’m convinced … or converted, rather

Filed under: Computer, Concurrency, Software Development Cycle — Tags: , , , , , — Yeti @ 17:28

Any accidental reader of this blog can from now on consider me an “ex-subversion-user”, because of this:

Just like Torvalds, I hated cvs from the instant I had to use it the first time. Nevertheless, I forced rcs on my colleges at some point, later someone forced svn on me and I thought, “this is it.” Bitkeeper I don’t know.

From now on, I’ll be using git, and I have already started doing so.

I urge anyone seriously interested in a really distributed system to have a look at the video!

(gefunden auf Fefe’s Blog in diesem Eintrag)


August 11, 2008

Private Projects

Filed under: Computer, Simulation — Tags: , , , — Yeti @ 22:57

I present a list of some of the private projects (not only programming, some of them involves hardware) I’m currently working on. This blog entry will also stay here as a permanent (and – hopefully – growing) page.

When I get around to it, I will create sub-pages pointing to more information regarding the particular project, but for now I will only list them here with my working title and a short description of what they’re good for (or will be at some diffuse point in the future).

Watch the pages-entry to the right.

So here we go …


That’s the one into which I have put most of my current effort. It simulates the functioning of a (smallish) brain by mimicking the inner workings of real neurons to the extent that I thought made sense. It has an unlimited set of types of neurons, (more…)

August 10, 2008

C# (or .NET) Really Helps

Filed under: .NET, Computer, Programming Languages — Tags: , , , — Yeti @ 7:25

Some time ago, I realized why I really like C# (or .NET, for that matter), now I decided to try and put it into words.

I program a lot. I mean, an awful lot, really. Just as a brick-layer layers an awful lot bricks, because that’s what he does all day. Modularity has always been one of my concerns, but it never really worked up to the point of really reusing code. I mean reuse as in: just use it again. Full-stop. And not, “oh, I did something similar some time ago, I’ll just copy ‘n paste this stuff into this project and adapt it to my current needs”.

Curiously enough, since I started to rely heavily on managed code and, more specifically, on C# instead of good-ole C++, ever more pieces have started to fall into ever more places where they seem to fit … (more…)

August 6, 2008

Concurrency Helper – Classes

Filed under: Concurrency — Tags: , , , , — Yeti @ 21:17

I have updated my concurrency-page.


… If a thread does a Deqeue() on an empty queue, it is blocked automatically until someone Enqueue()s a new item into the queue. Several threads can access the ThreadBlockingQueue at the same time, regardless if it is a read- or a write-access …

Read more …

July 21, 2008

That pile of shit again …

Filed under: Computer, Programming Languages — Tags: , , — Yeti @ 23:54

This post is in reference to the “Visual C++ Team Blog

Just a short quote as a teaser:

At first glance it does appear that the user is correct – but looks can be deceiving. Just because the string class has a converting-constructor from a string-literal doesn’t mean that the compiler has to use it. For the first argument to the function call, the conversion is straight forward – both of the candidate functions expect a string and so the compiler will use the provided converting constructor to convert the string-literal to an instance of the string class. The second argument is not so straight forward. For the first function the compiler can again use the converting-constructor, but for the second function it can use the standard pointer-to-bool conversion to convert the string-literal (which the compiler will consider as type “const char*”) to bool. As this is a standard conversion, the C++ Standard considers this conversion to be cheaper than calling the converting-constructor (which is a user-defined conversion) and hence the second function is a better match than the first function and the compiler, correctly, calls that function.

No need for me to comment on this. ’nuff said.

June 28, 2008

“Effective Concurrency” by Herb Sutter

Filed under: Computer, Concurrency — Tags: , , — Yeti @ 12:58

I’m a regular reader of Sutter’s Mill (as you can guess from my blogroll).

Herb Sutter is generally considered a leading authority on software development. Here you can read a bit about him, he’s involved in just about everything you would consider cutting edge in software development. I strongly recommend following the link to the article “The Free Lunch is Over” – but you could just as well follow it from here directly. 🙂

Just have a look around his blog, he’s got many, many, very interesting things to say. And he’s got a big archive as well.

Since I’m particularly interested in high performance and real-time computing, I especially enjoy his ongoing coloumn at Dr. Dobb’s Journal about “Efficient Concurrency”. His publications are real gems of information, so I thought I’ld share them with possible readers of my still young and meager blog.

His latest post is on concurrency-friendly data structures. His writings generally touch things you wouldn’t suppose they could have such a large impact on efficiency. In his post you’ll find an excerpt of the latest journal-article, plus links to all the ones published at DDJ. This is definitely recommended reading for anyone seriously into software development who wants to benefit from the ever-increasing number of cores in modern CPUs despite the stagnating increase in clock frequency and overall efficiency of single cores.

I have started to build a page where I want to accumulate interesting facts, thoughts, links and perhaps common misconceptions, regarding software development in modern hardware (and network) environments. Things I have learned the hard way (meaning: by myself, while developing software that had to have higher performance than at the time was considered normal), things I have learned from others, even things that are so fundamental that they haven’t lost significance even if they’re some 30 years old. I’ll just say “The Art of Computer Programming” and “Don E. Knuth” at the moment, more on this is to come on the page(s) I’m setting up.

Perhaps you might want to check back from time to time, because I will announce here if and when I update these pages.

Oh, and remember to check Herb’s blog!

April 5, 2008

Why C Is a Pile of Shit

(edited for code-readability)

Consider this:

int main()
unsigned int u1 = 1;
unsigned int u2 = 1;
int k;
for (k=-u1; k

Create a free website or blog at