ned Productions Consulting

Technology musings by Niall Douglas
ned Productions Consulting
(an expert advice and services company based in Ireland)

Friday 26th May 2017 12.37pm

Link shared: My recent radio interview on the Google Summer of Code programme at Boost and my proposed Boost.Outcome library currently undergoing peer review.

Thursday 11th May 2017 4.42pm

Just sent off my Outcome library for Boost peer review, so it is now frozen for the next few weeks while people study it and find many, many problems in it, and decide if it should be accepted or not. It's taken three years to get to now, my thanks to everyone who helped make it happen. I am having a beer (pictured) now this intense sprint of work to

Tuesday 2nd May 2017 2.47pm

My latest conference video, this one being on the lightweight monadic transport expected<T, E> proposed for C++. This is my first conventional "knowledge transfer" talk where I simply pour knowledge out of my brain into the jug that is the audience as is traditional pedagogy, up until now I had argued a case or had done workshops, knowing that conference organisers always feel a lack of the latter and therefore tend to accept workshops quicker.

Monday 24th April 2017 12.54pm

Arrived at the ACCU conference with family after a very hectic morning during which none of us ate food yet. So famished, got started with a liquid lunch obviously until the food arrived. Kids have been amazing given the lack of food. Hope they have as much fun as they did last year.

Saturday 8th April 2017 11.49pm

Link shared: Proposed Boost.AFIO v2 is resurrected, and now passes all its unit tests for the first time since Oct 17th. All the work done to proposed Boost.Outcome to get it ready for peer review (which will happen mid-May!) had caused AFIO to suffer hefty code rot given how dependent it is on Outcome, but none of the derotting fixes were hard, just time consuming. Rather more usefully, derotting AFIO discovered a few regressions in Outcome, and those are now fixed too.

Monday 13th March 2017 6.11pm

Link shared: One of those big ol personally momentus days today. In the wee small hours last night shivering in Clara's bedroom as I'd stayed there working on the laptop after putting her to bed and it got cold, I finally delivered my Outcome library to Boost peer review. That library has taken me two years of my free time to write, and a never ending long tail of incredibly boring minute detail over the past four months or so to actually deliver the thing.

Saturday 11th March 2017 12.41am

I appreciate that this is going to be lost on pretty much everyone reading this, including the techies. So apologies in advance. However, marvel and stare in awe and wonder at this apparently simple-ish API reference page for Outcome's expected<T, E> as generated by doxygen. What makes it a wonder is that the damn thing is finally accurate and complete. And it has only taken me slightly over a month to achieve, requiring me to write a brand new C preprocessor in Python ( which is capable of intelligent partial execution.

Friday 24th February 2017 10.56am

Link shared: Still feeling poorly, aches, sweats and no appetite, and little energy. You have to fight yourself to do anything. Been like this for quite a few days now, and I'm looking forward to it lifting because it's highly non-helpful for productivity with the ACCU conference just a few weeks away now. Speaking of productivity, I am still (slowly) banging away on my Python C preprocessor during Clara naptimes.

Sunday 19th February 2017 10.54am

Link shared: I'm sure you all remember me mentioning my current unemployment side project, a C preprocessor written in Python, and that by far the hardest part in it is correct function macro expansion. Indeed, Microsoft's preprocessor has long gotten it wrong, and it's worth looking into some of the problems. Superficially a C preprocessor looks very, very straightforward. It originated in the 1970s as a simple string match and substitute preprocessor, so: #define FOO foo printf("FOO is %d\n", FOO); … after preprocessing substitutes FOO for foo, but not in string literals (anything surrounded by double quotes), so output is: printf("FOO is %d\n", foo); You can implement one of those very easily, simply scan the line for string literals and replace them with placeholders, then scan the remainder for the macros you know about and substitute them, after restoring the string literals.

Friday 17th February 2017 3.44pm

Link shared: I've been a little quiet on here of late since I came out of contract, and it's amazing how five weeks of unemployment have passed just like that. I had to relinquish my rented office inside town to conserve cash a little over two weeks ago, and since I've returned to being at home all day I've essentially become mostly a daycare worker. It's no bad thing, Clara gets taken out each day to do something with her Daddy, and she's very, very pleased about that.