Talks

Lightning Talks: Day 1

EuRuKo 2016

00:00:04.120 well what are the rules the rules are lightning talks last five minutes and
00:00:11.259 at the end the mighty Gennady well hopefully it's not gonna end up
00:00:18.500 like that all the time but yeah that's it that that's it just all right and yeah so first talk is from Max Corrine
00:00:26.260 enjoy Thanks ok um before introduce myself who
00:00:32.419 knows this game you know where you swap the cards and need to find the pears and stuff cool very cool so let's play one
00:00:38.719 right now right now together so i create the game here for
00:00:44.179 two players a simple one if the Wi-Fi allows ok cool now what i do i just sent
00:00:50.210 I just Twitter the URL to this in this tweet where I
00:00:56.059 mentioned the Euro conference right so if you have
00:01:01.809 if you have a Wi-Fi
00:01:07.140 so if you have more or less reasonable connection just go to that URL and then
00:01:12.520 we will play okay i will hear the sound when you join anyway but in meanwhile I'll um I'll do the story
00:01:21.060 so my name is Max boring and I'm a rails
00:01:26.350 developer living in different countries trailing a lot and I like this game and I like to play this on the ipad with
00:01:32.140 someone next to me but then we play and then I have to go to another country and it's sad because we cannot play over the internet there is no option to play this
00:01:39.399 over the internet so i decided to create it myself and i decided to learn someone
00:01:44.740 joined cool we'll play in a minute so i decided to create one by while learning
00:01:50.470 elixir and L so I cannot make that guy wait so let's do this oh please put your
00:01:56.770 hand handler name Twitter handlers so we know with command plane so it's my turn let's do i
00:02:01.979 need to find two pairs cool
00:02:11.519 let's finish it oh I hope it's not the Wi-Fi or is it you thinking oh it's the
00:02:18.820 same one yeah cool you might turn again wherever you are go go
00:02:27.299 alright so probably Wi-Fi is not good for this no-good wipes nope
00:02:35.970 I've got two minutes I need to do my talk so
00:02:44.130 we'll finish later so I'll start with so i'll start with the
00:02:49.260 with the with the front from date from the end so you've heard that elixir
00:02:55.329 doesn't require a lot of resources right so i decided okay i'll give it a try and I try to run on 512 and beasts on the
00:03:01.209 digital ocean and you guess it didn't work and you guess why because no didn't
00:03:07.660 want to compile so what I did I jest ok I upgrade to one geek because this
00:03:13.060 lotion is it right so I install node and I downgrade back again to 512
00:03:18.840 so it worked and now I'll tell why i'll use elm actually it's some type inference you heard today
00:03:26.069 at school right it's really hard to break the code and it's no runtime earth really none ever if it can pass it works
00:03:34.819 excellent fetal architecture which redux was copied from and tons of fun
00:03:41.599 so i use circuits to communicate between the browsers so it goes to the elixir
00:03:48.629 instance and then goes vive WebSockets using the phoenix channels and for elm
00:03:53.640 support you have a cool library which does that and what i do I pass the complete-game state
00:04:00.810 every single time it makes things so much easier really I won't explain the details but really it is but then i have
00:04:08.160 a problem because the state can look like this enjoy his own right so what i do i just compress it with a third
00:04:13.650 string and base64 encoded and it becomes like five times smaller so
00:04:18.889 one of my fears was that you know elm doesn't have a certain library or something but nothing to a really
00:04:26.430 literally no problem because you can use ports and ports are very easy to use with latest
00:04:34.620 elm it's just basically like sending a synchronous call to to the server and get the response real easy so but web
00:04:42.090 sockets come at a price because they don't even work in every country because it depends on the protocol settings on
00:04:49.050 the providers and South stone just recently I realized my game doesn't run in Bali but we are lucky we can play
00:04:56.039 that right so why not do this more often and last but
00:05:01.470 not least who wants to see the code yay hey let's open source
00:05:07.970 so um I have this
00:05:14.950 don't follow me I have this repository I just created just this morning and
00:05:22.800 let's click this cool button nope
00:05:44.330 guys use it try it thank you thank you so much
00:05:59.030 so next talk next will be Johanna and Diana they
00:06:08.160 gonna talk about team Yoda from rails girls so it give us a minute just to set
00:06:15.000 it up okay I think we're ready okay so hi everybody we're Johanna and
00:06:23.370 ayana we're a bit nervous because this is the first talk we're holding at such a large conference we're participating
00:06:30.540 in this year's edition of the rails girls Summer of Code esteem Yoda and we
00:06:36.510 want to tell you about her journey learning web development and how he came to participate in this program
00:06:43.010 but first we would like to thank Yuriko and the risk some of code organizers
00:06:48.780 team for inviting us and providing free tickets so back to us
00:06:56.840 but back to us at this is yoga she studied philosophy and social sciences
00:07:03.180 and this is Diana she studied media and literature and she has worked as a
00:07:09.690 teacher and a media analyst so as you can see no technical background but we are very interested in technology we met
00:07:16.470 each other at our rails girls Berlin beginner's workshop in 2014 and we were so motivated we joined to project groups
00:07:24.210 immediately one of them the Ruby monsters which allowed us to participate in such a cool project as diversity
00:07:31.290 tickets org and we are currently rails girls Berlin organizers so feel free to
00:07:38.160 talk to us about us about that later if you're interested but what is raised got some of code
00:07:45.630 actually about and it is a fellowship program aimed at
00:07:53.040 getting women into open source and selected teams receive a three-month scholarship to work on open source
00:08:00.270 projects of their choice this year is the fourth edition of the summer of code and currently twenty teams all over the
00:08:07.260 world are participating so for our summer of code we decided to
00:08:13.050 work on a project called Sun sound drop feel free to check it out at sound drop that audio it is a project in which
00:08:19.620 users can upload audio files and connect them to places on maps
00:08:24.890 so these audio files are called drops here's an example of a drop the art cover on the right side and the map and
00:08:33.560 it's targeted at users so users can create audio guides tours or just share
00:08:41.070 a story of their favorite place and we would like to present to you some of the features that
00:08:48.480 we have been working on throughout the summer our first milestone was creating a JSON API so that with the future
00:08:56.700 mobile client users can send requests like please show me all the drops within
00:09:02.160 a one kilometre radius of my current position our sacred second feature was working on
00:09:07.620 the landing page so we took it look like that before we took the content and put
00:09:13.680 it in an about page and in our actual landing page we embedded a map where
00:09:18.840 users can see the drops that have been added to sound drop and they can click on the marker and be redirected to each
00:09:25.920 drop users can now also categorize their
00:09:31.440 drops because we implemented a tagging feature and if you want to categorize your drop as a sound or story yeah you
00:09:39.990 can do that now so we worked on these features very closely together and towards the end of the program we wanted
00:09:46.590 to ship our own features so I for my part created a my drops page where the
00:09:52.410 user you can see the drops she has created an account of them I
00:09:58.610 worked on a filter on the landing page so if you only wants two see drops that
00:10:04.269 are songs for example she can now check the box reload the page and will only
00:10:10.389 see the chosen drops so throughout the program we have had a great amount of
00:10:15.610 support we had a coaching company called absol vente there and Berlin where we are also based they provided us with
00:10:21.939 great rails coaches and space we also had some amazing remote coaches two
00:10:27.309 great mentors and an excellent supervisor and all of this was a great
00:10:32.499 environment to learn here you can see some of the tools that we have learned about throughout the
00:10:38.110 summer and worked with and the sad thing is the rails girl summer
00:10:43.299 of code is coming to an end next Friday it will be over but on the bright side
00:10:49.059 we are totally willing to use our skills and continue for during them we are
00:10:55.420 completely motivated about our new career path and we're looking for a job so feel free to approach us thanks a lot
00:11:10.840 and we just created a drop thanks thanks
00:11:27.290 next dog next cog is another another pair king guy and easel
00:11:43.470 you that's awesome so many cats we like cats
00:11:51.989 right
00:12:10.429 hi people of Morocco it's really nice to meet you all it's really nice to be here we are Ruby cats one of the teams taking
00:12:18.779 part in rails girls Summer of Code 2016 we work on Summer of Code teams up
00:12:25.829 I Mesa I've gone okay we're not gonna teach you how to
00:12:32.939 code because you probably know it better so we would like to talk about something
00:12:38.160 different about how it is to be a newcomer to programming while not having
00:12:43.739 any experience or education in this area and just struggling to
00:12:50.040 become a developer yeah what you can see here is pretty much we have five minutes so it's pretty
00:12:56.610 much all about me what I like what I love and what I do additionally computers were a big part
00:13:02.669 of my life since I was about eight playing on my first computers that expect from which I love still
00:13:11.689 ya later in life though I was pretty tech oriented person I did not pursue a
00:13:17.610 career in tech nevertheless I've had an amazing opportunity to work very close
00:13:23.850 to the places where the programming magic happened always dreaming about maybe someday I would do
00:13:31.110 this then I've had a daughter and after that I realized life is short and you
00:13:37.199 have to fulfill your dreams still well while you can so I signed up for the
00:13:44.189 first Ruby course organized by girls code fun foundation where I met Kenya
00:13:51.079 yeah and I used to be a complete zero or even minus one or something because I
00:13:56.850 knew completely nothing about programming luckily a programmer my best
00:14:02.310 friend in my last job so I became more and more aware of this and it was a time
00:14:08.670 of my great crisis caused by the kind of my job because I needed to create I
00:14:14.640 needed to do something important to have a continuous development and I couldn't find it in my job it was mostly about
00:14:22.470 financial matters and paper shuffling so I started to attend some itn tech
00:14:30.209 events like were so informatics they are called carrots HTML / CSS cause I got to
00:14:36.450 jungle girls were so workshops were for the first time in my life I shall I saw
00:14:41.970 a comment line and operating systems which wasn't windows and it was a great
00:14:48.899 event with great people but from some reasons I felt a bit
00:14:54.000 overwhelmed but a week or two later I attended raise girlhood workshops which
00:15:02.430 is a city but it also means about in polish and I was full of energy
00:15:07.730 motivated happy to be able to help other girls in our group and I also taught
00:15:14.850 kids programming scratch minecraft blockley with wanda robots a plaque
00:15:21.600 programming and some HTML and CSS and then i signed up to the ladies evening
00:15:26.910 with cold course well i would visa and then our Ruby paths merged and
00:15:33.890 together we attended broke water Ruby users group meetings
00:15:39.589 we signed up and got selected for dot class course organized by girls from
00:15:45.690 rice girls were so happens to be that our beautiful and
00:15:51.149 amazing kielbasa is right there big round of applause for amazing amazing
00:15:56.339 coach Thank You Basha okay and then we had a boot camp uh uh
00:16:05.310 yeah and we wanted to apply to raise girls summer
00:16:10.570 of code and this is how we looked while waiting on our results and then we got
00:16:16.420 in yay okay and we've come to the cherry on the top risk a summer of code and
00:16:22.890 which was the team's up because we wanted to give back to the community as soon as possible
00:16:29.040 we had a big expectations about our performance about issues solved and it's
00:16:34.990 like at first you are motivated open-minded are it will go like this and then life happens
00:16:41.910 our first crush with reality was understanding the code of the team's up
00:16:46.959 a be quite a week and working up well okay you feel ready for some coding but
00:16:53.230 then you're against back on something and when you're done and your code works you need to test it and it's even worse
00:16:59.980 than writing but will still feel so we got into programming on shooters please
00:17:06.360 yes there's still much to learn but if we could only come to the point
00:17:14.040 because we are saying this for some reason we wanted to show the perspective of
00:17:20.980 people like us of newbies you're experienced developer in and I don't
00:17:27.550 know if you remember the times when you were at your beginnings so just be a human avuto to people like us because
00:17:35.410 the things which are logical and just obvious for you maybe a big
00:17:41.610 black magic even foreigners live learn and code thank you
00:17:47.170 thank you thank you very much and thank you right girls
00:17:56.309 that's what our community is about people
00:18:02.190 ok so next up is steph and Mellie with
00:18:07.630 female def magic solution so that sounds really interesting
00:18:21.520 are we on yes help oh and my name is Melanie Keithley this is my coworker and
00:18:29.060 very good friend Stephanie Nemeth at Nemeth sorry and we have a magical
00:18:36.200 solution to the tech gender gap so you all know the stats
00:18:42.730 this is not to talk about why or if or who or when you can all look at that
00:18:49.040 stuff on the internet or look around you when you're at work we want to talk about the solution
00:18:55.300 so current solutions are organizing workshops to make women very
00:19:01.040 enthusiastic about tack we have a lot of those I live in Amsterdam and I think
00:19:08.060 they're for every woman and enthusiastic about tech we have a workshop now
00:19:13.840 organized female-friendly tech groups also very much of those now
00:19:20.890 fix the funnel issues CS courses are addressing issues that they have and
00:19:26.990 this is getting better so that's good
00:19:33.280 keep existing female devs from not leaving the tech community this is not
00:19:39.530 really being addressed at the moment which is sad so here is our magic solution I hope you
00:19:47.600 guys are ready hire female developers at know really
00:19:53.950 hire enthusiastic career changers as developers are junior developers
00:20:00.340 because this is what will happen um
00:20:05.350 so I just like to give a little background about via Melanie we are both
00:20:10.580 career changers and we both learned to code pretty much entirely at our jobs
00:20:15.820 and to present for the evidence i would like to present a case study of me
00:20:24.340 and I would like to talk about to the two main areas of contribution that I
00:20:30.520 have contributed to which is at work and in the community so at work I have
00:20:37.240 thousands of code contributions in production I've worked on multiple
00:20:43.030 projects where we both work for like a small web just rattle shop so we work on a lot of
00:20:50.570 different projects with startups and things so I work on multiple projects and for a lot of different organizations
00:20:56.380 and those work contributions are in fintech and education and wellness apps
00:21:02.600 and these are all really different projects they have some different front ends I
00:21:09.470 work with reacts angular and even backbone different databases we have no sequel
00:21:15.530 and sequel with and postgres and then I also get to work with micro
00:21:20.930 services and ma NOLA so the whole spectrum as a junior starting out I
00:21:26.930 worked with all these and I still do and despite contrary belief a junior dev can
00:21:33.020 contribute to all these code bases and I can do so fairly independently when you
00:21:38.330 start with small task and build up to building bigger and bigger features
00:21:43.990 next I'd like to talk about just a couple of like community contributions
00:21:49.250 so it's not just making code it's also what as I've grown as developer I've been able to give back to our community
00:21:54.980 in Amsterdam and I started a biweekly codes study group called coffee or beer
00:22:02.630 in code and we meet up every couple weeks and it's kind of language agnostic most people there for Ruby but anybody
00:22:09.980 can bring what they're working on and we just try to help each other out and then also this past August I organized a
00:22:17.180 stupid hackathon where people just come up with ridiculous ideas that have
00:22:22.190 no value really silly start-up ideas and we spent a day
00:22:27.650 hacking that and then presented it my project actually I have built a geocities CSS library so you could turn
00:22:35.540 your website into an awesome Oh city's looking page with scrolling Marquis and blinking and it was awesome
00:22:44.650 so thanks and please say hi to us at the party tonight
00:22:50.410 thank you
00:23:03.130 so next oh this is hot topic validations
00:23:08.390 and Christoph wafer I'm sorry I'm not familiar with
00:23:15.650 discerning but yeah here is
00:23:36.860 I'm hello everyone I'm Christopher vava i
00:23:42.139 work at ragnarsson company and today i will tell you little about validations
00:23:48.019 and our problem which we have invalidation we built our API for some of our product
00:23:56.289 in Radha we use road as micro framework for routing we used to
00:24:03.860 run as access layer to database and we our API
00:24:11.529 return data in JSON API standard
00:24:17.019 at the beginning we have only read mode so we don't have create and update
00:24:24.860 actions because we have static data written in
00:24:30.190 cs5 so during the time we need add update and create mode so some problems
00:24:39.529 begin with validations we used at the beginning some library which
00:24:45.129 casting every data every value to string
00:24:50.539 I was wondering why it was library designed to validate data
00:24:57.200 standard from web form so for obvious reason the only way of passing digits or
00:25:05.299 was compared with regular expression so I
00:25:12.200 will start looking something different gem which can handle hand can handle
00:25:18.769 this situation in super way so I found dry validation dry validation is library
00:25:26.870 built created by Andy Holland but mostly developing Viper solita and other people
00:25:36.049 from dry air be organization
00:25:41.889 dry validation was contributed is contributed by 17 people dry
00:25:49.600 organization have very jitter channel last day yesterday was reached the
00:25:58.630 latest version of dry validation and the driver Dashon is used by konami
00:26:05.170 validations and reform so maybe some of you Hilda about it
00:26:11.340 some of things are strange but awesome so I will tell you a little about them
00:26:19.530 we used to write double and and double our science in rabaa code but when we
00:26:27.220 use dry validation we must use single signs so at the beginning it could look
00:26:35.230 little weird but after that it is not so complicated and hard
00:26:42.720 another thing is that a driver ideation validated crashes not it
00:26:50.140 not validate the objects so crashes with name contains value kneel
00:26:57.610 and wear a name doesn't exist it's completely different caches and
00:27:02.950 completed the different cases so unless we must handle it and to remember when
00:27:08.380 we built our schema dry validation allow us to build
00:27:17.410 validation for nested data for hashes and arise so in this example we can
00:27:24.880 validate emails we can validate number of emails and of course we can validate
00:27:31.300 street and it is awesome for me drive validation allow create shared
00:27:39.040 schema and we buy this we cannot we can use many
00:27:46.120 schemas in many ways so we don't repeat ourselves writing dry rules writing
00:27:52.600 drive validation rule it was a couple of awesome things that
00:27:59.670 are of course many more so if some of you
00:28:05.170 start liking it it is the link for this documentation and you can open this
00:28:27.200 okay so next up importance of teaching and mentoring by the mere psychic
00:28:52.429 hello so about the importance of teaching and mentoring I think we already heard
00:28:58.409 enough stories you know from perspective of those who need learning so I'm going
00:29:03.929 to put this into a different perspective you know I'm going to talk about you already know how to code and who are
00:29:09.360 very comfortable with that and i want to tell you why teaching is important for you and not only for the community
00:29:15.030 around you so i'll do that by going through my story a bit and this is not
00:29:20.429 working so you know i started coding early in high school I did university then I
00:29:26.669 joined some startups and you know how startups are they lead you to crazy hours businesses fail it doesn't work
00:29:32.760 out and those crazy hours and not working out cause you to burn out which is not nice because you go to do what
00:29:40.049 you like to do you know you like the code you sit down you start i'll just try typing code but you'll get this
00:29:45.720 expression you know you just can't make you make yourself program and that sucks
00:29:51.510 because you can't do your work anymore and so what happened to me is I was already
00:29:57.630 started I already started preparing a curriculum for introduction to rail scores that I would you know do locally
00:30:04.440 and you know to pay my dad to community so I started teaching rails and then I
00:30:11.730 was invited to actually start teaching programming in a local boot campaign the
00:30:16.980 universal thing there was they were doing bootcamp in Java and I was like oh I never did java
00:30:23.510 well it turns away I actually did I did a project in university but you know I never pushed java code to production
00:30:30.510 that was used by real users and I never made money writing Java code but you know when you're in a room of 20 people
00:30:37.229 who never wrote a line of code before that doesn't matter at all like you have
00:30:42.539 to know how to write a class call a method and you know infinitely times
00:30:48.359 yeah infinitely many times more Java than anyone else in that room and that
00:30:53.729 counts and you know it's not about knowing Java it's about knowing how to code about all the experience you had so
00:31:00.899 I started teaching Java and it was good at it or so they told me and
00:31:06.710 the fact is when you start teaching someone teaching telling someone how to
00:31:12.210 code suddenly you have all these best practices that you know of you know why do we name things like that why don't we
00:31:18.779 name variables X Y and you start teaching them best patterns but then of
00:31:24.239 course people ask you well why is that the best better why this why is that the best practice why is that a pattern and
00:31:30.269 at that moment you have to stop and think about it why why am i doing that this way and you know it really takes a
00:31:38.609 lot of effort to put what you know into a few words that you can explain to someone you know that you could talk to
00:31:44.789 a five-year-old because I mean I was talking to 30 years old 40 years old but they never wrote a line of code so i had
00:31:51.149 to put it in a most meaningful way for them and that actually got me to
00:31:56.489 understand everything that I knew and you know I basically started coming up with reasons for best practices that I
00:32:03.359 kinda knew a bit but I started rediscovering patterns and that was
00:32:09.090 actually something very excited to me so by teaching people i started to loving
00:32:14.220 to love coding again and that was an amazing experience and because i started
00:32:19.999 enjoying coding again i found another job as a programmer a few months ago a few months later and i submitted my
00:32:27.299 first pull request it got completely destroyed it was stored down and i was
00:32:32.820 learning again and again it was a fabulous experience for me i joined top thailand i was in a room full of people
00:32:40.320 who were way more smarter than me and amazing experience really so
00:32:47.309 what I understood is that my love for programming means
00:32:54.390 that I love learning and you know those two things are actually connected i
00:33:02.940 love i love programming because i like to learn things i like to learn about domains with which i'm not familiar
00:33:09.040 anymore I like to program because I will learn about new patterns new architectures and teaching gives you
00:33:17.020 also an ability to learn more so kind of whatever I do teaching programming I'm doing it because I love learning and you
00:33:24.340 know you're here because you came to listen about Ruby about programming language and they assume that means you
00:33:30.340 love programming and if you love programming I also can buy that you love learning you know maybe you didn't like
00:33:35.890 to study in a high school or elementary school but you liked learning you're here because you wanted to learn so if
00:33:42.040 you want to learn I highly suggest you know to start teaching to start writing blog articles to find someone tonight at
00:33:49.600 the after party and ask them hey you know I saw you talked earlier may mentor
00:33:54.760 you please I would really like to spend an hour a week to tell you about what I already know and you know that may
00:34:00.940 change someone's life but it will change yours as well
00:34:08.220 thank you
00:34:17.099 okay down to two and now it's time for Igor ohmic off let's open a calculator
00:34:26.010 where are you where are you where are you easy here is it there
00:34:33.510 is he invisible I never know like all this super
00:34:39.960 ok so let let's go to the next one we're Lee the friendly terminal spinner
00:34:48.720 ok I want to hear about this young lellis right
00:35:24.640 so hello I'm young leaders I'm living in Berlin and I like to build tiny micro
00:35:32.750 gems one of them are will present in the next three minutes I had the idea like
00:35:39.170 in the other day where I had to download like tons of data from github and all
00:35:45.740 the output was cold and emotionless like updates about the
00:35:52.780 downloads and I want something which is like more emotional more not so cold and
00:36:00.980 more colorful so I created really the friendly terminal spinner and you should
00:36:07.400 also consider the next time you let your users rate that you use early instead so
00:36:13.790 this is really can you all see him yes emotions he changes his color even and
00:36:22.960 yeah and you can give status updates like
00:36:31.150 like the API is super simple
00:36:37.660 it's a little bit small so you just wrap it in a block and
00:36:46.360 yeah then you can do status update
00:36:51.520 so if you don't like really himself then you can also change the
00:36:59.180 terminal spinner I can to like spinning earth
00:37:04.270 actually I didn't create all these frames for the
00:37:12.380 spinners myself I use a popular popular nodejs gem for this which has
00:37:19.400 all the data I'm Jason from it and I'm just consuming the same Jason from it and
00:37:25.000 yeah i mean that's that's all if you like it
00:37:31.480 okay we have to wait till the 10 what will happen then
00:37:36.660 I just put it online on github and if you like it just get it that's it
00:38:01.619 ok so i guess we are done for today with the lightning talks right
00:38:16.470 you