havenwood changed the topic of #ruby to: Ruby 3.4.4, 3.3.8, 3.5.0-preview1 https://www.ruby-lang.org | Log https://libera.irclog.whitequark.org/ruby
_whitelogger has joined #ruby
rvalue has joined #ruby
rvalue has quit [Ping timeout: 252 seconds]
cappy has joined #ruby
cata has joined #ruby
cata has quit [Changing host]
cata has joined #ruby
pages has joined #ruby
Pixi` is now known as Pixi
cata has quit [Quit: WeeChat 4.6.3]
cata has joined #ruby
cata has quit [Changing host]
cata has joined #ruby
Vonter has joined #ruby
rvalue has joined #ruby
cata has quit [Quit: WeeChat 4.6.3]
cappy has quit [Quit: Leaving]
rvalue has quit [Ping timeout: 260 seconds]
grenierm has joined #ruby
mange has joined #ruby
schne1der has joined #ruby
inline has quit [Ping timeout: 252 seconds]
inline has joined #ruby
inline has quit [Ping timeout: 276 seconds]
Vonter has quit [Ping timeout: 252 seconds]
Vonter has joined #ruby
rvalue has joined #ruby
szkl has quit [Quit: Connection closed for inactivity]
TomyWork has joined #ruby
infinityfye has joined #ruby
inline has joined #ruby
grenierm has quit [Ping timeout: 272 seconds]
schne1der has quit [Ping timeout: 248 seconds]
inline_ has joined #ruby
szkl has joined #ruby
schne1der has joined #ruby
dionysus70 has joined #ruby
brokkoli_origin has quit [Ping timeout: 248 seconds]
brokkoli_origin has joined #ruby
szkl has quit [Quit: Connection closed for inactivity]
<nakilon> yard docs say: An order dependent list is a set of types surrounded by "()" and separated by commas. This list must contain exactly those types in exactly the order specified. For instance, an Array containing a String, Fixnum and Hash in that order (and having exactly those 3 elements) would be listed as: Array(String, Fixnum, Hash).
<nakilon> but how do I tell that the first array element could be one of several classes?
<o0x1eef> In yard, generally type signatures are free form and can be expressed however you want, so maybe: [String | Fixnum, ...]
<mange> One way would be to turn it into disjunctive normal form, and have the type be "Array(Number, Fixnum, Hash), Array(String, Fixnum, Hash)". Not pretty, but does express the right set of values.
<mange> Pretty painful as the number of combinations goes up, of course.
<nakilon> yeah they all combine
leah2 has quit [Quit: Sprechen Sie noch? Wird noch gesprochen? Ich trenne.]
<nakilon> they are either Proc or nil, because they are kind of positional args, i.e. if you need to pass only the third one, the first two can be nils
leah2 has joined #ruby
nmollerup has joined #ruby
<mange> Mmm, good luck. :) Yard type declarations aren't really standardised, so in principle you can write whatever you want there as long as a human can read it.
<mange> It is nice to have type definitions that tools can work with too, though, but the lack of standard means that it might be possible to do what you want for some of them (but I'm not familiar enough with any of them to know how).
user71 has joined #ruby
Vonter has quit [Quit: WeeChat 4.6.3]
mange has quit [Quit: Zzz...]
Guest7147 has quit [Quit: WeeChat 4.6.3]
dionysus70 has quit [Ping timeout: 248 seconds]
<havenwood> nakilon: In RBS, you might write: def nakilon: () -> [String, Integer, Hash[Symbol, String]]
<havenwood> I sometimes do RBS but don't ever do Yard unless contributing to a project that insists.
<havenwood> When in Rome...
<havenwood> Isn't there an RBS for Yard thing? I vaguely recall but haven't used.
fantazo has quit [Quit: Lost terminal]
inline_ has quit [Ping timeout: 252 seconds]
inline_ has joined #ruby
inline_ has quit [Ping timeout: 260 seconds]
inline has quit [Quit: Leaving]
inline has joined #ruby
o0ox1eef has joined #ruby
o0x1eef has quit [Ping timeout: 252 seconds]
schne1der has quit [Ping timeout: 260 seconds]
sam113101 has quit [Read error: Connection reset by peer]
Pixi` has joined #ruby
sam113101 has joined #ruby
Pixi has quit [Ping timeout: 245 seconds]
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #ruby
oznek has joined #ruby
oznek has quit [Client Quit]
<The_Camel_> Java. I love you.
ftajhii has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
r0bby has quit [Ping timeout: 245 seconds]
<The_Camel_> I am the happiest fucker in the world right now
<The_Camel_> You know what? Screw this neo modernized web development shit
r0bby has joined #ruby
ftajhii has joined #ruby
<The_Camel_> I'm switching to Java, JSP and Tomcat
<inline> eheh
<The_Camel_> inline, I just read the servlet lifecycle and how things are done over in JEE
<The_Camel_> and I fucking love it
<inline> i just looked into pascal and lazarus etc. but it's all horrible code
<The_Camel_> inline, while pascal was supposed to enforce good coding practices, I do agree the code is weird.
<inline> i mean the namings are and it has a feeling of free-style which makes me assume it would require immense disciple to master that without getting/being obtuse
<The_Camel_> inline, I say pascal is great if you want to really love the syntax but
<inline> hmmm, maybe i should try find better coded stuff
<The_Camel_> inline, it's terrible ecosystem wise
<inline> right seems so
<inline> totally splattered libs
<The_Camel_> precisely
<inline> only some are ok like fcl/lcl etc but there are weird 3rd party ones which i don't know where they even stem from
<The_Camel_> inline, what are you looking for? maybe I could offer a pointer.
<havenwood> The_Camel_: A Jakarta Servlet AbstractFactoryFactoryManagerSingleton EE should do the trick!
<havenwood> Oh Java...
<inline> no no i'm just looking at coding styles
<The_Camel_> havenwood, I'm not afraid of verbosity. but I am afraid of overuse of patterns.
<The_Camel_> havenwood, keep in mind I come from a Win32 background. though not sure if you remember or that stuck around when I said it last time.
<The_Camel_> havenwood, I can see value in the enterprise beans and IoC containers but
<The_Camel_> to be VERY HONEST WITH YOU
<The_Camel_> only ginormous webapps would need such a thing...
<The_Camel_> small/medium sized... not so much.
<The_Camel_> like
<The_Camel_> ginormous - we're talking 50-100 classes
<The_Camel_> then yeah, that AbstractFactoryFactoryManagerSingleton is going to be very fucking useful :P
<The_Camel_> otherwise.... for 75% of webapps...
<The_Camel_> useless.
<The_Camel_> the majority of my projects I work with hardly go beyond 15 classes.
<The_Camel_> or files
<The_Camel_> well
<The_Camel_> ok it did with front end web development. i have like 40
<The_Camel_> but 20 of them are mobile :P, 20 desktop
<The_Camel_> freaking SASS may have been useful here but who cares
<The_Camel_> havenwood, :)
<havenwood> Ruby is quite nice for web dev.
<The_Camel_> havenwood, it is.
<The_Camel_> havenwood, but it's also not
<The_Camel_> havenwood, welcome to win32
<havenwood> I always thought Objective-C had long names.
<The_Camel_> CertCreateCTLEntryFromCertificateContextProperties [crypt32.dll].
<The_Camel_> god I love win32
<havenwood> Different langs have different aesthetics for naming lengths, to be sure.
<havenwood> 'a
<The_Camel_> write 300 lines of code for a single web request.
cappy has joined #ruby
<The_Camel_> and write 3000 lines of code for a simple GUI in windows.
<havenwood> .NET was Windows making a Java.
<havenwood> Or rather a JVM.
<havenwood> C# is the Java.
<The_Camel_> havenwood, that's right. and it turned out better.
<The_Camel_> havenwood, i just
<The_Camel_> don't like requiring a 18GB IDE to code in .net
<The_Camel_> also
<The_Camel_> .net web development is NASTY
<The_Camel_> in comparison to java web dev
<The_Camel_> havenwood, it got better though. they "moved" away from asp.net to asp core now.
<The_Camel_> which is a lot like spring boot
<The_Camel_> which is a lot like sinatra
<The_Camel_> havenwood, and oh, now it works on linux.
<The_Camel_> as well as powershell
<The_Camel_> so that caught the attention of the unix zergs
<The_Camel_> havenwood, meanwhile, netbeans (java IDE), tomcat and JEE don't require a bloody 18GB ide :)
<The_Camel_> and it runs on linux
<inline> eclipse runs on linux too
<The_Camel_> yeah but I hate eclipse
<inline> why ?
<The_Camel_> feels like a lego block with lots of holes
<The_Camel_> netbeans feels more complete
<The_Camel_> inline, and netbeans comes with Java Swing WYSIWYG builders so that's always fucking nice
<The_Camel_> inline, don't get me wrong, there are things I hate in java too but
<The_Camel_> an IDE
<The_Camel_> is pretty much sex for me.
<The_Camel_> unlike that broken ass VSC for ruby or python or nodejs
<The_Camel_> and I like sex.
<The_Camel_> I'm currently converting my ruby code to java from scratch. it's gonna take a week or two but it will be fucking worth it.
<The_Camel_> a week or two in actual time. the real length will probably be a month T_T
<The_Camel_> because I'm not a robot
<The_Camel_> sigh
<adam12> Which IDE?
<The_Camel_> adam12, Netbeans
<adam12> I refuse to use any language that forces me to change my editor.
<The_Camel_> adam12, yeah that's ok
<adam12> I see the appeal of both .NET and Java if that's your thing.
<The_Camel_> adam12, mhm.
<adam12> A friend of mine works in a very large cross-language shop and he says the only team that doesn't have issues are the Java team. They just roll out feature after feature (compared to the PHP and JS teams)
<The_Camel_> adam12, there is value in verbosity that has transparency :P
<The_Camel_> adam12, and behaves as it is written it should behave.
<adam12> The_Camel_: Someone described Java as a warm blanket.
<inline> hmm, i should look into netbeans again
<adam12> The_Camel_: There's no mystery what something is because the type is right there, better or worse.
<The_Camel_> adam12, :)
<adam12> So I get it. At least with newer Java.
<inline> getting javax.swing working in eclipse is not sooo difficult for me tho
<adam12> But the risk of being hired to work on old Java is too damn high.
<The_Camel_> adam12, you'd think the people who invented python, nodejs, ruby or whatever, would've made a severe mistake when they decided to make a non typed language :P
<adam12> The_Camel_: Different strokes.
<inline> i can even do it via bluej
<inline> heh
<The_Camel_> adam12, I like my strokes nice and long, done by a milf in bed while she kisses me.
<adam12> Sometimes I just want to bang out something without types.
<The_Camel_> adam12, fair enough
<adam12> Well, actually quite frequently since I write _a lot_ of Ruby.
<adam12> but I do find when I write Go I'm less mentally tired.
<adam12> But switching editors .. :( it would be throwing away 30+ years of config and muscle memory. Not super desireable.
<The_Camel_> 30 years of config?
<adam12> I'm eager to see what rbs with inline type support looks like. Much more convenient to annotate.
<adam12> Yeah.
<The_Camel_> adam12, I never put more than two days worth of effort in any editor in my life.
<The_Camel_> and that was emacs
<adam12> I couldn't imagine not doing it.
<adam12> But I pair with people who don't know their editor and it shows, everywhere.
<The_Camel_> I guess.
<adam12> + the risk of RSI, which I don't have definitive evidence for, but using the mouse != good for you.
<adam12> Anyways, I digress.
<The_Camel_> I suspect returning to java is going to be the best decision I'll be making starting from today.
<The_Camel_> the only thing that puts me off is xml
<The_Camel_> but. if everything works as expected
<The_Camel_> I can put up with it.
<o0ox1eef> I've spent time learning my editor of choice (emacs) and I'm not convinced it is a good use of my time. I'd rather learn other things rather than my editor. :) That's why I'm moving towards vscode.dev.
<The_Camel_> o0ox1eef, I agree but I don't like saying that in front of adam12.
<o0ox1eef> I'm sure he won't mind :)
<The_Camel_> if the guy likes his editor and his time put in it, he shouldn't be dissed like that.
<adam12> o0ox1eef: But how much more learning can you be doing now?
<adam12> I learned vim motions back in 1993 and I am not sure I've really had to bother with much new since.
<adam12> Maybe a few more lately for new LSP stuff (running tests via codelens, etc) but I just assign a mnemonic and then go on with my life.
<adam12> I actually find VSCode _more_ disruptive, because I can't version control my config. I feel like I spent more time fixing it than I do with neovim. Maybe PEBCAK?
<The_Camel_> it's true when they say emacs is an os
<The_Camel_> you get attached to it
<The_Camel_> and you "put your soul in it"
<The_Camel_> your keybinds
<The_Camel_> your memory muscle
<The_Camel_> it runs elisp
<The_Camel_> I totally see the attraction. I did spend time learning emacs and I prefer it over vim
<o0ox1eef> For me my priority has become being productive and getting shit done. I've made some choices that made that harder. And my editor environment is probably one of them. I also think we're moving fast and to stay ahead of the curve, emacs is probably not where innovation is going to be happening.
<adam12> I suspect that might be true for neovim too.
<adam12> (to some degree)
<adam12> But I think some companies are accepting that a custom editor is not the right path forward.
<adam12> (ala Claude Code, Gemini Code, whatever)
<The_Camel_> I go where things make philosophical and engineering sense.
<The_Camel_> IDE and debugger are musts.
<The_Camel_> so to me, as much as it hurts people here, ruby, python, nodejs, and everything else is, frankly, a toy ;/
<The_Camel_> a toy that just happens to work if you fiddle it long enough
<adam12> I guess? both Ruby + Go have debugging abilities.
<The_Camel_> yeah but they're not so great
<adam12> I just don't use an IDE for it, and don't feel the need to.
<The_Camel_> I really want a milf in bed, all things aside.
<The_Camel_> sigh
<The_Camel_> it sucks being single
<adam12> If DAP (Debug Adapter Protocol) becomes more mainstream then I think you'll have better debugging interfaces _everywhere_.
<adam12> ie. a better TUI, a native app, built into your editor, whatever.
<The_Camel_> adam12, if it lets me step through code visually, see all variables realtime in a window (ALL) in one glance, let me edit code while debugging and set breakpoints in the editor, THEN I will probably return to ruby
<The_Camel_> also "return" is a bad word
<The_Camel_> "return to ruby webdev" is better.
<weaksauce> you CAN do that from vscode
<The_Camel_> weaksauce, I keep getting told that but the reality seems otherwise, after I tried to configure vscode and failed. If it's me that sucks at it, then ok, I admit. I suck.
<adam12> I'd just use RubyMine in that case. You're already switching editors.
<The_Camel_> adam12, I can't afford rubymine. I did want to do that. I tried torrenting but no seeders :)
<weaksauce> use the beta for free then
<The_Camel_> weaksauce, I'd rather move to java :>
<weaksauce> ok then do that
<adam12> There was a cool debugger that kinda died off which I wish was renewed.
<The_Camel_> weaksauce, I'm sorry. don't hate me T_T
<The_Camel_> weaksauce, I know I sound pedantic and shit but, sigh.
<The_Camel_> I'm sure I'm not the only soul in the industry of programming that has complaints.
<weaksauce> not pedantic
<The_Camel_> adam12, I read that with a "t"
<weaksauce> that is neat adam12
<adam12> weaksauce: Needs to be forked and add debug support.
<The_Camel_> everytime I see a github project, I feel like I wanna kill myself.
<adam12> weaksauce: I have been meaning to dig into how the window'ing stuff was built in jard.
<adam12> weaksauce: It looks super slick and I wonder if it could be extracted and not be ncurses.
<adam12> I'll assign that task to havenwood.
<weaksauce> adam12 yeah would be cool to update though vscode is good enough for my workflow so i don't see looking into it past a cursory glance
<adam12> I just aggressively use debug with some `pre` commands.
<adam12> `pre: i ;; c`, etc.
cappy has left #ruby [Leaving]
<adam12> but I get why that would not be enough for some people. We're all cut differently.
<adam12> I haven't used an IDE since it was written by Borland.
inline has quit [Ping timeout: 248 seconds]
<weaksauce> adam12 looking at the code it looks like it is using tty-screen as the library and is hand crafting some responses to make a console
<weaksauce> from the little i read... not bad code
<adam12> weaksauce: I thought tty-screen just detects screen size. Hmm.
chair1 has joined #ruby
<weaksauce> io/console too
<weaksauce> i assumed tty-screen was more in depth
<adam12> It definitely sounds like a curses/ncurses library
<weaksauce> never dug deep into curses
sleetdrop has quit [Quit: ZNC 1.8.2+deb2ubuntu0.1 - https://znc.in]
sleetdrop has joined #ruby
inline has joined #ruby
<weaksauce> yeah no curses use. apparently just native stuff.
<rapha> such a weak sauce, adam, why don't you put in a dozen more chilis, so that the camel won't complain about it being bland?
<adam12> rapha: hah
<rapha> :)
<rapha> (in my personal experience, camels don't actually eat chilis ... they do love gras though)
fantazo has joined #ruby
inline has quit [Quit: Leaving]
inline has joined #ruby
inline_ has joined #ruby
inline is now known as wbooze
inline_ is now known as inline
wbooze has quit [Quit: Leaving]
TomyWork has quit [Quit: Leaving]
user71 has quit [Quit: Leaving]
wbooze has joined #ruby
blacknova has joined #ruby
dionysus69 has joined #ruby
<The_Camel_> pula calului in varful dealului.
<The_Camel_> rapha, wait what?
<The_Camel_> rapha, they love cacti
chair1 has quit [Quit: Client closed]
chair1 has joined #ruby
<rapha> oh, there were no cacti where i met camels
<rapha> interesting
<rapha> just in case that was tokipona, though, i don't speak tokipona
chair1 has quit [Quit: Client closed]
infinityfye has quit [Read error: Connection reset by peer]
ruby[bot] has quit [Remote host closed the connection]
ruby[bot] has joined #ruby
wbooze has quit [Quit: Leaving]
<The_Camel_> guys
<The_Camel_> I'm having an orgasm with java
dionysus69 has quit [Ping timeout: 276 seconds]
<Rounin> That is not the experience I usually have with it... But it's given me renewed interest
<The_Camel_> Rounin, Spring Boot.
<The_Camel_> Rounin, use that. it's more or less Java going towards how Sinatra or Flask works (in ruby and python respectively)
<The_Camel_> Rounin, with an embedded server and less annotations or XML. In fact, no XML. (excluding maven, the package manager and project handler)
<The_Camel_> Rounin, but IF, you want xml and no magic and verbosity and transparency and no convention over configuration, then go with Jakarta EE Servlets and WAR/Tomcat.
<The_Camel_> it's well documented. it just works.
<The_Camel_> and it has a clear structure.
<The_Camel_> just keep in mind JSP is gonna be a bitch at times.
<The_Camel_> Rounin, if you do go with Spring Boot, use Thymeleaf.
<Rounin> Do they work well together?
<The_Camel_> Rounin, Spring Boot and Thymeleaf? Yes. They were designed for each other.
<Rounin> Ah, that makes sense then :)
<The_Camel_> Rounin, I'm slowly porting my ruby webapp to java as we speak
<The_Camel_> I have everything working so far.
<The_Camel_> Rounin, also, a bit of background: Spring Boot is basically Spring wrapped up and abstracted.
<The_Camel_> because they realized they fucked up and decided to make it simpler.
<The_Camel_> Rounin, simple main.java with @SpringBootApplication annotation and SpringApplication.run() gives you a webserver.
<The_Camel_> Rounin, then go start making other files and add @Controller, @RestController and @GetMapping("/hello") on top of your class methods.
<The_Camel_> Rounin, that's it.
<The_Camel_> the rest, you go read the docs.
<Rounin> That seems like a vast improvement, for sure
<The_Camel_> Rounin, yeah, no more configuring beans and shit
<The_Camel_> or deployment descriptors
<gr33n7007h> Pathname#parent needs a kwarg `adv: n` or such, instead of having writing somepath.parent.parent.parent.parent.parent ...
chair1 has joined #ruby