Hacks like that are so ugly that I am both proud and ashamed
Streamed
Story liner background. Label styling. Donβt autocapitalize, and auditing to use this everywhere. Discussion of Herb::Engine vs Papercraft for Ruby templating. Symied by GitHub partial outage.
scratch
topics
PRs
story liner bg https://github.com/lobsters/lobsters/issues/1723
label restyling https://github.com/lobsters/lobsters/pull/1737
don't autocapitalize https://github.com/lobsters/lobsters/pull/1738
use autocapitalize=off throughout the site
chael project
fragment caching on mod activity
username - extract, backfill
title
post-stream
review herb::engine against papercraft
https://marcoroth.dev/posts/railsconf-2025-recap
https://marcoroth.dev/posts/rails-world-2025-recap
https://rubyonrails.org/world/2025/day-2/marco-roth
Transcripts are generated with whisperx, so they mistranscribe basically every username and technical term. They're OK but not great, advice appreciated.
Recording
01:39marcoroth_ HeyGuys
graefchen Hello. limesHi
And yeah, so I'm going to grab my to-do list, which is over there, and then bring that up.
Yeah, so we got topics, the carryovers from the last stream.
We're finding a channel title, which
All right, so this is Lobster's office hours.
This is what Lobster's looks like.
I'm Peter, I run the site.
pushcx Drop questions in chat anytime!
This is kind of an open door time to ask any questions folks have about the site, the code base, the anything else.
fpsvogel π
And if folks don't have stuff to talk about, I work on maintenance.
I just caught up after
All my travels on poll requests, I want to say from reviews, there's one or two.
Oh, hey.
Speaking of poll requests, FPS Vogel has made, I think, two that got merged in the last week.
Oh, and there's one more right now.
Two more right now.
Wow, you are busy.
Thank you for these.
So we can talk through any of these, but otherwise I usually start out fairly early in the streams by
fpsvogel Sorry for the `required` bugs after that last one >_<
reviewing PRs and new issues or updated issues, I should say.
So for anybody curious, the required bugs, oh yeah, it happens.
You didn't know that
the styling was not in sync with the attributes and it didn't occur to me that it might've slipped out of sync.
So I could see that your transformation was valid, but you were starting from, well, from a place that was not exactly matching what we had in the database.
So you couldn't have seen that one coming.
fpsvogel β€οΈ
That's all right.
Excuse me.
yeah if that gets bad if i can't stop coughing or my voice starts fading this is going to be a pretty short stream so get questions in quickly folks let's let's take a look look at this background the label tags and i know i saw something go by about the label tags in this issue yeah
I saw there are comments, but I didn't get a chance to read them.
Oh, this one's a feature request.
I will tag this.
05:03Oh, great.
...15Now, let's say she is
06:07Brian, make sure that this person becomes a contributor. All right. I actually have a cough drop, but it might be just starting. So what's... I don't know what this one is. Storyliner has a...
...43That is a is it OK? I can just barely see it. That is a really subtle difference. Yeah, I think what was happening was. The. Original creation on this. Was trying to look like a very chunky table. This is one of those things that's been hanging around forever and never really thought about. And it seems reasonable to drop.
07:26Yeah, I'm not hard to convince on this one.
...48All the checks have passed. Let's double check this. Is it just deleting? All right. The boss of the stream has arrived. We'll see if he decides to crawl into my lap and make it hard to type or head up to his usual perch and we will have the supervisor camera. It's cool enough finally in Chicago that he might start going up again. All right, that's a really easy one.
08:34I'm just going to merge here and I'll leave a comment on the issue. Well, thank you, FPS Vogel.
09:00fpsvogel yw!
All right, and then let's jump over to the issue.
Make sure it closed.
Oh, let's grab this.
Come here.
...16All right. Window manager is fussy. All right, so we got PRs. This one is Storyliner G.
...58If we quiet this came up on last stream variation
10:41So then on that exact same theme that variation should indicate something meaningful, we got this one about the labels that I just filed.
11:01fpsvogel Yep sure!
FPS, do you mind if I call you by your first name, Felipe?
Because I thought it was, I just had to double check.
to try and be polite about people's names, but between folks' site usernames, Twitch usernames, GitHub usernames, people don't often have the same at all three.
I think you and I might be about the only people in the chat who do.
It takes me forever to remember when somebody's got a different one.
fpsvogel We actually met briefly at RubyConf last year ^_^
All right, so, yeah, so this touches on what we talked about, and it removes Chandler's very clever after.
It's so funny how there is a part of me that's like, oh, but the code was clever.
You can't delete the clever thing.
...48Writers, like, oh, we did. Yeah. Yeah, now that I look at you, we did meet over in Detroit, I think.
12:13fpsvogel I was the guy who introduced you to my coworkers enthusiastically, and they were like wut is lobsters
gsora_ speaking of confs, for the first time ever someone i just met brought up lobsters
yes i have variations excuse me i gotta clear my throat i i have variations on that kind of conversation pretty regularly now where like i went to the chicago ruby meetup and i was chatting with two or three people and wait a minute and one of the guys was like wait a minute
You're the lobsters guy, and everyone else was like, he really likes lobsters?
Like, you're a lobster superfan?
You know.
That's kind of funny.
Oh, neat.
Did you give them an invite?
gsora_ they were actually already on the site!
I hope they weren't like, oh, man, have you seen this shitty website?
Probably not.
People seem to get that it's doing its own thing.
Oh, neat.
13:26gsora_ we calculated our jcs number :^)
marcoroth_ I still need to figure out how to sign up lol
your JCS number.
Oh, Marco, I didn't realize you weren't on the site.
So we have an invite system to deal with spam and 100 other things.
So rather than just sign up, let me pull I'm gonna do this off stream, because I know it's
...57I thought you had contributed a PR.
Yes, here it is.
So I'm going to pull your email from a commit.
graefchen "jcs number", so somethink like ErdΕs number. neat. limesLurk
marcoroth_ sweet, thanks!
Got it.
And I will send you an invite right now.
14:24I just watched your...
I think it was your Rails world talk.
marcoroth_ Rails World yeah
Or was it?
marcoroth_ thanks!
The one about reaction view that you did just recently, that was very neat.
...54Yeah.
Marco, can I ask
fpsvogel very nice improvements to ERB and also super exciting direction for the future
I'm trying to phrase this delicately, but are you just incredibly productive, or have you found a way to get somebody to pay you to work on the ERB and all of this other stuff?
Let me put it a different way.
You are very, very productive.
You've made a lot of very impressive stuff.
How can you afford to do that?
I think that's very cool, and I want to make sure that other people have those kinds of opportunities too, so I ask.
Doppp ruby stream!
so that we can hopefully get others.
Doppp so rare
Doppp the community should stream more
But I'm aware I'm asking kind of a finance question, so if you'd rather not talk about it, that's fine too.
Hey, Dop, welcome.
Yeah, not the most popular thing in the world, but we're happy with it.
All right, so that's clear.
GitHub.
This is...
I think that was a...
They do some kind of very clever caching, anti-scraping thing where there's actually a timestamp.
Yeah, you see this JWT in here to try and minimize people hotlinking images.
So those image links expire after a minute.
That catches me sometimes.
All right, so...
I was going to say, I didn't see a difference.
Before, after.
game68240 hello
Did you load those in order?
Yeah.
All right, these are coming along.
16:55marcoroth_ it's definitely not sustainable lol, but I have been prioritizing OSS over consulting work this year, but I slowly need to go back to consulting work now
Somebody in the Lobster's chat room, which I don't usually have open, just noticed that the
17:07graefchen never coded in ruby, but it does indeed look like an neat language. I really really like its syntax. And what some japanese ruby enthusiast can make with it. limesLurk
notice that i'm streaming ah okay well it's very generous of you to have donated your time but yeah i hope the improved profile helps do you have good client work because if not i know i haven't seen you tweet about looking for clients or what are we saying now skeet and toot because we're grown-ups
so i would say please do that so that we can repost it your thing should say like literally something along the lines of you know after putting so much time into herb or herb and reaction view i need to
know rebalance and pick up some more clients if you know folks who are looking for a rails expert something like that because then it's very easy for other people to repost for visibility and have you know some of your headline public accomplishments as a midwesterner i know many cultures have this but in the midwest it is you don't toot your own horn is the saying that comes up all the time you know
You don't want to show off all of the stuff you've done.
This really does look nicer.
Yeah.
Wasn't sure about the dropping bold in favor of bold everywhere, but this really does look nicer.
And then this was the one that was... Yeah, this is...
I know I look at this and I...
every single day for years i look at profiles so i'm the opposite of a new user but i think this will be clear for new users i hope so this is the only this is the one i was really concerned about because especially when people fill in a home page or a url it shows
Like, some of these fields are user-controlled, and some of them come from the system.
marcoroth_ Yeah, definitely. I've been working on some other ways to make it work now, given there is so much momentum, but we'll see
So the system creates these first four, but then the rest that appear, email, mastodon, about, URL, are user-controlled text, and that combination of system text next to user text, I wanted to make sure it's very clear.
Yeah, I'm very...
I'm not super enthusiastic about GitHub Spot.
I actually think Patreon would be better, but it's really great that there's a bunch of options coming along.
I was just talking about this in the thread we had.
pushcx https://lobste.rs/s/5ngjnk
One sec.
I'm not sure it came up on stream.
Yeah, I did put it in the last stream, but I had a little conversation in this thread about the Polyform licenses about
PuercoPop Question about title guidelines. Does the rec to remove the author include the interviewee?
I had a conversation with a site regular named Wilhelm von Weiner who said that this wasn't what they had wanted to see out of software licensing.
And I was saying that I think it's enthusiastic because hopefully it is solving the problem of
software going under-maintained or even abandoned because people can't afford to keep donating time to it.
so, hey, Port Copop, and for title guidelines, I think it's a structure thing.
I don't think I ever have explained it, but if the interview headline is like a chat with Alice Example about
fpsvogel I just noticed the mobile view for the profile page doesn't look great with the changes in this PR. I'll add that to the screenshots, just a minute.
automated testing i would leave it alone if the thing is titled a chat about automated testing and then there's like a pipe or a dash and then it says alice example i would remove it does that make sense i guess whether it's it's part of the words or separate and definitely if the title of the interview is just alice example
You kind of have to leave it so you have something, although that's one of those cases where it would be cool to replace the title with something that gives you any idea what is in the interview rather than who it's with, because lots of people will never have heard of Alice Example.
Oh, thanks for checking, FPS.
Felipe, I could actually just say, yeah.
22:31Hmm. This?
...41PuercoPop Ok, in this case it was in a Paren after the title. I'll remove the interviewee name them
PuercoPop thanks
This is, there is, okay, got to add some space there.
This is not a lot of contrast in this screenshot.
I don't usually look in.
Yeah, parentheses after title is kind of that second case I was giving.
Thank you.
23:04Now, I guess the folks who really like dark mode generally like low contrast stuff, so.
...16All right. So let's...
...47What state is my peak? I'm in an experimenting place. OK, hang on. You know what? Actually, rather than cancel that, it's a one-liner. Let's just put that back and then fetch. I've been tickering with recheck. I was beta testing with someone yesterday. And it was super helpful because they did they had a bunch of slightly odd things in their repo that I had not accounted for and they caught two bugs. And then, once we got that sorted out i'll have to cut a new release, but once we got that sorted out recheck could catch bugs in there, so it was really satisfying in both directions so.
24:49I hope I'm not just making a merge conflict.
25:01fpsvogel I added a screenshot to the PR description: profile (mobile)
It'll be my merge conflict, though, I'm not going to push it.
I'll check that in just a sec.
So that's good.
Oh, yeah, this one, there's something about the form for editing domains and origins.
Maybe it's the long labels, but there is something about this form that always looks clunky to me.
I don't know that I could explain it.
...30Profile mobile.
...42Ah, yeah, so this is... Now there's really not much contrast at all. So Felipe, if you were to put in like a URL or link an account, if you throw in a homepage or an about, this is gonna get even starker. Hmm. Yeah, but this is the kind of, This is not enough contrast. I can only recognize what's going on here because I've seen this forever. If I were new to this. So a lot of times people will scroll and then fixate into the middle of something. And if your eyes track in and the first thing you read is two months ago, then stories submitted, then zero. It's like, what's even happening here? This is just a jumble of things. The structure doesn't tell us anything anymore. So now... we've lost just a little bit too much contrast.
26:56Yeah, so the distinction we had was the layout was showing you what the difference was between the things. But now that this layout is different, it doesn't show you.
27:16All right, so either, and on the form, the difference between a label and an input element is enough that you don't have to, that you can tell. We have a form, yeah.
...49Hmm.
What do we think?
So the profile was the top of mind one.
I think stories are clear enough.
fpsvogel I should add mobile screenshots to the other views too
Are there other places in the views that we use label a bunch that we're going to break?
I don't think so.
Everybody else like story and comment has more.
28:21more structure to them.
...28Mod notes is fine.
That's a power user interface.
So yeah, so there's users show.
And then these are all forms, forms, home index.
Oh, that's just the label for how long ago.
I forgot password.
Editing a domain.
fpsvogel I gotta go for ~15 mins, but I'll be back
We don't actually show any stats.
This might be the only view of its kind.
I don't know that I totally recognized that before.
29:19Yeah, that's that's the only place that we use a bunch of labels in a view instead of a form. OK, so let's leave a comment. And this link will work, you know, a couple of hours after the stream for anybody who's curious. So what is today? Twenty five or nine.
32:18how did let's double check how okay yeah so he used the the structure of it to put the star after which is what i wanted to double check i really like these pseudo selectors after and content and oh boy i don't Yeah, the mic is not picking it up, but apparently one of my neighbors has decided to learn harmonica. I'm sure that won't drive me insane. They are sitting out on their porch, near enough that I can hear them, and working through their scales, or... Honestly, I'm not sure if it's supposed to be scales, or like a twinkle twinkle kind of song. Yeah, that's a little rough.
33:29We have a violinist who lives across the street, and in the summer, I don't know who they are or exactly which apartment they're in, but when they're practicing, it's actually really lovely to have a violin floating in across the street. Beginner harmonica is a little rough.
...59anyways before the harmonica knocked out of my head i was going to say i really like the the way in css that you can do things like use after and content so that you are forced to keep your structure like this is a required field as we label those fields as required to get the asterisk rather than it's just text on the page that can slip out of sync like that styling had so Not only do we have a site that looks a little bit nicer, it is more reliable in the face of change, which is great. All right.
34:47I think the simplest thing is probably going to be adding back bold just to the user profile, which can we just
35:05graefchen i really like css. Over the years it got really cool and powerful features. limesLurk
users show going alphabetically yeah I would I wish I knew what had happened but it feels like around and I'm just ballparking a year but somewhere in the early teens they got it in gear and started building all kinds of
very nice features.
...45And it's been really apparent in the CSS improvements in the last 10 years that it is folks looking very hard at how are people solving problems with CSS? And how can we better support exactly the things that they are actually doing? Because it's just been really strong hits. All right. So let's go back here.
37:02It's a fun way.
...49pushcx @fpsvogel When you're back, I left a suggestion for fixing the user profile, we could get your PR merged if you want to make that small change now.
All right, so let's leave a comment.
All right, so that'll be real easy.
38:30brainwane just joined. hi
Oh, hey, Brainwade.
Nice to see you again.
Did I get this into the to do?
Yes.
Well, welcome back.
So I'm working through the pull requests.
graefchen Some of the newer functional pseude-classes like ":has", ":is" really created some amazing functionality. limesLurk
I think that's everything that's updated since the last stream.
Except, oh, a new one from Echo.
I did it five days ago, I think that's me.
Oh yeah, Gryffchen, I'm such a fan of has and is, and Chambliss and I were talking about CSS styling because I'm fairly conservative about using newer features in CSS on lobsters because we have an unusually high proportion of
marcoroth_ `@function` is also π€―
odd browsers non-mainstream browsers you know and this isn't something i've studied but it might be like we have three percent of those instead of one percent right and it's odd small projects like servo or ladybird or or anything else in that neighborhood i have even had someone say like oh yeah lobsters it looks all right on my my custom browser and i'm like whoa what do you
pushcx https://web-platform-dx.github.…
in custom browser did you make a theme and they're like no i'm writing a browser from scratch i think that's happened twice now but so chambliss and i were talking about how do we pick things and we found a definition of widely available that is based on the majority of browsers supporting them for years
And we tried to write this policy that we don't use CSS features until they are considered widely available baseline standard.
But there is just an exception for colon has because it solves so many problems.
Marco, what is at function?
I don't think I know that one.
40:56marcoroth_ new-ish CSS functions
Yeah.
41:02brainwane btw any Ruby developers here looking for a remote job? I know a nonprofit that's hiring
marcoroth_ yup, signed up now, thanks!
newish css functions yeah well i mean they're new to me it's not hard to surprise me with new css though i don't have a great i realize how ironic this is but i don't have a great new source for css yeah marco if you hopefully you got that invite by now it usually only takes five or ten seconds but if you wanted to submit some articles on new features in css that could be pretty great
Huh.
Ah, great.
Yeah, we had a problem earlier this year with a semi-popular male host.
So then I was like finding random employees to be like, hey, can you look into your spam filter?
We're not spam.
We're just a very small sender.
All right.
42:08Okay, no, no changes since I was last here. What is this bug? Aha.
...26That seems legit. I don't think I knew this was an attribute that you could set.
...47marcoroth_ oh, TIL too
pushcx https://developer.mozilla.org/e…
That's great.
Oh, yeah, here, let me share the MDN link then.
Sorry, I try and remember to share the web links as I learn stuff.
marcoroth_ baseline: "Limited availability"
OK, well, that's lovely.
How nice to get not just a pull request that fix a bug, but how nice to get, oh, no, it's limited availability.
I'm not there yet.
marcoroth_ its probably just not doing anything
marcoroth_ if it's not supported
On the other hand, this is me wanting to justify something, because I want to shotgun this through the site.
Yeah, I didn't even see this.
I was so excited about, oh, it does exactly one of the things I wanted.
So it's Safari on desktop.
but it's on iOS.
That's actually totally fine, I think, because on desktop, people are almost always going to be using a keyboard.
It's the mobile browsers where it's real value.
Yeah, I think we're okay.
It doesn't feel like I'm violating the
hey, these are the features we try and go that I just showed at the top of the CSS.
Like I'm violating that standard because this is a very small fix and it's going to work in all the browsers we need.
I think we're okay.
45:52fpsvogel back
graefchen welcome back mr bird. limesHi
Ah, hey Felipe.
If you scroll up a little on the Twitch chat, I left you a comment on the PR.
It's just about ready to go, I think.
If you have a free couple of minutes right now, we could get that merged.
46:24fpsvogel Yep I'll go ahead and make the change you suggested
Let's get this into the archive.
...49That's taken a minute.
marcoroth_ github is having issues
I wonder if something's going on with GitHub.
There we go.
Usually it's like a, you know, one, two.
Maybe they're busy this morning.
Oh, are they?
That's rough to hear.
47:09marcoroth_ my github action runs have been failing
Well, what's the the hug ops saying?
Best wishes to them.
All right, so let's go look at.
I say I want any time I have an input.
And then I just read it, but I need to actually see it.
See it.
All right.
So auto capitalize equals our options are off or none.
...55graefchen gh doing gh stuff. or someone is ddossing cloudfare again. limesO
So I'm just going to set off.
48:06I wouldn't know if, does GitHub use Cloudflare?
...19Hang on, I'm confused about where I'm at.
...43marcoroth_ they just published an article like yesterday that they are migrating everything to azure
Oh boy well that's that's going to keep them busy for a minute.
I understand why Microsoft would do that, but.
What a big project.
49:05i'm out of sync somehow I don't have that.
...14-oh. I don't have that commit that I just merged, I don't think. Okay, so now it's here, and we're rebased. Okay, these were just out of order from what I expected.
...47All right, so we'll do it here. And then that's actually messages. is form as the username field. So we're going to have to capitalize off. And then where else do we say?
50:42Let's do it on email too. Yeah, all right, so I'll make a, might as well do it now. Have to make another pass for email fields.
51:01This is editing your settings, yeah. And email also shouldn't be. You know, input mode equals email probably already handled that on mobile homepage. Definitely shouldn't be about people to use sentences. What else on the invite here? Got it on email. Password about is fine. The Mastodon stuff.
...55Your instance name should not auto capitalize.
52:10Honestly, I want to check every form.
...21Oh yeah, tag names should not be capitalized. Description, we do capitalize there.
...39Category, the names are not capitalized.
...58I just went through this one. Hats should be capitalized. Man, I've never written a style guide and I never want to, but we are backing into a style guide. Oh yeah. Hats are capitalized, but URLs.
53:26Did this one already?
brainwane I know the guy who started the documentation style guide at Google and maintained it for like 15 years
So if anybody thinks that going through every form on the site for this is a little tedious, you should have seen the Markdown PR where I went through.
It's in the stream archives, but I have gone through all 610,000 comments to make sure that updating our Markdown library didn't semantically change any comments.
They have slight white space differences.
brainwane it feels like any sufficiently multi-person or long-lived project accretes styles guide-ishness
And I caught two comments where the way the strikethrough markdown was processing, either in one case, it removed the strikethrough, which semantically changed the comment.
And in another place, someone said about 10 euros.
And then they said, you know, tilde about 50 euros.
And it added a strikethrough across most of their comment, which is the inverse semantic change.
And then there were lots of false positive changes to white space and usernames.
Did I?
I don't think that made it onto any of my to-do lists.
Yeah.
I think there's something about having to be multi-person enough
And I could see Google Docs being, or that's funny to say Google Docs, that's a product name, but documentation inside Google needing one of those.
That feels very much like a Sisyphean task in a huge company like Google, because you would have employees who don't know what a style guide is constantly arriving and hammering out docs in their own personal style.
I guess the Google way would be to make a bot that finds new docs and lints them.
Because some of this stuff you can do mechanically.
And if you start dropping edits in mechanically, you can link to the style guide.
That would be quite a way to make friends with your coworkers.
Let's just update this to the new style.
56:25brainwane https://www.kith.org/jed/2025/0… a retrospecetive
So I did this one.
Oh, neat.
I'll have to give that a read.
Thank you.
That's such an interesting project.
So most of my career, I worked in small companies, very often startups, and then
It was very interesting to go from that to Stripe, which had tons and tons of engineers and have a whole separate class of problems that were just around communicating things that couldn't be expressed in code or finding ways to edit code so that they could force that knowledge transfer to happen.
I don't know.
It was a whole set of problems I had never considered.
then obviously in moderation i spend a lot of time thinking about how do we convey information and acculturate people we do want it on story titles because we we're not strict about it but we do lean towards a titled case we at least don't do headline form like u.s newspapers where they don't print the verb to be
57:53I swear like 10% of the onions jokes are just how weird and clunky headlines get when you stop saying the verb be. I'm here for it because I'm that kind of grammar nerd, but.
58:38I am sneaking just a little bit of white space cleanup in this. We used to line wrap the templates at like 80 or 100 characters, but it did not improve anything. So I very slowly have been removing that from the code base.
59:02Speaking of linters, we do not have a linter for the views. Marco is working on linting for Ruby views. For anybody who hasn't seen Herb, H-E-R-B, that's pretty great.
...25Reason should be capitalized because it's a full sentence.
marcoroth_ I just ran it again over lobsters, and found a few new bugs I'm not handling yet
We're getting down to...
the end of things oh this definitely shouldn't have ah well if you want to open another pr and fix some more things i would love to have those fixes
Although, since we last chatted about front-end views, are you familiar with Papercraft?
01:00:14pushcx https://papercraft.noteflakes.c…
What is it, papercraftnotelights.com?
Yeah.
marcoroth_ yeah, I looked into it. It's Phlex-like
So it's an alternate templating system that
fixes a lot of the structural problems and the kind of bugs yeah the one thing that is very very interesting about it is is their username noteflix on github yeah and then p2 issues i thought they called it so they
marcoroth_ I think p2 became papercraft
They worked on a second version of it in a different repo.
I have this in my P2.
Here we go.
Let me pull this over from my browser.
pushcx https://github.com/digital-fabr…
I don't know why this repo was in another username as well.
So this one, yes, P2 became Papercraft version two.
And I guess it was easier for them to experiment in a new repo than a branch.
But it's especially odd that it's under a different owner.
But Byroot showed up and posted a very Byroot comment of, hey, your performance test is actually invalid.
You're not quite testing what you thought you were testing.
these are not equivalent so i've redone your benchmark and it shows that the numbers are totally different than what you thought and i i say it that way because i have seen him leave variations on this like comments that fit this template i think i've seen at least five or six of these so in this one he said hey you wrote a blog post that said papercraft was faster than erb i didn't believe it so i run a benchmark and i figured out what was wrong and actually
ERB as people use it is six times faster than P2, which is the usual case because ERB... What's the right analogy here?
01:02:47It's sort of like saying
a police car with its lights on is faster than a taxi.
And it's like, yeah, because the police car with its lights on gets to ignore the law.
marcoroth_ Herb::Engine might even be able to to outperform Erubi eventually
And so ERB and ERB, as usually used with the compilation cache and everything, they're the fastest thing around because they don't follow any rules.
So there is some nice discussion about performance in Ruby here.
and compiling these templates and escaping.
And then after some work that NoteFlix here did, now it's getting to a point where AeroB as typically used is only about 30% faster than PaperCraft.
And this P2 is what became the current version of PaperCraft.
And this is, this is kind of an incredible difference to me, because in that 30%, Arabic gives you like no security guarantees, and you can just output terribly broken HTML.
And paper craft is a structural builder.
And so you automatically get things like
Do your div tags.
If you have an open tag, do you have a matching closed tag?
You cannot output invalid HTML conveniently in paper craft the way you can in Araby.
And so that you get all of these structural guarantees for only a 30% performance penalty.
I mean, I guess I,
If I was going to say it, I'd have to talk about the reciprocal in this case.
But you get what I'm saying, that this is so nice.
So I have been seriously considering introducing Papercraft, now that P2 is merged down into it, to Lobsters because it gives me all those guarantees I want.
Like, that's it.
That's those problems that have frustrated me for so long fixed.
marcoroth_ Herb::Engine is matching Erubi, with all the guarantees Papercraft gives you π
You know, I got to save this.
I keep looking this PDF, looking this issue up.
And I always have to go find it again.
Wow, that's really impressive, Marco.
I don't think I know what Herb Engine is.
01:05:47Always funny to get the AIO reviews for things that showed up after their training run. And so then you get just absolute nonsense.
01:06:16marcoroth_ https://marcoroth.dev/posts/rai… it's in this one
Oh, yeah.
This paragraph is exactly the thing that I'm saying I want.
...35pushcx https://marcoroth.dev/posts/rai…
Let's bring that in and I'll jump over in a second.
So just to share the link of what I'm looking at, because I've been scrolling it for a second.
01:07:03I'm gonna have to go through this talk again. I didn't get everything clearly.
...43all right so let's i'm going to put all this on my to-do list marco one thing i'm not getting a sense of immediately from these summaries is and i'm aware one of them they're immediately getting out of date because you've been moving so fast but what's the maturity level of herb engine like is it something that could be used in a project right now And since I have to ask, is it Ruby or is it JavaScript?
01:08:49Maybe Marco has wandered away or is typing something wrong. All right.
01:09:04marcoroth_ Yes, some poeple are running it in production, including RubyEvents.org. But yeah, all Ruby
Let's finish the thought of the auto capitalize because I'm in the home stretch here.
No, I am 54% of the way through the hits performs not the home stretch.
...43marcoroth_ since it's happening in the "ActionView precompile" step you don't have any overhead after you compiled the templates
have actually had links submitted with a capital h on the https because someone just types like they know the like python.org oh neat i'm really impressed by ruby
events i checked the talks page for new talks every couple of days man these never end lobsters was a bigger site i would never have taken this on because
This already has taken a while.
I guess I'd be getting paid for it.
That makes a lot of tedious things easier.
01:10:58I'm going to just standardize on off. Let's switch to the new style as long as I'm here.
01:11:32That's really interesting, though, about the ActionView precompile step. It's like compiling ERP templates. I see how you get that kind of very nice performance. Have you actually run it with, have you run a benchmark? And then I guess the second question, anytime you ask a benchmark about A question about benchmarking in Ruby is, and has Byroot shown up to correct your benchmark?
01:12:08It's like saying Beetlejuice three times and then he appears and he corrects your benchmark.
...24You know, this is going to look a little funny on mobile too.
marcoroth_ I actually haven't, because it outputs the exact same "compiled Ruby code" as Erubi::Engine
but it's just the one field, so it's probably okay.
The fact that it's the first field, it'll make it look funny.
When it's in the middle, it's obvious, but we'll get there.
01:13:02marcoroth_ (as long as you have valid HTML in your templates)
Oh, that's kind of impressive.
Proof by construction, right?
Oh, well, that's the problem with the ERPS.
Don't have that.
That's a different site.
I'm not going to think about it.
They're different forms.
...38I'm going to think about it. Where would that go? It's not worth making a constant about, but yeah, those should be the same size.
01:14:01All right, so let's see.
...0888%.
All right.
There's everybody.
marcoroth_ but it will be able to outperform it, because we can remove insignificant whitespace, turn any ActionView tag helper (like tag.div, etc) back to static strings, and transform `render` calls on-compile, so you can avoid the expensive partial lookups
shotgun patch where we touch 20 files.
Let's make sure the build is green.
Removing significant white space.
01:15:05That's really attractive.
...28marcoroth_ which should probably also solve your actionview hack you showed me the other month lol
So I guess I'm a, I think my sleep got disrupted and
marcoroth_ yes
Oh yeah, my heinous inline partial is probably the hack you're thinking of.
The expensive partial lookups is why heinous inline partial exists.
So yes, that would be lovely to delete.
God, there's...
It's... Hacks like that are so ugly that I am both proud and ashamed of it.
Where it's like, okay, this...
It's kind of fun to write, but I shouldn't do it.
And then, you know, because I wrote it, I get a little attached to it.
But it would be for the best to delete that.
And if anybody doesn't know what I mean, you can look in the code base for the word heinous.
And it will lead you to the code.
But I avoid partial lookups in a couple of places by
having my own terrible template precompiling step.
And I say terrible because it's just, it's string replacement.
01:17:01All right, and then did I get? All of these to use off instead of none. Yes. Cool. So that's set. Let's deploy these couple of things. And then since it's been a couple of minutes, Felipe, did you get a chance to come back to your restyling?
...29fpsvogel Working on it
Not yet.
All right.
So what's hanging out in?
issues ah thank you felipe someone responded to me
01:18:10fpsvogel I was trying out some other styling for mobile views. Didn't really work out so I'm doing the change you suggested and adding mobile screenshots
Oh, neat.
I guess Jamless knows Rust.
...40Okay, fair enough. I appreciate that you experimented with stuff. Because I sure don't have the best design sense in the world. So it's great that you tried a few things. It's one of those where like, I look at the problem and I can see I am sure that there is an obvious change that I'm not seeing because I'm not an expert. And then someone with some design chops will come along and they'll be like, well, obviously you use italic or you add a half an m space and i'm like oh yeah now that i see it it's obvious but
01:19:44the fact that it stumped chamlus for a minute is kind of encouraging because i was tempted to look into this and see like is this just an option should i look at the ruby should i and then i was like ah it feels like a rabbit hole let me just file a bug instead going down the rabbit hole and the fact that it's upstream and complicated and a non-trivial patch I feel so good about not going down the rabbit hole my instincts are usually not great on those but I feel good that I caught it there all right okay so yeah this one I filed
01:20:32This doesn't have any labels. This doesn't have any labels. This one I have to look at. Editing a comment orphans the reply. I think I fixed that one. Let's take a look.
01:21:18Hmm. I don't know what that bug is.
01:22:04That's too old. Actually, was it one, two, three, four? Yeah.
01:23:24Oh no, it doesn't actually apply. Because avatars get printed in a totally different code path than Markdown rendering. So yeah, I'm getting fuzzy headed. I think I'm going to start making mistakes. So I'm going to... yeah i'm actually gonna put up the the last call thing because i i feel pretty rough and i'm gonna hang out long enough to see if i can get felipe's pr for labels merged but otherwise i'm gonna make this a real short stream you know 90 minutes instead of the full usual three hours because otherwise i'm gonna fall asleep at my desk i don't know what that is but I feel like I slept about three hours last night, which is strange because I was definitely in bed for nine hours.
01:24:44What was the name of this? We relayed these things out with grid.
01:25:48fpsvogel Pushed a new commit
Yeah, I had more on my to-do list, but I'm too out of it.
I'm going to start saying and doing goofy things.
Ah, thank you, Felipe.
Great timing.
01:26:33fpsvogel And updated the PR description with more screenshots
I don't yet see it, so I guess this is more of GitHub having issues this morning.
...43Yeah, you did.
...50fpsvogel I also added the colon back to the Profile page, for extra contrast
So let's look at the, yeah, bold is not a lot of distinction, but I think that is enough for us to deploy and consider later.
That's great.
Did you maybe force push and edit your commit?
fpsvogel oh whoops, hold on
because I'm not seeing a new commit below my comment and GitHub is not good about showing edited commits.
No, I'm just out of sync and I'm not seeing that you added the class.
01:27:37Sounds like maybe there's one commit that didn't get pushed up.
So otherwise,
I put up that green last call questions.
brainwane catching up on backscroll to check....
If anybody has any last questions about the site or anything else they want to talk about, now is your time to get a slightly spacey answer because it's not going to be a good answer.
But I'm going to wind down here in the next minute or two as Felipe gets that commit pushed.
01:28:18Brain when I forget.
brainwane wishing you a restful rest
I know you do Python.
Do you do Django?
fpsvogel Hm, looks like I actually did push it. Investigating
DjangoCon was just here in Chicago.
If I missed you, that would be a shame.
brainwane I personally don't do Django development but I've been an end user and I know Django folks
graefchen I just wanted to say that I somehow like the idea of adding print styling into the sites css. limesLurk
Yeah, I am definitely actually going to just take the cat and curl up in bed.
Well, let me shift reload because, you know, it's an SPA.
...48Ah, well, thanks, Grave Chat. We have... I think we have just a little bit of it now.
01:29:02Yeah, we turn off the comment folders. That's about it, just to cut down on the noise. I know some folks like to, in their browser, do the print to PDF to save web pages because it's a way to get... working links and styling. And the various save to HTML things either you end up with HTML and a folder or you end up with some kind of custom single page format, which is not great long term.
...54fpsvogel The extra commit is in my branch: https://github.com/fpsvogel/lob… But not appearing in the PR...
I wonder what is going on here.
So Felipe, I don't think this is you.
I think this is GitHub.
fpsvogel Yeah looks like it's a problem with GitHub
think they're in restyle label tags yeah I think they're in some kind of degraded state yeah PRS are experiencing degraded availability I think that's what we're seeing so you know that could be three seconds that could be three hours that kind of thing is rough in a distributed system
Let me go look at your commit before I say this, but I'm pretty sure that the moment I see this, I'll click the merge button.
Oh, look at that.
GitHub is in a rough state.
I clicked on the commit and it just can't find the commit.
All right.
fpsvogel (οΏ£(γ¨)οΏ£)γ
It's not just me that's having a rough morning.
It's GitHub too.
So I will be fixed by curling up in bed with the cat.
Not this cat.
fpsvogel Feel better soon!
My actual cat.
But GitHub clearly needs to do the same thing.
So best wishes to them.
And to all of you, of course.
Yeah, I don't know what this is.
This lost my voice has turned into just a nagging cough.
It's so awful.
And I'm back to, I'm negative for COVID.
I have tested, but I'm back to, you know, staying home and avoiding going out because now we're all a lot more hygienic about these things.
And that's no fun.
I want to be out and about because we're getting beautiful fall weather.
I hope you are too.
I'm just rambling at this point.
fpsvogel Enjoyed the stream. Bye all
graefchen Get well soon!
I'm going to roll out of here.
I hope everybody feels well and submits lots of PRs.
pushcx thanks again :)
Take care, folks.