Month: May 2017

  • Python 3 – large numbers of tasks with limited concurrency

    Series: asyncio basics, large numbers in parallel, parallel HTTP requests, adding to stdlib I am interested in running large numbers of tasks in parallel, so I need something like asyncio.as_completed, but taking an iterable instead of a list, and with…

  • Basic ideas of Python 3 asyncio concurrency

    Series: asyncio basics, large numbers in parallel, parallel HTTP requests, adding to stdlib Update: see the Python Async Basics video on this topic. Python 3’s asyncio module and the async and await keywords combine to allow us to do cooperative concur…

  • Cotswolds Walk

    Went for a walk in the Cotswolds from Kingham to Moreton-in-Marsh, see GPS data and some pictures: part 1, part 2, part 3, part 4, and part 5.

  • Cotswolds Walk

    Went for a walk in the Cotswolds from Kingham to Moreton-in-Marsh, see GPS data and some pictures: part 1, part 2, part 3, part 4, and part 5.

  • C++ iterator wrapping a stream not 1-1

    Series: Iterator, Iterator Wrapper, Non-1-1 Wrapper Sometimes we want to write an iterator that consumes items from some underlying iterator but produces its own items slower than the items it consumes, like this: ColonSep items(“aa:foo::x”); // Prints…

  • How to write a programming language ACCU talk

    My talk from ACCU Conference 2017 where I describe a tiny programming language I wrote: Slides: How to write a programming language Cell source code: github.com/andybalaam/cell

  • C++ iterator wrapper/adaptor example

    Series: Iterator, Iterator Wrapper, Non-1-1 Wrapper If you want to wrap an iterable range with another that transforms the underlying iterators in some way and allows looping or constructing other objects: for (auto ch : Upper(“abcdef”)) { // Print…

  • C++ iterator example (and an iterable range)

    Series: Iterator, Iterator Wrapper, Non-1-1 Wrapper To make your own iterable range in C++ that you can loop over or make a vector out of (mine is called Numbers): // Prints: // 3,4, for (auto n : Numbers(3, 5)) { std::cout << n << “,”;…

  • Make Android Gradle display unit test failure messages

    By default, Gradle does not show you what happened when a unit test failed: $ ./gradlew test … MyTest > Black_is_white FAILED org.junit.ComparisonFailure at MyTest.java:6 ^^^ WHAT ACTUALLY FAILED???? … This is insane, and can be fixed (t…

  • ACCU C++ Countdown Pub Quiz

    The ACCU conference is one of the highlights of my year. I ran a brand new session, a C++ Pub Quiz with an emphasis on fun and interaction, based loosely on the popular UK TV game show Countdown. In the TV version, contestants play individually …

  • ACCU C++ Countdown Pub Quiz

    The ACCU conference is one of the highlights of my year. I ran a brand new session, a C++ Pub Quiz with an emphasis on fun and interaction, based loosely on the popular UK TV game show Countdown. In the TV version, contestants play individually …

  • Planet Code updates

    I maintain an unofficial aggregator of blogs by people who are involved with ACCU and things they might be interested in. It’s called Planet Code. Today I made it look slightly less ugly, and added several new blogs after attending the excellent ACCU C…

  • A story about magic and how we treat each other

    For a lightning talk at the ACCU Conference I wrote a little story: A story about magic and how we treat each other It describes one person’s journey towards realising that we need to act to be kind to each other, and not to expect it to happen automat…