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