<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://cendyne.dev/feed.xsl" type="text/xsl"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel><generator>Cendyne (https://cendyne.dev/)</generator><title>Cendyne&#39;s Posts about security, architecture, software, management, and cryptography</title><link>https://cendyne.dev/</link><description>Thoughts and experience on security, architecture, software, and so on.</description><copyright>Copyright 2026 Cendyne</copyright><lastBuildDate>Sat, 11 Apr 2026 04:27:36 GMT</lastBuildDate><atom:link href="https://cendyne.dev/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://cendyne.dev/c/JY6wB9Y9</url><title>Cendyne&#39;s Posts about security, architecture, software, management, and cryptography</title><link>https://cendyne.dev/</link></image>
  <item><title>Folks aren&#39;t forming memories like they used to</title><link>https://cendyne.dev/posts/2026-03-23-folks-arent-forming-memories-like-they-used-to.html</link><guid>https://cendyne.dev/posts/2026-03-23-folks-arent-forming-memories-like-they-used-to.html</guid><description>Context switching is hard. AI tools are forcing more people to switch and switch and their memories aren&#39;t keeping up.</description><pubDate>Mon, 23 Mar 2026 15:00:00 GMT</pubDate><dc:creator>cendyne</dc:creator><media:thumbnail url="https://cendyne.dev/c/vZF9Xc8N?width=645" /><content:encoded><![CDATA[
<p>Used to saying the same thing over and over again to an computer? How about a person? A living person? I&#39;ve found myself in that position lately.</p><p>You don&#39;t have to be a $200/mo plan maximalist to observe how agents forget things over and over. They have a context window — and so do people too when they context switch between too many things at once.</p><p><img src="https://cendyne.dev/c/vObiXmYP?width=645" alt="eee" width="645" height="362" /></p><p>Before all this AI bubble craze, I found my limits as a manager. It was easy to manage and direct two projects. Three got difficult when I still had to contribute or direct specific details. Four is where things broke down. I had to externalize my memories, ideas, opinions, and plans to written form. The <a href="https://bulletjournal.com/" target="_blank">bullet journal method</a> for one helped me pretend to have more active memory than I biologically had. I have techniques that work for me when I need to switch between contexts every day.</p><p>Even with external memories, I struggle if I actively switch across more than four contexts a day. It&#39;s like I can&#39;t <em>&quot;load&quot;</em> more than four because <em>&quot;unloading&quot;</em> is only realized through unconsciousness. After work, I might take an hour long nap if it was an especially cognitively-burdensome day so I could get back to my own personal life with my renewed.. context load budget or something.</p><p>As companies lay off / fire more of their people in the name of AI — <em>but really the economy, paying for more data centers or increasingly expensive chips, and the evaporation of zero-cost loans and investments</em> — their employees are having to handle more contexts than before with the <img src="https://cendyne.dev/emoji/2728?w=128" draggable="false" class="custom-emoji" alt="sparkles" data-emoji="true" height="16"/> of AI. And it&#39;s breaking them.</p><p>Those still on payroll are burning out and they don&#39;t know why. They&#39;re getting better at prompting these LLMs and the vendors are releasing more capable models every few months. They&#39;re getting <em>more</em> done than before. They&#39;re handling more contexts than before.</p><p>If LLMs are doing more of their work, how could they be burning out? <strong>Folks are context switching too much.</strong> Without the time to appreciate the results of their work and to form memories around its creation, they&#39;re losing the drive that enables them in the first place. Instead, all that remains is some continual swipe-right haze — an undefined reward that reinforces the use of these tools and not the lessons learned while using them. They&#39;re pressured from above to do three to five two-<img src="https://cendyne.dev/emoji/1f355?w=128" draggable="false" class="custom-emoji" alt="pizza" data-emoji="true" height="16"/>-teams of work <em>alone</em> all while in the process forming a dependence to Anthropic and OpenAI.</p><p></p><p><img src="https://cendyne.dev/c/Bnmv9JI3?width=645" alt="Cendyne holds and sniffs a flower. It comes from a corrupted ground" width="645" height="669" /></p><p>What&#39;s wild and weird for me is how <strong>learning and critical thinking are eroding before my eyes</strong> in my coworkers. My management style — <em>while I had a team to manage</em> —  is to gradually inform and lead others along a thoughtful pathway to reliably come to the answer on their own. <strong>My techniques</strong>, <a href="https://en.wikipedia.org/wiki/Instructional_scaffolding" target="_blank">Instructional Scaffolding</a> and <a href="https://en.wikipedia.org/wiki/Discovery_learning" target="_blank">Discovery Learning</a>, <strong>stopped working</strong>. I am unable to guide others to be independent when they&#39;re forgetting what I told them two days ago.</p><blockquote><strong>Cendyne:</strong><br/><p>Im having this weird cognitive dissonance where Im using the same tactics for a forgetful LLM agent with a person. I have to gradually refine my memos and share them multiple times a week. Each has a very condensed and to the point communication (unlike his GPT gen work) with links to other memos.</p> <a href="https://furry.engineer/@cendyne/116059834837469575">source</a></blockquote><p>As the only remaining technology person, every weird tech-shaped email is sent my way with the question on if its real or a phishing attempt. Sometimes it is an automated notice about something we did together only two hours earlier. In situations like this I think: <strong>how did you forget how to read? Where have your memories gone?</strong></p><p>It has become easier to draft up a response for them to plagiarize than to equip them with the knowledge and resources to independently and competently act and communicate. I can put <code>&lt;TODO look up % value here&gt;</code> and the other will execute my instructions to fill out these details. It&#39;s like pretending to be an agent to someone who only knows how to interact with agents. And… they act like an agent too in this exchange.</p><p>There&#39;s a new balance I&#39;m having to figure out each day on where another&#39;s critical-thinking capacity is at. If I guess too high, they get confused and don&#39;t act. If I guess too low, they get annoyed.</p><p>This is a problem. Ownership, creativity, innovation, and skill is eroding in the workplace (and education). At a scale never encountered before, individual contributors are faced with a situation that requires managerial and leadership skills to succeed. Instead of swimming, folks are sinking under the pressure. They are giving up the skills that got them where they are and they lean on LLMs to maintain their facade of outward productivity.</p><p>Anthropic and OpenAI aren&#39;t the only party to blame here. Economic conditions are forcing leaders to shrink headcount without shrinking the scope of their business. They lean on the small truth that small teams (read two-<img src="https://cendyne.dev/emoji/1f355?w=128" draggable="false" class="custom-emoji" alt="pizza" data-emoji="true" height="16"/> teams) can iterate faster than multi-layer organizations. They <em>flatten</em> the org, reduce management, increase the reports-to-manager ratio, and throw token credits and quotas on every individual contributor in hopes that they&#39;ll remain competitive to the startups using AI tools to nip at their SaaS. (See <a href="https://www.forbes.com/sites/donmuir/2026/02/04/300-billion-evaporated-the-saaspocalypse-has-begun/">$300 Billion Evaporated. The SaaS -Pocalypse Has Begun</a> (<a href="https://archive.ph/eA8vG" target="_blank">archived</a>).)</p><p>Leaders of <em>previously</em> two-<img src="https://cendyne.dev/emoji/1f355?w=128" draggable="false" class="custom-emoji" alt="pizza" data-emoji="true" height="16"/> teams will be forced to learn their context switching limits the hard way or sink into this AI-enabled zombie form I described earlier. SaaS companies aren&#39;t going to fail because someone can vibe-code their product in a month. They&#39;ll fail because they&#39;ve reorganized into zombies and produce results like Microsoft.</p><blockquote><strong>Nanoraptor:</strong><br/><p>Its so fascinating to see the changes in one companys logo over the years.</p><p><img src="https://cendyne.dev/c/OAk97_Bz?width=645" alt="A bunch of microsoft logos from the 70s, 80s, 90s and today but instead of saying Microsoft all of them spell Microslop in the vibe of the original logos." width="645" height="347" /></p> <a href="https://bitbang.social/@NanoRaptor/115828881875398663">source</a></blockquote><p>Microsoft happens to be signaling an intent to turn about in the face of their degrading reputation. We&#39;ll see if they really recognize the systemic issue of turning their staff into AI-enabled zombies that fail to push back on stupid ideas like AI in notepad.</p><p><img src="https://cendyne.dev/c/7PqsBi0x?width=645" alt="Our commitment to Windows quality

Hello Windows Insiders,

I want to speak to you directly, as an engineer who has spent his career building technology that people depend on every day. Windows touches more people&#39;s lives than almost any technology on Earth. Every day, we hear from the community about how you experience Windows. And over the past several months, the team and I have spent a great deal of time analyzing your feedback. What came through was the voice of people who care deeply about Windows and want it to be better.

Today, I’m sharing what we are doing in response. Here are some of the initial changes we will preview in builds with Windows Insiders this month and throughout April." width="645" height="348" /></p><p></p><p><img src="https://cendyne.dev/s/512/cendyne/shrug" alt="cendyne shrug" width="128" height="128" /></p><p>The &quot;data is the new oil&quot; fad came and went on LinkedIn as the new way to squeeze value of out their company. While realized in <a href="https://www.politico.com/news/2026/03/18/fbi-buying-data-track-people-patel-00834080" target="_blank">the worst way possible</a> (<a href="https://archive.ph/4ixsV" target="_blank">archived</a>), selling first party data has only materialized towards customers that sell ads, trade on investments, scam people, or otherwise spy on people.</p><p>I can only hope this private-equity style of gutting your own organization like Block slows down soon.</p><blockquote><p><strong>Jack-dorsey:</strong></p><p>we&#39;re not making this decision because we&#39;re in trouble. our business is strong. gross profit continues to grow, we continue to serve more and more customers, and profitability is improving. but something has changed. we&#39;re already seeing that the intelligence tools we’re creating and using, paired with smaller and flatter teams, are enabling a new way of working which fundamentally changes what it means to build and run a company. and that&#39;s accelerating rapidly. - <a href="https://x.com/jack/status/2027129697092731343?lang=en" target="_blank" rel="noreferrer">post on twitter</a></p></blockquote><p>And I hope the cost of context switching is acknowledged and realized as a human limitation.</p>
]]></content:encoded></item>
  <item><title>From Fargo to Zebra</title><link>https://cendyne.dev/posts/2026-02-27-from-fargo-to-zebra.html</link><guid>https://cendyne.dev/posts/2026-02-27-from-fargo-to-zebra.html</guid><description>I switched FurSquared away from Fargo to Zebra label printers. Other conventions are doing the same to speedily get attendees to the things they find fun.</description><pubDate>Fri, 27 Feb 2026 16:00:00 GMT</pubDate><dc:creator>cendyne</dc:creator><media:thumbnail url="https://cendyne.dev/c/_7yj4Jji?width=645" /><content:encoded><![CDATA[
<p>This was the first year FurSquared used Zebra printers for registration — specifically the <a href="https://www.zebra.com/us/en/products/spec-sheets/printers/desktop/zd420c.html" target="_blank" rel="noreferrer">ZD420C</a> model. Previously, going back to before I started to staff, FurSquared used the <a href="https://www.hidglobal.com/products/dtc1250e" target="_blank" rel="noreferrer">HID DTC1250e</a> printer for on demand full-color badges. At my direction, the convention pivoted away from these printers and the results met my expectations.</p><h2>Why do you need a printer?</h2><p>Why not give the same ticket or weekend pass to everyone?</p><p>Most furries want to be represented and addressable while sticking to their custom online identity. One of my identities is “Cendyne”, another would be the name on my paychecks. The name “Cendyne” isn’t a username or some gamer tag. It represents both me and my character.</p><p>The face I wear to the grocery store is no where to be seen on this site. People know me by that name in this community. I, like many, wear art of my character at conventions.</p><p><img src="https://cendyne.dev/c/r3xfzz6o?width=645" alt="Ms paint style portrait of Cendyne" width="276" height="410" /></p><p>Not everyone can afford art. Customized badges give every an attendee the chance to identify one another regardless of their ability to afford and carry identifying artwork.</p><p>Furry conventions care deeply about the safety of their attendees too. If a troublemaker needs to be removed from the convention, with the coordination of the venue, a unique event-specific badge affords a lot more opportunity to track down a person than a here-say description.</p><p>Apart from exceptions like <a href="https://lasvegasfurcon.org/" target="_blank">Las Vegas Fur Con</a>, which is 21+ only, furry conventions offer spaces for all audiences. Badges for minors must be visually distinct from adults so they can be identified at a distance and kept away from adult spaces.</p><p><img src="https://cendyne.dev/c/qcVDZwDw?width=645" alt="Example badge that says NOT VALID - EXAMPLE ONLY" width="645" height="437" /></p><p>After the convention, the badge also functions as memorabilia. At the new year, many will wear last year&#39;s badges to show their friends that this convention is worth returning to.</p><p>Badges are customized unique trophies that should survive for years after the event is over. They need to be bright, memorable, and legible.</p><h2>Why drop Fargo?</h2><p>FurSquared had been using HID DTC1250e card printers for years now. At the time, it satisfied these needs. <a href="https://www.cardlogix.com/glossary/cr80/" target="_blank" rel="noreferrer">CR-80</a> cards are durable, cheap, and a blank canvas for any artwork we could come up with.</p><p><img src="https://cendyne.dev/c/CBVq_lP2?width=645" alt="Amazon listing of PVC cards" width="645" height="368" /></p><p>A canvas needs color, though. The ribbons to do full color, black, and lamination are around 21 cents per card. At scale, this is a reasonable $0.30 per badge.</p><p><img src="https://cendyne.dev/c/Byfd0QQn?width=645" alt="A listing on B&amp;H for a ribbon cartridge" width="645" height="399" /></p><p>Besides taking around 40 seconds to print each badge, each year, <em>at least</em> one printer would stop working entirely or otherwise be too problematic to leave in operation during the event. We had to expense between $1400 (used) and $2500 per printer per year. This alone breaks the economic savings of the media costs to produce these badges.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/peace-was-never-an-option" alt="cendyne peace-was-never-an-option" width="128" height="128" /></p></td><td>Also... <a href="https://www.hidglobal.com/drivers/41707" target="_blank" rel="noreferrer" title="HID FARGO DTC1250e Linux Printer Driver">the drivers</a> were so bad that I had to intentionally shut down and re-initialize <a href="https://openprinting.github.io/cups/" target="_blank" rel="noreferrer">CUPS</a> every time a printer turned on, turned off, ran out of materials, or some other unforeseen problem.</td></tr></table><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/face-mash-keyboard" alt="cendyne face-mash-keyboard" width="128" height="128" /></p></td><td>Every 250 prints, a printer needs a new ribbon cartridge! Every time a stack of 100 CR-80 cards ran out, the printer would stall. Automating CUPS restarts took weekends of my life away and I burned through about $100 in materials <strong><em>just so I could leave the registration room</em></strong> for even normal reload operations.</td></tr></table><h2>Why not another CR-80 printer?</h2><p>Other conventions, like <a href="https://www.anthroexpo.net/" target="_blank">AnthroExpo</a> use Zebra ID Card printers like the <a href="https://www.zebra.com/us/en/products/printers/card/zc100/zc100.html" target="_blank" rel="noreferrer" title="ZC100 Product Page">ZC100</a>, which prints single sided full color in 24 seconds. That does beat the Fargo HID DTC1250e printing speed.</p><p><img src="https://cendyne.dev/c/sJaD9GXE?width=645" alt="anthro expo&#39;s zebra printers covered in qr code stickers" width="645" height="363" /></p><p>The price of switching over or maintaining two different printer models and supplies was too great to justify, however.</p><p><img src="https://cendyne.dev/c/EVJo16Cj?width=645" alt="B&amp;H web store screenshot showing a price of $2334.09" width="645" height="309" /></p><p>Alternatively, you can buy even faster printers like <a href="https://motorcityfurrycon.org/" target="_blank">Motor City Fur Con</a> with the <a href="https://www.zebra.com/us/en/products/spec-sheets/printers/card/zxp-series-7.html" target="_blank" rel="noreferrer">ZXP Series 7</a> line up. MCFC reports a full color print in twelve seconds and with three printers they&#39;re able to process this year&#39;s 2525 attendees with ease.</p><p><img src="https://cendyne.dev/c/iquA4aqT?width=645" alt="Product showcase page of the Zebra ZXP Series 7" width="645" height="354" /></p><p>The price goes up a thousand per unit though. Going fast reliably costs 💰💰💰. At twelve seconds per print, these printers can serve a sizable convention!</p><p><img src="https://cendyne.dev/c/eIUbbljB?width=645" alt="A screenshot showing the printer costs $3182.83 and the ribbons cost $252." width="645" height="229" /></p><p></p><p><img src="https://cendyne.dev/s/512/cendyne/money-on-fire" alt="cendyne money-on-fire" width="128" height="128" /></p>Alas, furry conventions only have so much money.<h2>But what if... only black and white?</h2><p>All this time we&#39;ve been focused on making something bright, memorable, and durable inside the printer. What if the printer did less? In 2-6 seconds, we could print a single black and white layer on a card printer. This is what <a href="https://www.furfest.org/" target="_blank">Midwest FurFest</a> does!</p><p>The downside and constraint is that every badge is the same, you cannot differentiate the content on the card if you&#39;re only printing a black and white layer.</p><p></p><table width="100%" border="0"><tr><td>Nah uh. I could totally put the right card in before it prints!</td><td width="30%"><p><img src="https://cendyne.dev/s/128/cordite/shrug" alt="cordite shrug" width="128" height="128" /></p></td></tr></table><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/absolutely-not" alt="cendyne absolutely-not" width="128" height="128" /></p></td><td>No way. You&#39;re not going to add more skin-oil, dust, and stray fur-suit fluff into the printer. That&#39;s how we lose $3000 a year.</td></tr></table><p><img src="https://cendyne.dev/c/uN7EFdU_?width=645" alt="The letters Cendyne are dragged onto the badge" width="556" height="376" /></p><p>Sorry, I lied. <strong>There&#39;s only black.</strong> I can&#39;t print white, I can&#39;t print grey. Any white outlines or other elements (like QR codes) that require contrast must be accommodated in the design.</p><p>If we adopt a strategy of printing only black on the same design for everyone (even minors), we get incredible speed without any cost savings. In fact, pre-printing all the cards (at $0.50 / each through a supplier) will raise the unit price of each badge.</p><p>So how do we save money <em>and</em> have some flexibility for the badge designs?</p><h2>Labels</h2><p>I don&#39;t recall if a <a href="https://aquatifur.org/" target="_blank">Aquatifur</a> was the first convention I went to that used labelers. The one that I know for sure at my first attendance was <a href="https://goblfc.org/" target="_blank">Biggest Little Fur Con</a> (BLFC).</p><p>Back then, before <em>any</em> of this mattered to me, they used a desktop PT-P700 label printer. For a convention under 300 people, this is a great choice to start your convention with <em>if you have no technical know-how</em>.</p><p><img src="https://cendyne.dev/c/ROMM1wXQ?width=645" alt="Brother P-Touch PT-P700 label printer for $95" width="645" height="473" /></p><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/jacobi/scheming" alt="jacobi scheming" width="128" height="128" /></p></td><td>Any and every badge design is within reach now. As long as it works well with a black-only print area.</td></tr></table><p>You should not print flyers at Staples for event badges. They&#39;ll rip off the lanyards and spoil from an uncomfortably moist fur-suit hug. Instead, find a plastic printer that offers event badge printing.</p><p><img src="https://cendyne.dev/c/95kablDD?width=645" alt="Plastic Printers screenshot with a conference badges and event badges collage" width="645" height="357" /></p><p>At BLFC, attendees can pick their own badge art ahead of time. When they arrive, staff see their preference and grab the appropriate <em>plastic</em> badge. Unlike BLFC, FurSquared binds the label to a badge design specific to the attendee&#39;s purchase, whether general admission, a daily pass, or a super sponsor.</p><p><img src="https://cendyne.dev/c/-aIcliVz?width=645" alt="A scan of BLFC 2018&#39;s front and back badge design" width="645" height="439" /></p><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/wink2" alt="cendyne wink2" width="128" height="128" /></p></td><td>How I have several blank BLFC badges with different designs is left as an exercise to the reader. I&#39;ve never been staff of BLFC.</td></tr></table><h3>Which Label Printer?</h3><p>Above, I mentioned that the PT-P700 is an adequate printer for new conventions under 300 people. BLFC wasn&#39;t a small convention in 2018. With 5435 attendees, they made so many people wait on these darn Brother printers.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/dying-at-computer" alt="cendyne dying-at-computer" width="128" height="128" /></p></td><td>The same printing tech is inside my P-Touch D610BT and the timing I measured in print and application depresses me.</td></tr></table><p><img src="https://cendyne.dev/c/zhim-Am3?width=645" alt="Brother Printer Print timing" width="644" height="362" /></p><p>I measure around 6.9 seconds of print time for 3 inches of useful label area, followed by 27.9 seconds of trimming, peeling, and applying a label. Worse if there were a minor — in which case the cart would have to be swapped to another color — add another 60 seconds of execution time to set, print, and reset the printer for the next attendee.</p><p>Looking for an alternative? Several conventions roll with Dymo printers, such as the <a href="https://www.dymo.com/label-makers-printers/labelwriter-label-printers/dymo-labelwriter-550-label-printer/SAP_2112552.html" target="_blank" rel="noreferrer">Dymo LabelWriter 550</a> which works with <a href="https://www.regfox.com/" target="_blank" rel="noreferrer">RegFox</a>, <a href="https://concat.app/" target="_blank">ConCat</a>, and any convention software that supports <strong><em>the native print dialog</em></strong>.</p><p><img src="https://cendyne.dev/c/cvx3xDov?width=645" alt="Dymo LabelWriter 550 with a price tag of $146.80" width="645" height="321" /></p><p>Unfortunately, that price tag comes with a deferred consumable cost... <a href="https://www.youtube.com/watch?v=YJs9_xELKbI" target="_blank" rel="noreferrer">Dymo puts DRM in their labels</a>! You cannot get third party labels for a Dymo printer unless you <a href="https://hackaday.com/2022/03/30/freedmo-gets-rid-of-dymo-label-printer-drm/" target="_blank">hack it with additional hardware</a>.</p><p>There&#39;s actually a comparable option, assuming you don&#39;t grab the latest and greatest brand new from <strong>Zebra</strong>.</p><p><img src="https://cendyne.dev/c/ejKIaRwu?width=645" alt="Latest Zebra Printer listing for the ZD400 series" width="645" height="300" /></p><p>Check out listings on eBay. Most are clean and just work. Some might need part replacements like a <a href="https://www.zebra.com/us/en/products/accessories/printer-print-engine/platen-rollers.html" target="_blank" rel="noreferrer">platen roller</a>, though the reliability and willingness to accept any and all media cannot be understated. These work. These work so well that you&#39;ll wonder why Zebra isn&#39;t the first recommendation.</p><p><img src="https://cendyne.dev/c/05JEM1-Z?width=645" alt="Zebra ebay listing, around $130" width="645" height="388" /></p><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/i-missed-the-part-where-thats-my-problem" alt="cendyne i-missed-the-part-where-thats-my-problem" width="128" height="128" /></p></td><td>You wouldn&#39;t be reading this if all you wanted was &quot;some person on the internet&#39;s opinion.&quot; I&#39;m laying out the facts that you can make make a logical decision.</td></tr></table><p>Get a Zebra printer. Just not the &quot;ZSB&quot; (Small Business) series. Those have DRM labels too and everyone hates them. No one wants DRM labels. No one wants print software that breaks if your internet connection drops or your computer goes to sleep. Do not get a ZSB Series Printer. (I have one. Don&#39;t.)</p><p><img src="https://cendyne.dev/c/8obPI2pu?width=645" alt="ZSB series for $40" width="645" height="205" /></p><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/straight-to-jail" alt="cendyne straight-to-jail" width="128" height="128" /></p></td><td>The contracting team that wrote the ZSB software should be professionally erased from this planet. They have done a disservice to the hardware team that made an otherwise functional (but evil) printer.</td></tr></table><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/ych-you-disappoint-me" alt="cendyne ych-you-disappoint-me" width="128" height="128" /></p></td><td>Their release process is in shambles. It&#39;s built on someone&#39;s personal computer instead of CI. For a company releasing at this scale, this terrifies me. Use <a href="https://github.com/NationalSecurityAgency/ghidra" target="_blank" rel="noreferrer">ghidra</a> to inspect the ZSB software to see what I mean.</td></tr></table><h2>Printing to the... printer</h2><p>Back in 2019, FurSquared had a few laptops hooked up to the DTC1250e printers. The check in flow at the time had staff submit a form to render a the badge as a PNG with <a href="https://pypi.org/project/pillow/" target="_blank">Pillow</a> with a PNG or JPEG of the artwork with the name on top. Then they&#39;d use the <strong>native print dialog</strong> to send it to the printer connected over USB.</p><p>The very same flow that BLFC used in 2018 (my first time in Reno!) and beyond until... 2023!</p><p></p><table width="100%" border="0"><tr><td>Squeak!</td><td width="30%"><p><img src="https://cendyne.dev/s/128/cellivar/tongue-out" alt="cellivar tongue-out" width="128" height="128" /></p></td></tr></table><p><a href="https://bsky.app/profile/nican.net" target="_blank" rel="noreferrer">Nican</a> first deployed ConCat BLFC 2018<a href="https://developer.mozilla.org/en-US/docs/Web/API/WebUSB_API" rel="noreferrer"></a>. Years later, <a href="https://bsky.app/profile/cellivar.dev" target="_blank" rel="noreferrer">Cellivar</a> contributed Zebra printer to ConCat in 2023. According to the kangaroo rat, BLFC trialed four laptops running with his zebra printers over <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebUSB_API" title="Web WebUSB">WebUSB</a> while the old Brother printer setup had ten laptops.</p><p>Guess which setup ate through the lines? Cellivar&#39;s! On top of that, guess which one didn&#39;t get delayed by driver troubleshooting and setup? Also Cellivar&#39;s. Where&#39;s the difference? Three key details: Zebra Printers, WebUSB, and <strong>no native print dialog</strong>.</p><p></p><table width="100%" border="0"><tr><td>You keep mentioning the “native print dialog” like it’s a problem</td><td width="30%"><p><img src="https://cendyne.dev/s/128/cordite/peek" alt="cordite peek" width="128" height="128" /></p></td></tr></table><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/apple-crash-pose" alt="cendyne apple-crash-pose" width="128" height="128" /></p></td><td>It is a problem! The native print dialog slows everything down and adds room for operator error! It&#39;s part of why printing full color cards took 90 seconds instead of 40 seconds at FurSquared before I came in.</td></tr></table><p></p><p><img src="https://cendyne.dev/c/vPNtoLj8?width=645" alt="Diagram comparing p-touch printing with a total time of 47-87 seconds with zebra printing of 17-22 seconds. Both share a verifying ID time of 10 seconds.. so zebra printing is about 5x faster than P-Touch." width="645" height="1236" /></p><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/i-am-thinking-augh-my-head" alt="cendyne i-am-thinking-augh-my-head" width="128" height="128" /></p></td><td>If this chart doesn&#39;t cause you to recoil at what you&#39;ve been missing, I don&#39;t know what to tell you. Oh wait —</td></tr></table><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/ych-hug-many" alt="cendyne ych-hug-many" width="128" height="128" /></p></td><td>Cellivar isn&#39;t the only one to thank for bringing Zebra label printers to furry conventions. <a href="https://sqekr.tech/about/" target="_blank">Sqekr Tech</a> was formed by several folks out west as a non-profit to lease event registration equipment to other non-profits. If you use ConCat, coordinate with Sqekr Tech.</td></tr></table><p>Here&#39;s why the <strong>native print dialog</strong> is so harmful: room for error, human fatigue, and timing variance. Staff will choose the same printer and set the same document width, height, and orientation every time. Some staff will rapidly get used to the mechanical process of clicking the same 8 things in sequence – most won&#39;t. This <strong><em>must</em></strong> be automated for scale.</p><p>There are two ways to remove the <strong>native print dialog</strong>. Either make the server do it behind the scenes, or directly interface with the printer.</p><h3>Print through the server</h3><p>The first thing I did for FurSquared in late 2022 was decouple the printer from the computer. In <a href="https://cendyne.dev/posts/2023-04-16-process-engineering-at-a-furry-convention.html">Process Engineering at a Furry Convention</a>, I designed it to print immediately upon payment. This would only be possible if done through the server. Secondly, since the printers were decoupled from the registration stations, giving the option to select <em>which</em> printer was irrelevant and was not included. In fact, the only time someone intentionally clicked the print button was after updating the badge content and issuing a reprint.</p><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/augh-anguish-pain" alt="cendyne augh-anguish-pain" width="128" height="128" /></p></td><td>The aged-like-milk Linux CUPS drivers still caused me so much pain.</td></tr></table><p>Before that, FurSquared used the <strong>native print dialog</strong> and had to switch away from 8.5x11 <strong>every time</strong>. Other conventions like <a href="https://furtherconfusion.org/" target="_blank">Further Confusion</a> managed to hack in printing into RegFox through chrome extension &quot;integrations&quot; and unsupported chrome flags to bypass the <strong>native print dialog</strong>.</p><p><a href="https://www.furfest.org/" target="_blank">Midwest FurFest</a> (MFF) made this change after the Covid pandemic. Compared to the prior flow where it would print somewhere and Mario or Luigi (Staff that cosplayed as them) among many others would call out badge names once printed, the process became far more consistent as an attendee.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/cheers" alt="cendyne cheers" width="128" height="128" /></p></td><td>Coupled with the proactive tiered queue management, the lines are far faster now than they were years ago. Registration there has really stepped up at MFF.</td></tr></table><blockquote><strong>Sparkx:</strong><br/>Say what you will about MFF in other areas like room lotto, food choices, location etc, but MFF has got their shit DOWN when it comes to registration.<br/><br/>That wss perhaps the fastest I&#39;ve ever gotten through a registration line.<br/><br/><a href="https://bsky.app/hashtag/MFF">#MFF</a><br/><a href="https://bsky.app/hashtag/MFF2025">#MFF2025</a> <a href="https://bsky.app/profile/sparkxfalcon.bsky.social/post/3m776wyib4s26">source</a></blockquote><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/jazz-music-stops" alt="cendyne jazz-music-stops" width="128" height="128" /></p></td><td>Swag, on the other hand, still needs a lot of work. It&#39;s another department and my current understanding is they contract out the shirt distribution. A 90 minute line to get a shirt isn&#39;t acceptable. Someone would occasionally mention they can be picked up at con store later — which I did — though proactive (actually deny people from queuing) <a href="https://en.wikipedia.org/wiki/Load_shedding" target="_blank">load shedding</a> ought to be implemented next if they can&#39;t get enough people to distribute shirts at the rate demanded.</td></tr></table><p>Once the station at MFF is configured to use the physically adjacent printer, then staff only need to click &quot;Print&quot; wrap up the process. No printer selection, no media configuration, no physical media swapping — only a button press away from helping the next person in line.</p><p>The move to Zebra printers at FurSquared went similarly. Each pair of stations had its own primary printer, and in the uncommon case a minor needed to get a badge, printing would route to the appropriate printer through the server.</p><p><a href="https://deusex.fandom.com/wiki/Mission02_conversations#:~:text=It%27s%20all%20ice%20cream%20and%20lollipops" target="_blank" rel="noreferrer">It&#39;s all ice cream and lollipops</a> – until the print server goes down.</p><p></p><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/computer-violence" alt="cendyne computer-violence" width="128" height="128" /></p></td><td>In MFF&#39;s case, I heard it was a bad stick of RAM that failed <em>DURING</em> the convention. In my case, it was probably a network fault or a state machine bug. At my remote instruction, they power cycled the server and everything came back online.</td></tr></table><blockquote><strong>Sirius:</strong><br/>Spy sappin&#39; my print server! <a href="https://bsky.app/hashtag/MFF">#MFF</a> <a href="https://bsky.app/hashtag/MFF2024">#MFF2024</a><p><img src="https://cendyne.dev/c/9k-yB6l_?width=645" alt="Photo included with Bluesky post" width="645" height="378" /></p> <a href="https://bsky.app/profile/smolunicorn1.bsky.social/post/3lcm6yvdlck26">source</a></blockquote><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/hiding" alt="cendyne hiding" width="128" height="128" /></p></td><td>There are a few more downsides. I&#39;ll get to that in a moment.</td></tr></table><p></p><h2>Printing without an operating system driver or server</h2><p>Another option is to interface directly without involving a windows, Mac, ChromeOS, or otherwise provided native print driver. The application, or in this case, web application, has access <em>somehow</em> to the physical device that will produce the print. There&#39;s no CUPS, only your software and <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebUSB_API" title="Web WebUSB">WebSerial</a> or <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebUSB_API" title="Web WebUSB">WebUSB</a>, or native equivalents that interface with the other side.</p><p>This is how Cellivar prints to Zebra printers with ConCat. The badge bitmap is rendered and sent to the printer client-side without any round trips from the server. With a point to point setup like this, there&#39;s less technically that can go wrong and any troubleshooting is straight forward.</p><p>The cost is that each station necessarily needs its own printer. I don&#39;t have the budget for that. This cost is offset by the rental services Sqekr Tech offers. We only use these printers once a year. Other cons can use Sqekr Tech&#39;s printers many times a year.</p><p>Cellivar can ship out a crate with laptops, printers, and cash boxes <strong>without</strong> having to setup, train, and be on-call to staff on site. I do. A print server is more complicated than a laptop with WiFi access and a USB cable.</p><p></p><table width="100%" border="0"><tr><td>In gathering my <strike>hoard</strike> collection of printers I learned they were fiddly to set up then were pretty stable during use. That&#39;s what these commercial printers are designed for, after all. Our nonprofit handles that, saving the precious volunteer time at-con for getting attendees through the reg line.</td><td width="30%"><p><img src="https://cendyne.dev/s/128/cellivar/smile" alt="cellivar smile" width="128" height="128" /></p></td></tr></table><table width="100%" border="0"><tr><td>Furry cons have a history of sharing equipment to reduce costs. My team takes that to the next level, keeping the event&#39;s costs consistent and putting the proceeds directly back into maintenance, equipment upgrades, and expanding the types of problems we can solve. We&#39;ve worked with 7 different events, not all of them furry cons!</td><td width="30%"><p><img src="https://cendyne.dev/s/128/cellivar/thumbs-up" alt="cellivar thumbs-up" width="128" height="128" /></p></td></tr></table><table width="100%" border="0"><tr><td>Freight mailing costs are higher than our equipment rental costs. We&#39;re still figuring out how to work with far-flung events away from the San Francisco Bay region. I have to settle for sharing notes with Cendyne, not printers.</td><td width="30%"><p><img src="https://cendyne.dev/s/128/cellivar/bothered" alt="cellivar bothered" width="128" height="128" /></p></td></tr></table><p>Moving solely to direct WebUSB printing does cut off one important benefit: any station in my setup could also check in minors without that printer being connected to the same machine.</p><p>A hybrid approach is possible! Just that, once you pay the complexity price of one printer, you&#39;ve paid it for nearly all printers.</p><h2>What about my event?</h2><p>Without a technology R&amp;D team (or load bearing person), your options to speed up the registration lines at your event are limited. If you&#39;re out west and use ConCat, hit up Squekr Tech. Otherwise, if you&#39;re using ConCat, you might get by with a few zebra printers, as long as they were made in the last 10 years and start with <code>ZD</code>.</p><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/reading" alt="cendyne reading" width="128" height="128" /></p></td><td>There&#39;s a lot more that goes into selecting a specific printer. Maybe I&#39;ll write about it some time. Look at eBay for them. Even if discontinued, the printers will work for years to come. Test, verify, practice, and train.</td></tr></table><p>Should your tech team want to add Zebra support to another registration system, check out Cellivar&#39;s <a href="https://github.com/Cellivar/WebZLP/" target="_blank" rel="noreferrer">WebZLP</a>, that&#39;s what powers the ConCat integration.</p><p>Otherwise, you seriously need someone with expertise and persistence to research, develop, and integrate a solution that works with your event. It needs to work for thousands of people without <em>the mechanic</em> being on standby the whole time.</p><h2>How FurSquared went</h2><p>After the first two opening hours, registration&#39;s line queued no longer than ten people the rest of the convention. Zebra Printers work. Two thousand seven hundred and ninety-five people got badges printed with my software. The only stress I felt from registration were from the four hours before it opened.</p><p></p><table width="100%" border="0"><tr><td>What went wrong?</td><td width="30%"><p><img src="https://cendyne.dev/s/128/cordite/surprise" alt="cordite surprise" width="128" height="128" /></p></td></tr></table><p>The <a href="https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-t-series-laptops/thinkpad-t420" target="_blank" rel="noreferrer">Lenovo T420 Thinkpad</a> from 2011 did not have the SIMD instructions that the <a href="https://bun.com/" target="_blank" rel="noreferrer">Bun.js</a> runtime needs. My software could not start on the hardware I allocated for the task.</p><p></p><p><img src="https://cendyne.dev/s/512/cendyne/explosion" alt="cendyne explosion" width="128" height="128" /></p><p>You read that right. The software I had could not run on the print server. I had to bring out my personal hardware as a backup for the convention to open on time – which it did!</p><p></p><p><img src="https://cendyne.dev/c/D8ZzvNuN?width=645" alt="A networking switch with three smaller distinct boxes on top. One is painted yellow." width="645" height="403" /></p><p>The free wifi available at the convention center provided around 150Kbps. I was unable to download Bun.js and <a href="https://tailscale.com/" target="_blank" rel="noreferrer">Tailscale</a> over that network to even begin calibrating the printers. I had to expedite the deployment of our LTE network to even begin the software install.</p><p><img src="https://cendyne.dev/s/512/roury/ramen" alt="roury ramen" width="128" height="128" /></p>I helped!<p>Thankfully, as the Technology director I had team members scheduled to help during set up and they were available to help even as I reprioritized what would happen and when.</p><p>Once the print server was online, we began the calibration process. This was going fine until I discovered a race condition that broke the state machine in the print server.</p><p>If the print server accepted a print job when the printer was connected, but the printer disconnects (TCP keep alive) before the PNG is rendered for the badge, the printer would never get reconnected.</p><p></p><p><img src="https://cendyne.dev/s/512/cendyne/head-desk-crack" alt="cendyne head-desk-crack" width="128" height="128" /></p><p>Then, upon reinstalling the new update with the fix, the reinstall wiped all the local calibration information, leaving the print server in a state where it would say the printers are online and then never send print jobs to the printers.</p><p>Thirty minutes before registration opened, I had to recalibrate all the printers. Unfortunately, the text got partially cut off the bottom for dealer names and registration levels. I strive for perfection, but at that point I had to let go so the doors could open on time.</p><p>The take away for anyone else who wants to do a print-server setup, be prepared to replicate the production environment with four or more printers and have several people concurrently (and randomly) print material through the system for over several hours before you can call it safe for go-live.</p>
]]></content:encoded></item>
  <item><title>A Vibe Coded SaaS Killed My Team</title><link>https://cendyne.dev/posts/2025-11-26-a-vibe-coded-saas-killed-my-team.html</link><guid>https://cendyne.dev/posts/2025-11-26-a-vibe-coded-saas-killed-my-team.html</guid><description>We lost the capitalism game and they&#39;re trying to get a second wind through a broken vibe-coded SaaS platform.</description><pubDate>Wed, 26 Nov 2025 16:00:00 GMT</pubDate><dc:creator>Cendyne</dc:creator><media:thumbnail url="https://cendyne.dev/c/GMdXzX3w?width=645" /><content:encoded><![CDATA[
<p>I considered it a possibility. Now it&#39;s set in stone. Instead of fully shutting down in the coming year due to tumbling revenue, leadership decided &quot;What if we use someone else&#39;s platform?&quot; It just so happens, <strong>the platform they chose is vibe coded</strong>.</p><p><img src="https://cendyne.dev/c/GMdXzX3w?width=645" alt="A vibe coded SaaS killed my team" width="645" height="429" /></p><p>Like many tech companies during the pandemic, we over-hired and had to contract over and over again. Without the VC-funded war chest that our competitors had, we couldn&#39;t compete in marketing and sales. Our brand-awareness shrunk into obscurity.</p><p>So, in all fairness, we lost the capitalism game. And, I&#39;m fine with that.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/tired-desk" alt="cendyne tired-desk" width="128" height="128" /></p></td><td>If you&#39;re curious, I&#39;m sorry to disappoint. I haven&#39;t name-dropped, nor will I now or in the future.</td></tr></table><p>We had a plan to gracefully wind down, unlike <a href="https://sherwood.news/business/inside-redboxs-insane-bankruptcy/">Redbox</a> (<a href="https://archive.ph/oPrUf">archived</a>). Once the balance hit a certain threshold, a plan (prepared a year in advance) would have made everyone whole and return the remaining funds to the investors.</p><p>Except, the investors changed their mind and would rather take a chance on a future sale than admit defeat.</p><p>What&#39;s changed their mind?</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/the-more-you-know" alt="cendyne the-more-you-know" width="128" height="128" /></p></td><td>The allure and promise of AI workforce reduction.</td></tr></table><p>The technology costs are but a single digit percentage of the monthly spend – the majority is tied to headcount and benefits. When I saw the numbers going towards headcount costs, I fully understood the situation we were in.</p><p>The previous reduction truly cut headcount to the bare minimum that can still keep the technology we have operating. Any fewer, and there&#39;s a high risk of business interruption within a few months.</p><p>At the same time, the current revenue projection calls for the end of the business within a few more months.</p><p>We used to have a thousand people. Today, I can count everyone on my hands. A cut beyond this will fundamentally need a different operating model.</p><p>Given that our revenue can no longer support the staff needed to run our own technology, how do the finances work on someone else&#39;s platform?</p><p>Assuming that this Software as a Service (SaaS) can deliver what leadership believes, the napkin math suggests it&#39;ll work out.</p><p>With this SaaS, they expect...</p><ul><li>No engineering headcount</li><li>No implementation headcount</li><li>No support headcount</li><li>Contracted sales teams to pick up the rest</li></ul><p>So if they&#39;re going to lay everyone off and migrate to a SaaS, who&#39;s going to do the migration?</p><p><img src="https://cendyne.dev/s/512/cendyne/me" alt="cendyne me" width="512" height="512" /></p><p>I&#39;ll be on my own for an extra month or two to migrate it all over.</p><p>Somehow, I need to keep the tech coasting in its last days while migrating all the data that I can.</p><p><img src="https://cendyne.dev/c/Dl2zQTn8?width=645" alt="An warning message saying this version of node (14) will no longer be supported after 2024. It is near the end of 2025." width="645" height="66" /></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/hail-satan" alt="cendyne hail-satan" width="118" height="128" /></p></td><td>Thankfully, AWS is <em>not</em> a source of stress for me. Stuff still works, even if it complains years later.</td></tr></table><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/get-well-soon" alt="cendyne get-well-soon" width="128" height="90" /></p></td><td>I hear it&#39;s rough at Amazon and AWS. A culture where your job is to bandaid things until the next person takes over can&#39;t be good for your sanity. Or perpetually fearing you&#39;ll be next when <a href="https://www.reuters.com/business/world-at-work/amazon-targets-many-30000-corporate-job-cuts-sources-say-2025-10-27/">Amazon lays off another 30,000</a> (<a href="https://archive.ph/i1wcO">archived</a>) despite <a href="https://www.nytimes.com/2025/10/30/business/amazon-earnings.html">21.2 billion in net profits</a> (<a href="https://archive.ph/JZebk">archived</a>).</td></tr></table><p>I&#39;ve expected either a winding down or a transition for over a year now. I&#39;ve come to terms with an ending <em>like</em> this already.</p><p>While my peers are bitter about having a closer end date than me, I&#39;m not as emotionally invested into <em>when</em> or <em>how</em> it ends.</p><p>What I didn&#39;t expect is how <strong>a vibe coded app</strong> passed as legitimate to the board of directors. We don&#39;t even have a contract with this platform yet and people are told they&#39;re being laid off.</p><p><img src="https://cendyne.dev/s/512/cendyne/ych-some-of-yall-is-why-shampoo-has-instructions" alt="cendyne ych-some-of-yall-is-why-shampoo-has-instructions" width="512" height="512" /></p><h2 id="legal-concerns">Legal Concerns</h2><p>In my two hours of testing and feedback, I found that — without immediate changes to the SaaS — we&#39;d be immediately in violation of the <a href="https://oag.ca.gov/privacy/ccpa">California Consumer Privacy Act (CCPA)</a>, <a href="https://en.wikipedia.org/wiki/California_Privacy_Rights_Act">California Privacy Rights Act (CPRA)</a>, <a href="https://www.fcc.gov/sites/default/files/tcpa-rules.pdf">Telephone Consumer Protection Act (TCPA)</a>, <a href="https://www.ftc.gov/business-guidance/resources/can-spam-act-compliance-guide-business">CAN-SPAM Act</a>, <a href="https://www.ada.gov/law-and-regs/regulations/title-iii-regulations/">Americans with Disabilities Act (ADA)</a>.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/two-of-them" alt="cendyne two-of-them" width="128" height="114" /></p></td><td>I keep saying &#39;we&#39;. It won&#39;t be soon.</td></tr></table><p>How could a platform be that bad? This SaaS has no customers in the United States. Their team is based in another country without similar laws or regulations.</p><p>Even so, I&#39;m confident that vibe coded platforms made by people in the United States also unknowingly violate state and federal laws around privacy, communications, and accessibility.</p><p>One of our tech acquisitions was through a bankruptcy fire sale after the original company could not make penalty payments for violating the Telephone Consumer Protection Act. These issues cannot be ignored to do business in the United States.</p><h2 id="things-don&#39;t-work">Things don&#39;t work</h2><p>I&#39;ve used LLM assisted auto complete. I&#39;ve generated inline functionality. I&#39;ve generated classes and modules. And I&#39;ve generated entire web apps. I&#39;ve seen what GPT, Claude, Z.ai GLM, Grok Code, and Gemeni do across the entire spectrum of software development.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/i-do-not-vibe-with-this-universe-1" alt="cendyne i-do-not-vibe-with-this-universe-1" width="128" height="124" /></p></td><td>Everyone has a different definition of &quot;vibe coding&quot;, and as <a href="https://www.youtube.com/watch?v=6TMPWvPG5GA&amp;t=270">Theo described the spectrum of its definitions</a> (at 4:30), I&#39;ll be using the slice of the spectrum &quot;Ignoring the code entirely and only prompting&quot; as my definition of vibe coding.</td></tr></table><p>Within a minute, I could tell it was made with Claude or GLM. Every picture zooms in on hover for no reason. There are cards everywhere. Links go to <code>#</code> in the footer. Modals have an closing <strong><code>X</code></strong> button that doesn&#39;t work. The search button up top doesn&#39;t do anything...</p><p>It&#39;s like someone took some screenshots of a competitor, asked an LLM agent to create design documents around all of them, and then implement those design documents without any human review.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/but-like" alt="cendyne but-like" width="128" height="106" /></p></td><td>Which, is exactly the kind of workflow Google recommends in their most recent <a href="https://blog.google/products/gemini/gemini-3/#build-anything">Gemeni 3 and Nano Banana Pro release</a>.</td></tr></table><p>At the shallowest depth, I can see how a CEO got bamboozled. The happiest path is implemented. The second happiest path is rough. The third happiest path is unhinged.</p><p>No hacks. No reading the source code. Just innocent clicking around allowed me to break a critical invariant to running a business: I could place orders without giving my contact details or payment.</p><p><em>Besides displacing jobs</em>, issues like this concern me deeply.</p><p>LLM-generated code <em>can</em> enable a business process quicker and cheaper than hiring a full team with benefits. With the experts that still value their craft steering the development, software can be produced just as well as without these tools. Business processes meaningfully affect people&#39;s lives, whether staff, customer, vendor, or share-holder.</p><p><em>At its extreme with vibe coding</em>, LLM-generated code will have such poor quality that <strong>it is <em>negligent</em> to use LLM-generated code <em>without</em> expert oversight and verification</strong>. More lives are going to be affected by negligent software than ever before.</p><p>It is so much easier to accept that my life is changing because my employer couldn&#39;t stay fit in the economy than to accept it being displaced because of broken software made by a machine. The fiscal performance of my employer in this economy is the root cause, of course. And I accept that. Having to pivot everything to some broken SaaS that breaks the law? That&#39;s harder to accept.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/corporate-drone" alt="cendyne corporate-drone" width="128" height="103" /></p></td><td>While it is hard to accept, I&#39;ll still do my part and will move on after a job well done. How well the new platform operates after the domain swap is not my problem.</td></tr></table>
]]></content:encoded></item>
  <item><title>What about the web developers?</title><link>https://cendyne.dev/posts/2025-09-01-what-about-the-web-developers.html</link><guid>https://cendyne.dev/posts/2025-09-01-what-about-the-web-developers.html</guid><description>Generated site builders will give web developers more tools to compete and create sites of lower quality.</description><pubDate>Mon, 01 Sep 2025 15:00:00 GMT</pubDate><dc:creator>Cendyne</dc:creator><media:thumbnail url="https://cendyne.dev/c/lc71fwx_?width=645" /><content:encoded><![CDATA[
<p>First came Wordpress. Did this crash the demand for web developers? No. It created a platform and marketplace for more sites to be built. More developers joined the space because of Wordpress or other <a href="https://en.wikipedia.org/wiki/Content_management_system">Content Management Systems (CMS)</a>. Then came Wix, Shopify, and Squarespace with cloud-hosted solutions with accessible website and commerce building tools. Did this crash the demand for web developers? No, not really.</p><p>Cloud-hosted site builders let businesses skip the burdensome step of paying a freelancer a thousand plus to represent themselves on the internet. Many small businesses that serve a local or niche community need only enough to show up on Facebook and Google. That <em>online thing</em> is a distraction to running a business. They’re focused on customers, hiring, and sourcing their resources. As a result, cloud-hosted site builders did displace some freelancers for fledgeling businesses and sole proprieters.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/wiimote-broken-tv" alt="cendyne wiimote-broken-tv" width="128" height="127" /></p></td><td>If Wix existed when I was a teen, I wouldn’t have had the opportunity or meager funding to practice web development.</td></tr></table><p>Once a small business grows to where it needs a better representation online, then a developer will be pulled in to do a better job. Instead of developing it from scratch, they need to deliver it economically. Once released, the owner might not want to update it for another few years. For that reason, and within those constraints, it is typically redone in Wordpress, or a site builder, to represent the brand while leaving the non-technical owner some accessible controls to edit their site&#39;s content at any time.</p><p>They might also contract or sub-contract a marketing team to contribute copy, flavor text, source some images, and otherwise decorate the online brand without the owner nit-picking or reviewing every detail. There will be some inaccuracies, but this won’t influence customer behavior much.</p><table width="100%" border="0"><tr><td><a href="https://en.wikipedia.org/wiki/Copy_(publishing)">Copy</a>, in the context of publishing (which includes websites), refers to the content (text and graphics) reproduced for others to see.</td><td width="30%"><p><img src="https://cendyne.dev/s/128/jacobi/youtube" alt="jacobi youtube" width="128" height="103" /></p></td></tr></table><p>Once the business grows again, it will be redone with a bespoke solution by web developers that attend to it over the business&#39;s lifetime. Over the years, the team may be contracted months apart to maintain it, and that&#39;s fine. Their team knows how to manage the bespoke machine this business needs and the marketing team involved is more in touch with reality at this stage.</p><p>Wordpress and site builders raise the minimum business size from a sole proprietor to one with more than $40,000 of revenue per month. The businesses that succeed will need technology to represent themselves.</p><table width="100%" border="0"><tr><td>That’s a rather arbitrary figure!</td><td width="30%"><p><img src="https://cendyne.dev/s/128/jacobi/math" alt="jacobi math" width="128" height="124" /></p></td></tr></table><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/commission-ideas" alt="cendyne commission-ideas" width="119" height="128" /></p></td><td>I figure that paying at least eight part time staff, rent, resources, and your own benefits would at least need that much money each month going in, around, and out.</td></tr></table><h2 id="that-vibe-coding-thing">That vibe coding thing</h2><p>What about <a href="https://lovable.dev/">lovable</a> and other AI tools?</p><p>Cloud-hosted AI-site builders are sandwiched somewhere between Wordpress and pre-AI site builders in their target demographic. AI-site builders are like having a small contractor that sets up a CMS and fill it with copy, but cheaper.</p><p>At first it’ll please the business owner, who feels great having only spent $200 instead of $2000. But, will they stand out over their competition using Wix? A smidge, maybe? Customers don&#39;t care, though. Their service, their products, their pricing, ease of transaction, and accessibility are what matter.</p><p>By using site builders of any kind, that money saved is available for other uses that customers actually respond to. <em>Though, customers may be confused as to why parts of the website are horribly wrong.</em></p><p><img src="https://cendyne.dev/c/vXecpAWC?width=645" alt="Popcorn chicken with a product description that sounds like chickenpox" width="645" height="345" /></p><p>Lovable and other cloud-hosted AI-site builders will displace some of the low-value contracts.</p><p>How about the other AI thing? That vibe coding one? It’s a little different.</p><p>If a small business cannot safely self-host Wordpress – which they cannot – why should they try to self-host generated code? Vibe coding tends to produce a <a href="https://nextjs.org">Next.js</a> app, which isn&#39;t trivial to deploy and operate on your own infrastructure.</p><table width="100%" border="0"><tr><td>Keep in mind, technologists, most small businesses don&#39;t have <em>that guy</em> who can set up infrastructure and deploy code.</td><td width="30%"><p><img src="https://cendyne.dev/s/128/jacobi/point-left" alt="jacobi point-left" width="128" height="123" /></p></td></tr></table><p>It gets easier when you look to use a serverless provider like <a href="https://vercel.com">Vercel</a>, which owns Next.js. But a variable cost between $5 and <a href="https://www.reddit.com/r/nextjs/comments/12dngvg/small_mistake_leads_to_3000_bill_from_vercel_and/">a surprise $3000 bill</a> would prompt any vibe coder to abandon the abyssal spaghetti they spawned.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/buns-burned" alt="cendyne buns-burned" width="128" height="128" /></p></td><td>I&#39;ve evaluated Next.js across multiple projects – both at work and for a furry convention. My opinions are not compatible with Vercel. My frontend should not take more memory at idle than my backend.</td></tr></table><p>Vibe coding to production with ones own infrastructure is just not realistic for the non-technical person. It is too difficult to consider viable.</p><h2 id="web-developers-will-use-them-too">Web developers will use them too</h2><p>Small businesses will try out AI-site builders as long as the subscription costs are predictable and capped. They prolong a business&#39;s runway of self-reliance until they need to involve experts. When their needs are better understood and they have the money to pay a team for their work, they&#39;ll engage with experienced people.</p><p>That said, it is likely that these contract teams will use generative tech and site builders to produce the next long term revision of a business’s online presentation. That’s fine, since they know the domain. It means they can take on more work concurrently without growing staff. Whether the results are pleasant or long-lasting is another matter entirely.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/popcorn" alt="cendyne popcorn" width="109" height="128" /></p></td><td>I’ve seen my place take on contract work with non-technical businesses to represent them online while integrating with our business. Several times. They always churn after a year or two once the contract ends.</td></tr></table><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/tossing-popcorn" alt="cendyne tossing-popcorn" width="128" height="117" /></p></td><td>I can say the product their next contract made is inferior, but their customers haven’t changed before, during, or after our work. So is the business in the wrong for switching away to something cheaper? No.</td></tr></table><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/sarcastic-confetti" alt="cendyne sarcastic-confetti" width="128" height="115" /></p></td><td>What a waste of our time though. Internally we always plan like it’s going to be in place for five years and it flops before two. We haven’t done that for a few years now, <em>thankfully</em>.</td></tr></table><p>Generative tech will not significantly displace web developers through use by non-developers. Exports with generative tech will be able to price out those that don’t and it will appear more crowded for a while. Some will be displaced because the demand is now met with less supply at the business size that needs web developers.</p><p>We’ll have a worse web as more <a href="https://en.wikipedia.org/wiki/AI_slop">slop</a>-sites come to be through people that know better. But the market doesn’t care what the quality is, so long as there’s more of it.</p>
]]></content:encoded></item>
  <item><title>Vibe Coding&#39;s Hype for non-developers is over</title><link>https://cendyne.dev/posts/2025-08-21-vibe-codings-hype-for-non-developers-is-over.html</link><guid>https://cendyne.dev/posts/2025-08-21-vibe-codings-hype-for-non-developers-is-over.html</guid><description>The collective hallucination is coming to an end. Vibe Coding doesn&#39;t work for non-technical people.</description><pubDate>Thu, 21 Aug 2025 15:00:00 GMT</pubDate><dc:creator>Cendyne</dc:creator><media:thumbnail url="https://cendyne.dev/c/y3UfXSSb?width=645" /></item>
  <item><title>Single Sign On for Furries</title><link>https://cendyne.dev/posts/2025-08-15-single-sign-on-for-furries.html</link><guid>https://cendyne.dev/posts/2025-08-15-single-sign-on-for-furries.html</guid><description>Single Sign On scales headcount and maintains security under a single credential. Services unfairly price for SSO, so I made my own for a furry convention.</description><pubDate>Fri, 15 Aug 2025 13:00:00 GMT</pubDate><dc:creator>Cendyne</dc:creator><media:thumbnail url="https://cendyne.dev/c/Hg2RlL9o?width=645" /></item>
  <item><title>Advertising to Agents</title><link>https://cendyne.dev/posts/2025-08-08-advertising-to-agents.html</link><guid>https://cendyne.dev/posts/2025-08-08-advertising-to-agents.html</guid><description>As people delegate more to agents, advertisements will influence agents in the best interests of the established market leaders.</description><pubDate>Sat, 09 Aug 2025 02:00:00 GMT</pubDate><dc:creator>Cendyne</dc:creator><media:thumbnail url="https://cendyne.dev/c/CyAP_LJ2?width=645" /></item>
  <item><title>Technical Interviews are realigning with reality through AI</title><link>https://cendyne.dev/posts/2025-08-07-technical-interviews-are-realigning-with-reality-through-ai.html</link><guid>https://cendyne.dev/posts/2025-08-07-technical-interviews-are-realigning-with-reality-through-ai.html</guid><description>AI Tools will be a part of interviews at large orgs in the future, they make software brownfield interviews possible without taking too much time.</description><pubDate>Fri, 08 Aug 2025 02:00:00 GMT</pubDate><dc:creator>Cendyne</dc:creator><media:thumbnail url="https://cendyne.dev/c/sOwD_n6e?width=645" /></item>
  <item><title>You might be graduating soon in Computer Science</title><link>https://cendyne.dev/posts/2025-05-16-you-might-be-graduating-soon.html</link><guid>https://cendyne.dev/posts/2025-05-16-you-might-be-graduating-soon.html</guid><description>As a new graduate there are still opportunities to start a STEM career. You ought to know what hiring managers look for and how to stand out among your peers.</description><pubDate>Fri, 16 May 2025 15:00:00 GMT</pubDate><dc:creator>Cendyne</dc:creator><media:thumbnail url="https://cendyne.dev/c/O3rE-6PT?width=645" /></item>
  <item><title>&quot;Vibe Coding&quot; vs Reality</title><link>https://cendyne.dev/posts/2025-03-19-vibe-coding-vs-reality.html</link><guid>https://cendyne.dev/posts/2025-03-19-vibe-coding-vs-reality.html</guid><description>Reviewing the capabilities and limitations of LLM agents in software development and their impact on skilled and less skilled developers.</description><pubDate>Wed, 19 Mar 2025 15:00:00 GMT</pubDate><dc:creator>Cendyne</dc:creator><media:thumbnail url="https://cendyne.dev/c/hB5qgH8M?width=645" /></item>

</channel></rss>