<?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>Wed, 13 May 2026 12:20:21 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>Atlanta 2026 and the furries</title><link>https://cendyne.dev/posts/2026-05-12-atlanta-2026-and-the-furries.html</link><guid>https://cendyne.dev/posts/2026-05-12-atlanta-2026-and-the-furries.html</guid><description>Furry Weekend Atlanta and how it can do better in the future! Maybe get a furry tech team :)</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate><dc:creator>cendyne</dc:creator><media:thumbnail url="https://cendyne.dev/c/jYi5f5Mb?width=645" /><content:encoded><![CDATA[
<p>Furry Weekend Atlanta has been in my circuit of events to attend each year and for the first time, it seems to have shrank! They reported 17,301 people this year while last it was around 17,700. A combination of last year&#39;s breaking-at-the-seams experience and the politics of today affecting international travel meant that folks I saw last year weren&#39;t available this year. Unfortunate.</p><p>But hey, there were improvements and places for more improvements! So let&#39;s get to the unsolicited feedback I give to cons.</p><h2>Before the convention</h2><p>Did you know that their &quot;MyFWA&quot; account system doesn&#39;t make it very obvious that you&#39;ve already registered or that a registration already exists with your exact name, birth date, and address on the same account? Yup, I jumped the gun on their marketing and registered twice thinking I forgot to earlier. Had to get a refund for one. Oops! But also, that should not have happened. A simple detect on duplicate birth day on the same account to say &quot;Hold up, there might be a duplicate are you sure?&quot; and other signals like listing your registrations upon sign in would prevent that.</p><p>Next up, the virtual queue. FWA is at a scale where physical events do not have the physical space to queue 3000+ people.</p><p>Last year, a virtual queue system was implemented through a third party and it was so ineffective on site that attendees weren&#39;t able to get into constrained spaces like Dealers Den when they wanted to and the &quot;Moonlight Festival&quot; was so terribly mismanaged that I missed out.</p><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/wet" alt="cendyne wet" width="128" height="128" /></p></td><td>I am not going to queue outside in the rain because you all can&#39;t plan where lines go and the fire marshal tells you no.</td></tr></table><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/handsome" alt="cendyne handsome" width="128" height="128" /></p></td><td>The &quot;Moonlight Festival&quot; is an adult and body positive event that doesn&#39;t cross the line of sexual activity in a public space.</td></tr></table><p>They brought in another virtual queue provider this year and the only place I really saw it used was for the Moonlight Festival. Their provider, <em>Waitwhile</em>, had some sort of iframe integration with the MyFWA site and it took 90 minutes of active attention to try to get a spot reserved. The provider had downtime at the critical moment, giving 429 responses every 15 seconds.</p><p><strong>I should not have to spend more time virtually in line than I would on site.</strong></p><blockquote><strong>Furry Weekend Atlanta: Nowhere Inn Between | May 7-10, 2026:</strong><br/>Hey Y&#39;all!<br/><br/>We&#39;re very sorry for the challenges today with the Moonlight tickets - Our ticket platform experienced challenges with the load. They have enabled slow mode, so tickets are being issued, just slower then anticipated. Once you get your confirmation, you&#39;re good to go! <a href="https://bsky.app/profile/furryweekend.com/post/3mjkiyyg6bt2j">source</a></blockquote><p></p><blockquote><strong>Cendyne:</strong><br/>How will they fair on site for dealers den or other virtual queued events? I can&#39;t spend 90 minutes again looking at my screen to get in a virtual line when I should be focused on my friends <a href="https://bsky.app/profile/cendyne.dev/post/3mjkliwwdyc2q">source</a></blockquote><p>Compared to the hotels, it was even more stressful, and that&#39;s with the hotel event booking provider (typically Passkey — not to be confused with the WebAuthn one) losing room SKU inventory by the second.</p><p>Anyway, I firmly believe that a single $5 VPS with a Rust process and SQLite can do better than whatever provider FWA chose this year. <strong>FWA needs to start investing in its own technology infrastructure beyond registration.</strong></p><h2>Getting on-site</h2><p>The main entrance from the MARTA to the Peachtree Center was under construction the whole time. It sure would be nice if socials acknowledged that and provided just-in-time maps and guides on Wednesday afternoon, Thursday morning, and Friday morning for attendees that were coming in.</p><p>I ended up getting ushered by one of the construction guys through an elevator that they were using for parts. He wanted two dollars for helping and I happened to have two dollars.</p><h2>The Schedule site</h2><p>Oh boy, another year another schedule provider! With a different app and everything that I really don&#39;t want to download!!!!</p><p><a href="https://builder.guidebook.com/g/#/guides/furryweekend2026/schedule/sessions?scheduleDayPosition=2026-05-10&amp;scheduleIndexInDayPosition=0" target="_blank">The site by <em>Guidebook</em> was unusable.</a> When I view an event and then go back (<em>on mobile</em>), <strong>I&#39;m reset to the BEGINNING of the schedule</strong>. Imagine scrolling down 80-screens worth ten times just to see what&#39;s on Saturday. For attendees using older mobile devices, the schedule wouldn&#39;t even render off screen. It likely used an intersection observer to only fill out html content when it is near the viewport, which is fine for infinite feeds as long as you have a large 3+ viewport buffer in both directions. Instead, I saw a friend with a 2017 Samsung galaxy absolutely suffer in viewing the schedule. Scroll, blank screen, wait ten seconds, get content, scroll again, … repeat.</p><p><img src="https://cendyne.dev/c/t3OWBIjS?width=645" alt="A screenshot of a mobile application interface showing event details on a light beige background. The text under the DETAILS header lists the start time as May 10th, 2026 at 10:00 pm and the end time as May 11th, 2026 at 2:00 am, with the location specified as Marriott Marquis - Marquis Stage. Below this text is a black button labeled Add to my schedule with a plus icon, next to a white button with a download arrow. At the bottom, under the SHARE heading, are circular icons for Facebook, Twitter, and LinkedIn." width="645" height="623" /></p><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/pondering" alt="cendyne pondering" width="128" height="128" /></p></td><td>I wouldn&#39;t share furry events on LinkedIn, but that&#39;s just me. At least they had an iCal download button.</td></tr></table><p><a href="https://schedule.fursquared.com/schedule/f2-2026" target="_blank">My schedule site for FurSquared</a> works fine on that aged phone. The way I let folks view events meant the page&#39;s scroll position is preserved. No suffering needed.</p><p>Because of the schedule&#39;s terrible UX, I took screenshots and scheduled messages to myself for the events I wanted to attend. Unfortunately for some I had them scheduled at the wrong day… So I missed a few meetups that were very relevant to me.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/shiny-pokemon-card-lugia" alt="cendyne shiny-pokemon-card-lugia" width="128" height="128" /></p></td><td>I missed out on the Pokémon meetup because of how bad the schedule&#39;s UX was. I only noticed the iCal download button <strong>after</strong> the convention. Oh well.</td></tr></table><h2>Registration</h2><p>Good things! This time they had convention registration in another building with an appropriate amount of operating and queue space! The Courtland Grand Hotel (this hotel rooms are cursed) had its basement floor properly stationed, had the general and sponsor plus queues separate, and they had enough staff to check everyone in!</p><p><img src="https://cendyne.dev/c/gLldDxKG?width=645" alt="FWA Member Registration. The image displays a map on the left showing the locations of the Hyatt, Marriott, Hilton, and Courtland hotels near streets like Baker St and Courtland St NE. To the right, large text announces, 2026 Registration is at the Courtland Grand hotel, followed by a note that Accessibility Registration is available at Courtland Grand and Marriott Marquis. The bottom section lists the 2026 Hours of Operation: Thursday 12:00 PM (Noon) - 11:00 PM, Friday 10:00 AM - 10:00 PM, Saturday 10:00 AM - 8:00 PM, and Sunday 10:00 AM - 5:00 PM." width="645" height="393" /></p><p>Cheers to the FWA team for sending this info ahead of the convention!</p><p>Within the room were — I&#39;m guessing — forty staff on duty with micro-queues (2-4 people) in front of each staff member, based on the tape that was on the floor. However, the tape separating the pool area where attendees self-assign to a queue was solid, which made it feel like attendees should go to the very end to the support desk and wind back up along the other side to a micro-queue instead of crossing the solid line.</p><p>I&#39;d recommend tape with alternating clear and colored tape or lots of signs saying &quot;IF YOU SEE A SPOT JUST WALK TO IT&quot;.</p><p>Their scanners now support drivers license scanning (specifically the <a href="https://www.aamva.org/getmedia/99ac7057-0f4d-4461-b0a2-3a5532e1b35c/AAMVA-2020-DLID-Card-Design-Standard.pdf" target="_blank" title="AAMVA Card Design standard">AAMVA PDF-417</a> on the back), which eases the cognitive burden of locating the birth date on each ID. Photo check however isn&#39;t hard to figure out.</p><p>The problem? <strong>The line managers were too busy gabbing</strong> that they rarely opened the gates to re-supply the large pool of space inside where attendees self-select a micro queue. Registration staff were under-utilized while general attendees waited in line for no purpose.</p><h2>Swag</h2><p>Furry Weekend Atlanta calls this &quot;entitlements&quot;, which is a very database-centric-term while every other convention uses &quot;Swag&quot;. One attendee even loudly proclaimed &quot;I am now ENTITLED&quot; on the way out and other attendees commented they didn&#39;t know what that meant. The signage for where to go for swag was, <em>like last year,</em> <strong>NOT COMMUNICATED WELL</strong>, especially on Wednesday night. I had to return and ask where to go and rattle off on &quot;Yes yes I&#39;m already registered I just forgot my swag.&quot;</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/point-ohh" alt="cendyne point-ohh" width="128" height="128" /></p></td><td>The purple vested way-finders were definitely helpful for just-in-time clarity.</td></tr></table><p>The entitlements room was stationed off and at 5% utilization. Lots of walking through plastic chains to get to the front for a t-shirt, a toiletry bag, and a small towel.</p><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/in-a-tote-bag" alt="cendyne in-a-tote-bag" width="128" height="128" /></p></td><td>I think I lost the bag or someone took it from my room. It didn&#39;t make it back with me in my luggage.</td></tr></table><p>Given that there were multiple physical walls between the &quot;entitlements&quot; and registration, I think lit signs would make it easier to identify the instructions I needed in the moment in a very unfamiliar space.</p><p>Either way, it was better this year over last year. In 2025, FWA swag was located in a room around the corner not even listed on the convention map — on the &quot;international level&quot;, a floor not accessible by the central elevator. I had to go through the con store line to get clear instructions on where it was, which is why I&#39;ve highlighted my way-finder interaction as a positive.</p><h2>Dealers Den</h2><p>As a &quot;Silver Sponsor,&quot; I am &quot;entitled&quot; to perks like shorter lines. This came through in two places: Dealers Den and Moonlight Festival. Unlike the Moonlight Festival, Dealers Den is an ongoing daily event and unlike last year they did not use the virtual queue system for Dealers Den.</p><p>In 2025, their virtual queue deployment was so abysmal that I was unable to use my line-entitlements and attendees consistently were unable to get in line by their queue time because the elevators were so unreliable (in terms of timing). I was greatly disappointed in the experience and it made me question if I got my worth out of my registration purchase that year. Eventually they appeared to give up and people had to queue in the cramped space in the Hyatt.</p><p>This year, the venue was different. Like Dragoncon, which boasts an attendance of 75,000 (over four times FWA), they had the AmericasMart building floor reserved. It was a sufficient space and rivaled Midwest FurFest&#39;s vendor space. That said, they tucked in Artist Alley in the literal corner with less space than last year.</p><p><img src="https://cendyne.dev/c/Fag7f5br?width=645" alt="A map of the vendor hall at FWA" width="645" height="551" /></p><p>A few nitpicks, this map does not show where the queue space is for attendees and where sponsors entered, which was near table A1. There is no legend on this map to define the difference between the orange tables from the 70&#39;s green color. And for some reason they&#39;re serving half-a-megabyte PNGs of content that was clearly done in a vector program.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/melting" alt="cendyne melting" width="128" height="128" /></p></td><td>General attendees had to queue outside. If it were raining, some of them would be sheltered by the building&#39;s overhanging infrastructure.</td></tr></table><p>Like swag, I had to ask a way-finder where to go as a sponsor and I was lead through the exit door. On one hand I&#39;m glad they are using way-finders as an escape hatch for gaps on-site. Otherwise, I hope they realize they failed to properly communicate to their attendees critical information on how to use their entitlements. Again, a reoccurring theme with this convention. As a silver sponsor, I had no line and walked straight inside. However, the scanner was on the &quot;exit&quot; side and not the entrance side, making a two-door set-up even more confusing for folks coming in and leaving.</p><p>Sharing a vendor&#39;s perspective here: the last minute change to use AmericasMart was annoying. By changing the vending location, this vendor with physical mobility needs had to switch hotels and lose the first-night deposit in order to be close by. <em>It would have been nice if FWA&#39;s vendor team and hotel team proactively collaborated with their hotel partners to accommodate their vendors that need nearby access. However, I didn&#39;t catch if the original reservation was with a contracted hotel or not.</em></p><h2>Artist Alley</h2><p>Earlier I mentioned that Artist Alley had less space. I feel like I saw forty tables last year in the cramped basement room with an abysmal layout for full exploration. This time, there was twenty. For an artist that I had commissioned, we had difficulty meeting up because the tables were very contended for by the hour.</p><p>Like the prior year, each artist got half a table, so the quantity of artists was cut in half. It also felt like an after thought to Dealers Den. Artist Alley is typically where folks go for on-site commissioned artworks that are created and delivered during the convention, while Dealers Den is more focused on merchandise sales.</p><p></p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/shinji-cup" alt="cendyne shinji-cup" width="128" height="128" /></p></td><td>I think that Artist Alley was underserved this year.</td></tr></table><p>Otherwise, the typical rotation of folks that come and go made it fresh the times I walked by. However for normal attendees, I fear that a 1-2 hour wait just to enter a room to see if your artist is taking more slots today is not an equivalent exchange.</p><p>For general and daily attendees, I believe they ought to implement a virtual queue solution without commingling the sponsor cohort, since there were no lines in reality for them to wait in.</p><h2>Mature Dealers Den</h2><p>I visited once. Got a printed artwork. I think the quantity of vendors, the space, the lighting, access to water, the line to enter, <strong>everything was perfect for me.</strong> The only problem <em>others complained about</em> is how it wasn&#39;t adjacent to the existing dealers den.</p><p><img src="https://cendyne.dev/c/Z2W3mFE-?width=645" alt="A map of a vendor hall" width="645" height="392" /></p><p>There&#39;s a reason for this though. AmericasMart is apparently not a convention space. It is a retail space. (Or so I hear from a vendor that also staffs FurSquared.) That apparently means that other retailers in the same district or building can dictate what can and cannot be sold in that space like an Homeowners Association. It was not possible to also have mature dealers den within the AmericasMart space.</p><p>As someone that is deeply involved in planning and operating a furry convention (of a smaller scale), I empathize with the organizers on the decision to keep them separate.</p><p>Oh, and the map shouldn&#39;t be half a megabyte. <strong><em>Internet in a congested space is really bad</em></strong> and serving over a megabyte of content for maps is less than ideal. Serve SVGs.</p><h2>Elevators</h2><p>BETTER. They were better! Even with nearly the same amount of people, they were better!</p><p></p><p><img src="https://cendyne.dev/s/512/cendyne/party-popper" alt="cendyne party-popper" width="128" height="128" /></p><p>But still, I have some things to say, which come down to FWA being able to convince the venues to work with them.</p><p>The Marriott had people from some convention contracting crew actively rate limiting escalators, managing fairness of lines in front of elevators, and for the primary elevator bank they owned the buttons. They also had this in the Hilton.</p><p>The difference was... The Marriot did not give authority to the contractors, so the elevators would stop, open WHILE FULL, and close again on every floor. While these people could enforce more fairness like &quot;Don&#39;t go up to go down&quot;, they were unable to efficiently operate the elevators.</p><p>In the Hilton, during their operating hours, the call buttons were disabled. Instead they&#39;d actively check their allocated ranges while going down while accepting anyone going up.</p><p>The only improvement I could recommend is pre-grouping people in front of doors depending on which bank of floors they&#39;ll go to.</p><p>I thoroughly enjoyed one contractor&#39;s response of &quot;I wasn&#39;t born yesterday. I was born in 1952.&quot; when a <em>femboy protogen</em> was obviously going up to go down and tried to force his way into the elevator at the Hilton.</p><p><strong>The only pleasant elevator experiences I had at the Marriott was when</strong> a security or bell hopper with <em>actual</em> keys to drive <strong>the elevator manually controlled going up and down without stopping unnecessarily on floors.</strong> I truly wish the Marriott could be convinced to either change the operating mode to sense the weight and therefore not accept calls when the call cannot be fulfilled, and to give these operators authority on driving which floors are visited.</p><p>Last year, FWA boasted about convincing the Marriott to change the operating algorithm and that was not rendered when we were on site. <strong>Please convince the Marriott to let CSC drive the elevators. It worked in the Hilton!</strong></p><h2>The Contractors</h2><p>10/10. This yellow shirted <a href="https://csc-usa.com/home" target="_blank"><strong>Contemporary Services Corporation (CSC)</strong></a><strong> are professional, respectful, and in every interaction I&#39;ve had with them, overall pleasant people</strong>. I saw their event coordinator a few times and she was dutifully involved throughout the event and very respectful and kind to the people she interacted with.</p><p>My only feedback is towards the convention. When requesting a service like &quot;Don&#39;t let people down these doors&quot;, please share context! Attendees will ask and they won&#39;t have answers.</p><h2>The Tenth Floor</h2><p>Every elevator bank stops at the 10th floor with a fair amount of space and even electrical outlets. In prior years, they&#39;d move all of the round couches up to the 10th floor to maximize the lounging space. However, this means that for people that need accessibility in the form of occasional rest, <strong>there is no seating in the rest of the hotel</strong>.</p><p>In addition to the extra seating, they added LOTS of tables and plenty of chairs! More than the prior year. It worked very well. Lots of art collaboration, hanging, &quot;kandi&quot; bracelet making, even some beyblade.</p><p><img src="https://cendyne.dev/c/BtSRTchf?width=645" alt="Beyblades in action" width="645" height="362" /></p><p><em>That said, the couches were truly the most uncomfortable pieces of furniture one could lounge on.</em></p><h2>The Moonlight Festival</h2><p>Last year, I could not attend despite having a virtual queue slot because the line management was so terrible. They made the sky bridge impossible to use for a while, then re-routed people out into the rain. They did better this year.</p><p>They had a properly sized queue area on the &quot;International Level&quot; — which isn&#39;t available through the central elevator bank. You had to either go down the escalators (broken), or the stairs on the Mezzanine level. <strong>The signs for where to go were covered up by people standing around.</strong> To even know you had to be on the Mezzanine level, you would have to ask people because their public communications people POSTED THE WRONG INSTRUCTIONS.</p><p><strong>The official video was recorded ON THE ATRIUM FLOOR TWO LEVELS ABOVE.</strong> <em>It was never corrected.</em></p><p><img src="https://cendyne.dev/c/8jgkeFPP?width=645" alt="Incorrect instructions on the atrium level pointing to the stairs" width="645" height="1146" /></p><p>Instead a CSC person was posted at those doors saying &quot;Sorry, you can&#39;t go. I don&#39;t know where you need to go.&quot;</p><p>Apart from the virtual queue signup being a disaster, the amount of people bucketed to each time slot was <strong><em>almost</em></strong> appropriately portioned. The amount of people that could comfortably fit in that area was around 500-800 people. And, I was able to use my &quot;entitlements&quot; to get to the person scanning QR codes without having to wait in the line at my scheduled time.</p><p>However, the QR code in my email didn&#39;t work. Folks had to click &quot;Manage booking&quot; to see the QR code the scanning person wanted to scan. Don&#39;t use Waitwhile again. It worked but gosh this was stupid.</p><p>Unfortunately, while the ballroom had ventilation, the pipe-and-draped area outside where &quot;demonstrations&quot;, bar tenders, and vendors were not ventilated. It was muggy and terribly crowded.</p><p>Unlike two years ago where <strong>the water fountains were broken and put out scalding hot water</strong> (HOW???), none of the water dispensers were getting serviced, and the bartenders refused to give water but WOULD give a cup of ice after waiting in line for 15 minutes... They actually had two palettes of water bottles that anyone could grab. <em>Two years ago, I had to drink water out of the restroom sink from an empty cup I found.</em></p><p></p><p><img src="https://cendyne.dev/s/512/cendyne/bad-time" alt="cendyne bad-time" width="128" height="128" /></p><p>According to one of the event organizers, that was a concession the hotel gave as a result of ruining things so badly two years ago.</p><p>One of the vendors selling obviously not mature (and not even furry) merchandise had an AI generated backdrop too. Not a great look for a furry convention.</p><p>In terms of practical feedback, <strong>the short outside-ballroom vendor area needed another two feet of space for walking between.</strong> No one with accessibility needs could get through there. Arrows and signage saying entrance and exit would have helped with the cross traffic making the strip of area with it&#39;s congestion.</p><p>Overall, due to overcrowding, I feel the Moonlight Festival was not accessible to those with mobility needs. The Marriott might not be the appropriate space to host this in the future.</p><h2>Food</h2><p>So this isn&#39;t in FWA&#39;s control at all. But I think we&#39;re being price gouged tremendously by every location in the Peachtree center. <strong>Every option is more expensive than food at the airport</strong> — which has been criticized for price gouging since I&#39;ve been born. It was acceptable three years ago. Less comfortable two years ago. Last and this year, it is absurd.</p><h2>Meetups</h2><p>Several meetups were held and the ones I did attend had enough space! Years ago, they tried to put 600 people into a room that fit 80. Last year, they tried to put 700 people into a room that fit 200. This year they allowed 700 people into a room that fit 800.</p><h2>The VR Meetup</h2><p>The meeting up part was okay. Rather crowded which meant that many people avoided going, but there was a photo shoot.</p><p>Except the photo shoot was poorly communicated. &quot;The side with the windows&quot; (no windows to be seen, they&#39;re covered in drapes) &quot;Uh, the side away from the doors&quot;, ah that works. &quot;Look towards the camera!&quot; Where is the camera? &quot;Look away from the stage&quot; Alright and where&#39;s the camera? &quot;Look at the lift!&quot; Hands and signs are in the way!</p><p>&quot;Put down your signs!&quot; That&#39;s nice, now I can see where the camera is.. and... arms are up in the way. I&#39;m not in the picture now because MULTIPLE PEOPLE couldn&#39;t respect their peers behind them.</p><h2>The pool toy room</h2><p>This was rather cool! It was off in another hotel, but it was nice. Two floors above registration they had a bag check, a place for shoes, and lots of cool stuff to chill with. The dark room aesthetic with ongoing mixed music was nicer and more relaxing. Last year it was a bunch of bright lights and someone with a boom box in the corner, I think.</p><h2>Overall thoughts</h2><p>Last year it really felt like things were breaking at the seams. That growth had pushed FWA beyond its ability to service a comfortable and lovely experience. I think we&#39;ve returned to a more acceptable target at practically the same quantity of attendees. It helps that there is more hotel, more event space, and even shuttles (though I had not tried them).</p><p>The way-finders were effective and need to stay.</p><p>In terms of things purely within FWA&#39;s control, they can improve on their technology, their online and on-site communications, and give Artist Alley the space it deserves at this scale.</p><p>Many of my friends refused to attend because of how bad it was last year. I think the negatives that pushed them away have mostly been mitigated. If it grows to 20,000 next year, I think they deserve it. But they&#39;ll break in some other way I expect.</p><table width="100%" border="0"><tr><td width="30%"><p><img src="https://cendyne.dev/s/128/cendyne/snake-in-tea" alt="cendyne snake-in-tea" width="128" height="128" /></p></td><td>Also, I got to attend three tea parties, so that was pretty nice.</td></tr></table><p>And for the first time, I got to be in some roommate art!</p><p><img src="https://cendyne.dev/c/jYi5f5Mb?width=645" alt="Cendyne, Phase Noise, and Inconspicuous in the corporate Memphis style." width="645" height="498" /></p><p></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>