Showing posts with label konferencje. Show all posts
Showing posts with label konferencje. Show all posts

11/03/2019

Girls Do IT 2019 - DDD and Event Storming

Home



English

At the end of March I will give a  presentation about DDD (Domain Driven Design) and Event Storming during Girls Do IT conference. Here is a short description:

DDD is a phenomenal approach to software development, which focuses on modeling and developing of a common language (a.k.a. ubiquitous language) used both by business and engineers.

Whereas Event Storming is a technique of modelling and gaining knowledge even of complex business domains, which is more and more popular especially among DDD practitioners. In 2018 it was even placed on the famous ThoughtWorks Technology Radar as the recommended modeling technique.

The aim of the presentation is to share experience and discuss the basics of Event Storming and DDD.

Polski

Pod koniec marca w czasie konferencji Girls Do IT przedstawię prezentację na temat DDD (Domain Driven Design) oraz Event Storming'u. Oto krótki opis:

DDD to fenomenalne podejścia do wytwarzania oprogramowania, które kładzie nacisk na modelowanie i wypracowanie wspólnego języka pomiędzy biznesem, a inżynierami.

Event Storming to natomiast technika modelowania i zdobywanie wiedzy nawet na temat bardzo złożonych domen biznesowych, która przebojem weszła na rynek IT, a szczególnie upodobali ją sobie właśnie praktycy DDD. Może wystarczyłoby powiedzieć, że w 2018 roku została umieszczona na słynnym Technology Radar firmy ThoughtWorks jako zalecana technika modelowania.

Celem prezentacji jest omówienie podstawowych zagadnień związanych z Event Storming'iem oraz DDD, a także podzielenie się ze słuchaczami praktycznymi doświadczeniami w tym obszarze.

14/01/2019

4Developers 2019: Rusza kolejna edycja największego Festiwalu Technologicznego w Polsce

Home

*To jest tekst sponsorowany.

2000 uczestników i niemal 100 cenionych ekspertów z branży IT w jednym miejscu. Przed nami ogromne, interdyscyplinarne spotkanie polskiej społeczności programistycznej. W ciągu jednego dnia specjaliści i pasjonaci IT będą mogli uczestniczyć w niemal 100 praktycznych prelekcjach. Już 8 kwietnia 2019 w Warszawie odbędzie się kolejna edycja 4Developers 2019!

Interdyscyplinarność to domena Festiwalu

4Developers wyróżnia niezmienna od lat formuła - kilkanaście ścieżek zbudowanych wokół wybranych języków programowania. Różne technologie i najświeższe tematy z branży IT w jednym miejscu. Każdej ze ścieżek tematycznych towarzyszy grono ekspertów, którzy dbają o wysoki poziom merytoryczny przedstawianych w agendzie tematów. Na Festiwalu gromadzą się liczni przedstawiciele społeczności programistycznych z całej Polski – to niepowtarzalna okazja, by zawrzeć nowe znajomości i być na bieżąco z trendami ze środowiska IT.

Festiwalowy charakter 4Developers wynika przede wszystkim z otwartej atmosfery, która panuje podczas wydarzenia. Na tej konferencji eksperci chętnie dyskutują z uczestnikami, a prelegenci starają się odpowiadać na najbardziej skomplikowane pytania. Mnóstwo przestrzeni do chilloutu, niezapomniane i bogate w networking Before Party oraz festiwalowe atrakcje sprawiają, że nawiązywanie nowych znajomości staje się niesłychanie proste!

Cloud Computing i Data Science – nowości w agendzie

Nad wysokim poziomem wykładów, które pojawią się na 4Developers 2019, czuwa Rada Programowa, złożona z czołowych polskich ekspertów z branży IT. Każdy ekspert czuwa nad konkretną ścieżką tematyczną. Podczas tegorocznej edycji uczestnicy będą mogli udać się na wykłady i warsztaty w ramach 13 różnych ścieżek!

.NET, Architektury aplikacji, Bottega IT Minds,
Bottega Frontend, C++, Cloud Computing, Data science,
Java, JavaScript, PHP, Python, Mobile, Soft Skills & business relations

W Radzie Programowej 2019 pojawią się:

Maciej Aniserowicz, Bartek Glac,
Michał Bartyzel, Jakub Wasielak, Tomasz Ducin,
Joanna Lamch, Łukasz Łuczak, Mateusz Pusz, Mariusz Gil,
Jakub Pilimon, Janusz Kamieński, Sławomir Sobótka, Marcin Szeliga

Jakie nowości w tegorocznej agendzie?

Po raz pierwszy na Festiwalu 4Developers pojawią się ścieżki: Cloud Computing i Data Science . Natomiast swój wielki powrót będzie mieć ścieżka Mobile, którą przygotuje Joanna Lamch. To wyjątkowa edycja, ponieważ każda z przygotowanych dla Was ścieżek dotyczy odmiennej tematyki!

Od juniora do seniora: praktyczna wiedza i wymiana doświadczeń

Interdyscyplinarność 4Developers to nie tylko szerokie spektrum tematów do wyboru, ale również rozległa skala poziomu zaawansowania. Festiwal odwiedzają profesjonaliści, którzy chętnie wymieniają się doświadczeniami z uczestnikami stawiającymi pierwsze kroki w branży IT. Zarówno jedni, jak i drudzy, znajdą tu tematy dostosowane do ich potrzeb.

Trwa nabór prelegentów - Call for Papers już otwarte!

Niewiele wydarzeń daje możliwość wystąpienia przed tak różnorodną, otwartą publicznością. 4Developers jest doskonałym miejscem, by sprawdzić się na dużej scenie. Każdy, kto chce spróbować swoich sił i zaproponować temat, może wysłać swoje zgłoszenie przez formularz Call For Papers, dostępny na stronie Festiwalu: www.4developers.org.pl Organizatorzy czekają na zgłoszenia propozycji prezentacji do końca stycznia.

11/07/2014

Konferencja wewnątrz-firmowa - edycja 2

Home

Rok temu tutaj oraz tutaj opisałem zorganizowaną przez siebie konferencję wewnątrz-firmową. W tym roku odbyła się jej druga edycja. O szczegółach organizacyjnych nie będę pisał, aby się nie powtarzać. Z drobnymi szczegółami wyglądało to podobnie. Tematy prezentacji były przynajmniej tak ciekawe, jak przed rokiem i można było posłuchać następujących wystąpień:

Janusz Prusaczyk - Introduction to PowerShell scripting

Paweł Kupis - C# 5.0 Async Feature (async/await) and Synchronization Context – the old new friends

Marcin Wierzbicki - Praktyczny pomiar i atrybucja efektywności portfela inwestycji finansowych

Kamil Langowski - Wolfram Alpha: Computational Knowledge Engine

Adam Juszkiewicz - Mobile game development in Unity

Albert Skłodowski - Design Patterns in Functional Programming

Daniel Celeda - Kręgosłup programisty

Jaroslaw Trafidlo - Czy możemy czuć się bezpiecznie podłączając komputer do sieci?

Damian Orzechowski - Silniki gier komputerowych

Paweł Kaczan - Claims based itentity

Mikołaj Barwicki - Science of Motivation

Michał Komorowski - Debuggery historyczne, co to takiego?

Konferencja ponownie udała się i nie jest to tylko moja opinia. Znowu można było posłuchać o najróżniejszych rzeczach, typowo technicznych, wymagających więcej i mniej uwagi, luźnych... i właśnie to mi się w tym wszystkim najbardziej podoba. Być może się powtórzę, ale pozwala to dowiedzieć się o rzeczach, którymi na co dzień zupełnie się nie interesujemy i nawet do głowy nam nie przyjdzie, że jednak warto. Zdecydowanie polecam.

Mam też trochę wniosków na przyszłość. Było bardzo fajnie, ale zawsze może być lepiej. Jednym z pomysłów na poprawę jest wprowadzenie szablonu prezentacji z przykładami oraz ostrego limitu na poziom slajdów. Szablon powinien zapewnić, że wszystkie prezentacje będą równie czytelne oraz, że nikogo nie porwie zbytnia fantazja przy tworzeniu slajdów ;) Limit na liczbę slajdów powinien natomiast ułatwić zmieszczenie się w czasie. Po głowie chodzi mi również zaproszenie na konferencję ludzi z poza firmy. Może to być trudne do zrealizowania, ale może się uda. Co o tym myślicie, bylibyście chętni do wzięcia udziału w takim wydarzeniu?

Z nowości względem poprzedniej edycji, w tym roku wystąpienia były nagrywane. A wszystko dzięki uprzejmości Jarka Trafidło, który udostępnił kamerkę z serii GoPro, był operatorem, a także poddał zgromadzony materiał obróbce. Jeśli ktoś nie był na jakiejś prezentacji, to będzie mógł ją teraz obejrzeć na spokojnie w domu.

Z mojej perspektywy ogromnym dodatkowym plusem tych nagrań jest to, że w końcu mogłem sporzeć na siebie od tej drugiej strony. Przyznam, że to trochę dziwne uczucie, bo głos brzmi jakoś tak inaczej i w ogóle percepcja siebie się zmienia. Na przykład, wiedziałem, że dużo gestykuluję, ale nagranie pokazało, że chyba zbyt dużo. Po drugie, występując wydawało mi się, że ogólnie stoję w miejscu i tylko od czasu do czasu zrobię krok w jedną albo w drugą stronę. Nagranie znowu uświadomiło mi, że poruszam się więcej niż mi się wydaje, a to kroczek w tą, a to kroczek w drugą. Nie mówię, że trzeba stać w miejscu, ale zbytnia ruchliowść również przeszkadza. Bardzo cenne wskazówki na przyszłość.

08/06/2014

CareerCon 2014 - Kraków

Home

Jakiś czas temu otrzymałem propozycję wystąpienia na konferencji CareerCon w Trójmieście. W tamtym momencie nie miałem na to czasu, ale trochę później miała odbyć się konferencja w Krakowie. Zaproponowałem więc wzięcie w niej udziału i wygłoszenie prezentacji na temat automatycznych testów integracyjnych. Od około roku nie miałem okazji niczego prezentować. Dlatego początkowo miałem wątpliwości i obawy, ale cieszę się, że przemogłem lenistwo i asekuranctwo. Korzystając z tej okazji zaplanowaliśmy z żoną krótki weekend w Krakowie, a więc udało się połączyć przyjemne z pożytecznym, a właściwie przyjemne z przyjemnym.

Nie lubię i raczej nie umiem improwizować. Dlatego do przygotowania prezentacji podszedłem skrupulatnie. Temat już miałem. Następnie zastanowiłem się i ułożyłem sobie w głowie, o czym chcę powiedzieć. Na prezentację dostałem około 30 minut, a więc tyle czasu, aby coś już powiedzieć, ale za mało, aby wchodzić w szczegóły. Z góry odrzuciłem więc programowanie na żywo itp. W kolejnym kroku zabrałem się za przygotowanie pierwszej wersji prezentacji. Poszło gładko. W tej kwestii od dawna trzymam się zasady minimalizmu, czyli moje prezentacje mają białe tło, czarną i szarą czcionkę oraz niebieskie wypunktowania. Dodatkowo staram się minimalizować liczbę słów na slajdach - to akurat najtrudniejszy element. Przyjmuję też 2-3 minuty na jeden slajd, a ostatecznie wyszło mi 14 slajdów włączając slajd tytułowy i pożegnalny.

Prezentacja prezentacją, ale trzeba ją jeszcze wygłosić. Zabrałem się więc za ćwiczenia. Pierwsza próba, pomimo tego, że przecież wiedziałem, co chcę powiedzieć wyszła słabo. Zatrzymywałem się, aby się zastanowić, plątałem się w zeznaniach itp. Kolejnym razem było już lepiej, wprowadziłem również poprawki do prezentacji. Za trzecim razem widownią była żona. Dostałem kilka merytorycznie celnych uwag oraz uwagę abym uważał na tempo i się nie śpieszył. Prezentację przećwiczyłem sobie jeszcze przed wyjazdem. Dzięki tym kilku próbom zawartość slajdów znałem na pamięć. Sądzę, że w razie czego obyłbym się bez nich. W ramach przygotowań poprosiłem również organizatorów o informacje na temat wyglądu sali, czy jest tam podwyższenie, jak wygląda sprawa nagłośnienia, co ze sprzętem itd. No cóż, lubię być przygotowany na wszystko.

Tyle na temat przygotowań. Jak wyszło w praktyce? Zacznę od samej konferencji bo będzie krótko. Powiem tylko tyle, że z mojej perspektywy było po prostu ok. Nie byłem tam jednak długo. Przyszedłem tylko na swoją prezentację, w końcu to był również urlop. Jeśli chodzi o mój występ, to osobiście jestem zadowolony. Na sali było mniej więcej 30 osób, sama prezentacja zajęła mi ok. 25 minut, a więc tyle ile powinna. Kiedy zacząłem mówić, czułem duże zdenerwowanie, ale po 2 slajdach, kiedy dotarło do mnie, że idzie dobrze, udało mi się rozluźnić. Niestety nie udało się mi się nakłonić do zadawania pytań, padło tylko jedno. Na koniec prezentacji poprosiłem również o feedback i udało mi się zdobyć jedną, ale cenną opinię. Jeśli ktoś z Was ma jeszcze jakieś uwagi to bardzo chętnie je poznam.

Co do feedback'u, to z jednej strony jego autor powiedział, że było ok, prezentacja miała dobry plan, a ja mówiłem jasno. Z drugiej stwierdził, że było "zbyt idealnie" i lepiej by było gdybym bardziej pokazywał emocje. Z tą opinią się zgadzam i wiem, że wynika to z tego, że poświęcam dużo czasu na przygotowania. W efekcie wynik końcowy może być trochę wyprany z uczuć, mało charakterystyczny, ale ja czuję się pewny siebie. Sądzę, że będę musiał nad tym popracować, chociaż będzie to walka z samym z sobą. Druga uwaga krytyczna dotyczyła tego, że za mało zaakcentowałem dlaczego mówię to co mówię, czemu uważam to za fajne. Kolejna lekcja do zapamiętania. Sądzę, że wynika to z tego, że zafiksowałem się na pewnym spojrzeniu na temat i zapomniałem, że będą mnie słuchać ludzie o różnych doświadczeniach.

Na koniec zamieszczam też link do mojej prezentacji.


23/09/2013

Moje spojrzenie na DevDay 2013

Home

Przez długi czas stałym punktem w moim kalendarzu była konferencja MTS, ale w pewnym momencie zaczęła mnie nóżyć. Zrobiłem sobie przerwę i rok temu spróbowałem jeszcze raz, ale podobało mi się jeszcze mniej niż wcześniej. Wtedy usłyszałem o organizowanej w Krakowie konferencji DevDay. W sieci zebrała ona doskonałe opinie, więc w tym roku postanowiłem ją odwiedzić i o tym będzie ten post.

Kilka słów wstępu

DevDay organizowane są przez firmę ABB, ale poza logiem na identyfikatorach oraz niewielkich plakatów rozstawionych tu i tam firma w ogóle nie narzuca się uczestnikom. Generalnie charakter konferencji jest mało komercyjny i to wielki plus. Mnie co prawda odrobinę drażniło, że co chwilę ktoś robił zdjęcia np.: podczas rozmowy z prelegentami ale coś za coś, ABB też coś chciało mieć za wyłożenie pieniędzy :)

Organizacyjnie nie mam żadnych zarzutów, poza kolejką do obiadu, ale to drobnostka. Zresztą nie byłem jeszcze na konferencji, na której udało się to naprawdę dobrze zorganizować. Ekipa organizacyjna spisała się w 100%.

Z organizacyjnych rzeczy bardzo spodobało mi się kontrolowanie czasu, czyli pokazywanie prelegentom kartki z informacją ile jeszcze mogą mówić. Fajny był też system oceny sesji. Przy wychodzeniu z sali do dyspozycji miało się karteczkę czerwoną - nie podobało mi się, żółtą - było średnio i zieloną - podobało mi się. System może mało precyzyjny ale prosty, szybki i nie wymagający wypełniania żadnych ankiet.

Mój przewodnik po sesjach

Sesja początkowo

Pierwsza sesja miała być podobno krótka, ciekawa i motywująca. Prelegent porównał programowanie do biegania. Moim zdaniem wyszło niestety średnio (szczególnie na tle innych prezentacji) było krótko, ale niezbyt ciekawie i niezbyt motywująco.

Ocena: Na pograniczu żółtej i czerwonej karteczki.

"Back to basics: the mess we've made of our fundamental data types"
Jon Skeet

Przed prezentacją nie wiedziałem czego się po niej spodziewać. O prelegencie wiedziałem, że to łebski koleś, legenda StackOverflow, ale nie kojarzyłem go jako prelegenta. Temat też trochę budził moje podejrzenia, bo co można powiedzieć o podstawowych typach danych.

Jak się okazuje można i to jeszcze w jaki sposób. Prezentacja była poprowadzona we wspaniały sposób, z humorem, do tego była ciekawa i można było z niej dużo wynieść. Spróbujcie na przykład odwrócić ciąg znaków zapisany w zmiennej s na poniższym przykładzie:

var s = "Les Misérables".Normalize(NormalizationForm.FormD);

Ocena: Bardzo zielona karteczka.

"Scaling agile"
Dariusz Dziuk

Jedyny Polak w gronie prelegentów. Mówił o organizacji pracy w szwedzkiej firmie Spofity, która udostępnia utwory muzyczne prawie za darmo. W tej chwili zatrudnia kilkuset pracowników technicznych. Podzieleni są na kilkuosobowe zespoły, które są trochę takimi małymi firma tj.: same wybierają sobie narzędzia, sposób pracy, są wielo-platformowe, czyli jeśli pracują nad jakąś nową funkcjonalnością to mają ją dostarczyć na wszystkie platformy np.: Android'a i iOS. A drugim nadrzędnym celem Spotify oprócz zarabiania pieniędzy jest uszczęśliwiania pracowników :)

Prezentacja została poprowadzona bardzo sprawnie, ale bez porywów, momentami mi się dłużyła. Nietypowe (dla mnie na plus) było wprowadzenie podczas, którego Dariusz opowiedział kilka słów o historii Jazz'u.

Ocena: Żółta karteczka.

"SPA Made Breezy"
Tiberiu Covaci

Najbardziej techniczna sesja na jakiej byłem dotyczą tworzenia aplikacja SPA (ang. Single Page Application) przy pomocy Breeze.js oraz MVC. Trochę nie wyszedł pokaz możliwości biblioteki na żywo, co jednak nie zraziło prelegenta (tutaj widać obycie i doświadczenie).

Mi sesja nie przypadła do gustu, może dlatego, że na co dzień nie programuję aplikacji WWW, a może dlatego, że ostatnimi czasy prezentację, w których przewija się dużo kodu pisanego na żywo do mnie nie trafiają.

Ocena: Na pograniczu żółtej i czerwonej karteczki.

"Building Startups and Minimum Viable Products"
Ben Hall

Lekka, bardzo fajnie poprowadzona sesja dotycząca startup'ów, a prelegent wiedział o czym mówił, bo ma dwa na swoim koncie, a teraz pracuje dla firmy, która wyszykuje obiecujące firmy i w nie inwestuje. Ben zwrócił uwagę, że startując ze swoim pomysłem przede wszystkim trzeba mieć pasję, a najlepiej bardzo dużo pasji. Jego zdaniem na początek  należy unikać pisania kodu, jak najwięcej wykorzystywać istniejące rozwiązania, skupić się na dostarczeniu wartości, a nie na jakości kodu czy pisaniu testów jednostkowych. Dobry wynik dla firmy inwestującej w startup'y to podobno 30%, czyli jeśli 3 inwestycje na 10 zaczną na siebie zarabiać to jest dobrze.

Ocena: Zielona karteczka.

"Full-text search with Lucene and neat things you can do with it"
Itamar Syn-Hershko

Prezentacja była nie tyle o Lucene, co o rozproszonym serwerze przeszukiwania pełnotekstowego opartym o Lucene. Lekka techniczna sesja, z wprowadzeniem dla początkujących. Słyszałem głosy, że temat prezentacji sugerował co innego i było za dużo o rzeczach podstawowych, ale mi sesja się podobała, bo odświeżyłem sobie wiedzę.

Ocena: Zielona karteczka.

"The Architecture of StackOverflow"
Marco Cecconi

Portalu StackOverflow chyba nikomu nie należy przedstawiać. Na tym samym silniku stoi ponad 100 innych serwisów typu Q&A, a sam portal StackOverflow jest w czołówce najczęściej odwiedzanych stron na świecie. Wbrew pozorom do obsługi tego wszystkiego wystarczy 11 serwerów WWW, 4 serwery bazodanowe i dwa serwery cache'ujące używające technologii Redist. Każdy serwer bazodanowy ma ponad 300GB pamięci, tak aby pomieściła się cała baza danych.

Kod aplikacji podzielony jest raptem na kilka projektów (całość to ok. 100 tyś linii kodu). Testów jednostkowych jest bardzo mało, bo użytkowników jest tak dużo, że wszelkie błędy wykrywane są bardzo szybko. Ewentualne poprawki można dostarczyć w kilka minut. Co z tym związane, w wielu miejscach użyto klas statycznych, bo i tak nie będą mock'owane, a przede wszystkim ma być prosto. Zespół StackOverflow nie zastanawia się też na przejściem do chmury, czy użyciem bazy NoSQL, ponieważ wszystko działa dobrze tak jak jest. Lubię takie zdrowie podejście do tematu.

Prezenter skończył mówić z 15-20 minut przed czasem, ale pozostałą część sesji zajęły pytania z publiczności.

Ocena: Na pograniczu żółtej i zielonej karteczki ale bliżej zielonej.

"The software journeyman's guide to being homeless and jobless."
Rob Ashton

Kolejna genialna sesja. Rob pokazał niesamowity warsztat, a mówił o tym jak rok temu zrezygnował z pracy w korporacji bo miał dosyć, a pieniędzy i tak nie miał na co wydawać. Od tego czasu podróżuje po świecie z jedną walizką i pracuje tam gdzie dostanie lokum oraz bilet lotniczy. Teraz jest w Belgii i, jak sam mówi, to strasznie nudne miejsce, w Izraelu pracował nad RavenDB, w międzyczasie zaliczył wypadek samochodowy, kodował w Closure w czasie koncertu Eurowizji itd. A tak w ogóle trochę mu się śpieszyło bo chciał napić się piwa :)

Mi bardzo spodobało się też podsumowanie, w którym Rob powiedział coś w stylu (bardzo luźną parafraza) "No tak, ale ja nie mam żony, dzieci czy innych zobowiązań, a więc mi jest łatwiej. Wy też jednak możecie coś zrobić, zmienić pracę na ciekawszą, blogować, występować na konferencjach, uczyć się nowych rzeczy, dzielić się wiedzą..."

Ocena: Bardzo zielona karteczka.

Sesja końcowa

Sesja końcowa to dużo powiedziane, bo trwała małe kilkanaście minut. Nie zabrakło zasłużonych podziękowań dla prelegentów oraz dla ekipy obsługującej konferencję. Była też fala, poważnie, taka jaką widuje się na meczach piłkarskich oraz pamiątkowe zdjęcie :)

Ocena: Bardzo zielona karteczka

Podsumowanie

W dwóch słowach Było super! i już szykuję się na przyszły rok. Przyznam, że od strony technicznej dużo się nie nauczyłem, ale zdobyłem dużo miękkiej wiedzy i zastrzyk pozytywnej energii.

10/08/2013

Konferencja wewnątrz-firmowa 2

Home

Ostatnio napisałem o zorganizowanej przez siebie konferencji wewnątrz-firmowej. Teraz należy napisać o czym można było posłuchać. Oto lista 12 przygotowanych prezentacji, wszystkie moim zdaniem stały na wysokim poziomie. O jakości prezentacji niech świadczą bardzo dobre wyniki ankiet. Średnia ocena to 8.3 w skali od 1 do 10!

Albert Skłodowski - F# as a functional language for the .NET platform

An introduction to functional programming in .NET using F# language. Write simple code to solve complex problems!

Damiarz Orzechowski - Is C++ dead? What was added into C++ x11 standard in comparison to C# and .NET features

Summary of history behind latest C++ standard. Presentation of highlights of latest standard and comparison of features between C++ and C#/.NET.

Daniel Celeda - Software Project Survival Guide

Quick induction to the main factors of a successful software project.“Software projects succeed or fail based on how carefully they are planned and how deliberately they are executed. The vast majority of software projects can be run in a deterministic way that virtually assures success. If a project’s stakeholders understand the major issues that determine project success, they can ensure that their project reaches a successful conclusion.”

Kamil Langowski - Paradoxes and idiosyncrasies of probability

Simple math problems that are outstandingly controversial, but are nonetheless facts.

Marcin Wierzbicki - Financial instruments for dummies

The talk covers basic subjects from financial engineering field, starting with present value, fixed income securities, bond pricing, immunization and arbitrage, and finishing... after 1 hour :)

Marek Ryński - An introduction to the basics of Web Application Security - theoretical lecture

A review of available mechanisms used to ensure confidentiality, integrity and availability of information in Web Applications. The talk will cover different approaches to authentication, highlighting strong and weak solutions. A few words will be said about smart cards and biometrics. Hacking, injection attacks and social engineering are only buzz words to attract your attention on this abstract, but none of these things will be discussed.

Michał Komorowski - RavenDB as an example of document oriented databases. A history of application in my pet project.

NoSQL databases are a relatively new idea which is becoming more and more popular. In this presentation, I’ll focus on document oriented databases. I’ll discuss the topic on the example of RavenDB and my pet project LanguageTrainer which supports learning foreign languages.

Michał Rzeszutko - Dependency Injection patterns and best practices

An introduction to the subject of DI. The talk covers basic subjects - what it is DI and what are the benefits of using it, as well as the more advanced ones – how to use it properly (patterns) and what to avoid (anti-patterns).

Mikołaj Barwicki - Do IT the Toyota Way?

Toyota is an enterprise built on unique philosophy focused on manufacturing and process quality that is summarized in a set of statements referred to as “Toyota Way”. Is this what made Toyota the world’s largest car manufacturer? Are these statements applicable to software development organizations?

Paweł Kupis - Aspect-oriented programming on the example of PostSharp.

Short introduction to aspect-oriented programming concept, fast review of .NET aspect frameworks and PostSharp in action.

Przemek Wasylko - Command-query responsibility segregation: can we successfully separate read from write parts of the system?

Exploration of design pattern where different (often in a radical way) model and approach is used to update information than model used to read information. I will try to show how this affects system architecture and user interface experience. But does it really make engineer’s life easier? And software less prone to errors?

Tomasz Moska - Configuring SQL Server Instance for optimal performance

The talk will cover some good practices regarding configuration of SQL Server instance.

04/08/2013

Konferencja wewnątrz-firmowa

Home

W jednym z ostatnich postów pisałem o zorganizowanym przez siebie Quiz'ie. Dzisiaj napiszę o innym pomyśle na powiew świeżości w pracy, czyli o konferencji wewnątrz-firmowej. Konferencję taką zorganizowałem pod koniec czerwca (jej pierwotnym pomysłodawcą był mój przełożony Mikołaj).

Trochę uprzedzając, był to strzał w dziesiątkę pod każdym względem, a więc czym prędzej biegnijcie do swoich przełożonych z propozycją zorganizowania takiego wydarzenia ;) Zacznijmy od spraw organziacyjnych, czyli jak się do tego zabrałem.
  • Na początek ustaliłem szczegóły z przełożonymi, czyli kiedy taka konferencja może się odbyć i ile czasu można na nią poświęcić. My wybraliśmy ostatni tydzień czerwca i na każdą prezentację przeznaczyliśmy godzinę. W konferencji mógł wsiąść udział każdy i mógł zobaczyć dowolną ilość prezentacji, przy czym było jasno powiedziane, że praca ma priorytet, czyli jeśli jest pilne zgłoszenie to trzeba je obsłużyć.
  • 4 miesiące przed konferencją rozesłałem prośbę o zgłaszanie tematów wraz z krótkim opisem. Na zastanowienie się dałem 1 miesiąc.
  • Co bardzo ważne, tematyka prezentacji mogła być dowolna, również nietechniczna. Jedynym warunkiem było, że prelegent:
    • Ma interesować się tematem.
    • Musi mieć przynajmniej trochę przekonania :), że dla innych temat również będzie interesujący.
  • W regularnych odstępach (to bardzo ważne) rozsyłałem przypomnienie, że zostało tyle, a tyle czasu na  zgłoszenia.
  • Po zebraniu propozycji (około 30 prezentacji, ale każdy mógł zgłosić więcej niż 1) zorganizowałem głosowanie. Na oddanie głosu były 2 tygodnie i znowu należy o tym przypominać.
  • Na konferencję wybrałem 12 najlepszych prezentacji, ale każdy prelegent miał przygotować tylko 1.
  • Poinformowałem kolegów o wyniku głosowania.
  • Aby prelegenci nie czekali do ostatniej chwili z przygotowaniami poprosiłem ich aby przesłali mi agendę miesiąc przed konferencją.
  • Zarezerwowałem salę, rzutnik, laptop itp.
  • Poprosiłem prelegentów o preferencje kiedy chcą wygłosić swoje prezentacje i przygotowałem harmonogram.
  • Dwa tygodnie przed konferencją rozesłałem do wszystkich w firmie zaproszenie na poszczególne prezentacje.
  • Tuż przed samą konferencją przygotowałem ankiety, wydrukowałem je i pociąłem.
  • Sprawdziłem również czy laptop działa, czy współpracuje z rzutnikiem i co jest na nim zainstalowane. Oczywiście poinformowałem również prelegentów czego mogą się spodziewać po sprzęcie. Pomimo to, zgodnie z prawem Murphy'ego, nie obyło się bez niewielkich problemów technicznych.
  • Na każdej prezentacji na stołach czekały długopisy i anonimowe ankiety. Ich wypełnienie było obowiązkowe.
  • Po konferencji zebrałem od prelegentów materiały i umieściłem je na Wiki.
  • Podliczyłem ankiety i rozesłałem je do prelegentów. Przy okazji zapytałem czy zgadzają się na publikację wyników. Wszyscy się zgodzili więc udostępniłem również wyniki ankiet.
Przed godziną zero wszystko było więc zapięte na ostatni guzik. Konferencja spodobała się chyba wszystkim. Ja jestem z niej bardzo zadowolony, zarówno jako organizator jak i prelegent. To wspaniała okazja do integracji zespołu, nauki nowych rzeczy i potrenowania swoich umiejętności prelegenta w sprzyjającym środowisku.

Za jakiś czas napiszę o czym można było posłuchać na konferencji.

19/11/2010

Moda na chmurę

Home

To, że konferencja MTS 2010 odbyła się w dużym stopniu pod znakiem chmury obliczeniowej nie dziwi mnie. Nie dziwi mnie również, że prasa branżowa, portale społecznościowe, blogi i fora są pełne artykułów i postów na ten temat. Cloud computing to przecież relatywnie nowe i bardzo ciekawe ze względów technologicznych zagadnienie, również dla mnie.

Jestem natomiast zaskoczony, że tematyka chmury obliczeniowej zaczęła bardzo szybko wpływać szerokim nurtem do prasy nie branżowej. W czasie ostatniej wizyty w salonie prasowym w jednym z magazynów przeznaczonych dla menadżerów, którego tytułu niestety nie pamiętam, zobaczyłem artykuł zachwalający zalety chmury. Zaś w magazynie Forbes znalazłem cały, obszerny dodatek poświęcony tylko chmurze! Z ciekawości sprawdziłem czy tematyka chmury była poruszana na portalach takich jak onet.pl czy rp.pl i znalazłem kilka artykułów. Z innych przykładów, koleżanka, która pracuje w instytucji finansowej, powiedziała mi, że dyrektor działu IT zapowiada wykorzystanie tej technologii. Od kolegi z pracy dowiedziałem się natomiast, że jego promotor, który do tej pory nie przywiązywał uwagi do nowinek, stwierdził, że chmura to coś ciekawego.

Chmura bardzo szybko staje się albo już stała się modna, słyszy się o niej prawie wszędzie, a przede wszystkim budzi zainteresowanie biznesu. Z jednej strony niesie to z sobą szanse rozwoju firm, które zainwestują w chmurę oraz kontraktów dla firm IT. Z drugiej strony stare przysłowie mówi, że co nagle to po diable. Nie budzi natomiast wątpliwości fakt, że działy marketingowe dostawców rozwiązań typu cloud wykonały kawał dobrej roboty.

08/10/2010

MTS, MTS i po MTS'sie

Home

W konferencji Microsoft Technology Summit uczestniczyłem już po raz trzeci i ponownie jestem zadowolony. Pierwsze i najważniejsze prawie wszystkie sesje, które wybrałem wypaliły. Po drugie w tym roku było trochę luźniej i człowiek miał więcej przestrzeni wokół siebie. Udało mi się nawet zjeść obiad kulturalnie przy stoliku, a nie siedząc na ziemi. To oczywiście za sprawą mniejszej, o około 400, liczby uczestników w porównaniu do zeszłego roku. Nie wiem czy to kwestia polityki Microsoftu, wyższej ceny uczestnictwa, znudzenia konferencją... ale uważam, że wyszło to konferencji na plus. A więc, co wyniosłem z tegorocznej konferencji?
  • Bardzo pouczająca była dla mnie krótka rozmowa z Chrisem Grangerem, który pracuje w Microsofcie jako PM i był między innymi odpowiedzialny za nowy edytor czy rozszerzalność w VS 2010. Co w tym dziwnego/wyjątkowego? Chris ma 23 lata i zanim przyszedł do Microsoft nie miał styczności z ich produktami! Zapytałem go w jaki sposób został menadżerem. Odpowiedział, że w sumie to nie wie. Miał pracować jako programista ale został zaproszony na jeszcze jedną rozmowę, po której dostał pracę jako menadżer. Pozostaje tylko pogratulować. Zastanawiam się czy taka sytuacja byłaby możliwa w Polsce i jak zostałoby to odebrane przez zespół, w szczególności przez "starszych" pracowników.
  • Zobaczyłem jednych z najlepszych prelegentów jakich widziałem do tej pory. Mam tutaj na myśli głównie Marka Minasi i Davida Chapella. Tego ostatniego oglądałem niestety tylko kilkanaście minut ponieważ musiałem wyjść w ważnej sprawie.
  • Przekonałem się, że tematyka IT Pro to również coś dla mnie. Do tej pory wybierałem raczej sesje dla programistów, w tym roku zdecydowałem się na większe urozmaicenie i był to strzał w dziesiątkę. Szczególnie chwalę sobie sesję Marka Minasi na temat DNSSEC, po prostu super.
  • Zainteresowałem sie tematyką chmury obliczeniowej. To dziedzina jeszcze bardzo młoda i niedojrzała ale wygląda na to, że jesteśmy na to skazani. Może jeszcze nie teraz, może jeszcze nie za rok ale jak powiedział na swojej sesji John Craddock "Can we afford not to?"
  • O Task Parallel Library słyszałem, czytałem ale jeszcze nie używałem. Dzięki bardzo dobrej sesji Cezarego Nalewajki poznałem jej podstawy i teraz tylko czekam na okazję na jej użycie.
  • Dowiedziałem się o wcześniej nie znanym mi typie projektu w VS 2010, a mianowicie o Data-tier Application, który ułatwia instalowanie i konfigurowanie baz danych. Nowością była dla mnie również protokół OData. To wszystko na sesji Tomasza Wiśniewskiego.
  • Obserwując prelegentów nauczyłem się kilku rzeczy. Na przykład pytanie publiczności o to czy wszystko jasne, czy są jakieś pytania zachęca do ich zadawania. Podobny efekt odnosi dziękowanie za pytania. Podobało mi się również jak prelegent wyjaśnił, że w czasie sesji będzie siedział ponieważ na stojąco trudno kodować itd. Niby to wszystko oczywiste oczywistości ale takie rzeczy łatwo umykają.
  • Utwierdziłem się w przekonaniu, że należy jak ognia wystrzegać się swego rodzaju przerywników, pozwalających zebrać myśli, takich jak słowa OK/Dobrze. Jeden z prelegentów miał z tym problem. Swoją drogą jego sesja była fajna ale mogłaby być jeszcze fajniejsza.
  • Zobaczyłem na żywo jak sprawuje się nowy kontroler do XBox'a czyli Kinect.

03/04/2010

Po konferencji

Home

Od mojej sesji na temat IntelliTrace podczas Warszawskich Dni Informatyki minęły już prawie trzy tygodnie. Pora odpowiedzieć na kilka pytań: Jak było? Jak spisali się organizatorzy? Czy jestem zadowolony ze swojej prezentacji? Co wypadło dobrze, a co źle?
Zacznę od tego, że organizatorzy czyli Student Partners z warszawskich uczelni stanęli na wysokości zadania i przygotowali w pełni profesjonalną konferencję. Wydarzenie było dobrze rozreklamowane i frekwencja dopisała. Zadbano o profesjonalne nagłośnienie. Prelegenci mogli spokojnie przygotować się do wystąpienia w zarezerwowanym dla nich pokoju. Nie chodzili też głodni i spragnieni, uczestnicy zresztą również nie ;) Każdy dostał materiały konferencyjne, w tym pendriv'a. Można było wygrać laptopa, a w czasie przerw pograć na konsoli XBOX. Zorganizowano też konkurs Guitar Hero oraz przygotowano ankiety.

Mam tylko kilka uwag ale niewielkiego kalibru. Wolałbym aby impreza odbyła się bliżej centrum albo jakiejś stacji metra ale zdaję sobie sprawę, że to nie taka prosta sprawa. Po drugie obsługa konferencji mogłaby rozpoznawać prelegentów i nie kazać się im rejestrować :) Dziewięć osób to nie jest znowu taka duża liczba. Największe zastrzeżenie mam do rzutnika, który przynajmniej podczas mojej sesji nie spisał sie dobrze i jakość obrazu była słaba.

Jak oceniam swoją sesję? W skrócie jestem zadowolony. Przed konferencją byłem trochę zdenerwowany ale zaprocentowało dobre przygotowanie i wcześniejsze przećwiczenie prezentacji. Dzięki temu kiedy zacząłem mówić nerwy odpuściły i poczułem się swobodniej. Plan prezentacji, układ i treść slajdów miałem w głowie i nie musiałem zastanawiać się kiedy co powiedzieć. Sądzę, że mówiłem głośno i wyraźnie. Udały się również wszystkie zaplanowane pokazy IntelliTrace, Visual Studio 2010 i przygotowanych programów. W czasie i po sesji uczestnicy zadawali pytania.

Oczywiście zdaję sobie sprawę z kilku niedociągnięć. Co mi nie wyszło? Po pierwsze po konferencji zwrócono mi uwagę na błąd ortograficzny na jednym ze slajdów. Na swoją obronę mogę powiedzieć, że Power Point też go nie zauważył. Po drugie nie ustrzegłem się błędu w wymowie słowa debugger oraz zapomniałem powiedzieć o jednej czy dwóch rzeczach. Nagrania swojej sesji jeszcze nie widziałem ale zdaję sobie sprawę, że pomimo wszystko byłem zdenerwowany - zdarzyło mi się zaciąć czy powiedzieć coś niezrozumiale. Powinienem również zachowywać się swobodniej.

Podsumowując konferencję oceniam na bardzo mocne 5, brawo dla organizatorów. Swojej sesji nie podejmują się oceniać ale chętnie wysłucham waszych opinii i uwag.

Chciałbym również podziękować żonie za pomoc w przygotowaniach do konferencji, cierpliwe wysłuchanie i cenne uwagi.

02/03/2010

Warszawskie Dni Informatyki 2010

Home

Zapraszam na konferencję Warszawskie Dni Informatyki 2010 oraz na moją sesję podczas, której opowiem, a przede wszystkim pokażę jedną z najciekawszych nowości w Visual Studio 2010 - IntelliTrace!


25/05/2009

Konkurs Code Camp 2009 - podsumowanie

Home

Na podsumowanie konferencji Code Camp 2009 w Warszawie z mojej perspektywy nadejdzie jeszcze czas. Najpierw chciałbym napisać o konkursie, który udało mi się zorganizować przy tej okazji. W skrócie konkurs składał się z dwóch etapów. Pierwszy etap (tzw. konkurs skojarzeniowy) odbył się w tygodniu poprzedzającym konferencję i polegał na odgadnięciu nazwy miejsca (kraju, miasta, wyspy itd.) na podstawie zdjęć, obrazków czy też opisu słownego. Wszystkie te miejsca miały tą wspólną cechę, że ich nazwy zostały użyte jako nazwy kodowe różnych produktów firmy Microsoft. Drugi etap, konkurs kartkowy, odbył się w czasie konferencji i polegał na odpowiedzeniu na 5 testowych pytań. Odpowiadając na pytanie nie można było korzystać z komputera, Internetu czyli trzeba było liczyć tylko na własną głowę.

Jak wyszło? Mówiąc szczerze nie jest do końca zadowolony. Frekwencja co tu dużo mówić nie dopisała. W konkursie wzięło udział tylko 6 osób. Chociaż z tego co dowiedziałem się od bardziej doświadczonych kolegów to i tak całkiem dobry wynik :)

Jeśli chodzi o konkurs skojarzeniowy to okazał się on dość łatwy i generalnie uczestnicy nie mieli problemów z odpowiedzeniem na pytania. Z konkursem kartkowym było już gorzej, poprawnych odpowiedzi było zdecydowanie mniej. Wydaje mi się, że było to spowodowane dwoma czynnikami. Po pierwsze pytania mogły być zbyt szczegółowe ale ja nie jestem tutaj obiektywny. Po drugie, konkurs był przewidziany na raptem 10 - 15 minut. Najwyraźniej nie udało mi się dostosować poziomu pytań do tak krótkiego czasu. Muszę o tym pamiętać i następnym razem przetestować pytania na znacznie większej grupie ludzi niż to uczyniłem.

Poniżej zamieszczam pytania i odpowiedzi do obu konkursów:

Konkurs skojarzeniowy


Odpowiedzi

  1. Dublin - Opis
  2. Hawaii - Visual Studio
  3. Astoria - ADO.NET Data Services
  4. Kilimanjaro - Sql Server 2010/Dynamics CRM 4.0
  5. Orleans - Opis
  6. Geneva - Opis
  7. Paris - Opis
  8. Ibiza - Sync Framework
  9. Oslo - Opis
  10. Quebec - Windows Embeded 2010
Do trzeciego pytani wkradł się błąd. Pytałem w nim o miasto na wschodnim wybrzeżu podczas gdy chodziło o zachodni brzeg USA. Z tego powodu zaliczałem również inne odpowiedzi na przykład Boston czyli Visual Studio 97.

Konkurs kartkowy

1. Mamy definicje dwóch klas jak poniżej:
class Base
{
   public virtual void Fun(int x)
   {
      Console.WriteLine("Base.Fun(int x)");
   }
}

class Derived : Base
{
   public override void Fun(int x)
   {
      Console.WriteLine("Derived.Fun(int x)");
   }

   public void Fun(object o)
   {
      Console.WriteLine("Derived.Fun(object o)");
   }
}
Co wypisze na ekran podany kod:
Derived d = new Derived();
d.Fun(1);
  1. Base.Fun(int x)
  2. Derived.Fun(int x)
  3. Derived.Fun(object o)
  4. Wywołanie metody spowoduje wyjątek
2.
Nullable<int> nullable = new Nullable<int>();
Type t = nullable.GetType();
Jaki rodzaj wyjątku zostanie rzucony po uruchomieniu tego kodu?
  1. Żaden
  2. InvalidOperationException
  3. NullReferenceExcpetion
  4. IndexOutOfRangeException
  5. ArgumentNullException
3. Załóżmy, że mamy zdefiniowaną zmienną o nazwie variable. Kiedy poniższy kod nie spowoduje rzucenia wyjątku:
variable = null;
variable.ToString();
4. Jaki będzie wynik wykonania poniższego kodu:
string s1 = new String(new char[] { 'a' });
string s2 = new String(new char[] { 'a' });
bool result = Object.ReferenceEquals(s1, s2);
Console.Write(result);

s1 = new String(new char[0]);
s2 = new String(new char[0]);
result = Object.ReferenceEquals(s1, s2);
Console.Write(result);

s1 = "Ala ma kota";
s2 = "Ala ma" + " kota";
result = Object.ReferenceEquals(s1, s2);
Console.Write(result);

s1 = "Ala ma kota";
string temp = "ma";
s2 = "Ala " + temp  + " kota";
result = Object.ReferenceEquals(s1, s2);
Console.Write(result);
  1. True, False, True, Talse
  2. False, False, True, False
  3. False, True, True, False
  4. False, False, False, False
  5. True, True, True, False
5. Jaki będzie wynik wykonania poniższego kodu:
delegate void Printer();
...
List printers = new List();
for (int i = 0; i < 4; i++)
{
  if (i % 2 == 0)
  {
      printers.Add(delegate { Console.Write(i); });
  }
  else
  {
     int j = i;
     printers.Add(delegate { Console.Write(j); });
  }
}

foreach (Printer printer in printers)
   printer();
  1. 0, 1, 2, 3
  2. 4, 4, 4, 4
  3. 4, 1, 4, 3
  4. 3, 2, 1, 0
  5. Inny

Odpowiedzi

  1. C - Derived.Fun(object o);

    W przypadku wywołania derived.Fun(1) zostanie wywołana metoda Derived.Foo(object). Metody zdefiniowane bezpośrednio na poziomie klasy wywołującej mają zawsze priorytet nad metodami zdefiniowanymi na poziomie klasy bazowej nawet jeżeli zostały przedefiniowane w klasie pochodnej. Jest tak ponieważ przy szukaniu metody najlepiej pasującej do wywołaniu, spośród wszystkich metod kandydujących odrzucane są metody zdefiniowane poza typem najbardziej wydziedziczonym. W wyniku tego kroku ze zbioru mogą zostać usunięte metody wirtualne.

  2. C - NullReferenceException

    Uruchomienie tego kod zakończy się rzuceniem wyjątku NullReferenceException w linijce z wywołaniem GetType. Typ Nullable<T> dostarcza własną implementacja ToString oraz GetHashCode ale nie GetType. Wywołanie GetType prowadzi więc do przekształcenia wartości Nullable<int> w referencje do obiektu (opakowywanie), a ponieważ w tym przypadku Nullable.HasValue jest równe false na stos odkładany jest null.

  3. Jeśli variable jest typem Nullable<T>

  4. C - False, True – bug?, True – optymalizacja kompilatora, False

  5. C - Domknięcie - Jak to działa?

16/03/2009

TechFest 2009

Home

Możliwość uczestnictwa w konferencji TechFest 2009 bardzo mnie ucieszyła. Wiele sesji, zagraniczni uczestnicy, laboratoria no i miejsce – Hotel Gołębiewski z Wiśle. Niestety w obecnej chwili jestem daleki od zadowolenia. Czemu? Płatność zrealizowałem już ponad miesiąc temu, a od tego czasu nie dostałem potwierdzenia. Zestawu powitalnego ani widu ani słychu choć do konferencji pozostały jeszcze tylko niecałe trzy tygodnie! Kontakt z organizatorami, jaki kontakt? Brak odpowiedzi na telefony i wiadomości e-mail (no dobrze raz udało mi się dodzwonić). Dla mnie to brak kultury i dobrego wychowania oraz zwykłe lekceważenie. Mam wrażenie, że organizatorzy imprezy jeszcze długo nie będą mogli pozbyć się swoistego smrodku na jaki udało im się zapracować. Jest jeszcze szansa, że sama konferencja przyćmi dotychczasowe niepowiedzenia. Po dotychczasowych doświadczeniach jednak szczerze w to wątpię, obym się mylił.