Autor: Piotr Wachulec

Expert Summit 2017 – mój pierwszy vlog

Cześć!

Krótko, zwięźle i na temat. Jak pewnie wiesz, byłem ostanio na Expert Summit w Lublinie. Zawsze po konferencji piszę jakąś relację, jednak tym razem nie powstanie taka tradycyjna pisana relacja, ale za to powstał mój pierwszy vlog! Klikamy i oglądamy!

Nie spodziewałem się tylu pozytywnych komentarzy, ale chyba jest fajnie 🙂 Już niebawem kolejny vlog!

Do zobaczyska! 🙂

Code4Life 2017 – podsumowanie konferencji – conference summary

[English version below]

Cześć!

Szczerze? Nie wiem od czego zacząć. Naprawdę. To był jeden z najlepszych dni w moim życiu. Ale od początku.

W epoce kamienia łupanego

W lutym trafiłem na kanał Macieja Aniserowicza w YouTube. To był chyba jego 3. vlog, już nie pamiętam. W każdym razie wszystko raczkowało. No i za jakiś czas pojawiła się informacja o organizowanym przez niego konkursie Daj się poznać! 2017. W skrócie chodziło w nim o założenie bloga, rozwijanie projektu open source i napisanie 20 postów. A że chciałem mieć zawsze swoje miejsce w sieci, to pewnie przeklinałbym się do końca życia, gdybym to tak zostawił. No i kupiłem hosting, domenę, naklepałem tę templatkę w dwie noce. I napisałem swojego 1. posta. Od tego wszystko się zaczęło.

Pisałem te wpisy, starałem się pracować nad moim programem (na razie prace zawieszone i nie wiem, kiedy wrócę do nich). Udało się dowieźć do końca te 20 wpisów, potem gala w Microsofcie… I tak zacząłem swoją przygodę z blogowaniem. Potem sesja, wakacje, odpoczynek od wszystkiego. Oj potrzebowałem tego. Jednak chciałem wrócić do blogowania i żeby nie było tak, że po konkursie wszystko zdechnie. No i wziąłem się za robotę. W międzyczasie pomysł na blogging challange, który trwa nadal. I powiem Wam, opłaciło się!

Świecisz jak miliony monet, spłoniesz nim odpalę lont…

Jednak to nie wszystko. To tylko jedna strona medalu. Pewnego październikowego dnia, odezwał się do mnie szef jednej z firm: „Słuchaj, obserwuję Cię na Twitterze i widzę, że robisz fajne rzeczy. Może chciałbyś trochę z nami popracować nad równie ciekawymi tematami?”. Kto obserwuje moje profile w social media, to wie, o co chodzi 😉

W międzyczasie pojawiły się informacje o konferencjach Code4Life organizowanej przez firmę Roche oraz Expert Summit w Lublinie, która skupia się na narzędziach związanych z Microsoftem. Na tej drugiej prelegentami byli między innymi już wspomniany Maciek Aniserowicz z Devstyle.pl oraz Mirek Burnejko z Chmurowiska. Jednak nie o tym będzie ten wpis.

W formularzu do zapisów na konferencję Code4Life było pole: „Jeżeli chcesz wygłosić krótką, dziesięciominutową prezentację w sekcji Hydepark, to napisz, o czym byś powiedział.”. Pomyślałem znów – jak nie teraz, to kiedy? I tak niewiele myśląc podczas rejestracji wypełniłem to pole. Potwierdzenie rejestracji przyszło na email i o wszystkim zapomniałem. Tylko w kalendarzu sobie ustawiłem przypomnienie o konferencji.

Na jakieś 1,5 tygodnia przed konferencją dostaję telefon z nieznanego mi numeru: „Cześć, tutaj Mirek Lewandowski z Roche. Słuchaj, przeglądam Twoje zgłoszenie na konferencję i wypełniłeś pole, że chciałbyś powiedzieć krótką prezentację na konferencji. Ten temat o blogowaniu może być ciekawy, wyślij proszę plan prezentacji.” Wow. Zatkało mnie po prostu. Całkowicie o tym zapomniałem, siedziałem na zajęciach. Od razu usiadłem do komputera, napisałem kilka punktów, które chciałbym zawrzeć i wysłałem. Dostałem odpowiedź, że wygląda ciekawie i pytanie czy moglibyśmy zrobić dry-run prezentacji. Umówiliśmy się na wtorek w tygodniu, w którym była konferencja.

W weekend przygotowałem slajdy do prezentacji oraz napisałem sobie to, co chciałbym powiedzieć na konferencji. Normalnie raczej bym wypisał główne punkty od myślników, ponieważ wtedy swobodniej się mówi, jednak ze względu na to, że to miała być prezentacja w języku angielskim, to postanowiłem sobie przygotować całe przemówienie. Niestety mój angielski jest dość słaby i wolałem mieć całość dobrze przygotowaną, a ewentualnie potem zaimprowizować. No i przy okazji mogłem potem udostępnić prezentację wraz z jej streszczeniem.

Spotkaliśmy się online (przy okazji poznałem całkiem ciekawe narzędzie do przeprowadzania takich video konferencji – Meet od Google). Chwilkę porozmawialiśmy, następnie powiedziałem swoją prezentację. Było ok, miałem zielone światło, by wystąpić na Code4Life. Byłem mega tym wszystkim podjarany.

Dzień nastał

No i nadszedł dzień konferencji. W czwartek wieczorem już nic nie zrobiłem, byłem wcześniej na Forum Rozwoju Mazowsza, gdzie miałem krótką prezentacją o tym, dlaczego Polska jest świetnym krajem do tworzenia innowacji, a potem prowadziłem panel dyskusyjny Fire Talk – Find Yourself in IT. Położyłem się spać. Wstałem rano i pojechałem prosto do Małej Warszawy. A że miałem ok. 40 minut jazdy w jedną stronę, to zdążyłem udostępnić na blogu materiały dla uczestników konferencji. Dojechałem, odhaczyłem się na liście uczestników, odebrałem swój giftbag. Już na początku spotkałem Mirka Lewandowskiego, który się ze mną wcześniej kontaktował. Bardzo fajne było to, że część pracowników firmy Roche była tam jako ambasadorzy i inicjowali networking. Zazwyczaj jak idę na jakąś konferencję, to stoję jak ten słup soli i ciężko mi przełamać pierwsze lody. A tutaj to robili za mnie! 🙂 Dzięki temu miałem okazję poznać parę osób, popytać trochę o samą firmę.

Następnie o 9.00 zaczęły się prezentacje. W agendzie konferencji możecie znaleźć informacje o prelegentach i prezentacjach. Na wypadek aktualizacji strony o konferencji zrobiłem odpowiednie zrzuty.

Często się mówi, że za dobrą jakość trzeba zapłacić. Często jest to prawda, jednak konferencja Code4Life temu zaprzeczyła. Prezentacje prowadzone przez pracowników firmy oraz sławnych prelegentów były bardzo ciekawe i dodatkowym autem konferencji była ich różnorodność. Z jednej strony związane ze zdrowiem, biologią, z drugiej zaś z technologią blockchain czy rozumieniem języka naturalnego. Każdy znalazł coś dla siebie.

O poziomie merytorycznym prezentacji nie będę się wypowiadał – jestem za cienki na to 😉 Jedyne co mogę powiedzieć to to, że każdy z prelegentów starał się jak najbardziej zainteresować publiczność prezentowaną przez siebie tematyką.

Hydepark

Po prezentacjach, przerwach, obiedzie, praktycznie na sam koniec nadszedł czas na Hydepark, sekcję, gdzie miałem powiedzieć swoją prezentację. Ogólnie raczej nie miałem problemu z wystąpieniami publicznymi. Jednak taka konferencja to zupełnie co innego. Po godzinie 14.00 zacząłem się serio stresować. Wiedziałem, że moja prezentacja mogłaby być lepiej dopracowana, mogłem jeszcze więcej czasu na nią poświęcić… Wiadomo, panika 🙂 Ale to chyba zdrowy odruch.

Ostatnia przerwa przed hydeparkiem. Podszedłem do komputera, uruchomiłem swoją prezentację. W ustach sucho jak na Saharze…

Zaczęło się. Zapowiedzieli moje wystąpienie. Wchodzę na scenę i zaczynam.

„Cześć! Nazywam się Piotr Wachulec i opowiem Wam dzisiaj krótką historię o moim miejscu w Internecie, o moim blogu. Przepraszam za mój angielski. Wiecie, to moja pierwsza prezentacja na konferencji, bardzo się denerwuję i jestem jednocześnie podekscytowany, więc wybaczcie mi mój słaby język.” I wtedy rozległy się brawa. Szczerze, nawet nie wiecie, ile daje człowiekowi na scenie, takie wyłożenie kawy na ławę na samym początku. Łapie się tak niesamowity kontakt z publicznością. Warto w tym miejscu dodać informację o tym, jaki jest widok ze sceny. Kiedy prowadzę zajęcia z C++ czy jakiekolwiek inne prezentacje, to przeważnie odbywa się to w jakiejś sali wykładowej, jest nieduża liczba osób. Można zażartować, złapać z kimś kontakt wzrokowy – wyrównać poziom pomiędzy prelegentem a widzem. Do tego mówi się w ojczystym języku. A tutaj? Wchodzisz na doświetloną scenę, za Tobą wisi ekran na pół ściany, widownia jest wygaszona. Widzisz tak naprawdę jeden, dwa rzędy na początku. Ma-sa-kra.

No ale dobra, jedziemy dalej. Mówię swoją prezentację (mniej więcej to szło tak, jak w przygotowanych materiałach). Slajdy przygotowałem w Google Slides i prezentacja otworzona została bezpośrednio z mojego dysku Google. I nagle padło. Chcę przerzucać slajd i widzę tylko ten pasek w lewym dolnym rogu w Chrome, że dobija się do serwera, ale odbija się od niego jak kule od czołgu. Myślę sobie „No pewnie, jeszcze tego brakowało. Trudno jadę bez slajdów”. Powiedziałem do publiczności – „Wiecie co, przestały działać slajdy, więc teraz prezentacja będzie dalej bez obrazków.” Odłożyłem pilot i zacząłem mówić dalej. Mogę powiedzieć, że zachowałem w tym momencie zimną krew, bo różnie można było zareagować. To jest tak trochę jak na studiach. Starsi wykładowcy, którzy zaczynali pracę przed erą komputerów i rzutników, prowadzili swoje zajęcia z głowy, przekazując treść z pomocą kredy i tablicy. Dzisiaj czasem u młodszych prowadzących jest tak, że kiedy rzutnik przestaje działać, to jest dramat, bo cały wykład jest na slajdach. A sztuką jest przekazać treść bez dodatkowych pomocy. Wiadomo fajnie jest, kiedy coś się widzi (w końcu większość z nas to wzrokowcy), jednak to nie jest konieczne. Dlatego wtedy myślałem sobie trudno, może jakoś uda się dowieźć to do końca.

Na scenę do komputera podszedł jeden z pracowników Roche i prezentacja znów zaczęła działać. Zatem powróciłem do slajdów. Zastanawiasz się może, dlaczego tak podkreślam ten epizod z prezentacji? Otóż to wszystko dzięki Bartkowi, był jednym z konferansjerów na konferencji. Na integracji po konferencji powiedział mi taką rzecz: „Świetne było, to jak rzuciłeś tego pilota, wyszedłeś na środek sceny i po prostu zacząłeś mówić. Wtedy tak się wyluzowałeś i stałeś się jeszcze bardziej naturalny”. Czego to dowodzi? Tego, że prezentacja i ten sławetny pilot mogą stać się w pewnym momencie taką obrożą, kagańcem uniemożliwającym popłynięcie z prezentacją. U mnie takie „uwiązanie” jak już mówiłem wcześniej mogło być wynikiem przekonania o moim niedostatecznym przygotowaniu do wystąpienia.

Uff, zmierzam do końca prezentacji. Udało się dojechać 😉 No i na końcu pytania od publiczności. Tutaj znów mega miłe zaskoczenie, pojawiło się kilka pytań, np. czy monetyzuję w jakiś sposób swój blog, czy pojawi się podsumowanie konferencji itp.

Chciałbym poruszyć przy okazji wątek monetyzacji – blog nie przynosi mi żadnej wartości materialnej. Jednak mam całą masę dodatkowych korzyści. Dzięki prowadzeniu bloga nawiązałem współpracę z firmą, dzięki prowadzeniu bloga odważyłem się na wystąpienie na konferencji i opowiedziałem o nim, dzięki prowadzeniu bloga uczę się wielu nowych rzeczy, chociażby z budowaniem marki osobistej. Dla mnie to większa wartość niż kilka groszy z reklam 😉

Po zejściu ze sceny niesamowita ulga i super samopoczucie – tak stary, odważyłeś się, pierwsze koty za płoty, mogłoby być lepiej, ale i tak, że nie stałeś na tej scenie jak kołek, tylko normalnie ogarniałeś i dałeś publiczności wartość.

Aż nagle konferencja się skończyła 🙂 No dobra, nie tak nagle. Po mnie była jeszcze jedna prezentacja w sekcji hydepark – o połączeniu programowania i biologii. A na sam koniec znów Dan North opowiedział o tym, że programista nie powinien kończyć się na pisaniu kodu 🙂 Przyznaję się bez bicia, nie mogłem się skupić już, bo po prostu zaczęły ze mnie schodzić emocje i mój mózg przełączył się na inne tory.

Koniec konferencji, pamiątkowe zdjęcie na scenie ze wszystkimi prelegentami. Już bezpośrednio po konferencji kilka osób podeszło, by zamienić dwa słowa dotyczące mojej prezentacji.

Po wszystkim integracja. Tak jak wcześniej pisałem – normalnie stałbym jak słup soli lub w ogóle na nią nie poszedł. A tutaj raz, że rano już przełamałem pierwsze lody, dwa przedstawiłem swoją prezentację, więc znacznie łatwiej mi przyszło inicjowanie rozmowy. Rozpędziłem się do tego stopnia, że nawet mój słaby angielski mi nie przeszkadzał, jednak w tym pomogło mi uświadomienie sobie w końcu pewnej rzeczy. To co mówią wszyscy – żeby umieć porozumiewać się w tym języku, trzeba go UŻYWAĆ. Na początku jest „Kali umieć, Kali robić”, jednak początkowym celem jest umiejętność komunikowania się, przekazywania informacji. Chyba mi się to udało 😉 Druga kwestia – nie zacząłem sobie układać rozmów w głowie i ich tłumaczyć na angielski, tylko postarałem się wyłączyć polski moduł w moim mózgu, poczuć ten drugi język.

Brak hejtu

Tego dnia usłyszałem wiele ciepłych słów, wiele informacji, co było fajne, a co można poprawić. Dostałem takiego pozytywnego kopa do dalszego rozwoju w kierunku IT, programowania, dalszego prowadzenia bloga, jakiego dawno nie dostałem.

To było trochę tak, jak mówi się o nauce języka. Kiedy jedziesz do obcego kraju i starasz się skomunikować z mieszkańcem w jego ojczystym języku, to na jego twarzy pojawia się uśmiech, a nie wytykanie użycia nieprawidłowego czasu. I tutaj też. „Super, że się odważyłeś. Reszta przyjdzie z czasem.”

Jak zacząć działać dalej?

W ciągu ostatnich kilku miesięcy zrobiłem sporo rzeczy, których wcześniej nie robiłem. Zacząłem blogować, wystąpiłem na konferencji itd. Najgorszym było przełamanie się. W tym też mi jakoś pomógł jeden z odcinków vloga Maćka.

Co się mogło zdarzyć? Mogłem nie umieć wydusić z siebie słowa i uciec z krzykiem ze sceny. Mogłem zostać wygwizdany. Ale najważniejsze, że spróbowałem. I to się liczy.

W czwartek 09.11.2017 byłem na konferencji Expert Summit. I postanowiłem, że zacznę z vlogiem. Co się mogło stać? Fala hejtu (kiedy to piszę, to jeszcze nie jest mój blog opublikowany, może tak się stało ;)) Jednak co mi to dało, że spróbowałem? Dzięki temu, że stałem sobie z telefonem i coś do niego gadałem udało mi się pogadać z Maćkiem i Mirkiem. Udało mi się przełamać taką barierę gadania do kamery wśród ludzi.

To sum up…

Szczerze, nie umiem opisać tego, co się tamtego dnia wydarzyło. Kilku osobom opowiedziałem osobiście o tym wydarzeniu i wtedy mogłem przekazać zdecydowanie więcej emocji. Mogę tylko powiedzieć, że to był jeden z najszczęśliwszych moich dni 🙂

Jak mówiłem, to nie będzie taka standardowa relacja, że ta i ta prezentacja to to, to i to. Starałem się przekazać, co dla mnie było najważniejsze.

Podziękowania

Przede wszystkim chciałem podziękować w tym miejscu Mirkowi Lewandowskiemu z Roche, który gdzieś tam wychwycił moje zgłoszenie i dał mi szansę na wystąpienie na konferencji. Mirku dzięki i do zobaczenia!

Chciałem podziękować Maćkowi Aniserowiczowi (ostatnio zrobiłem to osobiście), który swoją działalnością (a każdy może z niej czerpać!) zachęcił mnie do założenia tego miejsca i daje mnóstwo inspiracji, pomysłów, narzędzi. Dzięki Maćku!

Chciałem także podziękować Mirkowi Burnejce (również ostatnio mogliśmy porozmawiać), który swoją vlogową działalnością także daje mi dużo inspiracji i motywacji. Mirku, szkoda, że planujesz zakończyć tę przygodę, ale dzięki jeszcze raz za wszystko!

Chciałem podziękować uczestnikom konferencji Code4Life oraz pozostałym prelegentom, którzy wysłuchali mojej prezentacji, którzy podeszli po niej i dali feedback oraz kopa do działania!

Chciałem podziękować rodzinie i przyjaciołom, którzy wspierają mnie w tym co robię, jak potrzeba to naprostują człowieka na dobry tor 🙂 Dzięki, bez Was to by nie wyszło!

To już koniec

Nareszcie. Prawie 2300 słów (ok. 5,5 strony A4). Mógłbym jeszcze opowiadać, a słowa i tak wszystkiego nie oddadzą. Czas więc kończyć ten wpis. Mam nadzieję, że to dopiero początek mojej działalności. Zatem do zobaczenia, na uczelni, ulicy, konferencji, w internetach… Siema!

 

[English version]

Hi!

Honestly? I don’t know where to start. Really. It was one of the best days in my short life. But let’s start from the beginning.

In the Stone Age

In February I found Maciej Aniserowicz Youtube channel. It was his third vlog I think, I don’t remember. In any case, everything crawled on all fours. In a while information about Get noticed! contest which is organized by him appeared. The rules are simply – you should set up a blog, develop an open source project and write 20 posts. I wanted to have my own place in the Internet for a long time, so I thought that it is my chance! I bought hosting, domain, I prepared this WordPress template in two nights with tutorials. And I wrote my first post. All started from this.

I was writing posts, I was trying to work on my project (for now, works are suspended, I don’t know when I will come back to do this). I got this 20 posts written, after that there was a summary meeting in Microsoft Poland in Warsaw. And so I started my adventure with blogging. Next, I had exams, holidays, rest from everything. But I wanted to come back to blogging. I didn’t want to forget about it. So I started work on my blog again. In the meantime I had an idea on Blogging Challange, which continues. And I tell you something, it paid off!

You shine like millions of coins, you will burn it up fuse…

But that’s not all. It’s just one side of the coin. One October day, the head of one of Warsaw IT companies wrote a message to me: „Hi, I observe you on Twitter and I see that you do something nice. Maybe do you want to work with us on such interesting topics?”. Someone who observe my social media  knows more 🙂

In a meantime informations about Code4Life conference organized by Roche and Expert Summit in Lublin, which focuses on Microsoft technologies, appeared. An this second conference were among others Maciej Aniserowicz from Devstyle.pl and Mirek Burnejko from Chmurowisko.

In Code4Life registration form was an input: „If you want to have a short 10 minutes presentation about anything in Hydepark, please tell us, about what you want to say”. And I thought again it’s my chance. During registration I filled this field. I got registration confirmation on my email and I forgot about it. I wrote information about conference in my Google Calendar.

About 1,5 week before the conference the phone rang. I didn’t know the number. „Hi, I’m Mirek Lewandowski, Roche. Listen, I’m scrolling your application and I see that you filled the field about presentation. This topic can be interesting, so send me plan of your presentation.” Wow. I didn’t know what I should say. I totally forgot about my application. I prepared it immediately, I wrote a few pointes and sent. I got an answer that it looks good and we could make a dry-run of my presentation. We agreed on Tuesday the week of the conference.

During the weekend I prepared slides and I wrote a statement. Normally I don’t write a statement, but only main points, because then I feel free dring speaking, but due to the fact that this was my first presentation in English I decided to prepare whole speech. Unfortunateli my English is poor and prefered to have everything good prepared and possibly to improvise in the future. By the way thanks to this I can share my complete presentation 🙂

We met online (by the way I get to know interesting tool to make video conferences – Google Meet).  We talked a while and I started my presentation. It was ok, so I can take part in Code4Life as a speaker. I was very excited!

The day has come

The day of the conference has come. In Thursday evening I didn’t do anything, because I was on Forum Rozwoju Mazowsza conference where I had a short presentation about why Poland is one of the best places to create innovations and after that I moderated the discussion panel Fire Talk – Find yourself in IT. I went to bed. I woke up and went to Mała Warszawa. My journey took about 40 minutes, so I shared the presentation on my blog. I registered at the entrance, I got a giftbag. After that I met with Mirek Lewandowski with whom I contacted before. Several Roche employees were as ambassadors and they initiated networking. Usually when I go on the conference I do not talk to anyone. It’s hard for me to initiate a conversation, but they did it for me! 🙂 Thanks to this I had an occasion to meet a few people, to get some information about Roche.

The conference started at 9 a.m. In agenda you can find some information about speakers and theirs presentations. In case of updating the website I made some screenshots.

It is often said that we should pay if we want to get a good quality product and often it is true, but Code4Life denied this. The presentations prepared by Roche employeses and other famous speakers were very interesting and different. On the one hand related to health, biology, on the other hand related to blockchain or natural language processing. Everyone could finde something for themselves.

I won’t speak on the subject level. My knowledge is too small to judge someone 🙂 But all speakers tried to interest the audience.

Hydepark

After presentations, breaks and dinner practically at the end it was time for the Hydepark, the section where I had my presentation. Every day I had no problem with public hearing, but this was my first conference as speaker. After 2 p.m. I became very stressed. I knew that I could do my presentation better. I panicked 🙂 But in my opinion it is a healthy reflex.

The last break before the Hydepark. I went to the computer and I set up my slides. In the mouth dry as in the Sahara.

And it started. They announced my speech. I went to stage and started.

„Hi! My name is Piotr Wachulec and I would like to tell you a short story about my place in the Internet, about my blog. Sorry for my English. You know, it is my first prsentation on the conference and I am very stressed and excited, so I’m sorry again.” And then there was an applause. Honestly, you don’t know how much it gives to a person on stage when he or she will release his or hers emotions. You make an excellent contact with the audience. It’s worth mentionig the view from the stage. When I have courses about basic programming in C++, it is in a small room and with a small group of people. I can say something funny, make an eye contact align level between speaker and viewer. Additionaly I speak in my native language. But here? You go on the illuminated stage, the big screen is hanging behind you, the audience is unlit. You see only first and maybe second row of chairs. Terrible…

But ok, let’s continue. I was telling my presentation (about the same as in the prepared materials). The slides was prepared in Google Slides and the presentation was set up from my Google Drive. And suddenly it stopped working! I wanted to change the slide and I was seeing only bar in left bottom corner in google Chrome. Chrome wasn’t able to communicate with serwer. I thought: „Yeah, of course, I knew that it stop working.” So I se to the audience: „Sorry, my presentation stopped working. Sorry for that. I’ll try to continue without slides.” I dropped the remote control and started to speak on. I can tell that I keep my head, because my reaction could be different. Like at the university. Senior lecturers who started theirs carrers in the non-computered epoch, lead the lectures from the head with notes, blackboard. Nowadays it is often that younder lecturers cannot have courses without computer and projector.

One of Roche employees approached to the computer and the presentation worked again, so I continued with slides again. Maybe you wonder why I write a lot about this episode. Thankst to Bartek, one of the announcers. After the conference during the integration time he told me this: „It was excellent when you threw the remote control, want to center of the stage and and you started to speak again. Then you relaxed and became more natural.” What does that prove? That the slides and the remote control will able to become collar, muzzel which won’t let you become relaxed and get a flow. And additionaly thinking about my unpreparedness to speaking limited me.

Uff, I finished my presentation 🙂 After that I got a few questions from the audience, again nice suprise, for example do I coin my blog or will I write a conference summary.

I want to tell you a few words about money from blog. I don’t have any money from having own website. But I have a lot of additional benefits. Thanks to having a blog I cooperate with company, thanks to having a blog I decide to come out on the conference and I could tell you about it and about building personal brand. For me this is more than a few pennies od adrvertising etc.

After leaving the page amasing ease and well-being – yeah bro, you did it! It could be better, but it was the first presentation and you give the value for the audience!

And suddenly the conference finished 🙂 Yeah, not suddenly 🙂 After my presentation there was one presentation in Hydepark – about biology and programming cooperation. At the and Dan North again on stage. He told that programmer should not only write code 🙂 I admit that I didn’t able to focus, because the emotions started to leave my body and my brain didn’t able to think 🙂

So there was the best time for integration! Normally I don’t go to after party, but thanks to morning talks and my presentations my confidence had increased. Even my weak English didn’t bother me, but I finally realized something. It says everyone – to comunication in some language you must use this language! The aim is communication, forwarding information. And I did it too 🙂 Secondly I stopped planning talking in my head, I tried to turn of polish module in my brain, I tried to feel the second language.

Noone hate you

That day I heard a lot of friendly words, a lot of informations what was good ang what I can change in the future. I got a big motivation to developing myself, increasing my knowledge about IT, programming, blogging.

When you go to other country and you try to communicate with citizen with his native language, you will see smile on your face and he try to help you (but not in France ;)). And here too. „It’s fantastic that you tried! You must try!”

How to start

During the last few months I did a lot of things which I have never done before. I started blogging, I was a speaker on conference. It was the worst to break myself. And with it Maciej Aniserowicz helped me:

What could it be? I could tell anything and run away with scream. I could have been whistled. but the most important is the fact that I tried!

On thursday I was on Expert Summit Conference. I decided that I started with vlog. What could it be? Wave of hatre (when I write this post, the vlog is not published, maybe it occured 😉 ) But thanks to fact that I stayed with my phone and I talked to it, I talked with Maciek and Mirek. I managed to break this barrier talking to camera near other people 🙂

To sum up…

Honestly, I can’t describe all feelings, emotions and events frome those day. A few people talked with me about it and then I was able to give them a part of my experiences and emotions. I can say that it was one of the best days in my life 🙂

As I said before I was not a standard relation. I tried to give you sll what is the most important for me.

Thanks

First of all I want to say „Thank you” for Mirosław Lewandowski from Roche who found my form and give me an excellant chance on attendance at the conference as speaker. Thank you Mirek so much and I hope that see you soon!

I want to thank Maciej Aniserowicz (I recently did it myself), who with his activity (and everyone can use it!) gives me a lot of motivation, inspiration, ideas and thanks to him I set up this place! Thank you Maciej!

I want to thank Mirek Burnejko (I recently did it myself too), who with his vlog activity gives me inspiration and motivation. Too bad you’re ending up with vlog, but I respect your decision! Thank you again! 🙂

I want to thank all participants of Code4Life, speakers and organizers who listened my presentation, who give me some sugestions and friendly words. Thanks!

I want to thank my family and friends who support me every day in what I do. Thank you, without you I would not be able to do it.

Done

The end. About 2300 words. I could write more, but this only written words. I hope that it’s the beginning my internet activity. So See you soon in the internet, on the street, conference… Bye!

Jak zdobyć przyjaciół i zjednać sobie ludzi

Cześć!

Przyszła pora na przeczytaną przeze mnie kolejną pozycję, nie związaną z techniką a z umiejętnościami miękkimi. Mowa o książce Dale’a Carnegiego Jak zdobyć przyjaciół i zjednać sobie ludzi.

Krótko o autorze

Kim jest Dale Carnegie? Na początku bym chłopcem ze wsi zarabiającym na na zbieraniu truskawek. Przez swój upór i dążenie do celu stał się nauczycielem dyrektorów największych firm, a uczył trudnej sztuki współpracy z człowiekiem. W kilku słowach możecie o nim przeczytać na angielskiej Wikipedii. Warto dodać, że autor był przede wszystkim praktykiem (co wszystkie tygrysy inżyniery lubią najbardziej, a nie jakieś bujanie w teoretycznych obłokach…). Pierwszy raz usłyszałem o nim we wcześniej już wspomnianym filmie Mirosława Zelenta z kanału Pasja informatyki.

Po obejrzeniu powyższego filmu (swoją drogą polecam gruntowne zapoznanie się z nim) oczywiście postanowiłem książkę zakupić. I tak zacząłem ją czytać i poleciała na półkę. Niestety. Ale! Odkurzyłem i przeczytałem.

Pokaż kotku, co masz w środku

Książka składa się z 4 części:

  1. Podstawy kontaktów międzyludzikowych
  2. W jaki sposób sprawić, aby ludzie Cię lubili
  3. Jak przekonywać ludzi do swojego sposobu myślenia
  4. Jak pozytywnie wpływać na ludzi

Ważne! Książka ta nie jest poradnikiem, jak w pięciu krokach stać się dyktatorem. I gdyby taka była, to bym o niej nie pisał, tylko zaorał 100 m od domu 2 m pod ziemią. W kolejnych rozdziałach autor opisuje zasady, jakie powinny stać się naszymi nawykami przy codziennej pracy z ludźmi. Najważniejsze, każda z nich poparta jest przykładem i to z życia znanych osób, np. Abrahama Lincolna. Część z tych osób nie jest znana nam ze względu na różne kraje oraz wiek samej książki. Każda z sytuacji jest opisana, więc łatwo sobie wyobrazić cały kontekst.

W mojej głowie

Sam Carnegie podkreśla – tej pozycji nie można przeczytać i odstawić na półkę. Mimo, że jakby się dobrze zastanowić, większość z opisanych zasad jest oczywista, to sam się pewnie nie raz złapałeś na tym, że oczywista oczywistość nie jest wcale taka oczywista i człowiek i tak robi inaczej. Dlatego książka powinna stać się nieodłącznym elementem codziennej pracy nad sobą, aby zasady w niej zawarte stały się nawykami. Stosowanie zawartych w niej zasad ułatwi Ci codzienne egzystowanie w galopującym świecie. Sam się o tym przekonałem, kiedy sprawę mogącą się ciągnąć kilka dni załatwiłem… w mniej niż 120 sekund. Nie wszystkie cele jesteśmy w stanie osiągnąć sami. Część z nich zależna jest od innych osób, więc trzeba wiedzieć, jak odpowiednio postępować.

Nie warto się zrażać wiekiem książki. Zawarte w niej treści będą zawsze aktualne. Uważam, że jest to podstawowa pozycja dla każdego człowieka. Bez względu na to, czy jest się dyrektorem megakorporacji czy pracuje się w warzywniaku. Gdyby każdy podchodził do siebie zgodnie z tym, co jest zawarte w tej książce, to na świecie nie było by krzyków, wojen, kłótni. Niestety, takiej idylli nigdy nie będzie, dlatego zróbmy tak, żeby chociaż w naszym najbliższym otoczeniu żyło się lepiej 🙂

Git – start – inicjalizacja repozytorium, konfiguracja

Cześć!

Witaj w pierwszej części kursu gita. Dzisiaj skonfigurujemy sobie środowisko i zapoznamy się z podstawowymi poleceniami.

Z konsolą za pan brat

No dobra czas obeznać się troszkę w konsoli. Podstawowe polecenia w konsoli w Linuxie znajdziesz na przykład tutaj, natomiast na Windowsie tutaj. Warto się z nimi zaznajomić. Odpal teraz konsolę i poprzechodź pomiędzy folderami, pozmieniaj nazwy itd. Trening czyni mistrzem 🙂

Pora zacząć

git help

Odpalamy program Git Bash. Naszym oczom ukaże się taka oto piękna konsolka.

Pierwszym z poleceń jakie poznamy będzie git help. Służy do wyświetlania opisu polecenia. Wywołane bez dodatkowych parametrów wyświetla informację o podstawowych komendach gita.

Wywołanie w konsoli polecenia git help <nazwapolecenia>, np. git help commit spowoduje otworzenie informacji o poleceniu w przeglądarce. Dodatkowe informacje o git help znajdziesz oczywiście w dokumentacji.

git config

Kolejne polecenie, które poznasz, to git config. Służy do ustawiania opcji czy to danego repozytorium czy globalnych opcji gita, jako programu. Opcje globalne zapisywane są w katalogu domowym w pliku .gitconfig, zaś opcje dotyczące danego repozytorium w pliku .git/config. Na początku będzie nas interesowało praktycznie tylko git config –global user.name, gdzie ustawimy swoją nazwę oraz git config –global user.email, gdzie ustawimy swój email. Bez tego nie będziemy mogli zrobić tzw. commit. Poniżej zobaczysz rezultat wywołania poleceń.

Flaga –global znaczy tyle, że właśnie chcemy ustawić zmienną globalną. Może być tak, że dla danego repozytorium chcemy ustawić inny email, bo pracujemy przy innym projekcie. Wtedy pominęlibyśmy tę flagę i polecenie wyglądałoby następująco: git config user.email <tu_twój_email>.

Flaga –get pozwala sprawdzić, jaka jest wartość ustawionej zmiennej. Oczywiście o dodatkowych opcjach tego polecenia przeczytasz w dokumentacji.

git init

No i czas na najważniejsze w dzisiejszym kursie. W odpowiednim miejscu na dysku, tam gdzie będziemy mieć nasz kod trzeba zainicjalizować repozytorium. Zrobimy to wywołaniem polecenia git init.

Na powyższym zrzucie przechodzę na dysk F, gdzie chce utworzyć swoje repozytorium. Następnie poleceniem mkdir tworzę katalog o nazwie Git_kurs, gdzie będę trzymał swoje pliki. Poleceniem cd wchodzę do tego katalogu. Żeby sprawdzić, co się w nim aktualnie znajduje wywołuje polecenie listowania z opcjami a oraz l, czyli komenda ls -al. Dalej inicjalizuję repozytorium poleceniem git init. Polecenie to tworzy pliki repozytorium. Mieszczą się one w folderze .git (jeżeli jest on niewidoczny w eksploratorze Windows, to trzeba włączyć widoczność ukrytych plików). W folderze tym przechowywane są informacje związane ze śledzeniem plików. Raczej nigdy nie będziesz tutaj zaglądać, za to musisz zadbać, żeby ten folder tam był 😉 I oczywiście pozostałe opcje tego polecenia znajdziesz w dokumentacji.

git clone

Hmm, a czy da się pobrać istniejące repozytorium? Tak, oczywiście, że tak. Często jedna osoba, np. architekt, inicjalizuje repozytorium, a pozostali członkowie projektu je pobierają. Albo masz fajną bibliotekę, z której chciałbyś skorzystać, a znajduje się ona na serwerze, np. Github. Do tego służy polecenie git clone.

Wcześniej utworzyłem sobie na dysku F katalog Git i przeszedłem do niego. Będąc wewnątrz wywołałem polecenie git clone https://github.com/git/git, które sklonowało z podanego linku repozytorium programu Git 🙂 I znów, jeżeli jesteś głodny wiedzy i chcesz wiedzieć więcej, być mistrzem Gita, to odsyłam do dokumentacji 🙂

Podsumowanie

Dzisiaj zapoznałeś się z podstawowymi poleceniami. W tym kursie nie będziemy odkrywać Ameryki, dlatego pokazuję tylko podstawowe wywołania poleceń, tak, żebyś mógł zacząć robić cokolwiek 🙂 Dalej mega gorąco zachęcam do próby czytania dokumentacji. Według mnie jest ona całkiem przyjemna a dzięki temu potrenujesz naukę z dokumentacji oraz trochę przećwiczysz angielski, bez którego w IT trudno 🙂 Jak zawsze proszę o komentarze i wszelkie sugestie, co do mojej wesołej twórczości. Jeżeli coś jest niejasne, to zapraszam do pytania! 🙂

Git – pierwsze starcie – ogólna powiastka o systemie

Cześć!

Dzisiaj w kilku słowach zrobimy sobie mały wstęp do tego, czym jest git i powszechnie znany Github – zawsze się mówi, że to wizytówka programisty. Bez Gita i Githuba dzisiaj już się chyba nie żyć 😉

Git

Git jest to jeden z wielu systemów kontroli wersji. O tym, czym są systemy kontroli wersji pisałem w poprzednim (wstawić link) poście. Dzięki niemu możemy śledzić jak się zmienia kod w czasie, cofać się do poprzednich wersji. Przechowujemy całą historię zmian kodu wraz z informacją, kto dołożył swoje pięć groszy (jeżeli coś nie działa, wiadomo w którą stronę krzyczeć i rzucać mięsem – oczywiście nie do tego to jest :D). Ponadto dzięki możliwości rozgałęzienia możemy prowadzić równolegle prace nad różnymi funkcjonalnościami i potem złączyć wszystko w całość. A no i praca jest bezpieczna w sensie jeżeli jakaś zmiana spowoduje wywalanie się aplikacji na każdym kroku, to jesteśmy w stanie wrócić do ostatniej działającej wersji bez mała jednym kliknięciem.

Git jest systemem rozproszonym. Każdy z użytkowników pracujący z danym repozytorium zawsze ma całą historię zmian i wszystkie pliki, a nie tylko to nad czym pracuje.

Github

Github to miejsce w Internecie, w którym możemy przechowywać repozytorium Git. Jest powszechnie znany i łatwo dostępny przez stronę WWW. Dzięki temu Github jest miejscem skupiającym pracę deweloperów nad kodem. Ponadto dostarcza wiele przydatnych funkcjonalności: tworzenie dokumentacji do kodu, gdzie mogą być np. zawarte opisy konfiguracji środowiska itp., zgłaszanie i obsługę problemów, które wykryli użytkownicy oprogramowania, tworzenie gałęzi projektów czy zgłaszanie własnych poprawek. Ponadto oferuje szereg statystyk, które mogą być pomocne przy analizie wydajności zespołu, np. wykres rozwiązanych problemów czy wdrożonych funkcjonalności.

Co bedzie potrzebne?

Przede wszystkim Git i warto mieć pod ręką cheatsheet (dla tych co słyszą to pojęcie 1. raz, to taka ściągawka z poleceniami): z Git Tower lub z Github. Wydrukować i powiesić nad biurkiem.

Instalacja

Jeżeli na co dzień używasz Linuxa Ubuntu czy Fedory, czy jakiegokolwiek innego zainstalujesz gita z poziomu terminala poleceniem

sudo apt-get install git

lub

sudo yum install git

w zależności od systemu z jakiego korzystasz. Jest duża szansa, że git domyślnie został zainstalowany przy instalacji systemu operacyjnego.
Na Windows instalujesz plik z tej strony. Tutaj instalacja jest nieco bardziej skomplikowana i wytłumaczymy sobie te opcje.

Po pobraniu instalatora uruchamiamy go. Oczywiście na ostrzeżenie o wprowadzeniu zmian czy pliku o nieznanym pochodzeniu odpowiadamy, że chcemy.

Potem wyświetli nam się licencja, klikamy Next.

 

W następnym oknie wybieramy miejsce instalacji, możemy zostawić domyślne.

Kolejne okno mówi o instalacji dodatkowych komponentów.

Pierwsza opcja tradycyjnie czy chcemy mieć ikonę na pulpicie. Druga z nich odpowiada za integrację Gita z Windowsem, tzn. w jaki sposób chcemy komunikować się z programem. Domyślnie zaznaczone są obie opcje Git BashGit GUI, ale sam nigdy Git GUI nie otworzyłem. W kursie będziemy używać Git Bash. Następnie możemy zainstalować dodatek związany ze wsparciem dużych plików Git LFS, który podmienia duże pliki, np. audio, video na wskaźniki do tych plików na serwerze Gita. Kolejne dwie opcje odpowiadają za powiązanie plików konfiguracyjnych z domyślnym edytorem tekstowym, zaś plików skryptowych z powłoką Bash. Ostatnia opcja pozwala zmienić czcionkę we wszystkich konsolach na TrueType. A co to TrueType? A no odpowiedź znajdziesz np. tutaj.

W następnym oknie możesz wybrać nazwę w Menu Start. Zostawiamy domyślnie i klikamy Next.

Kolejne okno – modyfikacja zmiennej środowiskowej PATH. 

Po wybraniu pierwszej opcji Git będzie dostępny tylko z poziomu Git Bash. Na potrzeby tego kursu i normalnej działalności wystarczające. Po wybraniu drugiej Git będzie dostępny z Git Bash oraz z konsoli domyślnie wbudowanej w Windows. Ta opcja także może zostać wybrana. Po wybraniu trzeciej opcji podmieniane są niektóre narzędzia wbudowane w Windowsa. Raczej nie polecam tej opcji.

Dalej – obsługa protokołu szyfrującego przy przesyłaniu danych przez HTTPS.

Do wyboru są dwie opcje – używanie otwartej biblioteki OpenSSL (znów na potrzeby kursu wystarczy) lub wbudowanej biblioteki Windowsa, która ma kilka dodatkowych opcji, bardziej przydatnych, kiedy komputery są połączone w jakaś zaawansowaną sieć w jakimś korpo. Wybierz 1. opcję.

Następnie konwersja końca linii. Ale jak to? No tak to. W różnych systemach koniec linii jest różnie oznaczany, o czym możesz przeczytać na Wikipedii.

Dla nas będzie najlepsza opcja pierwsza: pobieraj z serwera z końcami linii w stylu Windows, zapisuj zmiany z końcami w stylu systemów rodziny Unix.

Kolejne okno pozwala na wybór emulatora konsoli. Mamy do wyboru domyślny zaimplementowany w Windows oraz MinTTY. Wybierz opcję pierwszą. Według mojej subiektywnej opinii lepiej się z niej korzysta 🙂

I tak zwane ekstra opcje – ostatni krok przed instalacją 🙂 Pierwsza przez przechowywanie w pamięci danych o systemie plików ma zapewnić wzrost wydajności. Chyba zbyt małe projekty robiłem, żeby to zauważyć 🙂 Druga bardzo ważna – Git Credential Manager. Bezpiecznie przechowuje nasze dane logowania. Koniecznie musi być zaznaczona. Ostatnia opcja – linki symboliczne (nie wiem jak się to tłumaczy, ale możesz cosik o tym poczytać tutaj). Nie będzie potrzebna w trakcie trwania kursu.

I instalujemy 🙂

Po instalacji zostaniemy zapytani, czy uruchomić powłokę bashową oraz czy chcemy zobaczyć, co zostało zmienione w najnowszej wersji programu. Obie odznaczamy 🙂

Podsumowanie

W kilku słowach postarałem się powiedzieć co to jest Git i Github. Potem przeszliśmy przez proces instalacji na Windowsie, który ma kilka ciekawych opcji. Oczywiście część z nich jest także dostępnych na Linuxie, tylko trzeba je ręcznie przestawić. Proszę zainstaluj sobie Gita i działamy dalej! 🙂 Jeżeli masz jakieś pytania, uwagi sugestie, to proszę skomentuj ten wpis 🙂

Dodatek – Gitlab

Jeszcze jest trzecie narzędzie, które ma Git w nazwie. Chodzi o Gitlaba. Jest to oprogramowanie, które pozwala oprócz przechowywania repozytorium, prowadzić cały projekt. Umożliwia tworzenie dokumentacji, planowanie zadań i przydzielanie ich użytkownikom, review (przegląd) kodu – bardzo dobra i stosowana praktyka, uruchamianie testów jednostkowych i wypychanie kodu na produkcję (Continuous Integration). Jest darmowy i otwartoźródłowy, zatem każdy może się nim pobawić 🙂

„Pan raczy żartować, panie Feynman”

Cześć!

Wpadłem na pomysł, by komentować krótko książki, które przeczytałem i które pojawiają się w spisie książek umieszczonym tutaj. Od razu zastrzegam, że te wpisy raczej nie będą długie, bardziej zbiór haseł, myśli związanych z daną pozycją. Zaczynamy tę mam nadzieję ciekawą serie wpisów od biografii Richarda Feynmana.

A kto to jest ten Feynman?

Jeżeli nie słyszałeś tego nazwiska, to proszę poczytaj więcej o tej barwnej postaci. W skrócie fizyk teoretyk, noblista, amerykanin. Podstawowe informacje możesz znaleźć oczywiście w Wikipedii – w końcu ten człowiek jest jednym z najbardziej znanych naukowców na świecie, więc dziwnym by było, gdyby nie dało się znaleźć tam żadnych informacji o nim. Oczywiście kiedy już zapoznasz się z samą postacią, koniecznym jest zapoznanie się z rzeczami przez niego stworzonymi. Podstawowa lektura – Feynmana wykłady z fizyki. Już leci do mnie na listę książek do przeczytania. U Mirosława Zelenta i Damiana Stelmacha na kanale Pasja informatyki możecie również znaleźć w jednym z filmów krótkie nawiązanie do pana Feynmana i do książki.

Do sedna proszę

Krótko o książce: Feynman opowiada o swoich przygodach z kolejnych etapów życia – począwszy od pierwszych zabaw z radiem, przez studia, prace przy bombie atomowej etc. (Hmm… właśnie widzę problem pewnego rodzaju. Jak pisać, żeby nie zdradzać najciekawszej treści?!) Ciekawym jest, że za dzieciaka był całkiem niezłym urwisem, który charakteryzował się bardzo światłym umysłem i niebywałą błyskotliwością. Tak zostało mu aż do końca. Wartym dodania jest fakt, iż książka nie jest opowiadaniem, jak to sobie młody (lub mniej młody) Rysiek harcował, a za każdą historią, którą opowiada jest pewna wskazówka, którą chce przekazać.

Najważniejsze smaczki

Przede wszystkim największą dla mnie wartość wyniesioną z Pan raczy żartować, panie Feynman! stanowi teza, że ciekawość jest kluczem i motorem poznania i rozumienia, a rozumienie jest warunkiem koniecznym do dalszego odkrywania. Może jest to oczywiste, ale czasem ta oczywistość jest najtrudniejsza do zastosowania! Główną motywacją napisania przeze mnie dwóch poprzednich zdań jest fragment, gdzie Feynman opowiada o tym, jak miał nie-przyjemność recenzować książki do podstawy programowej i jak według niego powinny wyglądać podręczniki. O, albo o jego wykładach i referacie w Brazylii. Musisz to przeczytać, bo to do dzisiaj jest aktualne! Kolejna rzecz – upór w dążeniu do celu. Jeżeli tylko chcesz, to osiągniesz coś, co wydaje Ci się niemożliwe. Nawet jak nie umiesz narysować prostej kreski, to dzięki praktyce możesz malować całkiem fajne obrazy… 😉 (patrz książka!)

Podsumowanie

Gorąco polecam. Zachwyciło mnie, jak światłym umysłem obdarzony był Pan Feynman. Dzięki tej książce przypomniałem sobie, jak powinienem podchodzić do poznawania, do nauki, do rozwoju (o czym, wstyd się przyznać, przez studencki tryb życia i pracy nieco zapomniałem). Poza tym, jeżeli nawet nie wyniesiesz z niej takiego przesłania, to możesz to potraktować jako dobrą książkę, przy której na pewno nie raz się uśmiechniesz 🙂

Wstęp do obliczeń równoległych

Siemasz!

W związku z tym, że na studiach w najbliższym semestrze mam drobny projekt związany z obliczeniami równoległymi postanowiłem, że napiszę o tym tutaj kilka słów. Zapraszam zatem do czytania! Uwaga! Achtung! To będzie o tej części, gdzie programista musi umieć w matematykę!

Po co to wszystko?

Pomyślmy sobie tak. Wszystko w jakiś sposób da się zamodelować matematycznie. A po co takie modelowanie matematyczne się robi? Bo na podstawie owego modelu można np. wyznaczyć pogodę, optymalny kształt karoserii samochodu, żeby stawiała najmniejszy opór podczas jazdy, w jaki sposób będzie się grzała obudowa urządzenia, jakie naprężenia powstają w zębatce na tylnym kole w motocyklu itd. Praktycznie wszystko, o czym teraz pomyślisz, ma swój model matematyczny i podczas projektowania optymalizuje się owy model w celu uzyskania jak najlepszych wyników, tj. najwyższych prędkości, wytrzymałości itd. Problem w tym, że im dokładniejszy model, tym więcej zmiennych jest do wyliczenia i równań do rozwiązania. Ponadto często w modelu matematycznym występują tzw. równania różniczkowe, które dokładnie jesteśmy w stanie rozwiązać tylko dla podstawowych figur geometrycznych. I tutaj przychodzą nam z pomocą komputery. Po pierwsze człowiek ręcznie nie jest w stanie rozwiązać w skończonym czasie i do tego bezbłędnie układu równań z milionem niewiadomych, a może ich być znacznie więcej. (Przy okazji wejdź na stronę pakietu oprogramowania Ansys, które dzisiaj króluje jako narzędzie do symulacji w sumie… wszystkiego o czym teraz pomyślałeś.

Jak sobie z tym poradzić?

Dobra, już wiemy, że komputer będzie robił to lepiej. Po prostu szybciej. Ale czy taki zwykły pececiak i tradycyjnie pisane oprogramowanie pozwolą na rozwiązanie tak wielkich zbiorów równań? No nie. Potrzeba wielkich maszyn. Takich, które pod maską mają tysiące rdzeni gotowych do przetwarzania terabajtów danych, których sprawność nie wyraża się już częstotliwością taktowania, a w tzw. FLOPSach – jest to ilość operacji zmiennoprzecinkowych, jaką może wykonać procesor w sekundę. Te maszyny zaprzęga się do wykonywania najcięższych obliczeń. Są to superkomputery.

Budowa superkomputera to bardzo ciężki temat. W ogólności jest to zbiór małych komputerów połączonych w jedną dużą sieć umożliwiającą wymianę danych stanowiących podstawę obliczeń. Kiedyś CISCO pracowało nad technologią, która umożliwiała bezpośrednie łączenie samych procesorów, ale niestety nie udało mi się znaleźć więcej informacji na ten temat. Sposób połączenia komputerów jest ważny, ponieważ sieć może być ogranicznikiem wydajności takiego komputera.

Trochę matmy na dokładkę

Czy wszystko da się tak z marszu liczyć równolegle? Nie. Jednym ze sposobów jest dekompozycja, tzn. podział całego elementu na mniejsze części. Po pierwsze umożliwia to zrównoleglenie obliczeń, po drugie umożliwia rozwiązanie równań różniczkowych dla kształtów, dla których są one nierozwiązywalne (poprzez aproksymację obszaru złożonego). Do tego trzeba na dokładkę zastosować naprzemienną metodę Schwarza z łatką od panów Dryji oraz Widlunda. Nie będę się powtarzał, zachęcę tylko odwiedzenia magazynu Delta, gdzie autor dokładnie o tym opowiada.

Ja też chcę, ja też!

Czy można zacząć zabawę z klastrami i obliczeniami równoległymi w domu? Można. Przykłady? Proszę bardzo.

Wystarczy wpisać odpowiednią frazę w Google czy w YouTube i od razu pojawi się cała sterta odpowiednich linków.

No dobrze, a co z oprogramowaniem? W Pythonie zapoznaj się z biblioteką Parallel Python. Jeżeli znasz więcej, czy to w Pythonie czy w innych językach, daj znać w komentarzach!

No a potrzebuję tych Raspberry? Nie! Wystarczy, że masz więcej niż jeden komputer w domu i połączysz je w sieć lokalną. Tyle 🙂

Podsumowanie

Mam nadzieję, że to fajna zajawka. W kolejnych częściach opisze dokładnie, nad czym pracuję. Do zobaczenia! 🙂

Dlaczego Nozbe a nie Todoist?

Cześć!

Prosiliście na Twitterze o wyjaśnienie w kilku słowach, dlaczego wybrałem Nozbe. Zatem śpieszę się z wyjaśnieniem 🙂

Jakie alternatywy?

Miałem do wyboru 2 programy: Nozbe i Todoist. O Todoist usłyszałem w jednym z vlogów Maćka Aniserowicza. Mówię spoko, spróbuję to wdrożyć, bo ilość rzeczy do zrobienia była przeogromna. To było w okolicach marca bodajże czy kwietnia. Nie wiem, nie ważne. No i sobie pobrałem, założyłem konto i w darmowej subskrypcji zacząłem korzystać. No co tu dużo mówić. W darmowej subskrypcji Todoist w skrócie ogranicza się do checklisty. No jest turbo ubogie. I tak jakoś odszedł ode mnie ten temat, dalej miałem wszystko w głowie, a w kryzysowych sytuacjach wypisywałem zadania na kartce. Jednak była ona mało elastyczna.

Minęły wakacje, troszkę w czasie nich się doedukowałem o GTD i postanowiłem wziąć byka za rogi. Do lutego mam bardzo dużo projektów do wykonania, największym z nich jest praca inżynierska. Temat jest bardzo ciekawy, ale swoje trzeba będzie odsiedzieć (swoją drogą na samą myśl już się jaram, że robię coś tak fajnego). Do tego wszystkiego potrzebuje czegoś, co pomoże mi ogarnąć tematy, a jest tego całkiem sporo.

No to które wybrać?

Przede wszystkim chciałem mieć jedno narzędzie. Rozważałem przez chwilę kwestie posiadania dwóch narzędzi, ale mówię nie. Coś czuję, że zrobiłbym sobie tylko większy bajzel. Ten projekt jest tu, ten jest tu. Przeglądasz jedno narzędzie, zapomnisz o drugim. Na początek jedno. Z czasem zobaczymy, przecież system produktywności buduje się latami 🙂 No to które z nich? I tutaj pojawił się kolejny mój problem – z szybkim podejmowaniem decyzji… No to zacząłem szukać i czytać/oglądać.

O Todoist Maciek Aniserowicz mówił przy okazji planowania tygodnia:

O Todoist pisał u siebie także Michał Chęciński. Post ten znajdziesz tutaj.

O Todoist pisała u siebie także Żaneta Jażdżyk. Post znajdziesz tu.

No i oczywiście blog Todoist.

O Nozbe pierwszy raz usłyszałem u Mirka Burnejki.

lub

Ponadto powstał Devtalk z Michałem Śliwinskim, który jest założycielem firmy Nozbe. Michał Szafrański z podcastu Więcej niż oszczędzanie pieniędzy, także dołożył swoją cegiełkę w tym temacie.

O Nozbe także pisała Żaneta m. in. tutaj lub tutaj.

No i oczywiście blog Nozbe.

Osz kurde i co wybrać…

No dokładnie. Głowiłem się nad tym ładnych kilka dni. Szukałem porównań. Zadałem pytanie na Twitterze, która z aplikacji jest lepsza i wywiązała się całkiem ciekawa dyskusja. Dziękuję wszystkim, którzy dołożyli do tego swoje 5 groszy. Znów Żaneta Jażdżyk pokusiła się o porównanie obu aplikacji.

No i wybrałem Nozbe

No i smaczek tego wpisu. Dlaczego Nozbe?

  1. Wokół Nozbe tworzy się bardzo fajna społeczność.
  2. Nozbe jeszcze nie spróbowałem.
  3. Produkt polski. Uważam, że warto promować i używać produkty tworzone przez Polaków tym bardziej, że widać, iż jest on tworzony przez pasjonatów.
  4. Nozbe stara się, aby użytkownik czuł się hmmm…. „dopieszczony”? Klient (np. taki ja, Waszek) czuje się indywidualnie traktowany, co jest widoczne po korespondencji emailowej, kursie 10 kroków do maksymalnej produktywności, czy aktywnego uczestnictwa w podjętej przeze mnie dyskusji na Twitterze. To ostatnie to mi szczena opadła, jak zobaczyłem komentarze.
  5. Ciekawy interfejs.
  6. Jedna warstwa projektów. Nie ma możliwości tworzenia podprojektów, co jest w sumie fajne. Według mnie projekt to projekt i nie ma sensu tworzyć drzewek jak w jakimś dziedziczeniu. Projekty można sobie zamiast tego oznaczać etykietami, które mogą zastąpić tworzenie ich jako podprojektów, a ponadto projekt może mieć więcej niż jedną etykietę. Poszczególne zadania możemy kategoryzować, np. jako telefon itd.
  7. Nawet jeśli nie zdecyduję się przedłużyć subskrypcji po darmowym miesiącu to i tak będę miał możliwość prowadzenia 5 projektów z pełną funkcjonalnością aplikacji, a nie dostanę takiego czegoś jak Todoist.
  8. Przypomniałem sobie jeden z vlogów Maćka Aniserowicza. W skrócie: nie rozwódź się nad decyzją. Można ją zmienić w każdej chwili. I tak mówię, trzeba spróbować tego narzędzia. Jeżeli mi się nie spodoba, to nawet po opłaceniu subskrypcji jeszcze przez miesiąc mogę poprosić o zwrot pieniędzy, więc w sumie mam 2 miesiące na dobre zapoznanie się z aplikacją.

Na razie (chociaż dopiero 2. dzień z Nozbe) minusem jest cena, po prostu jest droższy niż Todoist. Ale za jakość należy zapłacić 😉

A no jeszcze jedna rzecz – brak integracji z OneNote, ale tym się nie martwię, bo w czasie pisania tego wpisu Nozbe dodało komentarz na Twitterze, że planują to dodać 🙂

Podsumowanie

Mam nadzieję, że jeżeli będziesz się zastanawiał, to ten wpis pomoże Ci wybrać 🙂 Albo jedno albo drugie 🙂 Proszę Cię, nie odbierz tego wpisu jako jakąś reklamę. W kilku słowach postarałem się opisać, dlaczego Nozbe. Tak jak prosiliście na Twitterze 🙂 Jeżeli chcesz dorzuć coś do tego tematu to zapraszam do komentowania! Do zobaczenia!

Git! Po co, na co i dlaczego? Cz. 1

Cześć!

Powiedz mi ile razy robiłeś tak, że aby uniknąć straty wykonanej pracy robiłeś/robiłaś kopie plików gdzieś na pendrive lub co gorsza w folderze obok. Albo w ogóle nie zapisywałeś/aś postępów i przy wyłączeniu prądu, zawieszeniu komputera wszystko zdechło… Hmm a może pisałaś dokument czy program i fajnie byłoby wrócić do poprzedniej wersji? A może potrzebujesz coś tworzyć w grupie i korzystasz z dysków online, no ale jak to potem połączyć do kupy? Na to wszystko lekiem są systemy kontroli wersji.

Systemy kontroli wersji

Systemem kontroli wersji nazywamy oprogramowanie służące do śledzenia zmian w tworzonych plikach. Głównie mówi się o śledzeniu zmian w kodzie źródłowym programu tworzonego przez zespół deweloperów, ponieważ systemy te powstały właśnie głównie z ich potrzeb. Jednym z takich systemów, praktycznie wszędzie stosowanym, jest Git. Warto w tym miejscu dodać, że można korzystać z systemów kontroli wersji nie tylko do wersjonowania plików z kodem źródłowym, ale tak naprawdę każdych. Różnica jest tylko taka, że mogą nastąpić potem kłopoty przy mergowaniu, ale to wszystko sobie wyjaśnimy w kolejnych etapach kursu. Pewnie nawet nie wiesz, czym jest mergowanie, ale spokojnie, tego także się dowiesz.

Git

Wcześniej wspomniałem, że jednym z systemów kontroli wersji jest Git. Obsługa właśnie tego narzędzia będzie głównym tematem tego cyklu wpisów. Czym jest właściwie ten Git? Na stronie tego oprogramowania twórcy piszą o nim tak:

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.

Dlaczego taki kurs?

Rozkład jazdy kursu

Nie będzie to nic odkrywczego. Weźmiemy sobie dokumentację i będziemy przerabiać po kolei działy. Na pewno nie uda się przetestować każdej opcji, ale postaramy się zrobić jak najwięcej! Też nie chodzi o to, by pokazać działanie każdej flagi z osobna, tylko by pokazać główne działanie danej komendy. Zastrzegam, że lista może ulegać modyfikacjom!

Lista wpisów:

  1. Git – pierwsze starcie – ogólna powiastka o systemie
  2. Git – start – inicjalizacja repozytorium, konfiguracja
  3. Git – zarządzanie plikami
  4. Git – praca nad różnymi funkcjonalnościami w jednym projekcie
  5. Git – udostępnianie na serwerze
  6. Git – łatamy dziury
  7. Git – email
  8. Git – zarządzanie repozytorium

Materiały dodatkowe

Jeżeli chcesz sam zacząć wcześniej, to tutaj polecam:

Podsumowanie

Mam nadzieję, że zachęci Cię to do śledzenia tego kursu i próbowania sił w używaniu repozytorium. Tym czasem do zobaczenia!

Operacja Frontend + CMS cz. 2

Cześć !

W kolejnej części zmagań z przygotowaniem identyfikacji wizualnej, a przy tym nowego super szablonu dla mojej strony, porozmawiamy o nowinkach (może nie już takich ciepłych, ale za to bardzo ważnych!), które chciałbym wykorzystać przy implementacji szablonu. Dla części z Was na pewno będzie to oczywiste, a dla pozostałych może stanowić pewnego rodzaju przypomnienie.

Semantyka w HTML

Słowo semantyczny idąc za słownikiem języka polskiego oznacza:

Dotyczący znaczenia wyrazów; znaczeniowy

I dokładnie do tego odnosi się hasło semantyczny w języku HTML5. Pewnie każdy z Was pisał jakąś stronkę w HTML i tworzył takie potworki.

<body>
    <div class="grid-container">
        <div class="row">
            <div class="col-12"></div>
            <div class="row">
                <div class="col-12"></div>
            </div>
        </div>
        <div class="row">
            <div class="col-8">
                <div id="article-header"></div>
                <div id="article-content"></div>
                <div id="article-footer"></div>
            </div>
            <div class="col-4"></div>
        </div>
        <div class="row">
            <div class="col-12"></div>
        </div>
    </div>
</body>

Jak dobrze, że w Visual Studio Code jest Emmet… Samo myślenie o tym jest ciężkie, a co dopiero tego pisanie. Szablon oparty na wygenerowanej przez nas samych siatce lub dostarczonej z zewnątrz, np. przez Bootstrapa. O zgrozo, komu się chce to pisać! Plus dodatkowe klasy w zależności od rozdzielczości, w jakiej wyświetlana jest strona. Poza tym mówiliśmy wcześniej, że HTML służy do opisu struktury dokumentu, a tutaj na pewno tak nie jest. Dzisiaj dzięki semantyce w języku możemy to samo napisać w ten sposób (przede wszystkim prawidłowo!).

<body>
    <header>
        <nav></nav>
    </header>
    <main>
        <section>
            <header></header>
            <article></article>
            <footer></footer>
        </section>
        <aside></aside>
    </main>
    <footer></footer>
</body>

Język HTML dostarczył nowych znaczników, które jednoznacznie informują programistę (zaraz polecą baty, że w HTMLu się nie programuje i ja się w tym 100% zgadzam), kogoś kto zagląda w źródło strony, co w danej sekcji dokumentu się znajduje. Funkcjonalnością odpowiadają zwykłemu znacznikowi div. Co to daje w takim razie? Nie mogło zostać tak jak było? No nie. Dzięki temu dokument staje się czytelniejszy i jak definicja mówi, język służy do opisania struktury dokumentu. Jednoznacznie widać, gdzie jest zdefiniowany nagłówek strony, główna treść, stopka itd. Ponadto prawidłowe zaimplementowanie strony znacznikami semantycznym pozwala SEO lepiej pozycjonować nasza stronę oraz czytnikom dla osób niedowidzących prezentować treść w pożądany sposób. Tutaj dodatkowe fajne źródło!

Responsive design

Kolejny ze standardów dzisiejszego internetowego świata. Znaczy to tyle, ze odwiedzane przez nas strony maja się dostosowywać do urządzeń, na których są wyświetlane. Pamiętacie pewnie, dawniej strony tworzyło się w 5 wersjach i w zależności od tego, jakie urządzenie odpytywało serwer, to ten odpowiedni kontent mu serwował. Dzisiaj na szczęście odeszliśmy od tej nadmiarowej roboty i tworzymy jedna stronę, która w zależności od rozdzielczości wyświetlacza, dostosowuje wyświetlane treści, zmienia ich układ na stronie. Właściwie robi to przeglądarka. Dlatego też powstają pewne narzędzia wspomagające implementację responsywności. Powiesz teraz: Gościu, no właśnie to co powiedziałeś, że jest beeeee, to była droga do responsywności. I co teraz??? No to ja Ci powiem, zapoznaj się CSS Grid.

CSS Grid

Wyżej masz przykład, jakie cuda tworzyliśmy, kiedy chcieliśmy stworzyć stronę responsywną. Już nie będę tego komentował, ile nadmiarowego kodu… i weź to potem człowieku utrzymaj. No ni… Połowa znaczników to hacki na responsywność. Straszne rzeczy. I dlatego mądrzy ludzie wymyślili grid w CSSie. Z czym to się je? W telegraficznym skrócie – w arkuszu styli definiujemy sobie klasę, która przechowuje siatkę. Mówimy na ile wierszy i kolumn dzieli się owa siatka. Potem mówimy, które elementy znajdują się w kolejnych polach siatki. O, i działa. Koniec. No dobra mistrzu, a jak zamienić miejscami elementy ze sobą? Hmm no normalnie by się nie dało bez użycia JS. A tutaj… 🙂 Wystarczy zdefiniować odpowiednią regułę @media  opisującą siatkę dla danej rozdzielczości i przeglądarka sama poprzestawia elementy. Chcecie przykład? No to klikamy play 😉 Z tego też przykładu nauczyłem się używania gridów. Fajny filmik znalazłem w jutubach:

No i jeszcze polecam prezentację Mortena Rand-Hendriksena z konferencji Wordcamp Europe 2017, jakoś przypadkowo się na nią natknąłem i od razu chciałem to zaimplementować w swoim szablonie 🙂

Stylizacja

No dobrze, troszkę mechaniki omówiliśmy, czas na karoserię. Mamy w architekturze pewne style architektoniczne, czy to historyczne, np. Gotyk, barok, czy dzisiejsze (tu nie będzie przykładu, bo się na tym nie znam). Przy projektowaniu UI aplikacji też są dostępne pewne style designu. Jednym z nich jest tak zwany Material Design od Google. Na pewno go kojarzycie, chociażby z klienta Gmail w Androidzie. Sami twórcy mówią o nich tak:

We created Material Design as a metaphor to rationalize design and implementation, establishing a shared language to help teams unite style, branding, interaction, and motion under a cohesive set of principles.

We believe a better design process yields better products, which is why we’re expanding Material to be a system that supports the principles of good design and strengthens communication and productivity with new tools and inspiration. We hope these resources will help teams realize their greatest design potential, and we’re eager to see the results.

A więcej możecie przeczytać na stronie Material.io.

Mówiłem, że nie będę korzystał z bibliotek zewnętrznych, ale nie mówiłem, że nie będę się na nich wzorował (w celach edukacyjnych oczywiście). Sam Google dostarcza bibliotekę, która pozwala na łatwe użycie elementów stylizowanych na Material Design. Więcej informacji na stronie frameworku Material Design Lite.
Niestety nie nam jakiegoś mega zmysłu grafika i ciężko mi spłodzić coś, co wygląda ładnie. Dlatego wzorowanie się na powyższej bibliotece ułatwi mi uzyskanie oczekiwanych funkcjonalności oraz przy okazji dobry wygląd (chociaż nie to jest ładne, co jest ładne, tylko to, co się komu podoba).

Ale jak w ogóle pisać dobrze te CSSy? Na blogu Żanety Jażdżyk Nettecode.com we wpisie Kierunek: Web Developer cz. I jest link do bloga NaFrontedzie.pl, gdzie autor opisuje różne metodyki tworzenia CSSów. W tym projekcie najprawdopodobniej zastosuję OOCSS (postaram się, ponieważ będzie to mój pierwszy raz).

Połączenie z WordPressem

No dobrze, to załóżmy, że mamy gotową w głowie kompozycję naszej strony, tylko… jak to spiąć z WordPressem? A no należy skorzystać z API! Dla niewtajemniczonych API, to skrót od Application Programming Interface. Z polskiego na nasze jest to zbiór funkcji czy metod, które pozwalają nam uruchomić żądane funkcjonalności w danej aplikacji. WordPress również dostarcza API, które należy wykorzystać przy rozwoju szablonu. Wbrew pozorom dobry programista charakteryzuje się trudną umiejętnością korzystania z dokumentacji i wcale nie mówię tego prześmiewczo. Korzystanie z dokumentacji nie jest sztuką łatwą i potrzeba sporo praktyki, żeby sprawnie się w niej poruszać. Przy praktyce programistycznej ilość materiałów jest duża. Jednak z praktyki inżynierskiej mam doświadczenia, że często naszą jedyną deską ratunku jest dokumentacja i na jej podstawie trzeba stworzyć coś. Nie ma podpowiedzi na StackOverflow czy innych serwisach, szczególnie, kiedy wchodzimy w bardzo specjalistyczną działkę. Dlatego tutaj będzie dobra okazja do przetrenowania tego skilla 🙂 A jeden z tutoriali jutubowych do tworzenia tematów w WordPressie możecie znaleźć tutaj 🙂

Kompatybilność z przeglądarkami

Wszystko ładnie pięknie, ale czy aby na pewno wszystkie dostępne dziś przeglądarki to obsługują, o czym piszesz na początku? Jak to sprawdzić? No jest taka stronka CanIUse.com, gdzie możemy sobie wyszukać interesujące nas ficzery i zobaczyć, które wersje przeglądarki to obsługują.

A co będzie z tymi użytkownikami, którzy korzystają z IE8 przykładowo albo wyświetlają Twoją stronę na cegle? No nic. Doszedłem do wniosku, że nie będę pakował jakiś sztucznych fixów na archaiczne przeglądarki, skoro i tak wiem, że na 99,99999% żaden z odwiedzających tego bloga nie korzysta z takich archaizmów. Będę się więc starał używać nowych technologii w najczystszej postaci. Jeżeli komuś coś nie będzie działało, to zawsze można to zgłosić przez zakładkę kontakt 🙂 Zdecydowana większość cywilizowanych przeglądarek obsługuje wszystkie nowe znaczniki z HTML5 i style CSS3.

Kurcze, kurcze, ja też chcę!

Zapytasz jak zacząć. Nie będę tworzył n-tego posta w Internecie, jak zacząć zabawę z frontem. Świetną robotę zrobiła już Pani Żaneta na swoim blogu 🙂 Tam znajdziesz milion ciekawych linków, z których i ja korzystam. A jak nie, to wujek Google i trzeba poszukać 🙂 Myślę, że szukanie nie zajmie więcej niż 30 sekund 🙂

Podsumowanie

Dobra Misie kolorowe, myślę, że poruszyłem mega ważne zagadnienia, które często gdzieś umykają. Mam nadzieję, że zainteresował Cię temat i będziesz chciał pogłębić swoją wiedzę. Jeżeli chcesz się do mnie przyłączyć to śmiało daj znać! A tym czasem trzymaj się i do zobaczenia gdzieś, kiedyś, na ulicy! 🙂

1 2 3 4