Twitter Usage and Rewrites

Speaker 1:

Why do 20,000 people follow you? Why do 20 let's talk about that. Why do 20,000 people follow me? Why did 10,000 people follow you? Why am I twice as important as you on the Internet?

Speaker 1:

That's the question.

Speaker 2:

Did you have like a big period of growth? Because for me, it was like years of like, pretty much like just, you know, 20% increases every month or whatever and then slowly compounded. And it grew a lot since January because I've been doing a lot more online but, yeah, it wasn't like explosive growth. I think it was like really slow growth.

Speaker 1:

Yeah. Mine was, I mean, I've had Twitter for like fifteen years or whatever, thirteen year, whatever it is, since the beginning. But I didn't really use it until like maybe a year and a half ago. Like, I didn't actually tweet, I just read stuff.

Speaker 2:

It's more than a year and half ago because the first DM you sent me is gonna be on Saturday, this Saturday or this Friday.

Speaker 1:

Oh, wow.

Speaker 2:

Two years.

Speaker 1:

Our DM our DMiversary. Yeah. Okay. So I was using it. Okay.

Speaker 1:

So, yeah, whenever I would have had you on AWS FM, I guess I was probably getting started being active on Twitter. Yeah. I would say, like, I have 20,000 people that follow me because of, like, six tweets. So, like, there was one tweet that took me from, like, a 100 to a thousand. And then there was another tweet, and it was, like, I went to 3,000 off that one.

Speaker 1:

It's like, I never really grew outside of some big ones. So all of my following follows me for a different reason. They're in, like, five different categories, and they hate everything I tweet. And I wish I didn't have a following at all.

Speaker 2:

Maybe you just start over and have a tighter personality.

Speaker 1:

I guess I could. A tighter personality. I feel like I do have a tighter personality now. But

Speaker 2:

You have the baggage?

Speaker 1:

I do I think I have, like yeah. The baggage. I just like, there's multiples of my following, that I don't deserve. I should be at, a thousand. That would be good.

Speaker 1:

It'd be a healthy following.

Speaker 2:

I've told you about my Twitter history. Right? Like how I had to stop for a while and then restart it again? No. Okay.

Speaker 2:

So Like addicted? Go ahead. No. It was actually it's a kind of a funny situation. So, like years ago, I don't I don't know how many years ago, maybe like 2017, I'll say.

Speaker 2:

Like that's kind of when I first started to really use it. And I was using it every day and I was like, kinda in a certain bubble. It actually wasn't Tech Twitter, it was like I don't know I don't know what it is. It was adjacent to tech Twitter for sure. I think it was like less on the engineering side and more on just tech in general or like startups, etcetera.

Speaker 2:

Yeah. And I was like using it pretty frequently. I got to the point where that guy I think I mentioned this to you before, that guy oh, no. I did tell you this because I said that guy Naval followed me and you kept saying naval.

Speaker 1:

Oh, yeah. Naval, right? Naval. Yeah. So he Like the orange.

Speaker 1:

Yeah. Or like Yeah.

Speaker 2:

The ocean forces military, naval.

Speaker 1:

Oh, naval. Yeah yeah. Okay. Makes sense.

Speaker 2:

So he, at one point, retweeted something of mine when he has like crazy following. So I got huge amount of likes, had a huge amount of followers from that. And I was like, oh, it was really cool. And then something kept happening to the app on my phone where it would just stop working. Like I would use it and it would just be super slow or like it just like wouldn't be loading at all.

Speaker 2:

And then if I uninstalled it and reinstalled it, it would work for like a day and then it would just stop working again. And that that friction just made it so I just stop I started to stop using Twitter just overnight basically because it just

Speaker 1:

You've run like Arch Linux on your phone? What what's wrong with you?

Speaker 2:

No. So I was just like, this is so annoying, but I never prioritized fixing it. So I just kinda slowly just like weaned weaned off it. And then at some point, I realized there's some like super deep hidden setting in Android that lets you like turn off internet access for a specific app. And I don't know how, but it kept getting turned on.

Speaker 2:

So I literally was off Twitter for a year and a half until I unflipped that and I figured out what was going on and then and then I started using it again. Wow. That's when you were using it again and that's how we met and then like I got more The rest into like is history. Yeah, exactly. So if yeah.

Speaker 2:

If I ever need to like kick my Twitter addiction that's that's got turned on in that setting and it just makes it so frustrating to use Well, I have to have someone secretly turn it on so I don't know what's going on.

Speaker 1:

I've never heard of that. Yeah. I've never had issues. I just never for years, I would tweet, like, once every other year. And, I mean, that was for ten years.

Speaker 1:

It was like, I could never understand how people had, like, the idea to, like, I'm gonna write this on, like, a public forum. Like, just sharing things about what's going on was just so foreign to me. And I would look at people who had, like, thousands of tweets, not followers. Like, they had tweeted thousands of times, and I just thought, like, how in the world have they tweeted 5,000 times? And then it's like, that's just a tiny amount.

Speaker 1:

There's, like, people with a 100,000 tweets, and I just couldn't wrap my head around it. And then eventually, something clicked. I don't know. I started actually engaging, tweeting with people, you know, replying to people or whatever. And yeah, it now I'm hooked.

Speaker 1:

I'm pretty hooked. It's the first time anything's ever clicked for me on social.

Speaker 2:

Yeah. I think for me that first phase, it was really like I always wanted to get better at writing. And before the outlet for that was, oh, write a blog post, which I just never did. It was just so much upfront work and like just a barrier to sitting down and writing like a full blog post a lot. But I still wanted to get better at writing.

Speaker 2:

And what I liked about Twitter was the character limit is like a nice little like training zone for like learning how to write well because you have to strip every unnecessary word, you have to compress every complex thought into like the fewest characters possible while still like explaining it well. And I think like doing that after like six months, like every day trying to like express my thoughts in that way, I feel like I became so much better at writing and expressing ideas. It's just kind of like you suck at it for a while then all of sudden it just flips and you're like, oh yeah, this is how you do it. And you end up sounding more like like like really legit writers. That's what they do.

Speaker 2:

They just like analyze every word and like drop the ones that are just fluff.

Speaker 1:

Kill your darlings.

Speaker 2:

Yeah. Exactly. Yeah.

Speaker 1:

Do you remember the 140 characters? I don't even remember it at this point.

Speaker 2:

I can't believe it was that short at one point.

Speaker 1:

I know. That's intense. Yeah.

Speaker 2:

And now there's no limit.

Speaker 1:

Well, it's like, is it 4,000 or something?

Speaker 2:

Something crazy. Yeah. I still impose artificial limits on myself. I say that if I'm doing just a tweet on my own, I'm sticking to 280 limit. Yeah.

Speaker 2:

If I'm replying to someone, I'm I'm gonna go over it because I'm like trying to like explain something in detail. But Yeah. I like I've always liked that it forced you to compress.

Speaker 1:

I I saw you say that on Twitter that you kinda have that I think I intuitively did the same thing. Like I I wouldn't write like a first tweet that was like a big saw somebody the other day post like a whole blog post on like a top tweet, like a top level tweet. I thought that was interesting. I don't know if that's gonna be a thing.

Speaker 2:

I just never read them.

Speaker 1:

Had like formatting and everything. Yeah. It's just it's not the place I wanna like sit down and read Yeah. For seven minutes in a row.

Speaker 2:

It feels very LinkedIn. I feel like whenever I see screenshots of LinkedIn, it's it's stuff like that.

Speaker 1:

Yeah. Exactly. But I do like in a reply when somebody has a tough question now, you're not stuck, like, chaining you can just, like, write a big blob and it might be helpful to them. I've seen you do that. I like the idea that I could do it.

Speaker 1:

I haven't done it yet. I mean, I'm not very helpful on the Internet, but it's possible now. There's nothing restricting me.

Speaker 2:

Yeah. I I was worried that people would use it too much and then my feed would just be these giant things. But so far, no one's really using it too much, so hasn't been hasn't been bad.

Speaker 1:

Yeah. I guess we're just talking about Twitter now. I don't know how this happened. But did you see some I don't know if Elon Musk tweeted it. Somebody tweeted that something about amount of time spent looking at a tweet.

Speaker 1:

Like, that's what drives how much it'll get spread or something.

Speaker 2:

Wait. Really?

Speaker 1:

I don't know.

Speaker 2:

Like the Yeah.

Speaker 1:

That's what he somebody said.

Speaker 2:

Time spent?

Speaker 1:

Yeah. Like how if you spend a lot of time looking at a tweet, then that tweet is getting like some kind of a boost from the algorithm.

Speaker 2:

So if I write a tweet where everything is spelled wrong and people are like trying to, like, struggling to read it or like it's really confusing, that will go viral?

Speaker 1:

Maybe. Maybe. I do feel like there's something with misspellings that people have caught in the past. I don't know if this is a new change, and I don't know why I brought it up because I just don't care.

Speaker 2:

That is interesting. But I

Speaker 1:

brought it up because we're talking about Twitter. Okay. Let's talk about something else.

Speaker 2:

Well, what are you doing technically? Like, what are you working on engineering wise? What are you typing into your computer?

Speaker 1:

It's a great question, Dax. So right now, my default project is statinase. Mhmm. We're doing a rewrite, as you know, in ASTRO. And oh, we gotta talk about CloudFront.

Speaker 1:

Yeah. That's related to my stat needs work. That's my default project. I want after vacation to get back on rebase, but that's what I wanna answer right now. But I can't because it's not true.

Speaker 1:

I'm not technically writing it into my computer right now, but it's top of mind. We're working on some stuff. We've got some music coming. I also wanna say that I'm working on Laravel stuff right now, but I'm not.

Speaker 2:

You want to say?

Speaker 1:

I wanna

Speaker 2:

You're answering my question at all. Ask what you were doing, and you're just giving me your hopes and dreams.

Speaker 1:

I really am. If I'm being honest, I've been in a bit of a heavy, nontechnical phase here since we wrapped up the stat muse. We had a big push, like, doing a paywall on the Elixir app that is the existing stat muse app. That was it was hard. It was, like, the first time I've pushed hard in, like, five years.

Speaker 1:

And by pushed hard, just mean, like I mean, I still work the same hours mostly. I just I didn't take a lot of breaks.

Speaker 2:

No. I know what this means. It means this is so funny. It's it's so clear what you mean by push hard because what you were normally doing was spending half the day on Twitch talking to chat. Okay.

Speaker 2:

Okay. And then you just remove that part of it and you went back to being a normal person and relatively that's pushing hard these days.

Speaker 1:

It was hard. Okay? It was hard on me and my family.

Speaker 2:

No. I I get it. I am in the same place. So

Speaker 1:

Yeah. So it's been like it's been less less of of that. Yeah. More of this.

Speaker 2:

Are you guys close? Because you guys are rewriting the whole site in Astro, which I'm really excited by because I think it's gonna be maybe the biggest trafficked Astro site potentially that's gonna be out there because Astro is still pretty new. Yeah. So you guys will be like a great one, a great case study for them and then two, since it's being deployed through SST and great one for us as well. And it's a it's like such a good use case.

Speaker 2:

Like it's for like a a company that has like a ton of traffic with like real users using it, like that makes money, using a new tech and it's gonna be all serverless. And now the Stale While Revalidate thing came out, which is I think you guys are gonna use that a lot. Right?

Speaker 1:

Yeah. Just hope it all works, you know? Just having this moment where I'm like, this is all gonna work. Right? It's server like, I'm gonna have to get yeah.

Speaker 1:

It's like it's not that SST is not gonna work. It's just like gotta make sure limits. You know? Like, quotas are all in place to handle the kind of load for page just normal pages to be hit. Because I I don't know.

Speaker 1:

Lambda invocation limits. There's a lot of different limits involved. I don't think we're gonna have any problems. I think we can get it all sorted out. We're gonna have to, like, figure out a way to load test it and make sure.

Speaker 1:

But, yeah, we do something like, I don't know, 50,000,000 uniques now a month. Mhmm. We've grown, like, crazy every month for the last year. It's definitely gonna be one of the bigger astro sites. I talked to Fred about it, and he said he wanted to do, like, a case study or something.

Speaker 1:

Like, it's it's a it's gonna be a big a big moment. Yeah. I'm excited. But, yeah, we're close. I'd say we're, like, 80% in terms of the UI, like, stuff that needs to be there.

Speaker 1:

And then so there's, like, 20% left on that, but then there's all the other stuff. Like I said, load testing. We gotta be sure that this thing's not gonna fall over. Mhmm. There's other, like, weird stuff like analytics and all these stupid things I have to port over that I I forget about all the time.

Speaker 1:

But, like, the bulk of the app is written, like the front end stuff. Yeah. We're getting close.

Speaker 2:

Yeah. Do you have an idea of how you're gonna roll it over? Like, are you gonna, like, slowly is it like an a b thing where people slowly move on to a new one?

Speaker 1:

I don't know. Haven't gotten that far. Mhmm. I do know I want some way to prove, like, with our current load that it all just works. Mhmm.

Speaker 1:

So that as we bring people over, there's not a big fear. But, yeah, I think gradually would be the way to do it. Yeah. I hadn't thought about that in terms of the new infrastructure in the old and what it would look like to kind of phase it in.

Speaker 2:

Yeah. Another thing I like about this and this kind of ties in a little bit with, something else on our end as well is this was a rewrite, which is kind of a bad word in the in the software engineering world. It's like, never do a rewrite, it's bad. If you do a rewrite, you're gonna fail. Yeah.

Speaker 2:

Kinda like, it's one of those things that I think people still say in like a very absolute way. But you just did a you're doing a rewrite, like, from completely ground up, like, you're not giving, like, wasn't progressive, it was we're rewriting all of it and we're gonna switch over. We did the same thing with SST two point o, last year and we did we flipped the switch in January. And during and while I was rewriting it, that was at the peak of, like, the rewrite controversy because Elon Musk said Twitter needed to be rewritten and everyone's Oh, like yeah. I'm a real engineer and I know that you should never rewrite things.

Speaker 2:

Everyone was saying that. And I was sitting there just, like, rewriting every single line being like, okay, everyone thinks I shouldn't be doing this. But as of last week, the download because we switched to a new package name, so we have like two separate charts. The s t two package crossed the s s t one package. There's more people using the second one than the first one.

Speaker 2:

And that was Yeah. Five ish or so months. So it like, you know, yeah, of course there were some bumps that happened but you can pull off a rewrite. It's not something you should do lightly and it's definitely not like a novice thing. Like, I think you have to be pretty pretty experienced to, like, do something like that.

Speaker 2:

But sometimes it's just necessary. Like, you can't just keep stuff around that's been around for super long. And sometimes if you don't rewrite it, like, even the small parts you refactor, like, the bad parts grow faster than the parts that you're fixing. So sometimes you just gotta do it.

Speaker 1:

Yeah. I knew we needed to do it and everyone's bought in at stat muse in terms of this being the right decision. But I did feel weird ever saying so publicly because I it's the stigma. It's like I forgot about the Elon stuff with Twitter, but I knew it just feels bad to say you're rewriting something because you know everyone's instinct when they hear that. It's like, woah.

Speaker 1:

Woah. Why woah. Why are you rewriting it? Like, you're from scratch? No.

Speaker 1:

No. No. That's the biggest thing you don't do. What it was like Joel Sposky or something?

Speaker 2:

Yeah. It was original.

Speaker 1:

Had some list. Yeah. And it's like the commandments of development. It was like one of them. Don't ever rewrite.

Speaker 1:

But sometimes you have to rewrite. I mean, for us, it was like an eight year old code base. And we started statmuse not even knowing what statmuse was. And it like, we built half of it. It was like a spa with React, and it was embedded in this big Elixir Phoenix app.

Speaker 1:

So part of it was, like, server generated. Part of

Speaker 2:

it was

Speaker 1:

client side rendered. It's just this big mess that kind of evolved over eight years, and it's just a lot simpler. Like, if you look at the code base that we've built now with SSD and ASTRO compared to the existing code base, it's just insane how much less there is there. And it's just gonna be so much easier to work with as we build out new stuff. So, yeah, it was the right move for us.

Speaker 1:

It does feel bad to say it, and it feels like there's too much nuance to have that conversation publicly.

Speaker 2:

Yeah. I spent a lot of time in b two b and I it occurred to me at one point seen so many cases where you'll have a company that is an incumbent, like they've done really well and they like kinda own a market, but their product is just getting worse and worse because it's just built on top of just not good. And they never do the rewrite because it's bad, it's hard to get buy in for that. Everyone's, like, very resistant to, like, eat eat the cost there. But you know what happens?

Speaker 2:

A competitor does the rewrites. Someone new Yeah. Starts from ground up, does the rewrite they should have done and they, like, slowly just chip away at it. And every b to b shift happens in this exact almost every single one I've ever seen has been like this. Like I worked at a company that, made software for salons and everyone uses this thing called Mindbody.

Speaker 2:

It's super old, super terrible, but they just had the whole market share. And it took this new company a while to get to feature parity, maybe like two to three years. But the moment they were at feature parity, it was just like a 100% of the market was switching. Like, everyone was just switching over. So and there's nothing the other company could do at that point.

Speaker 2:

So if you don't rewrite it at some point, like, competitor will just do it for you.

Speaker 1:

Yeah. That's great. I I never considered that. Like, there's a point on the horizon where someone's gonna rewrite it. It it better be

Speaker 2:

you. Yeah. Exactly.

Speaker 1:

The Steelwire revalidate. We should talk about that.

Speaker 2:

Yeah. Just briefly. Well,

Speaker 1:

you broke

Speaker 2:

the news yesterday, which I was like, I can't believe Adam. Because we were both so for context, there is a Yeah. Caching feature in CDNs that our CDNs are supposed to support called stale water validate. Basically, it makes it so if it caches something, the next request that comes in, it'll serve the cache version, but if it's like this is too old in the background, it'll re fetch it. So no one ever experiences a slow load, which is a really nice feature and Vercel, like, built their own version of this and they call it ISR and people love it.

Speaker 2:

But CloudFront has never supported this even though the spec has been out for, I think I think I was trying to look. I think the spec for this has been out for, like, maybe a decade almost. It's been around for a while.

Speaker 1:

Fastly had it in 02/2014, like, implemented. Oh, okay.

Speaker 2:

So Yeah. Exactly. So it's almost ten years where it's been available and they haven't had it. And me and Adam have just kept checking, like, it out? Is it out?

Speaker 2:

Adam needed it for stat muse, we needed it for Next. Js support because we didn't wanna support ISR and we're like, let's just wait till they get SWR every single day. We're talking, like, when are they gonna go? We talked to the Cloud Front team, they're like, oh, it's coming soon. It's coming soon.

Speaker 2:

And then somehow, you were the one that saw it and posted it. So congratulations.

Speaker 1:

I got a DM. My guy DM'd me. You guys, your guy let you down. But the thing is, it's a public like, it's in all those aggregators. If you'd if anybody had just been watching the RSS feed for, like, AWS news, they would have seen it.

Speaker 1:

Right? It was in that big feed, I'm sure. So I wasn't like I was that special for breaking it, but I was special for breaking it before you.

Speaker 2:

But was it that day? Like, you you posted it yesterday, and was that the day they posted it?

Speaker 1:

Yeah. Yeah. Yeah. I I linked to the public article. Yeah.

Speaker 1:

He just DMed it to me and was like, it's live. I think I was part of the reason I was sounded so bad.

Speaker 2:

Mister AWS Hero over here pulling the

Speaker 1:

one of the I was one of the people that requested the feature originally. Like, when I spoke about this with this person, it was like, yeah, we could get that on our road map. And I don't know that I was the reason they built it, but I was one of the contributing factors. I'm pretty sure. Pretty sure that was product feedback.

Speaker 2:

Very nice.

Speaker 1:

Maybe not.

Speaker 2:

Good work.

Speaker 1:

Or maybe maybe it's actually from the forums. I don't know. But I know that Cloudflare has had a bad implementation for some time. Like, did you know this? They sort of support it, but it's not correct.

Speaker 1:

It's, like, to spec.

Speaker 2:

Oh, I didn't know that. That's good to know.

Speaker 1:

Yeah. They thought they implemented it but it's

Speaker 2:

not right. There's some stuff with Cloudflare where like, it's such a good platform but I have seen CloudFront surprisingly outperform it in a bunch of cases.

Speaker 1:

Well, the Vercel stuff, right? Like all your Vercel benchmarking.

Speaker 2:

Yeah.

Speaker 1:

That's sort of pitting AWS against Cloudflare.

Speaker 2:

Well, sort of. I I would say not really. I think all the issues that came from the Vercel Edge, like all the slowness that came from the Vercel Edge stuff was probably on Vercel's side. They must be doing additional stuff because people said that when they use Cloudflare directly, it's like crazy good performance, which is what I'd expect.

Speaker 1:

Yeah. Do we wanna explain what it is to anybody?

Speaker 2:

No. I like kinda did.

Speaker 1:

No. In

Speaker 2:

like a

Speaker 1:

short way. Oh, yeah. You did. The stale you said it was stale. I was totally listening.

Speaker 2:

Yeah. While revalidate wait, no.

Speaker 1:

Was it? Sometimes can I just say this, Dax? Sometimes you just don't have it, you know? This I feel like this this episode, we just sometimes you just don't have your A game, and I don't think we had it today. That's okay.

Speaker 1:

Sometimes you just gotta phone it in, you know? Gotta get an episode out there. Just a lot of things about this episode I could do without. Just things I said, not things you said. Well, some of the things you said.

Speaker 1:

Is what it is.

Speaker 2:

Okay. Well, Zetwater validate is out. It's good. Go use it.

Speaker 1:

It's good. It's on CloudFront. It just it to me, it means, like, Next. Js just lost a differentiating feature to all the other frameworks. Like, if you deploy with SSD, you can deploy any of those web frameworks, Solid Start, ASTRO, SvelteKit, whatever, even Next.

Speaker 1:

Js. And now there's one less thing that Next. Js had that it it's not special anymore. Like, all those frameworks have that feature now. And it was a huge feature for me.

Speaker 1:

I mean, I for things I build, it was important to me. And now granted, it's use case specific. Like, if you're not building something where that feature matters and you've probably never heard of it and you don't care, but it is really nice. And to have that now in all these frameworks, I think, is pretty cool.

Speaker 2:

Nice.

Speaker 1:

Anyway, wow. This okay. Let's just stop the bleeding. Let's just end this episode Okay. Before it gets any worse.

Speaker 1:

We'll try again next time, Dax.

Speaker 2:

Alright.

Speaker 1:

Are you really just gonna say alright? You're not gonna acknowledge or anything just like help me?

Speaker 2:

I don't know. I you said everything that I what's there to say after that?

Speaker 1:

You already thought okay. Well, do you agree? I can't really tell if you agree.

Speaker 2:

I thought this was okay. I I we just didn't have a lot of stuff to talk about, but I think the stuff we talked about was good. Just not gonna be super long.

Speaker 1:

The next one though that we're gonna record right after this one, we're surely gonna It's more to talk gonna go yeah. It's gonna go so much better.

Speaker 2:

Okay. Well, haven't eaten anything yet today, so I'm gonna blame it on that.

Speaker 1:

Oh, that's gonna

Speaker 2:

grab a Larabar and wake myself up.

Speaker 1:

Okay. Good idea. I'm gonna grab a Larabar and I didn't end recording yet. This is a okay. This is a terrible finish.

Creators and Guests

Adam Elmore
Host
Adam Elmore
AWS DevTools Hero and co-founder @statmuse. Husband. Father. Brother. Sister?? Pet?!?
Dax Raad
Host
Dax Raad
building @SST_dev and @withbumi
Twitter Usage and Rewrites
Broadcast by