Healing Back Pain, Twitter Coincidences, and Torchlight.dev

March 19, 2021

Aaron has a bunch of mystery pain, Sean has a fix that's kind of "out there". Aaron runs into the owner of hammerstone.com in a Twitter thread. Launching torchlight.dev.

Transcript

Aaron
00:00:00 – 00:00:09
Recording. Look at my, oh, too late. That's okay. Recorded. I've got a, I've got more performance athlete tape on my face and my neck.
Sean
00:00:10 – 00:00:10
Is it helping?
Aaron
00:00:11 – 00:00:35
I think it might, I went to the physical therapist this morning, and she like totally wrecked the side of my face. And now then she put all this tape on it and did the stem machine. And I think it's helping. It makes me feel a 1000 years old that I have no idea what caused the pain, and now I'm in physical therapy for it. But
Sean
00:00:36 – 00:00:47
So any interest in in, problem solving? I've I've experienced pain in the past and, uncovered some intriguing solutions.
Aaron
00:00:47 – 00:00:58
I will take some of your problem solving. I've been to 2 orthopedics, 2 ENTs, 2 dentists, and now this is my 2nd physical therapist. So what do you got?
Sean
00:00:58 – 00:01:00
Right. Okay. So I'm gonna I'm gonna take you out there.
Aaron
00:01:00 – 00:01:01
Are we going? Woo.
Sean
00:01:02 – 00:01:12
It's not woo woo. I mean, it is, like, maybe. I don't so there's a book there's a book called and it's a guy guy named doctor Sarno.
Aaron
00:01:12 – 00:01:13
K.
Sean
00:01:13 – 00:01:32
And it's called Healing Back Pain, and you should read it. So he I'll give you the quick synopsis. He would get patients all the time complaining of pain that you couldn't see. Right? So he would look at, MRIs, etcetera, etcetera.
Sean
00:01:32 – 00:02:05
And there's, like, no reason for there to be this pain, but they experience pain. And, and by the way, healing back pain, Doc Sarno's book, it's a great book. There are other books about pain and the, like, how it relates, like, neurologically, like our how our brain handles and interprets pain messages, etcetera. So it's not just him, but it this book I found, he's kind of one of the, you know, the original, the OG of of this sort of idea. But anyway right.
Sean
00:02:05 – 00:02:18
So and there's other there's other stuff too. Like, he would see patients. He could not figure out what's the physical cause of this pain. There's nothing no reason. And then and then there'd be other people who would you do an x-ray or an MRI, and it would be like, oh, they have a herniated disc.
Sean
00:02:18 – 00:02:36
Send them into surgery. Problem solved. But then research later shows us that there are loads of people with herniated discs, maybe even most. Maybe most of us even have herniated disc and have no pain, and it looks the same on an MRI as somebody that is experiencing pain. Okay.
Sean
00:02:37 – 00:03:06
I'm intrigued. So right. And and then and then, in fact, the these surgeries, like knee pain, back pain, this sort of thing are no better than placebo, which is crazy because these are crazy surgeries sometimes. So the the main premise of the book is that it is a, like, psychological pain. Like, it's not in your mind.
Sean
00:03:06 – 00:03:28
You are experiencing pain for sure, but that it is a redirected emotion. Okay. Because it it always happens it always happens to people in his practice. It would happen to people during challenging moments in their life. Big, big moments of change, big things happening, and you would start to get a pain.
Sean
00:03:28 – 00:03:42
And that it would also happen with certain types of people mostly. Like, mostly sort of like type a, like, that's and not even necessarily type a, but, like, people who are conscientious, and, like, are always trying to do their best and that that sort of person.
Aaron
00:03:42 – 00:03:43
Yeah. That checks out.
Sean
00:03:43 – 00:03:57
Right. Yeah. I know. So it's I've I felt like that described me, that described, you know, some of the pain and stuff I was dealing with. I was similar situation where I'm, like, going to PTs and, like, trying to figure out why am I experiencing this pain.
Sean
00:03:57 – 00:04:20
And then it turns out maybe it had to do with I became a new dad and I was an entrepreneur and making extremely volatile amounts of money and not knowing when I was gonna be able to pay the bills and, you know, getting old and all these things. And my brain was in fact really pissed that this stuff was not working out the way I wanted it to, but I was just not, like, consciously letting myself process that. So it's strange. Did
Aaron
00:04:20 – 00:04:23
you follow his methods or whatever, and did it help?
Sean
00:04:23 – 00:04:28
Yeah. Yeah. Absolutely. What? Yeah.
Sean
00:04:28 – 00:04:36
It's really hard because you have to be like, okay. Like, I've like, I went through the same like, I checked with doctors, you know, and, like, they're, like, everything's fine, man.
Aaron
00:04:36 – 00:04:38
Yeah. I've had 2 MRIs too.
Sean
00:04:39 – 00:04:50
Yeah. Exactly. And they're then nothing's there. And they're and they're like, everything's fine, physically, you know, like, as far as we could tell, still a mystery. There's some there's pain for sure, but we don't know what it is.
Sean
00:04:50 – 00:05:02
So I felt like, alright. If the doctors are like, there's nothing on our MRIs, then it's nothing. And so you have to convince yourself at that point to be like, okay. It's not an actual thing. I'm not gonna do I'm gonna do shit about it.
Sean
00:05:02 – 00:05:12
I'm not gonna think about it. I'm not gonna do anything to help myself with it. I'm gonna not try and cope with it. I'm just gonna ignore it. And then I'm gonna spend the effort.
Sean
00:05:12 – 00:05:35
It's basically like your brain is trying to distract you from dealing with the hard thing, dealing with the big emotion. So you've tried to be like, every time your brain is trying to think about the pain, you'd be like, okay, I need to think about the psychology. Like, what is happening right now? And I do the same thing with migraines, and I've experienced far less migraines. In fact, the one type of migraine I used to have, I don't have anymore.
Sean
00:05:35 – 00:05:45
I used to have them all the time. And since this book, I just went it went away as an issue. Okay. Because I could tell it's coming up I will try it. We focus.
Sean
00:05:45 – 00:05:56
I mean, if the if the docs have eliminated, you know, their their things, like, I think it's Yeah. Like and it applies to so much pain. Like and then the other thing to be aware of is it'll change. So, like, okay. You got the pain up here.
Sean
00:05:57 – 00:06:05
And then when that goes away, something else will bother you. Yeah. It, like, moves it just, like, moves around. You're like, oh, alright. I got that soft.
Sean
00:06:05 – 00:06:15
Oh, now it's over here. And it just moves around. And it's because your brain is trying to find find something for you to focus on that is not the actual thing that you want. Like,
Aaron
00:06:15 – 00:06:16
it's Wow.
Sean
00:06:17 – 00:06:26
It that's the that's his theory. And it worked it worked for me, and I buy it. Like, I now that I've experienced that multiple times, I'm like, okay. Yeah. There's definitely something to that.
Sean
00:06:27 – 00:06:29
Wow. Okay. Well, I'll try it. Send me
Aaron
00:06:29 – 00:06:37
a link that, I mean, you were, you were right when you said it's out there, but, hey, I'm to the point where I'm willing to try some stuff that's out there.
Sean
00:06:39 – 00:06:43
I've recommended it to a few people and few people have had similar results. So hopefully it helps.
Aaron
00:06:45 – 00:06:47
Brain is a powerful thing, I guess.
Sean
00:06:47 – 00:06:55
Like, I'm currently going through, like, carpal tunnel y stuff. Right? Yeah. Same thing. I'm, like, I'm, like, going through the same process now that I read that book and gone through this so many times.
Sean
00:06:55 – 00:07:17
I'm, like, am I really having problems here? Or is it because, like, I am under an immense amount of stress right now and huge amount of life turmoil and things are changing? And probably it's that. You know? So, like, I'm trying to, like, take care of myself, not just, like, ignore the pain, complete do nothing so I got, like, a better keyboard or whatever.
Sean
00:07:17 – 00:07:33
But also realizing that, like, it's not that important. Because that's the thing you people would sometimes, it's like when it really tricks you, it makes you think that the pain is a really important thing that you need to solve. Like, because it's Oh, yeah. That means it's working. So it's, like, tricking you into focusing on it a lot.
Sean
00:07:33 – 00:07:48
Like, I used to have back pain, so I wouldn't lift for a while. Now when I have back pain, I'm like, no, I'd have to lift today. Like, you know, like, my back would do, like, one of those twingy things. You'd be like, And I used to think, oh, now I can't use my back anymore. This is just nonsense.
Sean
00:07:48 – 00:07:57
It's just nonsense. I could just lift right through that and it goes away instantly. Now, like, now that I know, like, what this like, I know it's a real injury now and what's fake.
Aaron
00:07:57 – 00:07:57
Yeah.
Sean
00:07:57 – 00:08:13
And weightlifters weightlifters know this stuff too. They know, like, a lot of times, just, like, really serious you know, the serious ones. They know it's, like, pain is complicated. It's not necessarily, like, a real injury. Like, it could be it could be literally nothing.
Aaron
00:08:13 – 00:08:15
That is the wackiest thing I've ever heard.
Sean
00:08:16 – 00:08:30
Yeah. But pain is complicated. Like it's very complicated now that, so the Ducks are no books kind of out there, but that whole that's whole branch of science, which there's loads of research on that. And I think it all kinda correlates. So there you go.
Aaron
00:08:30 – 00:08:37
Fascinating. Okay. Well, I'll give it a try. I've done everything else, so why not?
Sean
00:08:38 – 00:08:43
That's that's how that's where I was too. I was like, alright. Fine. Try it.
Aaron
00:08:43 – 00:08:43
Weird.
Sean
00:08:43 – 00:08:53
That's good. Alright. So hammerstone stuff. Basically, I'm just in project mode, and I'm just cranking on it. And it feels really good.
Sean
00:08:53 – 00:09:01
Like, the I did a bunch of UI improvements yesterday. So it's it's looking really good, you know, for the client.
Aaron
00:09:01 – 00:09:09
Staying high level, how did you refactored away from a mess to something nicer, the Hotwire stuff?
Sean
00:09:10 – 00:09:19
Oh, yeah. So I just so the Hotwire stuff, there's, like, a bunch of different tools in the Hotwire toolkit. Right? It's not just one thing. And I it was like, okay.
Sean
00:09:19 – 00:09:24
Hotwire. I've never done this before. Here's all these tools. Oh, that should be used for this. This should be used for that.
Sean
00:09:24 – 00:09:49
So I kinda used everything. But, really, it ended up being that I just needed to do use one thing instead of everything, and I was able to massively simplify what I was doing. Great. It's kind of like I changed my perspective on Hotwire from, like, it's really not that much. There's not much to it.
Sean
00:09:49 – 00:10:19
It's basically a little abstraction to to simplify and reduce the amount of JavaScript around the process of fetching HTML and rendering it in the right spot. That's it. So if you think about it that way, then it was a little easier for me to be like, alright. So the whole thing, all it does now is just rerenders the whole query builder every time we do any change, which sounds dumb, but it's not because it how I think let means that it, like, it only renders itself, nothing else. It is a tiny amount of markup.
Sean
00:10:19 – 00:10:37
And then you get a tiny like, the query builder itself is not that much markup. No. So you get a little bit back, and then it only updates the part that changed. So I just structured the structured it such that it'll only, you know, update the bit that changes. So it's not doing an inner HTML on the whole thing.
Sean
00:10:37 – 00:10:40
It's just Yeah. On the the part that changed.
Aaron
00:10:40 – 00:10:40
Cool.
Sean
00:10:41 – 00:11:03
And then there's a part where and then there's a couple of places where I do need to, like, rerender the whole thing and just insert it. But that's great because I don't have to redo any logic around, like, any rendering logic at all. I don't have to I'm just reusing the same, you know, template that I wrote. So, like, figuring out whether, oh, there's nothing in here. So should it be like, figuring out how to render the groups.
Sean
00:11:03 – 00:11:15
Mhmm. You know, the or statements and stuff like that. All that logic is just I just re re render the whole blueprint. So that means I'm sending the whole blueprint with every request. It also gives you the that big.
Sean
00:11:15 – 00:11:19
No. It's small. Right. Exactly. So it's it's and then I can't I can't imagine.
Sean
00:11:19 – 00:11:34
Even if somebody's writing, like, the biggest feasible query that I could have like, how how big a query are you gonna write? It's Yeah. Not that They would have to get ridiculous. But there are weird parts with it. Like, because it has to make a round trip to render the markup.
Sean
00:11:34 – 00:11:53
Again, I think it's still like it's a dumb bit for this. It doesn't make sense. It's a lot of hoops to jump through just to render markup on the server instead of client side, but whatever. So, and that means that we have a delay when there's a change and I need to rerender. Oh, yeah.
Sean
00:11:54 – 00:12:05
There's a network delay. If the network delay gets too long, you can end up doing stuff like, okay, change the clause to be, like, starts with instead of equals. Go over here and start typing in my text. And then, oh, wait. It just disappeared.
Sean
00:12:06 – 00:12:19
Because it took a little too long for the server to get the do response back and then it overwrites what you just did. So I'm gonna do a little bit of UI around that today and It has, like, a little oh, just a little spinny icon if it takes more than, like, 500 milliseconds or something.
Aaron
00:12:19 – 00:12:24
Yeah. That sucks. God, that's such a perfect use case for just on page JavaScript.
Sean
00:12:25 – 00:12:30
Yeah. Right. It's it's like yep. That's that's why we invented all that. Yep.
Aaron
00:12:31 – 00:12:38
Well, I'm glad you're feeling I'm glad you're feeling better about it. I know the spaghetti aspect of it was frustrating for a while.
Sean
00:12:38 – 00:12:43
Yeah. It's way simpler. That simplified everything when I did that, including the JavaScript and stuff. Good.
Aaron
00:12:43 – 00:12:45
That's a great piece of feeling.
Sean
00:12:45 – 00:12:56
Sitting here waiting for, the back end to catch up a little bit so I can start doing more things. Like, I wanna do date conditions. I wanna do refinements. I wanna do Mhmm. Error handling, you know, error reporting,
Aaron
00:12:56 – 00:12:56
that sort
Sean
00:12:56 – 00:13:10
of stuff. But that's man, that's gonna go fast now that I got all the pieces and Yeah. Did the the aural switch stories and aural instead of active record. So it should go fast now, I think.
Aaron
00:13:11 – 00:13:28
Good. Well, y'all are cranking on it, and I think she's really got it. I mean, we have a we probably talk twice a week about some little sticking point, and she's got it. Like, she totally understands it. It's just a matter of pulling it off now.
Sean
00:13:28 – 00:13:29
Yep.
Aaron
00:13:29 – 00:13:31
So that is pretty awesome.
Sean
00:13:32 – 00:13:33
Yep.
Aaron
00:13:36 – 00:13:38
And you joined the meeting you joined the
Sean
00:13:38 – 00:13:45
meeting today. I'm so happy I got a video of that. That was so funny. So you
Aaron
00:13:45 – 00:13:49
went to wolf panic mode because you had a meeting on your calendar.
Sean
00:13:50 – 00:13:59
No. Because they have, like, the you know, they have, like, we're gonna do, like, the check-in and demo, what we've done so far. I thought it was every 2 weeks. I'm like, alright. So it'll be next week.
Sean
00:13:59 – 00:14:12
We'll have plenty done. I work on Fridays. Mostly is when I get most of my hours in for them. So last week was our one of those meetings. So I thought I got this Friday and next Friday, you know, before we have another one.
Sean
00:14:12 – 00:14:30
And all of a sudden, I get, like, an update in my email saying, like, this meeting's been moved up to Thursday. Like, tomorrow, I was on Wednesday. It's like, so tomorrow, this meeting is on Thursday? So I'm like, oh, shit. So I took a day off from work to, like, get something done so that way we'd have because the only work I'd done was the refactoring stuff.
Sean
00:14:30 – 00:14:41
So, like, nothing looks any different. And I'm like, no. That's gonna I did so much, but it's gonna look like no progress. I need to do something. So I did it, scrambled, and got some got some good improvements in.
Sean
00:14:41 – 00:14:54
And then and then I went to the meeting. It's, like, not the usual cast of characters. I'm a little bit, like, disoriented. What's happening? And then I realized, I don't think this is the meeting.
Sean
00:14:55 – 00:15:09
Like, why am I in this meeting? Like and I had I had I was, like, DM ing because it they started a little late, and I was DM ing people trying to get in, and nobody was responding. I'm like, this is weird. Like, is there is this meeting happening? So I'm in the meeting.
Sean
00:15:09 – 00:15:22
I don't recognize anybody. And then they're they're about to start, and I'm like, alright. Wait. Before before you start k. Does anyone actually need me here for this meeting?
Sean
00:15:22 – 00:15:26
Because I I'm like, I'm pretty sure this is not the meeting I think it is.
Aaron
00:15:27 – 00:15:30
The guy that said, we don't we don't mean
Sean
00:15:30 – 00:15:35
Sean, but you will be missed. The query builder. Like, that's how awkward it is. I had to introduce myself. I'm Sean.
Sean
00:15:36 – 00:15:46
I I work in the query builder team. Does anyone actually need me for this meeting? There was a long pause. Yeah. There was a very awkward pause.
Sean
00:15:48 – 00:16:02
And I was like, I I know at some point you might need to talk with me because I know the team. I'd figured out the team at that point. Like, at some point, you might need to talk with me, but do you today? Do you need me on this call today? And they were like, no.
Sean
00:16:07 – 00:16:08
So yeah.
Aaron
00:16:08 – 00:16:10
Well, I'm glad I took a day off of work to be here.
Sean
00:16:15 – 00:16:23
Yeah. That video was fantastic. I know. They got a video too. Like, they actually were recording it, and then they I'm so happy about that.
Aaron
00:16:25 – 00:16:31
Man, that's funny. Anything else on your side? I've got some stuff.
Sean
00:16:34 – 00:16:45
No. Other than I'm very excited about being getting this off my plate, taking a break. I'm tired. Yeah. But other than that, yeah, nothing.
Aaron
00:16:46 – 00:17:03
K. Well, y'all are doing a good job, and I think we'll be done with it hopefully soon ish. Okay. One thing totally, totally random. So you know how hammerstone.com is taken?
Aaron
00:17:03 – 00:17:31
Like, we looked at trying to get the .com domain, and it was gone. So we got HQ instead, and then we switched to dotdev later. Mhmm. So I was just hanging out on Twitter the other day, and I responded to somebody's tweet, not in the tech space at all, responded to somebody's tweet, and then somebody responded to me and said, hey. I have type 1 diabetes 2, which I do.
Aaron
00:17:31 – 00:17:46
I have type 1 diabetes 2, and my company is called Hammerstone. That's weird. And I looked him up, and he's the owner future. He's the owner of hammerstone.comdomain. Yeah.
Aaron
00:17:47 – 00:17:59
And so he, you know, we started we started tweeting back and forth and, he's bringing his son to a diabetes, like, summer camp this summer in Dallas, and we're gonna go out and get lunch.
Sean
00:17:59 – 00:18:00
That's crazy.
Aaron
00:18:00 – 00:18:10
I know. He's a super cool dude. I mean, he's he seems he seems wonderful. It seems like we have a lot in common, and he's the hammer stone guy. It's like, what in the world?
Aaron
00:18:11 – 00:18:12
Isn't that weird?
Sean
00:18:13 – 00:18:14
Very unlikely.
Aaron
00:18:15 – 00:18:23
I know. It's so strange to be, like, in somebody's mentions and find that and then have that connection.
Sean
00:18:24 – 00:18:28
And that also the connection of having type 1 diabetes. Uh-huh.
Aaron
00:18:29 – 00:18:41
Yeah. Very, very strange. So I thought that was I thought that was pretty funny, and he's very cool. So we're gonna meet up this summer and hang out a couple of hammer stone guys. Yeah.
Aaron
00:18:41 – 00:18:59
Maybe maybe if we're friendly with him one day, he'll give up the domain and we can have it. We'll see. The other thing I'm sure you've seen, I've been working on, like, a code highlighting thing, syntax highlighting. Have you seen any of this?
Sean
00:19:00 – 00:19:12
Yeah. I did. And then, also, I was I saw somebody else ask you this too because I was confused whether the code high like, okay, code highlighting. I mean, I don't I didn't understand. But if I guess it's because you're doing it on the server side Yeah.
Sean
00:19:12 – 00:19:14
Is the the benefit of this.
Aaron
00:19:14 – 00:19:16
Yeah. So what what I
Sean
00:19:16 – 00:19:19
And is it like a package, or is it an API?
Aaron
00:19:19 – 00:19:21
API. How
Sean
00:19:21 – 00:19:24
does it be make it faster if you have to make a network request to
Aaron
00:19:26 – 00:20:00
So yeah. So well, I'll I'll try to explain where it came from and what it does. So on our docs and on my personal website, we have these really nicely highlighted, code blocks. And you can do this kinda with, like, prism JS or highlight JS. And it gets it, like, it gets it 90% right most of the time as far as, like, picking out the syntax and stuff.
Aaron
00:20:02 – 00:20:56
But it doesn't get it a 100% right. And so you end up with all this weird like, you have to kinda monkey patch it yourself based on your own code samples, or you're trying to get a theme and they don't have the right theme and anyway, you end up doing all this configuration, or you use something on the back end, and the popular one on the back end is called Shiki Shiki JS, but it doesn't it's node only, and it doesn't have doesn't have a browser, I guess, build. It doesn't have a browser build. And so what we do is we build all of our pages, and then we deploy them. So all of our all of our, documentation pages are built locally and then pushed up, fully rendered and everything.
Aaron
00:20:58 – 00:21:00
So with Shiki, you can
Sean
00:21:00 – 00:21:05
yep. Pause pause one second. I'm gonna pay attention to you after you respond to my real estate agent.
Aaron
00:21:06 – 00:21:06
Oh.
Sean
00:21:20 – 00:21:21
Yeah. Sorry.
Aaron
00:21:21 – 00:21:22
No. That's fine.
Sean
00:21:22 – 00:21:23
Okay. Continue.
Aaron
00:21:23 – 00:21:44
Okay. With Shiki, you can write your own custom renderer, that lets you, like, add line numbers and add get diffing and add highlighting and, like, you can add all sorts of things to make your documentation, like, better and more readable, because they expose the renderer to you.
Sean
00:21:45 – 00:21:45
Mhmm.
Aaron
00:21:46 – 00:22:08
And that's what that's what we've done is I've added a bunch of stuff. Like, we have our own custom renderer where we can say, like, hey, highlight this line or, you know, blur out all these other lines because I want people to focus on this line because that's what we're talking about right now. So it lets you do all this beautiful stuff. It's a huge pain because you have to build it all locally. You have to run nodes.
Aaron
00:22:08 – 00:22:50
You have to write your own custom renderer, etcetera, etcetera. So what I did was I took all of that and packaged it up and put it on, Lambda. So just work through, I think, serverless is the framework that lets you just, like, nicely deploy stuff on Lambda and put a put a Laravel API in front of it and wrote an extension for CommonMark, which is like a, it's a PHP markdown library. Right? An extension for CommonMark, for vanilla Laravel, and for markdown it, which is a Node.
Aaron
00:22:50 – 00:23:20
Js markdown library. And so now the exciting part is we can remove all of that custom renderer. We can remove all of that cheeky stuff. We can remove our build step altogether and just put in this little extension into our markdown stack. We just add in the Torchlight extension, and then what it does is it pulls every single code block on the page before it is sent out.
Aaron
00:23:20 – 00:23:58
So on the server, it pulls every single code block on the page, sends it out, and gets the highlighting back before the response is sent to the server. So the first time, you pay a penalty of about maybe 300, 400 milliseconds to highlight the whole page. And then after that, it's just stored locally in cache. So it's just read it's just read read right off the disc, right off Redis, or whatever, so you don't pay any penalties at all. And so I showed this to Andrew, the I showed what we had to Andrew Culver, bullet train guy, and I was like, hey.
Aaron
00:23:58 – 00:24:23
I'm trying to figure out, is this useful, like, to anyone else? Because it's this is a huge pain for me, and I hate doing it. And he said, I was just looking at this for the bullet train docs. I hired somebody or I've had one of my contractors try to figure out how we can get all the code highlighting put in, and we just gave up. Like, we gave up, and I decided not to do it, and I would pay you for this right now.
Aaron
00:24:24 – 00:24:45
I was like, great. That's exactly what I wanted to hear. So, yeah, it's a little bit it's a little bit different because it's not, you know, it's not a client side library. So it doesn't focus on people who would use something like I don't know. I feel like next or next or whatever those are.
Aaron
00:24:45 – 00:25:05
They all have kind of thought out solutions for all of this. Mhmm. But this would be more for people who are like Andrew has all of his documentation and markdown in a rails app. We have all of ours in markdown in a Laravel app. A couple other other people have messaged me on Twitter saying, like, this is great.
Aaron
00:25:05 – 00:25:12
Can we please like, how can I use this? So we'll see, but it seems good so far.
Sean
00:25:14 – 00:25:15
Yeah. That's awesome.
Aaron
00:25:15 – 00:25:16
Does that make more sense now?
Sean
00:25:17 – 00:25:22
Yeah. It makes perfect sense. I think you gotta make it clearer on your landing page for that. Like
Aaron
00:25:22 – 00:25:26
Oh, I I agree. I I don't think it's very clear at all right now.
Sean
00:25:26 – 00:25:28
Not at all. It looks really nice, but I was
Aaron
00:25:28 – 00:25:29
like look nice.
Sean
00:25:29 – 00:25:34
Okay. Good highlighting. I don't I don't understand why I'm using this instead of some other thing. Yeah. Yeah.
Sean
00:25:34 – 00:25:37
Yeah. I do need to make I mean, now I do. But I
Aaron
00:25:37 – 00:25:45
do need to make that clearer. And, yeah, this is a I mean, this is a hammer stone thing. So this makes money. This makes money for us. So
Sean
00:25:46 – 00:25:55
Oh, sweet. Yeah. That's a good idea. Yeah. Because, I mean, you're just taking a thing that we that you did anyway for Bingo.
Sean
00:25:56 – 00:25:57
The syntax highlighting.
Aaron
00:25:58 – 00:25:59
Yeah. I'm taking a thing This
Sean
00:25:59 – 00:26:00
is good. This is like marketing.
Aaron
00:26:00 – 00:26:01
Pain in.
Sean
00:26:01 – 00:26:03
Yeah. Product as marketing.
Aaron
00:26:04 – 00:26:24
Yeah. And I'm trying to do I'm trying to get in on the whole, like, the whole build in public Twitter thing to get people, like, to start growing the audience there. And I've had, I mean, I've had some success. I've gone from, you know, in the past month or 2, probably from 1100 to almost 1300 followers, which is great. Right.
Aaron
00:26:24 – 00:26:33
I'm trying to I'm trying to keep like, it's not in my nature to wanna talk about stuff I'm doing all the time on Twitter, but I've just seen
Sean
00:26:33 – 00:26:51
that when I was messing around with the hot wire stuff too, I was like, okay. I'll try this. So I did, like, a tweet thread thing. And, I mean, I well, I guess I had Rob was the one of the some actually, I know him from a previous client, but he's connected to all kinds of people. But he was really, interested in
Aaron
00:26:51 – 00:26:52
Mhmm.
Sean
00:26:52 – 00:26:58
In the product, especially the rails version. So, like yeah. Yeah. So I guess it kinda worked. Like, somebody found out about it.
Sean
00:26:58 – 00:27:03
I don't know. It didn't grow my audience or anything. Yeah. But I think I'm just bad at it.
Aaron
00:27:04 – 00:27:20
Yeah. I I feel like I kinda am too. I bought, do you you know, Daniel Visalo? Have you seen him on Twitter at all? He's this guy that quit his $500,000 a year job at Amazon to be an indie hacker, and now he makes even more money.
Aaron
00:27:20 – 00:27:33
So, you know, totally attainable. But he's got this, he's got this, like, build an audience on Twitter course. It's not garbage. And so I watched it and it was great. I bought it.
Aaron
00:27:33 – 00:27:45
$40, watched it. It's got some great tactics in there. And so I'm trying to do that to, like, I don't know, grow an audience of developers.
Sean
00:27:46 – 00:27:52
Okay. I think I'll buy it. I'll use my hammer stone debit card. I'm gonna buy it. Because maybe that's what we're doing right now.
Sean
00:27:52 – 00:28:03
It's like, alright. We're super busy, but we could do some like, the only the marketing stuff we could do is maybe this. Like, I'm on Twitter anyway. So we'll that this will be, like, our current marketing experiment. I like that.
Aaron
00:28:03 – 00:28:04
That that's kinda how I feel and
Sean
00:28:04 – 00:28:06
See if I can get better at
Aaron
00:28:06 – 00:28:12
it. Taking the torchlight. Torchlight is the code highlighting thing in case anyone was wondering. Torch taking the torchlight stuff. Thanks.
Aaron
00:28:13 – 00:28:42
Taking the torchlight stuff and, like, talking about it publicly is I feel like it's, you know, taking a byproduct, something that something that we've already kinda done and doubly repurposing it. 1 is like a service and 2, as a excuse to talk about something online. Mhmm. So who knows if it'll go anywhere, but I think it's good practice regardless. And we'll I mean, we'll use it.
Aaron
00:28:42 – 00:28:48
Andrew will use it. And I've had a couple of people people on Twitter saying that they'll use it, so we'll see.
Sean
00:28:50 – 00:29:04
I mean yeah. I like it. It's just it's pretty niche, but plenty of people end up in like, I I don't know. I ended up in the spot with the like, syntax highlighting is a pain. It's all broken on all my old articles now.
Sean
00:29:04 – 00:29:11
Yep. Exactly. And it was such a pain to get it set up to begin with. Didn't even work that well. Looked kinda okay.
Sean
00:29:12 – 00:29:18
Like, it looked good enough. And the other solution would be, like, drop code pen into everything, and it's just like that's just too much.
Aaron
00:29:18 – 00:29:19
Too heavy.
Sean
00:29:20 – 00:29:28
Yeah. I'm like, oh, that I don't need all of that. I just need this chunk of code right here so you could see it. Copy paste or whatever. Yeah.
Sean
00:29:28 – 00:29:36
That's exactly what it is. A real pain, so then it's you gotta get get the landing page. Actually, man, I could help you with the landing page on that.
Aaron
00:29:36 – 00:29:36
Oh, I would love
Sean
00:29:36 – 00:29:37
that. The
Aaron
00:29:37 – 00:29:48
I mean, I'm doing this I'm doing this while I'm kinda in the wings on the query builder stuff, so I don't wanna take any of your time away. I know you're stressed already. So I'm kinda just doing this.
Sean
00:29:48 – 00:29:52
Something different. I might I might peel off this weekend and
Aaron
00:29:53 – 00:29:57
Hey, man. If you wanna do it, I would I would love that. But like I said I
Sean
00:29:57 – 00:30:06
could just write the copy to give you some ideas for the for the copy. Although, I don't know, landing page is so much work to, like, do it properly, but I have to agree with the pain.
Aaron
00:30:06 – 00:30:12
If you wanna give me ideas for copy, I will implement. So you can do the fun stuff that you wanna do, and I'll do the rest.
Sean
00:30:14 – 00:30:15
Okay. Yeah.
Aaron
00:30:15 – 00:30:20
That's a good deal for you. And, this
Sean
00:30:20 – 00:30:21
is a good deal for me.
Aaron
00:30:21 – 00:30:35
You said most code highlighting is broken. This this, one of the benefits of this cheeky thing is it uses actual Versus code. Like, it uses the Versus code highlighting engine. So it just gets it right.
Sean
00:30:36 – 00:30:38
Not gonna break. No. Most people are using Versus code.
Aaron
00:30:38 – 00:30:49
And it uses it uses Versus code themes too. So you could pick any of those cool hipster themes and use those on your blog, which is pretty cool. Or your docs or
Sean
00:30:49 – 00:31:04
whatever. The fix here is brilliant. We need to if we write a landing page with a pane and product, we could do yeah. This could actually I could see how we could launch this too in multiple places pretty easily if we got the PDF paneer fix Yeah. Copyright.
Aaron
00:31:06 – 00:31:43
And, finally, another thing I was thinking of was, like like being in on platforms, I guess. So I saw an like, there's a new blogging platform popping up every other day and to allow like, to give those new blogging platforms a way to do beautiful syntax highlighting out of the box with no effort to them. We could, you know, charge them, like, an enterprise license and then you know what I mean? So that so that all of their customers get to have great syntax highlighting, and we get to do it for
Sean
00:31:43 – 00:31:45
them. Awesome.
Aaron
00:31:46 – 00:31:49
Yeah. So couple of different things to think about there.
Sean
00:31:51 – 00:31:58
Gives you something to do while Colleen and I are Yeah. Working on all the other stuff. Yeah. I
Aaron
00:31:58 – 00:32:01
didn't I did tell you I didn't wanna feel useless.
Sean
00:32:02 – 00:32:05
I could tell you're like, I'm just twiddling my thumbs over here. Just waiting.
Aaron
00:32:06 – 00:32:08
Just always available to help Colleen, but
Sean
00:32:09 – 00:32:09
there's only
Aaron
00:32:09 – 00:32:11
only so much I can do.
Sean
00:32:18 – 00:32:22
Yeah. You got so much spare time with your with your gig. It's, kind of amazing.
Aaron
00:32:22 – 00:32:27
I know. It's great. Yeah. It's yeah. I love it.
Aaron
00:32:27 – 00:32:50
It's a good spot to be in. And I'm gonna do, so I've got, of course, babies coming up. And my paternity deal is I get 1 week just totally completely off, and then 6 weeks where I'm gonna do, like, 10 hours a week just checking in and managing. So feel like I feel like that's pretty good.
Sean
00:32:51 – 00:32:57
Mhmm. And I feel like you could you could do the same thing with Hammerstone too. Like, just keep minimal check-in.
Aaron
00:32:57 – 00:32:59
Yeah. Keep things going.
Sean
00:33:00 – 00:33:14
Because worst case, we could launch with the rails version first even if if we hit that point. Yeah. Because, like, I could support the Rails version. I mean and we have Colleen around, so we could I think that that's something we could try to do.
Aaron
00:33:14 – 00:33:16
Yeah. That's totally cool.
Sean
00:33:16 – 00:33:32
Timing. Yeah. I feel like I was feeling frustrated about how long it was taking us to do this, query builder for the client. But all of a sudden this week, it feels like it's moving a lot faster. So because I think we just Colin got stuck in having to, like, read well, the same thing that happened to me when we started.
Sean
00:33:32 – 00:33:36
Like Uh-huh. And she has the benefit of being able to work full time
Aaron
00:33:36 – 00:33:39
on it versus, you know, like And work off a reference.
Sean
00:33:39 – 00:33:50
Yeah. And it was such a mind bend. Like, it's like inform it's very tough to, like, wrap your head around how the whole thing works. Yeah. Such a complicated problem.
Sean
00:33:51 – 00:34:09
Yeah. So, yeah, so I think she was spinning her wheels on that and then had to, like, recalibrate how she was doing the the query building part itself. And so we were just like looks like not a bot was happening, but tremendous amount was actually happening. Yeah. So I think it should go fast now, which is gonna be exciting.
Sean
00:34:09 – 00:34:12
I cannot wait to do refinements. That is gonna be, like
Aaron
00:34:12 – 00:34:14
Yeah. That's gonna blow their minds.
Sean
00:34:14 – 00:34:22
So cool. That's gonna be so cool. We gotta do that. We gotta, you know, do the errors, do the different conditions that we have left. Those are those are all easy.
Sean
00:34:22 – 00:34:25
And then the refinements will be the will be hard, I think.
Aaron
00:34:25 – 00:34:26
I think so.
Sean
00:34:26 – 00:34:35
Maybe. We'll see, but I not trivial for sure. And then then we gotta do the integration into their system Mhmm.
Aaron
00:34:35 – 00:34:35
Which I
Sean
00:34:35 – 00:34:44
don't know how or when that's gonna happen. And I also don't know how it's gonna work with scaffolding with Bolt Train. Andrew seems to think, like, because we did it on tangible thing that it's just gonna happen.
Aaron
00:34:45 – 00:34:45
I'm
Sean
00:34:45 – 00:34:53
like, really? How? How? Copy it copy paste it and just replaces the I mean, I I don't think it I don't think it works. The way
Aaron
00:34:53 – 00:35:02
I'm saying works. Yeah. So we gotta we gotta do persisting to the database. We gotta do that.
Sean
00:35:02 – 00:35:03
Easy, though. Right?
Aaron
00:35:03 – 00:35:04
But yeah. That is easy.
Sean
00:35:04 – 00:35:15
And in fact, I don't think we should do that. We just well, I mean, we it's not part of the product. Like, it's you can do it. Oh, that's true. That's like an app client engagement.
Aaron
00:35:16 – 00:35:18
That's an app side implementation detail.
Sean
00:35:19 – 00:35:24
Right. Like, we're doing it for them because we're implementing the query builder for them. But
Aaron
00:35:24 – 00:35:31
Yeah. Yeah. We we provide hooks for that already. How they choose to do it is kinda up to them, I guess.
Sean
00:35:32 – 00:35:37
Right. But I I mean, I think they're gonna want us to, like, take this all across the finish line, do everything. Probably.
Aaron
00:35:38 – 00:35:43
Also, Elasticsearch, maybe at some point.
Sean
00:35:43 – 00:35:46
Oh, yeah. No. Not maybe. I mean, we have to.
Aaron
00:35:46 – 00:35:47
Don't forget that.
Sean
00:35:49 – 00:35:53
Yeah. Elasticsearch adapter. That's that's a thing.
Aaron
00:35:54 – 00:35:55
It is a thing.
Sean
00:35:55 – 00:35:56
It was mildly terrifying.
Aaron
00:35:57 – 00:36:24
I think I think it'll be better because Colleen has a intimate understanding of how all of this works. And so we can just kinda we can pull, you know, search kick or whatever in, and she can kinda write the adapter. I just I feel like we've got all of the recursive functions and all of the looping and all of the building done. Now all we would have to do is change the lowest level part
Sean
00:36:24 – 00:36:25
where
Aaron
00:36:25 – 00:36:37
it's like, okay. It's a text condition. Here's how you apply it to Elasticsearch versus our URL. And I feel like all of the, you know, the whole framework above it is finished, that that part is gonna be small. That's my hope.
Sean
00:36:38 – 00:36:39
I hope so.
Aaron
00:36:39 – 00:36:40
I hope so.
Sean
00:36:41 – 00:36:45
Or at the very worst, I guess there's, like, the sequel to Elasticsearch converter.
Aaron
00:36:45 – 00:36:47
Yeah. Yeah. That's true.
Sean
00:36:48 – 00:36:50
Maybe that approach would work. I don't know.
Aaron
00:36:50 – 00:36:51
We'll find
Sean
00:36:51 – 00:36:56
out. We'll find out. That's a little technical unknown. It is. We'll find out.
Aaron
00:36:56 – 00:37:03
But we're we'll be able to show them a bunch of stuff before that and buy a ton of goodwill while we figure out Elasticsearch.
Sean
00:37:04 – 00:37:25
Yeah. You know, unfortunately, like, the demo that they keep showing us over and over again so first of all, they show us this demo, and then they're like, most of the time, like, 90% of the time, this is not how we're using the query builder. I've yet to see any of the other situations where we use the query builder. All I see over and over again is the customer queries, which are all gonna be customers are gonna be in Elasticsearch. And it's the refinements.
Sean
00:37:25 – 00:37:28
And it's, like, the most complicated part.
Aaron
00:37:28 – 00:37:30
By far the most complicated part.
Sean
00:37:30 – 00:37:38
Which is cool that we I mean, I'm glad that we get to see that in advance so we know what to plan, but I'm like, so where else
Aaron
00:37:38 – 00:37:50
does this give you? Now where can we where can we get to filter and show me hats that are red? That's what I wanna filter. I wanna see some easy stuff, man. Show me people that are tall.
Aaron
00:37:50 – 00:37:52
Like, oh, okay. Yeah. We can do that.
Sean
00:37:52 – 00:38:00
Customers that bounced from this page within the last 5 days. This is Jeez.
Aaron
00:38:02 – 00:38:10
Yeah. But, hey, it's made us it's made a better product for it, but good grief. Mess.
Sean
00:38:11 – 00:38:16
Yeah. Alright. That's all that's all I got. Alright.
Aaron
00:38:16 – 00:38:17
That's all I got.
Sean
00:38:17 – 00:38:27
Yeah. Cool. Alright. So, marketing page, I wanna work on that. Depends on how much house hunting I have to do.
Sean
00:38:27 – 00:38:37
Yeah. That's fine. Like I said because the way it's working now is if a house comes on the market that we like, we to see it that day and then put an offer almost immediately.
Aaron
00:38:37 – 00:38:37
Yeah.
Sean
00:38:37 – 00:38:41
It's pretty nuts. So I kinda have like a yeah. It's ridiculous.
Aaron
00:38:42 – 00:38:47
Yeah. If you want an escape, feel free to work on the marketing page. Otherwise, don't worry about it at all.
Sean
00:38:48 – 00:38:52
Sweet. Cool. Alright. I'll wrap it up there.
Me

Thanks for reading! My name is Aaron and I write, make videos , and generally try really hard .

If you ever have any questions or want to chat, I'm always on Twitter.

You can find me on YouTube on my personal channel or the Try Hard Studios channel.

If you love podcasts, I got you covered. You can listen to me on Mostly Technical .