Тёмный
Ruby Australia
Ruby Australia
Ruby Australia
Подписаться
The founding purpose of Ruby Australia is to further the use and adoption of the Ruby programming language in Australia, and to support and encourage a vibrant community around the language and related technologies.
Laravel, meet my friend Turbo - Adam Rice
30:35
16 часов назад
Dissecting Rails - Anton Panteleev
32:06
2 месяца назад
One billion rows in Ruby - Rian McGuire
41:34
3 месяца назад
The Economics of Ruby - John Sherwood
21:53
3 месяца назад
Chris Oliver - Mapping Concepts Into Code
36:55
3 месяца назад
Elle Meredith - Exploring Rails anti-patterns
38:47
3 месяца назад
Ryan Bigg - Magic is Ruby, Ruby is Magic!
24:33
3 месяца назад
Fibers in Ruby - KJ Tsanaktsidis
1:07:06
5 месяцев назад
Комментарии
@RyangMari
@RyangMari 4 дня назад
MAJOR MOMENTS IN THE HISTORY OF WRITING
@ioquatix
@ioquatix 6 дней назад
Nice talk :) Regarding fibers going across threads, I think it's a reasonable idea for implementing work stealing, however the problem right now is threads also limited by the GVL, so in terms of parallelism, there is little to gain. We'd have to make threads work without the GVL for it to have real benefit. As it stands, it's probably not worth the effort without "free threading". Regarding actual Fiber going across threads, it was impossible before due to the default copy coroutine implementation, but I removed that and replaced it with a pthread implementation (fibers emulated on threads). Because of this, there is no longer any reason why fibers can't go between threads.
@rajaravivarmar
@rajaravivarmar Месяц назад
I feel that this code introduces a meta programming unnecessarily. I know it is a cultural thing in Ruby and Rails to look for elegance (or perceived elegance) than simplicity, but it comes at a cost. For example, * Why use symbols and then constantize it? Just specify the class name. * Why use meta programming to call the `inherited` hook and create classes dynamically. Just create the classes manually. In my experience, simplicity beats elegance.
@glauberbannwart7165
@glauberbannwart7165 Месяц назад
Mu Fan congrats on sharing this comprehensive talk about the reinvention of the app. I find it interesting that ruby code tend to be structured in a slightly different way depending on the country or past experiences of a developer. Keep up the good talks!
@DaDek9
@DaDek9 Месяц назад
This was so helpful. Thank you
@budiardjo6610
@budiardjo6610 2 месяца назад
really nice talk
@BunmJyo
@BunmJyo 2 месяца назад
我很喜欢这位大师的发型👍
@rajaravivarmar
@rajaravivarmar 3 месяца назад
I don't get it. You say that GIL prevents threads from executing in parallel, then in the last slide you suggest to use Threads for CPU intensive tasks. Did we suddenly start using JRuby or something? And example of Fibers in action would have been nice.
@paul4ashraf
@paul4ashraf 3 месяца назад
Great talk <3
@sangeetatrivedi499
@sangeetatrivedi499 3 месяца назад
Very nice
@mikopiko
@mikopiko 3 месяца назад
Seeing CRuby + jit being so close to JRuby is quite impressive
@maxbezlegkii5902
@maxbezlegkii5902 3 месяца назад
I enjoyed speaker vibe and speachfullness, thanks!
@Rebeliant1994
@Rebeliant1994 4 месяца назад
Anyone knows if those files are in a public repository?
@siyaram2855
@siyaram2855 4 месяца назад
Rails code is heavily written ith thread in mind, it will need a lot of rewriting. If you can contribute please do so.
@andreas2672
@andreas2672 4 месяца назад
Awesome!
@torvic99
@torvic99 4 месяца назад
Thank you!
@rafaelrezendecosta5250
@rafaelrezendecosta5250 5 месяцев назад
One question: What would be the difference between "Fiber" and "Ractor"? Which one would you recommend for the production environment?
@rajaravivarmar
@rajaravivarmar 2 месяца назад
Ractors are not production ready yet. From a few benchmarks, they don't seem to offer any memory benefit over multiple processes. On the other hand Fibers are stable and was introduced a long time ago. They are production ready. With respect to use cases, Ractors are like sub interpreters to by pass the GIL/GVL. So if you have some parallel workloads, you can use this. Fibers are the equivalent of asyncio, event loop mechanism in Python and JavaScript equivalent. They can be employed where "concurrency" patterns solve your problem well. They are basically IO bound problems. For example, db calls, network calls, file reading and writing.
@rafaelrezendecosta5250
@rafaelrezendecosta5250 2 месяца назад
@@rajaravivarmar Thank you very much for the explanation
@rajaravivarmar
@rajaravivarmar 2 месяца назад
@@rafaelrezendecosta5250 Happy to help :)
@rafaelrezendecosta5250
@rafaelrezendecosta5250 5 месяцев назад
I liked your presentation.
@mikopiko
@mikopiko 5 месяцев назад
How come Ruby expects the user to implement the Fiber scheduler?
@ioquatix
@ioquatix 6 дней назад
It doesn't, you should use a library that provides it.
@mikopiko
@mikopiko 5 дней назад
@@ioquatix library another user created.
@PonsFrilus
@PonsFrilus 5 месяцев назад
Happy to have found this gem (<- see what I did here?) and sharing it w/ my coworker 😅
@vasy-tech
@vasy-tech 8 месяцев назад
Isn't this whole presentation, in a nutshell, the same reasoning behind Ryan Dahl introducing NodeJS in 2010? 😊
@siyaram2855
@siyaram2855 4 месяца назад
Yeh
@encapsulatio
@encapsulatio 9 месяцев назад
Don't know what to think of it. You seem to be struggling even after investing so much time in it.
@paulfioravanti
@paulfioravanti 8 месяцев назад
Steno-ing and live coding on stage while talking and trying to entertain is definitely not the same as just doing it at home :) The barrier to giving steno a try is lower than ever, so if you are even just a bit curious, I'd say give it a shot!
@health_doc
@health_doc 4 месяца назад
It is harder to speak and code at the same time than you would think. Im curious as well as you are on the coding experience.. perhaps more videos with less talking and more coding better can show what we will hit if we jump the steno wagon
@encapsulatio
@encapsulatio 4 месяца назад
@@health_docI agree.
@tothestars3958
@tothestars3958 9 месяцев назад
This is probably the most underwatched source control video listed on YT
@brashcrab
@brashcrab 9 месяцев назад
proc > rape > girl for < sex 0:38
@mikopiko
@mikopiko 10 месяцев назад
Good presentation, the sound need some improvement though
@een_schildpad
@een_schildpad 10 месяцев назад
Great talk!!! These are essential skills for great software teams IMO. A great tip I received once while working on a PR to an opensource project was that if you feel the need to leave comments on your PR explaining parts of the code, maybe consider instead breaking those changes out into their own commits with commit messages explaining the change instead.
@GerardCaulfield
@GerardCaulfield 11 месяцев назад
It seems like isolating gems installed to those required for the current test set + prod gems would have caught this. Rubocop is needed during the CI lint step, but probably not during the testing stage. This still leaves you vulnerable to accidental dependencies on dependencies of your testing framework (which if minitest is only anything defined within minitest itself), but the risk is much smaller. Also perhaps running independent end to end UI tests in staging (or better yet, prod behind a feature flag). I may be missing something though. Either way, I loved the talk
@HanamiMastery
@HanamiMastery 11 месяцев назад
18:11 Deps module will overwrite the initialize method, setting defined deps as arguments.
@MrSaimran
@MrSaimran Год назад
Absolutely brilliant, love it!!!
@friendlyantz
@friendlyantz Год назад
Fantastic presentation! I wish I discovered the trick with multiple id's on Brave to settle down that nonsense poll with 'tabs' vs 'spaces'. Everybody knows we need to embrace more 'green' practices, stop wasting resources and littering 2, 4 and sometimes 6 'spaces' everywhere, when we can easily get away with only 1-tab. Just imagine how many wasteful 'space' characters are out there, wasting precious storage... OUTRAGEOUS
@friendlyantz
@friendlyantz Год назад
Thanks all for attending. I hope it was insightful and not too boring, I forgot half of my dad jokes though - It was a bit intense to present in front of such an Elite crowd, haha. Ping me if you need any clarifications / want to pair up. Also, UPD Re Sidekiq question at 37:00 on how to include a separate Sidekiq span into a calling span - there is a way to do it by updating your OT Sidekiq instrumentation config "c.use 'OpenTelemetry::Instrumentation::Sidekiq', { with 'propagation_style: :child }" Cheers and stay happy! The name... is TheFriendlyTelemetrAntz
@friendlyantz
@friendlyantz Год назад
Thanks all for attending. I hope it was helpful! Be happy, cheers
@milosgrujic915
@milosgrujic915 Год назад
Thanks for pushing the ruby community to the future Sam!
@JJcheesy
@JJcheesy Год назад
This is brilliant!
@JeremyMARQUES
@JeremyMARQUES Год назад
Mind has been blowned
@tonywok
@tonywok Год назад
Truly an impressive effort! Thank you for all your hard work :)
@phantomwhale
@phantomwhale Год назад
Thanks Adam, just hauled some old codebases up to ruby 3.2 so was starting to look around at what "new toys" this has unlocked for us and was eyeballing YJIT with great "how much of a rabbit hole is this going to be?!" trepidation! Will give it a crack next hack day and see if I can get a similar shift on our APM graphs :)
@andrewporterfield7115
@andrewporterfield7115 Год назад
Great talk, not great "question" from the audience at the end 😒
@ifitrollsrideit530
@ifitrollsrideit530 Год назад
This is both great work and a great presentation! Thanks Sam.
@mariannevelez9565
@mariannevelez9565 Год назад
😭 Promo_SM
@madamimadamtimallen
@madamimadamtimallen Год назад
Such a valuable talk!
@rlounge5286
@rlounge5286 Год назад
Great presentation, thanks! Looking forward to fiber based concurrency in Rails 7.1 🤞
@stenoknight
@stenoknight Год назад
This is magnificent!!
@SinghROAR
@SinghROAR Год назад
is this project on github?
@WiktoriaDalach
@WiktoriaDalach Год назад
Thank you for having me! <3
@RubyAustralia
@RubyAustralia Год назад
Thank you for presenting, we all loved your talk!
@mironovvv
@mironovvv Год назад
I like this guy!
@dankapkov1240
@dankapkov1240 Год назад
I wish I knew that guy since childhood
@frankiannelli5025
@frankiannelli5025 Год назад
In my opinion Vim users are the most opinionated
@jamesapple552
@jamesapple552 Год назад
How dare you imply we're opinionated
@gatogordo4131
@gatogordo4131 Год назад
Perfeito!
@yasminarchibald2466
@yasminarchibald2466 Год назад
My cats brain is null