http://ryanmccuaig.net/ryanmccuaig.net2023-08-20T21:03:34ZRyan McCuaighttp://ryanmccuaig.net/aboutryan@ryanmccuaig.nettag:ryanmccuaig.net,2023-08-20:/2023/08/20/rip/Sad news2023-08-20T00:00:00Z2023-08-20T00:00:00Zarticle<article>
<p>Some sad news: my dad passed away a couple weeks ago.</p>
<p>It wasn’t unexpected, and we had enough notice to say all we needed to say to
each other and a lot of what we wanted to, which is more than he got with my
granddad.</p>
<p>But it’s still awful, and I will never stop missing him.</p>
<p>He was a remarkable human being, and my mom and I <a href="https://ryanmccuaig.net/gary/">made something to honour
him</a>.</p>
<h6>Sun 20 Aug 2023</h6>
</article>tag:ryanmccuaig.net,2023-02-23:/links/19411/piatti del giorno 862023-02-23T11:51:40Z2023-02-23T11:51:40Zlinkblog<article>
<h1>Piatti del giorno 86</h1>
<p>Been a weird couple of months in which ChatGPT has been utterly unavoidable as
a topic. I’m skeptical, so I kind of hate it. But as a topic it’s also so
all-encompassing in what it contests–socially, technologically, in design
terms, how it keeps coming up in every setting including with my non-techy
family–it is fascinating and never boring.</p>
<ul>
<li><a href="https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/">What Is ChatGPT Doing … and Why Does It Work</a> - Long but good from Stephen Wolfram, and makes effective use of small multiples visualizations (eg. on loss functions).</li>
<li><a href="https://futurism.com/the-byte/amazon-begs-employees-chatgpt">Amazon Begs Employees Not to Leak Corporate Secrets to ChatGPT</a></li>
<li><a href="https://arxiv.org/abs/2302.04222">GLAZE: Protecting Artists from Style Mimicry by Text-to-Image Models</a>: A method for poisoning image files so that they still look the same to humans but cause problems in training text-to-image models.</li>
<li><a href="https://www.wired.com/story/large-language-models-critique/">ChatGPT, Galactica, and the Progress Trap</a></li>
<li><a href="http://gigasquidsoftware.com/blog/2022/12/31/vector-symbolic-architectures-in-clojure/">Vector Symbolic Architectures in Clojure</a> - Some ideas around “small AI” that I wish I understood.</li>
<li><a href="https://www.technologyreview.com/2023/02/09/1067821/design-thinking-retrospective-what-went-wrong/">Design thinking was supposed to fix the world. Where did it go wrong?</a> - TL;DR: technosolutionism dropped from the sky that often isn’t grounded in the boring but real reasons that things are as they are.</li>
<li><a href="https://ericnormand.me/guide/database-structure-in-re-frame">Re-frame Database Best Practices + Code Examples</a></li>
<li><a href="https://learnvimscriptthehardway.stevelosh.com/chapters/12.html">Autocommands</a> - Time spent learning vim is never wasted, in my experience.</li>
<li><a href="https://docs.openfeature.dev/">OpenFeature</a> - Like OpenTelemetry, but for feature flagging, aka dark launching.</li>
<li><a href="https://anthonyhobday.com/sideprojects/saferules/">Visual design rules you can safely follow every time</a></li>
<li><a href="https://cottonbureau.com/p/TJMPPE/shirt/read-jane-jacobs-by-jane-jacobs#/14062985/tee-men-standard-tee-vintage-black-tri-blend-s">“Read Jane Jacobs by Jane Jacobs”</a> - An extremely niche joke in whose tiny blast radius I’m quite happy to be.</li>
<li><a href="https://mbezjak.github.io/posts/using-the-error-model/">Using the Error Model</a> - Error handling is one of those things that seems like it ought to be easy, but unpacks into deep philosophy that could almost be used as some kind of workplace personality test.</li>
<li><a href="https://borretti.me/article/unbundling-tools-for-thought">Unbundling Tools for Thought</a> - About “tools for thought” as largely pointless busywork.</li>
<li><a href="https://theprepared.org/features-feed/chindogu">On Chindogu</a> - “<em>Chindogu</em> is a Japanese word meaning ‘weird tool.’”</li>
</ul>
</article>tag:ryanmccuaig.net,2022-12-13:/links/19339/piatti del giorno 852022-12-13T11:51:40Z2022-12-13T11:51:40Zlinkblog<article>
<h1>Piatti del giorno 85</h1>
<p>Increasingly feeling that in 50 years we’ll come to see the rush to software-ize everything the way we’re coming to see our past rush to centre the car in all spaces.<sup id="fnref:1"><a href="#fn:1" class="footnote">1</a></sup></p>
<ul>
<li><a href="https://git.herrbischoff.com/awesome-macos-command-line/about/">awesome-macos-command-line</a> - All your <code>defaults write</code> needs.</li>
<li><a href="https://architosh.com/2022/10/the-revit-open-letter-through-the-lens-of-qwerty-nomics/">The Revit Open Letter Through the Lens of QWERTY-Nomics</a> - I find the idea that major architectural associations are essentially begging Autodesk to Do Something just disgusting. Software is in everyone’s way, putting toll booths between people who know how to do a thing and a bunch of project/product managers.</li>
<li><a href="https://www.miesarch.com/work/4301">Glies 21</a> - Very, very nice community housing in Vienna.</li>
<li><a href="https://blog.phronemophobic.com/what-is-a-user-interface.html">What is a User Interface?</a> - Backstory/philosophy to <a href="https://github.com/phronmophobic/membrane">phronmophobic/membrane</a>, which I’m messing around with.</li>
<li><a href="https://getpixelsnap.com/">PixelSnap 2 for Mac</a> - I am the world’s biggest sucker for nice design measurement tools.</li>
<li><a href="https://lostartpress.com/collections/books/products/by-hand-eye-1">By Hand And Eye</a> - Via thinking about PixelSnap, which got me thinking back on how I used to covet a fellow drafting student’s brass <a href="https://duckduckgo.com/?q=10+point+dividers&t=osx&iar=images&iax=images&ia=images">10-point dividers</a>, a book about design by proportions. (Also, the publisher is called “Lost Art Press,” which could something possibly be any more laser-targeted at me).</li>
</ul>
<div class="footnotes">
<ol>
<li id="fn:1">
<p>Not my line, sadly, but internet being internet I can’t find the source any more.<a href="#fnref:1" class="reversefootnote">↩</a></p>
</li>
</ol>
</div>
</article>tag:ryanmccuaig.net,2022-11-25:/links/19321/piatti del giorno 842022-11-25T11:51:40Z2022-11-25T11:51:40Zlinkblog<article>
<h1>Piatti del giorno 84</h1>
<p><a href="https://speedbird.wordpress.com/2014/05/17/the-engelbart-overshoot/">Adam Greenfield</a>:</p>
<blockquote>
<p>There was a powerful dream that sustained (and not incidentally, justified) half a century’s inquiry into the possibilities of information technology, from Vannevar Bush to Doug Engelbart straight through to Mark Weiser. This was the dream of augmenting the individual human being with instantaneous access to all knowledge, from wherever in the world he or she happened to be standing at any given moment. As toweringly, preposterously ambitious as that goal seems when stated so baldly, it’s hard to conclude anything but that we actually did achieve that dream some time ago, at least as a robust technical proof of concept.</p>
<p>We achieved that dream, and immediately set about betraying it.</p>
</blockquote>
<ul>
<li><a href="https://bloodknife.com/culture-war-iain-m-banks-jeff-bezos/">The Culture War: Iain M. Banks’s Billionaire Fans</a> - I had assumed that SpaceX ships were named from Banks’s Culture series by someone other than Musk, and that his enthusiasm for the books was an <a href="https://mastodon.social/@rgm/109393956213536580">erudition camouflage display</a>, but this is another good hypothesis. (tl;dr: billionaires do in fact live post-scarcity existences, so the Culture resonates and having lost all touch they don’t really see the socialism as relevant).</li>
<li><a href="https://codingnest.com/modern-sat-solvers-fast-neat-underused-part-1-of-n/">Modern SAT solvers: fast, neat and underused</a> - Another computational rabbit hole I’m thinking of diving into.</li>
<li><a href="https://www.noemamag.com/the-exploited-labor-behind-artificial-intelligence/">The Exploited Labor Behind Artificial Intelligence</a> - ‘Tech companies that have branded themselves “AI first” depend on heavily surveilled gig workers like data labelers, delivery drivers and content moderators. Startups are even hiring people to impersonate AI systems like chatbots, due to the pressure by venture capitalists to incorporate so-called AI into their products. In fact, London-based venture capital firm MMC Ventures surveyed 2,830 AI startups in the EU and found that 40% of them didn’t use AI in a meaningful way.’</li>
<li><a href="https://journals.sagepub.com/doi/full/10.1177/09637214221121570">Critical Ignoring as a Core Competence for Digital Citizens</a> - I agree that teaching kids how to effectively ignore seems worthwhile, but don’t see how we layer yet another thing on in high schools without adding a grade or two.</li>
<li><a href="https://www.azuremagazine.com/article/jack-diamond-1932-2022-remembering-a-canadian-icon/">Jack Diamond, 1932-2022: Remembering a Canadian Icon</a> - Sad to lose Jack Diamond, having worked as an usher in his (and Barton Myers’s) wonderful Citadel Theatre in Edmonton as a yoot. More humane buildings and activist architects, please.</li>
<li><a href="https://speedbird.wordpress.com/2014/05/17/the-engelbart-overshoot/">Beacons, marketing and the neoliberal logic of space, or: The Engelbart overshoot</a> - The source of the quote above, from around ten years ago and roughly the few year period where I think I transitioned from excitement around tech things to my current generalized dread.</li>
<li><a href="https://mattwidmann.net/notes/pen-plotters/">Pen plotters</a> - Pen plotter projects grouped by the way the pens move.</li>
</ul>
</article>tag:ryanmccuaig.net,2022-11-14:/links/19310/piatti del giorno 832022-11-14T11:51:40Z2022-11-14T11:51:40Zlinkblog<article>
<h1>Piatti del giorno 83</h1>
<p>Ok, so it’s been a while. But with the hellsite coming down any day now, it
seemed like it might be a good time to bring back what passed for The Internet
ca. 2003.</p>
<ul>
<li><a href="https://www.currentaffairs.org/2022/09/defective-altruism/">Defective Altruism</a> - Much in the news lately with the latest crypto meltdown.</li>
<li><a href="https://grishaev.me/en/clojure-zippers/">Clojure Zippers</a> - Zippers are one of those concepts that’re so clever I can’t hold it in my brain for very long.</li>
<li><a href="https://medium.com/@thi.ng/workshop-report-generative-design-with-clojure-7d6d8ea9a6e8">Workshop report: Generative design with Clojure</a> - Using the thi.ng libraries to do fun generative things.</li>
<li><a href="https://codahale.com//work-is-work/">Work Is Work</a> - Been feeling this lately, as the team gets bigger.</li>
<li><a href="https://komoroske.com/slime-mold/">Coordination Headwind - How Organizations Are Like Slime Molds</a> - A sequel to the last one.</li>
<li><a href="https://dcic-world.org/2022-08-28/index.html">A Data-Centric Introduction to Computing</a> - I listened to a podcast with Shriram Krishnamurthi recently where he suggested that SICP’s problem domain (mostly physics/math stuff) made it seem a bit like cheating, and that this realization informed his approach to this pile of theory-of-computation beginner material.</li>
<li><a href="https://secondegress.ca/">The Second Egress: Building a Code Change</a> - Via <a href="https://twitter.com/holz_bau">Michael Eliason</a>, on the impact of requiring second-stair egress fundamentally shapes Canadian cities for the worse.</li>
<li><a href="https://gist.github.com/pesterhazy/3e039677f2e314cb77ffe3497ebca07b">Building Sync Systems</a> - Resources for offline sync, from <a href="https://twitter.com/pesterhazy">Paulus Esterhazy</a>.</li>
<li><a href="https://design-of-forms.online/introduction/the-value-of-well-designed-forms/">The value of well-designed forms</a> - This is an incredible guide, and I worry about how much of this kind of thing arising from centuries of British clerking-by-paper have been lost in our frantic dive into computerizing everything.</li>
<li><a href="https://chriskiehl.com/article/event-sourcing-is-hard">Don’t Let the Internet Dupe You, Event Sourcing is Hard</a> - It’s hard. It’s true. Not without reward, but still.</li>
<li><a href="https://ciechanow.ski/mechanical-watch/">Bartosz Ciechanowski - Mechanical Watch</a> - This (and other explanations by the same author) are the reason JavaScript should be allowed to continue to exist.</li>
<li><a href="https://kk.org/thetechnium/103-bits-of-advice-i-wish-i-had-known/?ref=refind">The Technium: 103 Bits of Advice I Wish I Had Known</a></li>
<li><a href="http://www.architectmagazine.com/design/parametric-design-whats-gotten-lost-amid-the-algorithms_o">Parametric Design: What’s Gotten Lost Amid the Algorithms</a></li>
</ul>
</article>tag:ryanmccuaig.net,2017-06-20:/links/17337/piatti del giorno 822017-06-20T11:51:40Z2017-06-20T11:51:40Zlinkblog<article>
<h1>Piatti del giorno 82</h1>
<p>Having a weird and enjoyable mix of projects right now, hence the all-over-the-place scatter below.</p>
<ul>
<li><a href="http://www.dougengelbart.org/firsts/1968-demo-interactive.html">The Mother of All Demos, annotated</a> - Doug Engelbart’s 1968 demo à la Maciej Ceglowski image-beside-text.</li>
<li><a href="http://noonat.github.io/intersect/">Intersection Tests in 2D</a> - The basics of hit testing.</li>
<li><a href="http://www.mudarchitecture.com/soane-museum-real-and-percieved-space/">Soane Museum: Real and Perceived Space</a> - Another isovist analysis, but this time in a piece of architecture famous for its cleverness with mirrors to analyze the space that appears to but doesn’t really exist. Also, really nice looking diagrams.</li>
<li><a href="https://forum.dynamobim.com/t/isovist-challenge/11510/2">Isovist Challenge</a> - Using Dynamo to create isovists (I have an interesting and weird project right now involving this kind of geometric analysis).</li>
<li><a href="https://vimeo.com/216467189?__s=mvwxaa7qzqno6zncpnf3">clojure.spec: a lisp-flavoured type system on Vimeo</a> - Having high hopes for clojure.spec letting me stick with dynamic typing but not setting my hair on fire all the time.</li>
<li><a href="https://www.youtube.com/watch?v=ZQkIWWTygio">Variants are Not Unions</a> - Tagged unions for when you don’t have OR types in your language. Something something deep about graphs versus trees for human affairs and classification problems.</li>
<li><a href="http://a11yproject.com/">The A11Y Project</a> - I’m experimenting with how much of this I can cram into a current project without really mentioning it. Trying out VoiceOver and my laptop’s screen screen brightness turned to zero a few times a week.</li>
<li><a href="http://blog.jaredsinclair.com/post/97655887470/good-design-is-about-process-not-product">Good Design is About Process, not Product</a> - The bit about “giving yourself time” meaning not setting a limit on how long to work is highly profound, and not the only highly profound bit. Worth an annual re-read.</li>
</ul>
</article>tag:ryanmccuaig.net,2016-09-07:/links/17051/piatti del giorno 812016-09-07T11:51:40Z2016-09-07T11:51:40Zlinkblog<article>
<h1>Piatti del giorno 81</h1>
<p>The long hiatus in which I kind of forget I have a blog.</p>
<ul>
<li><a href="http://jelv.is/blog/Haskell-Monads-and-Purity/">Haskell, Monads and Purity</a></li>
<li><a href="https://newrepublic.com/article/136558/life-nowhere-office">Life at the Nowhere Office</a> - “Leave no trace behind. Remember: You have never been here.” (h/t <a href="https://twitter.com/pbowden">@pbowden</a>).</li>
<li><a href="https://docs.google.com/spreadsheets/d/1sWS_aX4vcBNdHi5hCeBLy7C4sOBwXHzegaXXMM-t84I/edit#gid=143352549">Saem Ghani’s Reading List</a> - Coming from zero to relatively up-to-speed on distributed systems and other grownup stuff.</li>
<li><a href="http://inspire.blufra.me/big-data-visualization-review-of-the-20-best-tools/">Big Data Visualization: Review of the 20 Best Tools</a></li>
<li><a href="https://lineshapespace.com/drone-3d-printer/">4 Ways a Robot or Drone 3D Printer Will Change Architecture</a></li>
<li><a href="http://mcfunley.com/choose-boring-technology">Choose Boring Technology</a></li>
<li><a href="http://mikamantyla.eu/BadCodeSmellsTaxonomy.html">Bad Code Smells - A Taxonomy</a></li>
<li><a href="http://www.refactoring.com/catalog/">Martin Fowler’s Catalog of Refactorings</a></li>
<li><a href="http://www.industriallogic.com/wp-content/uploads/2005/09/smellstorefactorings.pdf">Smells To Refactorings Quick Reference Guide</a></li>
<li><a href="http://pboyer.github.io/designscript.js/">designscript.js</a></li>
<li><a href="http://haskell.cs.yale.edu/wp-content/uploads/2011/02/icfp97.pdf">Functional Reactive Animation</a></li>
<li><a href="http://www.sicpers.info/2015/08/the-death-of-scripting/">The death of scripting</a></li>
<li><a href="https://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/43146.pdf">Machine Learning: The High-Interest Credit Card of Technical Debt</a></li>
<li><a href="http://martiancraft.com/blog/2015/03/core-data-stack/">My Core Data Stack</a></li>
<li><a href="http://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html">Fearless Concurrency with Rust</a> - (h/t <a href="https://twitter.com/mdeepwell">@mdeepwell</a>).</li>
</ul>
</article>tag:ryanmccuaig.net,2015-02-19:/links/16485/piatti del giorno 802015-02-19T11:51:40Z2015-02-19T11:51:40Zlinkblog<article>
<h1>Piatti del giorno 80</h1>
<p><a href="http://en.wikipedia.org/wiki/Ellen_Ullman">Ellen Ullman</a>:</p>
<blockquote>
<p>I’m upset, so I’m taking apart my computers. If I were a poet, I’d get drunk and yell at the people I love. As it is, I’m gutting my machines.</p>
</blockquote>
<ul>
<li><a href="https://www.youtube.com/watch?v=f84n5oFoZBc">Hammock-Driven Development</a> - Rich Hickey’s nice little meditation on foreground-background mind from the first Clojure Conj.</li>
<li><a href="https://www.youtube.com/watch?v=fU9hR3kiOK0&list=PLeKd45zvjcDHJxge6VtYUAbYnvd_VNQCx">Turning the database inside out with Apache Samza</a> - A nice follow-on to <a href="https://www.youtube.com/watch?v=-6BsiVyC1kM">The Value of Values</a>. Now that I’ve started to grok functional principles, I’m tending to find them everywhere.</li>
<li><a href="http://www.deathandtaxesmag.com/237292/all-the-ghostly-sounds-that-are-lost-when-you-compress-to-mp3/">All the ghostly sounds that are lost when you compress to mp3</a> - This is ridiculously poetic: a song made of the leftover noises the MP3 encoding algorithm has stripped out of Suzanne Vega’s <i>Tom’s Diner</i> (via <a href="http://tinyletter.com/realfuture/letters/real-future-1">Alexis Madrigal</a>).</li>
</ul>
</article>tag:ryanmccuaig.net,2015-01-21:/2015/01/21/faithful-representation/On faithful representation2015-01-21T00:00:00Z2015-01-21T00:00:00Zarticle<article>
<p>So, I watched the <a href="http://www.microsoft.com/microsoft-hololens/en-us">Microsoft HoloLens</a> video. I’m diagnosing my relative lack
of excitement as having something to do with it showing an incomplete vision.</p>
<p>Depicting the idea that this technology is closer than ever before<sup id="fnref:1"><a href="#fn:1" class="footnote">1</a></sup> to
representing what it’s like to sculpt physical materials is a lazy trope.
Sculpting virtual rockets for your kid is just not a use for this that will
ever matter, even if it actually becomes possible as shown.</p>
<p>Why exactly are we so obsessed with faithful represention?</p>
<p>Another tidy analogy: in architectural design, <a href="http://en.wikipedia.org/wiki/Architectural_drawing#Floor_plan">orthographic representation</a>
is fundamental to understanding element relationships well enough to inform the
judgments one needs to make to design well. It’s sufficiently fundamental that
more experienced architects can often make an accurate guess as to whether
someone designed entirely in digital model or have actually drawn plans,
sections and elevations. (The hint for me is that there are often these curiously
under-resolved areas that would have been immediately obvious on eg. an
interior elevation).</p>
<p>And yet, these are representations that deliberately distort “reality.” There
is no place you could stand or eye you could have that could actually see this
view of the real building. They are amazingly useful once you learn to read
them. (That reading them is a skill means, of course, that there’s lots of room
for misinterpretation, which is why real and digital models are <u>also</u>
valuable. I’m just saying they don’t stand alone any better than an
orthographic does). A representation’s usefulness for providing design feedback
can come as much from how ingeniously poorly it matches reality as how
faithfully.</p>
<p>So, that’s a long way around to saying that what <u>will</u> knock my socks off in
one of these videos is when I see some thought given to even a guess at a new
<a href="http://bost.ocks.org/mike/">distorted representations</a>–one that we may not even yet be able to read–that
will become easy.<sup id="fnref:2"><a href="#fn:2" class="footnote">2</a></sup></p>
<h6>Wed 21 Jan 2015</h6>
<div class="footnotes">
<ol>
<li id="fn:1">
<p>Considering this “close” is <a href="http://worrydream.com/ABriefRantOnTheFutureOfInteractionDesign/">almost comically charitable</a>.<a href="#fnref:1" class="reversefootnote">↩</a></p>
</li>
<li id="fn:2">
<p>I do recognize the arc of technology is to start by sticking a camera in the audience of a play and calling it cinema. Still, we’re emboldened-visioning here, or whatever.<a href="#fnref:2" class="reversefootnote">↩</a></p>
</li>
</ol>
</div>
</article>tag:ryanmccuaig.net,2015-01-10:/2015/01/10/ruthless-testing/A tidy little analogy between architecture school and automated test suites2015-01-10T00:00:00Z2015-01-10T00:00:00Zarticle<article>
<h1>A tidy little analogy between architecture school and automated test suites</h1>
<p>I had a professor who would turn his students’s scale models around in his
hands, holding them about two inches from his nose, and very subtly wiggle
various bits of the model.</p>
<p>Fairly often, we’d hear a snap, a piece would come off in his fingers, and–rather
than apologize–our professor would shrug, say that that piece really wasn’t
in service of the design idea and didn’t need to be there anyway, toss it
aside, and resume his deconstructive criticism.</p>
<p>For the most part he was right: any piece that he can remove with a small
wiggle is quite likely to be poorly attached conceptually to the overall
design, and its actual physical attachment is a surprisingly accurate and
understandable-to-know-nothing-kids proxy judgment for the harder conceptual
one. (We did eventually start to grok the deeper idea, but mainly the
short-term result was that we started gluing the hell out of things).</p>
<p>I was remembering this, and jumped from it to a terrible idea for ruthlessly
helping people internalize what makes for a good automated test suite:</p>
<p>Imagine an automated testing tool that runs the entire test suite once per
method, removing that method and checking if at least one test fails. If the
tests still pass, the tool fails to apologize, shrugs, says it didn’t need to
be there anyway, deletes the method entirely, and resumes with the next pass.</p>
<h6>Sat 10 Jan 2015</h6>
</article>tag:ryanmccuaig.net,2014-12-29:/links/16433/piatti del giorno 792014-12-29T11:51:40Z2014-12-29T11:51:40Zlinkblog<article>
<h1>Piatti del giorno 79</h1>
<p>Some James Golick talks you should have already seen, but you can remedy that right now if you haven’t.</p>
<p style="text-indent:0;margin-top:13px;margin-bottom:13px;"><a link="http://faq.metafilter.com/4/What-does-a-single-period-in-a-comment-by-itself-mean">.</a></p>
<ul>
<li><a href="https://vimeo.com/12814529">Scaling to Hundreds of Millions of Requests</a> - A classic talk from 2010.</li>
<li><a href="http://www.youtube.com/watch?v=VV7b7fs4VI8">How to Debug Anything</a> - Great technique involving <code>strace</code> (or <code>dtruss</code> on OS X), which I’ve flirted with when it feels like the wall of output doesn’t intimidate me too much.</li>
</ul>
</article>