What I've been up to recently...
ฝัง
- เผยแพร่เมื่อ 5 ก.พ. 2025
- And, I've been having a lot of fun doing it.
Core vs context is an interesting topic. Whilst I probably agree that it's a better use of time from a business point of view to focus on the core, rather than on context. When it comes to personal development, I think focusing on the context is how we learn and improve.
More information on my upcoming course. Register to be notified of early bird specials 👈
dreamsofcode.i...
References in video:
Core vs Context: / core-vs-context
Try Hard Studios HLS: screencasting....
Leptos: www.leptos.dev/
My Gear:
Camera: amzn.to/3E3ORuX
Microphone: amzn.to/40wHBPP
Audio Interface: amzn.to/4jwbd8o
Headphones: amzn.to/4gasmla
Keyboard: ZSA Voyager
Join this channel to get access to perks:
/ @dreamsofcode
Join Discord: / discord
Join Twitter: / dreamsofcode_io
Whenever the opportunity presents itself to build your own, always build your own! I learn more, and put myself in a far better positioned to adapt and innovate. Well done!
Totally agree!
But when will you rewrite your thoughts in rust?
On a more serious note, that would be great!
😂
I'm already looking at these rust frameworks wanting to rewrite a few things.
write it in c++. that would be cooler
@@dreamsofcode Reminds me of how Fireship sometimes rewrites his course website just for funsies and learning new things
This is incredible. So excited for the next steps.
Very inspiring!
Do you make your own librairies for authentification, i18n, etc.?
The most difficult part of using Go + Templ is how to structure your project so it scales well and deciding on how granular to define your components. Any insight into this will be great!
Go Echo is better now
@@Malix_Labs echo doesn’t replace templ. templ is a templating language and echo is a template-agnostic web framework
If it's a CRUD app what I do is put all model/entity templ components in one .templ file in a package named 'views'. Reusable components live in a package named 'components' (e.g. toast notifs, modals). You can break it up into multiple folders but I'm personally ok with HTML files which are 500 lines long.
I'll definitely share what I learn!
I would love to see how you approached this project! Redacted code snippets would also be so helpful, especially in auth.
If htmlx isn’t a js front end framework, then what is it … it’s JavaScript, right?
When you said "I build my own solution for hosting courses" I thought "yes I will buy this one as well" .. followed by you saying you'll post videos on TH-cam. Haha! Have you considered making a course about ... coding a course hosting platform in go, step by step? I for one would pay for that too, I think it's an interesting project. You could also share stuff on TH-cam, but keeping the step-by-step guide as a course.
Man you are the best, not been afraid of reinventing one thing just to make it fit your needs it's one of my dreams.
Reinventing things is a lot of fun, and a huge learning experience. Even "in the industry" I find NIH to be overblown, and that there's often a lot of value in writing exactly what you need, exactly the way you need it. A lot of devs are just too lost when they have to do anything more than glue libraries together, and we seem to have normalised on the lowest common denominator to some extent.
100% just build a multiple page applications and then build interactivity when needed. People jumping to single page apps right away makes things so much more difficult then needed
SPAs shouldn’t be so heavyweight… they only are because of Framework Fever and the NPM Effect. But at their essence, an SPA has only 110% as many moving parts as a collection of interlinked static pages.
"The domain has expired. Is this your domain? Renew now" Home Simpson says, "Dooohh!"
I just got the email! Lesson learnt: Make sure I check my credit card expiration.
@@dreamsofcode You are in good company. I let my domain expire about three months ago due to the similar issue of paying off a card and then forgetting that my domain registrar had that card on file. Thanks!
Looking forward to them videos
It seems like your domain expired, you may want to at least pay the renewal fee or start being your own domain registrar ;)
Expiring on a Saturday shouldn't be allowed! Fixed now :)
This really made my day, I have been stuck on the same project before I even found your channel 4 months ago and it feels so good to see some one I can relate too, since mine is also about teaching, but mine is for general school stuff with interactive simulations and examples. But the backend needs some work. Thanks for the video
i didnt know you can combine both htmx+alpine, nice
It's a really nice combo!
@dreamsofcode will try later, I want to learn golang again, im tired of playing "whats the type" in python 😅
I really don't understand how you are avoiding the "magic of JavaScript" while using HTMX (that uses JavaScript) and Alpine.js (which is a JavaScript framework). What you achieve at best is not writing JavaScript yourself, but that can both be helpful and troublesome.
Looking forward to seeing the course though!
i haven't used htmx or alpine.js but they are more on the markup level rather than js level if you know what i mean. like in react you write markup as javascript but it seems it's the opposite in these. there are augmentations to markup that replaces the javascript you have to write, again if my understanding is correct without even trying it
You're correct. The JavaScript still exists, but I think of it similar to say using Tailwindcss vs raw css classes, for good or bad.
Neither approach is better than the other in my opinion. However building it using server rendered HTML has been a refreshing experience for myself!
@@dreamsofcode I guess not having to deal with JavaScript first-hand is the positive side for you, which I can certainly understand, being a front-end developer myself.
4:10 you should take a peek into Datastar, all the hypermedia driven power of HTMX, with all the reactivity and realtime-y-ness of React.
Ahh a fellow cultist I see :)
@ guilty as charged
I'm gonna take a peek! Added to my backlog
One of us! One of us!
Mans built his own TH-cam 🙌🙌
You made a course on how to make a course website on your course website next i want to a course on how you made the course where you show how to make a course website on your course website
Next I shall make a course on recursion!
I just love your content. There's a lot of learning for me from your content. I hope the upcoming course is affordable, I would love to be part of it. Thanks for making content on TH-cam.
I've used the almost same stack to ship an app, and so far it's working great, but there's a lot of boilerplate code to write manually, which I do not appreciate, however other elements in that stack are making up for it.
What's the boilerplate you have to write with this stack? You can try tailwind if you haven't to offload some of the css boilerplate which I hate the most.
@@thrash1337 I didn't really meant boilerplate in terms of styling, by boilerplate I meant repetetive code for CRUD actions in controllers, handlers. Elixir for example solves that with mix tasks that are generating that kind of code automatically. It's not some big problem, it just tends to get tedious and unpleasant after a while.
Amazing work. Can’t wait to support you by purchasing your course(s)!
Not directly related but.. are you using a framework laptop? I am not sure from the video, but I though I saw one.. if yes, are you happy with the overall quality and especially the screen. Thanks!
I've used the framework 13 for the entire thing so far!
Will be doing a video on it. Long story short though: I love it! Best Linux laptop I've ever owned.
this is why we are subscribed to you, so much great info!
Have you heard of pocketsflow
where did you get that note book?
id love top get one
It's my own! You can find it on my store on my website :)
Exciting, I'm looking forward to it! :) However, as a NixOS (btw) user, I am legally obligated to ask: Are you using Nix in the stack somewhere?
Does the development machine count 😅
@dreamsofcode ... I'll let it slide this time. 😂
Thanks for the video, and for making voices like myself louder.
We don't need React, Next or anything like that, we can build with more "bare-bone" tool and have the same (or better) results.
I can't wait for the videos on the learnings from this process. Thanks.
Nice! Thoughts on coming back with streams?
SIGN ME UP!!!
Love this vid. I started using this same stack (minus templ and sqlc) for my own projects ive been building this year and you hit the nail on the head calling it "refreshing"
Hey man, can you send the links you use to study the streaming part of your course project?
Should be in the description! Under Try Hard Studios
Awesome, definitely holding off on learning Go until the course drops!
Btw the main body of text on the email collection page of the site is hard to read atm.
Thank you for letting me know! Forced light mode wasn't working well with the background.
Did you build the authentication from scratch? I’m working on a starter kit with a similar stack, but I’m a bit worried about reinventing auth myself 😅
I did roll my own auth! I'll do a video talking about it.
@@dreamsofcode 👀👀hopefully sooner rather than later!
framework laptop and nix shell spotted.... 💪
This is awesome. I recently moved my course off of teachable for the same reasons. Moved over to a custom platform I made with Laravel. It only took a few days.
but I'm using bunny net for video streaming.
CSS on your site is probably borked, the text is hardly legible against the dark bg esp the headers
Thank you for letting me know! I fixed it up a couple of hours a go. I had not tested light mode 🤦
Did you consider opensourcing your platform?
I will absolutely consider it!
When will the course be available?
Early bird access within the next month!
This sounds really exciting! Any chance you would consider open sourcing the code for the course platform app?
Absolutely! I'll need to make it less bespoke in order to do so but once i'm released I'll start transitioning it to being open source.
@dreamsofcode amazing, thank you!
Awesome work, subbed. Paying it forward is the way.
Why alpine js and not hyperscript? I used GoTH with DaisyUI and hyperscript just fine
Hyprscript was another compelling option but I didn't fancy learning a new syntax and alpine is really simple at showing and hiding content!
Did you ever check Phoenix Liveview?
Funny, I've recently started to implement a service that I could have just paid a 3rd party (or multiple) for from scratch. Party due to your recent content on docker and VPS. I now understand why. Looking forward to seeing more of this !
Welcome Back .
why dont you use mpeg dash instead of hls?
I still might tbh! I originally used HLS thanks to the references by Try Hard Studios but having done more research I may use mpeg dash. I'd need to find a solution for Apple products however.
All I can say is thank you and looking forward
4:00 Don't overlook solutions that bridge the single-page vs multi-page gap. Specifically, I have Inertia in mind. I'm sure there are others.
amazing content. can you touch on how you would authenticate a user from playing those files on r2 ? basically i dont want this url to leak out and then face excessive bill from cloudflare if omeone decides to ddos thee links
Pre signed urls, however it's a little tricky to achieve. I'm actually considering moving to cloudflare stream for the mean time until I've implemented it with .m3u8
As for fees however, r2 has free egress so no chance of a denial of wallet attack!
@@dreamsofcode can you elaborate what you mean by pre signed urls ?
@@y.m.o6171 I don't want to be that guy but you should definitely google that
tldr is you attach some rules to the shared url of the object eg when the link expires etc so you're not just making the objects public, they're public as long as the pre signed url is active and you have it
Don't you worry, I'll always be here watching all the videos you make!
WebAssembly is another non-JS option for building rich front ends. It's what Adobe uses for it's suite of tools. You don't have to use C++, there's C# via Blazor, Rust has a few options and there are other languages too.
Looking forward to this! And as someone in Laravel land, nice to hear a shout out for Alpine!!
Hey! What is your keyboard :)
ZSA Voyager!
Would be more interested in a course that covers how you built your course platform: go, htmx, templ, alpine, testing, etc.
I'll make sure to do that one next!
What headphone are you using
Sennheiser HD 650, will add a link in description now!
You're using almost the same stack as me in my currently project, the only difference is that I'm using Ent as ORM :3 Really excited for the alpine video
I love large scale projects like these. They also give you lots of reusable code for future projects too!
Idk core vs context sounds like nonsense to me. If you want something done right, do it yourself
I can't wait for the course
Hey! Which OS are you using? :)
Arg, I started with Go and HTMX, then got sidetracked and started building a headless browser in Go instead. How's that for Core vs. Context?
😂😂😂
So excited for the course 😁
Thank you for the videos man!
> I've been able to build moder web application without having to use the javascript frontend framework
Here you REALLY got my attention, but
> ... and also javascript library for the frontend...
are you sane?
I think what he means is clear.
No need to nitpick it
Haha the library is just for interactivity. Its far more lightweight than a framework.
@Sozzah telling "I created whole app in go" and "lol fools, i've used the 100500s JS Framework that noone will ever remember in a week" just after that is not nitpicking, its at least misleading
You should've also documented the creation of platform itself and made it available as course. So that we can learn how to create such production platforms.
That actually would've been really cool to watch
That'll be the next one on my list!
Really looking forward to these deep dive videos on secure deployment and video streaming especially!
Man, it is initially hard to used Go, Htmx and Alpine in a convenient way. We spend time doing the thing to do the thing. But after the initial "framework" is is done, it is beaultiful. Writing a templ, Alpine logic in Typescript that is minofied and attached once for each templ component as in-line JS, beaultiful.
In my opinion that piece of conventional wisdom is best applied the other way around, that is "never outsource your core competencies"
If you were teaching that didn't evolve software such as baking or yoga, then it's less likely that building your own course platform would be worthwhile
But you're teaching software development, so the quality of your course platform will be a very direct signifier of the caliber of content you'll be offering
Amazing video like always! I curious on your opinion about the Phoenix framework from Elixir
tier s content
No jQuery? 😭
I do miss jQuery!
Out of curisotiy, what are those haedphones that you're wearing?
Look like sennheiser 650’s or something similar
I think when using something like gumroad the community is the bigger reason than the tech stack
This is very interesting for me to know a good way of education course implementation, because I wanted to create platform for my wife's courses and classes.
Really w move on making your own platform!
Happy to see you again.
Why not try open source LMS??
Can’t wait for the course with GO.
personally speaking, would be fun to learn how to build a project/platform like that as a course.
You are doing God's work with what you're doing 🫂💕 cant wait for the course to release.
GOTTH stack FTW!
I hope there's great test coverage for the platform lol, like it would suck to lose progress randomly.
amazing.. keep it up!!
I'll be waiting to for these videos. ❤❤
It's so powerful to know that you don't need javascript for building web app.
Thanks to this video, I'll bite the bullet and will give the GOTH stack an attempt to.
Let's hope the result is good enough to be mentioned here :b
Nice one 😊🎉
Inspirational
i am really looking forward to it
🔥
A new vid 🥳
First🎉, that being said how do you deal with writers block.
where's the nix over arch video
Its coming. I wasn't happy with my first rendition so I'm going to record it again!
Dude you rock!
Later this month????
Cutting it fine.
let's go!
This isn't a what I've been upto recently, It's literally you soft advertising your course.
Thats really exciting, can't wait for the course!
Oh, I see! SOMEONE had a bad case of "I had to reinvent the wheel because ..."
But I get it! Sometimes you choose "solutions" that everybody seems to choose and in the end never fit quiet right to your purpose and you basically wasted a lot of time by simply not coding that darn thing yourself. 🤔🙄
content