@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>, 2023 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/uncappedturtle">PayPal Me</a><span class="cate small">@UncappedTurtle 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 would like.</span></li>
                                <li><a class="d-block" href="https://cash.app/$ucturtle">Cash App</a><span class="cate small">if that is your preference.</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>
                                <li><a class="d-block" href="https://www.amazon.com/hz/wishlist/ls/ZLKL3MHKH4UU?ref_=wl_share">My Amazon Wish List</a><span class="cate small">Buy Me Something</span></li>
                                <li>My PO Box<br><span class="cate small">Paul Couture<br>PO Box 224<br>Benton, TN 37307</span></li>
                                <li><a class="d-block" href="https://paulcouture.com">PaulCouture.com</a><span class="cate small">I am open for projects</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
