Тёмный
Singapore Gophers
Singapore Gophers
Singapore Gophers
Подписаться
A Bill Kennedy Special - GopherCon SG 2023
24:33
5 месяцев назад
Go low latency patterns - GopherCon SG 2023
24:51
5 месяцев назад
Go and LLMs - GopherCon SG 2023
38:09
5 месяцев назад
Workshop: Practical Go - GoSG Meetup
3:47:50
5 лет назад
Комментарии
@sardortoshkentov-dn2pg
@sardortoshkentov-dn2pg Месяц назад
thanks for clear explanation
@Mimookrokodill
@Mimookrokodill 2 месяца назад
Awesome
@jub0bs
@jub0bs 2 месяца назад
1:09:23 Bill Kennedy joins the conversation :)
@Yawhatnever
@Yawhatnever 3 месяца назад
I think the biggest takeaway from this video is D's nuts.
@caden7984
@caden7984 3 месяца назад
*Promo sm*
@gaqzi
@gaqzi 5 месяцев назад
slides at speakerdeck/gaqzi, but the direct link gets caught by the spam filter 😅
@TheOisannNetwork
@TheOisannNetwork 5 месяцев назад
So instead of fixing the issue, they just made it restart itself?
@victorgiovannoni
@victorgiovannoni 5 месяцев назад
Really interesting talk! It’s a shame that the slides get frozen for a good bit of the presentation, though. Can anyone provide a link to the slides?
@gaqzi
@gaqzi 5 месяцев назад
The slides are available on Speakerdeck/gaqzi, I've tried linking to the slides but I think I'm getting caught in a spam filter 😅
@Taddy_Mason
@Taddy_Mason 5 месяцев назад
Bill is THE man!!
@Wielorybkek
@Wielorybkek 5 месяцев назад
That was super interesting, I've learnt a new thing!
@Pherecydes
@Pherecydes 5 месяцев назад
I hadn't understood why the io.Reader interface works the way it does... now I get it, thank you! Excellent talk.
@ivanjijon8647
@ivanjijon8647 6 месяцев назад
This NEEDS more views. Living every single topic in the last 6 months. Felt understood and accompanied. Thanks a lot ❤
@user-fu2kg4ug2q
@user-fu2kg4ug2q 8 месяцев назад
Thank you beer belly Jesus
@speedTurtle
@speedTurtle 11 месяцев назад
Cogent. I learned something here.
@marianbuciu7853
@marianbuciu7853 Год назад
can someone explain 17:55?
@wizaaeed
@wizaaeed Год назад
TDD is like testing a car engine without even making it. But CDT(concept/requirement driven development) is more likely to be logical.
@anaray567
@anaray567 Год назад
This clear why io.Reader is designed the way it is ! Very clear and precise presentation ! Thanks
@nyashachiroro2531
@nyashachiroro2531 Год назад
"Do not make your code harder to read because you think it needs to be faster" 😮😮 Damnn
@alex6161
@alex6161 Год назад
The best explanation, thank you Jacob !
@F2H16
@F2H16 Год назад
Brilliant talk, quite a unique one in that category. I started to nurture TDD back in 2010, applied in a project in 2016, and afterwards somehow lost track. Started it again in 2022, I just love it now.
@akhilsingh52as
@akhilsingh52as Год назад
Go uses a concurrent garbage collector (GC), which means that it operates concurrently with the execution of Go programs and doesn't stop the world during its execution. This concurrent GC has been present in Go since version 1.5, released in 2015.
@grapegripe
@grapegripe 11 месяцев назад
This is false. The Golang GC doesn’t stop the world during the entire mark and sweep, but it does briefly stop the world when the GC transitions between mark and sweep phases. It’s concurrent in the sense that application work can continue during the mark phase.
@rozyborsalino3709
@rozyborsalino3709 Год назад
…-📹;✨⚡👨🏿‍🔬⚡✨&🗽…
@jub0bs
@jub0bs Год назад
Outstanding talk!
@jub0bs
@jub0bs Год назад
Excellent talk!
@johnedissonrodriguezcucanc9131
Amazing explanation, I just have any doubt, what is the difference between "&x scapes to heap" and "moved to heap". Thks
@shubhamdhapola5447
@shubhamdhapola5447 Год назад
It's just the matter of how much of the program behaviour the compiler is able to acknowledge. At compile time, the value a variable holds "escapes" to (allocated on) the heap, if the compiler is confident and almost-omniscient of the program's semantics and control flow in the vicinity of variable declaration and usage (like Go, unlike Python). Else if compiler only has partial information, it will allocate an empty memory slot for the variable ahead-of-time and runtime behaviour will unveil that it needs to be "moved" to the heap.
@mzcustom2
@mzcustom2 Год назад
I think the point he made at 14:00 could be somewhat misleading as he's emphasizing "moved to the heap right at compile time". The escaped variables still have to be dynamically allocated in heap, so it's complied to call runtime.newobject which calls mallocgc, therefore there's no cost benefit at runtime. Also, I believe this speaker isn't experienced in C programming, not that I'm faulting it, judging by the fact he initially didn't understand why the read function of io.Reader uses a byte slice as its argument instead of an int. That's exactly how read in C works where the caller sends a buf pointer (along with the buf size or less) and gets the number of bytes filled in as the return value, just like all the other functions do unless the argument is a small struct that fits in the registers or a primitive type. From what's known, Golang is a brainchild smart men from Bell Lab who hated C++, so it quite closely follows Unix/C programming style.
@CLE2022
@CLE2022 Год назад
This is really good
@a0um
@a0um Год назад
Is this the same approach used by NixOS?
@a0um
@a0um Год назад
Gold. I’m appreciating the culture being Go more and more.
@davidrogers8352
@davidrogers8352 Год назад
Bravo!
@kanybekmomukeev4116
@kanybekmomukeev4116 Год назад
Best of best
@blank001
@blank001 Год назад
Bug driven Development (BDD) Going to use this from now on as an excuse when I don't write tests
@Igor-qd2cl
@Igor-qd2cl Год назад
watch?v=EZ05e7EMOLM
@nicksypteras8594
@nicksypteras8594 Год назад
That io.Reader example at the end was great!
@ideaparkcc
@ideaparkcc 6 месяцев назад
It can be concluded that: system api should not be responsible for resources management (most of times it refers to memory), but only for logical evaluation.
@rogeriof2315
@rogeriof2315 Год назад
Really nice explanation!!!
@nevzatseferoglu5391
@nevzatseferoglu5391 2 года назад
Productive talk 👏
@MrMcSwiftface
@MrMcSwiftface 2 года назад
Amazing talk, would love to see more from him!
@CarloLobrano
@CarloLobrano 2 года назад
One of the best talks about TDD
@a_maxed_out_handle_of_30_chars
@a_maxed_out_handle_of_30_chars 2 года назад
wow, I came looking for copper and found gold
@thabisomagwaza4431
@thabisomagwaza4431 2 года назад
One quote about TDD that I love went something along the lines of "I've never heard of someone who really tried TDD and thought Nah, this is a waste of time. I'm going back to my old ways." Learning it is like learning how to walk. You'll probably never crawl anywhere again😅
@babgab
@babgab Год назад
Happens to gamedevs all the time, because our requirements are fuzzy emotional judgements about what "fun" means, which means we can only meaningfully test implementations without going farther up the abstraction levels than most mainstream test advocates would want us to do. This results in TDD advocates telling us we're doing it wrong, so we throw our hands up and go "TDD is impossible for gamedev" and stop doing it. It takes experience and effort to overcome these hurdles and figure out *what* to test in a video game and many gamedevs do not get that far or if they do, don't get enough value from it to continue.
@dokungfudaily
@dokungfudaily 2 года назад
Thanks!
@user-gb9ik8qq9w
@user-gb9ik8qq9w 2 года назад
He is really good. Thank you!
@ultiumlabs4899
@ultiumlabs4899 2 года назад
to be honest, I think TDD just wasting time, but this talk makes me start to like TDD. The benefit of "documenting of my todo list after lunch" seems a great benefit.
@danielwilkowski5899
@danielwilkowski5899 Год назад
It's probably you never saw real TDD. Try Uncle Bob's talk "TDD with Kotlin" based on "Writing Stack example" or "Writing factors example".
@able2663
@able2663 2 года назад
nice sharing.
@user-uw7st6vn1z
@user-uw7st6vn1z 2 года назад
let me go, let me go...
@vicktorioalhakim3666
@vicktorioalhakim3666 2 года назад
That face of TDD evangelists when writing tests will be substituted by the much more efficient and more exhaustive automatic generation process through formal methods. Can't wait.
@mayikx
@mayikx Год назад
These people are not able to write a simple line of code to test. Do you think that they can write a formal process to test that everything is okay. My experience with formal language was pretty good, but most of people are not able to follow a formal method.
@AnonAristotel
@AnonAristotel 2 года назад
Awesome.
@barsvelioglu2276
@barsvelioglu2276 2 года назад
One of the best talks about TDD
@Ahelhot
@Ahelhot 2 года назад
18:10 - 15 simple to read loc, converted into multiple hard to read functions. Its like enterprise hello world on java.
@evelynwalker3754
@evelynwalker3754 2 года назад
epic talk was epic