Ropes I Know

Thoughts on Modern Software Development

I’m planning on using this page as the starting point to accumulate thoughts (and perhaps wisdom) regarding software-development that I learned in the 25 years that I have now been involved in computer-programming.

Since the blogging-method does just not seem as the right means for this end, I’ll use a hierarchical page structure. But I will announce updates to this page in my blog in the related categories.

So here we go:

Link-Clearage

  • an upcoming post and a planned series of mine …

Helper Classes

In the course of my current development project I have written a few classes that help me to keep the CPUs of the target machine busy – and it has two of them, each with four cores (Intel Xeon Quad-Core @ 3 GHz). Despite being a commercial project (I’m at the moment making most of my money off it, for one and a half year now and it seems as if we keep going another one or two years) and me having signed an NDA, I have been granted the right to use or publish code that does not disclose the technology being developed, in other projects – commercial or non-commercial or whatever. I have been granted these rights in return to the fact that I use tools that I have developed in the course of other projects.

The first one I’m going to publish (not here, but on SourceForge) as soon as I have refactored it to the point of being publishable, is an extension to the .NET Generic.Queue – class. It simplifies the task of feeding work-items to different threads without the need for the threads to do the synchronizing themselves. It’s called ThreadBlockingQueue for the following reason:

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.

So, after the clean-up of the code is finished, I will publish it on SourceForge and will give a notice here.

Planned Topics

  • Different programming languages, their pros and cons (aka the right tool for the job)
  • “High performance” computing on modern (and to be expected) multi-core hardware
  • Application of different “techniques” modern systems (languages, frameworks, libraries) provide, such as, eg.:
    • C++ templates and the standard (formerly called ‘template’) library
    • Generics in general
    • How the Microsoft .NET – Framework makes life much more easy
Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: