← Ingestions

Ingestion 5dbbe8e5 extracted

Format
transcript
Kind
lightning-talks
External ID
Lighting talks 1 - wroc_love.rb 2022.txt
Content hash
80e29d08a00d
Source at
2022-03-11 09:00
Manual extractions are temporarily disabled.

Extractions (2)

Status Model Tokens (in/out) Duration Cost Nodes/edges Read set (nodes/edges) Time
completed claude-opus-4-7
470,136 / 15,081
50,649 cached ยท 5,223 write
231.8s - 20 / 36 411 / 4 2026-04-17 18:12
failed claude-opus-4-7 RubyLLM::BadRequestError: You have reached your specified API usage limits. You will regain access on 2... 2026-04-17 16:18

Content

thank you guys


i think it's the worst decision in my


life


but i'm here okay


we can start


so there was a presentation about


sidekiq and there was a question about


sidekick batches


so i remembered that i used them once


in all my four years and i can share


with you how you can do it


so


the first one we need the source for


all our work in my time


for me it was a file


where's around thousands of rows which


which


should be executed


with some comment


comment


and have a result


so


um


if we do not do it like in a sink way


they're gonna be


our business gonna cry


so


we try to optimize it somehow so we used


a sidekick and batches


so how we did it we parsed our file and


for each road we put a worker


inside of the batch so it's like one


up to i don't know hundred


so


each


and we do a worker


so


if we have 100 rows and we're going to


have 100


workers


and


i designed to


set a unique identifier for all this


source


for me it was like time


name


and


and maybe that's all


yeah so to work here i passed


time name and the sequence number


like let's be people it's going to start


with one


so


what we do here i have a unique id for


this road


which


identifies the sequence


and when i execute the command the


result i put to the reddis


where there's a key with this sequence


number


like it starts with search sequence


number


and


unique number and ends with sequence so


i put it to the radius and while i


finish all my 100 jobs i will have in


redis


like


100 results


and that is the end


but


i set a callback for all these batch and


it and it knows their


unique source name


so in callback i write one more worker


why not


like


finnish


result which knows


this unique name and it knows that we


have 100


rows in our file so


when all the jobs from the batch were


finished


i start this finish result worker which


goes like where people


1 up to


100


and reads from redis the source name


and


and each sequence


so


here i go the result of all my jobs and


i make one more file


one more file with this as you got


result file


and i have


as a result i have source params


then i made some comment on them


and then i have the result of this


comment here and they have the same


sequences


uh as in the source file


and


business is happy


so that's all actually


i hope nobody has question


but anyway


so uh the question is um


how fast does an rtms rocket need to be


going to escape earth's atmosphere and


reach a stable orbit


and now


the answer is i honestly don't care if


you know how to do this because i'm


assuming you're not rocket scientist um


and i'm assuming that everyone here is a


kerbal space fan


program but i highly recommend it no


i'm actually interested in a very


different question is nobody flinches


when you ask how fast were you going


and you think this is normal but it's


not normal it's a modern invention


because if we go back a long long time


with a working


clicker


so the time of aristotle


and


socrates um


these guys were working with maths right


but the mass they were working with was


mostly geometry and trigonometry and


they were working with this idea that


the world is perfect there's perfect


circles perfect triangles angles so


forth and so forth


they were not worried about the real


world and how mathematics applies to the


real world and they also


could not explain momentum and how


things move because from their


perspective


it was a side effect kind of thing you


know things were changing and they


didn't like that so much and it turns


out that that was the way of the world


for a really long time


because as soon as my screen updates


i don't know what's going on


all right so


my updates my slides are not updating


but what should be shown is uh galileo


and descartes


and dave and galileo among all his other


contributions what he did was he


realized that time


is a unit of measurement


and it turns out that before him nobody


kind of figured out or made it explicit


so


galileo figured out that time is a unit


of measurement and then descartes among


all his other contributions


created the cartesian coordinate system


which actually figured out that geometry


and algebra are not separate fields of


study they're actually the same thing


just two sides of the same coin


and then


after that


descartes was able to on the cartesian


plane


you know plot time on the x-axis


and it turns out that we have sort of


modern mathematics almost because then


leibniz and


newton came along


and


they both invented calculus right in one


another at the same time basically


using those things that galileo and


descartes invented like seven years


before them


and


why are we talking about all this


because


the important thing is time


and


the important thing is until galileo


figured out


that time is a unit of measurement and


sort of gave people and gave like to the


world this idea that here's an idea see


how far you can run with it


nobody ever figured it out and for them


this concept of how fast are you going


was science fiction but for us it's


common knowledge right when we think of


how fast are you going you're thinking


some cop is giving me a speeding ticket


you're not thinking i'm reinventing


mathematics


so


why are we talking about this i'm giving


a talk tomorrow that's theoretical about


functional programming but it's not


about functional programming it's about


giving new names for things that i want


you to start thinking about


because


what we have today


whether it's functional programming ddd


it's all crap we're in the time of like


pre-socrates what we need is we need new


ideas


that are going to spur the fur like the


next future generations that are going


to be the newtons and the like the


newtons and the and the limenesses of


our time until we can get to our you


know until we can actually get into


outer space


so


every time you listen to a talk by andre


or anyone else where they're where


they're giving ideas and concepts i want


you to sort of think about that that the


important thing is not the current


library or the queen whatever thing it's


can i take whatever they're doing and


sort of


figure out what is the ascension like


the essence of it and can i take that


essence and apply it to whatever i'm


actually working on can i create new


names for things


that can then be


defined as like


because once you name something you can


actually then figure out what are the


properties of this thing that i've just


named right


so that's all i've got really i'm


actually before time aren't i or you


just stop the clock


all right i'm done whatever um


[Applause]


one two


nice


we can start okay hi everyone my name is


andrew


i work as a outsourced company it's a


main


developer at the project sometimes tech


lead depends on a project


and


for sure at all uh outsourced companies


projects change from time to time our


teams change from time to time and


um at our


company we have different levels of


projects and for sure sometimes there


are junior projects which you need to


mentor


and for sure this


opportunity comes usually to the main


developer or the tech lead


and


not everybody likes this yeah but why i


decided to choose this topic because i'm


totally the opposite i like it a lot


i mentor at work uh at my project just


in the company and i mentored during my


free time


and i have a list of options why i do


that


it helps me to study because at certain


level you just fed up with courses books


conferences and stuff and you want some


not trivial questions which often comes


from


juniors


because i experienced a lot of such


questions which indicate me


it can be both it can be with your


technical skills and it can be with your


soft skills because uh for sure we want


to develop both of them


you help to dedicate engineers of your


company and it means you help to


make your company become better


and


if you don't like it you can ask your


company to pay for mentoring if you need


more money


and very important point for me is that


you help to grow your community because


uh


to struggle to this this question that


ruby is dying no it's not dying we're


making more


engineers


and


i really like the social aspect of that


because apart from the company you want


and i want to show


to help community


not only ruby but all people that's why


in my free time i mentor


refugees from ukraine and political


immigrants from belarus


and


i hope


this key points maybe motivate one of


you and you had find motivation to do


the same


and for me in all the volunteering stuff


the main point is find what motivates


you


yeah it's maybe one point from this list


or it may be your own list or your own


points


that's it thank you


um the question on the whiteboard still


bothers me because it's unanswered about


ruby dying and i am wondering like why


do we even ask this question what are


the what's the motivation behind this


because we are


i see this all the time like ruby is


dead or


like is ruby dying uh


and i'm wondering like where does it


come from


okay


so i didn't want to make anybody sad


today


yeah


i'm just asking


but i saw different companies and


usually they move from the ruby because


ruby is too slow and we're trying to use


jruby but now rust is coming and


maybe


i just can't get


[Music]


how we can support ruby and i don't want


to change it but i see that every


company i work i agree maybe they're


wrong but anyway


they


trying to use and move on different


language


so that is my point


i'm not sad like i don't believe this i


mean i believe your arguments because


some people are claiming this but


uh i'm not sure if this is just the


cycle that new things pop up like rust


and which is great


uh i didn't hear about g ruby for quite


some time so it's good to hear that it's


somewhere it's still there uh


yeah so


i just think that we like some of us


here are in ruby world for a long time


here and some of us are maybe more


newcomers and


uh like even when i joined ruby i can


say for myself it was obviously the


argument of the new shiny thing so i


switched from java to ruby


um


but then i think many people stay at


ruby so that's like that that's a good


thing the only


and i have to admit there is this uh


precedence that some people move to


elixir that's that's that was a movement


in the ruby community


uh but apart from elixir i didn't see


really a bug a big uh like outflows of


people in the community


like if you look at those you know for


example


every year they publish this


data and basically


like i didn't study the exact numbers


but usually the trend is like uh the


proportions are um


the proportions are changing so ruby


relatively for example to python or to


javascript might be slower in popularity


increase


but usually when i looked like some


years ago when i looked at the numbers


the numbers of


number of ruby developers is increasing


instead of decreasing it's just we are


sad sometimes because the number of


python developers is increasing faster


and you would like it to be like at the


same pace at least which is not the case


and probably we shouldn't try to compete


with python but also if we try to


compete with python for example python


is used for so many different purposes


right now for data science for web for


and many many other parts while ruby is


only for web


so even if we look at the communities we


should probably split the communities


like python web python data science and


then compare because i'm not sure like


if ruby web is really much lower than


python web for example or rust web maybe


not okay that was just me taking some


time when jan is ready so


let's welcome you is it working okay


it's working thanks


so let's talk about configuration and


configuration states for configuration


polish


and what is the state of the art right


now in ruby world and raceward so you


have race credentials you have


global race application config


you have config 4 helper that allows you


to load yum configuration files


you have environment variables


you have libraries like figaro or don't


end that allows you to


handle configuration values on different


ways


and all these


solutions have different problems


like


you have to know where is your specific


configuration i mean your code has to


know where is the configuration like i


mean the example


uh you have to use nf or some other


source


directly


it's hard to handle defaults or override


them


you have to base on ifs or ors


it's hard to distinct that some of the


defaults


should be available only in development


and not on a specific deployment


lack of questions


lack of verification that that you


actually provided values that should be


provided


unless the application explodes on the


production


and and it's easy to end up with


environment hell with dozens of


variables and and


a complete mess with configuration


uh so


it ends up with that the problem that


your code


has to know the infrastructure


infrastructure leaks into your code base


but you can better and uh


i really encourage you to watch this


presentation uh that


introduce


for example uh


noa config library that takes this


approach completely differently or from


different perspective


so instead of knowing where is your


configuration you provide classes


how you would like to configure your


application with some specific


keys


and that's all


the rest is done by the library itself


and it has different loaders that goes


one by one


and tries to load variables from


different sources like from environment


from


from a young config that


follows the convention of naming etc


and you end up with


specific values in a class that is


completely independent


how your infrastructure looks like on a


development on specific stage


on deployment etc


um


and this this solution is really cool i


really like it but i don't like the


syntax it's really um


not so friendly at least for me


so i thought that maybe we can use this


concept


uh but


uh with different syntax that is


familiar with dry struct


and this is how configuration again was


born um


so it's the same the same concept you


have class where you define what kind of


values you would like to have


uh you can use uh questions from the


drive struct


and it has different loaders you can


easily create your own loader that for


example will load data from i don't know


volt


aws some source s3 whatever


and it will go one by one try to load


data if there exists and if not it will


just go to another loader


and simply provide you


values that you want to use on on uh


in your application um


it's still not production ready it's


very early development


but you can at least watch it on on


github and follow for for releases


that's all thanks


okay hello again


i have a lightning talk write a blog


basically that could be it but i'll say


a couple of more things so


i've heard somewhere that the human


brain is wired up not so much to like


memorize


stuff but to solve problems


and well uh sometimes i fix some kind of


like uh


uh


heavy thin like i do some kind of uh


heavy sequence of tasks like


implementing a new api or like creating


some kind of uh flow and uh


a few months later or a few years later


i want to do it once again and uh i kind


of nearly have to learn it uh all once


again like i don't remember these things


really well and the thing that i've


started doing a couple of years ago that


i wish i started like


10 years ago is writing a blog and the


main target audience is not like the


world but your self in the future so


like


it helps you i think at least helps me


become a better developer uh while


writing you kind of uh


better understand the concepts of what


you've implemented and


i often come back to my blog just to see


how i did something in the past so


just most importantly write for the


future self and


it will reward you in the future


[Applause]


you