Posts filed under the 'Blog' category


More on the lock-free stack/queue: memory fences

Last time I talked about the lock-free stack and queue, I was more concerned about proving that my code was free from the ABA problem than anything else. In making my argument I naturally glossed over such niceties as the .NET memory model and so assumed (pretty much) a sequential memory model, because, to be honest, that's how we think as programmers. […]

READ MORE

Someone is wrong on the internet — the lock-free stack edition

Getting on for 4 years ago, I wrote a series of posts on lock-free containers in .NET, like the lock-free stack and the lock-free queue. They were fun to write, mainly because of the difficulty of the topic and trying to rationalize why early versions didn't work, and so on so forth. Along the way I learned about the .NET memory model, volatile, memory fences, and other arcana, but in the end I had something that worked and worked well. Over the years since then I've had many emails from readers about lock-free containers and I've been happy to have been linked from many different places, so much so that currently I'm number 1 for "lock free stack" and queue on Google. […]

READ MORE

New calculator: Sinclair Scientific

I admit it, I am a helpless geek: I love collecting old calculators and computing devices. My wife thinks I'm bananas, and she may be right, but there's just something about holding something from the dawn of calculating electronics. […]

READ MORE

Printer CSS - call to action

Ned Batchelder is a tech blogger I like to read, although he tends to deal with languages and situations I don't. Nevertheless he comes up with some great insights that have applicability to what I do and some great topics that extend what I know. […]

READ MORE

Fixing this blog for Internet Explorer 8

As detailed over on my work blog, I installed IE8 RC1 this morning. Because my home page in IE7 was this blog (it is in all my browsers), it was the first thing to come up in IE8. And IE8 immediately flipped into compatibility mode and displayed the page as if it was IE7. To put it mildly, this was both weird and aggravating, since the whole site validates both as XHTML 1.0 transitional and as CSS 2.1. There should have been no problem. […]

READ MORE

Archive Calendar for GraffitiCMS now resets stats

After a while of using my archive calendar, the statistics for page views were starting to get really skewed in favor of the archive "post". It finally got to the point where the graph that's displayed under the Reporting tab in the Graffiti control panel had a line for archive that was 5 times longer than the nearest "real" post. Since the information about the number of people using the archive system is not that interesting to me, it was time to do something about it. […]

READ MORE

A day amongst days

It's been a day. Or, rather, Day: it deserves to be capitalized. […]

READ MORE

Scott Cate's 404 manager for GraffitiCMS

File this under the, duh, why didn't I think of that category. Scott Cate has written a neat little widget/Chalk extension for Graffiti CMS that tracks 404s on your website. […]

READ MORE

Chaining fun with window.onload

I set myself a task: write some raw JavaScript for a web page. By raw, I mean no jQuery, no Prototype, no MooTools, just me and the editor. […]

READ MORE

Archive Calendar for GraffitiCMS released

Well that didn't take too long. Just enough time to open up an account at CodePlex, start a new project, point TortoiseSVN at it, and upload. The biggest time sink was actually the readme file and deciding on the license (I went for the MIT license). […]

READ MORE