Latest Posts (20 found)
Chris Coyier 3 days ago

Did your editor font go default serif on WordPress 7.0?

Mine did. Like this: I guess WordPress 7.0 assumes you are using a file these days. I’m not doing that yet on any of the sites I work on. If you want to embrace that future, you could add a file to the root of your theme, and put some typography basics only in there: That will be much nicer than no styles at all. Or if you don’t want to mess with that you can go to the upper-right three-dot menu (“Option”), choose Preferences then go to the Appearance tab and make sure Use theme styles is unchecked. I think it’s sorta neat that you could use the same typography setup for both the front-end and back of your site this way, and if you use for the front, might as well use it for the back. But I also personally don’t mind if the back-end is entirely default styles. It’s a reminder that you’re in a CMS, and content is data, not WYSIWYG.

0 views
Chris Coyier 1 months ago

When Sites Need to Walk Away

The Internet Archive has a new book: VANISHING CULTURE . ( Digital copy is free. ) According to a Pew Research Center report, 26% of pages from 2013-2023 are no longer accessible. But that’s not the whole story. In a new study published in Internet Archive’s book, VANISHING CULTURE, data scientists working with the Wayback Machine have found: 16% have been restored through the Wayback Machine. 56% are preserved before they disappear. A quarter of pages from the last slightly-more-than-a-decade gone. I guess that’s about what I would have guessed. I don’t love it, but it seems like the level of URL rot that just happens on the web. Maybe even feels a little low? 😬. Kinda cool the Internet Archive saves about half of it. This resonated a little extra this week as a local mountain biking trail resource said they were closing: When I see stuff like this, my brain thinks: OK fine, thanks for letting us know. But, like, you’re not going to just turn off the site, right?! No, they are: We’re open to the possibility of a community group, business, or individual acquiring BendTrails’ assets and keeping the site online — but if that doesn’t happen, the site will be going dark on June 1st. They want something like 80-90 grand for it. Which is fine. They worked on it for a long time and did a great job. I imagine it incurred costs, likely above and beyond what sponsors covered. Maybe they’ll get it, maybe they won’t. I just can’t wrap my mind around “going dark”. It’s a WordPress site. Bluehost can host that for $3.99 a month ($9.99/month after three years). Not to trivialize money but that seems pretty doable and preferable to just shutting the thing off. Maybe it’s a mental space thing though. I’ve had to walk away from projects by drawing pretty hard lines. If the website is still online, maybe it will still occupy mental space that they just can’t afford. You probably know I’m a fan of WordPress, but I’ll admit WordPress adds some additional mental overhead. There would be some prep like turning off any interactive features. Then somebody has to be in charge of updates forever, because WordPress is PHP and MySQL and such which will be subject to potential vulnerabilities forever. A fella I know put together Bend Bike Rides in the wake of this. A burgeoning replacement. I don’t know the tech stack but I know the guy well enough I’m quite sure it’s not WordPress. Looks like static output (if JavaScript-y). If he needs to walk away from this site someday, there is options like Netlify’s “free forever” plan that feels a lot more likely to be able to be left forever with no mental overhead. I’m just thinking about what the options are and what feels right when people need to walk away from a site. It’s nice the Internet Archive saves them, most of the time. But is that good enough? Maybe we just shouldn’t worry about it because they will take care of it? If we don’t think that’s good enough, what then? Should there be better tooling for static-izing a site and putting it somewhere inexpensive to live as a viewable time capsule? For WordPress sites, there is a premium version of legacy . $38,000 will keep the lights on essentially forever. Many scoff, but I think it’s cool. I may not have pulled the trigger if it was my money, but I did happily use the service for my friend in kind. Honestly I hope CodePen is an option for some situations and that we can evolve to make it an even better option over time. We’ve got deployment . It’s not free, but it’s not heavily limited either. The trick is getting a site to be entirely static, and I feel like there could/should be better tools for converting sites into this state.

0 views
Chris Coyier 1 months ago

AI & Alignment

Raw coding speed isn’t the bottleneck. Alignment is the bottleneck. That seems to be a zeitgeist-y theme lately. If you’re using AI to code, maybe you’re feeling it. You can code more and faster . And clearly a boatload of other developers are doing that too. But software doesn’t seem to be exploding in quantity or quality broadly. Maybe it’s a little? But if AI is 10✕ing our coding, we’re certainly not seeing software get 10✕ better. Which is maybe why Andrew Murphy is saying: If you thought the speed of writing code was your problem – you have bigger problems . Your developers are producing PRs faster than ever. Great. Wonderful. Gold star. Someone get the confetti cannon. Now those PRs hit the review queue, and your reviewers haven’t tripled. Nobody tripled the reviewers. Nobody even  thought  about the reviewers, because the reviewers weren’t in the vendor’s slide deck. Or maybe you don’t even get to the “too many PRs” problem because nobody even knows quite what to build. Because you need team alignment to figure that out. You need research. You need stakeholder buy-in. You need a damn plan. And AI isn’t, for the most part, helping with those things. And those things are hard. Or maybe you are just ripping PRs and your code is evolving rapidly. AI doesn’t help you know… is this the right thing to do? Is it working? Does anybody care? That probably should have been part of the plan, and again, that’s the hard part. Maybe this is an industry-wide topic right now not just because it’s hitting the community feeling frequency just right, but because there is academic research supporting it . I can’t pretend to understand all that, but I appreciate it’s being looked at with mathematic rigor. We’re also seeing tooling react to this situation. I think it’s fair to say that AI is increasing the productivity of individuals. But Maggie Appleton pulls out the classic saying: but 9 women can’t have a baby in 1 month. Fasters individuals don’t make a fast company, unless they are perfectly aligned . Maggie showing off new GitHub software that is designed to acknowledge and help with alignment issues. I tend to agree that software itself can evolve to help. Just the fact that AI, in “planning mode” isn’t sharing that plan with a team, is weird, and an easy target to make better. I also think getting a bunch of humans in alignment is just a thing that takes time. It should be a bottleneck. I’ll forever think of Dave’s “Slow, like brisket.” Some things becomes good because they are done slowly, and it’s OK if software is one of them.

0 views
Chris Coyier 1 months ago

It’s an assumed truth that Safari is better for battery life — without data to support it.

This pseudo-truth just bugs me. I hear it all the the time. People saying they choose Safari as a browser because it’s better for their battery. But there isn’t any data (that I know of) that proves that Safari is more efficient at battery usage than any other browser. I applaud Matt Birchler who did real testing on this (2024). He scripted a 20 minute loop that watched YouTube videos, scrolled Mastodon, scrolled websites, and typed in Google Docs. He ran it in Chrome vs Safari for 3 hours each 6 times. The data actually showed Chrome was a little bit better. You can choose Safari because you like how it feels, or it’s support of certain features, or heck even because it’s the default browser on Apple stuff and sometimes it feels good to just go with the grain. But the battery life argument just doesn’t hold water. Maybe it did at one time! Remember when we used to care about CSS selector performance, then people like Steve Souders, Nicole Sullivan, Ben Frain, Harry Roberts, etc did testing and proved it mostly just doesn’t matter? Remember when inline CSS was always bad, then it turned out to become a recommended performance enhancement sometimes? Remember when we all put scripts at the bottom of the , then we got the attribute and it turns out its often better to leave them in the head now? Remember when FOUT as bad (layout shift!) then it was good again (users don’t like seeing nothing!)? Sometimes we gotta just update our thinking. I’m sure I’ve got loads of outdates factoids in my head that need a reboot.

0 views
Chris Coyier 1 months ago

Stories from Alaska Folk Fest 2026

[Folk Fest] is not an intellectual experience, it’s an emotional experience. Visiting Alaska gives me the feeling that people are chasing after when they travel: a little taste of what it’s like to be a part of another world. To live another version of life. Not just looking at it or fantasizing about it (which are fun too), but getting to live it for a little while. I’m lucky enough to have visited Juneau a number of times. My friend Justin Shoman lives there. President of the radio. His deep connection with the community makes the trip more fun than it might be otherwise, as I get to sidecar all that community goodness. Last year, I came up for the 50th annual Folk Fest , and it was a no-brainer to come back for the 51st. The 50th was such a milestone that documentarian Paige Sparks took the opportunity to make a literal movie about it, “50 Years of Folk Fest”. I caught a screening of it at KTOO and got to briefly meet Paige, who did a wonderful job. The documentary was a brisk 50 minutes and managed to explain the history without being boring, like how the original bylaws of the organization require the event to be free. It spotlighted some long-timers with zinger quotes, like the one at the top of this blog post, then focused on some of the new faces of folk fest, like Taylor Dallas and Annie Bartholomew , giving it modern relevance and freshness. A great thread in the documentary featured an awkward fella struggling with his own musical abilities and belonging. He blossomed into performing a really lovely original folk song that couldn’t have fit in anywhere better than Folk Fest. OH, I’M ALSO IN IT. There is a quick moment from an old-time jam at Amalga Distillery where you can see the back of my head. I loved that jam dearly last year and was sad that Amalga didn’t do it this year. They had make-your-own peanut butter and jam sandwiches (get it). C’mon that could have been a whole thing. When I landed in Juneau and walked out of security, I was relieved to see that my favorite plaque is still there. Thanks, plaque. I can’t wait to check out those additional displays throughout the terminal. I had some anxiety arriving. I didn’t get there until Thursday, DAYS LATE, so I had some FOMO — like I had already missed amazing opportunities. That feeling wore off quickly. I b-lined it to Devil’s Club , where I had tons of great jams last year. There was a great jam going on as I got there with Chaz from Ketchikan/Dude Mtn, Evan from Astoria/The Strongbacks, Rosemary from Fairbanks/Writing, and several others. Comradery was immediate. My friends Amy, Roger, Dave, Dennis, and Laura were there, all from various cities in Oregon. I think it was a first for most of them. I haven’t talked to them since leaving, but Amy was dreaming of getting two hotel suites next year instead of just one. One morning, I jammed with them in their hotel suite. It was a weird jam in the key of E, with the fiddles in calico tuning, which is fairly unusual for Old Time. I was on guitar and loving it. Heidi from Fairbanks is there, whom I love because of her unabashed love of banjos. The more banjos the better in her world (there are plenty of situations where people like to keep it to one banjo). She’s also very good, so I learn a lot. The book I read during the trip was an Alaska book I’ve been waiting to savor: Of Bears and Ballots . It delivers. It’s Heather Lende, of If You Lived Here, I’d Know Your Name fame. I’ve read a lot of Alaska books, but nobody evokes the feeling you get there like Heather, even as a mere visitor like me. I also picked up  The Tao of Raven , which I’ve only just started, but it starts with a lavishly wordy version of the fable where the Raven frees the sun, which I’m fond of. I have a version of the raven story that I typeset and letter-pressed myself, and my mom watercolored over, in my guest bathroom at home. Speaking of my banjo, I checked it on Alaska Airlines on the way up. I love my banjo, and it’s nice, but I’m not precious about it and don’t love schlepping things through airports. Some people gasp at the thought of checking an instrument. Well, here are some more points for them. The peg for my 5th string must have loosened and straightened out, causing a buzz as it went over the little mini nut on that string. That’s not an acceptable state to leave the banjo in for Folk Fest, so I had Justin swing by a shop to grab some wood glue, then did emergency surgery on it. I yanked out the peg with a channel lock, rotated it back correctly, then glued it up and hammered it back in. Not pretty, but it’s held up just fine since then. A bar that doesn’t seem to officially participate in Folk Fest (but is at the heart of it anyway) is The Triangle. It ends up being kind of a home base or where to go sit in lieu of any better idea. It’s a place that ends up generating memories for me. A drunk local buying us shots for listening to his life story. Two mandolin players trading fascinating chord transition licks. A beautiful woman frantically trying to find her friends, only to be calmly distracted by the historical photos on the wall. I promised to tell her what I know of them when she comes back, but alas. One of the many cool things KTOO does, in addition to the studio-audience shows, documentary screening, and all that, is to put every main stage performance on the radio. Every second of it! Plus they stream it so people around the world can listen. Driving around, or if we happen to be at Justin’s spot, we’d usually have it on. One thing we caught that way was Sea of Heartbreak (feat. Katy Harris, Caroline Oakley, Reeb Willms, Ava Honey, Pharis Romero). Kind of a supergroup of old-time ladies. I only know exactly who it is now, because it was so good on the air, I looked it up on the official website. One day, sitting at the Alaskan, I was chatting with the bartender, Morgan, who used to run the place. It seems people, bartenders especially, live in this palpable daze of excitement and exhaustion during Folk Fest. The next day, after a nice beach walk “up the road”, as they say, at Eagle Beach , we stopped into Squirez, a cozy little bar that overlooks Auke Bay. It was Morgan bartending again. There was an awful lot of bartender overlap like that. Just the night before, the day bartender at The Alaskan was working the door bar in the evening at The Crystal Saloon. Morgan is extra fun, though, as she travels a lot to interesting places and seems to be doing interesting things with her life, like starting a new gig at Uncruise. She also works at the Lucky Lady, although I didn’t see her there. At Squirez, she did a little rave about what’s so great about Folk Fest. It’s the end of winter (this was a rough one up there), and it’s before the cruise ships come. So it’s a week that feels like a special treat just for the locals. A beautiful gift. Morgan was on the same flight out on Tuesday morning as I was. It was nice to high five out along with another friend (a board member of KTOO) I met at the corndog brunch who had a daughter the same age as Ruby running around. That made me miss Ruby and think of my hope that Ruby and I get to share a love of music and community events one day. One particularly fun live show was Raisin’ Holy Hell at The Crystal Saloon. There were a bunch of rowdy old-timers in the band (some faces I recognized from the documentary) who really got after it and made a ruckus of a show. They played classics like Angeline the Baker and Stickin’ to the Union, mixed with Sublime covers and modern shit like that to switch it up. They had a drummer and a solid bass player holding it all together and making it more than worthy of the killer night slot it had. The whole audience was super into it, and I was having a great time. This feels weird to write, but one of the things that fed into the fun and the feeling of living a different life for a moment is that I’m essentially single now and approaching the point I’d be ready to date (long story, private). Chatting with single strangers can have that hey, is this… something? feeling that can be exciting if a little emotionally dangerous. In my real life, I’m a dad and a co-founder of a busy tech company, and I wouldn’t have it any other way. But once in a while, I can LARP as a freewheelin’ banjo-playin’ Alaskan. Another day, I popped into The Alaskan only to be perfectly on time to catch The Strongbacks , a sea-shanty group of five dudes that I quite like, hosting a “vocal jam”. I was surprised at how many sea shanty enthusiasts showed up. Half the people in the audience were mouthing along to the songs. An Irish session in the back of the bar didn’t stop playing for them, which made me furious. I considered saying something, but ultimately chose not to, as somehow nobody else seemed to care. Not even the bartender? Perhaps, as this wasn’t an official show and the jam had just as much right to make sound, asking them to stop would have been an injustice in its own right. Whatever, I’m still mad about it. The beauty of unamplified harmonizing voices should always take precedence over a mediocre Irish session. Just move! There is so much going on at Folk Fest, you’re definitely going to miss more than you do, even if you shortlist stuff you’re especially interested in. Here’s my list of things I would have liked to do but just… didn’t get to: That’s a big list. And yet: no regrets. Bocca al Lupo hosts a Corndog Bruch at 11am on Saturday. I missed it last year so I was glad to catch it this year. Arriving at 10:40am, there were already a few dozen people in line ahead of us. They passed out paper fliers detailing the gourmet corndogs that would be available. You were supposed to pass the paper back, but you could tell nobody wanted to actually be the one holding the paper. Way too much responsibility for a hungover Saturday morning. I had the elote and the honeybutter, both extraordinary, but I eyed up pickle-style with envy. The cashier was drinking a Bush NA. It sounded good at the time, so I ordered one. She had brought it from home. The band playing at the corndog brunch was The Heists , the last name of the lead couple, fleshed out by a great fiddler and bassist. Importantly: they replaced words in the songs with corndogs and corndog puns. Will the circle be a corndog and the like. I would have liked to be consulted on this endeavor, as I like to think I could have gotten the corndog integration density even higher. I recognized [Andrew] Heist from previous visits as I think he played in the band Taking Care of Bluegrass, which I’d seen a couple times, and saw again on this trip, but he didn’t seem to be in anymore. Possibly because he was in EVERY OTHER BAND . I saw them together again in The Boyfriend Girlfriend Bluegrass Band at the Alaskan. I saw him play with Raisin’ Holy Hell at The Crystal Saloon. I saw them in some very endearing moments in the documentary. I saw them play the main stage. I saw him out jamming. It’s a good thing they kick ass. There were so many times I was doubled over with laughter on this trip. Maybe that, all things considered, was the best part. I’ve come to think that laughing is my #1 bucket filler. One night at dinner, there was an appetizer called “Bread and Bones” (which turned out to be a bone marrow thing), but we weren’t sure, so we just made silly guesses about what it might be, and I haven’t laughed that hard in a long time. One day, sitting at Amalga (and I have absolutely no memory of how this came up), we opened up the Claude app on my phone and vibe-coded different trivia-style games. It competently crafted an “alive or dead” game with random celebrities, and we kept adding features and making variations. The new bar game is making your own. Justin is seeing someone. It was lovely to meet her. We spent a lot of time all together as a group of three (plus dogs!). She was kind, endearing, funny, and up for anything. I’m glad to have made another friend. I think three can be a magic number. There are more personalities and things going on to play off of. I need to remember this more specifically for friend trips: 3-5 is a good number range. Last year, for the 50th, the weather was shit. It was cold and rainy the entire time. That’s how it always is. I’m sure months of dark, wet weather generally have mental consequences for the Alaskan natives, but it doesn’t seem to affect people’s moods during Folk Fest. There was a bit in the documentary about where they are clear on the matter: it just doesn’t matter . Put on your coat. That was put to the test this year in an interesting way. While there were still big piles of snow everywhere, it was kinda nice out. Twice! Blue skies; warm sun. I was curious whether people would take to the streets, with outside jams, impromptu parties, and such. There was a little. I saw a couple of jams move chairs outside or play on the concrete outside the Sealaska Heritage Museum. It was kinda fun, but it wasn’t like this transformative thing for the festival. It was fun, but again, the weather just doesn’t seem to matter much. One of those nice days I popped into Devil’s Club to find the jam was Irish. Which is fine , but I’m not skilled enough in Irish to contribute much and there is usually enough going on I don’t need to force it. There was another fella sitting there, I noticed, who had a fiddle case, and we got to talking and turned out he played old time like me. So we found a little stoop over by Deckhand Dave’s, he flipped over an old, dirty bucket, and we played old-time duets for a couple of hours. Didn’t even catch his name. I only went to the main stage once this year. The very last night. There’s just so much to do, it’s not even weird to miss most of the main stage stuff. One way to engage with Folk Fest is to hang out at the main stage primarily, and I’m sure a ton of people do that, but the musician types are always seeking out gigs and jams, and the younger crowd (and people that just don’t care that much about folk music) take the opportunity to enjoy all the great human energy downtown. Bar hopping and seeing the many non-folk shows and such. I’m so glad I went to that last night, though. RO Shapiro had a powerful voice, sang beautiful songs alone on stage, and reminded us how important it is to support musicians. He had a wonderful song about how they all pass the same $20 bill around. I was stoked to see Riley Baugus, a banjo hero of mine. He was charming and funny and interesting in a way I definitely did not think he would be, and he managed to keep the huge audience captivated entirely alone with a banjo. He was there with The Red Hots , who I unfortunately missed. Willie Carlisle closed it up, playing with a couple of multi-instrumentalists (one of whom I got to jam a little with, incredibly). Willie is a monster with a huge voice, huge personality, and huge opinions. He’s got a kind of old timey way of speaking and choosing words. He felt like a modern embodiment of folk, blending instruments and styles that are quite different while carrying a consistent air of quality. He opened with a monster vocal-only The Balad of Penny Evans, a Steve Goodman song about Penny who’s husband dies in Vietnam and is none too happy about that. A song called Crittertown brought out a surprise friend in a giant possum costume to wander the audience (gave me big Northern Exposure feels). My favorite was Big Butt Billy, an extra-folky guitar number about a kinda gender-neutral waiter at a diner with an ass so incredible Willie breaks down into exasperated spoken word in the middle of the song, finding different wild-eyed words to praise the ass. One day in the afternoon, I was sitting in The Alaskan having a pint and waiting for Justin to get off work. There was a band setting up I’d never heard of: Big Sissy. Sisters from Connecticut. They played well and harmonized beautifully. I remember a First Aid Kit cover perfectly done. Fifteen minutes after their set was over, we had walked over to Griz Bar, and they all walked in. I got a chance to say hi and thank them for their amazing and unexpected set. It was a warm moment. Another day sitting on a stool at Griz Bar, there was a woman playing guitar really well and singing a Tom Waits cover. Rosemary was sitting, putting in little fiddle fills. They came over to the bar, and I got to buy them a drink, and the world felt warm again for another moment. She then played another Tom Waits cover. Yet another day at Griz, Dude Mountain was playing an acoustic set. It was packed, even in the drizzle. There was a large man dressed up as a kind of cartoon wizard. He didn’t look like he left the house much, honestly, but he was out now, and he brought his cat, which kinda crawled around on his shoulders. Then someone brought like a dozen Domino’s pizzas and passed them out for free. I’d say food isn’t particularly notable in Juneau. I had a steak dinner at SALT one night. The service was good. We laughed our asses off at stupid jokes. The steak was good, but everything else was fairly poor, honestly. They put this huge dollop of horseradish on my plate, camouflaged next to the au gratin potatoes, and I accidentally ate the entire thing. It was a real mouth problem for a minute there. My bad, I guess, but like, isn’t this a plating UX issue? I had a Pickle Rick at The Hanger. The Cubano at Devil’s Club. The Taco Bell replica Crunchwrap Supreme at the Imperial (regrettable but necessary). Pizza at the Island Pub over on Douglas was good, but gave me heartburn that was hard to kick. One night, we had a decent Indian spread at Spice. The vibes are a little sleepy; they didn’t seem to book any musicians this year, and the naan was a bit dry. The Mexican food at Mar y Sol is fine, but they are a dry restaurant, and no margs with Mexican is rough. Amy and crew had dinner there, and I got a text from her that they started a jam there, and honestly, that was really fun. Kinda brought Folk Fest to another area of town that doesn’t normally get it. The noon latte at Coppa was a 10. What you want out of a culinary experience in Juneau is to go out to Sand Bar in the valley and get the fried halibut. It’s literally all they do. The halibut comes from fishermen literally in Juneau. Even as a totally non-fish guy, I love it. I was sad to miss it this year. On my last full day there, I wanted to do some gift shopping. I called it Power Shopping because it was something I wanted to do, but wasn’t super in the mood for it, so the plan was hot’n’fast. I ended up getting: While Folk Fest officially ends on Sunday, and I imagine a lot of folks need to take off on Sunday or Monday, I scheduled my flight out on Tuesday on purpose because Monday is reserved for an all-day jam at The Imperial . The Imperial is right at the heart of downtown Juneau, but doesn’t seem to be an active participant in Folk Fest. Until Monday, when it’s absolutely taken over. All the stragglers show up there and all the musical styles represent. I listened to an alt-old-time jam singing Reeltime Travelers, a classic old-time jam, a country jam, and a monster cajun jam. It took me a while to get the nerve up to get my banjo and get in on it (my confidence ebbs and flows). Honestly, a couple of beers always helps, which I don’t love, but it is what it is. I ended up playing with Heidi again for a while, bookending the trip nicely, and then another group of lovely folks before feeling good about retiring the banjo for the trip. Lodestone library was hosting jams, and I peeked in and saw it, but I didn’t stop to jam, and should have. There is a new brewery in town, Harbor Mountain, that hosted stuff, but I never made it in there, even just to try a beer. I like the group Wool Pullers, who had a couple of shows, and I missed them both. I really wanted to see the band High Costa Living featuring the exuberant powerhouse that is Collette Costa , but the line at the door for that show at The Red Dog Saloon was just insane (hundreds long?) seemingly the entire night. I missed the rad metal band Bards of Mendenhall I missed The Red Hots (I should have gone to the live studio audience show at KTOO). I didn’t go to any dances. I’m dead scared of making a fool of myself at a dance, but I also want to get over it and do it. I didn’t do any workshops. I didn’t catch Caleb & Reeb, who had a LOT of shows. I saw them around a ton but didn’t seem them play, other than Reebs Sea of Heartbreak thing. I’ve still never even met Caleb, who’s a bit of a hero to me. A little intimidating. I missed the Canadian tuxedo party. I missed the cosmic truckstop brunch thing. A book from Sealaska Heritige Store . They had a Trickster basketball that was freakin’ art , but I just couldn’t justify traveling with it Some postcards and a book from Kindred Post A comic book at art supplies from Alaska Robotics (which had an incredible display of paintings of hikes in Juneau) T-Shirts from Treetop Obligatory shirts from Devil’s Club and The Alaskan

0 views
Chris Coyier 1 months ago

Help Me Understand How To Get Jetpack Search to Search a Custom Post Type

I’ve got a Custom Post Type in WordPress. It’s called because it’s for documentation pages. This is for the CodePen 2.0 Docs . The Classic Docs are just “Pages” in WordPress, and that works fine, but I thought I’d do the correct WordPress thing and make a unique kind of content a Custom Post Type. This works quite nicely, except that they don’t turn up at all in Jetpack Search . I like Jetpack Search. It works well. It’s got a nice UI. You basically turn it on and forget about it. I put it on CSS-Tricks, and they still use it there. I put it on the Frontend Masters blog. It’s here on this blog. It’s a paid product, and I pay for it and use it because it’s good. I don’t begrudge core WordPress for not having better search, because raw MySQL search just isn’t very good. Jetpack Search uses Elasticsearch, a product better-suited for full-blown site search. That’s not a server requirement they could reasonably bake into core. But the fact that it just doesn’t index Custom Post Types is baffling to me. I suspect it’s just something I’m doing wrong. I can tell it doesn’t work with basic tests. For example, I’ve got a page called “Inline Block Processing” but if you search for “Inline Block Processing” it returns zero results . In the Customizing Jetpack Search area,  I’m specifically telling Jetpack Search  not to exclude “Docs” . That very much feels like it will include it . I’ve tried manually reindexing a couple of times, both from SSHing into Pressable and using WP-CLI to reindex, and from the “Manage Connections” page on WordPress.com. No dice. I contacted Jetpack Support, and they said: Jetpack Search handles Custom Post Types individually, so it may be that the slug for your post type isn’t yet included in the Jetpack Search index.   We have a list of slugs we index here:   https://github.com/Automattic/jetpack/blob/trunk/projects/packages/sync/src/modules/class-search.php#L691   If the slug isn’t on the list, please submit an issue here so that our dev team can add it: Where they sent me on GitHub was a bit confusing. It’s the end of a variable called , which doesn’t seem quite right, as that seems like, ya know, post metadata that shouldn’t be indexed, which isn’t what’s going on here. But it’s also right before a variable called private static $taxonomies_to_sync, which feels closer, but I know what a taxonomy is, and this isn’t that. A taxonomy is categories, tags, and stuff (you can make your own), but I’m not using any custom taxonomies here; I’m using a Custom Post Type. They directed me to open a GitHub Issue, so I did that . But it’s sat untouched for a month. I just need to know whether Jetpack Search can handle Custom Post Types. If it does, what am I doing wrong to make it not work? If it can’t, fine, I just wanna know so I can figure out some other way to handle this. Unsearchable docs are not tenable.

0 views
Chris Coyier 2 months ago

Hawai’i

I’m just back from the United States 50th state, a staggering 2,500 miles from the mainland. For the next week or two, I’ll pronounce it Ha-Vie-ee, like how it’s pronounced in the native Hawaiian language. A language, by the way, that only a few thousand people speak natively, no doubt due to the 91 years (1896-1987) where there was “strict physical punishment” for speaking it in schools. We humans are pretty damn uncool to each other sometimes. Ruby and I travelled there ( again! ) with some wonderful family friends, Matt, Becky, and their kids, Monroe and Zoey. A nice reminder of how rare and lovely it is to have a situation where the kids are friends, and the adults are friends, and everyone travels together well. We stayed in a villa at the Fairmont Kea Lani on Maui. I’ve been to Hawaii before, but this was my first time on Maui. It was a beautiful place to stay. A beautiful property and buildings right on the beach. The villa had two spacious rooms, a full kitchen, and a living room with a pull-out couch, on which all the kids slept together. I’ve stayed at fancy resorts before where the staff uses special greetings with guests. But in Hawaii, naturally, it’s “Aloha.” Probably because, ya know, a real word, and basically the whole brand of Hawaii. But I just can’t shake the feeling that it’s kinda cheesy. Like, do Hawaii long-timers say Aloha to each other? Like it’s 5:21 am and a local is getting a coffee at the gas station in a local neighborhood, do they say Aloha to the cashier? Do they get an Aloha back? I kept meaning to ask this of locals, but kept forgetting. Or not having the exact 1.5 beers in me it takes to reach that perfect level of fun and charm to ask strangers semi-intimate questions. If I were forced to guess, I’d guess Aloha is more of a thing they have to do at work with the tourists. Like your boss side-eyes you if you just say “Hello, good morning” instead. I never said it back, which felt weird. My goal was kind of a winkwink, it’s cool , you don’t have to do the cheesy tourist thing with me, I very promise I don’t care. The first night, we got checked in and b-lined it to Monkeypod . We’d all been there before (at a different location) and have talked about it endlessly. It’s a micro-chain with 4 locations across two islands. It’s just: great. They make a Mai Tai with Honey Liliko‘i Foam on the top which I have fond memories, and it was every bit as good as I remembered. I had wings and mahi-mahi tacos. 10/10. I never get the fish. I don’t like fish. I like specific little bits of seafood once in a while, but rarely cooked slabs of fish. So on that very first night, I decided I’d get fish every night on this trip. Maybe if I try enough of it, I’ll come around. It didn’t work. I struck out more times than I hit. But no big regrets. I tried. Timing-wise, it wasn’t the absolute perfect time to be in Hawaii. But it was spring break for our school district, so C’est la Vie. Unprecedented rain with some flooding. A rather ironic situation after the horrible fires just a few years back. We were watching the weather and reading the news weeks in advance, but things didn’t seem dire enough to cancel the trip. Honestly, some overcast weather isn’t the worst. None of us left with sunburns. It allows you to hang out outside all day, which you just can’t do on full-sun days, as it exhausts you. The first full day turned out to be one of the rainiest, and we spent most of it at the pool anyway. I got us a cabana that turned out to be awfully useful. Being in the pool in the rain is no big deal, but lying out in chairs in the rain is annoying. And you certainly can’t crack open the laptop or read a paperback. I did both that day and was loving it. We were trying to book an ATV tour for ourselves, and that was the one thing we just couldn’t get done. The rainstorms just weren’t letting it happen. Apparently, there was too much debris and whatnot on the trails; the places that offered these tours didn’t reopen until after we left. We started most mornings at the breakfast buffet, included in our fancy villa booking. It was pretty crowded as they couldn’t seat people outside in the wet. Then we’d hit the water without fail. A few days we did the ocean, but came to understand it really wasn’t a good time for that. Storms wash landcrap out to sea, making the water look muddy. Apparently, that’s worse than just looking ugly; it can harbor dangerous bacteria. The guy at 808 clothing told me that you’d have to be a real idiot to go out in it and that real Hawaiians would never. Last year, some lady had to have her legs sliced open to flush out the bacteria (or something? The guy was pretty weird). Also, later, our zip-line guide told us she loves to surf and wouldn’t go out because the “muddy” water is extra-attractive to sharks, since the low visibility helps them more than it helps their prey. Also later, we went to a surfing beach absolutely full of obviously local surfers. Turns out people don’t exactly speak for all people. We did some knee-deep ocean stuff because it’s hard to resist. One day we drove up to Paia, a northern coastal city with extreme charm. Unfortunately we got there when it was pouring pretty good, so we spent most of it hustling between store overhangs. You could really see how close to flooding everything can get, quickly. We mostly just did a little shopping, walking around, and snacking in Paia, and I didn’t take many photos there. It was super cute though, highly recommended. I sorta regret not buying a Ukulele bass from the music shop there as I’ve been eyeing one up like forever, ever since going on a trip with Brad Frost where he brought his. Which reminds me: we had the kids to Uke lessons at the Fairmont and it was kind of a mess. Probably skip that. The hostess at the bar we stopped at told us how to get down to the turtle beach nearby (Ho’okipa). It was really pouring when we got there, so we just parked for a while and watched the surfers. Really amazing to watch. Huge waves. The turtle beach didn’t disappoint! Hitting the pool was a daily event. The kids are old enough that we could shoo them out the door to the pool and not worry about it too much. Two of the kids had trackable wrist watches that could make calls, so that was extra convenient. There was a swim-up bar that I appreciated existing despite never getting around to using it. I did us the walk-up bar once, and the Zach Bryan impersonator bartended made me a cocktail despite it being almost an hour after it was supposed to close. He was being fawned over by two woman who wanted to make sure he had their number for later. I enjoyed that, naturally. Ruby’s favorite experience, and perhaps mine too, was the zip lining we did. We chose Haleakalā Zipline Tours as, well, it was open, and it’s location high up mid-island looked cool. It was. The two charming guides helped make it fun, showering us with bird-facts and about their conservation efforts. Ruby had to get over some fears of zip lining at all, which she did and of course now loves it. I left thinking of other zip lining we could to back home and hoping to see a ʻAlalā (Hawaiian crow). We hit Black Rock Pizza on the way home, my only non-fish dinner. The very last day, our friends moved on to another island, while we were hitting the redeye flight home. We had most of the day to kill, so we wandered around the property a bit, wandered some stores, then went to the local cinema to catch Project Hail Mary (fun!) and then off to the airport. Only a 5-hour flight back to Seattle compared to the 7-hour flight from Salt Lake City on the way there. We both slept a little and it went easy breezy.

0 views
Chris Coyier 2 months ago

Meets Style Sheets

I’ve accepted an invitation to speak at Smashing’s (Online) Conference Meets Style Sheets. It’s free on Wednesday, May 6th. I named my talk In-N-Out Styling . Long time CSS evangelist Chris Coyier will talk about how you can style things on their way into view on a webpage, and on their way out. Of course, with Chris being Chris, there will be plenty of things which are food for discussion, as well as plenty of practical take-aways as well. I’ve been preparing for it. I’ve got like 35 minutes or so, and the concept of modern “entry” and “exit” styles is plenty for that time. It’s kinda complicated in my opinion, involving multiple ways of doing things, modern syntax with weird names, and specificity footguns. I think we can all come out of it with an understanding of what’s possible.

0 views
Chris Coyier 2 months ago

Kermit Roosevelt

I was at a school function the other day where the 2nd graders performed a bunch of Aesop’s Fabels and it was great. It was a double-header with 3rd graders who then read prepared reports on famous people. It was cross-disciplinary thing as the kids brought props from design class, costumes from performing arts, and did the speech both in Spanish and English. It was cute. A lot of astronauts and artists and stuff. One kid did Theodore Roosevelt. I’m not a smart man, and I just had no idea this happened . 1912. He’s giving a speech in my old stomping grounds, Milwaukee, Wisconsin. Dude friggin shoots him in the chest. The bullet goes through a thick, folded-up bit of paper in his pocket, but then still into his body. Then he’s like “I’m good” and continues his speech for an hour. He recoups a couple of weeks but they leave the bullet in his body and didn’t seem to care. Kind of a badass. No wonder he leaned into the “Bull Moose” thing. Then the kid is like, and he had five kids, yadda, yadda, Kermit , yadda, yadda. I was like LOL, he named one of his kids Kermit. Turns out all of his kids led fascinating lives too! Kermit was an unhealthy kid, but ultimately went to Harvard and then did a bunch of literal jungle exploration with his dad (?!) and later Asia with his brother. … he postponed his marriage to join his father on a dangerous journey to the River of Doubt in Brazil. Both he and his father nearly died during this trip through the jungle. He fought in both World Wars, deciding to go to England and join the British Army to fight for them. Apparently, you can just do that? War breaks out, and you can just pick one of the countries and go there and fight for that side? WTF? He doesn’t make it all the way through WWII because of the health stuff, so they stick him up in Alaska, and he kills himself. Wild stuff. Oh and speaking of his brother Theodore III… Along with his brother, Kermit, Roosevelt spent most of 1929 on a zoological expedition and was the first Westerner known to have shot a panda.

0 views
Chris Coyier 2 months ago

AI is my CMS

I mean… it’s not really, of course. I just thought such a thing would start to trickle out to people’s minds as agentic workflows start to take hold. Has someone written "AI is my CMS" yet? Feels inevitable. Like why run a build tool when you can just prompt another page? AI agents are already up in your codebase fingerbanging whole batches of files on command. What’s the difference between a CMS taking some content and smashing it into some templates and an AI doing that same job instead? Isn’t less tooling good? I had missed that this particular topic already had quite a moment in the sun this past December. Lee Robinson wrote Coding Agents & Complexity Budgets . Without calling it out by name, Lee basically had a vibe-coding weekend where he ripped out Sanity from cursor.com. I don’t think Lee is wrong for this choice. Spend some money to save some money. Remove some complexity. Get the code base more AI-ready. Yadda yadda. Even though Lee didn’t call out Sanity, they noticed and responded . They also make some good and measured points, I think. Which makes this a pretty great blog back-and-forth, by the way, which you love to see. Some of their argument as to why it can be the right choice to have Sanity is that some abstraction and complexity can be good, actually, because building websites from content can be complicated, especially as time and scale march on. And if you rip out a tool that does some of it, only to re-build many of those features in-house, what have you really gained? TIME FOR MY TWO CENTS. The language feels a little wrong to me. I think if you’re working with Markdown-files as content in a Next.js app… that’s already a CMS. You didn’t rip out a CMS, you ripped out a cloud database . Yes, that cloud database does binary assets also, and handles user management, and has screens for CRUDing the content, but to me it’s more of a cloud data store than a CMS. The advantage Lee got was getting the data and assets out of the cloud data store. I don’t think they were using stuff like the fancy GROQ language to get at their content in fine-grained ways. It’s just that cursor.com happened to not really need a database, and in fact was using it for things they probably shouldn’t have been (like video hosting). Me, I don’t think there is one right answer. If keeping content in Markdown files and building sites by smashing those into templates is wrong, then every static site generator ever built is wrong (🙄). But keeping content in databases isn’t wrong either. I tend to lean that way by default, since the power you get from being able to query is so obviously and regularly useful. Maybe they are both right in that having LLM tools that have the power to wiggleworm their way into the content no matter where it is, is helpful. In the codebase? Fine. In a DB that an MCP can access? Fine.

0 views
Chris Coyier 2 months ago

Claude is an Electron App

Juicy intro from Nikita Prokopov : In  “Why is Claude an Electron App?”  Drew Breunig wonders: Claude spent $20k on an agent swarm implementing (kinda) a C-compiler in Rust, but desktop Claude is an Electron app. If code is free, why aren’t all apps native? And then argues that the answer is that LLMs are not good enough yet. They can do 90% of the work, so there’s still a substantial amount of manual polish, and thus, increased costs. But I think that’s not the real reason. The real reason is: native has nothing to offer.

0 views
Chris Coyier 2 months ago

FOREVERGREEN

In the first few minutes, Ruby says to me, “ This is like The Giving Tr ee “, and by the end, I was like, “ OK, you’re right .”

0 views
Chris Coyier 3 months ago

Tucci Pan Review

Stanley Tucci has a set of cookware named after him that GreenPan sells. I’ve got these two pans: I forget where they came from exactly, some silent auction or something, but I unboxed and started using them about 8 months ago. I was so hyped the first few months! It’s my daily-driver pan. I’d say it’s used once a day, on average. Then it looses it’s luster after a while. I could scrub the bottom, but I just don’t care about that. The inside was more concerning. I hit up their customer support, as it’s not just the aesthetics that were dimming here, the pan really seems maybe half as nicely non-stick as it was 8 months ago, and cleaning it with non-abrasive techniques takes much longer. Fill the pan halfway with water and bring it to a simmer for about 2 minutes. Pour out the water and place the pan on a safe sturdy surface. Carefully use a Melamine sponge (Mr. Clean Magic Eraser, our Restoring Sponge or any melamine sponge) and a little plain water on the warm surface to wipe away the food or stuck on oil.  This should do the trick. Fair enough: that technique worked well to remove what they called “a layer of carbonized oil”. I got it entirely clean with a bit of elbow grease. I’d say the pan performs 10% better after that. But it ain’t back to its former glory. I highly suspect at the one-year mark the pan is basically gonna be toast. So my review is:   it’s an incredible pan for 6 months and a so-so pan for 6 months, then you’re done. There is some kind of coating, and it’s way better than average, but it’s just not a forever thing. If you can stomach a few hundred bucks a year to replace it, go for it. Me, I’ve got some research to do on what to replace it with because I think I want a little longer longevity. And yes, I’ve got a well-seasoned cast-iron I’ve used most of my life. That’s fine, but I wanna try other things. Specifically, less-honkin’ pans that are easier to handle. Ultra extremely non-stick Washing them with a soft sponge is nearly effortless because of how non-stick they are. Feels good, like I’m taking care of it correctly. The edges of the pan, with the steep angles, are perfect for that cool chef move where you toss/flip stuff in the pan with a wrist movement.

1 views
Chris Coyier 3 months ago

You Get Good At What You Do (Or Do You?)

I used to feel really strongly about this. You get good at what you do. Like, if you build websites all the time, you get good at building websites. If you make burritos all the time, you get good at making burritos. It could extend to almost anything. Healthy places that fit into the logical narrative you already know, like if you lift weights to the point of exhausting your limits a lot, you’ll get stronger. But also silly and unhealthy situations. Like, if you sit on your ass and watch TV all day, you get good at sitting on your ass and watching TV all day. Your body and mind will tolerate it well. You’ll know how to operate the remote well. You’ll know what you want to watch and when. I have some doubts, though. In the ~9 years I’ve lived in Bend, Oregon, I’ve gone skiing ~100 times. I do not think I’m any better at skiing in my 100th time than I was when I moved here. Maybe like, a little? But I’m not entirely sure. Could be worse. I do it, and I don’t get better at it. I want to get better like I want to like seafood. It’s aspirational, it’s just not happening. I’m sure most people get very good after skiing 100 times. I’m just a weirdo. Yes, I’m getting older. Yes, I could be healthier . I’m not sure that’s the entire math here. I think I’m uniquely bad at skiing because I do not like going fast. I don’t like going fast in cars. I don’t like going fast on a bike. I don’t like going fast… ever. I get this extreme discomfort really quickly. So I’m constantly fighting to slow down, which just isn’t very enjoyable and doesn’t lead to the breezy flow state I see most people in. There’s like a speed threshold: if you’re comfortable there, that’s a super normal speed to travel down a hill and get into that breezy flow state where it’s fun, and you feel safe. If you’ve got this higher-speed tolerance, a much wider zone of fun opens up. Whereas I have this narrow sliver I can enjoy, and precious few runs that offer that kind of experience. I’m gonna keep doing it, but just because I want my daughter to be super comfortable skiing, because it’s quite a cool lifelong hobby.

0 views
Chris Coyier 3 months ago

Miscalibrated

I’ve been gaining weight again. More than twenty pounds in the last ~4 months. I’ve been hitting the gym hard and getting measurably stronger, so: Food! See, your boy can eat. The amount I can eat before I feel full would astound most of you out there. Whatever you think of as a complete hearty meal, sure as you’re born, ain’t gonna get me there. Being fat comes with one (1) society-regimented bucket of shame. People look away. It’s a thing. I had gone off my last round of GLP-1 drugs because I was doing OK, and it had lost its effectiveness. I’m not sure if it’s everyone’s experience, but it’s mine, and it’s happened a couple of times now. Honestly, I think my I CAN EAT THROUGH OZEMPIC line of XXXL T-Shirts has a chance. These drugs work very well for a bit. I like them because it gives me a glimpse of what it’s like to be a regular person who eats a regular amount of food and feels a regular amount of full. You settle into that for a while with these drugs. But, in time, effectiveness wanes. And the pharmacies have an answer: higher doses! All these GLP-1 drugs, and I’m pretty sure it is all of them, have dosage tiers. The three I’ve tried have three tiers. Ozempic rolls like this: Wegovy is getting in on the action: Mounjaro has even more layers: Again, they do this because it loses effectiveness. I don’t think people quite realize this??? Even though it’s not hidden in any way. I think these drugs are pretty amazing, and I’m proud of science for starting to figure all this out, but I’m also a little sick of hearing about how airlines are going to spend less money on fuel now. I’ve been reading this story for many years. It’s laughable when we literally know they don’t work permanently. Look at those graphics above. This isn’t a forever solution yet. They are literally showing and telling us that. There is no answer once they lose effectiveness. Perhaps controversial, but I think overeating, in the form I experience it, is an addiction, and addictions come back. Is it possible to beat it? Absolutely. Is it likely? No. I hope you don’t know firsthand, but I bet you already know that cocaine doesn’t maintain effectiveness, either. You need a second line for the same thrill before long. It doesn’t end well. Anyway, I’m back on GLP-1s. At least they work for a while, and that while feels pretty good. It was a rough start, though. My doctor agreed it’s good for me and we should kick up the dosage based on the waned effectiveness. Wegovy this time. It was this past Tuesday that I picked up the meds. It’s down to $350 now! It used to be like $1,200 without insurance. I jabbed myself Tuesday night at about 8pm. I was hugging the toilet hard by midnight. That was a first. See, there was a lot of food in my body. I remember lunch that day, where I made a sandwich were my rational brain saw it and thought that’s 2-3 sandwiches. But of course I ate all of it. And one of those salad bags that make a Caesar salad for a family of four. And a pint of cottage cheese. And a bag of Doritos. I was full after that, but the trick is just to switch to sugar after that, and I can keep going. It wasn’t quite noon, and I had a decent breakfast in me already. I ate dinner that night as well. So when the Wegovy started to hit, which tells your body you’re full when you eat a celery stick, it told my body that it was about to pop . I puked in four sessions over 24 hours. Now it’s Friday, and I’ve barely eaten since. I’ve eaten a little . Like, I’m fine. It’s just weird. I’m miscalibrated. On my own, nature, nurture, whatever you think, my current body is miscalibrated. It doesn’t do food correctly. On GLP-1 drugs, I’m also miscalibrated. My body doesn’t do food correctly. It highly over corrects. That can feel good for a while. I don’t wanna be skinny, I just wanna be normal. I want to eat, and stop eating, like a calibrated person.

0 views
Chris Coyier 3 months ago

The Good & Not Good

I’ve spent more time with religious people in the last year than perhaps I have in my whole life. It’s got me thinking about religion with more curiosity than I ever have. So I’m having what are probably middle-school level thoughts. I’ve forever identified as agnostic, likely because that’s how most of my family rolled when growing up. Aside from what anyone truly believes,  most people  end up doing the religion their family does. I’m no exception. I want to be a good person. I like good people. I’m interested in what drives people to be good and vice versa. Here’s an oversimplification of all humans that rolls through my brain: There are people in all quadrants. There are cases that make obvious sense: Who’s evaluating these people as being good or bad, and their individual actions, as good or bad ? Me, I do. I’m the judge. I wonder — are there cases that are nearly the opposite? I’m interested in what helps any individual person be good and provides some kind of framework for evaluating their actions. Maybe I can learn from them. Religious or otherwise, equally. I’d like to think I can. I’m not above reading some scripture to help understand the world and myself if it can help me be better. But I struggle. I’ve talked to three men in the past year who have had an encounter with a powerful religious figure. They came to them, as it were, in a time of need, and spoke to them clearly and directly and told them what to do. Did they, though? My agnostic brain is full of doubt. Like… you talked to a ghost? OK. Or did their brain just invent that (brains are wild!) because they needed it and the culture they grew up in supports and rewards stories like this? But I can’t help but worry that my own lack of faith prevents me from these powerful guiding moments. After all, I look up to all three of these men in certain ways and find them to be good men. Maybe I can change my brain to get in on this. I’m just as interested, or more, in the fuel and motivations behind not-good people. I don’t need help understanding doing bad, I don’t think. If I take candy from a baby, then I have candy! Plus, that baby was different to me, and I don’t understand and thus fear it. I can think of two recent personal instances with very religious people hiding behind a religious shield. They did bad. Not horrifically bad, but you know, they had a choice and made the bad one. I can’t perfectly know their mind, but based on their words and actions, it feels like religion pre-excused the choice. Of course I’m doing something bad, I’m born bad, and I actively feed bad about being bad. Religion isn’t a battery of good for them; it’s trapping them into a counterproductive way of thinking. Perhaps being directly and truly accountable for your own actions can be a way out of that trap? I think I’ll just continue to be interested in people and try to pick the best path I can. I’m not sure I’m ready to let religion be a guide to me. But I’m very comfortable with the thought that there is an incredible amount of unknown in ourselves and the universe, and that our actions matter. The contradictions in religion and action will continue to sit uncomfortably for me. I’ve been thinking about this for a year, but high five to Derek Sivers recent post Religion is action, not belief for the motivation to get my own words out. One man believed God was on his side. He often lost his temper, hurt people, and did more harm than good. But he believed that what matters is what’s in his heart, since God will forgive his actions and see his good intentions. Another man was full of doubt but followed the rules of his religion. He stopped to pray five times a day, and donated to charity. He was calm and kind to everyone, no matter how he felt. He was never sure about his beliefs, but kept that to himself, since what mattered were his actions. What is the point of beliefs if they don’t shape your actions?

0 views
Chris Coyier 4 months ago

Tubes

Me, Stacey, and Miriam kicking it talkabout about CSS Scope & Mixins: Daniel and I chattin’ about playing the long game

0 views