I’ve been attempting to boost the number of people reading this blog in the last few weeks. Mainly because the more people there are reading the more likely I am to get feedback in the form of comments and postings that link to me and I find the feedback really useful; having your views challenged is the best way to learn…
Anyway, I started off by reading a load of good stuff over on Darren Rowse’s ProBlogger blog and one of the postings was about a service called BlogExplosion.
It must be a deadlock kinda day. Pete McKinstry points to a Java deadlock avoidance scheme which involves knowing and using a total ordering of the locks that you wish to acquire. This is similar to Andrei Alexandrescu’s C++ idea of always acquiring multiple locks in increasing memory address order.
Both of these are fine if you can get at all of the locks from one place. I find that that’s rarely the case and more often the locks are within objects and I don’t want to break the encapsulation to expose the need to lock around a method so that I can grab the lock that’s inside of the object and then use it from outside of the object in some multiple lock, deadlock avoidance, total ordering, code based lock scheme… In my opinion these ideas are all well and good in theory but just don’t tend to work in practice if you are working with properly factored code….
From C++ Potential. In a posting about changes to the compiler switches in Visual C++ 2005 Brandon mentions that they’ve removed the single threaded C runtime library options.
Does anyone out there use the single threaded CRT anymore? I can’t remember when I last used it. I doubt this will cause me or my clients any great problems and I guess VC6->VS2003 still works ;) for those for whom it is an issue.
Simon says; I’ve stopped using ?: because it isn’t as readable as an if .. then .. else.…
I, personally, don’t find the readability of the conditional operator (?:) a problem. No more than I find readability of assignments or pointer operations a problem. I can see how that since the conditional operator is only appropriate for use in certain circumstances, some programmers may not have come across it very often and for them it may be harder to understand than a construct that they know well.
Robert Scoble, and others, are discussing blog search engines at present. It’s quite interesting to see that there are lots of different approaches to the same problem. Mary Hodder’s article is good in that it explains a bit about the differences in how Bloglines and Technorati get their figures. I guess it’s early days in the blog search engine space but none of the existing offerings really do what I’d like ;)
Richard Hale Shaw is writing some blog entries about moving away from C++ (to .Net). But then he would say that, wouldn’t he. His job includes providing courses for people learning .Net… ;)
Anyway, I’m sure it’ll be an interesting series of articles, especially given his current views on C++…
I think Richard’s being a bit harsh to say that C++ is just a procedural language with an OO retro-fit. Sure, you can write procedural code in C++, but then you can do the same in most OO languages if you try hard enough.
Sahil Malik doesn’t agree with Jeremy Miller’s description of excessive tracing being a code smell. He suggests a ’neat’ way to get around the problem but, IMHO, he’s completely missing the point, and I’ve said as much before. Oh, and I agree with Rockford, the ’neat’ way stinks ;)
Firstly, Sahil seems to have misunderstood the smell. It’s not seeing the output (which is what his ’neat’ trick avoids) it’s having the log statements in the code in the first place.
My <pre> styling looks OK (to me at least) in IE 6 and horrible (double spaced and strange) in Firefox. Can anyone tell me why?
The CSS looks like this:
pre { color : #990000; font : "Courier New", Courier, monospace; font-size:small; font-weight:normal; padding : 5px; line-height:100%; }
Seems like I broke it when I added the GoogeAds for that feed…
RSS 1.0 (full articles)
RSS 2.0 (extracts)
Software development is hard. Lots of details that are hard to get your head around and harder to simplify. CodeProject is a wonderful resource for Windows programmers where programmers try and make the complicated more simple for others; I view it as giving something back. If I’ve spent several weeks fighting to understand a problem and now I do it’s nice to write up and article and post it, either here, or on CodeProject, so that others don’t have to fight so hard.