[{"data":1,"prerenderedAt":697},["ShallowReactive",2],{"$z2ay5mqID4":3},{"id":4,"title":5,"body":6,"description":688,"extension":689,"meta":690,"navigation":440,"path":693,"seo":694,"stem":695,"__hash__":696},"content\u002Fblog\u002Fcocaine-cough-syrup.md","Should we put the cocaine back in the cough syrup? Making data access palatable",{"type":7,"value":8,"toc":673},"minimark",[9,13,28,33,42,45,53,58,63,66,71,78,81,88,93,96,118,125,130,133,142,145,148,151,154,160,166,169,173,176,183,186,191,194,218,226,229,233,236,239,243,246,249,252,256,261,264,284,287,298,301,305,316,319,327,332,348,351,357,364,519,527,531,534,537,547,559,588,595,615,620,623,630,635,639,643,648,651,655,669],[10,11,5],"h1",{"id":12},"should-we-put-the-cocaine-back-in-the-cough-syrup-making-data-access-palatable",[14,15,16,20,23],"blockquote",{},[17,18,19],"p",{},"As I write this, I'm sitting in Canberra, on my way home from Scipy 2026. To my delight (and perhaps surprise), the ideas I've been promoting seemed about as well recieved as I could have possibly hoped for. This is a continuation of those ideas.",[17,21,22],{},"Because I'm me, it'll probably take a few strange twists, turns, and asides. Hopefully the stream of thought narrative is appealing to at least somebody who reads this.",[14,24,25],{},[17,26,27],{},"Warning - I finished this off when I wasn't high on jetlag. Some of it seems a bit more muddled now, but I'm going to leave it as is, because I like the stream of consciousness style that was apparently all I could muster.",[29,30,32],"h2",{"id":31},"getting-the-rat-to-pull-the-lever-how-your-dopamine-system-works","Getting the rat to pull the lever: How your dopamine system works.",[17,34,35,36,41],{},"There is a famous psychological experiment known as a ",[37,38,40],"a",{"href":39},"","Skinner Box",". B. F. Skinner and his student, Charles Ferster, were trying to understand motivation. To this end, they created a box, which contained a lever which dispened food pellets. They would place a rat (or a pigeon) in this box, and via some clever mechanical tricks, could determine the conditions which made the rat push the lever.",[17,43,44],{},"It's unfortunately an apocryphal story, but it's so charming that I'll repeat the misconception. One day, as the story goes, they were running short on treats to dispense via the lever, so they rigged it to only give a treat a certain percentage of the time; say 30-50%. They expected this to be a disaster and to have to write their results for the day off. It turned out that the rats could not resist the uncertainty of the lever, and began furiously pressing as if they were possessed.",[17,46,47,48,52],{},"As I said, it turns out this origin story is completely untrue. They were just systematically investigating conditions that triggered pressing, and this was one condition they tested. It turned out, however, to be far more stimulating than just giving a reward on each press. This discovery, known as a ",[49,50,51],"strong",{},"variable reward schedule",", is more or less the mechanism by which slot machines, social media, toxic on-again-off-again relationships, and coding agents work, and is just about the most reliable mechanism to motivate someone (or just about any mammal) to do something.",[14,54,55],{},[17,56,57],{},"Brief aside: When I was fact checking the Skinner box stuff for this, I also discovered that during one of their experiments, they managed to make pigeons superstitious - if a pigeon flapped it's wings just before a scheduled reward was dispensed just a couple of times, it would begin to flap its wings to obtain a reward.",[14,59,60],{},[17,61,62],{},"Aside 2: There is the legendary story about Google making their search worse to serve more ads - two searches means twice as many ads served. Ironically, this might have also made the user experience better - because it made Google unpredictable in a way that our brains can't resist.",[17,64,65],{},"Cool - but what the hell does this have to do with data advertising, let alone coding agents? Put very simply:",[17,67,68],{},[49,69,70],{},"We cannot resist pulling a lever that we know occasionally pays out a reward.",[17,72,73,74,77],{},"Even more simply, there is something completely enthralling about taking actions that might pay off. ",[49,75,76],{},"We love gambling"," - and we're biologically hardwired to do it.",[17,79,80],{},"Facebook worked this out a while back. I'm not sure it's still true, but it used to be the case that every fourth post was an advert. It's probably still true for Instagram reels, and TikTok. Unless you counted, you wouldn't notice - you'd just get the dopamine hit when you suddenly scrolled past an advert to some content you were actually interested in.",[17,82,83,84,87],{},"Facebook also stole the refresh mechanism for your feed straight from slot machines, to my knowledge. You pull down, it bounces a bit, and then occasionally, it might show you something new. Dopamine, DOPAMINE, ",[49,85,86],{},"DOPAMINE",".",[89,90,92],"h3",{"id":91},"what-the-hell-does-this-have-to-do-with-coding-agents","What the hell does this have to do with coding agents?",[17,94,95],{},"For a long time, writing code was a pretty medative process - it would work something like the following, assuming you were writing Python:",[97,98,99,103,106,109,112,115],"ol",{},[100,101,102],"li",{},"Sit down, write some code.",[100,104,105],{},"Write some tests.",[100,107,108],{},"Run the test suite.",[100,110,111],{},"Error",[100,113,114],{},"Fix the code and\u002For tests.",[100,116,117],{},"Repeat steps 3-5 until everything passes.",[17,119,120,121,124],{},"There ",[49,122,123],{},"is"," a variable reward in here, which, to my mind, is why programming gradually becomes satisying: you never know whether your code is actually going to work. Eventually, you get good enough that the chance it does work becomes high enough that the process becomes fun, not frustrating.",[14,126,127],{},[17,128,129],{},"Aside: This is 'flow state', or 'The Zone of Proximal Development' - the former term coined by the Hungarian psychologist Mihaly Csikszentmihalyi, the latter by Lev Vygotsky. Too easy, and things are boring. Too hard, things are frustrating. Just right, and like Goldilocks, your dopamine system gets just the right ratio of wins and failures - and the process of doing the task slots right into this dopamine dynamic, driving you to continue.",[17,131,132],{},"Now, let's think about how coding agents have moved the needle on this:",[134,135,136,139],"ul",{},[100,137,138],{},"Firstly, there is no guaranteed reward - If I fire up claude code and tell it to build me the next Ebay\u002FFacebook\u002FChatGPT, it's going to fail.",[100,140,141],{},"An LLM is basically a gigantic intuition machine - a model of your brains System 1, dialled up to 11. I can write for loops in Python to do maths all day, without really engaging my brain at all. That's dull - because I know I can do that with (effectively) 100% accuracy. I don't need an LLM to do it.",[17,143,144],{},"So we have a wide open problem space. One one hand, I know that I can type out code by hand to do the donkey work, with a virtually 100% chance of success - no neurochemical rewards to be found there. On the other hand, if I want to build the next gcc\u002Fpolars\u002Ffacebook, the chance of doing it is next to zero, and I'll be typing for a very long time before I get any reinforcement - so there's not much neurochemical reward there either.",[17,146,147],{},"So what does a coding agent actually let us do? It lets us titrate the chance of success, just to the point where we can't stop ourselves from using it. It's a slot machine that lets us choose the odds.",[17,149,150],{},"If I tell Claude Code\u002F Codex to build me a feature, I know approximately how much detail I need to tell it. In fact, in the interests of efficiency (I'll come back to this), I'm trying to minimise the amount of detail I'm giving it, aiming to give it just enough that it can fill in all the details itself. Sometimes it'll be enough. Sometimes, it'll need a little back and forth. Fine, seems reasonable enough.",[17,152,153],{},"But what if it's not in the interests of efficiency? Here's another way of thinking about it - when you give a coding agent a prompt, what if you're not giving it just enough information to fill in the blanks. What if you're actually giving it enough information that it's chance of success is maximally rewarding to your dopamine system?",[17,155,156,159],{},[49,157,158],{},"I don't think we can tell the difference",". In fact, I'm not even sure there is a difference. In the past few months, I've seen Simon Willison, David Heinemeir Hanssen, and Marc Andreesen talk about this phenomena where developers find it basically impossible to put the LLM down, borderline addict behaviour that involves prompting the thing until the early hours of the morning, waking up at 6AM to start building, etc etc. This looks an awful lot like addiction to me.",[17,161,162,165],{},[49,163,164],{},"To be clear",", I'm not actually sure this is a bad thing. We've managed to discover and\u002For invent plenty of addictive things - videogames, TikTok, drugs, sugary food, ice baths. Most of these things are generally neutral to bad for you, at least at a 'story of your life' level (I deliberately put ice baths in as an example of a 'neutral' addiction). But now we've managed to discover a way to make building useful tools addictive. Sure, this then comes at the cost of balance, but it's not like we were all super balanced to begin with.",[17,167,168],{},"Maybe replacing the destructive addictions with productive ones isn't such a bad idea?",[29,170,172],{"id":171},"what-the-hell-does-this-have-to-do-with-data-access-though","What the hell does this have to do with data access, though?",[17,174,175],{},"Okay, so after a probably unnecessary amount of preamble and philosophy, we arrive at the main point that I was hoping to make. To my mind, we now have something that looks like clear evidence that even one of the most traditionally tedious tasks, writing software, can be gamified in a way that makes it somewhere between effortless and addictive. So let's turn our attention to another of those tedious tasks - distributing, discovering, and accessing scientific data.",[17,177,178,179,87],{},"Again, the frame I'm going to take here isn't about what would be the most morally pure way to do this. Instead, we're going to think about this from the perspective of ",[180,181,182],"em",{},"\"How can we make data access maximally appealing to our dopamine system?\"",[17,184,185],{},"My justification for this is that if TikTok and Instagram are competing for your attention by randomly inserting videos of scantily clad women into your feed in order to sell your attention to advertisers and then pinging your phone at random in order to reel you in (pun intended), it doesn't strike me as particularly amoral to apply some similar principles to at least make doing something productive with your time able to compete on even ground.",[187,188,190],"h4",{"id":189},"human-beings-love-bright-colours","Human beings love bright colours.",[17,192,193],{},"All the apps on your phone have bright logos, because we love bright flashing things. Here are some papers on the topic:",[134,195,196,204,211],{},[100,197,198],{},[37,199,203],{"href":200,"rel":201},"https:\u002F\u002Fjournals.sagepub.com\u002Fdoi\u002F10.1177\u002F20501579231212062",[202],"nofollow","Is life brighter when your phone is not? The efficacy of a grayscale smartphone intervention addressing digital well-being\n",[100,205,206],{},[37,207,210],{"href":208,"rel":209},"https:\u002F\u002Fwww.sciencedirect.com\u002Fscience\u002Farticle\u002Fpii\u002FS2451958823000271",[202],"Suffering from problematic smartphone use? Why not use grayscale setting as an intervention! – An experimental study",[100,212,213],{},[37,214,217],{"href":215,"rel":216},"https:\u002F\u002Fpmc.ncbi.nlm.nih.gov\u002Farticles\u002FPMC10498313\u002F",[202],"Evaluating the Effectiveness of Apps Designed to Reduce Mobile Phone Use and Prevent Maladaptive Mobile Phone Use: Multimethod Study",[17,219,220,221,225],{},"It's kind of hilarious - one of the highest leverage activities you can do to reduce ",[222,223,224],"del",{},"your smartphone usage"," the nontrivial fraction of your life you are wasting on your phone is just to make it black and white.",[17,227,228],{},"The takeaway here for distributing data: Since data access is already kind of boring, we should probably include as many bright flashing colours as possible (and professional).",[187,230,232],{"id":231},"people-dont-like-reading","People don't like reading",[17,234,235],{},"\"I'm not going to read that essay\"",[17,237,238],{},"Nuff said. It needs to be short and sharp.",[187,240,242],{"id":241},"popups-motion-excitement","Popups, motion, excitement",[17,244,245],{},"In early June, I was on a flight from Kuala Lumpur to London with my nieces - who were about 15 months old at the time. They were, understandably, a bit bored on a 14 hour flight. At one point, I showed one of them that my watch had a touchscreen.",[17,247,248],{},"This was a Garmin Fenix by the way, not an Apple Watch or similar. It's a fairly dull, functional, piece of tech. What I didn't expect to see was how completely captivated she was by the movement on the screen and the haptic feedback.",[17,250,251],{},"Again, this was a 15 month old baby, who I don't think had previously really seen any smart watches at all, looking at one that was designed to be boring. I found that pretty remarkable.",[89,253,255],{"id":254},"make-it-short-make-it-bright-make-it-move","Make it short, make it bright, make it move",[14,257,258],{},[17,259,260],{},"I wish I could have done that for my writing here...",[17,262,263],{},"I think it winds up boiling down to this. When you think about it, this design pattern then shows up just about everywhere that needs to command limited attention:",[134,265,266,269,272,275,278,281],{},[100,267,268],{},"Traffic lights",[100,270,271],{},"Childrens books",[100,273,274],{},"Cartoons",[100,276,277],{},"Social Media",[100,279,280],{},"Smartphones",[100,282,283],{},"Modern IDE's - syntax highlighting, status lines, git diffs.",[17,285,286],{},"I could keep going, but really it's kinda just evident. The problem is - just think about where it doesn't show up:",[134,288,289,292,295],{},[100,290,291],{},"Data Catalogues",[100,293,294],{},"Academic Papers",[100,296,297],{},"Anything the government can force you to interact with - eg. your tax return.",[17,299,300],{},"Data advertising is about moving your dataset from the long, bland and static to the short, bright and interactive 'bucket'.",[89,302,304],{"id":303},"data-advertising-a-heavily-abridged-and-wooly-definition","Data Advertising - A (heavily) abridged and wooly definition.",[14,306,307],{},[17,308,309,310,315],{},"\"The best way to distribute large scientific datasets is via the Cloud\" - ",[37,311,314],{"href":312,"rel":313},"https:\u002F\u002Fvirtualizarr.readthedocs.io\u002Fen\u002Fstable\u002F",[202],"Virtualizarr Docs",", presumably written by Tom Nicholas.",[17,317,318],{},"I 100% agree with this statement. Just because something is in principle accessible by emailing you and asking for a copy, or obtaining login access to some computer system somewhere, that does not mean it is accessible in practice. But the cloud doesn't just give us an easy way to distribute datasets - it also gives us an easy way to advertise them.",[89,320,322,323,326],{"id":321},"data-advertising-is-wrapping-the-data-with-just-enough-fluff-to-make-someone-actually-use-it","Data advertising is wrapping the data with just enough fluff to make someone ",[180,324,325],{},"actually"," use it.",[17,328,329],{},[49,330,331],{},"All you need is CORS",[134,333,334,341],{},[100,335,336],{},[37,337,340],{"href":338,"rel":339},"https:\u002F\u002Fzarr-layer.demo.carbonplan.org\u002F",[202],"Carbonplan\u002Fzarr-layer",[100,342,343],{},[37,344,347],{"href":345,"rel":346},"https:\u002F\u002Fcharles-turner-1.github.io\u002Fdwer-csi-streamer\u002Fview-data",[202],"DWER-CSI-Streamer",[17,349,350],{},"(The latter site is mine, and built on top of zarr layer. Shout out to everyone involved in that project, it is tremendous)",[17,352,353,354],{},"The beauty of cloud data distribution is that fundamentally, it's just HTTP access to a computer somewhere, with the datasets optimised in such a way that they can be streamed performantly. This opens up a second possibility - ",[49,355,356],{},"why not just stream them straight into a website, so we can explore them by looking at them?",[17,358,359,360,363],{},"In the DWER-CSI-Streamer I linked above, the data that you can look at and scroll through ",[49,361,362],{},"is just a zarr store in an S3 (Ceph, actually) bucket",". In fact, you can open it with xarray now from your laptop, if you want:",[365,366,370],"pre",{"className":367,"code":368,"language":369,"meta":39,"style":39},"language-python shiki shiki-themes material-theme-lighter github-light github-dark"," # \u002F\u002F\u002F script\n # dependencies = [\n #   \"xarray\",\n #   \"zarr\",\n #   \"fsspec\",\n #   \"requests\",\n #   \"aiohttp\",\n # ]\n # \u002F\u002F\u002F\n\n import xarray as xr\n\n ds = xr.open_zarr(\"https:\u002F\u002Fprojects.pawsey.org.au\u002Fdwer-zarr-store\u002Fdata.zarr\")\n\n print(ds)\n","python",[371,372,373,385,391,397,403,409,415,421,427,435,442,459,464,500,505],"code",{"__ignoreMap":39},[374,375,378,382],"span",{"class":376,"line":377},"line",1,[374,379,381],{"class":380},"sutJx"," #",[374,383,384],{"class":380}," \u002F\u002F\u002F script\n",[374,386,388],{"class":376,"line":387},2,[374,389,390],{"class":380}," # dependencies = [\n",[374,392,394],{"class":376,"line":393},3,[374,395,396],{"class":380}," #   \"xarray\",\n",[374,398,400],{"class":376,"line":399},4,[374,401,402],{"class":380}," #   \"zarr\",\n",[374,404,406],{"class":376,"line":405},5,[374,407,408],{"class":380}," #   \"fsspec\",\n",[374,410,412],{"class":376,"line":411},6,[374,413,414],{"class":380}," #   \"requests\",\n",[374,416,418],{"class":376,"line":417},7,[374,419,420],{"class":380}," #   \"aiohttp\",\n",[374,422,424],{"class":376,"line":423},8,[374,425,426],{"class":380}," # ]\n",[374,428,430,432],{"class":376,"line":429},9,[374,431,381],{"class":380},[374,433,434],{"class":380}," \u002F\u002F\u002F\n",[374,436,438],{"class":376,"line":437},10,[374,439,441],{"emptyLinePlaceholder":440},true,"\n",[374,443,445,449,453,456],{"class":376,"line":444},11,[374,446,448],{"class":447},"sVHd0"," import",[374,450,452],{"class":451},"su5hD"," xarray ",[374,454,455],{"class":447},"as",[374,457,458],{"class":451}," xr\n",[374,460,462],{"class":376,"line":461},12,[374,463,441],{"emptyLinePlaceholder":440},[374,465,467,470,474,477,480,484,487,491,495,497],{"class":376,"line":466},13,[374,468,469],{"class":451}," ds ",[374,471,473],{"class":472},"smGrS","=",[374,475,476],{"class":451}," xr",[374,478,87],{"class":479},"sP7_E",[374,481,483],{"class":482},"slqww","open_zarr",[374,485,486],{"class":479},"(",[374,488,490],{"class":489},"sjJ54","\"",[374,492,494],{"class":493},"s_sjI","https:\u002F\u002Fprojects.pawsey.org.au\u002Fdwer-zarr-store\u002Fdata.zarr",[374,496,490],{"class":489},[374,498,499],{"class":479},")\n",[374,501,503],{"class":376,"line":502},14,[374,504,441],{"emptyLinePlaceholder":440},[374,506,508,512,514,517],{"class":376,"line":507},15,[374,509,511],{"class":510},"sptTA"," print",[374,513,486],{"class":479},[374,515,516],{"class":482},"ds",[374,518,499],{"class":479},[365,520,525],{"className":521,"code":523,"language":524},[522],"language-text","\u003Cxarray.Dataset> Size: 601MB\nDimensions:       (time: 492, rlat: 279, rlon: 364, rot_pole: 1, bnds: 2)\nCoordinates:\n  * time          (time) datetime64[ns] 4kB 1980-01-16T12:00:00 ... 2020-12-1...\n  * rlat          (rlat) float64 2kB -11.34 -11.31 -11.27 ... -1.592 -1.557\n  * rlon          (rlon) float64 3kB 147.7 147.7 147.7 ... 160.4 160.4 160.4\n    lat           (rlat, rlon) float64 812kB ...\n    lon           (rlat, rlon) float64 812kB ...\n    rotated_pole  (rot_pole) int32 4B ...\n    time_bnds     (time, bnds) datetime64[ns] 8kB ...\n    height        float64 8B ...\nDimensions without coordinates: rot_pole, bnds\nData variables:\n    pr            (time, rlat, rlon) float32 200MB ...\n    tasmax        (time, rlat, rlon) float32 200MB ...\n    tasmin        (time, rlat, rlon) float32 200MB ...\nAttributes: (12\u002F28)\n    institute_id:                   WA-DWER\n    institution:                    Murdoch University and Department of Wate...\n    contact:                        Jatin Kala (J.Kala@murdoch.edu.au), Sean ...\n    references:                     https:\u002F\u002Fwww.wa.gov.au\u002Forganisation\u002Fdepart...\n    project_id:                     WA-CSI\n    product:                        output\n    ...                             ...\n    wrf_shemes_ra_lw_physics:       Iacono, M. J., J. S. Delamere, E. J. Mlaw...\n    wrf_shemes_sf_sfclay_physics:   Revised_MM5; Jimenez et al. (2012, MWR)\n    wrf_shemes_sf_surface_physics:  Niu, Guo-Yue, Zong-Liang Yang, Kenneth E....\n    wrf_shemes_mp_physics:          Thompson, Gregory, Paul R. Field, Roy M. ...\n    wrf_shemes_bl_pbl_physics:      Nakanishi, M., and H. Niino, 2006: An imp...\n    wrf_shemes_cu_physics:          Disabled\n","text",[371,526,523],{"__ignoreMap":39},[89,528,530],{"id":529},"but-how-much-better-is-a-nice-interactive-page-than-reading-an-xarray-repr","But how much better is a nice interactive page than reading an xarray repr?",[17,532,533],{},"It doesn't just have to be the data itself, by the way.",[17,535,536],{},"If you're a scientist, then poring over the specifics of what is in your dataset is probably actually quite fun. What's less fun is finding the damn thing in the first place. Scientists already know how to use xarray to explore a dataset. Typically, they're less versed in efficiently traversing data lakes.",[17,538,539],{},[49,540,541,542,87],{},"Enter the ",[37,543,546],{"href":544,"rel":545},"https:\u002F\u002Faccess-nri.github.io\u002Finteractive-data-catalogue\u002F#\u002F",[202],"interactive-data-catalogue",[17,548,549,550,552,553,558],{},"The interactive data catalogue ",[180,551,123],{}," the same data catalogue that we provide on Gadi via intake at ACCESS-NRI. In fact, if you fire up an ",[37,554,557],{"href":555,"rel":556},"https:\u002F\u002Fare.nci.org.au\u002Fpun\u002Fsys\u002Fdashboard",[202],"ARE session"," and take a look at the results of:",[365,560,562],{"className":367,"code":561,"language":369,"meta":39,"style":39},"import intake\nintake.cat.access_nri\n",[371,563,564,572],{"__ignoreMap":39},[374,565,566,569],{"class":376,"line":377},[374,567,568],{"class":447},"import",[374,570,571],{"class":451}," intake\n",[374,573,574,577,579,583,585],{"class":376,"line":387},[374,575,576],{"class":451},"intake",[374,578,87],{"class":479},[374,580,582],{"class":581},"skxfh","cat",[374,584,87],{"class":479},[374,586,587],{"class":581},"access_nri\n",[17,589,590,591,594],{},"You will find ",[180,592,593],{},"the exact same data"," - because it's made of the same files. The difference is the presentation:",[134,596,597,600,603,606,609,612],{},[100,598,599],{},"No more learning intake - you probably already know how to click through a website. As you explore, the site generates the code you need to load it in Python.",[100,601,602],{},"Don't know what project a dataset requires? Don't worry - the page will pop that up.",[100,604,605],{},"Not sure why you're not getting multiple datasets and not one? All good - the catalogue will spell it out for you.",[100,607,608],{},"If you aren't already an active user of NCI, you probably don't even know what an ARE session is. If you've just come back from googling those things, you've just seen the barrier to entry.",[100,610,611],{},"In fact, if you looked at the python snippet above and though 'How the hell am I supposed to use that?', you've seen it too.",[100,613,614],{},"Not sure if Gadi even has the data you're after? No worries - you don't need to get yourself set up with an NCI account and join the right projects just to check now.",[17,616,617],{},[49,618,619],{},"The last point might seem trite, but it's really not. If anything, it's probably the most important part of the interactive data catalogue.",[17,621,622],{},"I helped organise the Scientific Python track at PyCon AU last year. Afterwards, we (the organisers) were sitting in the bar, having a drink and reflecting on how the day went. I mentioned something I was doing with our intake catalog, and a bloke a couple of chairs down the long bench table we're sitting at flashes me a glance.",[17,624,625,626,629],{},"He came over, and asked about this catalog. It turns out he was (I think) a computational biologist, interested about how crop disease risk was going to change in the future. Having access to CMIP6 data with projections of relevant variables over the the next hundred years would make his research a lot easier to do. Unfortunately, because the catalog wasn't easy to find - being hidden behind a project on Gadi (",[371,627,628],{},"xp65",") that nobody outside climate science would know to look at or in, he never found it.",[17,631,632,87],{},[49,633,634],{},"Chance encounters in a bar are not a good way to share data",[89,636,638],{"id":637},"data-advertising-is-pure-fluff-it-doesnt-create-anything-new-but-fluff-is-really-important-it-takes-something-that-already-exists-and-wraps-it-up-in-a-form-that-makes-it-competetive-in-the-attention-landscape-and-easy-to-consume","Data advertising is pure fluff - it doesn't create anything new. But fluff is really important. It takes something that already exists, and wraps it up in a form that makes it competetive in the attention landscape and easy to consume.",[89,640,642],{"id":641},"sleeping-on-a-board-is-just-as-practical-as-sleeping-in-a-bed-but-nobody-wants-to-sleep-in-a-board-in-the-bland-utilitarian-landscape-of-software-and-science-we-often-forget-this-fact-and-often-go-as-far-as-looking-down-our-noses-at-people-who-want-to-focus-on-the-fluff-but-without-the-fluff-quite-frankly-nobody-will-care","Sleeping on a board is just as practical as sleeping in a bed, but nobody wants to sleep in a board. In the bland, utilitarian landscape of software and science, we often forget this fact, and often go as far as looking down our noses at people who want to focus on the fluff. But without the fluff, quite frankly, nobody will care.",[14,644,645],{},[17,646,647],{},"N.B If someone has a better term than fluff, please get in touch. Also if you have a better term than data advertising, please do the same. For something that is expressly about presentation, it's a bit ironic I haven't been able to come up with at least half decent names.",[649,650],"hr",{},[29,652,654],{"id":653},"aside-what-has-the-title-got-to-do-with-anything-in-here","Aside - what has the title got to do with anything in here?",[97,656,657,660,663,666],{},[100,658,659],{},"It's catchy",[100,661,662],{},"Cough syrup is literally designed to wrap up medicine in a way that convinces small children to take them. Calpol is just paracetamol and sugar.",[100,664,665],{},"Cough syrups often used to contain opiates and cocaine during the Victorian era. To my knowledge, this was for the analgesic\u002Fanasthetic qualities, rather than to drive consumption, but I think in practice, the reverse probably wound up being the case.",[100,667,668],{},"When I was doing a WIP version of this talk, I casually threw in the phrase \"I'm not saying we should put the cocaine back in the cough syrup, but maybe we shouldn't take the sugar out either\". I got several remarks saying that it was one of, if not hands down, the best quotes I've ever managed to produce, so I decided to shoehorn it in here.",[670,671,672],"style",{},"html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .slqww, html code.shiki .slqww{--shiki-light:#6182B8;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":39,"searchDepth":387,"depth":387,"links":674},[675,678,687],{"id":31,"depth":387,"text":32,"children":676},[677],{"id":91,"depth":393,"text":92},{"id":171,"depth":387,"text":172,"children":679},[680,681,682,684,685,686],{"id":254,"depth":393,"text":255},{"id":303,"depth":393,"text":304},{"id":321,"depth":393,"text":683},"Data advertising is wrapping the data with just enough fluff to make someone actually use it.",{"id":529,"depth":393,"text":530},{"id":637,"depth":393,"text":638},{"id":641,"depth":393,"text":642},{"id":653,"depth":387,"text":654},"Some more of the ideas from my 2026 Scipy talk: data advertising, palatability, and vibe coding.","md",{"date":691,"author":692,"href":693},"2026-07-22","Charles Turner","\u002Fblog\u002Fcocaine-cough-syrup",{"title":5,"description":688},"blog\u002Fcocaine-cough-syrup","beHBzqii7AoGPbLuPRJ9NGehhLYkeos0L4TkTBqHlio",1785377103175]