29.6.15
The Thrilling Adventures of Lovelace and Babbage
Sydney Padua explores an alternate universe wherein Ada Lovelace and Charles Babbage complete the Analytical Engine and use it to (at the order of Queen Victoria) fight crime. I've blogged before about the web comic, but the book is even better.
Padua's tome reconciles hilarity with accuracy. I am not normally a fan of footnotes: if it is worth saying, say it inline; don't force your poor reader to break the flow of thought and eye, and leap to the bottom of the page. But here is the glorious exception, where the footnotes supplement, argue with, and occasionally threaten to overflow the comic. Even the footnotes have footnotes: endnotes cite sources for the dialogue, present pocket biographies of Ada and Charles' contemporaries Isambard Kingdom Brunel, Charles Dodgson, and George Boole, quote at length from original sources, and explain the workings of the Analytic Engine. In the midst of an illustrated fantasia riff on Alice in Wonderland, the footnotes pursue an academic war as to whether or not Babbage truly considered Lovelace to be the Empress of Number. Padua makes pursuit of Victorian arcana a thrilling adventure of its own. Highly recommended!
Padua's tome reconciles hilarity with accuracy. I am not normally a fan of footnotes: if it is worth saying, say it inline; don't force your poor reader to break the flow of thought and eye, and leap to the bottom of the page. But here is the glorious exception, where the footnotes supplement, argue with, and occasionally threaten to overflow the comic. Even the footnotes have footnotes: endnotes cite sources for the dialogue, present pocket biographies of Ada and Charles' contemporaries Isambard Kingdom Brunel, Charles Dodgson, and George Boole, quote at length from original sources, and explain the workings of the Analytic Engine. In the midst of an illustrated fantasia riff on Alice in Wonderland, the footnotes pursue an academic war as to whether or not Babbage truly considered Lovelace to be the Empress of Number. Padua makes pursuit of Victorian arcana a thrilling adventure of its own. Highly recommended!
Labels: Comics, Computing, Mathematics
26.6.15
A brief bibliography on parametricity
Henry Story asked HoTT Cafe about parametricity, prompting creation of a handy, short bibliography including Hermida, Reddy, and Robinson; Ahmed; Dreyer; Milewski (artist of the elegant diagram above); and Shulman.
Labels: Functional Programming, Theory, Types
22.6.15
How badly will Audible misuse my contact list?
In today's world, where our books, music, and photos belong to the Cloud rather than to ourselves, one problem we face is commercial concerns insisting on increased access to personal data.
I received the following note from Audible:
What the note doesn't mention is that updating the app requires giving Audible access to my contacts list.It looks like you may have an older version of Audible app installed on your device which needs to be updated before 6/30/15 to ensure that you enjoy uninterrupted access to your library.Option 1: Continue to use the older version of the app.If you receive an error message when you attempt to sign in, look in your emails for a password that you will need for sign in.OROption 2 (Recommended): Upgrade to the latest version....
Warmest Regards,
The Audible Team
Does anyone know how Audible is using the contact list? Worst case scenario is they email advertisements to my friends in my name, telling them what I am currently reading.
Do customers have any legal redress? Changing the terms of service to require access to the customer's contact list is the sort of thing the law should protect against.
6.6.15
Haskell in Production: Bdellium
At Medium, Fredrik (@ique) describes using Haskell in anger.
Spotted via Manual Chakravarty @TacticalGrace.At the start of the products’ life we mostly analyzed small retirement plans with 100 to 500 plan participants. As time went on we started seeing plans with 2,000 participants and even 10,000 participants. At these numbers the execution time for the processing started going outside of acceptable bounds. Luckily, every participant could be analyzed in isolation from the others and so the problem was embarrassingly parallel.I changed one line of code frommap outputParticipant partstomap outputParticipant parts `using` parListChunk 10 rdeepseqand execution times were now about 3.7x faster on our 4-core server. That was enough to entirely fix the issue for another 6 months, during which time we could focus on further enhancing the product instead of worrying about performance. Later, we did do extensive profiling and optimization of the code to further reduce execution times significantly, but we didn’t want to prematurely optimize anything.
Labels: Functional Programming, Haskell, Programming Languages