davideisinger.com

My personal website
Log | Files | Refs | README

nolanlawson-com-8xt5ob.txt (53024B)


      1 [1]Read the Tea Leaves Software and other dark arts, by Nolan Lawson
      2 
      3 [2][Search this Blog    ] Search
      4 
      5   • [4]Home
      6   • [5]Apps
      7   • [6]Code
      8   • [7]Talks
      9   • [8]About
     10 
     11 « [9]Goodbye Salesforce, hello Socket
     12 
     13 2 Apr
     14 
     15 AI ambivalence
     16 
     17 Posted April 2, 2025 by Nolan Lawson in [10]Machine Learning, [11]NLP. [12]24
     18 Comments
     19 
     20 I’ve avoided writing this post for a long time, partly because I try to avoid
     21 controversial topics these days, and partly because I was waiting to make my
     22 mind up about the current, all-consuming, conversation-dominating topic of
     23 generative AI. But Steve Yegge’s [13]“Revenge of the junior developer” awakened
     24 something in me, so let’s go for it.
     25 
     26 I don’t come to AI from nowhere. Longtime readers may be surprised to learn
     27 that I have a master’s in [14]computational linguistics, i.e. I studied this
     28 kind of stuff 20-odd years ago. In fact, two of the authors of the famous [15]
     29 “stochastic parrot” paper were folks I knew at the time – Emily Bender was one
     30 of my professors, and Margaret Mitchell was my lab partner in one of our
     31 toughest classes (sorry my Python sucked at the time, Meg).
     32 
     33 That said, I got bored of working in AI after grad school, and quickly switched
     34 to general coding. I just found that “feature engineering” (which is what we
     35 called training models at the time) was not really my jam. I much preferred to
     36 put on [16]some good coding tunes, crank up the IDE, and bust out code all day.
     37 Plus, I had developed a dim view of natural-language processing technologies
     38 largely informed by my background in (non-computational) linguistics as an
     39 undergrad.
     40 
     41 In linguistics, we were taught that the human mind is a wondrous thing, and
     42 that Chomsky had conclusively shown that humans have a natural language
     43 instinct. The job of the linguist is to uncover the hidden rules in the human
     44 mind that govern things like syntax, semantics, and phonology (i.e. why the “s”
     45 in “beds” is pronounced like a “z” unlike in “bets,” due to the voicing of the
     46 final consonant).
     47 
     48 Then when I switched to computational linguistics, suddenly the overriding
     49 sensation I got was that everything was actually about number-crunching, and in
     50 fact you could throw all your linguistics textbooks in the trash and just let
     51 gobs of training data and statistics do the job for you. “Every time I fire a
     52 linguist, the performance goes up,” as [17]a famous computational linguist
     53 said.
     54 
     55 I found this perspective belittling and insulting to the human mind, and more
     56 importantly, it didn’t really seem to work. Natural-language processing
     57 technology seemed stuck at the level of [18]support vector machines and [19]
     58 conditional random fields, hardly better than the Markov models in your iPhone
     59 2’s autocomplete. So I got bored and disillusioned and left the field of AI.
     60 
     61 Boy, that AI thing sure came back with a vengeance, didn’t it?
     62 
     63 Still skeptical
     64 
     65 That said, while everybody else was either reacting with horror or delight at
     66 the tidal wave of gen-AI hype, I maintained my skepticism. At the end of the
     67 day, all of this technology was still just number-crunching – brute force
     68 trying to approximate the hidden logic that Chomsky had discovered. I
     69 acknowledged that there was some room for statistics – Peter Norvig’s essay
     70 mentioning [20]the story of an Englishman ordering an “ale” and getting served
     71 an “eel” due to [21]the Great Vowel Shift still sticks in my brain – but
     72 overall I doubted that mere stats could ever approach anything close to human
     73 intelligence.
     74 
     75 Today, though, philosophical questions of what AI says about human cognition
     76 seem beside the point – these things can get stuff done. Especially in the
     77 field of coding (my cherished refuge from computational linguistics), AIs now
     78 dominate: every IDE assumes I want AI autocomplete by default, and I actively
     79 have to hunt around in the settings to turn it off.
     80 
     81 And for several years, that’s what I’ve been doing: studiously avoiding
     82 generative AI. Not just because I doubted how close to [22]“AGI” these things
     83 actually were, but also because I just found them annoying. I’m a fast typist,
     84 and I know JavaScript like the back of my hand, so the last thing I want is
     85 some overeager junior coder grabbing my keyboard to mess with the flow of my
     86 typing. Every inline-coding AI assistant I’ve tried made me want to gnash my
     87 teeth together – suddenly instead of writing code, I’m being asked to
     88 constantly read code (which as everyone knows, is less fun). And plus, the
     89 suggestions were rarely good enough to justify the aggravation. So I abstained.
     90 
     91 Later I read Baldur Bjarnason’s excellent book [23]The Intelligence Illusion,
     92 and this further hardened me against generative AI. Why use a technology that
     93 1) dumbs down the human using it, 2) generates hard-to-spot bugs, and 3)
     94 doesn’t really make you much more productive anyway, when you consider the
     95 extra time reading, reviewing, and correcting its output? So I put in my
     96 earbuds and kept coding.
     97 
     98 Meanwhile, as I was blissfully coding away like it was ~2020, I looked outside
     99 my window and suddenly realized that the tidal wave was approaching. It was
    100 2025, and I was (seemingly) the last developer on the planet not using gen-AI
    101 in their regular workflow.
    102 
    103 Opening up
    104 
    105 I try to keep an open mind about things. If you’ve read this blog for a while,
    106 you know that I’ve sometimes espoused opinions that I later completely
    107 backtracked on – my post from 10 years ago about [24]progressive enhancement is
    108 a good example, because I’ve almost completely swung over to the progressive
    109 enhancement side of things since then. My more recent [25]“Why I’m skeptical of
    110 rewriting JavaScript tools in ‘faster’ languages” also seems destined to age
    111 like fine milk. Maybe I’m relieved I didn’t write a big bombastic takedown of
    112 generative AI a few years ago, because hoo boy.
    113 
    114 I started using Claude and Claude Code a bit in my regular workflow. I’ll skip
    115 the suspense and just say that the tool is way more capable than I would ever
    116 have expected. The way I can use it to interrogate a large codebase, or
    117 generate unit tests, or even “refactor every callsite to use such-and-such
    118 pattern” is utterly gobsmacking. It also nearly replaces StackOverflow, in the
    119 sense of “it can give me answers that I’m highly skeptical of,” i.e. it’s not
    120 that different from StackOverflow, but boy is it faster.
    121 
    122 Here’s the main problem I’ve found with generative AI, and with “vibe coding”
    123 in general: it completely sucks out the joy of software development for me.
    124 
    125 Imagine you’re a Studio Ghibli artist. You’ve spent years perfecting your
    126 craft, you love the feeling of the brush/pencil in your hand, and your life’s
    127 joy is to make beautiful artwork to share with the world. And then someone
    128 tells you gen-AI can [26]just spit out My Neighbor Totoro for you. Would you
    129 feel grateful? Would you rush to drop your art supplies and jump head-first
    130 into the role of AI babysitter?
    131 
    132 This is how I feel using gen-AI: like a babysitter. It spits out reams of code,
    133 I read through it and try to spot the bugs, and then we repeat. Although of
    134 course, as [27]Cory Doctorow points out, the temptation is to not even try to
    135 spot the bugs, and instead just let your eyes glaze over and let the machine do
    136 the thinking for you – the [28]full dream of vibe coding.
    137 
    138 I do believe that this is the end state of this kind of development: “giving
    139 into the vibes,” not even trying to use your feeble primate brain to understand
    140 the code that the AI is barfing out, and instead to let other barf-generating
    141 “agents” evaluate its output for you. I’ll accept that maybe, maybe, if you
    142 have the right orchestra of agents that you’re conducting, then maybe you can
    143 cut down on the bugs, hallucinations, and repetitive boilerplate that gen-AI
    144 seems prone to. But whatever you’re doing at that point, it’s not software
    145 development, at least not the kind that I’ve known for the past ~20 years.
    146 
    147 Conclusion
    148 
    149 I don’t have a conclusion. Really, that’s my current state: ambivalence. I
    150 acknowledge that these tools are incredibly powerful, I’ve even started
    151 incorporating them into my work in certain limited ways (low-stakes code like
    152 POCs and unit tests seem like an ideal use case), but I absolutely hate them. I
    153 hate the way they’ve taken over the software industry, I hate how they make me
    154 feel while I’m using them, and I hate the human-intelligence-insulting
    155 postulation that a glorified Excel spreadsheet can do what I can but better.
    156 
    157 In one of his podcasts, Ezra Klein said that he thinks the “message” of
    158 generative AI (in [29]the McLuhan sense) is this: “You are derivative.” In
    159 other words: all your creativity, all your “craft,” all of that intense
    160 emotional spark inside of you that drives you to dance, to sing, to paint, to
    161 write, or to code, can be replicated by the robot equivalent of [30]1,000
    162 monkeys typing at 1,000 typewriters. Even if it’s true, it’s a pretty dim view
    163 of humanity and a miserable message to keep pounding into your brain during 8
    164 hours of daily software development.
    165 
    166 So this is where I’ve landed: I’m using generative AI, probably just “dipping
    167 my toes in” compared to what maximalists like Steve Yegge promote, but even
    168 that little bit has made me feel less excited than defeated. I am defeated in
    169 the sense that I can’t argue strongly against using these tools (they bust out
    170 unit tests way faster than I can, and can I really say that I was ever
    171 lovingly-crafting my unit tests?), and I’m defeated in the sense that I can no
    172 longer confidently assert that brute-force statistics can never approach the
    173 ineffable beauty of the human mind that Chomsky described. (If they can’t,
    174 they’re sure doing a good imitation of it.)
    175 
    176 I’m also defeated in the sense that this very blog post is just more food for
    177 the AI god. Everything I’ve ever written on the internet (including here and on
    178 GitHub) has been eagerly gobbled up into the giant AI [31]katamari and is being
    179 used to happily undermine me and my fellow bloggers and programmers. (If you
    180 ask Claude to generate a “blog post title in the style of Nolan Lawson,” it can
    181 actually do a pretty decent job of mimicking my shtick.) The fact that I wrote
    182 this entire post without the aid of generative AI is cold comfort – nobody
    183 cares, and likely few have gotten to the end of this diatribe anyway other than
    184 the robots.
    185 
    186 So there’s my overwhelming feeling at the end of this post: ambivalence. I feel
    187 besieged and horrified by what gen-AI has wrought on my industry, but I can no
    188 longer keep my ears plugged while the tsunami roars outside. Maybe, like a lot
    189 of other middle-aged professionals suddenly finding their careers upended at
    190 the peak of their creative power, I will have to adapt or face replacement. Or
    191 maybe my best bet is to continue to zig while others are zagging, and to try to
    192 keep my coding skills sharp while everyone else is “vibe coding” a monstrosity
    193 that I will have to debug when it crashes in production someday.
    194 
    195 I honestly don’t know, and I find that terrifying. But there is some comfort in
    196 the fact that I don’t think anyone else knows what’s going to happen either.
    197 
    198 Related
    199 
    200 24 responses to this post.
    201 
    202  1. ●
    203 
    204     Posted by [32]Miguelito on [33]April 2, 2025 at 10:49 AM
    205 
    206     This is a profound essay just as an essay, but it makes a very important
    207     point about the future. Everyone is asking “what now”. You have answered “I
    208     am defeated”. That is one step on the path to an answer. The first response
    209     would seem to be to limit the usage of AI… That won’t work. Someone else
    210     will use it. Then limit it from creating art, reserve that for humans.
    211     That’s better but doesn’t say much about what humans should do. All through
    212     Western history, the society has been oriented around a civilization driven
    213     by caste based occupations. Our identity has come from our work. Before
    214     that, we identified as a hunter, or fisher or stone lapper,… What now?
    215     Ahhh, I think I may have the answer. You see, I’ve been studying this
    216     question for over 50 years… how humanity can adapt genetically and
    217     strategically to a post tribal ecology. I’m best at biology, but when
    218     studying survival I realized that a lot of the answer exists in philosophy,
    219     something crowded out by STEM. (Science is great for creating wealth and
    220     power, but not so good for providing understanding.) I have long looked for
    221     the answer and may have found a key … meme: In terms of biology, the
    222     purpose of an individual is to survive. That means many things including
    223     the survival of civilization, which human survival depends on.
    224 
    225     Now that may not seem like the solution, but it is another step on the way.
    226     That is biology converted to philosophy, a survival strategy. It is a step
    227     on the path to answering. That leaves the path open for finding answers in
    228     the future.
    229 
    230     [34]Reply
    231 
    232  2. ●
    233 
    234     Posted by classyswiftly1d8dff3178 on [35]April 2, 2025 at 11:23 AM
    235 
    236         can I really say that I was ever lovingly-crafting my unit tests?
    237 
    238     More so than most, at least!
    239 
    240     [36]Reply
    241 
    242  3. ●
    243 
    244     Posted by Theodore Brown on [37]April 2, 2025 at 11:54 AM
    245 
    246     Thank you for writing this! It’s pretty close to my own thinking and
    247     experience.
    248 
    249         The fact that I wrote this entire post without the aid of generative AI
    250         is cold comfort – nobody cares
    251 
    252     Maybe I’m in the minority, but I actually care a lot about this. Whenever I
    253     see people posting things that were spit out by an LLM, that’s when I don’t
    254     care. I don’t have the slightest interest in reading the “thoughts” of
    255     generative AI, since there isn’t really any creative thinking in it. It’s
    256     just a derivative of the prompt, training data, and model weights. I am
    257     very interested in reading original content that comes from the reasoning
    258     of a human mind. That’s what has the potential for novel ideas and
    259     innovations.
    260 
    261     [38]Reply
    262 
    263  4. ●
    264 
    265     Posted by Manuel Jasso on [39]April 2, 2025 at 12:11 PM
    266 
    267     Great post, Nolan, I felt very connected and I am sure you’re representing
    268     a large number of developers. I also see myself as a skeptic, and I have
    269     another dimension to offer to your dissertation: I think “intelligence” is
    270     an overloaded term and we need to always use a qualifier. With this, there
    271     is evidence that “artificial intelligence” resembles “human intelligence”,
    272     but I think only time will tell how close they are or if they can be
    273     considered “the same”. As a skeptic, I don’t think we understand “human
    274     intelligence” really, and we get excited that “artificial intelligence” is
    275     sooooo close! And I will add that, from my perspective, “human
    276     intelligence” is only possible in “biological beings”, and in this area we
    277     really have no idea how to “make” one…
    278 
    279     [40]Reply
    280 
    281       □ ●
    282 
    283         Posted by [41]Nolan Lawson on [42]April 2, 2025 at 2:26 PM
    284 
    285         Thanks, Manuel! I agree that the “intelligence illusion” is one of the
    286         things that muddies the debate. I do not think these tools approach
    287         human intelligence, but I’m also not sure it matters. A plane doesn’t
    288         flap its wings like a bird, but it still flies. But I do think there is
    289         an [43]“Eliza effect” here that is multiplying the hype and
    290         expectations.
    291 
    292         [44]Reply
    293 
    294  5. ●
    295 
    296     Posted by adamtreineke on [45]April 2, 2025 at 1:48 PM
    297 
    298         I’m also defeated in the sense that this very blog post is just more
    299         food for the AI god.
    300 
    301     Patrick Mackenzie’s (patio11) take on this, paraphrased somewwhat because I
    302     don’t remember quite where he said it: “Writing today lets you modify the
    303     weights of all AI models going forward.”
    304 
    305     I love the implication that my 17 years of Reddit and Twitter posts are
    306     making the AI gods a little funnier, a little more sarcastic, and a bit
    307     more respectful, patient and thoughtful. (And bestow a tendency to write
    308     140 character sentences and misuse commas.)
    309 
    310     I do appreciate the lack of generative AI while authoring this. I think you
    311     either said once (or I saw it on a blog post) that writing was a way of
    312     really working through ideas. That really stuck with me and there is a
    313     respect and confidence that I have as a reader when I see that someone has
    314     wrestled with an idea versus just copy/pasted whatever their prompt decided
    315     was appropriate.
    316 
    317     Thanks Nolan!
    318 
    319     [46]Reply
    320 
    321  6. ●
    322 
    323     Posted by Keen on [47]April 2, 2025 at 1:50 PM
    324 
    325     This well echoes my own background and experience and feelings about “AI”.
    326     Ambivalence is the right word. I’ve once tried a vibe coding tool and just
    327     felt overwhelmed with the idea of *maintaining* the monstrosity it spat out
    328     (presumably we’re going to see VibeOps and VibeSec and VibePhishing on
    329     their way). I do find llm’s useful in small portions, used sparingly and
    330     with only the context I explicitly allow it to see. But I shudder at the
    331     idea of just telling the computer to make a site that should handle logins
    332     and personal data and navigate the GDPR landscape and be maintainable
    333     across 10 years of javascript framework updates.
    334 
    335     [48]Reply
    336 
    337  7.
    338     Posted by [49]Kerrick’s Wager: on the Future of Manual Programming -
    339     Kerrick Long's Blog on [50]April 2, 2025 at 5:57 PM
    340 
    341     […] cannot know whether Steve Yegge is right or wrong, and I do not know
    342     enough to make a prediction. If the future of productivity is agentic
    343     software […]
    344 
    345     [51]Reply
    346 
    347  8. ●
    348 
    349     Posted by [52]Kerrick Long on [53]April 2, 2025 at 5:57 PM
    350 
    351         Maybe, like a lot of other middle-aged professionals suddenly finding
    352         their careers upended at the peak of their creative power, I will have
    353         to adapt or face replacement. Or maybe my best bet is to continue to
    354         zig while others are zagging, and to try to keep my coding skills sharp
    355         while everyone else is “vibe coding” a monstrosity that I will have to
    356         debug when it crashes in production someday.
    357 
    358         I honestly don’t know, and I find that terrifying. But there is some
    359         comfort in the fact that I don’t think anyone else knows what’s going
    360         to happen either.
    361 
    362     I don’t know either, but [54]I’m taking a “Pascal’s Wager” approach to it.
    363     I’m going to learn to use these tools so that if Yegge is right I’ll still
    364     have a job in software. But learning these new skills won’t dull my
    365     existing software repertoire, so if Yegge is wrong all I’ve lost are a few
    366     nights and weekends, and some cash fed into the token-generating machines.
    367 
    368     [55]Reply
    369 
    370  9. ●
    371 
    372     Posted by [56]nevf on [57]April 2, 2025 at 11:08 PM
    373 
    374     I love writing software and have been doing it for a very long time. There
    375     is joy and immense satisfaction seeing what you type on the keyboard come
    376     to life on the big or small screen.
    377 
    378     In fact the older I get the more I enjoy the entire process. I’m also into
    379     Gym, Golf, Swimming etc. and these activities keep my body active and
    380     strong. It is however the practice of writing software and developing
    381     applications that keeps my brain incredibly healthy and provides a good
    382     balance to my physical pursuits.
    383 
    384     I’d be very surprised if AI wouldn’t help be be more productive and likely
    385     produce better code. However I don’t have the interest or wherewithal to
    386     get on board. Let me make my own mistakes, continue my journey learning new
    387     things, instead of wasting brain cells trying to work out what is wrong
    388     with AI generated code or how it does what it is supposed to do.
    389 
    390     I hark back to the days of Visual Basic, which opened a whole new world to
    391     people to write code and apps. We got so much crapware that finding the
    392     quality apps was a challenge.
    393 
    394     Look at the AI written articles, most of which are regurgitated random
    395     content with often contradictory information. A complete waste of time and
    396     ink. Here we go again!
    397 
    398     I have no doubt that the plethora of AI apps that apparently took only two
    399     days to write and are selling like hotcakes, fall into the same Visual
    400     Basic category of days gone by. Eventually these folks will learn that the
    401     life of software developer doesn’t come that easily. Or then again maybe
    402     I’m just too old and stuck in my ways to be able to drink the latest and
    403     greatest kool aid.
    404 
    405     BTW Nolan, great post.
    406 
    407     [58]Reply
    408 
    409 10. ●
    410 
    411     Posted by bebraw on [59]April 3, 2025 at 12:50 AM
    412 
    413     I’ve been thinking about the same thing. It’s definitely a different field
    414     with the advent of the new AI based tools and it must be quite different to
    415     arrive to the field now than just a few years ago. I hope the development
    416     doesn’t erode deep thinking skills as you’ll need those to solve hard
    417     problems. All of the work cannot be outsourced to the current solutions.
    418 
    419     [60]Reply
    420 
    421 11. ●
    422 
    423     Posted by [61]Stolzenhain on [62]April 3, 2025 at 7:21 AM
    424 
    425     Great article and great job at describing the actual vibes at hand. Your
    426     arguments shed light on other aspects like playful education.
    427 
    428     Programming feels less engaging, and is less likely to attract new talent
    429     with the latter not being welcomed by:
    430 
    431     “Look, Y is happening because of X, you can do it yourself, you have the
    432     tools at hand.”
    433 
    434     but rather
    435 
    436     “As an experienced programmer I have little insight myself as to why Y
    437     happens when prompted for X.”
    438 
    439     [63]Reply
    440 
    441       □ ●
    442 
    443         Posted by [64]Nolan Lawson on [65]April 3, 2025 at 9:50 AM
    444 
    445         That’s a good point I hadn’t considered! Yes, it’s like the difference
    446         between Bob Ross empowering people to draw “happy little clouds” and
    447         having an AI just draw the art for you. The latter is likely to attract
    448         people for whom the art is just a stepping stone to something else
    449         (maybe more art! but probably not brushstrokes).
    450 
    451         [66]Reply
    452 
    453 12. ●
    454 
    455     Posted by [67]Jakub Fiala on [68]April 3, 2025 at 2:48 PM
    456 
    457     THANK YOU for writing this article, you have pretty much summed up how I’ve
    458     been feeling throughout this strange period.
    459 
    460     One thought that helped me cope was about cooking. I know people who have
    461     more or less stopped cooking, because they live in a big city where a
    462     delivery service will take 20 min to bring you delicious fresh food that
    463     you couldn’t possibly have cooked yourself, and it will only cost about
    464     2-3x what the ingredients would. Yes, we have the technology – as Steve
    465     Yegge would say, the future is now. Plus, this way, you’ve saved lots of
    466     time you can now spend…
    467 
    468     … at this point a LLM would probably go on to say “being productive” or
    469     “relaxing” or “making art”. Those are all things I’d love to do! I can
    470     definitely afford to eat takeaway almost every day, or at least have the
    471     groceries delivered, so I asked myself – why do I still make 3 meals a day
    472     almost every day of the week?
    473 
    474     I think the answer is simply that I like it. Maybe I’m sticking to the “old
    475     ways”, maybe I’m wasting time, I’m definitely being very inefficient if you
    476     look at it mathematically. I just can’t help doing things I like, which
    477     include cooking, JavaScript, solving problems, reading and understanding,
    478     thinking… I like thinking! It’s the last thing I’m going to outsource.
    479 
    480     Affordable food delivery has existed for years, but even wealthy people
    481     still choose to cook at home. I think something similar might happen with
    482     this alleged “tsunami” of agents.
    483 
    484     [69]Reply
    485 
    486 13. ●
    487 
    488     Posted by [70]dan on [71]April 4, 2025 at 5:48 AM
    489 
    490     Maybe this will bring some solace: [72]https://serce.me/posts/
    491     2025-31-03-there-is-no-vibe-engineering
    492 
    493     [73]Reply
    494 
    495 14. ●
    496 
    497     Posted by 4zmite on [74]April 5, 2025 at 12:52 AM
    498 
    499     I recognized the feeling from a moment in my youth. Back then, I loved
    500     playing the game “UFO: Enemy Unknown.” The game involved building a global
    501     defense network to ward off an alien invasion. Building bases, researching
    502     new technologies, and buying weapons were all part of the strategy
    503     mechanics. At the same time, I was beginning to explore how software was
    504     built. Using a hex editor and a disassembler, I would pick apart things to
    505     see how they worked. This was another kind of game that I thoroughly
    506     enjoyed. One day, it hit me: the amount of money I had in the game must
    507     somehow be stored in the save files! I could use my hex editor to change
    508     it.
    509 
    510     Sure enough, my plan worked. I awarded myself a generous donation, and for
    511     a few hours, I was thrilled. I could buy all the cool stuff I couldn’t
    512     afford before and I had no problem fending off the pesky alien invasion.
    513     Aliens were no match for my hex editor.
    514 
    515     The next day, I stopped playing the game. It wasn’t fun anymore. It left me
    516     unsatisfied. Sure, I would win every time, but I didn’t enjoy it. Not only
    517     that, even playing without cheating lost its shine. Why bother playing when
    518     I knew there was an easier way to win?
    519 
    520     Excerpt from [75]https://4zm.org/2025/04/05/bitter-prediction.html
    521 
    522     [76]Reply
    523 
    524 15. ●
    525 
    526     Posted by [77]Marc on [78]April 5, 2025 at 2:47 AM
    527 
    528     I was also very skeptical of AI and similarly surprised at how it can
    529     predict the code I want to write. True the code is often wrong but I can
    530     pick that up quickly. The real benefit is that it saves me hours of
    531     googling and trawling stack overflow (whose search, by the way, sucks
    532     badly). Tyoe your stack overflow question into chatgpt first and bam!
    533 
    534     [79]Reply
    535 
    536 16. ●
    537 
    538     Posted by Mark S on [80]April 5, 2025 at 10:53 PM
    539 
    540     Please don’t give in. “You must use it or get left behind” is not real,
    541     it’s marketing. It’s like Nathan Fielder’s doink-it. You don’t need to buy
    542     a toy to prove you’re not a baby. And you don’t need to get locked into
    543     tools your boss will have to pay $200 a month for, because the company who
    544     made them is losing billions a year.
    545 
    546     They’ve ruined search results, they’re ruining the environment, they have
    547     no respect for human creativity, nor creators themselves. They don’t care
    548     about your license. They don’t care about your infra costs and will DoS you
    549     in a heartbeat, no matter what you put in robots.txt. GenAI companies want
    550     to extract value from us, repackage it and sell it. It’s disgusting.
    551 
    552     It’s not true that nobody cares that you didn’t use AI for this post. I
    553     care, and many other people care in the comments. Another human made an
    554     effort to create something? How wonderful! It’s very different from
    555     excretions of LLMs. And what if the models get so good we won’t be able to
    556     tell the difference? What if they get better than humans at this? Well,
    557     humans still play and watch chess. In fact, it’s more popular than ever.
    558 
    559     Keep being human. Please. Cheers
    560 
    561     [81]Reply
    562 
    563       □ ●
    564 
    565         Posted by [82]Nolan Lawson on [83]April 6, 2025 at 8:07 AM
    566 
    567         Thanks for the kind words. I’ve never found the environmental argument
    568         against gen-AI very strong, mostly because I haven’t seen strong
    569         evidence that it’s worse for emissions than anything else in computing,
    570         or heck, [84]anything else in general (having a child seems to be the
    571         worst thing you can do by far).
    572 
    573         The idea that a small group of advocates can abstain from gen-AI and
    574         stop the momentum of the current boom also seems pretty unlikely to me
    575         at this point – this is the metaphor I gave of plugging my ears while a
    576         tidal wave threatens to hit my house. GitHub says [85]92% of developers
    577         are using AI coding tools; the effect on the industry seems pretty
    578         guaranteed at this point.
    579 
    580         That said, I respect your decision not to use a technology if you find
    581         it distasteful. I’m a vegetarian partly for ethical and environmental
    582         reasons, although I have no illusion that what I’m doing is anything
    583         but a drop in the bucket compared to the world’s soaring demand for
    584         meat. Same with why I prefer to ride my bike or bus rather than drive
    585         whenever possible. Sometimes you have to do things because you know
    586         they’re right, not because they’ll make a big difference. Gen-AI just
    587         hasn’t reached that level of urgency for me.
    588 
    589         [86]Reply
    590 
    591 17.
    592     Posted by [87]March 2025 month notes | Echo One on [88]April 13, 2025 at
    593     3:08 PM
    594 
    595     […] AI Ambivalence a more sober assessment of the impact and utility of the
    596     current state of AI-assisted coding and a piece that resonated with me for
    597     asking the question about whether this iteration of coding retains the same
    598     appeal […]
    599 
    600     [89]Reply
    601 
    602 18. ●
    603 
    604     Posted by [90]AI에 대한 양가적 감정: 열광과 회의 사이에서 균형 찾기 - AI
    605     Sparkup on [91]April 13, 2025 at 7:30 PM
    606 
    607     […] AI ambivalence | Read the Tea Leaves – Nolan Lawson […]
    608 
    609     [92]Reply
    610 
    611 19. ●
    612 
    613     Posted by joshuapinter on [93]April 29, 2025 at 11:31 AM
    614 
    615         try to keep my coding skills sharp while everyone else is “vibe coding”
    616         a monstrosity that I will have to debug when it crashes in production
    617         someday.
    618 
    619     That’s honestly my hope and intention too. I have about 10 years left in my
    620     programming career and I hope there’s still value in what we bring to the
    621     table during this time and for the next decades to come after that.
    622 
    623     It can’t all just boil down to derivative work. Unless AI starts creating
    624     new libraries, languages and concepts, there’s always going to be a need
    625     for trend setters and trail blazers.
    626 
    627     Good luck. To all of us.
    628 
    629     [94]Reply
    630 
    631 20. ●
    632 
    633     Posted by jhnnns on [95]May 2, 2025 at 3:08 AM
    634 
    635     Great read! It perfectly summarizes my feelings about coding and AI :)
    636 
    637     However, I recently changed my mind about AI when I discovered the joy of
    638     using agents for doing tedious refactoring work. For me, the fun of coding
    639     is not typing. What motivates me most is seeing when functions and data
    640     mesh perfectly like a cogwheel. And AI can help me a lot with that, as long
    641     as certain coding standards are met.
    642 
    643     In the end, it also boils down to the question if you just care about the
    644     output of the software or also about the code behind it. The former works
    645     for short-term, low-stakes projects, but I doubt that it’ll work for
    646     mission-critical code. AI can generate mission-critical code, but you need
    647     to read and understand it. And it often also requires fixing and improving.
    648 
    649     [96]Reply
    650 
    651 21. ●
    652 
    653     Posted by ohay on [97]May 2, 2025 at 1:31 PM
    654 
    655     well said
    656 
    657     can sympathize
    658 
    659     ambivalence’s a perfectly appropriate response to a tidal wave’s
    660     inevitability (why this is manufactured ‘inevitability’ is another
    661     question~)
    662 
    663     some thoughts triggered by your post:
    664 
    665     reminds me of the web and how it felt like there was such an artificially
    666     produced ‘need’, and also a sense of inevitability and a sea change (i
    667     mean: who really needed to email someone across the country a picture?). it
    668     was a huge solution that created its own demand after the fact. ‘the ai’
    669     (the commercially available aspect) has that feel
    670 
    671     the other thing that came to mind for some reason: ai development’s
    672     probably quite…hampered by whatever philosophical criteria and conscious or
    673     unconscious decisions by the early planners underly all this. so whatever’s
    674     involved that anthropomorphicizes the goals and mechanisms will also,
    675     inevitably, cause some of these dynamics you describe. we (collectively)
    676     didn’t need to make such a close competitor
    677 
    678     probably not describing the thought too well – but good post, and thanks
    679     for sharing!
    680 
    681     [98]Reply
    682 
    683 Leave a comment [99]Cancel reply
    684 
    685  [                                             ] 
    686  [                                             ] 
    687  [                                             ] 
    688  [                                             ] 
    689  [                                             ] 
    690  [                                             ] 
    691  [                                             ] 
    692 Δ[                                             ] 
    693 
    694 This site uses Akismet to reduce spam. [107]Learn how your comment data is
    695 processed.
    696 
    697 Recent Posts
    698 
    699   • [108]AI ambivalence
    700   • [109]Goodbye Salesforce, hello Socket
    701   • [110]2024 book review
    702   • [111]Avoiding unnecessary cleanup work in disconnectedCallback
    703   • [112]Why I’m skeptical of rewriting JavaScript tools in “faster” languages
    704 
    705 About Me
    706 
    707 Photo of Nolan Lawson, headshot
    708 
    709 I'm Nolan, a programmer from Seattle working at Socket. All opinions are my
    710 own. Photo by Cătălin Mariş.
    711 
    712 Archives
    713 
    714   • [113]April 2025 (1)
    715   • [114]January 2025 (1)
    716   • [115]December 2024 (2)
    717   • [116]October 2024 (2)
    718   • [117]September 2024 (3)
    719   • [118]August 2024 (1)
    720   • [119]July 2024 (1)
    721   • [120]March 2024 (1)
    722   • [121]January 2024 (1)
    723   • [122]December 2023 (4)
    724   • [123]August 2023 (2)
    725   • [124]January 2023 (2)
    726   • [125]December 2022 (1)
    727   • [126]November 2022 (2)
    728   • [127]October 2022 (2)
    729   • [128]June 2022 (4)
    730   • [129]May 2022 (3)
    731   • [130]April 2022 (1)
    732   • [131]February 2022 (1)
    733   • [132]January 2022 (1)
    734   • [133]December 2021 (3)
    735   • [134]September 2021 (1)
    736   • [135]August 2021 (6)
    737   • [136]February 2021 (2)
    738   • [137]January 2021 (2)
    739   • [138]December 2020 (1)
    740   • [139]July 2020 (1)
    741   • [140]June 2020 (1)
    742   • [141]May 2020 (2)
    743   • [142]February 2020 (1)
    744   • [143]December 2019 (1)
    745   • [144]November 2019 (1)
    746   • [145]September 2019 (1)
    747   • [146]August 2019 (2)
    748   • [147]June 2019 (4)
    749   • [148]May 2019 (3)
    750   • [149]February 2019 (2)
    751   • [150]January 2019 (1)
    752   • [151]November 2018 (1)
    753   • [152]September 2018 (5)
    754   • [153]August 2018 (1)
    755   • [154]May 2018 (1)
    756   • [155]April 2018 (1)
    757   • [156]March 2018 (1)
    758   • [157]January 2018 (1)
    759   • [158]December 2017 (1)
    760   • [159]November 2017 (2)
    761   • [160]October 2017 (1)
    762   • [161]August 2017 (1)
    763   • [162]May 2017 (1)
    764   • [163]March 2017 (1)
    765   • [164]January 2017 (1)
    766   • [165]October 2016 (1)
    767   • [166]August 2016 (1)
    768   • [167]June 2016 (1)
    769   • [168]April 2016 (1)
    770   • [169]February 2016 (2)
    771   • [170]December 2015 (1)
    772   • [171]October 2015 (1)
    773   • [172]September 2015 (1)
    774   • [173]July 2015 (1)
    775   • [174]June 2015 (2)
    776   • [175]October 2014 (1)
    777   • [176]September 2014 (1)
    778   • [177]April 2014 (1)
    779   • [178]March 2014 (1)
    780   • [179]December 2013 (2)
    781   • [180]November 2013 (3)
    782   • [181]August 2013 (1)
    783   • [182]May 2013 (3)
    784   • [183]January 2013 (1)
    785   • [184]December 2012 (1)
    786   • [185]November 2012 (1)
    787   • [186]October 2012 (1)
    788   • [187]September 2012 (3)
    789   • [188]June 2012 (2)
    790   • [189]March 2012 (3)
    791   • [190]February 2012 (1)
    792   • [191]January 2012 (1)
    793   • [192]November 2011 (1)
    794   • [193]August 2011 (1)
    795   • [194]July 2011 (1)
    796   • [195]June 2011 (3)
    797   • [196]May 2011 (2)
    798   • [197]April 2011 (4)
    799   • [198]March 2011 (1)
    800 
    801 Tags
    802 
    803 [199]accessibility [200]alogcat [201]android [202]android market [203]apple 
    804 [204]app tracker [205]benchmarking [206]blobs [207]boost [208]bootstrap [209]
    805 browsers [210]bug reports [211]catlog [212]chord reader [213]code [214]contacts
    806 [215]continuous integration [216]copyright [217]couch apps [218]couchdb [219]
    807 couchdroid [220]developers [221]development [222]emoji [223]grails [224]html5 
    808 [225]indexeddb [226]information retrieval [227]japanese name converter [228]
    809 javascript [229]jenkins [230]keepscore [231]listview [232]logcat [233]logviewer
    810 [234]lucene [235]nginx [236]nlp [237]node [238]nodejs [239]npm [240]
    811 offline-first [241]open source [242]passwords [243]performance [244]pinafore 
    812 [245]pokedroid [246]pouchdb [247]pouchdroid [248]query expansion [249]
    813 relatedness calculator [250]relatedness coefficient [251]s3 [252]safari [253]
    814 satire [254]sectioned listview [255]security [256]semver [257]shadow dom [258]
    815 social media [259]socket.io [260]software development [261]solr [262]spas [263]
    816 supersaiyanscrollview [264]synonyms [265]twitter [266]ui design [267]ultimate
    817 crossword [268]w3c [269]webapp [270]webapps [271]web platform [272]web sockets 
    818 [273]websql
    819 
    820 Links
    821 
    822   • [274]Mastodon
    823   • [275]GitHub
    824   • [276]npm
    825 
    826 [277]Blog at WordPress.com.
    827 
    828   • [278] Comment
    829   • [279] Reblog
    830   • [280] Subscribe [281] Subscribed
    831       □ [282] [favic] Read the Tea Leaves
    832         Join 1,280 other subscribers
    833         [283][                    ]
    834         Sign me up
    835       □ Already have a WordPress.com account? [290]Log in now.
    836    837       □ [291] [favic] Read the Tea Leaves
    838       □ [292] Subscribe [293] Subscribed
    839       □ [294]Sign up
    840       □ [295]Log in
    841       □ [296] Copy shortlink
    842       □ [297] Report this content
    843       □ [298] View post in Reader
    844       □ [299]Manage subscriptions
    845       □ [300]Collapse this bar
    846 
    847 [b] 
    848 
    849 References:
    850 
    851 [1] https://nolanlawson.com/
    852 [4] https://nolanlawson.com/
    853 [5] https://nolanlawson.com/apps/
    854 [6] https://nolanlawson.com/code/
    855 [7] https://nolanlawson.com/talks/
    856 [8] https://nolanlawson.com/about/
    857 [9] https://nolanlawson.com/2025/01/18/goodbye-salesforce-hello-socket/
    858 [10] https://nolanlawson.com/category/machine-learning/
    859 [11] https://nolanlawson.com/category/nlp-2/
    860 [12] https://nolanlawson.com/2025/04/02/ai-ambivalence/#comments
    861 [13] https://sourcegraph.com/blog/revenge-of-the-junior-developer
    862 [14] https://www.compling.uw.edu/
    863 [15] https://dl.acm.org/doi/10.1145/3442188.3445922
    864 [16] https://en.wikipedia.org/wiki/Endless_Fantasy
    865 [17] https://en.wikiquote.org/wiki/Fred_Jelinek
    866 [18] https://en.wikipedia.org/wiki/Support_vector_machine
    867 [19] https://en.wikipedia.org/wiki/Conditional_random_field
    868 [20] https://norvig.com/chomsky.html
    869 [21] https://en.wikipedia.org/wiki/Great_Vowel_Shift
    870 [22] https://en.wikipedia.org/wiki/Artificial_general_intelligence
    871 [23] https://illusion.baldurbjarnason.com/
    872 [24] https://nolanlawson.com/2016/10/13/progressive-enhancement-isnt-dead-but-it-smells-funny/
    873 [25] https://nolanlawson.com/2024/10/20/why-im-skeptical-of-rewriting-javascript-tools-in-faster-languages/
    874 [26] https://carly.substack.com/p/everything-is-ghibli
    875 [27] https://pluralistic.net/2024/10/30/a-neck-in-a-noose/
    876 [28] https://vibemanifesto.org/
    877 [29] https://en.wikipedia.org/wiki/The_medium_is_the_message
    878 [30] https://www.youtube.com/watch?v=loMEF18Ir4s
    879 [31] https://en.wikipedia.org/wiki/Katamari_Damacy
    880 [32] http://zagwap.com/Bio/index.html
    881 [33] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237911
    882 [34] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237911#respond
    883 [35] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237912
    884 [36] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237912#respond
    885 [37] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237913
    886 [38] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237913#respond
    887 [39] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237914
    888 [40] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237914#respond
    889 [41] http://nolanlawson.com/
    890 [42] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237917
    891 [43] https://en.wikipedia.org/wiki/ELIZA_effect
    892 [44] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237917#respond
    893 [45] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237915
    894 [46] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237915#respond
    895 [47] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237916
    896 [48] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237916#respond
    897 [49] https://kerrick.blog/articles/2025/kerricks-wager/
    898 [50] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237918
    899 [51] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237918#respond
    900 [52] http://kerrick.blog/
    901 [53] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237919
    902 [54] https://kerrick.blog/articles/2025/kerricks-wager/
    903 [55] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237919#respond
    904 [56] http://nevf.wordpress.com/
    905 [57] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237920
    906 [58] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237920#respond
    907 [59] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237922
    908 [60] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237922#respond
    909 [61] https://studioagenturbuero.com/
    910 [62] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237923
    911 [63] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237923#respond
    912 [64] http://nolanlawson.com/
    913 [65] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237924
    914 [66] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237924#respond
    915 [67] https://fiala.space/
    916 [68] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237925
    917 [69] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237925#respond
    918 [70] http://itswebtechtime.wordpress.com/
    919 [71] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237926
    920 [72] https://serce.me/posts/2025-31-03-there-is-no-vibe-engineering
    921 [73] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237926#respond
    922 [74] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237928
    923 [75] https://4zm.org/2025/04/05/bitter-prediction.html
    924 [76] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237928#respond
    925 [77] http://cawoodm.wordpress.com/
    926 [78] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237930
    927 [79] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237930#respond
    928 [80] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237931
    929 [81] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237931#respond
    930 [82] http://nolanlawson.com/
    931 [83] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237932
    932 [84] https://iopscience.iop.org/article/10.1088/1748-9326/aa7541
    933 [85] https://github.blog/news-insights/research/survey-reveals-ais-impact-on-the-developer-experience/
    934 [86] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237932#respond
    935 [87] http://rrees.me/2025/04/13/march-2025-month-notes/
    936 [88] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237935
    937 [89] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237935#respond
    938 [90] https://aisparkup.com/posts/1201
    939 [91] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237936
    940 [92] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237936#respond
    941 [93] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237939
    942 [94] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237939#respond
    943 [95] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237942
    944 [96] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237942#respond
    945 [97] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#comment-237943
    946 [98] https://nolanlawson.com/2025/04/02/ai-ambivalence/?replytocom=237943#respond
    947 [99] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020#respond
    948 [107] https://akismet.com/privacy/
    949 [108] https://nolanlawson.com/2025/04/02/ai-ambivalence/
    950 [109] https://nolanlawson.com/2025/01/18/goodbye-salesforce-hello-socket/
    951 [110] https://nolanlawson.com/2024/12/30/2024-book-review/
    952 [111] https://nolanlawson.com/2024/12/01/avoiding-unnecessary-cleanup-work-in-disconnectedcallback/
    953 [112] https://nolanlawson.com/2024/10/20/why-im-skeptical-of-rewriting-javascript-tools-in-faster-languages/
    954 [113] https://nolanlawson.com/2025/04/
    955 [114] https://nolanlawson.com/2025/01/
    956 [115] https://nolanlawson.com/2024/12/
    957 [116] https://nolanlawson.com/2024/10/
    958 [117] https://nolanlawson.com/2024/09/
    959 [118] https://nolanlawson.com/2024/08/
    960 [119] https://nolanlawson.com/2024/07/
    961 [120] https://nolanlawson.com/2024/03/
    962 [121] https://nolanlawson.com/2024/01/
    963 [122] https://nolanlawson.com/2023/12/
    964 [123] https://nolanlawson.com/2023/08/
    965 [124] https://nolanlawson.com/2023/01/
    966 [125] https://nolanlawson.com/2022/12/
    967 [126] https://nolanlawson.com/2022/11/
    968 [127] https://nolanlawson.com/2022/10/
    969 [128] https://nolanlawson.com/2022/06/
    970 [129] https://nolanlawson.com/2022/05/
    971 [130] https://nolanlawson.com/2022/04/
    972 [131] https://nolanlawson.com/2022/02/
    973 [132] https://nolanlawson.com/2022/01/
    974 [133] https://nolanlawson.com/2021/12/
    975 [134] https://nolanlawson.com/2021/09/
    976 [135] https://nolanlawson.com/2021/08/
    977 [136] https://nolanlawson.com/2021/02/
    978 [137] https://nolanlawson.com/2021/01/
    979 [138] https://nolanlawson.com/2020/12/
    980 [139] https://nolanlawson.com/2020/07/
    981 [140] https://nolanlawson.com/2020/06/
    982 [141] https://nolanlawson.com/2020/05/
    983 [142] https://nolanlawson.com/2020/02/
    984 [143] https://nolanlawson.com/2019/12/
    985 [144] https://nolanlawson.com/2019/11/
    986 [145] https://nolanlawson.com/2019/09/
    987 [146] https://nolanlawson.com/2019/08/
    988 [147] https://nolanlawson.com/2019/06/
    989 [148] https://nolanlawson.com/2019/05/
    990 [149] https://nolanlawson.com/2019/02/
    991 [150] https://nolanlawson.com/2019/01/
    992 [151] https://nolanlawson.com/2018/11/
    993 [152] https://nolanlawson.com/2018/09/
    994 [153] https://nolanlawson.com/2018/08/
    995 [154] https://nolanlawson.com/2018/05/
    996 [155] https://nolanlawson.com/2018/04/
    997 [156] https://nolanlawson.com/2018/03/
    998 [157] https://nolanlawson.com/2018/01/
    999 [158] https://nolanlawson.com/2017/12/
   1000 [159] https://nolanlawson.com/2017/11/
   1001 [160] https://nolanlawson.com/2017/10/
   1002 [161] https://nolanlawson.com/2017/08/
   1003 [162] https://nolanlawson.com/2017/05/
   1004 [163] https://nolanlawson.com/2017/03/
   1005 [164] https://nolanlawson.com/2017/01/
   1006 [165] https://nolanlawson.com/2016/10/
   1007 [166] https://nolanlawson.com/2016/08/
   1008 [167] https://nolanlawson.com/2016/06/
   1009 [168] https://nolanlawson.com/2016/04/
   1010 [169] https://nolanlawson.com/2016/02/
   1011 [170] https://nolanlawson.com/2015/12/
   1012 [171] https://nolanlawson.com/2015/10/
   1013 [172] https://nolanlawson.com/2015/09/
   1014 [173] https://nolanlawson.com/2015/07/
   1015 [174] https://nolanlawson.com/2015/06/
   1016 [175] https://nolanlawson.com/2014/10/
   1017 [176] https://nolanlawson.com/2014/09/
   1018 [177] https://nolanlawson.com/2014/04/
   1019 [178] https://nolanlawson.com/2014/03/
   1020 [179] https://nolanlawson.com/2013/12/
   1021 [180] https://nolanlawson.com/2013/11/
   1022 [181] https://nolanlawson.com/2013/08/
   1023 [182] https://nolanlawson.com/2013/05/
   1024 [183] https://nolanlawson.com/2013/01/
   1025 [184] https://nolanlawson.com/2012/12/
   1026 [185] https://nolanlawson.com/2012/11/
   1027 [186] https://nolanlawson.com/2012/10/
   1028 [187] https://nolanlawson.com/2012/09/
   1029 [188] https://nolanlawson.com/2012/06/
   1030 [189] https://nolanlawson.com/2012/03/
   1031 [190] https://nolanlawson.com/2012/02/
   1032 [191] https://nolanlawson.com/2012/01/
   1033 [192] https://nolanlawson.com/2011/11/
   1034 [193] https://nolanlawson.com/2011/08/
   1035 [194] https://nolanlawson.com/2011/07/
   1036 [195] https://nolanlawson.com/2011/06/
   1037 [196] https://nolanlawson.com/2011/05/
   1038 [197] https://nolanlawson.com/2011/04/
   1039 [198] https://nolanlawson.com/2011/03/
   1040 [199] https://nolanlawson.com/tag/accessibility/
   1041 [200] https://nolanlawson.com/tag/alogcat/
   1042 [201] https://nolanlawson.com/tag/android-2/
   1043 [202] https://nolanlawson.com/tag/android-market/
   1044 [203] https://nolanlawson.com/tag/apple/
   1045 [204] https://nolanlawson.com/tag/app-tracker/
   1046 [205] https://nolanlawson.com/tag/benchmarking/
   1047 [206] https://nolanlawson.com/tag/blobs/
   1048 [207] https://nolanlawson.com/tag/boost/
   1049 [208] https://nolanlawson.com/tag/bootstrap/
   1050 [209] https://nolanlawson.com/tag/browsers/
   1051 [210] https://nolanlawson.com/tag/bug-reports/
   1052 [211] https://nolanlawson.com/tag/catlog/
   1053 [212] https://nolanlawson.com/tag/chord-reader/
   1054 [213] https://nolanlawson.com/tag/code/
   1055 [214] https://nolanlawson.com/tag/contacts/
   1056 [215] https://nolanlawson.com/tag/continuous-integration/
   1057 [216] https://nolanlawson.com/tag/copyright/
   1058 [217] https://nolanlawson.com/tag/couch-apps/
   1059 [218] https://nolanlawson.com/tag/couchdb/
   1060 [219] https://nolanlawson.com/tag/couchdroid/
   1061 [220] https://nolanlawson.com/tag/developers/
   1062 [221] https://nolanlawson.com/tag/development/
   1063 [222] https://nolanlawson.com/tag/emoji/
   1064 [223] https://nolanlawson.com/tag/grails/
   1065 [224] https://nolanlawson.com/tag/html5/
   1066 [225] https://nolanlawson.com/tag/indexeddb/
   1067 [226] https://nolanlawson.com/tag/information-retrieval/
   1068 [227] https://nolanlawson.com/tag/japanese-name-converter/
   1069 [228] https://nolanlawson.com/tag/javascript/
   1070 [229] https://nolanlawson.com/tag/jenkins/
   1071 [230] https://nolanlawson.com/tag/keepscore/
   1072 [231] https://nolanlawson.com/tag/listview/
   1073 [232] https://nolanlawson.com/tag/logcat/
   1074 [233] https://nolanlawson.com/tag/logviewer/
   1075 [234] https://nolanlawson.com/tag/lucene/
   1076 [235] https://nolanlawson.com/tag/nginx/
   1077 [236] https://nolanlawson.com/tag/nlp/
   1078 [237] https://nolanlawson.com/tag/node/
   1079 [238] https://nolanlawson.com/tag/nodejs/
   1080 [239] https://nolanlawson.com/tag/npm/
   1081 [240] https://nolanlawson.com/tag/offline-first/
   1082 [241] https://nolanlawson.com/tag/open-source/
   1083 [242] https://nolanlawson.com/tag/passwords/
   1084 [243] https://nolanlawson.com/tag/performance/
   1085 [244] https://nolanlawson.com/tag/pinafore/
   1086 [245] https://nolanlawson.com/tag/pokedroid/
   1087 [246] https://nolanlawson.com/tag/pouchdb/
   1088 [247] https://nolanlawson.com/tag/pouchdroid/
   1089 [248] https://nolanlawson.com/tag/query-expansion/
   1090 [249] https://nolanlawson.com/tag/relatedness-calculator/
   1091 [250] https://nolanlawson.com/tag/relatedness-coefficient/
   1092 [251] https://nolanlawson.com/tag/s3/
   1093 [252] https://nolanlawson.com/tag/safari/
   1094 [253] https://nolanlawson.com/tag/satire/
   1095 [254] https://nolanlawson.com/tag/sectioned-listview/
   1096 [255] https://nolanlawson.com/tag/security/
   1097 [256] https://nolanlawson.com/tag/semver/
   1098 [257] https://nolanlawson.com/tag/shadow-dom/
   1099 [258] https://nolanlawson.com/tag/social-media/
   1100 [259] https://nolanlawson.com/tag/socket-io/
   1101 [260] https://nolanlawson.com/tag/software-development/
   1102 [261] https://nolanlawson.com/tag/solr/
   1103 [262] https://nolanlawson.com/tag/spas/
   1104 [263] https://nolanlawson.com/tag/supersaiyanscrollview/
   1105 [264] https://nolanlawson.com/tag/synonyms/
   1106 [265] https://nolanlawson.com/tag/twitter/
   1107 [266] https://nolanlawson.com/tag/ui-design/
   1108 [267] https://nolanlawson.com/tag/ultimate-crossword/
   1109 [268] https://nolanlawson.com/tag/w3c/
   1110 [269] https://nolanlawson.com/tag/webapp/
   1111 [270] https://nolanlawson.com/tag/webapps-2/
   1112 [271] https://nolanlawson.com/tag/web-platform/
   1113 [272] https://nolanlawson.com/tag/web-sockets/
   1114 [273] https://nolanlawson.com/tag/websql/
   1115 [274] https://toot.cafe/@nolan
   1116 [275] https://github.com/nolanlawson
   1117 [276] https://npmjs.com/~nolanlawson
   1118 [277] https://wordpress.com/?ref=footer_blog
   1119 [278] https://nolanlawson.com/2025/04/02/ai-ambivalence/#comments
   1120 [279] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020
   1121 [280] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020
   1122 [281] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020
   1123 [282] https://nolanlawson.com/
   1124 [290] https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fnolanlawson.com%252F2025%252F04%252F02%252Fai-ambivalence%252F
   1125 [291] https://nolanlawson.com/
   1126 [292] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020
   1127 [293] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020
   1128 [294] https://wordpress.com/start/
   1129 [295] https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fnolanlawson.com%252F2025%252F04%252F02%252Fai-ambivalence%252F
   1130 [296] https://wp.me/p1t8Ca-3Ry
   1131 [297] https://wordpress.com/abuse/?report_url=https://nolanlawson.com/2025/04/02/ai-ambivalence/
   1132 [298] https://wordpress.com/reader/blogs/21720966/posts/14852
   1133 [299] https://subscribe.wordpress.com/
   1134 [300] https://nolanlawson.com/2025/04/02/ai-ambivalence/?ck_subscriber_id=1881659020