<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:atom='http://www.w3.org/2005/Atom'><channel><atom:link href='http://pubsubhubbub.appspot.com' rel='hub'/>
    <atom:link href='http://anthonybailey.net/tumblelog/feed' rel='self'/>
    <description>Where am I? This tumblelog is a noisy stream of consciousness from Anthony Bailey. (And not Amazon.) Tell me less: For a lower traffic, more obsessively edited Anthony, see the real blog.</description><title>Anthony Bailey</title><generator>Tumblr (3.0; @anthonybailey)</generator><link>http://anthonybailey.net/tumblelog</link><item><title>PuzzlehuntingEnjoyed a puzzlehunt (competing teams race to solve...</title><description>&lt;img src="https://66.media.tumblr.com/bbcfb020123d8624f14916142a8a429a/tumblr_nroufh1VF41qz4e9eo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;b&gt;Puzzlehunting&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Enjoyed a puzzlehunt (competing teams race to solve a themed set of logic puzzles) today. The hunt was one internal to Amazon, so I can’t really point inside it, but it was pretty good.&lt;/p&gt;&lt;p&gt;Anyway, I promised the team I’d share one particularly baroque but enjoyable puzzle I’d encountered before. Blog post because public is always better.&lt;br/&gt;&lt;/p&gt;&lt;p&gt;To overgeneralize, the art of puzzle composition is to end up with a solving path that delights the solver. It should always be possible to make definite solving progress (so you don’t have to explore parallel paths and backtrack the ones that don’t work out, and you can tell quickly if you made a mistake), and you should have a sense as to where that progress might be made - but, some steps should require a bit of novel thinking. &lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://mellowmelon.wordpress.com/2010/02/21/puzzle-200/"&gt;This &lt;i&gt;Nikoli Octathlon&lt;/i&gt; by Palmer (”mellow melon”) Melbane&lt;/a&gt; is beautiful in that regard. The interplay of eight (actually twelve, since four of them are themselves twins) different puzzle types meant that almost every step involved a bit of invention, and it kept me challenged but never stuck throughout. I loved it, hence sharing.&lt;br/&gt;&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2015/07/18/puzzlehuntingenjoyed-a-puzzlehunt-etc</link><guid>http://anthonybailey.tumblr.com/post/124409235109</guid><pubDate>Sat, 18 Jul 2015 15:47:41 +0100</pubDate></item><item><title>Nested tic-tac-toe is neat.
This “Math with Bad...</title><description>&lt;img src="https://66.media.tumblr.com/2e776a28204add1bd4405207677b4b3c/tumblr_mp5s12LEdP1qz4e9eo1_250.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Nested tic-tac-toe is neat.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mathwithbaddrawings.com/2013/06/16/ultimate-tic-tac-toe/"&gt;This “Math with Bad Drawings” post is a good overview.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.khanacademy.org/cs/tic-tac-toe-ception/1676336506"&gt;This playable version at Khan Academy is fun, and pleasantly open if you want to mess with the code.&lt;/a&gt;&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2013/06/29/nested-tic-tac-toe-is-neat-this-“math-with-bad-drawings</link><guid>http://anthonybailey.tumblr.com/post/54180966955</guid><pubDate>Sat, 29 Jun 2013 15:24:38 +0100</pubDate></item><item><title>Charles Nutter on predictably shaped dynamic types</title><description>&lt;h3 class="post-title entry-title"&gt;&lt;a href="http://blog.headius.com/2013/05/on-languages-vms-optimization-and-way.html"&gt;On Languages, VMs, Optimization, and the Way of the World&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;He reckons to allow a runtime to be efficient: &amp;ldquo;&lt;em&gt;types don&amp;rsquo;t have to be statically declared, but they need to be statically defined. Most popular dynamic languages do neither, but all they really need to do is the latter.&lt;/em&gt;&amp;rdquo;&lt;/p&gt;
&lt;p&gt;As per &lt;a href="http://blog.headius.com/2013/05/on-languages-vms-optimization-and-way.html?showComment=1368279221931#c8304394719966634316"&gt;my comment there&lt;/a&gt;, I wonder whether it could be useful for a collection of objects in a dynamic language to be able to signal to the runtime &amp;ldquo;OK, I promise that we&amp;rsquo;re done being unpredictable. You can start making assumptions about our shape now.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Because, it seems many of the benefits of monkeying with a dynamically typed language come early in the run, at the point you set everything up; they enable nicer embedded DSLs, more expressive configuration. Then there comes a point where you could say &amp;ldquo;freeze&amp;rdquo;.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2013/05/11/charles-nutter-on-predictably-shaped-dynamic-types</link><guid>http://anthonybailey.tumblr.com/post/50164517577</guid><pubDate>Sat, 11 May 2013 14:44:35 +0100</pubDate><category>software_development</category></item><item><title>Why literate programming failed: stories and encapsulation</title><description>&lt;p&gt;Reading &lt;a href="http://arstechnica.com/information-technology/2013/05/why-not-write-tests-inline-with-code/"&gt;a related question re putting tests inline with code on Ars Technica&lt;/a&gt;, discussion got onto why &lt;a href="http://en.wikipedia.org/wiki/Literate_programming"&gt;&lt;strong&gt;Knuth&amp;rsquo;s literate programming&lt;/strong&gt; technique&lt;/a&gt; (&amp;ldquo;LP&amp;rdquo;) never gained popularity.&lt;/p&gt;
&lt;p&gt;The cost is complexity, so the question reduces to &lt;strong&gt;why the real-world value of benefits of LP weren&amp;rsquo;t as much as expected.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;My take: LP is about &lt;strong&gt;documenting code as a narrative story&lt;/strong&gt; with a beginning and an end. It was &lt;strong&gt;invented when describing procedural code, before encapsulated objects&lt;/strong&gt; were the norm.&lt;/p&gt;
&lt;p&gt;Telling the tale of one algorithm is easy enough, but it takes artistry to do the same for a composed system. It is like &lt;strong&gt;describing a country by interweaving little stories about its citizens&lt;/strong&gt;. They give writing awards to people who do that well.&lt;/p&gt;
&lt;p&gt;Something analogous holds for &lt;strong&gt;story threads and parallel processes&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Lastly, the code that needs the best documentation is that with the most external users: &lt;strong&gt;frameworks and libraries.&lt;/strong&gt; As well as tending on the non-procedural and parallel, in these cases &lt;strong&gt;most readers don&amp;rsquo;t even &lt;em&gt;want&lt;/em&gt; the whole story.&lt;/strong&gt; A big picture overview is helpful, but the main need is modular documentation for the features of interest right now.&lt;/p&gt;
&lt;p&gt;Hypertext documentation is easy to generate, but &lt;strong&gt;compelling hypertext novels are really hard to write.&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;(Disclaimer: I still haven&amp;rsquo;t ever read &lt;em&gt;&lt;a href="http://brokestream.com/tex-web.html"&gt;Tex: The Program&lt;/a&gt;&lt;/em&gt;. But even if Knuth pulled it off, most of us don&amp;rsquo;t write as well as he does.)&lt;/p&gt;
&lt;p&gt;(Background: &lt;a href="http://anthonybailey.net/thesis/"&gt;my PhD thesis&lt;/a&gt; was about literate formalizations of mathematical proofs, and these days I work on &lt;a href="http://amazon.com/"&gt;relatively large software systems&lt;/a&gt;.)&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2013/05/05/stories-and-encapsulation</link><guid>http://anthonybailey.tumblr.com/post/49683267939</guid><pubDate>Sun, 05 May 2013 14:19:58 +0100</pubDate><category>software_development</category></item><item><title>Funniest xkcd in a long while.</title><description>&lt;img src="https://66.media.tumblr.com/7b10d5007bd4aa853d188a9a7cc20ef3/tumblr_mjmc2uSZQF1qz4e9eo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Funniest xkcd in a long while.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2013/03/13/funniest-xkcd-in-a-long-while</link><guid>http://anthonybailey.tumblr.com/post/45292824439</guid><pubDate>Wed, 13 Mar 2013 21:37:41 +0000</pubDate></item><item><title>But the change, how strange</title><description>&lt;p&gt;A few well-known songs originally in a minor key undergo a forced major:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vimeo.com/majorscaledtv"&gt;http://vimeo.com/majorscaledtv&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A few notes so that this isn&amp;rsquo;t just a linky reblog.&lt;/p&gt;
&lt;p&gt;I seemed to find these enjoyable for their own sake as well as acts of reinterpretation. But I must be fooling myself, because in the case when I didn&amp;rsquo;t know the original (Metallica, yes I know I should feel shame) then the transformed version seemed pretty dull and pointless.&lt;/p&gt;
&lt;p&gt;I like this stuff because it makes me question how complex a transformation needs to be in order to have highly creative value independent of that of the original ingredients. I get a surprisingly low answer. I realize that in this case there are a few choices latent in the process (keys can be a little fuzzy) but this is basically &amp;ldquo;have a simple idea + choose original art well&amp;rdquo; (much like straightfoward &amp;ldquo;X vs Y&amp;rdquo; collages or &amp;ldquo;Garfield Minus Garfield&amp;rdquo; style transformations.) I don&amp;rsquo;t care that the transformation process itself is hard work - effort in art is unimportant to me. But the very simple creative act still seems very worthwhile. Within our rights-encumbered remix culture, this issue seems relevant.&lt;/p&gt;
&lt;p&gt;Lastly, although setting the transformed song against the original video adds a little something, isn&amp;rsquo;t it odd that you pretty much have to publish an audio experiment like this on a video site? Neither e.g. SoundCloud nor MySpace really work as channels.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2013/01/21/but-the-change-how-strange</link><guid>http://anthonybailey.tumblr.com/post/41132872907</guid><pubDate>Mon, 21 Jan 2013 21:06:00 +0000</pubDate></item><item><title>http://gilesbowkett.blogspot.co.uk/2012/12/github-vs-skyrim.html</title><description>&lt;a href="http://gilesbowkett.blogspot.co.uk/2012/12/github-vs-skyrim.html"&gt;http://gilesbowkett.blogspot.co.uk/2012/12/github-vs-skyrim.html&lt;/a&gt;: &lt;p&gt;Exploring two ongoing but conflicting themes in evolving workplace dynamics.&lt;/p&gt;
&lt;p&gt;“Modern fantasy role-playing video games feature incredible gamified to-do lists. […] it’s great training for project management […] I’m not sure how to reconcile Shirky’s very compelling arguments or GitHub’s wonderful success with the sheer, dimwitted enjoyment I get out of being told repeatedly to go over there and kill another orc. Again. […] If there is any future to ideas like gamifying the workplace, it’s in some merger of elements from GitHub and Skyrim, but I’m still not sure which elements, or in which proportion.”&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2012/12/08/gilesbowkett-blogspot-co-uk-2012-12-github-vs-etc</link><guid>http://anthonybailey.tumblr.com/post/37488157791</guid><pubDate>Sat, 08 Dec 2012 18:14:24 +0000</pubDate><category>software_development</category></item><item><title>An analogy for software development?
When I saw this image of a...</title><description>&lt;img src="https://66.media.tumblr.com/tumblr_m1gn9gg5yN1qz4e9eo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;An analogy for software development?&lt;/p&gt;
&lt;p&gt;When I saw this image of &lt;a href="http://fffff.at/free-universal-construction-kit/"&gt;a set of 3D-printed set of adapter bricks with a snarky acronym to make various well-loved construction brick systems interoperable&lt;/a&gt;, somehow it reminded me of the most useful code that I write.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2012/03/25/an-analogy-for-software-development-etc</link><guid>http://anthonybailey.tumblr.com/post/19916804103</guid><pubDate>Sun, 25 Mar 2012 22:48:00 +0100</pubDate><category>software_development</category></item><item><title>One case for queues</title><description>&lt;p&gt;Ted Dzubia recently posted &lt;a href="http://teddziuba.com/2011/02/the-case-against-queues.html"&gt;The Case Against Queues&lt;/a&gt;. I have to grant him that, like anything else, queues can be over/misused, so probably they are being in some parts. Film at 11. (I would say that re useful metrics to alarm on, the time between a message arriving on a queue and it being acked as processed is typically easy to measure and to set sensible thresholds for.)&lt;/p&gt;
&lt;p&gt;In an &lt;a title="unfortunately non-public else I'd link"&gt;Google+ discussion of the post&lt;/a&gt; the argument has been advanced that queues should be avoided wherever possible; that they cause more problems than they solve. My limited experience is the other way; I&amp;rsquo;m working on systems where I&amp;rsquo;m finding them to be a highly valuable abstraction and where I&amp;rsquo;m not seeing significant cost. I thought the discussion would benefit from more examples, so I present here one case where I&amp;rsquo;ve found them very useful.&lt;/p&gt;
&lt;p&gt;Suppose there are two systems, which I&amp;rsquo;ll call Truths and Consequences. They maintain state in related domains, but are decoupled - probably owned by different teams - and they model their domains in sufficiently different ways that working out the consequences of truths requires some code to crunch. It could take quite a long time to recalculate all consequences of all truths, but we can usually comfortably keep up with recalculating consequences as truths change, and we don&amp;rsquo;t want to ignore the consequences of any truths.&lt;/p&gt;
&lt;p&gt;Truths and Consequences communicate through a queue with typical robustness properties such as At-Least-Once delivery. When the truth about some named thing (say &amp;ldquo;cats&amp;rdquo;, or &amp;ldquo;dogs&amp;rdquo;) changes, Truths publishes a message containing that name onto a queue. Note that the message doesn&amp;rsquo;t say &amp;ldquo;the truth about cats is that they are all gray&amp;rdquo;, but rather &amp;ldquo;the truth about cats has changed&amp;rdquo;. When Consequences consumes the message, it asks for the current Truth about the named thing, updates relevant consequences, and acks the message. For any given set of truths, calculating their consequences (and hence, processing a message) is of course idempotent.&lt;/p&gt;
&lt;p&gt;Of course the queue decouples the two systems so that you can change truths without waiting to hear about the consequences - hell, Consequences can drop off the network for a while as far as Truths cares, and in a halfway decent framework the queue works as a resilient store out-of-the-box. These are the kind of reasons why we introduced the abstraction in the first place. But there are other nice properties of this system too.&lt;/p&gt;
&lt;p&gt;For example, suppose occasionally a new truth appears that we can&amp;rsquo;t currently calculate the consequences of. Maybe there&amp;rsquo;s a disastrous edge-case that crashes the calculation (&amp;ldquo;dog.getNose().smell() throws NullPointerException&amp;rdquo;), or maybe the truth breaks some assumptions that the calculation has used (&amp;ldquo;uh, what? dog.getHead() returned an array??&amp;rdquo;) The &amp;ldquo;dogs&amp;rdquo; message is poisonous and Consequences can&amp;rsquo;t currently handle it. So it nacks the message, prompting it to be moved from the original queue to an associated dead-letter queue (DLQ). After the Consequences system has been updated to deal with the new situation, it can have another go at consuming such messages, which were sitting on the DLQ in the mean time. Another possibility is that Truths realizes they were talking nonsense, and changes their mind back to something sane. In that case the Consequences system doesn&amp;rsquo;t need any update, it just reconsumes the message; when it asks for the truth about &amp;ldquo;dogs&amp;rdquo; it finds that they have just the one head again and all is well.&lt;/p&gt;
&lt;p&gt;Another example: for some set of things, the truths are unchanged, but Consequences is updated to fix a mistake in the existing calculation, or to extend it with a useful new consequence to calculate. Publish messages naming all the relevant things, and the new calculation will be applied. Is it going to take a while and we don&amp;rsquo;t want to interrupt business as usual? Put these messages on a lower priority &amp;ldquo;backfill&amp;rdquo; queue that is only consumed when the regular one is empty. Are some of the things more important than others? Order the messages on the backfill queue to reflect that. Similar approaches apply when truths about a large new set of things become available and need backfilled.&lt;/p&gt;
&lt;p&gt;A last example: during an era of uncertainty, truth about some set of things becomes very volatile, swinging back and forth faster than the consequences can be calculated and recalculated, filling up the queue with a backlog of messages naming the same things over and over. Just introduce some plumbling that dedupes the pending messages by name - because we always calculate consequences based on the current truth, not the historic one.&lt;/p&gt;
&lt;p&gt;Note that either system can take responsibility for the queue and work to redrive DLQs and reprioritize messages - typically it depends on which role cares most about the relationship. If Truths wants to be heard, it can own the queue; if Consequences needs to know the truth, vice versa. In the system I work on right now, we play both these roles in relationships with various other teams.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2011/10/06/one-case-for-queues</link><guid>http://anthonybailey.tumblr.com/post/11081137142</guid><pubDate>Thu, 06 Oct 2011 01:36:36 +0100</pubDate></item><item><title>One, Two, Testing</title><description>&lt;p&gt;The first official &lt;a title="Downloadable Content"&gt;DLC&lt;/a&gt; for &lt;em&gt;Portal 2&lt;/em&gt; came out today. &lt;a title='"Peer Review"' href="http://www.thinkwithportals.com/blog.php?id=6430%20%20"&gt;It&amp;rsquo;s a new Co-op campaign&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now this kind of play is probably great fun, but I still haven&amp;rsquo;t managed to play the co-operative campaign that originally came with the game. Because, you know, &lt;a title="Yeah, OK. I have no friends."&gt;you have to be organized enough to dovetail the windows in your packed social schedules and all that&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So I was kind of hoping for a new set of Valve-quality &lt;em&gt;Portal 2&lt;/em&gt; single-player maps.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s OK though, because instead the Internets sent me a new set of better-than-Valve-quality &lt;em&gt;Portal &lt;strong&gt;1&lt;/strong&gt;&lt;/em&gt; single-player maps: &lt;a href="http://forums.thinkingwithportals.com/topic1997.html"&gt;&lt;em&gt;Try Anything Twice&lt;/em&gt; by HMW&lt;/a&gt;. I spent around four hours on Sunday playing through this masterpiece.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Try Anything Twice&lt;/em&gt; is very much to my tastes. There are no very tricky moves, and fairly few halfway tricky ones - instead it&amp;rsquo;s &lt;strong&gt;all about the puzzles&lt;/strong&gt;. Said puzzles are very well-paced; I was consistently stretched but &lt;a title="(This is at least partly due to very well-designed cues.)"&gt;never got totally stuck&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s a nice central concept/conceit: you solve each of the five maps twice, the second time around with some minor changes to the situation which demand major changes to your solution.&lt;/p&gt;
&lt;p&gt;The level architecture and engineering is beautiful, with chambers rearranging themselves like something out of, well, &lt;em&gt;Portal 2&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Lastly there are a few new game mechanics with great art and execution. The element introduced for the second try of the last chamber gives rise to t&lt;a title="Imagine the sequences where you tempt a series of rockets through different portals, but then add proximity, timing and phase wrinkles."&gt;he most mind-bendingly enjoyable puzzles&lt;/a&gt; I&amp;rsquo;ve seen in any &lt;em&gt;Portal&lt;/em&gt; context.&lt;/p&gt;
&lt;p&gt;Better than any other &lt;a href="http://anthonybailey.net/tumblelog/2010/07/11/re-opening-portal-my-favorite-custom-maps"&gt;&lt;em&gt;Portal&lt;/em&gt; mod I&amp;rsquo;ve played&lt;/a&gt;. &lt;a href="http://forums.thinkingwithportals.com/downloads.php?view=detail&amp;amp;df_id=281"&gt;Download it&lt;/a&gt;.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2011/10/04/one-two-testing</link><guid>http://anthonybailey.tumblr.com/post/11034485493</guid><pubDate>Tue, 04 Oct 2011 22:54:50 +0100</pubDate></item><item><title>Forcing functions that are better than comments</title><description>&lt;p&gt;A recent thread at work discussed &lt;strong&gt;the value (or otherwise) of comments in code. I think comments&lt;/strong&gt; on anything owned and used by a small team &lt;strong&gt;are usually a code smell.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;One of the &lt;strong&gt;excuses&lt;/strong&gt; offered for comments was that if you wrote e.g. JavaDoc for some code, then that &lt;strong&gt;forces you to think&lt;/strong&gt; about the details of the code&amp;rsquo;s behavior and the way that it presents itself to clients; and that such thinking &lt;strong&gt;catches edge cases, and prompts redesign&lt;/strong&gt; all the way from minor naming tweaks through to major simplifications.&lt;/p&gt;
&lt;p&gt;I agree completely that the forcing function of explicitly expressing one&amp;rsquo;s intent has that value. And it&amp;rsquo;s a really significant value. &lt;strong&gt;But &lt;em&gt;tests&lt;/em&gt; do it better than comments&lt;/strong&gt; without any of the &amp;ldquo;eventual inconsistency&amp;rdquo; downsides.&lt;/p&gt;
&lt;p&gt;This is old news. But then I noticed &lt;strong&gt;a pattern&lt;/strong&gt; I thought worth posting:&lt;/p&gt;
&lt;p&gt;One genuine usefulness of comments can be in providing the &lt;strong&gt;&amp;ldquo;why&amp;rdquo;&lt;/strong&gt; instead of the &lt;strong&gt;&amp;ldquo;what&amp;rdquo;&lt;/strong&gt;: to give the &lt;strong&gt;motivation&lt;/strong&gt; for behavior rather than simply a &lt;strong&gt;description&lt;/strong&gt;. And making motivation explicit is as valuable to a developer as making descriptions explicit is. It analogously &lt;strong&gt;exposes gaps in thinking, and prompts re-aiming&lt;/strong&gt; toward equally valuable goals that are easier to hit.&lt;/p&gt;
&lt;p&gt;Tests are only good for expressing descriptions, not motivations. So here they can&amp;rsquo;t play the same role of &lt;strong&gt;a superior substitute forcing function to comments&lt;/strong&gt;. You know what can though? &lt;strong&gt;&lt;em&gt;Talking with your pair.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2011/09/16/forcing-functions-that-are-better-than-comments</link><guid>http://anthonybailey.tumblr.com/post/10287046871</guid><pubDate>Fri, 16 Sep 2011 21:51:14 +0100</pubDate><category>software_development</category></item><item><title>Google Plus minus writes</title><description>&lt;p&gt;Google+ finally began to roll-out an API. Yay! But, it is read-only. Boo!&lt;/p&gt;
&lt;p&gt;I write my stuff here, in a space (i.e. under a domain name) that I own.&lt;/p&gt;
&lt;p&gt;Some people have chosen to follow me on Google+ and from this I conclude they may want to read what I write. The obvious way to link the resources is to post a link on Google+ each time that I write something here. I was hoping for a Google+ API that allowed writes, so that this could be automated. Oh well. Guess I&amp;rsquo;ll copy and paste manually when I remember too.&lt;/p&gt;
&lt;p&gt;Not that I write enough for this to be a big deal for me or for anyone else. But it does disappoint me. Perhaps Google+ really is intended to be a big walled garden within which you rent a plot where you plant your thoughts - but if I wanted that silly silo model, I&amp;rsquo;d be on Facebook.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2011/09/16/google-plus-minus-writes</link><guid>http://anthonybailey.tumblr.com/post/10285577714</guid><pubDate>Fri, 16 Sep 2011 21:08:54 +0100</pubDate></item><item><title>Google Identity</title><description>&lt;p&gt;These are some thoughts in response to a &lt;a title="Here's hoping those not signed up can see his allegedly public post" href="https://plus.google.com/105670733734079996862/posts/UXc6Lh2bAYv"&gt;post by Pavlos on Google+, on Google+&lt;/a&gt;. (They are posted here on my blog in order to be consistent with their content! Consider this a trackback. Hmmm, whatever happened to trackback?)&lt;/p&gt;
&lt;p&gt;I have three things to say here.&lt;br/&gt;&lt;br/&gt;First, whatever Google&amp;rsquo;s worthy plans may be re other long-term benefits of having well-defined identities in this new space, we should not forget that real names, tied to real addresses, are worth more to a company whose primary business is advertising. Pavlos, I expect you are cognizant of this, but I didn&amp;rsquo;t see it in your posts yet.&lt;br/&gt;&lt;br/&gt;Second, anyone who believes in the value of having an online identity and who then gives a commercial company ownership of their main identity page is taking quite a risk. Google has previously been mostly on the side of light re supporting technologies (such as OpenID) that do this stuff right: which is, to let you define your identity provider somewhere that you control, so you can migrate identity providers if required. (Register a domain name. Delegate everything that speaks canonically about you online - email, blog, profile - via resources accessed under that domain name.) I really hope Google+ makes supporting this approach a priority too.&lt;br/&gt;&lt;br/&gt;Lastly, with regards to both to my second point and to Pavlos&amp;rsquo; third (re those who require anonymity) - this service is brand new. A lot of the features we are after are allegedly simply on the to-do list. So we should wait and see.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2011/07/28/google-identity</link><guid>http://anthonybailey.tumblr.com/post/8147043774</guid><pubDate>Thu, 28 Jul 2011 00:22:56 +0100</pubDate></item><item><title>http://martinfowler.com/articles/lmax.html</title><description>&lt;a href="http://martinfowler.com/articles/lmax.html"&gt;http://martinfowler.com/articles/lmax.html&lt;/a&gt;: &lt;p&gt;Great write-up of &lt;a href="http://martinfowler.com/articles/lmax.html"&gt;a fascinating - nay, disruptive - architecture&lt;/a&gt; for applications that handle a very large number of highly interdependent requests - event-driven, tuned to processor caches, and pushing all the concurrency out to the edges.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2011/07/13/martinfowler-com-articles-lmax-html</link><guid>http://anthonybailey.tumblr.com/post/7551478446</guid><pubDate>Wed, 13 Jul 2011 00:44:15 +0100</pubDate></item><item><title>Who is ready to make some science?</title><description>&lt;p&gt;When Portal 2 came out, I had grand plans for a detailed post discussing the game, the multi-stage &lt;a title="Alternate Reality Game"&gt;ARG&lt;/a&gt; that surrounded the launch, the plans for &lt;a title="DownLoadable Content"&gt;DLC&lt;/a&gt;, and lastly my thoughts on whether the less clinical look of the game would get in the way of &lt;a href="http://anthonybailey.net/tumblelog/2010/07/11/re-opening-portal-my-favorite-custom-maps"&gt;homebrew levels&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Skip to the end&amp;hellip; no, it has not. Wish there had been another two scenes in the middle act of the game? Install this &lt;em&gt;&lt;a href="http://forums.thinkingwithportals.com/downloads.php?view=detail&amp;amp;df_id=410"&gt;Sphere of Roundness / Old Faithful&lt;/a&gt;&lt;/em&gt; level pair created by mapper Lobster. Beautiful puzzles!&lt;/p&gt;
&lt;p&gt;Oh yeah, I keep meaning to organize playing through the co-op. Anyone up for that?&lt;/p&gt;
&lt;p&gt;Update: &lt;a href="http://forums.thinkingwithportals.com/newspost-t3751.html"&gt;the maps that won&lt;/a&gt; the first Portal 2 &lt;em&gt;Thinking With Portals&lt;/em&gt; contest are of a similarly high quality.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2011/05/30/who-is-ready-to-make-some-science</link><guid>http://anthonybailey.tumblr.com/post/6015927345</guid><pubDate>Mon, 30 May 2011 23:43:00 +0100</pubDate></item><item><title>What would Feynman do? - Fabulous Adventures In Coding</title><description>&lt;a href="http://blogs.msdn.com/b/ericlippert/archive/2011/02/14/what-would-feynman-do.aspx"&gt;What would Feynman do? - Fabulous Adventures In Coding&lt;/a&gt;: &lt;p&gt;I’m not sure this totally disproves the value of interview questions that provoke thinking outside the box, but I found this to be a very funny dismantling of the well-known “three lamps and three switches” puzzle.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2011/02/16/what-would-feynman-do-fabulous-adventures-in-etc</link><guid>http://anthonybailey.tumblr.com/post/3317463316</guid><pubDate>Wed, 16 Feb 2011 00:21:00 +0000</pubDate></item><item><title>Mixing a Modern web presence</title><description>&lt;p&gt;&lt;img width="25%" alt="Modern Mixers logo" src="http://modernmixers.co.uk/images/modernmixers-logo.png" align="left"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;img width="15%" src="http://lh6.ggpht.com/_fQh_-MDg5io/TA7g8evWDyI/AAAAAAAACCw/D-RQ_tI7goI/s512/berlin018.jpg" align="right"/&gt;Under the banner of &lt;a title="a pun so awkward one would fear I was responsible for it - not guilty in this rare case" href="http://modernmixers.co.uk"&gt;Miss Fitz-Poste Modern Mixers&lt;/a&gt;, my partner Julie and her friend/cofounder Emily (henceforth, &amp;ldquo;the Fitz-Postes&amp;rdquo;) for about a year have been running a mostly monthly vintage-themed event: a new-fangled take on the old-fashioned concept of a social mixer.&lt;/p&gt;
&lt;p&gt;&lt;img width="15%" align="right" src="http://lh4.ggpht.com/_fQh_-MDg5io/TA7gW4WK-hI/AAAAAAAACBA/9sor9IYd974/s512/berlin010.jpg"/&gt;The exact content varies with the theme but this Sunday afternoon&amp;rsquo;s &lt;em&gt;&lt;a title="Weimar-inspired 1930s theme" href="http://modernmixers.co.uk/hello-to-berlin"&gt;Hello to Berlin&lt;/a&gt;&lt;/em&gt; will do as an example: &lt;a href="http://blog.modernmixers.co.uk/2011/01/life-is-cabaret-old-chum.html"&gt;three burlesque performers, a band&lt;/a&gt;, DJ and compere, &lt;a href="http://blog.modernmixers.co.uk/2011/01/decadent-darlings.html"&gt;shopping from four craft stalls&lt;/a&gt;, &lt;a href="http://blog.modernmixers.co.uk/2011/01/berlin-beauty.html"&gt;hair and m&lt;/a&gt;&lt;a href="http://blog.modernmixers.co.uk/2011/01/berlin-beauty.html"&gt;akeovers&lt;/a&gt;, silly games with prizes, and other bits and pieces. They are genuinely great affairs I&amp;rsquo;m unashamed to push at my readership because your cooler significant other gets it straight away even if you don&amp;rsquo;t, and &lt;a title="Slideshow: I adjust facial hair and dress as instructed. This can include Christmas Elf costumes." href="http://picasaweb.google.com/lh/view?uname=modern.mixers&amp;amp;cuname=modern.mixers&amp;amp;psc=F&amp;amp;tags=anthony#slideshow/5527726748401882002"&gt;in any case you get to laugh at what I wear on the door&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Other than manning said door, my main contribution is to enable their online presence. &lt;a title="modernmixers.co.uk" href="http://modernmixers.co.uk"&gt;The website&lt;/a&gt; is a zero budget affair, static pages hosted off the side of a slice I was already renting. The visual design is &lt;a title="bulletproof scalable CSS"&gt;technically sound&lt;/a&gt; but that&amp;rsquo;s the nicest thing anyone is likely to say about it something under my direct management. To mitigate that, apart from &lt;a title="which means I remain the blocker/gatekeeper for it - a CMS didn't seem worthwhile"&gt;core static copy served directly from the slice&lt;/a&gt;, the structural approach is to embed and aggregate content which is hosted elsewhere and created/managed by the Fitz-Postes. As much for my own diary as anything, I&amp;rsquo;ll describe the current arrangement.&lt;/p&gt;
&lt;p&gt;We host photos at PicasaWeb (embedding &lt;a title="the absence of decent embeddable widgets was the main reason we didn't use Flickr" href="http://modernmixers.co.uk/hello-to-berlin/#tickets"&gt;tag-driven slideshows&lt;/a&gt; within our site pages) and videos at YouTube. Any substantial written content, especially if it has potential long-term value, is created as &lt;a title="which are then embedded per-page based on tags"&gt;blog posts&lt;/a&gt;. The blog is hosted on Blogger but to avoid tight coupling that would impede migration, we reference it as and serve it from a &lt;a title="blog.modernmixers.co.uk" href="http://blog.modernmixers.co.uk"&gt;CNAME&lt;/a&gt; we control. The content is syndicated via a feed to the social spaces most of our regular punters use to follow us day-to-day: an almost pointless MySpace, an &lt;a title="the [There's an update, Here] notification style - could be better curated, I realize"&gt;obligatory Twitter&lt;/a&gt;, and by far the most popular current portal Facebook. The Fitz-Postes&amp;rsquo; update with shorter notes and talk to punters very frequently on Facebook, which &lt;a title="though having more of 'our' substantial content on 'their' site would ring long-term brand/control alarms"&gt;I think is appropriate for this immediately valuable but more ephemeral stuff&lt;/a&gt;, and has &lt;a title="because the Fitz-Postes are already logged in and active there"&gt;a much lower activation energy&lt;/a&gt; - which is important, because more updates is better business.&lt;/p&gt;
&lt;p&gt;And finishing up said business: tickets are sold as &lt;a title="various combinations of tickets are implement as variants of a single PayPal product"&gt;PayPal items&lt;/a&gt;, and email is implemented in a similar fashion to the blog: permanent public addresses under the modernmixers.co.uk domain are backed with mail accounts hosted elsewhere, currently Gmail. (The Fitz-Postes use theit Google accounts to co-ordinate more admin through Google Docs, unsurprisingly.)&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2011/02/03/mixing-a-modern-web-presence</link><guid>http://anthonybailey.tumblr.com/post/3092403635</guid><pubDate>Thu, 03 Feb 2011 21:45:13 +0000</pubDate></item><item><title>Decloaked</title><description>&lt;p&gt;The last time I updated here, I said I was &lt;a href="http://anthonybailey.net/tumblelog/2010/10/05/desertion"&gt;journeying off into the desert&lt;/a&gt;. More than three months since, if I had readers I didn&amp;rsquo;t know they&amp;rsquo;d probably be a bit worried about me.&lt;/p&gt;
&lt;p&gt;No, the trip was only a week as planned. A similarly brief description: the sheer scale of the landscape (mountains en route, then sands as far as the eye can see) was vastly impressive. I got to ride a camel through what was technically a sandstorm. I hung out with very friendly &lt;a href="http://wikipedia.org/wiki/Berber_people"&gt;hosts&lt;/a&gt; and a weird mix of nice-on-average visitors circling a middle-class artistic hippie locus, although there was far too much deference to native musical and spiritual authenticity. (I judge modern clubs better at trance rhythms, and the music that gave me shivers of joy was &lt;a title="by Rose Elinor Dougall" href="http://amazon.co.uk/dp/B003WCFT2W"&gt;&lt;em&gt;Without Why&lt;/em&gt;&lt;/a&gt; on my MP3 player in the airport.)&lt;/p&gt;
&lt;p&gt;&lt;img alt="cloak" src="http://anthonybailey.net/images/cloak.jpg" height="360" width="200" align="left"/&gt;Whilst deserting, I also got to enjoy the practicalities of a cloaking device: a long hooded covering formally called a &lt;a title='"burr-noose"' href="http://wikipedia.org/wiki/Burnous"&gt;&lt;em&gt;burnous&lt;/em&gt;&lt;/a&gt;. It&amp;rsquo;s particularly well-suited to the &lt;a title="sand, man"&gt;soft places&lt;/a&gt; of Morocco: quite light, warm when need be, a shelter against sand and wind, and a keeper of &lt;a title="see, there's a lack of lavatories in the desert"&gt;personal space&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Back here, I already regularly wore the cloak as a dressing-gown around the house. Then I visited my parents in London over Christmas; wanting to minimize what I carried, I tried it as my outdoor coat. And at the start of this year my regular furry black coat went away for repairs, so I wore the cloak around town for a couple of weeks.&lt;/p&gt;
&lt;p&gt;&lt;img alt="coat" src="http://anthonybailey.net/images/coat.jpg" height="360" width="200" align="right"/&gt;I really quite liked it. Warm and light as previously noted, it is also great for my regular extra thirty minutes of sleep in the back of the 43 bus during my commute out to South Queensferry, and it didn&amp;rsquo;t take me too long to learn how to not trip on it. But it gives off very loud pretentious goth vibes, whilst I&amp;rsquo;m a quiet and dispassionate goth who does not seek to provoke the staring or the cries of &amp;ldquo;hey, Aragorn&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;So now that my furry coat is relined and returned, I have disengaged the cloaking device. Ironically, said coat itself wants to be worn by a 70&amp;rsquo;s rock-star even further removed from my character; I guess I learned to forge my signature coat long enough ago that this ceased to worry me.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2011/01/25/decloaked</link><guid>http://anthonybailey.tumblr.com/post/2917537656</guid><pubDate>Tue, 25 Jan 2011 02:01:00 +0000</pubDate></item><item><title>Desertion</title><description>&lt;p&gt;A quick note that I&amp;rsquo;m out the country and offline for about a week. Mostly at the edge of a Moroccan desert, back Wednesday 13th.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2010/10/05/desertion</link><guid>http://anthonybailey.tumblr.com/post/1248211599</guid><pubDate>Tue, 05 Oct 2010 10:06:49 +0100</pubDate></item><item><title>http://cspangled.blogspot.com/2010/09/better-way-of-logging.html</title><description>&lt;a href="http://cspangled.blogspot.com/2010/09/better-way-of-logging.html"&gt;http://cspangled.blogspot.com/2010/09/better-way-of-logging.html&lt;/a&gt;: &lt;p&gt;After a few months away, &lt;a href="http://cspangled.blogspot.com/"&gt;Albert&lt;/a&gt; has returned to log much wisdom at level INFO.&lt;/p&gt;</description><link>http://anthonybailey.net/tumblelog/2010/09/26/cspangled-blogspot-com-2010-09-better-way-of-etc</link><guid>http://anthonybailey.tumblr.com/post/1187737687</guid><pubDate>Sun, 26 Sep 2010 00:14:09 +0100</pubDate></item></channel></rss>
