Rust Developer Admits to Enjoying Dynamic Types with Sean Walker | Backend Banter 025
Video Title: Rust Developer Admits to Enjoying Dynamic Types with Sean Walker | Backend Banter 025
That last sentence you just said once you lock in this is again like calling back to my episode with Theo once you lock in what your app should look like that the problem is that never Happens Before we jump into today’s conversation I’ve got a recommendation Jonathan Hall a friend of mine who was on the show 10 or so episodes back well he’s got his own podcast that you should definitely check out it’s called cupo go and we do talk a lot about go development here on
This podcast but we also talk about a lot of other stuff and cup a go is a great podcast if you really just want to keep going deeper on the go programming language so cup AO go check them out they’re on all the major podcasting platforms and on YouTube Sean Walker
Super excited to have you on the show we’ve not yet talked about Ruby or rails yet on the Pod so super happy that you’re here to join me today yeah um I’m glad that I could be the rails person for this podcast uh because I represent
All of the Rails community no I’m just kidding um no I the biggest name in rails Maybe why would I even invite dhh when I can get you it’s true it’s true yeah dhh he really doesn’t know too much about rails you know um so it makes more
Sense to have me yeah he’s he’s too far in the Weeds on implementation because he made it yeah exactly exactly he’s not not in user space yeah so true ridiculous so true cool okay so um I’ve known you tangentially on Twitter for a while we have a lot of mutual friends obviously
You stream on twitch Ruby rails rust you primarily had a career in in Ruby on Rails um let’s just start with a simple question of when did you start coding and then the followup of when did you start writing Ruby oh my gosh um man I’m
Gonna like show my age I guess I can you can already see my age but uh I will say so I started coding um I started coding when I was like Junior High I want to say um it’s it’s been a while uh you know that was just
Like side project stuff um but I started coding earnestly probably in like high school um because I yeah I was kind of dabbling like I my dad was a programmer kind of and he had books and I would read the books it was like C but then in high school I started doing
More uh like real programming which is mostly C++ just um on everyone that’s not writing C++ uh and then so yeah I started writing Ruby so this is this is a funny story like you have to be for this is the context okay it was it was
2010 okay like and um reals was hot like it was so so hot like you know it was like the hot it was like hotter than bun you know um so at the time you had I was wanted to do real so bad I was doing I was doing asp.net uh
What was it at the I think it was called Web form I was doing web forms okay okay my first like web development job and I was like I need to do rails rails is the thing I want to get into web Dam I want to do
Rails it’s so hot dhh is thought leering me to do rails um and so I got my first rails job finally in 2012 um which rails is still really hot I think rails 3 had just come out MB was the framework that uh so if you don’t know was already out
In 2012 yeah I think it just came out I’m pretty sure okay do you know what major version they’re on now just they’re on seven they’re on rail seven seven okay they’re moving pretty quick that’s like every two years or so right yeah there was a low for a while like I
Think rails 5 was around for like or rails 4 was around for a long time and then it was a weird gap between four and five but yeah they’re on seven now but but yeah so I started programming rails in 2012 it’s been a long journey too
Long probably but yeah that’s how long I’ve been programing rails well on and off like I got another I got another CP off in between but yeah mostly 10 years of rails is what you could say I’ve been doing got it okay so one of my philosophies around learning to code
Like becoming a software engineer is you should kind of try to become what I call like a t-shaped developer yes um and the way I describe this I I did not come up with this by the way um but the way I describe it is basically you want to
Have like kind of a broad knowledge of a lot of things um to quote Adventure Time and approximate knowledge of many things and then kind of like an expertise in like one or two things or something specific right so that when you do go apply for a job you’re not just seen as
Like another jack of all trades but like you’re actually good at that thing and I think you’ll have a you know better chance of getting that specific job but it is important so like be aware of all these different Technologies so that like when you show up even if it is for
A golang backend interview when someone uses the word Ruby on Rails you’re not just like deer in the headlights like you just have no idea what it is right so that’s why I love doing interviews like this we like I don’t do Ruby on Rails I don’t teach Ruby on Rails on
Boot Dev but like I just feel like it’s one of those things that a lot of the students do need to at least know about so let’s jump in What so obviously doing Ruby on Rails for a long time what is Ruby and what is rails yeah no this this is a good
Question um I so if you don’t know like all the history which it’s so funny that I know all this stuff um if you don’t know like the history of Ruby or rails Ruby is a programming language written in 1995 by um a guy named Yuki hero uh Matt something but they everyone
Calls him mattz matz right okay so mattz Made ruby in 95 he wanted to H what was he this is Japanese he’s Japanese um but it’s beside the point he he wanted to bring joy to programming right he did he wasn’t having a good time with c’s he’s
Old school C programmer he wasn’t having a good time with C he’s like I want to make a new language Ruby was that language it’s supposed to be fun to program in no static typing you know um which was at the at the time 90s to like
Mid 2000s no static typing was was trendy right now it’s like now we like make fun of that but it was like really cool coming from C right yeah it was really cool coming from c um so he made Ruby and it wasn’t until 2003 I think
That dhh started to make rails but I think he only made it because he was using Ruby to make the first version of what would become base camp um which is 37 singles first product yeah so Ruby is the programming language rails is the framework so it’s like uh JavaScript is
To express JS like that’s like the that’s what it is right um right yeah so that that’s that’s the difference although I would so I’m actually interested to hear your take on this um I sometimes get frustrated when people refer to express as a framework and it’s just because I’m I’m
In Camp word mean things sure um versus words don’t mean things which I feel like sometimes we can slip into and the way I Define a framework is basically like you build your app in the framework rather than like injecting the framework into your app it’s like which is the big
One and which is the small ones right so like when I use just an authentication library and all it does is authentication I feel like I’m injecting that into my app right my app is the big thing and I’m ejecting in um some authentication whereas like when I think
Of like rails it’s like no no no like this whole thing is rails and like my application logic fits in like this this file where you tell me it should right I I put my application logic into it so I’ve always kind of viewed Express um expressjs as more just like a routing
Library than like a fully-fledged framework right doesn’t really have opinions on databases and authentication all these sorts of things um same like with go like I’ll use a routing library and go to build a rest server but I won’t necessarily like I wouldn’t really call that a framework um how do you
Think about that just like contrasting the difference between like Express and rails so that people aren’t thinking they’re the same thing oh I see what you’re saying yeah okay yeah that’s fair that’s fair I mean rails is more it is rails becomes your rails is your app or
Your rails calls your app right the framework is the thing that calls you and librar is you call right um yeah and I would say yeah Express is very minimal and it is more just routing um rails it’s more all encompassing database background jobs email um it’s got email
Receiving email um like you don’t Google how to do X in Ruby like you Google how to do X in rails right yeah exactly exactly no that’s that’s fair that’s fair rails is framework Express is more like a library that’s fair so I don’t I don’t know if JavaScript might not have
I think sales probably right like JavaScript probably has other more all-encompassing things with the do background jobs and all that stuff but well I just actually stopped recording with West boss like 30 minutes ago he was talking about how like one of his main points was like JavaScript doesn’t
Have a rails yet so like it’s funny that you both like said the exact same thing well I’m just I’m just if if there is one I’m not aware of it right um but yeah yeah I mean most most EOS don’t have like they don’t have rails it’s
Kind of like python D Jango right like d jango’s kind of almost there it’s got its own om and some authentication stuff yeah so laravel has like a whole hosting solution like they actually offer isn’t that like the business model they do like hosting and essentially Cloud
Infrastructure for you I think so all I know is that uh the person his name is Taylor um I for his last name otwell Taylor otwell all I know is he has a Lambo so clearly there is a business model um you know I mean but I will say
Like if Taylor ow might have a Lambo but dhh has a bani so you know oh I didn’t even know that he’s not famous for it he’s flying under the radar yeah he is he’s he’s definitely he has a house in Malibu like gu Rich okay so building
Building there is money to be made in building Frameworks if you do it the right way apparently although I guess dhh like Taylor awale is focused on laravel dhh is actually like running a company right 37 signals I don’t think he really has he like other than the
Publicity of rails do you think he’s profited off of rails in any way are there even any products surrounding that no I don’t think so he’s never done like any hosting thing I mean he even just recently released Kamal which is like a deploy solution for rails to kubernetes
Um but yeah I mean I don’t think I don’t think he’s even written a book about it tell the truth yeah I think it’s mostly been like I mean obviously it’s supporting open source and all those great things but but also just I know that anyone who uses rails is probably
Pretty bought into like the 37 signals base camp ecosystem like I worked at a company that was kind of migrating off of rails and on to go this is a few years back and there was very much like a you know we read we read 37 signals we
Run our company that way um so there’s definitely some some kind of like secondary effects that I’m sure have helped in some way yeah no that is true I mean like even people at my company we don’t necessarily appreciate 37 signals we don’t use base camp we know he stuff
But we do know of like what happens in dhh is like Universe yeah yeah well I mean the man publishes a blog post and everyone’s reacting to it um yeah that is true that is true in fact maybe that’s where we should go next so um dhh
Publishes a lot of blog posts and the recent ones have been I mean I guess he’s always kind of been a contrarian um and I think it was I’m now gonna kind of like quote Dax rad um from the tomorrow FM podcast but he was basically saying
That he was a contrarian always uh but 15 years ago Dax was basically saying yeah he was right like turns out he was right and it’s I think I think dax’s take is now that he maybe disagrees with some of the more recent pod uh with some
Of the more recent blog posts so there was there was recently a blog post by dhh on Dynamic typing and basically the thesis was hey Dynamic typing is better actually um and this has kind of been on the back of you know typescripts gaining so much popular and I think he famously
Ripped typescript um out of was it rails the rails code base no it was H it was tur it was turbo his front end the front end part of rails I guess you okay got it so the right because I mean rails is obviously written Ruby rails is written in Ruby the turbo
Is was typescript and now it’s only JavaScript okay and turbo can you tell me what turbo is like I’m actually a little bit confused why there’s like a runtime involved at all right so okay so rails is um it’s just for the back end right like redirects Sanic http1 like
Just regular old requests right and websockets and things and whatever service and events but there’s no and you just serve up HTML right so turbo is like HTM X but it does a little bit more oh like like a more like rails magic way
Yeah got it so it in so and is it like out of the box rails like this isn’t a module that you add uh rails has built in things to work with it but it’s now in rails 7 okay um but in rails 6 it was kind of new still
And it you kind of had to bolt it on a little bit but rail 7even it’s more integrated for sure got it so like if I go spin up a rail 7 app kind of the default app it’s actually shipping like a JavaScript library to the front end that supposedly gives me some
Functionality that I care about if you CH yeah if you choose it yeah in as rails new if you go rails new choose Turbo yeah okay it will that’s really interesting I I didn’t even realize that and is it is it like HTM X and that like
It gives you new HTML properties to add to stuff to enhance functionality when I say it’s like HDMX I mean I guess it’s funny like I mean coming from like Old School web development right um HDMX it doesn’t give you new attributes okay but it gives you the the haos like hyper
Media as like State application state that whole thing right the whole philosophy op it’s similar um but the way turbo differs from HDMX is that turbo has what’s called the main feature is Turbo frames right okay and so it’s imagine if iframes were Ajax right that’s what turbo frames tries to
Deliver so you wrap the part of the page you want to change in a turbo frame and then when you submit a form you click a link just that bit gets updated and rails handles all that on the back end got it so because let me kind of like
Run this back so in like a typical Spa single page application and like react I would make an Ajax request an asynchronous fetch request to like a backend service and I’d get back to some Json right and then I’d like use that Json my JavaScript would parse the Json
And like dump it into the page right like fill out a table or something HTM X and I’m gonna have the HTM X guy on I’m super excited pretty soon to talk about it oh that’s um I think oh man has he committed might have to clip this out uh
I think he has can’t remember um no he did he did he scheduled um okay but the way HDMX works as per my understanding is like instead I can make an HTML form and I can add like a special attribute to it like in the HTML at least as far
As I’m concerned about HTML and when I post that form it gets posted to my my back end and my back end actually gives me back the HTML that should go in that form and like swaps it out yep and what you’re telling me is rails Turbo with
Turbo frames is a very similar idea obviously it’s not HTM X but like it’s not a special tag on like a form but instead it’s like you almost Mark a div as swappable yep that’s basically right so there’s a turbo frame element that you can add so like turbo Dash frame like
Literally that’s the element it’s it’s just a div but but they call it like a turbo it’s like a custom element it looks like a custom element and you just wrap whatever you want to change that like so inside then you wrap your form in the turbo frame and then that will
Whatever’s in the turbo frame that matches IDs yeah those will change in inside that frame okay so let let’s talk about this philosophy for a second this is something that I think will be really useful to a lot of my listeners so web development for the last six
Years there’s been a lot of this just Json based data web development what I mean is like you build your back end it’s built in any old language you want it’s probably a resting API you’ve got a front end that’s essentially an application that’s a mashup of HTML CSS
And JavaScript right there might be a view in there there might be an astro or a react or whatever but that application just communicates with some backend rest server using Json so it’s like data only in other words the backend server in this architecture model doesn’t give a
about what your your front end looks like like it doesn’t care that you have a div there it doesn’t care that you have a form there it doesn’t care about the colors and that’s pretty nice like as a backend developer all you have to do is worry about the data whereas
Under this this like HTM X um turbo frames or like old school PHP the back end drove like how the front end looked what are your thoughts just on that architecture does it make sense when does it make sense it does make sense and it’s like
That Meme you know where it was like um you know I think Prime he shared it or whatever it’s like the from that Tom Hanks movie where it’s like Pirates take over the ship and the guy’s like you’re full you’re full stack now um and the GU
Like back in so like that’s how it was I mean like I’m still considered like full stack even though like I wouldn’t say I’m like the best designer in the world but I do I do work from this is when I say full stack I mean I work from like
Background jobs in Ruby all the way to like I do like Tailwind stuff yeah in the browser CSS that’s full yeah yeah so that’s like that to me is like okay you’re full stack right you’re talking about ingesting data from AWS and you’re also like writing CSS like the same day
Right so like that’s that I think that’s fair to say that’s full stack um obviously I’m not I’m not doing a lot of De I have done a little devops at my company but yes I do think so I do think it makes sense from a a from a company’s
Perspective it makes sense because you can save a lot of money right like right you get one of me in there instead of like two people um you’re saving a lot of money right um do I think it makes sense from a product perspective it
Depends on the pro like if it’s B2B SAS admin dashboards it makes perfect sense right like they don’t really do too much they show some tables they show some charts you know you see some ingested data just like crud basic you might have data entry yeah you might have crud um
You know it just there’s not a lot going on so from that perspective yes HDMX the hos model makes perfect sense um and I think react is largely overkill for that type of application but for something like a social network I mean react’s probably react’s probably the right way
To go yeah when there’s like so much complexity on a page and there’s a mobile app and there’s like other things yeah yeah in my mind and I I may be totally off here because I frankly haven’t worked with HDMX yet and I I need to um
It seems to me like it would be more useful in more of like what I would consider a website and and yeah I could see how like even a simple kind of crud app might fall into this category as well but the minute it starts to feel more
Like an application with like lots of stateful logic on the front end I could see why it would it would start to be really hard um yes not to mention like latency like Network latency is a problem right you click a button you’re still waiting for the network right
Right you can’t you can’t do the fancy client side rendering tricks under this y this new model new model it’s the old model right it’s the old model it’s the exactly it’s the old way of doing the web yeah super interesting yeah dhh has published some controversial stuff Dynamic types as a ruby
Developer um obviously Dynamic typing is a thing uh same with python so a lot of my listeners have have done plenty of python um how do you feel about his takes on Dynamic types I mean software Dev is cyclical you know like I mean at the time Dynamic types were hot uh years
Ago static types are now hot do I think static or diamond damic types will ever be hot again it’s possible look I don’t want to say okay like it’s possible um but I do think like in terms of typescript I don’t know how much benefit there is is over regular JavaScript um
Only because typescript is this is spicy I’ll be sure to publish this video right after Theo’s video yeah only because typescript it’s it’s it’s Java it’s still JavaScript right and so you’re like papering over it it feels like you’re papering over some of javascript’s like problems but you’re
Not quite there um so I mean from that perspective I think I think I think I think he’s probably on the right in this one um but if it was a real type language like go or rust or something no like that’s way better don’t rip out types for for that
But for JavaScript and typescript like it’s not enough of a benefit I I would say okay this is this is some hot banter we’re about to have I’m really excited um I had Michael Green on Eight Episodes ago to fight the dynamic typing fight um but from a python perspective but his
Perspective was actually just the dynamic types are better or at least in the majority of cases right um whereas you’re saying is Javascript might be better than typescript but also you’re a rust fan and I don’t know are you a go are you a Goan not really all right well wrong
Again but we can we can table that uh but you’re at least a rust fan which obviously has very strong static types it does um and you like that so I do seem seems like some cognitive dissonance there Sean tell me tell me why does I mean like typescript well
First of all it still has nulls right there are no option generics um which is like one of the major I think things that stattic typing should give you strong stat typing should give you option generics just go does not have that either um go still has nulls right um and
Results yeah spell it with three letters yeah um I mean there in theys in Ruby too but but yeah so it’s like I don’t think um I don’t think typescript is enough to justify like the the added complexity the build step right right so like the overhead of the compile step the verbose
Syntax like you see the static typing as a benefit just not as enough of a benefit in typescript specifically yeah in typescript specifically right but in Rust your in Rust it’s wor langage totally fine language yeah no I I think um for like for a lot of applications um Dynamic
Typing is fine right um like in small I’m talking about smaller sort of all again like very simple applications Dynamic typing you’ll you’ll static typing is not going to help you that much um but for like something like etls that can be complicated or other things
That like very like what you said before like situated or like single page things typescript might actually have some benefit but the types of the the types of apps that dhh writes for types like typescript does not help him right because the stuff that he does is it doesn’t the screens
Aren’t that complex right so let yeah let me ask a question about this because I I don’t know if I’m buying it um and here’s why so you’re writing some Ruby yeah and you’ve got some data model and now you need to use that data model on the front end in your
JavaScript or or do you not like maybe that’s maybe that’s the difference when you’re writing Ruby are you ever like parsing these objects into your JavaScript code or are you just like rendering the HTML with Ruby you’re just rendering the HTML with Ruby yeah so
Yeah like I guess I guess I can see that does your tooling stop you from using properties that don’t exist in any way or do you just have to kind of know okay how what does that look like and how does that work without a static type
System so Ruby had there’s linting right like and that’s what typescript is it’s a linter right yeah and so like we have linters in Ruby and we’ve also got shopify’s working on LSP for Ruby um but solar graph is like the main linter and it will check to see that like your
Active record models don’t have this column in the database so you cannot call that right that’s what you’re saying got it yeah cuz like in Ruby a property is essentially a getter right like it can be it’s like a method that can be overwritten yeah that is correct
And so you’re saying like your tooling is sophisticated enough that like you can tell if a getter exists or not yep yeah I mean that Tada like that’s 95% of typescript like the benefit of typescript in my opinion or or I mean of static types in general right um so that
Makes perfect sense to me um but so have you ever written like a restful Ruby service um I’ve written rest apis but I haven’t written a rest API that gets consumed by a spa personally got it yeah in in rails I haven’t done that in rails personally but I’ve done it inside
Projects and other things um and in C I did I did do c on the back end react on the front end but that’s again sag type so yeah because like that to me is where the majority of the pain lies in just like I’m G to parse some Json yeah and
Even if it’s just I mean even if it’s one single key like just the fact that I could typo it and nothing’s going to yell at me is like that’s all the pain in the world to me yeah I mean there’s there’s a lot of people like I mean
Michael Green apparently is a u Dynamic typing apologist and then you’ve got like Rich hickey right who’s famously was a C++ programmer wrote closure right that’s Dynamic typed um and he he disagree he he’s very into dynamic typing he doesn’t see the benefit of static typing so yeah I mean with a
Strong linter I I think it’s probably okay for most apps but like Mission critical things like I would probably rather fly in a plane that doesn’t have Ruby on board and it does have something like C++ at rust but that’s just personal personal opinion oh yeah it’s not even close for
Me and please like don’t allow web developers to write that code like even true like we’re just not just not rigorous enough in our craft like to be writing that kind of software yeah I I think this is this is another like this is a Rob Walling quote from an earlier
Episode but basically like Agile development like really great for the web should probably be doing it it’s going to increase productivity have Better Business outcomes but like also probably shouldn’t be shipping to production 10 times a day like when you’re working on like MRI software or like so true something that could like
Imagine like the software that drives like the lasic surgery machine like you’re just shipping updates to prod over like Wi-Fi like that sounds like an absolute disaster yeah if that was Ruby or javascripts no thank you I’ll stick with contacts thank you very much okay cool so all right I I
Definitely understand your position and I actually I tend to agree like I mean it honestly it sounds like you’re not actually using that much JavaScript in your rails apps like at all it’s true it’s true I mean look at work we’re still on jQuery so you know it’s just
The kind of world I live in you know yeah very very different okay cool that like again such important context to have especially if you’re a new developer you’re learning about all this stuff it’s so easy to like watch a video and think this way of building apps is
The only way when in reality there’s like maybe three or four like serious like big picture architectures that are used today and then of those there’s even subsets of like different ways you can break stuff out and every company I’ve worked at has had its own like own mess of
Architecture it’s always a mess that is the truth I mean it’s it is always a mess like there’s never any like oh I walked into this clean architecture like that’s perfect like I wish I could do this you know all the time no and there’s always like some migration
Underway like we’re we’re always in the middle of moving to something yeah I mean even now like we so GitHub made this Library called view components and if you’re not in the rails or Ruby world you wouldn’t even know what this is but uh essentially rails the biggest problem
With rails is that it only has what’s called partials right and so they’re kind of like components but very slow and horrible um so GitHub saw this in GitHub famously right BR and rails um and so they wrote a library called view component and this is it encapsulates it
Basically marries a ruby class to a bit of HTML um and so it’s like more it’s like strongly sort of married together whereas partials you can just throw a hash in there a hash a hash means like a hash map or like a dictionary I don’t
Know what call that yeah so like then you just throw that in there and you can start rendering things but in view components it’s it’s more it’s exp it’s very explicit whereas partials are very like sort of in not really explicit yeah the difference between like just handing
It a string and hoping it maps to something right and like having not not a keyword but like a token in your abstract syntax tree that resolves to something I’m guessing so this tooling will tell you yeah yep you yeah so yeah we’re in that migration there’s always a migration you’re you’re totally
Right what do you think about dh’s migration off the cloud is this something you agree with oh that was a that was a great segue oh my goodness if I could just do that on my streams okay so um that was amazing uh yeah dhh
Moving out the cloud I actually I I re read that post um his his like famous it was it was actually months ago that he talked about moving out the cloud he just re Rel recently like talked about it again how he saved a million the company saved a million dollars right
Every year they’re saving a million dollars um but the Old Post makes it it puts it in context right so they they have multiple old Legacy applications that they do not update anymore except for security updates and they they’re if you didn’t making money just running in the background exactly it’s making money
But they don’t touch it right basically except for security so so from that perspective the cloud is costing them a lot of money because they’re not selling it right there’s no new users it’s just the existing users they’re just maintaining um and they have like five
Of those they like I think like I I forget the names of them but they’re like one’s a to-do list one’s like a chat thing there’s like a bunch of them right um and so from that perspective and the perspective of 37 signals which is we will run these apps until the end
Of the internet right that was their famous maret marketing thing um from that perspective it makes perfect sense to move the majority of your stuff off of the cloud and since they are already in the process of over-provisioning these servers and doing all this stuff
They might as well just move the rest of it right um and I think for I think for 37 signals specifically it it made sense with that in the context of that post um because they’re not a high Growth Company anymore right I mean it’s it sounds sad but like that’s just the
They’ve never really been that way um yeah they’ve always been like the bootstrapped like trying to grow responsibly profitably very different than like your Silicon Valley Tech startup right yep so so from that perspective like it makes sense for them to move off the cloud but even in the
Even in the post dhh goes well it doesn’t make sense for small companies that are like just getting started because you realistically I don’t know how true this is but like I mean you’re probably not going to make it right like you have a startup you start startup today the
Odds are you’re not going to make it so like do you want to have a bunch of collo Hardware in a data center somewhere in 24 months or do you just want to be like well we’ll just cancel all the cloud subscriptions whatever who cares yeah okay this this is starting to
Make a little more sense I will say so first of all I don’t have an opinion on whether it was right for them to move off the cloud because I don’t I don’t know like I don’t have any of the information required to make that
Sort of a judgment call I will say that I don’t feel like I’ve ever worked or seen worked at or seen a company where it was obvious to me they should move off of the cloud with the exception of like giant companies that own their own clouds like obviously Google is
Going to use its own cloud infrastructure and like you do get to a point where it just makes sense to build your own cloud if you have that expertise like apple I feel like it would make more sense for them to build their own cloud offering probably than
To like go pay money to Microsoft to rent Hardware right um so there’s like there’s there’s that aspect to it but what you said about they have old software that theoretically has like dependency lock in like they’re not upgrading rails versions anymore they’re not upgrading you know database versions they’ve like
Locked in all their dependencies so in theory you take a snapshot of whatever’s working now and it will continue to work as long as whatever Hardware it’s running on is compatible with it and so like taking that hardware and just going and buying it like shoving somewhere
That’s connected to the internet I can see that I can see that because to me one of the big headaches of on Prem is when you do inevitably have to go about upgrading stuff and like a lot of the cloud services take care of that for you
Right yeah you just pay your monthly your monthly bill and then suddenly your Hardware gets faster right yeah yeah and then the second thing you said about like this is like a business term capex versus Opex right capital expenditure versus operating expenditure most companies especially in the early days
Would rather have operating expenditures of like I’m going to pay $50 a month every month because if my company fails in six months or if it turned out we made the wrong decision we can just cancel that bill and like move on whereas capital expenditure would be
Like okay we’re going to buy you know a server rack for $50,000 and we’re going to get a dedicated line of fiber and run it to it and we’re like done paying for it at least for the for able future um so there’s no ongoing costs we’ve like
Invested in it and that again that makes sense in their scenario it’s like we we know we have all these customers they’re paying for it we’ve got to run this thing till the end of the internet yep versus my startup that might go under in
Two months right yeah so I mean it with in the post it makes more sense I mean on Twitter it makes less sense right because all you see is dhh going we moved off the cloud and like that’s it that’s the whole thing like he he might
Link to the post but then no one reads it so it’s like what are you talking about D he’s like this is crazy um and I think he suggested too like that people look into their own companies and ask if the cloud is right for them and I think
That’s where the drama happened right it was like oh well he’s not saying he’s moving off he’s saying maybe we should move off the cloud that’s crazy like let’s not do that and like yeah I so I do think like for in the way he framed
The post it made sense um but I I think I mean he even says like four small companies don’t do it um but for larger companies or like even midsize companies that sort of have I don’t want to say growth as plateaued but it’s it’s linear
It’s not like explosive or or it’s not like um like like spotty it’s like oh this month we’re doing great and the next month it’s like really we’re doing terrible let’s spin some stuff down like that’s that’s not 37 signals and like I think a lot of B2B SAS like it’s very
Long s Cycles you’re waiting on other contacts at other companies to make these deals happen um in that perspective I don’t know but I think it might make sense for more companies than just 37 signals yeah that’s where I definitely start to to at least disagree in in
Principle I think there just there’s got to be so few companies out there that it makes sense for I mean you can you can look I feel like you’ll probably be wasting your time by the way I want to just really quickly like give a definition of cloud especially for some
Of my newer listeners so like when we say cloud we’re really comparing it against hosting your own websites like on premise in your office so like rewind 25 years and companies had like a computer a server sitting in a closet that’s like got a dedicated line to the
Internet and they’ve connected their DNS records right their domain name like to their IP address of that computer in the closet and it’s serving all the traffic of the website yeah whereas like nowadays it’s it’s convenient for most companies to rent a server in a data center that’s hosted on quote unquote
The cloud which is really just you know a data center owned by Amazon in AWS Google and gcp Microsoft and Azure whatever and then like they give you like a dynamic IP address that you map to DNS but like the point is most of the infrastructure is abstracted away from
You and you don’t have to like hire people that can run network cables yeah I mean there is a third thing that I think we get they got lost right um it’s not like there the third thing is what which what thir s signals does is they
Use a company called Del right or Deft I I forget and that’s it’s a Colo company right so they don’t ever see the machines right the Colo companies in the DAT they have their own data centers they’re in the data like Rackspace is is another famous one and they they handle
All the provisioning and all that stuff and they and 37 signal just pays them money to do that but 37 singles does own the machines right right the maintenance of the machines is outsourced to rack space or like death or whatever so yeah there’s there collocation it’s like a
Spectrum there’s in the closet collocation uh Cloud right that’s like the spectrum of of hostings options that you have pretty much and there’s vpss and stuff but that’s still like Cloud you know yeah I’m really glad you pointed that out there there’s more than just the two options and yeah Co
Collocation is interesting it essentially gives you like a lot of the features of um this this like capex versus Opex scenario so like can do the capital expenditure thing but you are paying for like infrastructure level services so like you don’t need to have the IT people on staff right but then
The other thing you’re definitely missing out on at least these days now that the cloud platforms have gotten as sophisticated as they have is like the software maintenance side so like when you’re working in AWS for example and you use like RDS for a database it it’s a managed database right it installs
Post address for you it gives you an endpoint you can hit to connect to it whereas like the software side of things in a Colo I believe is still usually kind of just on you it is yeah and that’s I mean AWS has some killer killer features like ads Athena is amazing fire
Hose incredible um I I don’t want like I think the cloud makes a lot of sense for a lot of people and I don’t want to take away from that like I mean I I if I started a startup today it probably be on AWS like that’s that’s just how it is
Right like I mean you know I mean I think anyone who’s starting today would probably be on AWS doesn’t make any sense to to coo um today yeah yeah and that’s kind of what I’m that’s kind of what I’m trying to say I think I feel
Like it’s so few and far between where it makes sense to try to bring that expertise in house like last company I was at 600 people roughly 115 developers um big company been around for like 12 13 years at least with the current iteration of the product um I
Don’t see any benefit to moving off the cloud in terms of like yeah the cloud bill was fairly expensive um but not compared to salaries right when you’re when you’re employing 115 developers like that’s a lot of cash yeah it right um so like the cloud the cloud costs were dwarfed by by
Salaries and so it’s just you know the headache of like not being able to use manage servic anymore and getting 115 people now to like SSH onto boxes to do things like I just can’t I can’t like it just feels like so far removed in terms of where that
Calculation actually agree I actually agree I think it is a very Niche thing that 37 singles is doing and I think there’s there’s only yeah I agree with you there’s only a few companies out there that even make sense for like cost wise um yeah I need to get dhh on the
Pod to talk about that would be incredible like if you on here that would be next level I would I would definitely tune in for that one yeah I I’ll try I don’t that might be like I have to get I have to make the Pod bigger so that’s like episode 100 sort
Of material but we’re getting there there you go okay cool let’s talk just a little bit more about about ruby and rails and this whole ecosystem I want to hear what’s your least favorite part of the whole Ruby rails ecosystem okay so I mean this that’s a big one I mean Ru we
Could we can can I split it up Ruby and then rails too like I oh yeah that’s a good so so my my least favorite part of Ruby is monkey patch right it’s Dynamic it’s runtime changing of classes out from under you right that’s disgusting
It yeah so I mean as a as a courtesy no one actually does that like when you work at like a professional real no one no one really monkey Pat we if a monkey patch goes to code review it’s gonna get denied right it’s like taboo okay yeah
It’s like taboo but of course rails has it built in right there’s a whole Library called active support and active support overrides integers it adds methods to integers it adds methods to Strings it adds methods to everything all at run time um so like that’s my least favorite part of Ruby is monkey
Patching uh my least favorite part of rails is probably the partials again like the partials not great like it’s not a good experience um it’s it’s not explicit enough it’s it’s just they’re not they’re not good The View part of rails is like really aimic and it feels
Like it hasn’t changed in 10 years right it’s the same as it was um and I I I like that they’re trying to do something with turbo but it’s it’s still built on partials and it’s still not a good component story right yeahum so that’s my least favorite part of rails that’s
My other least favorite part of movie that was yeah those are those are least favorite this whole monkey patching business is interesting to me I want to make sure I understand it properly really quick so is it like the global so like you’re saying when I monkey patch something I’m like changing
Like what’s the difference between a monkey patch and like just at like overriding like a parent classes U behavior um okay so overriding parent class Behavior the difference is that you could monkey patch like integers right you can monkey patch Point number you can monkey patch the types of the
Thing um so like Primitives Primitives you can you can monkey patch Peres but also it is class like okay so in rails you have the you have a rail console it’s like a repple right and you open up the rails console in production you can overwrite a class on that instance and I
Do we do and like the next time it’s called it’ll okay I get it so like you hop in and like add debugging you can add methods you can over you can change methods um that were there before rerun them in the same background job and they’ll run perfectly smooth like you
Know um so it is a double-edged sword right because I’ve I use it every day and I oh I made a mistake and it it you know and I know what the fix is and like code review is going to be slow we can we can solve it for this customer right
Now right what Sean why have a code review look look I look code review passed okay but you know we still got problems so it’s all right I I haven’t I haven’t done it late I haven’t really done it that much lately but I will say
That I I do succumb to it all right I’m sorry no that’s amazing I I always laugh because like this last this this company I worked at that had this like really intense approval process to get changes out to production but everyone in the company kind of just knew that like
You’d go through this they they would do releases every two weeks something I don’t advise in web I feel like you should be deploying often but yes they’d release every two weeks there’d be like a punch of QA like manual review everything goes out because it’s like thousands of files change because you’ve
Got you know lots of developers all making changes over a two we period and pushing to production Right Stuff breaks and then for the next week everyone’s just doing hot fixes uh that like don’t have to be approved so like it’s just like push something that’s completely broken and
Then just like Hot Patch it for like a week look I that honestly that’s the thing of the industry like I I was talking to my old cooworker who’s like C guy he’s like he’s just he was depressed he’s like oh man I wish Webb was like a
Little more like rigorous you know I just wish we could just do a little more and I I agree I agree I wish that we just were a little more more like less focused on like the agile like oh let’s just business let’s seal let’s let’s let’s seal this deal with this company
Like let’s just get it out there get it out there um yeah but I mean you know I feel like yeah I feel like we lack we lack the proper philosophy because like I think it’s and I would guess you’d agree like waterfall wasn’t great no um I wouldn’t go back there but
Like I I’m I don’t think I mean first of all agile is like such a vague term in the first place but like even if you like Harden it a little bit and like talk about scrum like I have a lot of problems with scrum but I don’t feel
Like we found the better philosophy yet I mean agile you’re the one who was stickler about words so like agile I mean you know that’s that’s a word that doesn’t mean anything anymore oh yeah you go read the agile Manifesto says a bunch of great things but like it’s not
What the LinkedIn influencers are talking about generally speaking it’s true it’s true oh man okay so I got your least favorite opinions um now I want to hear I want to hear what your most like what your favorite thing is but like make it unpopular you know what I mean
Like what do you like that like not everybody likes um and this you can go broad if you need to this doesn’t just have to be like rails and Ruby but like just engineering like what what unpopular opinion do you have that you’re pretty confident about uh uh let’s see I
Mean I I guess like it relates to Ruby in a certain way but um because I mean Ruby has not only does it have monkey patching the way monkey patching works is is dynamic dispatch right um so what I mean by Dynamic dispatch is um you can
There’s a special method called if you have a class right called a and you have a then you then you can say okay you can define a method called method missing and when you call a do a and if a does not exist method missing gets called
Instead right oh so it’s like a it’s like a default it’s like the default statement in a switch case exactly like the case doesn’t exist we’re going to go do this it’s for fields on classes right or it’s for methods on classes methods on classes got it yeah so method on
Instances of of classes so um so it’s kind of like mac it’s like reverse macros right it’s like you can do things dynamically um when something doesn’t exist right U so macros are another thing right it’s like the opposite right you can like Define things that don’t
That will exist once the compiler gets done but they don’t exist now when you’re writing the code so my unpopular opinion is probably that macros were always the right thing to do um they’re the correct abstraction in most cases um I mean even in go like go doesn’t have
Macros right um but like I’m I’m a big lisp fan too obviously there’s a lot of overlap between Ruby and lisp um they say Ruby is an acceptable lisp right and I agree I mean as a lisp person um I agree I think lisp has much more it’s
Much more powerful with with his macros but Ruby has method missing and it has do send which is like the other side of it where you can like send things as strings and like they become the functions that are defined on the methods it’s really weird but um help me
Understand just really quick why so why is Method missing similar to macros I’m not I’m not making that connection no no I’m saying like method missing is it’s you can do things that don’t exist when you’re writing the code right um okay so when the code gets called stuff stuff
That didn’t exist will now exist right so it’s like the it’s like the opposite of macros but it’s like the other side of the coin right okay I see what you’re saying it’s like it it never came to exist therefore do this other thing so it’s almost yeah it’s almost the
Opposite I guess yeah so so but my unpopular opinion is that stuff like that um not necessarily at runtime but macros specifically for static typing um and like in Rust proc macros for example yeah that is that’s the correct abstraction in a lot of cases um Paul
Graham famously like he wrote this thing about how he thought in the future right like now 2023 we would all be writing macros and we wouldn’t be we wouldn’t he didn’t Envision npm or like cargo or whatever go does right he didn’t Envision all the stuff like he just
Thought we’d all be writing macros and all our code would be generated all the time because he was a list person right yeah and I I tend to agree like there’s a lot of problems like shipping all these binary or shipping all these all this Source everywhere um because it all
These uh supply chain attacks right um that’s a real that’s a real thing I know it doesn’t really affect people dayto day because we all use the same popular packages but if you did if you venture out into the mpm ecosystem and you type something right um there’s gonna be I
Mean you’re gonna get a Bitcoin miner on your computer you know it’s gonna happen so from that perspective I do think macros are more powerful and they can be more powerful because one programmer can now do the work of like a bunch of programmers right like once you lock in
What your app will look like you can like macro it up right and you can you can take that macro with you to the next project that’s that’s the Crux is that last sentence you just said once you lock in this is again like calling back
To my episode with Theo once you lock in what your app should look like that the problem is that never happens like your product manager is begging on your door six times a day to tell you it’s it’s something else that is true but there are parts right like rails
Extracted famously the NPC pattern right like they it it does feel more like a this is how all crud apps should be right that’s rail’s killer feature is that all you can all think about re resource way of thinking it’s like instead of thinking about routes and
Like hooking them up to actions and like thinking about your rest API as resources instead right everything centered on the database table and you do actions on that and if it goes outside of the restful way of thinking or the resource way of thinking make more resources right yeah um like that’s
What the you just want more controllers more controllers right um so I like there are parts that you can abstract and I think those are like the macro heavy things that you want to do right um yeah I’m super glad you said this because I ask my guests for unpopular
Opinions and sometimes I just get a popular opinion that’s masquerading as an unpopular opinion um I don’t even know if this is unpopular to be honest I didn’t really have an opinion on it until you started talking about it now I feel one forming in the back of my mind
Is that it’s just unpopular that’s all um so macros I want to just like really quickly Define them so that everyone listening can can really understand like in go we have code generation yeah right that’s what I’m yeah I mean it’s almost the same almost yeah so like in go I
Would I would you can use either like the built-in go generate which will like will take some um comments and generate a bunch of go code that does a thing um what what’s the difference between that and a macro um so the difference is that the macro operates on the syntax at compile
Time or before compile time right or like before runtime I guess like so part of the syntax of the language yeah exactly yeah so like rust proc macros are a good example when you call derive on a struct that’s a that’s a macro right and it is code generation but it
Doesn’t live in your sourc tree right go right go source that gets generated into a file and rails too rails does this too rails G when you generate rails code it lives there in the you have to there yep yep um so that’s the difference I think
The main difference between a macro and code generation macro is code generation but it doesn’t get it doesn’t get uh checked into Source right cool and then one last question I just want to make sure again for a lot of my audience that are not with macros why would you ever
Use a macro to like expand into more code instead of just like making a function like isn’t that the purpose of a function just to call it and and have it call some other piece of code why would I actually want to like take a macro and generate new code with it and
Shove that code into my application um I think there’s two reasons one is like um there’s no cost right or there’s less cost right it’s because the macro can generate the fun functions that will get called or it can actually do things at compile time if you have enough information it can do
Things at compile time that that like it can generate all the like let’s say your function is gonna generate a string you can just generate that at compile time and have it just sitting there as a constant string right ah yeah yeah so that’s one thing the other thing is um
Um you would use the macro uh to wait I actually forgot I was going to say but that was the main thing right yeah is that no that makes a ton of sense in go you can you can have like computed constants but they only work if the only inputs to the computed
Constants are themselves con like constants that were like generated before runtime yeah right so like I could have like a constant that’s like age 30 right and then like days in year 365 and then I could have like the third constant be age in days and do age
Multiplied by you know days and year and get like this this computed thing that I don’t have to like manually type in as a magic number right it sounds like macros are just like a way more powerful version of that because I’m not just like operating with like Primitives that
I kind of typed into the constant field at the top of the file yes and macros can also transform like so in Rust you can have a proc macro that looks like HTML like leptos is famous for this right like you you’re in Rust a rust
File still but you’re it looks like HTML you just open up HTML bang and then the little curly brace all of a sudden you start writing HTML and it’s perfectly valid rust right because the macro will convert that HTML at compile time to a bunch of format strings right and like
Oh yeah yes yes so it’ll you’re writing like a template you’re writing a template in Rust that the like the macro the macro system will actually break down into like rust rust functions that then would maybe pass in some Dynamic values at run time yes so you can make
New syntax right so that’s probably the second thing is you can make new syntax in a and it’s valid right um that’s like the the killer feature of so now you you don’t that sounds awful that second way you put it sounds terrible the first way
You put it sounded great and then you said you can invent syntax and I was like this sounds terrible sounds like monkey patching yeah maybe that was maybe that was my unpopular opinion right that was the unpopular part what it was yeah but I do think I do think
The whole like separation of files is weird right like we only do it because our editors are they suck right like we only we have HTML source and we have JavaScript source and then we’ve got Ruby or go or whatever right and we all keep them in separate different files
Only because we we’re forced to right so jsx with react showed us the right way right which is shove it all together right I want my CSS and my JavaScript like spell I want it to be all in the same don’t even separate with tags I just want like a proc macro that
Separates like it has CSS and rust it’s got HTML it’s got everything all in the same file that’s my that’s my number one popular under popular opinion probably we found the unpopular one this is I’m glad we dug in because we definitely got it that’s great thank you so much for
Coming on Sean this has actually been really fun um even though we talked about Ruby um a language that I tend to not do anything with um you’re not you’re not alone don’t worry I think it was a great great piece of educational material um where can people find you um
Like what you’re doing online that sort of thing um yeah so uh I’m at twitch.tv KR it was cool okay this is another thing it was cool back in the day to not have vowels in your name so I’m sorry okay I’m sorry no one knows
How to pronounce it you your handle is like a startup from 2012 I know and now it’s too late right it’s too late to change so I’m also at Twitter at the same thing at at Walker so yeah fantastic go follow Sean Twitter twitch um zitter sorry oh yeah right
Forgot cool yeah thanks so much for coming on man we’ll talk to you later all right Bye
Video Keywords: Rust Programming, backend development,backend web dev,web dev,programming,coding,learn to code,coding careers,web development,dev jobs
-
Sale!
Wireless WIFI Repeater Extender Amplifier Booster 300Mbps
$29.99$14.99 Add to cartWireless WIFI Repeater Extender Amplifier Booster 300Mbps
Categories: Electronics, Wi-Fi Router, Wireless Wi-Fi Extender Tags: 300Mbps, 802.11N, Amplifier, Booster, Extender, mobile wi-fi booster, Remote, WIFI, Wireless, Wireless WIFI, Wireless WIFI Repeater, Wireless WIFI Repeater Extender, Wireless WIFI Repeater Extender Amplifier, Wireless WIFI Repeater Extender Amplifier Booster, Wireless WIFI Repeater Extender Amplifier Booster 300Mbps$29.99$14.99 -
Sale!
Full RGB Light Design Gaming Headset Headphones with Mic
$24.99$14.99 Add to cartFull RGB Light Design Gaming Headset Headphones with Mic
Categories: Electronics, Gaming, Gaming Headsets Tags: Design, Full, Full RGB Light Design Gaming Headset, Full RGB Light Design Gaming Headset Headphones, Full RGB Light Design Gaming Headset Headphones with Mic, Gamer, Gaming, Gaming Headset Headphones, gaming headset wireless, Headphone, Headphones, Headset, Light, Mic, Package, RGB$24.99$14.99 -
Sale!
Wireless BlueTooth Multi-Device Keyboard Mouse Combo
$39.99$19.99 Add to cartWireless BlueTooth Multi-Device Keyboard Mouse Combo
Categories: Electronics, Gaming, Gaming Keyboards, Keyboard Mouse Combos Tags: Combo, Keyboard, keyboard mouse combos, Mouse, MultiDevice, Set, WireKeyboard Mouse Combo, Wireless, Wireless BlueTooth Keyboard Mouse Combo, Wireless BlueTooth Keyboard Mouse Combos, Wireless BlueTooth Multi-Device Keyboard Mouse Combo, Wireless BlueTooth Multi-Device Keyboard Mouse Combos$39.99$19.99 -
Sale!
High Back Leather Executive Adjustable Swivel Gaming Chair with Headrest and Lumbar
$199.99$139.99 Add to cartHigh Back Leather Executive Adjustable Swivel Gaming Chair with Headrest and Lumbar
Categories: Gaming, Gaming Chairs Tags: Adjustable, Chair, computer chairs, Desk, Executive, Gaming, Girl, Headrest, High, High Back Leather Executive Adjustable Swivel Gaming Chair, High Back Leather Executive Adjustable Swivel Gaming Chair with Headrest, High Back Leather Executive Adjustable Swivel Gaming Chair with Headrest and Lumbar, High Back Leather Executive Adjustable Swivel Gaming Chairs, Leather, Lumbar, Office, Racing, Swivel$199.99$139.99 -
Sale!
Professional LED Light Wired Gaming Headphones with Noise Cancelling Microphone
$29.99$19.99 Select optionsProfessional LED Light Wired Gaming Headphones with Noise Cancelling Microphone
SKU: N/A Categories: Electronics, Gaming, Gaming Headsets Tags: Cancelling, Gaming, Gaming Headphones with Noise Cancelling Microphone, gaming headset, Headphones, Headset, LED, Light, Mic, Microphone, Noise, Professional, Professional LED Light Wired Gaming Headphones, Professional LED Light Wired Gaming Headphones with Noise Cancelling Microphone, Wired, Wired Gaming Headphones, Wired Gaming Headphones with Noise Cancelling Microphone$29.99$19.99 -
Sale!
Gaming Desk with LED Lights USB Power Outlets and Charging Ports
$349.99$249.99 Select optionsGaming Desk with LED Lights USB Power Outlets and Charging Ports
SKU: N/A Categories: Computer Desk, Gaming, Gaming Desk Tags: and Charging Ports, Charging, Desk, Desks, Gaming, gaming desk with led lights, Gaming Desks with LED Lights, Home, LED, Lights, Monitor, Office, Outlets, Port, Power, Room, Stand, USB, USB Power Outlets, White, Workstation$349.99$249.99 -
Sale!
Wired Mixed Backlit Anti-Ghosting Gaming Keyboard
$99.99$79.99 Add to cartWired Mixed Backlit Anti-Ghosting Gaming Keyboard
Categories: Electronics, Gaming, Gaming Keyboards Tags: Antighosting, Backlit, Blue, brown, Gaming, Gaming Keyboard, gaming keyboards, gaming keyboards and mouse, Keyboard, Laptop, Switch, Wired, Wired Mixed Backlit Anti-Ghosting Gaming Keyboard, Wired Mixed Backlit Anti-Ghosting Gaming Keyboards, Wired Mixed Backlit Gaming Keyboard$99.99$79.99 -
Sale!
Wireless Bluetooth 5.3 ANC Noise Cancellation Hi-Res Over the Ear Headphones Headset
$119.99$59.99 Add to cartWireless Bluetooth 5.3 ANC Noise Cancellation Hi-Res Over the Ear Headphones Headset
Categories: Electronics, Gaming, Gaming Headsets Tags: 5.3 ANC Noise Cancellation Hi-Res Over the Ear Headphones Headset, ANC, Audio, Bluetooth, Cancellation, Ear, Earphone, gaming headset, Headphones, Headset, Hi-Res Over the Ear Headphones Headset, HiRes, Noise, Wireless, Wireless Bluetooth 5.3 ANC Noise Cancellation Hi-Res Headphones, Wireless Bluetooth 5.3 ANC Noise Cancellation Hi-Res Over the Ear Headphones Headset, Wireless Bluetooth 5.3 ANC Noise Cancellation Hi-Res Over the Ear Headphones Headsets$119.99$59.99 -
Sale!
Wired Sports Gaming Headset Earbuds with Microphone
$19.99$9.99 Select optionsWired Sports Gaming Headset Earbuds with Microphone
SKU: N/A Categories: Gaming, Gaming Headsets Tags: Accessories, Earbud, Earphone, Earphones, Gaming, gaming headset with microphone, Headphones, Headset, IOS, Microphone, Sports, Wired, Wired Sports Gaming Headset Earbuds, Wired Sports Gaming Headset Earbuds with Microphone, Wired Sports Headset Earbuds$19.99$9.99 -
Sale!
150W Universal Multi USB Fast Charger 16 Port MAX Charging Station
$49.99$29.99 Add to cart150W Universal Multi USB Fast Charger 16 Port MAX Charging Station
Categories: Charging Stations, Electronics Tags: 150W, 150W Charging Station, 150W Universal Multi USB Charging Station, 150W Universal Multi USB Fast Charger 16 Port MAX Charging Station, 150W Universal Multi USB Fast Charger 16 Port MAX Charging Stations, 150W Universal Multi USB MAX Charging Station, 16 Port MAX Charging Station, 3.5A, Charger, Charging, Fast, laptop charging stations, Max, Multi, Port, Stand, Station, Universal, USB$49.99$29.99
35:40 "You just pay your monthly bill and suddenly your hardware gets faster". Maybe… but… consider skeptically: "vCPU" basically means 500Mhz non-hyper-thread – that's how they can offer "96" or "160" or whatever vCPUs when there are only 44 cores in the most high-end rackmount servers. And they run those bad boys to EOL. So, yeah, if you stick with the platform for 20 years, eventually you might be grandfathered in to more power for less money, but there's also the fact that venture capital needs its returns – you're less likely to get upgrades for free and more likely to pay 20-years-ago-prices today, for hardware that was free to the initial users 20 years ago.
34:00 The point at which ANYTHING (DO, etc) is cheaper than AWS: $40/month.
The point at which running colo is cheaper than cloud: $350/month.
I went in with some other consultants on colo of 4 dirt-old r720s as an HA cluster and we just split the cost. It changes how I develop for the better when I can spin up essentially infinite instances with no additional concern for cost. And the performance is the same (because it's the same servers that cloud providers were buying at top dollar with investor money 10 years ago). Couldn't be happier.
9:24 I would say that maybe NextJS is JavaScripts “rails”
You're a top notch interviewer, informative and entertaining. Really enjoyed this one.
https://youtu.be/3mAi38YGjCM?t=1017 guest audio volume is too low, sounds like a whisper
26:00 — I do Rails everyday, Solargraph has never once known WTF class a model in a view was. Even RubyMine only has a guess. If this feature is available in any tool, I'm sure it requires extra steps to make it work or I'm doing it wrong. The thing is, it's not often too terrible just because of very basic text editor autocomplete that indexes all the words in a project. The feedback for a typo (immediate crash) is usually not much, if any, slower than for a compiled language. However, sometimes it is awful.
If you're into Rails/Ruby, you should just go with Phoenix/Elixir instead.
Typescript does paper over javascript issues and can give you false confidence. It also doesnt save you from silly js things like forgetting to wrap a fetch call in try/catch
Mixing js, html and css in one file is asking for trouble. More files is more better
As a PHP guy since the late 90s who has never really embraced JavaScript, I'm all for htmx. I love dynamic types too. Coming from C and C++, they felt amazing! Also, we might not have **a in PHP, but we do have $$a 😂
One little piece of advice. There are little moments that are hard to follow or unclear. It would help if at certain points in the show you could switch your webcam with your screen and show code that gives an example of exactly what you're talking about and explain that instead of the show just showing your face and you talking out loud about it. I think that would make things more clear.
Ruby on Rails gang was here 😎😎😎
I subscribe to this channel, and when I got the notification for "Rust Developer Admits to Enjoying Dynamic Types" my reaction was like *gasp* but then I looked at the description and was like "Oh, that's actually a Ruby on Rails dev, lol". Trolling has become the new normal.
In Rails, you can do:
rails new project_name –api to generate api only Rails project.
Nestjs is closest to Rails
poor rust. poor ruby.
Loved the short you uploaded of this video.