Thinking Parallel Blog

I just discovered Michael Sļ's blog on parallel programming. He comments pro and con about my DevX article.

more ...

Article on Using OpenMP with C++/CLI

My latest article on DevX shows how easy it is (in the best case) to use OpenMP with C++/CLI. OpenMP is a low-level library to help create concurrent operations. One of things I talk about in the article is that it is at the finest-grain (loops) and the coarsest-grain …

more ...

Fabian's HDR Photography

My friend Fabian Gonzalez is producing some great images with high dynamic range (HDR) photography:

This is a technique that attempts to reproduce the incredible range of light-to-dark that our vision system integrates. After taking 3 photos (over-, under-, and correctly- exposed) of the same subject (in this case, managing …

more ...

Programmers as Commodities

The answer is \~1.4X. Martin Paulo says it perfectly: "software developers are seen as interchangeable units, with actual hourly cost being the prime driver. The quality of the resultant code, it's correctness and the time taken to deliver it are all intangibles that are left out of the equation …

more ...

Don't Call A Delegate From Within A Critical Section

Before talking about value and reference types and delegates/closures, let me point out that Monitor-based locking has a fundamental flaw when working with delegates (the same flaw that it has with virtual method calls on objects): you can never safely call a delegate inside a lock-block that is holding …

more ...

Did I say "outputted"?

Blogging reminds me constantly of the value of editors. Er... "constantly reminds"...

more ...

Example of Surprising Closure Behavior

::: {style="font-size: 10pt; background: white; color: black; font-family: courier new"} What do you expect to be outputted from this program (note that line 19 captures the outer variable "i")?

[    1]{style="color: #2b91af"} [using]{style="color: blue"} System;

[    2]{style="color: #2b91af"} [using]{style="color: blue"} System.Collections.Generic;

[    3 …

more ...

The Myth of Elite Programmer Employment

James Robertson, advocating that people give 1-3 elite Smalltalkers a chance to take on a project that would take "commodity" programmers 6 months, says "Which will cost you more: Those two "cowboys", or the 10 "commodity" developers? Heck, let's say you find yourself 2 really good people, and pay them …

more ...

$170M FBI Software Failure: 730KLoc * $232.88 / line

\\(170,000,000 / 730,000 = \\)232.88.

Choice "incompetent software project management" quotes:

"[T]he FBI made a fateful choice: It wanted SAIC to build the new software system from scratch rather than modifying commercially available, off-the-shelf software. Later, the company would say the FBI made that decision independently; FBI …

more ...

Java May Get Closures: Functional Programming on the March!

Gilad Bracha has a substantive proposal to add closures to Java (for those familiar with .NET but not Java, this is generally equivalent to adding delegates and C# 2.0's anonymous delegates). The proposal has slightly cleaner syntax than what is in C# but I believe would reprise an issue …

more ...