Monday 29th April 2013: 1.10am. Twenty-four Google Summer of Code applications to Boost and rising. About half of them are serious applications, each with detailed and lengthy technical information needing a thoughtful consideration before scoring. Surprising the lack of Western names, I guess Western students don't think GSoC worth the time anymore? It's certainly a lot of work for what I suppose isn't considered much money (US$5000) in Western countries - we'd pay our interns in BlackBerry a lot more than that, and I don't think we'd work them quite as hard. ...
Friday 3rd May 2013: 5.05am. It's 1.02am and I just nailed a memory corruption bug in my async file i/o library which I've submitted to Google Summer of Code 2013 as a proposed new Boost library (turns out you must be careful of overriding Boost macro defaults). Was up till 1.24am last night getting a clean compile on GCC 4.6, 4.7, 4.8 and clang 3.2 on ARM. Student coding test example solution is finished and working. ...
Sunday 2nd June 2013: 12.02am. Link shared: https://developers.google.com/open-source/soc/ I guess it's now safe to announce that I have been appointed by Google as a Google Summer of Code 2013 mentor for two Boost C++ libraries, proposed Boost.AFIO (asynchronous file i/o support for C++) and proposed Boost.Trie (a prefix tree indexed STL C++ container). Both of these GSoC projects will be of immense benefit to the C++ ecosystem for all C++ users, and stand as strong candidates for future incorporation into a future ISO C++ language standard. ...
Sunday 2nd June 2013: 9.10pm. Link shared: https://travis-ci.org/ned14/TripleGit In preparation for Paul to start work next week on his GSoC project of porting my code to Boost, I've been fixing up my code with Continuous Integration (for every change you commit a bot runs a full set of unit tests to ensure everything works) using the free-for-open source Travis CI.I have to say, I have been impressed with Travis CI: despite its clunky UI and less than great reporting, it's far more powerful than the CI we use in BlackBerry. ...
Thursday 13th June 2013: 4.05am. Link shared: https://github.com/BoostGSoC/boost.afio/tree/pre_boost_import My async file i/o library is done! Feature complete, valgrind clean, 90% unit test coverage. Paul now has a free run for GSoC Boost.AFIO!#boostcon #gsoc2013 #gsoc #boost #c++ ...
Friday 14th June 2013: 4.56am. Location: Waterloo, Ontario. It's a bit late for a Thursday, but we spent the evening celebrating the completion and hand off to GSoC of that software library I've been writing after work every day for the past four months. Going to take a week of evenings off before returning to the Google Summer of Code grindstone. Besides, it's all on the poor student now. It'll be real tough learning curve climb next two weeks especially, so I'll need to be quick on answering the email! ...
Monday 8th July 2013: 5.22am. Link shared: https://ci.nedprod.com/ Another long weekend. I got a Windows XP unit test slave mostly working on my new cloud node: I configured a copy of Jenkins CI inside an OpenVZ container with the reverse caching proxy varnish (https://www.varnish-cache.org/) fronted by the web server nginx which you can see at https://ci.nedprod.com/. As one of its backends, I have a snapshotted VM running Windows XP with Visual Studio 2010 Express which is rolled back to the snapshot after every test using some cunning AJAX I wrote which uses the Proxmox REST API. ...
Sunday 14th July 2013: 9.05pm. A long but productive week. The documentation for proposed Boost.AFIO is beginning to resemble something approaching final, despite having been a real pain to get working right. Paul continues to do great work in ripping bits out. As Google Summer of Code Milestone 1 is just three weeks away now, the race is on to deliver a peer review ready new Boost library by then. ...
Sunday 28th July 2013: 6.52pm. Link shared: https://github.com/BoostGSoC/boost.afio Last weekend before Google Summer of Code Milestone 1! The race is definitely on, so I was up till 7am poking the unit test bot with a stick and I have a lovely live build matrix showing whether, per-commit, the proposed library compiles and passes a unit test run on these platform and toolset combinations:Static analysis: clang + oclintLinux: GCC + libstdc++ 4. ...
Sunday 11th August 2013: 11.22pm. Proposed Boost.AFIO is now within spitting distance of all green :) Just that pesky VS2010 support to go really, Paul's been working hard on the C preprocessor programming to emulate variadic templates.#gsoc2013 #boostcpp #cpp #cpp11https://ci.nedprod.com/ ...
Wednesday 14th August 2013: 3.59am. VS2010 now compiles proposed Boost.AFIO. It has even been known to, sometimes, pass it its unit tests ... still some work to go there, though there is sadly a showstopping segfault in the VS2010 runtime regarding null exception_ptr returns from std::current_exception(), so we may have look into patching in the greatly fixed VS2010 runtime from VS2012. My congrats to Paul for doing such great work in C preprocessor programming! ...
Monday 19th August 2013: 9.34pm. Well today I was fired from BlackBerry as part of their downsizing! I was barely there, just ten and a half months, but in my short time there I think it is safe to say I certainly made an impression - I think I even achieved the fastest internal Stackoverflow karma points rise ever, but don't quote me on that!Some of the highlights of my time there included single handedly porting clang/LLVM to QNX, something I only finished last Friday and it was wizard to watch LLVM being live JITed into ARM on device. ...
Saturday 24th August 2013: 5.18am. Boost.AFIO finally goes all green on the CI ... you have no idea how many dozens and dozens of hours of debugging race conditions in other people's code (and then figuring out workarounds in AFIO code) it has taken to reach this point.I am actually quite emotional. Such a huge amount of effort. So many, many bugs and weirdnesses in the older STLs and Boost. ...
Saturday 7th September 2013: 12.14am. Assuming the CI goes all green, fast, asynchronous directory enumeration for Boost.AFIO is done! I'm feeling pretty wrecked, it's been one of those "burn the candle at both ends while you have the open window of time" sorts of things.The process of finding a new job in North America has taken a turn for the worse: the initial very positive recruitment feedback from the tech multinationals - and mention, in at least one instance, of me being the best candidate seen in some years - has been stopped in its tracks once they realised that there is currently a nine month backlog in US green card processing, and a three month backlog in Canadian Labour Market Opinion processing. ...
Thursday 19th September 2013: 5.43pm. So back to the GSoC grindstone now I have a few days before more interviews. Current problem, the one which kept me up last night, is that the newly released VS2013 provides an unusual mix of variadic templates, a brittle decltype() and a std::result_of<> that isn't SFINAE friendly. The result is that code fails when trying to use AFIO's variadic template overloads because VS2013 tries instantiating std::result_of<> for template types it doesn't like, and instead of disabling the overload as an overload resolution possibility like on any other compiler, VS2013 barfs a compilation error. ...
Tuesday 24th September 2013: 1.14am. So Google Summer of Code 2013 ended today! Boost.AFIO is more or less peer review ready - some additional unit tests to be added mainly to get the code coverage back up, otherwise it's done. Paul will still need some time to finish his directory monitoring feature, but that is fairly orthogonal to the existing code base and its lack of presence doesn't disturb anything. ...
Sunday 29th September 2013: 7.03pm. Bleh I'm feeling rough today. Last night whilst watching TV with Megan I had this crazy idea of how to make proposed Boost.AFIO - yes I know it's supposed to be finished as of last Monday - lock free, even wait free apart from the pesky std::unordered_map<> which would need locks around it. And it sufficiently excited me that I just had to get to work on it right now i. ...
Tuesday 8th October 2013: 2.37pm. Location: Waterloo, Ontario. Big day today - I should be able to send AFIO into the Boost peer review queue, and hence drawing a line under what has probably been my main excuse against getting a job. It's been a long, long summer indeed! Next week I go to the Googleplex in California for the Google summer of code mentors summit - never been to California before, so that should be interesting. ...
Thursday 10th October 2013: 12.51am. Boost.AFIO has just been submitted for Boost peer review. After so many months of effort, I'd like to thank Megan for putting up with all the hours I spent after work pattering away on it; I'd like to thank Paul for doing such a great job in porting the code to Boost for Google Summer of Code; I'd like to thank Google for sponsoring Paul, and the Boost C++ Libraries for voting for AFIO as a GSoC sponsorship candidate; and finally, I'd like to thank my former colleagues at BlackBerry who pulled a lot of favours internally to get BlackBerry Legal to eventually sign off on me working on this in my free time (first ever in BlackBerry history I believe that permission was granted for an employee to contribute to a non-work related open source library). ...
Friday 18th October 2013: 7.40pm. Location: Region of Waterloo International Airport. Off to Silicon Valley for the Google Summer of Code mentors summit this weekend. Never been to California before. Should be interesting.#gsoc2013
...