140 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			140 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| @extends('layouts.master')
 | |
| 
 | |
| @section('page-title', 'Support and The History of the Art Generator')
 | |
| 
 | |
| @section('meta_description', 'Learn the history of the No Agenda Art Generator and how to support the generator.')
 | |
| 
 | |
| @section('page-top')
 | |
| <section class="inner-page-banner bg-2 bg-image">
 | |
|     <div class="container">
 | |
|         <div class="inner text-center">
 | |
|             <h1 class="title">Support & History</h1>
 | |
|             <nav class="mt-4">
 | |
|                 <ol class="breadcrumb justify-content-center">
 | |
|                     <li class="breadcrumb-item"><a href="/">Home</a></li>
 | |
|                     <li class="breadcrumb-item active">Explore</li>
 | |
|                 </ol>
 | |
|             </nav>
 | |
|         </div>
 | |
|     </div>
 | |
| </section>
 | |
| @endsection
 | |
| 
 | |
| @section('page-content')
 | |
| <section class="pt-120 pb-90 blog-details-wrapper">
 | |
|     <div class="container">
 | |
|         <div class="row">
 | |
|             <div class="col-xl-8 mb-6">
 | |
|                 <div class="blog-content">
 | |
|                     <h2 class="mb-2">History of the No Agenda Art Generator</h2>
 | |
|                     <ul class="meta">
 | |
|                         <li>19 Dec 2024</li>
 | |
|                         <li>Development</li>
 | |
|                         <li class="date"><i class="ri-time-line"></i>{{ Carbon\Carbon::create(2023, 12, 19, 22, 1, 9)->diffForHumans() }}</li>
 | |
|                     </ul>
 | |
|                     <p>In June of 2010, there was no formal process to submit artwork to
 | |
|                         the No Agenda Podcast for use as album artwork for each episode. At the same time,
 | |
|                         I was in the process of learning the then "new to me" Drupal 6 Content Management
 | |
|                         System. I realized that I could kill two birds with one stone by improving the process
 | |
|                         of uploading artwork, add some community and competition to the process and learn more
 | |
|                         about Drupal module development by building a simple tool that would allow anyone to
 | |
|                         submit artwork live as we trolled-along in the IRC "trollroom" as the show was recorded
 | |
|                         by our venerable hosts, Adam and John C.</p>
 | |
|                     <p>The first variation of the Art Generator was built over the course of a weekend, and
 | |
|                         as part of that development, I did my best to re-create the work of Sir Randy Asher and Sir Paul T.
 | |
|                         who had, up until that point, submitted the bulk of the user submitted artwork in the archive.
 | |
|                     </p>
 | |
|                     <p>For the next almost four years and roughly 4,500 art submissions, the generator continued
 | |
|                         in it's first interation with an abandonded upgrade to Drupal 7 somewhere in the duration as the Drupal
 | |
|                         community was more focused on writing "codes-of-conduct" than writing actual code.</p>
 | |
|                     <p>Around that time, many in the PHP community and myself
 | |
|                         became aware of an upcoming framework that seemed to offer a ton of promise - Laravel, and I chose to
 | |
|                         use the generator to become familiar with that new framework. In October 2014, the Art Generator was
 | |
|                         re-written from the ground up using the Laravel 4 platform which greatly simplified the maintenance and
 | |
|                         customization of the platform.
 | |
|                     </p>
 | |
|                     <p>In 2022, I started to run into minor issues due to the age of the codebase, support for older versions
 | |
|                         of the database and PHP were becoming deprecated, and tackling them would require a basic rewrite of
 | |
|                         the entire platform (seriously, the upgrade path from Laravel 4 to 5 suggests re-writing the application.)
 | |
|                         Laravel had matured, and became the most popular PHP framework on the Internet, upgrades between versions
 | |
|                         had become relatively painless and took a few minutes to a few hours. However, I procrastinated doing the re-write
 | |
|                         as I was already spending my days writing Laravel code and I put a lot of focus learning other technologies
 | |
|                         that would make the upgrade worthwhile.
 | |
|                     </p>
 | |
|                     <p>I began the re-write for the current interation of the Art Generator, in early 2023, working on small pieces
 | |
|                         on weekends as free-time allowed, the core functionality of the system is now powered by Laravel 10 and I used
 | |
|                         much of the development time to learn some of the new third-party add-ons that would improve developer's experience
 | |
|                         moving forward such as Laravel Live-Wire, Docker, Docker Compose, Traefik, Caddy and other technology. Development
 | |
|                         in earnest began in early summer of 2023 - a new design was developed using a new logo graciously provided by
 | |
|                         <a href="/artist/nykko-syme">Nykko Syme</a> and addressing some community requests for both dark and light mode support,
 | |
|                         easier to access download links for the artwork, and a much more streamlined codebase allowing for future development
 | |
|                         with less pain points. A bonus is the ability for me to run the entire stack in Docker making migrating to other hosting
 | |
|                         and development environments smoother.
 | |
|                     </p>
 | |
|                     <p>Toward the end of September, the host that had powered the Art Generator since 2010 emailed its customers and
 | |
|                         notified us they would be shutting down without warning. I took the time to migrate the database away from that host,
 | |
|                         and moved as much of the site off of them as possible while working as quickly as possible to finish the upgrade. Communicating
 | |
|                         with them, I was told to expect to continue to have hosting until my paid-in-advance hosting ran out, which would have
 | |
|                         been through May of 2024 - but on the morning of November 30, 2023, they disappeared without a trace, stopped answering
 | |
|                         the phone, and emails bounced. This lit a fire under my rear to complete the newest build as I was very close to complete.
 | |
|                     </p>
 | |
|                     <p>
 | |
|                         The latest version of the generator launched on Sunday, December 17<sup>th</sup>, 2024 to a rocky launch with "good-enough"
 | |
|                         functionality, it took a few days to stabilize the cacheing and hardware, but you are now viewing the "new hotness" or whatever
 | |
|                         the kids these days call it, powered by Laravel 10 in a docker powered container that can be migrated in minutes to other locations.
 | |
|                         It facilitates point-in-time backups, and as you will see below, makes it fairly simple for anyone to grab and entire archive of the
 | |
|                         artwork submitted to the site in an sane, organized manner. Here's some of the new features that really made the upgrade worth it:
 | |
|                     </p>
 | |
|                     <ul>
 | |
|                         <li>All artwork is optimized, sized, and scaled to the absolute smallest filesize while having the resolutions required by Apple (3,000px x 3,000px) and by the sane people in the world (512px x 512px) with none of the extraneous temporary files and unnecessary thumbnails of the old system.</li>
 | |
|                         <li>The artwork is organized by year, month, and date, with the artist's name and artwork title in the filename so offline use is easier.</li>
 | |
|                         <li>Even with the larger resolutions available for download, the size of the artwork archive was cut nearly in half from 30Gb+ to approx 15Gb.</li>
 | |
|                         <li>Artists get a lot more credit on the new version, it's easier to find their additional work, and get high quality downloads of that work.</li>
 | |
|                         <li>While not yet implemented in the production site, the new version was built from the ground up with support for more than one podcast. In the coming weeks, I hope to expand and turn that feature on for additional podcasts in the No Agenda Community.</li>
 | |
|                     </ul>
 | |
|                     <p>Want to download your own copy of the archive? Know wget and/or curl? There are lists in the sidebar you can download that are updated each time a piece
 | |
|                         of artwork is approved. I plan to make this easier for non-dudes/dudettes named Ben soon. In the meantime, enjoy your stay, note the v4v section, and be
 | |
|                         decent to one another.
 | |
|                     </p>
 | |
|                     <p class="text-right">--<br>"Sir" Paul Couture<br>Keeper of the Artwork</p>
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="col-xl-4 mb-6">
 | |
|                 <aside class="sidebar">
 | |
|                     <div class="single-widget recent-post mt-0">
 | |
|                         <h3 class="title">Support | Value4Value</h3>
 | |
|                         <div class="inner">
 | |
|                             <ul>
 | |
|                                 <li><a class="d-block" href="http://dvorak.org/NA">Support the Show</a><span class="cate small">First and Foremost, support our boys.</span></li>
 | |
|                                 <li><a class="d-block" href="https://paypal.me/caincouture">PayPal Me</a><span class="cate small">@CainCouture and buy me a coffee - or twelve.</span></li>
 | |
|                                 <li><a class="d-block" href="https://venmo.com/ucturtle">Venmo</a><span class="cate small">@ucturtle if you prefer.</span></li>
 | |
|                                 <li><a class="d-block" href="https://getalby.com/p/pcouture">V4V: ⚡pcouture@getalby.com</a><span class="cate small">Use the lightning network.</span></li>
 | |
|                                 <li><a class="d-block" href="https://static.noagendaartgenerator.com/assets/img/btc-naart-qr.png">Crypto: <i class="ri-btc-line"></i> Old School BTC</a><span class="cate small">bc1qvkm9fpycc8q99kudqwukd8cf8xgxdrhp6a5zl8</span></li>
 | |
|                             </ul>
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="single-widget recent-post mt-8">
 | |
|                         <h3 class="title">Download The Archive</h3>
 | |
|                         <div class="inner">
 | |
|                             <p>Choose one or both of the text lists below for a wget or curl formatted text list to download your own personal copy of the archive.</p>
 | |
|                             <ul>
 | |
|                                 <li><a class="d-block" href="/download-archive/hd">High-Resolution Archive List</a></li>
 | |
|                                 <li><a class="d-block" href="/download-archive/sd">Standard Resolution Archive List</a></li>
 | |
|                             </ul>
 | |
|                             <p class="mb-0 mt-4">I recommend the following:<br>
 | |
|                                 <span class="cate small">Replace "{filename-of-list.txt}" with the filename you downloaded.</span></p>
 | |
|                                 <hr>
 | |
|                             <pre><code>  wget \
 | |
|     --content-disposition \
 | |
|     --trust-server-names \
 | |
|     -i {filename-of-list.txt}</code></pre>
 | |
|                             <hr>
 | |
|                         </div>
 | |
|                     </div>
 | |
|                 </aside>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
| </section>
 | |
| @endsection
 |