Here’s an interesting article with a stupid and misleading title on the role of what the author calls “cognitive disinhibition” – a fancy term for “allowing oneself to notice what others miss” – in enabling creative genius. While in many ways I could be a poster child for Simonton’s thesis (and I’ll get to those)… Continue reading Cognitive disinhibition: not the whole story of genius
Month: October 2014
When hackers grow old
Lately I’ve been wrestling with various members of an ancient and venerable open-source development group which I am not going to name, though people who regularly follow my adventures will probably guess which one it is by the time I’m done venting. Why it so freaking hard to drag some people into the 21st century?… Continue reading When hackers grow old
Moving the NetBSD repository
Some people on the NetBSD tech-repository list have wondered why I’ve been working on a full NetBSD repository conversion without a formal request from NetBSD’s maintainers that I do so. It’s a fair question. An answer to it involves both historical contingency and some general issues about moving and mirroring large repositories. Because of the… Continue reading Moving the NetBSD repository
Proving the Great Beast concept
Wendell Wilson over at TekSyndicate had a good idea – run the NetBSD repo conversion on a machine roughly comparable to the Great Beast design. The objective was (a) to find out if it freakin’ worked, and (b) to get a handle on expected conversion time and maximum working set for a really large conversion.… Continue reading Proving the Great Beast concept
Building the perfect beast
I’ve attempted to summarize the discussion of build options for the repository-surgery machine. You should see a link at the top of the page: if not, it’s here I invite all the commenters who have shown an interest to critique these build proposals. Naturally, I’d like to make sure we have a solid parts list… Continue reading Building the perfect beast
Black magic and the Great Beast
Something of significance to the design discussion for the Great Beast occurred today. I have finally – finally! – achieved significant insight into the core merge code, the “black magic” section of cvs-fast-export. If you look in merge.c in the repo head version you’ll see a bunch of detailed comments that weren’t there before. I… Continue reading Black magic and the Great Beast
Spending the “Help Stamp Out CVS In Your Lifetime” fund
I just shipped cvs-fast-export 1.21 much improved and immensely faster than it was two weeks ago. Thus ends one of the most intense sieges of down-and-dirty frenzied hacking that I’ve enjoyed in years. Now it comes time to think about what to do with the Help Stamp Out CVS In Your Lifetime fund, which started… Continue reading Spending the “Help Stamp Out CVS In Your Lifetime” fund
A low-performance mystery: Sometimes you gotta simplify
This series of posts is increasingly misnamed, as there is not much mystery left about cvs-fast-export’s performance issues and it is now blazingly, screamingly, bat-out-of-hell fast. As in both threaded and unthreaded version convert the entire history of groff (15593 CVS deltas in 1549 files in 13 seconds flat. That would be about 10K CVS… Continue reading A low-performance mystery: Sometimes you gotta simplify
A low-performance mystery: the adventure continues
The mystery I described two posts back has actually been mostly solved (I think) but I’m having a great deal of fun trying to make cvs-fast-export run even faster, and my regulars are not only kibitzing with glee but have even thrown money at me so I can upgrade my PC and run tests on… Continue reading A low-performance mystery: the adventure continues
A low-performance mystery, part deux
Well, the good news is, I get to feel wizardly this morning. Following sensible advice from a couple of my regulars, I rebuilt my dispatcher to use threads allocated at start time and looping until the list of masters is exhausted. 78 LOC. Fewer mutexes. And it worked correctly first time I ran it. W00t… Continue reading A low-performance mystery, part deux
A low-performance mystery
OK, I’ll admit it. I’m stumped by a software-engineering problem. This is not a thing that happens often, but I’m in waters relatively unknown to me. I’ve been assiduously avoiding multi-threaded programming for a long time, because solving deadlock, starvation, and insidious data-corruption-by-concurrency problems isn’t really my idea of fun. Other than one minor brush… Continue reading A low-performance mystery
Apologies for premature epostulation
I made a finger error. Full version of A Low Performance Mystery to follow shortly.
Implementing re-entrant parsers in Bison and Flex
In days of yore, Yacc and Lex were two of the most useful tools in a Unix hacker’s kit. The way they interfaced to client code was, however, pretty ugly – global variables and magic macros hanging out all over the place. Their modern descendants, Bison and Flex, have preserved that ugliness in order to… Continue reading Implementing re-entrant parsers in Bison and Flex
Time, Clock and Calendar Programming 1.0
A bit late, because I’ve been hammering on some code the last several days. But here it is: Time, Clock, and Calendar Programming In C. Suggestions for 1.1 revisions and improvements will of course be cheerfully accepted. Comments here or email will be fine.
In which I have reason to sound like Master Po
This landed in my mailbox yesterday. I reproduce it verbatim except for the sender’s name. > Dear authors of the RFC 3092, > > I am writing this email on behalf of your Request For Comment “Etymology of > ‘Foo’.” We are currently learning about the internet organizations that set > the standards of the… Continue reading In which I have reason to sound like Master Po
RFC for a better C calendaring library
In the process of working on my Time, Clock, and Calendar Programming In C document, I have learned something sad but important: the standard Unix calendar API is irremediably broken. The document list a lot of consequences of the breakage, but here I want to zero in on what I think is the primary causes.… Continue reading RFC for a better C calendaring library
48-hour release heads-up for Time-Clock-Calendar HOWTO
I’ve been gifted with a lot of help on my draft of Time, Clock, and Calendar Programming In C. I think it’s almost time to ship 1.0, and plan to do so this weekend. Get your last-minute fixes in now! I will of course continue to accept corrections and additions after 1.0. Thanks to everyone… Continue reading 48-hour release heads-up for Time-Clock-Calendar HOWTO
Press silence, black privilege, and unintended consequences
A provocative article at the conservative blog Hot Air comments on a pattern in American coverage of violent interracial crimes. When the perps are white and the victims are black, we can expect the press coverage to be explicit about it, with predictable assumption of racist motivations. On the other hand, when the perps are… Continue reading Press silence, black privilege, and unintended consequences