Just before the American gridiron football season started, I hit up a bunch of old hacker buddies of mine and made a proposition:
Let’s make an LLM powered Fantasy Football league. No human decision allowed - every choice over the season must be made by a model. For fun, we set up some ground rules:
1. Each manager picks a model and uses it for the season. 2. Everything around the model is fair game. Prompt engineering, agents, RAG, fine tuning, LoRAs - only requirement is the inference source must be the model the manager picked. 3. The model makes every judgment - input and output tokens must be shared with the rest of the league for each week. 4. If your model is really bad, you can beg for mercy from the rest of the league. A grand jury of three managers selected at random will decide on the appropriate punishment for your model switch.
My friends Brent, Carter, Dominik, Ricky, Greg, Brian, Kevin and Swift were all enthusiastically in and we had an absolute blast. The first draft for the league was for model selection. For order of selection, we each took this quick machine learning quiz and used the scores to establish who could pick a model first. Highest scores get the pick of the best models with some highly surprising picks early on.
I suspect that was due to the way the draft order for the players was derived. Once the managers had their models, we used the scores on Artificial Analysis for Humanity’s Last Exam to assign the draft order in ascending order. This meant that the less capable models ended up having better talent preference.
Of the many things we all learned about applying AI to a complex and rapidly changing problem, these are prob my top three:
Speed was key.
We set up the league with full platform defaults, including the 2 minute time limit per draft pick. I was tempted to lower this because I thought the models would be way faster than that. I was so wrong here - it lead to several tragic autopicks and harried player search.
Tool use was more important than parameter count.
Greg was gracious enough to set up an MCP server for the league ahead of the event so that each manager could easily pull the data on the draft from the fantasy platform we used. How well each model did interfacing with that MCP server was *wildly* variant. Brian who chose last and ended up with gpt-oss ended up putting together an absolute wagon of a team because it was 1) fast and 2) always leaned on the tools it was given.
The agents got worked.
Me and a few others thought for sure that building a suite of agents all responsible for discrete decision making on the draft would be an unfair advantage. In truth, OpenAI Agent, Claude Code and just Cursor worked better than everything we built. This is a space we def need to explore as we develop our stacks over the course of the season.
All in - can AI play fantasy football? I think our answer is “we’ll find out.” We have had a promising start to the season but we’re already getting some comic errors happening with trades.
If you want to check out our league and roast the AI drafts, we have it up here.
We’re also throwing some of the banter up on YouTube over the season.
There was a day, past the dawn of modernity but before the dusk of the electron, when dusty haired miscreants gathered around glowing tubes, spinning dials to tune into the tales of tricks they could never turn. Stuffed under pillows, hidden under covers and only as loud as they could dare, some person beamed a story told through song that they conceived for an audience they couldn’t measure and could only hear one voice at a time, over a telephone.
Some lonely person impossibly far away on the late, late shift was slinging records that maybe a dozen people in their listening audience cared to hear. You have to be a certain age to have the experience of learning the personality of a disc jockey, for that time has thoroughly, perhaps blessfully, expired. You would tune in on the regular, learning through the timbre of the patter and the rhythm of the beat selection who the mysterious man on that radio was. Rolling in the lower-mid spectrum offered by amplitude modulation was the only DJ I thought my Biblebelt upbringing would levy permissible.
He spun what he called the “Goldie oldies” and truthfully his name escapes me. Like the best on-air personalities, his was demonstrated through the three hours of music he spun each week. They would be a combination of the doo-wop hits that filled civic auditoriums two generations before I was born and the sometimes tragic imitations that passed on the late 80’s Billboard. I was 9, maybe 10, petrified of being discovered listening to rock and roll. I’d duck out of Full House early and before America’s Funniest Home Videos to catch the first hour, because that hour is when he did his best work.
Out of the single shift he had a week, the opening 60 minutes was when he did the Lord’s work. On a dial filled with hair metal and Debbie Gibson on one end and Merle Haggard and racism on the other, he was the only person on all of Tesla’s invention in this corner of Kansas who wanted to make people boogie out of their britches. That first hour he did his damnedest to get people out of their seats and out of the minds they inhabited Monday through Saturday. He was aiming to remind people there was a heart in Nashville, a soul in Detroit and a mind to get you dancing naughty with whats-her-name at the sock hop in the VFW hall. It was Beach Boys and Chuck Berry, The Valiants and The Del-Vikings, and everybody that wasn’t the fucking Beatles.
His first hour was a manifesto - he was trying to declare that what you knew about rock and roll was wrong and that he was right. Led Zeppelin wasn’t the groove you were supposed to hear first. Elvis Presley didn’t write “Blue Suede Shoes.” Columbus didn’t discover America. What you knew about the music and the country you loved was a lie and before the grandmothers tuned in after bingo he wanted to make sure you knew that. He’d shamelessly shout that Dick Dale was louder than Eddie Van Halen and the baritone from The Platters could break a plate on Jim Morrison’s trachea. He made the case at 45 revolutions per minute that you better listen for 120 minutes more.
Maybe listening to those shows every week was why I started working on the Internet. The romantic notion that some kid, somewhere adjusts his or her path by virtue of a well placed needle gliding over a plane. Isn’t that the ambition of every programmer? Maybe, just maybe, this line of code I write will end up impacting someone in Pakistan the way a Sun single shook me at the same age. Will she end up in a similar place twenty years later? Isn’t that possibility worth making sure that line is right?
The reason I cut code on this Internet is because I want to shake you the same way I shook hiding a radio under my sheets. If you are a developer right now, you are the DJ for the generation that follows you. If we can place the same consideration and care into the bits we put over the wire as that unnamed, influential record slinger I remember, the tradition will live past the medium that bore us.
Thanks for listening to me on the radio we make together.
Coming out of the heaviest season of our collective post-modernity, I’m a few bands are continuously spinning as winter reluctantly loosens its grip on New York. For your consideration.
Good Luck - Into Lake Griffy Fairly technical Telecaster-driven indie from Indiana. Songwriting puts me in the mind of John K. Samson or John Darnielle with some challenging and catchy riffs. Frontman duties are split between the male guitarist and female bass player - both have served as my hardcore jam in recent month.
The Riot Before - Fists Buried In Pockets Post-punkers from Richmond, VA, The Riot Before’s masterpiece is their concept record released on little known skate label Say-10. A healthy dose of hot-rod Americana and twang slips into the thoroughly morose lyrics making Lucero and Mike Ness fans feel at home. Front to back, a sorrowful, welcome record.
Iron Chic - The Constant One An unapologetic fat and old quintet of Long Islanders were in their mother’s garage one weekend, said, “Fuck it - we’re making every song a singalong anthem” and have been chucking shell after shell of 4/4 crowd pleasers into every Bushwick scofflaw dive feeling like getting a visit from the Fire Marshal. Their latest is meant to be screamed at the top of your lungs while nuts-to-butts to every punk who rides the L train.
Various Artists - The Music of Tony Sly With the untimely passing No Use for a Name’s prolific principal, Fat Mike put together a benefit LP for the surviving family peppered with plenty of hits and some epic misses. A fair cross-section of Sly’s early, late and solo work, the arrangements of these tunes improve with repeated listening. Pennywise and Strung Out offer straight forward interpretations, Karine Denike and Old Man Markley offer imaginative spins of familiar tales. As a whole container of the man’s work it is marred by some horrific misses (ahem Simple Plan, Mad Caddies), but remains a fitting tribute to one of my favorite songwriters.
OK Go and Bonerama - You’re Not Alone With the recent release of their latest one-take tour de YouTube force, I’ve gravitated this week back to an underappreciated Katrina benefit that paired the inveterate hipsters of OK Go with the soul-tugging brass of the Big Easy’s Bonerama. All the tracks merit multiple spins, however none so captures the soul like their cover of Dylan’s “I Shall Be Released.” Overlooked, and overwhelming.
Joey Cape and Jon Snodgrass - Liverbirds Another in a series of Fat Wreck alum acoustic splits, Drag the River’s Jon Snodgrass pairs some discarded b-sides with solemn arrangements of hits. Paired with the duo’s acoustic cuts of classic Lagwagon material, makes for a country record no one should be ashamed of celebrating.
Sally Ride - Ventura My full disclosure that the songwriter is a close friend doesn’t discount a thoroughly summer swing with Sally Ride’s latest. Budget Kansas City indie rocker C. Howie Howard again flits between pop and nigh-inaccessible shoegaze with a little help from a cast of longtime collaborators. Lot here resonates with the Midwestern heart - mellow and yearning for something more. http://sallyride.bandcamp.com/
Off With Their Heads - Home Similarly themed is Ryan Young’s finest work yet with the challenging concept Home. Masterfully minded by The Descendents’ Bill Stevenson, the producer pulls the songwriting potential we’ve always imagined from Off With Their Heads and finally gets in on wax in a way I think we all suspected, but never saw. Young’s vocals are definitely polarizing - you’ll love it or you’ll hate it, much like the character he presents struggling with where he was raised.
Superchunk / Guided By Voices Split This winter I’ve been hunting down a number of rare import splits, the finest gem of that journey so far being a 1996 Australian EP release pairing Superchunk with Guided By Voices. In the 80’s and 90’s, EP splits were the primary marketing instrument of the music industry’s Wild West resulting in so many eerily fitting pairings that would never occurred in the Western World. Lots to love in these brief 16 minutes, including a lo-fi cut of “The Key Losers.”
A member of my family reminded me today of a piece I wrote a few years back on loss. While today is a different anniversary, the memory is fitting and merits a repost here.
—
Even four years later, there will still be occasions that feel like a magnum slug. Happening in unexpected places at inconvenient times, all the glorious, momumental, completely insignificant bullshit that’s constituted the life between that day and this will give way to the reality that she’s never coming back. A dream about her singing in a car A call announcing the award of her memorial scholarship. The memory of my girlfriend handing me the phone.
Those occasions aside, the death of my sister has become my daily dull ache. It becomes an everyday thing. It becomes routine.
Living with loss is difficult to describe to the fortunately uninitiated. Like a severed limb or snapped back, the doctors don’t tell you it’ll eventually hurt less. “With time,” they couch their prognosis, “you’ll learn to live with it.” They talk about stages of grief and steps to recovery, offering hollow affirmations and life plan suggestions the whole sum of which are as empty as the rain forest dirt napped to print them. The thing they don’t tell you is that there aren’t any stages, really. The sick truth is you’ll keep living while they’re gone and eventually the prescriptions run out.
It never numbs or lightens or goes away. It just becomes familiar.
Familiar enough that you can function not normally, but nominally; you can make the systems go. Of the pageants and rituals of the human experience, eventually only two remain a struggle. Funerals, even with their immediate comparisons and reminders, are the easier of the pair. Inevitably, those closest to you lose those closest to them, compelling your participation in the disgusting, macabre customs that follows.
Funerals, in a sense, are easy. You already know what to do. And in your consolation, you know intimately the three days of frozen hell the departed’s family has seen. You’ve met with the priest. You’ve collected the blood-stained belongings from the coroner. You’ve picked the casket. When the time comes to hug that neck or shake that hand, your eyes say, “I know, man.” You can provide the empathy hopefully few in that chapel can.
Unexpectedly, the weddings are the hardest. That was something that wasn’t in the manual. The weddings should’ve been the escape, one would think. When done well, they are the furthest thing from tragedy in the American Dream; rare, pure afternoons of celebratory bliss where the mortal weights can be surrendered. They are good music and picture-perfect bridal parties, flower girls and fully inebriated dancing.
But it’s also knowing – not thinking, but knowing – it is the one thing my mother will never, never have. The walk down the aisle, the mouthful of cake and the dress immaculate, she’s never going to see. Sure, if I con some foolish woman into wearing my hardware my mother might get a wedding, and she’ll be proud. But that’s going to be someone else’s daughter on that altar. Someone else’s mother bawling next to her. I can dress up like Elvis or get her Celine Dion tickets or pull her in a rickshaw up Mount Everest, but I’ll never be able to give her the most precious moment in her daughter’s life.
That is not going to happen. And that is not fair.
Every wedding and funeral is a reminder of that loss. But, in carrying this weight, they are also an obligation. An obligation in the case of the latter to pass that empathy on after it was passed on to me. An obligation in the case of the former by virtue of the full knowledge of its preciousness. None know the importance of those days like those who lost those beloved.
Until it’s my turn to be mourned, I’ll keep going to every funeral and wedding I can. And, from someone who knows, so should you.
Sometime during the summer of 2009, I think, a Boxee user reached out over email to report a problem with a feed for one of the apps I created. I can’t recall the problem or find the original email, but that user and I talked for a few minutes nearly every other week for the next five years.
Sometimes Gavin would share a link to something going on in the Smart TV space or a particular video he thought was funny. Sometimes he would share his frustration with a particular bug or celebrate a Yankee misfortune. These IM conversations would usually only last a few minutes, but over the years it became a regular part of the background of my progression as a creator. “Oh, this is totally a Gavin feature,” I’d think while adding pitch data popups to the MLB.tv app.
He added a personal, human consideration to the wide scope of calculation every programmer sums in the creation of software. Gavin shared his experience with the stuff I built from when they were fun weekend projects to building a consultancy practice around Smart TV to joining Boxee full time and launching the Box to well after I left and support for the device ended.
This weekend Gavin - whom I still haven’t met in person - let me know he switched his media center, meaning my work won’t be occupying the space under his television for the first time in a long while.
I wanted to share it as it was an incredibly kind note and a reminder of how our work as developers can endure.
from: Gavin to: Rob date: Sat, Apr 19, 2014 at 5:52 PM subject: Sad day….
Thanks for creating something awesome…. It’s still up there with the best, but it was time to let it go. Replaced it with an Amazon Fire TV running xbmc.
We’ll keep in touch on to the next journey..
My reply:
from: Rob to: Gavin date: Sat, Apr 19, 2014 at 6:29 PM subject: Re: Sad day….
Thank you so much for sharing your journey with this thing I worked on with me. I am dead serious - I have never gotten the kind of perspective on anything I’ve worked on like what you’ve provided these past five years.
Thanks for the occasional IMs, emails and links you’ve sent while you used Boxee going from the desktop software to the device you’re saying goodbye to today. I learned a whole lot about what matters in building a product people care about.
I really hope I build something else that is this important to you.
Hope you won’t mind if I share this story on my blog without your name.
After days that drug on like weeks filled with hours passed like heartbeats, you tell a barely-conversational cabbie at JFK you’re headed to Brooklyn. And then - only then - do you breathe easy.
He shoots onto the Van Wyck on ramp with the same familiar rush you feel at 8am when you get off at your subway stop. Like shot out of a barely open door at Union Square or 42nd Street or Broadway-Lafayette or wherever it is the miracle of a life in New York takes you on a gainfully employed day, his lead-laden boot swaps as suddenly between the gas and the brake as your heart from soaring to despair in the weeks since you left New York.
Those two weeks were packed with wonder. Thousands of kids showing their ingenuity and discipline in wayward American corners like Philadelphia and Ann Arbor. The heartstopping kick of a sonogram on a Macbook screen. The steely acknowledgement of a veteran soldier freeing another 13 year old from certain slavery. The confident swagger of a ten gallon clad cowpoke who just squared off against Silicon Valley and won handily. The reunion of a half dozen comrades who had their careers cooked in a crazy crucible some six years earlier now each leading the best teams of their careers, producing the finest work of their lives. The whistle sounding the final cement on the foundation of a crew that have taken their own command of their destiny. The choke of a grown man who just discovered just how important his enterprise could be in this world. And laughter - near endless - shared by the unlikeliest collection of humans yet assembled, whose community was not so much born but bred, not so much intended but necessary.
The peaks and valleys of those weeks you were away were as high as the skyline across the East River and as low as the tunnels bored underneath it. You’re southbound on the BQE mere minutes from home with Manhattan laid bare before you and then - again, only then - are you home.
Not when you drop your bags at the top of the stair of your steep-ass walkup. Not when you tug loose the mail crammed into your turn-key box. Not when you pour a glass of whiskey. Not when you let your self fall open-armed into your still-unmade bed.
You’re home when you look New York dead in her face and she looks back at you. And she smiles, so slightly, acknowledging your return and reminding you with her twinkle that no matter where on this Earth you go and no matter how great the works you do out there are, she’ll always be here. And there will always be more you can do.
No matter where you go on this life like a rocket, you’ll never get too big for New York.
You smile back, but only for a moment, when you realize the cabbie missed your exit.
A couple of weeks ago, I was scheduled to take a trip from New York (JFK) to Los Angeles on JetBlue. Every year, my family goes on a one-week pilgrimage, where we put our work on hold and spend time visiting temples, praying, and spending time with family and friends. To my Jewish friends, I often…
After dumping a Sunday afternoon into getting Ubuntu to install on my Zotac GF9300-D-E with RAID enabled, I figured I’d post a quick how-to as extensive Googling never compelled a solution. A divergence from the usual pit farts on a snare drum that occupies this space, but I know others are going to run into this problem and the solution is awfully janky.
The Problem
After a hard drive dirt-napped in my Gonzee Box media center, I decided to replace the itsy bitsy single 1.5 terabyte drive with a 4 terabyte Barracuda stripe. As the Nvidia 9300 northbridge on the board sported a “hardware” RAID controller, I reckoned I’d just have to set up an array, plug in a USB install key and have that machine back to playing high def Robot Chicken re-runs in no time. However, my first go-round installing Ubuntu 12.04 (Precise Pangolin) on the array ended in fail.
Central problem is that Ubuntu 12.04 by default cannot install the Grub2 bootloader onto the array. Even after specifying the correct device (/dev/mapper/nvidia_asdfasdfasdf), the Ubuntu install fails every time. After a couple tries, the install program usually crashes, rendering the Ubuntu install failed. Error looks like:
Unable to install GRUB in /dev/mapper/nvidia_asdfasdf
Executing 'grub-install '/dev/mapper/nvidia_asdfasdf' failed.
This is a fatal error.
Bogus Answers
A number of answers found while Googling weren’t very current or useful workarounds. They usually recommended 1) installing the bootloader on a separate partition on a single disk, 2) using software raid to stripe the disks or 3) downgrading or upgrading from 12.04.
I want my media center to remain stable, so choosing the latest LTS release is a requirement. Additionally while this stripe will die with a single disk failure and the GeForce 3000 northbridge is really fake hardware RAID, there were a few monitoring advantages keeping this array on the BIOS as opposed to in software I wanted to preserve.
Ultimately, I found a solution that allowed me to use the Nvidia controller and still install Grub. It will work with whatever RAID level you specify.
Solution
I finally got to install Grub onto the Nvidia RAID array following these steps:
Download the Ubuntu 12.04 alternate desktop installer. This will include a couple packages that will recognize the RAID array and install the bootloader post-install.
Do not select custom partitioning - instead select the array (/dev/mapper/nvidia_asdfasdf) and install the default partitioning scheme with “Install Ubuntu on this disk”
Set the configuration options that follow as you like. Continue until the installer indicates it requires no more input and just starts copying the files.
When the bootloader install eventually fails (~70% through install process), select “Continue without installing bootloader” and click “Continue.”
Complete the installation.
On reboot, be sure to select to boot from the install USB key or CD.
Select “Recommended Repair (repairs most frequent problems) and follow each of the copy/paste instructions.
After BootRepair completes, reboot the host and remove the install key.
Enjoy Ubuntu on your Nvidia RAID controller!
Conclusions
The Boot Repair utility from Canonical can install the Grub bootloader to an Nvidia GeForce 3000 RAID array where the Ubuntu installer cannot. Though I have no tested on any other hardware than the Zotac board specified above, I strongly suspect this will work for a number of fake hardware RAID controllers out there.
Welcome your feedback at @dn0t or rob [at] thisdomain.com.