Father of two sons. Software creator for the music publishing and licensing and parking/transportation industries. AI-enhanced search specialist.

Franklin, TN, USA
Joined April 2012
Agentic coding rocks. But if you limit yourself to just the coding aspects, you're missing out on so much. I have been going through every app over the last couple of months and adding oauth + mcp + cli. The early work that 37Signals did with Fizzy made the cli an obvious upgrade in the modern world. But I like mcp simply because the chats and bots like it. And that's been leading to some interesting places. One of the most interesting is to allow read-only access to production data. That leads to allowing everybody to see the data that you want them to see, but it also allows you to use Claude to fix things. I recently discovered some bad data in one of the apps, basically work ids (unique identifiers for songs, used when registering and paying royalties) that had been hand-entered and assigned to multiple different tracks. I pulled a CSV with a hand-written query (yes, I still do that) and told Claude to take a look and see what was up. He did. But then I asked Claude "would it help if you could pull data from ....?" and Claude answered in the affirmative. So, now it's self-feeding. Claude extended the mcp in the way that makes sense for diagnosing this particular issue, I pushed the code out, and Claude was able to work even better on this issue. Ultimately, I am making just about everything available via mcp and cli. I'm not sure how folks are going to use it yet, but definitely future development is going to make mcp and cli first-class interfaces, alongside web. We're in new territory, and really just exploring it. I've been writing software for almost 40 years now, and I've never been as excited as I am now.
4
15
560
"I didn't open the royalty statement in Excel and then save it out before loading it into your system. Why do you think that I did that?" Oh, a little birdy told me about it. SACEM Work # | 1.11235E+11 SACEM Work # | 1.11394E+11 SACEM Work # | 1.11454E+11
1
4
119
I had a *really* disturbing finding today. I am 58 years old. I have been using Unix for nearly 40 years now. I've been using Mac OS X and subsequent OSes for decades. I have a simple CSV file with royalties in it. It has been ingested in our system and had a certain work ID in it (basically, 8 alphanumeric characters). When I used grep to find it, it wasn't in there. But, when I opened the file in Numbers, I could command-F and find it. So, it was in there. I found out that the fact that the file is Windows-1252 and not UTF-8 makes grep silently crash out on the first high-character that's not proper UTF-8 encoding. I just found this out today. So, when I grepped the work ID, grep just silently crapped out on the second line. I originally thought it's not in the file. This is really, really bad. I can change the encoding to "C" to get around this. But it's really, really bad. Ugh.
3
8
423
Anybody else notice that so few people know the difference between "farther" and "further", and "further" is being used way, way too often and incorrectly?
4
5
189
Replying to @aviflombaum
@aviflombaum has been talking about dependencies lately, and it's something that's been bothering me as well. For a long time. I have multiple web apps that accept audio files from the internet. Accepting data from the internet at large is scary enough - actually processing that data safely requires strict checking of file formats. Years ago I wrote a Ruby module called "AudioTime" which handles that linting process, and as a bonus, tells you the playing duration of the valid audio file. Or, it tells you that it's invalid. It's *really* strict. Related to that, I often have to tag audio files. For mp3 and aif files, ID3v2 tags are the standard, particularly version 2.3. I've been using the taglib-ruby gem for years, and it's a thin wrapper around the excellent TagLib, which is written in C++. There are two issues here from my perspective. First, I'm feeding data to outside code. I've validated the format of that data, but it's still a potential pain point. Second, it's written in C++, meaning I have an outside dependency to handle at the OS level before I can build the Ruby gem. Which, by the way, has to be compiled. This all drags a ton of baggage in. I've wanted to write a pure Ruby replacement for a long time, at least for the part that I care about. I already have pure-Ruby code to surgically remove the id3 tags from mp3 and aif files. But not to actually write the id3 tagset. I asked Claude to do it for me on Friday evening, and it took him a couple of minutes. All I care about is writing one specific version. It's around 100 lines long. I wish I'd already done it. Anyway, 100 lines of code and I've completely removed a heavy dependency. I don't mind bringing in useful gems, but there are clearly enough reasons here to not bring this one in. Anyway, just another day in the modern software development world.
3
5
230
Another aspect of this is that ID3v2 version 2.3 is set in stone. I don’t need to worry about missing an update to the spec. It just makes sense to pull this in and simplify it.
22
xitter.cf/HillaryClinton/status/… It's actually comical that anybody would think Hillary Clinton is capable of having a conversation about AI. She's just regurgitating left-wing anti-AI talking points.
We're used to thinking of open-source models as an unadulterated good. But in the case of AI, they can actually pose additional dangers, as @ReidHoffman and I got into at #CGI2026. I appreciated this nuanced discussion.
1
6
277
I need a battery for my Neato D8 - the highest-rated on Amazon is at 3.4. It can't be that difficult to make a compound Li-ion battery that just works in 2026.
4
197
I follow people in diverse businesses, not just software. Part of this is simply because “software” exists only to support other businesses, anyway, so it’s good to see what folks are doing out there. I love the energy in this post. I’m going on a trip to my hometown soon, and looking at the accommodations I found that there are no independent options close, which is annoying. But I’m making “independent” a goal when I travel now. Yeah, I’ll be burned at some point. But that’s happened at the big names as well.
Deep down everyone knows Marriott and Hilton are no different than Walmart or Amazon. You shop there, but don't feel great about it. Americans traded consistency and convenience for culture and community. That new Fairfield Marriott? Out of state investors own it 3rd party asset manager maintains it 3rd party management company operates it 3rd party reservations cut commissions from it. It's a taxable building that adds nothing special to the community. Unless you get excited at the new Olive Garden nearby. I'm all in on independent hotels because chain hotels don't have a secret sauce. And every indie hotel we launch will be a testament to that fact.
1
6
348
xitter.cf/davepl1968/status/2099… I generally agree with Dave, but I'll argue that actual programmers will *always* have an advantage over pure "vibe coders", in the same way that we always have an advantage when new tools come out. I'm one-shotting an entire app right now, but there is no non-programmer on earth who could write the prompt that I wrote.
Right now, to be a decent vibe coder, you need to be a decent coder. And you have to know what you're doing before you do it. But it won't be so for long. And that's when Rick Rubin will start being relevant to software. Whether you love or hate Steve Jobs, this same pretension to exquisite taste served them both pretty well. Soon, you'll only need to know what it is you want to build and not much more. But that's when we discover that 90% of programmers lack the taste needed to make decent software. I'm not saying I do either — I'm good with system utilities, but wouldn't impose my entire UI aesthetic on anyone. I stay in my lane. Of course, I prefer my own taste. And I build to it alone. And when that overlaps with what people want, it seems to work pretty well. But at the end of the day, I'm still building what I want, for me, the way I want it. And sometimes, that will produce a nugget. If you want to see what I'm working on today, check out Task Manager TMOG at tmog.org
1
164
I asked Grok to make the most linked-in of all linked-in posts. Enjoy. I got fired. Then I got divorced. Then my co-founder stole the pitch deck. Then I slept in my 2006 Honda Civic for 11 nights. Then I cried in a bathroom stall at a WeWork in Austin while a guy named Chad practiced his TEDx talk on the other side of the door. Today I closed a $47 million Series B. I’m not sharing this to brag. I’m sharing this because my 6-year-old looked at me this morning, put her tiny hand on my Patagonia vest, and whispered: “Daddy… why do the other kids’ dads look so tired?” I almost broke. Then I took three back-to-back calls before her pancakes were ready. Here’s what 14 years, 3 failed startups, 2 near-bankruptcies, and one very expensive executive coach taught me: 1. Rejection is just redirection wearing a cheaper suit. 2. Your network is your net worth. (I used to think this was cringe. Then I raised $47M from people I met in comment sections.) 3. The best time to plant a tree was 20 years ago. The second best time is during your layoff. 4. Culture eats strategy for breakfast. Then culture does a cold plunge. Then culture posts about it. 5. Be so good they can’t ignore you. Then be so grateful they can’t unfollow you. 6. The obstacle is the way. Also the obstacle is a Series A that fell through on Christmas Eve. Also the obstacle is you, if we’re being honest. I used to be the intern who refilled the Keurig. Now I am the reason the Keurig has a dedicated Slack channel. I used to ask “Can I grab 15 minutes?” Now people ask me. Humbled. Grateful. Exhausted. Blessed. Building in public. Protecting my peace. Unlocking abundance. Staying curious. Staying dangerous. To every recruiter who passed. To every investor who said “too early.” To every teacher who wrote “talks too much” on my report card. To Chad in the WeWork bathroom: I hope your talk went well. This is not a victory lap. This is a reminder. Your worst day is just the opening scene of your keynote. If this resonated, drop a 🔥. If you’re in a Civic right now: keep going. The vest is waiting. #Grateful #Humbled #Mindset #Leadership #FounderJourney #FromCivicToSeriesB #TheObstacleIsTheWay #BuildInPublic #SundayThoughts #ButItsSaturday #LinkedIn #HireMeButAlsoDontBecauseImTheCEONow
4
1
1
11
458
xitter.cf/ClayTravis/status/2091… At some point, you have to understand that the WNBA is basically the WWE. They have actual wrestling matches at the WWE, and they're kind of interesting now and then (I can admire the athleticism), but the wrestling is just an excuse to get all the actors together to play out a soap opera that's geared toward men. WNBA basketball is on par with middle-school boys basketball. A few players - obviously Caitlin Clark - actually play at a higher level. But the entire organization still acts like the WWE. Note that the second most famous player is a gorgeous blonde who's most famous right now not for basketball skills but for trolling another player by pointing at her for a long time. There aren't enough Caitlyn Clarks in the world to make watchable basketball. But there are a lot of Sophie Cunninghams and the other ladies who can bring on the drama. Those of you who watch, hoping that basketball is going to be the central point of watching, are going to continue to be sorely let down. I'm going to leave with this thought. One of the best characters in the WWE was Rowdy Roddy Piper. He was a shrimp in that world - around 200 lbs. if I recall correctly. Hulk Hogan was 300 lbs. The Macho Man Randy Savage was around 250 lbs. if I remember correctly - one of the smaller guys who actually wrestled. But the Roddy Piper character didn't have to wrestle. He was too small to do it against those guys, so he had a "show" called the "Piper's Pit" where he would basically use his mouth. He had his fake broken arm cast if things got physical (often), but that wasn't the main attraction. He was a wrestler who didn't have to wrestle. Because wrestling wasn't the point. No matter how badly you want the WNBA to be about basketball, well, I just don't see it happening.
Enes Kanter, one of the bravest women I know, just got kicked out of a @wnba game after being cursed out by a Chicago player. Is this any way for one woman to treat another?! I can’t believe this league is real.
1
1
9
350
I haven't been using Grok for coding yet, which is kind of dumb since I am paying the $40/month or whatever and get a ton of usage credit. So, what to do with credits that disappear each week? I noticed that @obviousplant_ had a really good game idea in Barn Harmer, which was posted on Facebook: facebook.com/photo/?fbid=159… I took the two photos from that FB post and put them in a directory. Then I told Grok to make the game, using the prompt from Claude-of-Duty with obvious modifications. I had to do two follow-up prompts to fix some obvious issues in the game. The game isn't actually CoD quality. At the same time, I created this with a couple of pictures and around 200 words of text. I present to you, Barn Harmer: github.com/mdchaney/barn_har…
4
116
nypost.com/2026/08/12/lifest… This is the issue with modern American industry. If you read this story, everything that Burger King is doing would elicit a "well, duh" response from anybody with an IQ over 90. I'm serious. Yet, somehow, the company was taken over by people who thought if you just cut a few cents here and a few cents there you'd magically make way more money. And, I get it. If you're a dimwit you look at the numbers and say "our profit margins are 2%, average order is $10, so if we can cut just another 20 cents from the average order we'll double our profits!" And it might work for a month, maybe a year. But people quickly decide that they'd rather spend the $10 elsewhere for a slightly better experience. And now your profit margins are worse than before because you're paying the same per-store overhead on declining sales. None of this is difficult, and for an established brand like Burger King it should be trivial. Put out your best product. That's it. That's the entire secret. Go through every single aspect of your business - from recipes to cooking equipment to packaging to your operations. Make every part of that the best that it can possibly be. It's amazing to me that they don't ditch the entire upper management and start over with people who love the company and the products, and aren't trying to pinch pennies.
2
6
359
xitter.cf/NewEmergingKing/status… This guy does the work that needs to be done at this moment. Please donate if you can.
For my 27th birthday, I'm raising $270,000 to keep The X for Boys & Girls free for every child we serve. Thank you to Delta Air Lines for leading the way with a $10,000 donation. We operate 5 days a week, free of charge, with no government assistance, BECAUSE OF YOU! ❤️🔥
1
2
14
1,459
The LLVM of databases. I like where this is going.
I am excited to announce that we are officially writing a new version of Postgres. In Rust - and creating the LLVM of databases in the process. In the span of a year, we have rewritten SQLite. Keeping the compatibility, increasing its feature set. MVCC, Types, (Live) Materialized Views, among other things. In the process of doing that, we have realized: At the end of the day, what makes SQLite special is that it compiles SQL to a database-specific bytecode. So why can't we compile *Postgres* to the same bytecode? Turns out we can. I ran an experiment called pgmicro as a way to prove this hypothesis, and it works very well. It is time to make this official, and put the weight of Turso behind it. We shall give the world a modern take on Postgres. Wire compatible, but built on a new architecture. We have already heard of others wanting to extend this. MySQL? Redis? the sky is the limit. What can we do if we do for databases what LLVM did for compilers? To prove how powerful the SQLite bytecode is, we are actually running DOOM compiled to the unmodified SQLite instruction set. And because Turso runs natively in the browser, you can play the game in your browser. With the database executing it. Read the full story below! 👇
6
424
cbs12.com/news/local/should-… One of the most important ways to fight corruption is to always name the perpetrators. In that spirit, I'm pleased to announce that I have identification for Deputy "Hand to God". To quickly remind you, he pulled over a woman and falsely claimed that he'd seen her with a phone in her right hand. She has no right hand. Now, if he were an honest person he would have apologized and admitted that he lied to pull her over and give her a fraudulent ticket (unfortunately, citations aren't considered sworn documents in Florida). Instead, he actually doubled down and wrote the citation. When the whole thing was publicized, he wisely pulled the ticket before it went to court. The deputy's name is Yosvani Quesada, employee ID 17135. The piece of garbage is still employed, but more phone calls might help the Palm Beach County Sheriff's office to reconsider the value of keeping employed a guy who would now be considered a criminal in most states. Florida probably should also consider making traffic citations a sworn document, and also criminalize the act of performing a traffic stop based on a false reason.
6
392
Our new house is now a home. The Berol Giant is cleaned, lubricated, and mounted on a sturdy piece of wood screwed into the studs. I’ll also say that it’s only by the grace of God that we never found out how easy it was to dismantle the pencil sharpener when I was a school kid.
1
8
551
Bought a digital photo frame with 64GB of memory. 7.06GB is being used by the "system". 7GB of memory to run a photo frame. Software bloat is a thing. If you buy a 16GB version of this, half your memory is gone before you add a photo.
4
9
467
github.com/mdchaney/waveform I don't think anybody uses my awesome waveform program, but, if you do, I have a couple of bug fixes and a little code cleanup. Just more of Claude taking a look at everything.
4
418