This video contains 12 individual talks

Unconference Pitches (Day 1)
+12
See all speakers
See all 12 speakers

Sections in this recording

Unconference Pitches (Day 1)
Frederick Cheung, Andy, Michał Łęcicki, Giorgio Fochesato, Chikahiro Tokoro, Alexander Nicholson, Paweł Strzałkowski, Johnny Shields, Alekander, Mariusz Kozieł, Adrian Marin, and Yaroslav Shmarov • October 04, 2023 • Vilnius, Lithuania • Talk

EuRuKo 2023

00:00:12.420 hey I'm Joshua I'm the standard engineer
00:00:16.199 with imposter syndrome standing right in
00:00:18.960 front of you and I would like to talk
00:00:21.180 about the first ever published version
00:00:24.420 of rails rails 0.5 it was just Ruby
00:00:29.820 I downloaded it I had to research a bit
00:00:33.559 and I let it run locally and I will show
00:00:38.040 you my journey on how to dig it up
00:00:41.940 install it and run it and we will have a
00:00:45.239 look at some Ruby code so
00:00:48.899 let me talk about rails 0.5 thank you
00:00:52.260 very much
00:00:54.059 um so yeah hands up if you've never
00:00:55.800 gotten a property name wrong in your
00:00:57.719 front-end code or you've never assumed
00:01:00.239 that something was null but actually
00:01:01.559 sometimes your backend does return nulls
00:01:03.480 I can't see any hands up it doesn't
00:01:05.460 surprise me I've made a lot of these
00:01:07.680 mistakes and they've not all made it
00:01:10.020 into production I mean sometimes you
00:01:12.240 find out locally first but still you
00:01:13.860 know the feedback loop can be quite long
00:01:15.479 you make a change you refresh a page you
00:01:17.760 click around in your app and then you
00:01:19.979 make that Ajax request that returns
00:01:21.900 something you didn't expect
00:01:24.540 um at this talk
00:01:25.920 um I'm proposing is really about um
00:01:27.960 finding those mistakes earlier which I
00:01:29.759 call some end-to-end typing for web
00:01:31.320 applications
00:01:32.820 um so it's really about knowing what the
00:01:34.799 data in your front end is you know when
00:01:37.020 is it a string when is it a number when
00:01:38.820 is it an object and when is it an array
00:01:40.740 of objects
00:01:42.240 um what things are optional what things
00:01:43.619 are not optional
00:01:45.060 so spoiler alert a lot of this revolves
00:01:47.280 around typescript
00:01:48.960 um I know dhh doesn't like typescript
00:01:51.479 but he's not here I haven't seen him
00:01:54.000 um and I think it's pretty cool and
00:01:55.259 really helps really helps them move
00:01:57.600 quickly and refactor aggressively
00:01:59.100 without breaking things
00:02:01.340 typescript is kind of only as good as a
00:02:03.659 typed you write
00:02:04.979 um so you can still have your front-end
00:02:06.240 and back-end disagree just in a
00:02:07.740 different way and so what this talk is
00:02:10.020 also about is how do we make this a nice
00:02:12.120 flow from a developed experience point
00:02:14.099 of view
00:02:15.239 um how do we how can we generate things
00:02:17.340 automatically so we don't have just hope
00:02:19.080 that the types that are here and the
00:02:21.180 types over there line up
00:02:23.220 um so yeah I'll show you after a bit of
00:02:24.900 intro the typescript I'll show you how
00:02:26.340 you can make everything line up nicely
00:02:28.220 enforce things automatically and some
00:02:30.420 cool tricks we can play with that
00:02:32.280 um so yeah vote for me and I've also got
00:02:33.780 kitten pictures in my slides um if you
00:02:35.700 like cats
00:02:37.260 after three minutes
00:02:39.840 hi my name is Andy I'm from Germany and
00:02:43.739 currently on a hundred days of code
00:02:46.980 challenge around 70 60 days
00:02:51.900 and I did a sabbatical and then uh at
00:02:55.920 the end of the sabbatical I thought
00:02:57.660 maybe
00:02:59.400 um just focus on Ruby and rails and now
00:03:02.940 stimulus
00:03:04.220 so
00:03:05.760 um my daily job is to talk to GPT
00:03:09.140 and work things out with him or her or
00:03:15.060 it
00:03:16.560 um as a pairing partner
00:03:19.920 yeah that's it
00:03:22.379 hello I'm Andrus I've been like Ruby
00:03:26.400 developer for more than 15 years and
00:03:28.620 about 10 or 11 years ago I presented a
00:03:32.159 talk and one of the local Ruby
00:03:34.980 conferences about how to become Ruby
00:03:38.700 wizard and it's basically been inspired
00:03:42.599 by one of the talks like
00:03:45.900 also more than 10 years ago about wtfs
00:03:49.920 of JavaScript if you know about Nana
00:03:54.540 that's that's the talk uh uh and it it
00:03:59.280 mostly explores more
00:04:02.220 more unknown bits of Ruby and how you
00:04:05.340 can use them in production or why you
00:04:08.459 shouldn't use them in production
00:04:10.980 so that's my pitch and yeah Anders again
00:04:14.580 thank you very much
00:04:16.799 hello there
00:04:18.239 so my name is Mikhail wenchitsky and on
00:04:22.019 daily basis I am a software developer
00:04:24.720 but
00:04:26.520 if you chose my presentation I have a
00:04:29.220 topic that is slightly less technical
00:04:31.860 because I want to show you how event
00:04:35.660 storming looks like so how we can use
00:04:39.479 this Workshop technique to Discover
00:04:42.419 Business processes and then try
00:04:44.820 translate them into the code
00:04:47.880 hello just let me snap a picture so my
00:04:50.699 mom knows where I am okay my name is
00:04:52.979 Giorgio I come from Italy and I know
00:04:56.580 nothing about Ruby absolutely nothing
00:04:59.759 and I work for a company in Italy who
00:05:03.060 that organized conferences in Italy and
00:05:05.759 they say you should go to Bill news and
00:05:07.620 see how your euroka is grab ideas meet
00:05:11.220 people and and come back to Italy so uh
00:05:15.300 uh that's a good idea to be here and
00:05:17.040 show my face to everyone but I have also
00:05:19.020 a story because 23 years ago it was a
00:05:21.419 software developer
00:05:23.100 and not Ruby and
00:05:26.460 um
00:05:27.060 after a couple of years I was developing
00:05:29.160 software I realized I didn't like it
00:05:31.560 completely
00:05:33.180 that that was not what I wanted to do
00:05:35.759 and so actually I was also a good
00:05:39.240 software developer because my boss
00:05:40.979 offered me a really good contract he
00:05:44.100 offered me a lot of money
00:05:45.660 and let's say okay thank you but I quit
00:05:49.500 because this is not what I want to do
00:05:51.840 and after 23 years I lived a lot of
00:05:56.220 different lives I've been author for
00:05:58.440 another director I've been a community
00:06:00.780 manager I'm a community manager now I
00:06:03.479 organize wine events
00:06:05.220 I did websites too and I realized that
00:06:08.940 all the things I've done in life in the
00:06:11.280 past 22 years
00:06:13.460 uh I have to thank
00:06:15.780 the fact I was a web developer
00:06:18.300 and in my story if you vote for me I
00:06:21.600 will show you how the skills
00:06:24.780 uh
00:06:26.060 these important skills I got when I was
00:06:28.800 developing software helped me in every
00:06:30.900 step of my careers
00:06:33.300 so if you want to vote for me my name is
00:06:35.280 Georgia and thank you very much
00:06:39.479 uh
00:06:40.680 okay
00:06:41.880 uh hello my name is chika hero I'm from
00:06:45.720 Japan I'm currently living Berlin
00:06:48.620 so my topic is talking about for the
00:06:53.360 anonymizing database
00:06:55.500 may I ask so do you have the experience
00:06:58.979 to want to have the production-like
00:07:01.199 database
00:07:02.280 let's say so you have to slow queries
00:07:04.979 and you want to optimize and you don't
00:07:06.900 have the
00:07:07.800 like enough data set like a production
00:07:11.039 and you can't produce this is maybe one
00:07:13.380 scenario or there's any other like you
00:07:16.199 if you want to reproduce some like baths
00:07:18.240 and which related to the data then you
00:07:20.880 won't have the production like database
00:07:22.440 so and of course you can't use a
00:07:25.560 production data and how you do that
00:07:28.639 anonymizing database is one way if you
00:07:31.740 want to have it so this stick this talk
00:07:34.500 is for you first I would explain so how
00:07:38.580 to do that I made an open source project
00:07:40.919 for this and then you can use it for
00:07:42.960 this and second I would explain for the
00:07:46.560 what is the internal architectures and
00:07:48.960 also and for the anonymizing there are
00:07:51.900 several approaches to do that I also
00:07:54.240 explained for this and also like when I
00:07:57.120 developing these two I do some like
00:07:59.460 practice like for the tdds or Unix
00:08:03.060 philosophies I would explain as well so
00:08:06.599 um if you're interesting to do having
00:08:09.300 the anonymizing database this this talk
00:08:12.180 is for you thank you
00:08:15.539 hi everyone my name is Alexander and I
00:08:18.780 flew here from Tokyo Japan but I'm
00:08:20.699 originally from Australia if you like
00:08:23.220 making money and not running rails new
00:08:26.220 for every new project you spin up please
00:08:28.379 come to my talk it's called Sinatra is
00:08:31.080 all you need that is all I need to say
00:08:33.599 so thank you very much
00:08:35.520 hey guys my name is Pablo I came to you
00:08:38.279 from Warsaw Poland
00:08:40.039 have you had a chance to play Texas on
00:08:43.740 Ruby the Euro Cup game
00:08:46.380 awesome uh so I had the pleasure of
00:08:49.440 writing that it's Ruby with Justice
00:08:52.680 Sparkle frails and one secret ingredient
00:08:56.459 so I would love to talk about how it was
00:09:00.060 made how it works that it's not
00:09:01.800 JavaScript and it's actually Ruby
00:09:05.100 so guys if you like to play games and if
00:09:08.640 you like Ruby then just vote for me my
00:09:11.100 name is Pablo thank you
00:09:12.959 hi my name is Johnny I flew in from
00:09:14.760 Tokyo and my talk is called Ruby
00:09:18.720 multi-threading and so can you
00:09:21.959 the the so have you ever had a rake task
00:09:25.080 or something where you want to send 10
00:09:27.360 000 emails but each email takes a little
00:09:29.459 bit of time to send and so you want to
00:09:32.040 have some way to do it multi-threaded so
00:09:34.380 you can send a bunch of mail mails at
00:09:36.240 once and not wait for the i o to
00:09:37.860 complete well my talk will explore just
00:09:40.140 simple ways we can write pure Ruby code
00:09:42.660 no no outside gems to implement a
00:09:45.959 producer consumer pattern which will
00:09:47.700 help you do it much faster so that's my
00:09:50.519 talk please vote for me thank you
00:09:52.620 good morning I'm Alexander repnikov I
00:09:55.200 came from Warsaw and my topic is active
00:09:58.080 record includes Probably sounds very
00:10:00.180 simple but in general it there is
00:10:02.820 heightened a quiet issue with includes
00:10:05.820 you can introduce by mistake if you're
00:10:08.040 not conscious so what we what you will
00:10:10.920 learn you will see some fundamental
00:10:13.019 which you probably know already we will
00:10:15.180 talk more about how includes work at the
00:10:18.660 bottom and then I will tell you a story
00:10:21.360 from my project where we had the problem
00:10:24.060 just because of introducing includes in
00:10:26.459 a query we supposed to improve time a
00:10:29.580 load time but we time out that page so
00:10:32.339 it's it will it will be interesting and
00:10:34.800 what's most important you can't test
00:10:37.560 this so you can't optimize to catch this
00:10:40.980 error you need to be conscious and see
00:10:43.440 those red flags if you introduce such
00:10:45.779 issue thank you I'm Alexander vote for
00:10:48.480 me
00:11:02.120 meetups and I would like to share our
00:11:05.040 story how we reactivate the community
00:11:08.360 and how we create our first conference
00:11:12.060 there will be
00:11:13.700 also some kind of
00:11:17.279 tricks and tips and I will try to
00:11:20.240 explain why it is so important to attend
00:11:23.399 to present and to organize and to be
00:11:26.279 part of it but you are the right people
00:11:28.260 so you are here you like to learn so I
00:11:31.860 hope you will choose me
00:11:34.140 hey my name is Adrian I'm the host of
00:11:37.079 friendly RB a tiny Boutique
00:11:39.060 International Conference in Bucharest
00:11:41.459 that's happening next week so if you
00:11:43.860 don't get your fix here you can come
00:11:45.839 with me to Bucharest it's going to be
00:11:47.579 cool about 140 people
00:11:49.700 today I would like to talk to you about
00:11:52.320 building rails apps 10 times faster I'll
00:11:55.380 speak about how internal tools usually
00:11:58.800 Decay over time nobody writes
00:12:00.839 documentation nobody writes tests for
00:12:02.399 them this happens in all types of
00:12:03.959 organizations and then we're going to
00:12:06.959 build we're gonna do some live coding
00:12:08.640 we're going to build an app together
00:12:10.260 it's going to be a cool little booking
00:12:13.980 app you'll see that's going to be
00:12:15.839 production ready end user ready and yeah
00:12:19.440 we're just gonna have some fun so my
00:12:21.120 name is Adrian build rails apps 10 times
00:12:23.579 faster thank you hello my name is
00:12:26.160 yaroslav I'm the creator of super rails
00:12:28.680 YouTube channel and
00:12:31.220 I can talk today about my struggles
00:12:35.339 journey in finding my latest Urban rails
00:12:38.760 job so I've been working with Urban
00:12:40.380 rails for like seven or eight years now
00:12:42.540 but at all levels it can be quite a
00:12:45.360 challenge to find the right position and
00:12:47.339 I'm going to talk about getting your
00:12:49.200 foot into the ground as a junior
00:12:50.399 developer and tips and tricks about
00:12:52.139 finding a job
Explore all talks recorded at EuRuKo 2023
+28