Gala „Daj się poznać” – czyli parę słów od zdobywczyni drugiego miejsca

W ostatnią sobotę – 18 czerwca odbyła się uroczysta Gala wieńcząca trzy miesiące zmagań w konkursie „Daj się poznać” zorganizowanym przez Maćka Aniserowicza.

Wydarzenie składało się z trzech części (nie licząc oczywiście wstępu, w którym Maciek powitał wszystkich bardzo ciepłymi i energetyzującymi słowami) – najpierw były dwie prezentacje przedstawicieli partnerów konkursu – czyli mBanku i SoftwareHut. Po nich nastąpiły prelekcje uczestników z przerwą na obiad i rozdanie nagród. Ostatnim punktem programu było afterparty, które miało miejsce w Beerokracji… i nie tylko:)

Laureatem nagrody głównej został Piotr Gankiewicz ze swoim projektem o nazwie Warden – czyli narzędziem do monitorowania. Projekt był naprawdę świetnie przygotowany, towarzyszy mu również dedykowana strona i wyczerpujące wiki. Pełen profesjonalizm jednym słowem. Aplikacja jest dostępna jako Open Source na Githubie.

Pierwsze, co przychodzi mi na myśl w związku z tym wydarzeniem, to naprawdę świetna atmosfera, jaka towarzyszyła prezentacjom uczestników. Każdy został przyjęty ciepło bez względu na pomysł, technologię i poziom doświadczenia w wystąpieniach publicznych. Zresztą jeśli już o poziomach mowa, to mimo, iż wiele osób prezentowało się po raz pierwszy na scenie, wszystko wyszło to naprawdę świetnie.
Przyznam, że nawet troszkę żałowałam, iż nie zdecydowałam się na zaprezentowanie rezultatu swoich prac. Wszystko to dlatego, że do samego końca myślałam sobie – gdzie ja tam z tą moją aplikacją będę wyskakiwać – przecież nawet jej nie skończyłam. Tymczasem jednak, jak się okazało podczas rozdania nagród, mój projekt przyniósł mi drugie miejsce. W ten oto sposób wygrałam wypasioną klawiaturę mechaniczną Das Keyboard Szczegółowe wyniki wraz z punktacją oraz relację Maćka można znaleźć tutaj.

Na nagrodzie w postaci klawiatury się nie skończyło, ponieważ otrzymałam również w ramach nagrody specjalnej od jednego z partnerów – mBanku zegar/budzik w postaci robota z Gwiezdnych Wojen. Wydaje bardzo pocieszne dźwięki i wygląda tak:

Robot

Już wcześniej pisałam, że bardzo się cieszę, że dotrwałam do końca konkursu spełniając warunki znalezienia się wśród 70 innych osób, które je spełniły. Pisałam też, że bardzo się cieszę, że trafiłam do szczęśliwej 16stki. Ale teraz cieszę się niewyobrażalnie, bo gdy wysyłałam zgłoszenie na konkurs, nawet przez myśl mi nie przeszło, że mogę zajść tak daleko i tak wysoko. To było niesamowite wyzwanie a rezultat dał mi teraz tak pozytywnego kopa, o jakim nawet nie marzyłam. Mam nadzieję, że ta pozytywna energia zostanie ze mną na długo i uda mi się ją zainwestować w nowe fajne wyzwania.

Jeszcze raz wielkie DZIĘKUJĘ dla Maćka jako organizatora oraz dla wszystkich, którzy na mnie głosowali, bo ilość tych głosów naprawdę mnie zaskoczyła.

Jeśli przed jakąś przyszłą edycją „Daj się poznać” ktoś będzie się zastanawiał czy warto – odpowiadam warto! Nigdy nie wiesz co fajnego z tego wyjdzie:) I nie dowiesz się jeśli nie spróbujesz:)

P.S. Zabawne jest to, że zarówno Piotr – zwycięzca, jak i ja jesteśmy z Krakowa:) Z kolei w pierwszej trójce zwycięzców są dwie dziewczyny:)

Moja pierwsza prelekcja ever – już za tydzień:)

Zapraszam na 4 rocznicę istnienia Geek Girls Carrots we Wrocławiu w czasie której będę miała okazję wygłosić swoją pierwszą w życiu prelekcję.

Jestem niesamowicie podekscytowana i bardzo się cieszę, że zostałam na to wydarzenie zaproszona.

Opowiem o mojej niedawnej Wielkiej Przygodzie jaką było wzięcie udziału w konkursie „Daj się poznać” a tym samym o tym jak szukać motywacji do działania, jak pokonywać swoje zahamowania i o tym jak nawet najmniejsze wyjście ze strefy komfortu może naprawdę wiele zmienić w naszym życiu!

Zachęcam do wzięcia udziału w wydarzeniu i trzymania za mnie kciuków!

Więcej informacji o wydarzeniu – tutaj. Wstęp jest bezpłatny, wystarczy zarejestrować się tutaj.

#DockNetCore – Twardy Reset w Świecie .NET – Capgemini IT T@lk

Zapraszam na wydarzenie organizowane już w czwartek 29 września 2016 o godzinie 18.00 przez Capgemini w krakowskim Browarze Lubicz (ul. Lubicz 17).

Nasi programiści i architekci przedstawią zagadnienia z zakresu .NET Core i konteneryzacji w oparciu o Docker. Spotkanie będzie podzielone na dwie części: prezentację oraz pokaz przy stanowiskach komputerowych na którym będzie można zobaczyć tworzenie aplikacji z użyciem niezbędnych narzędzi takich jak Visual Studio Code czy Yeoman.

Po prezentacjach będzie można oczywiście porozmawiać z nami o technologiach (i nie tylko) przy dobrym piwie.

Więcej o wydarzeniu znajdziecie tutaj.

Wstęp jest bezpłatny, ale trzeba się zarejestrować – formularz rejestracyjny dostępny na stronie.

Kosmiczny DevDay 2016 – było odlotowo!

Jeśli miałabym jednym słowem podsumować tegorocznego DevDaya to byłoby to słowo inspirujący.

Przede wszystkim dlatego, że tegoroczna konferencja nie była skupiona tylko wokół świata .NET jak do tej pory, ale zdecydowanie wybiegała poza niego dostarczając mnóstwa ciekawych prezentacji na różne tematy. Niejednokrotnie miałam duży dylemat, którą prelekcję wybrać, ale nigdy wyboru nie żałowałam. Dlatego też nie mogę się doczekać kiedy prezentacje pojawią się online, by zapoznać się z tym z czego musiałam zrezygnować.

No dobra – ale dlaczego kosmiczny? Otóż na identyfikatorach umieszczone było słowo Explorer i w takim też duchu utrzymane były trzy prezentacje – pierwszego dnia „NASA’s Ant-Inspired Swarmie Robots” (Kurt Leucht), drugiego – „We Are The Explorers!” (Kurt Leucht) i „To The Moon” (Russ Olsen). Pierwszej nie widziałam, ale dwie następne polecam jako motywujące by spojrzeć na to co robimy w pracy troszkę szerzej – jako coś co ma wpływ na życie innych ludzi i świat. Przyznam, że sama często mam problem w tym, żeby zobaczyć sens niektórych rzeczy, dlatego warto było tego posłuchać. Zwłaszcza, że opowiedziany został kawał historii przygotowań do lotów w kosmos. Zainteresowało mnie to do tego stopnia, że postanowiłam zgłębić temat. Chyba zacznę od jakiś filmów o lotach w kosmos:) Przesłaniem wspomnianych prezentacji było również to, że nie ma rzeczy niemożliwych i że warto próbować do skutku.

Nowe rzeczy, z którymi się zapoznałam w trakcie konferencji to ReactJS i pojęcie Service Worker. ReactJS nie miałam do tej pory okazji spróbować, ale tak bardzo mi się spodobał, że chyba wymyślę sobie niedługo coś co mogłabym w nim napisać, żeby się nauczyć. Z kolei Service Worker, choć jeszcze nie do końca wspierane przez wszystkie przeglądarki, uważam za naprawdę fajną opcję i coś co zdecydowanie rozszerza możliwości aplikacji przeglądarkowych.

Bardzo podobały mi się prezentacje Niall Merrigan’a  i „How Did You Find That?” I „A Security Testers Toolbox”. W pierwszej z nich pokazany został szereg systemów dostępnych bez hasła przez zdalny pulpit lub VNC. Okazuje się, że w 2.5 minuty jesteśmy w stanie przeskanować internet w poszukiwaniu takich rzeczy i przejąć sterowanie nad basenem, ogrzewaniem, systemem do hydromasażu, jachtem, tartakiem czy inteligentnym domem. Do tego dochodzi jeszcze cała masa kamer internetowych przez które można podglądać domy, dzieci sklepy. Wymieniłam tylko niektóre, Niall wymienił kilkadziesiąt a jest ich pewnie o wiele więcej. Druga prezentacja pozwalała zapoznać się z narzędziami do testowania zabezpieczeń – nie wszystko zadziałało, ale i tak było bardzo ciekawie:) Niall prowadzi prezentacje w bardzo fajny i zabawny sposób  – z przyjemnością się go słucha.

Fajnie też słuchało mi się prelekcji Zacha Holmana „Firing People”, który na swoim przykładzie opowiedział nam o zwalnianiu ludzi – problemach z tym związanych oraz radach co robić i czego nie robić – dla zwalniających i zwalnianych.

Zdecydowanie przyda mi się również to, czego dowiedziałam się na prezentacji „Modern Performance Best Practices” Dustina Whittle. Dustin pracuje w firmie AppDynamics, która tworzy oprogramowanie wspomagające śledzenie wydajności aplikacji internetowych i wyszukiwanie słabych punktów. Pokazał kilka darmowych narzędzi, które można użyć w codziennej pracy – jak Site Speed czy WebPageTest.

Żeby dowiedzieć się jak zająć się moją niedawno opublikowaną aplikacją od strony marketingowej udałam się na prelekcję Sharon Steed „Empathy Marketing: Why Vulnerability is the Greatest Tool in Your Arsenal” – niestety jednak niewiele nowego ona dla mnie nie wniosła, gdyż jednak komunikacja i wczucie się w użytkownika to jest to co zawsze starwiam na pierwszym miejscu.

Pierwszego dnia uczestniczyłam również w „Lightning Talks”, w trakcie których pojawiły się trzy tematy: „Remotely Agile”, „Spaced repetition algorithm” i „Statistical Forecasting: Estimating Made Easy”.

Pierwszy był tak naprawdę opisem tego jak wygląda metodologia Agile w pracy zdalnej. Czyli, że zamiast siedzieć w jednym pomieszczeniu wszyscy łączą się głosowo na jednym kanale i tak przeprowadzają standupy, retrospekcje czy demo.  Padła jedna ważna rada – by nigdy nie łączyć się grupą z jednego komputera np. w sali konferencyjnej podczas, gdy inne osoby łączą się ze swoich stanowisk. Dlatego, iż ważne jest by wszystkich było słychać jednakowo dobrze a tak się nie dzieje jeśli np. jedna osoba łączy się ze swojego komputera a kilka z sali konferencyjnej. Wówczas łatwo o zły przepływ informacji.

Drugi temat interesował mnie najbardziej ponieważ opowiadał, oczywiście w wielkim skrócie, o algorytmach wykorzystywanych przez aplikacje do nauki języków takie jak SuperMemo, Anki, Duolingo czy Memrise. Uwielbiam uczyć się języków obcych i kilka z tych aplikacji wykorzystuję regularnie. Do tego zawsze chciałam w tej kwestii stworzyć coś swojego. Być może dzięki wiedzy nabytej podczas konferencji znów wrócę do tematu.

Trzeci – użycie statystyki w estymowaniu zadań. No cóż… nie przekonało mnie to. Estymowanie to bardzo trudna sprawa i wydaje mi się, że bardzo ciężko znaleźć czynniki, które mogłyby się stać współczynnikami pewnych równań:)

Pierwszy dzień konferencji zakończył się bardzo optymistycznie prezentacją „Optimism” Reginalda Braithwaite. Nie dowiedziałam się niczego nowego, ale bardzo lubię słuchać tego typu prelekcji lub też czytać artykuły po to, by podtrzymywać w sobie pewne wzorce ułatwiające optymistyczne podejście do życia. Reginald książkę po którą chętnie sięgnę:  “Learned Optimism,”  Martina Seligmana.

Tym optymistycznym akcentem zaczęliśmy mniej formalną część konferencji i z Multikina w którym były prelekcje, przenieśliśmy się do specjalnie postawionego namiotu za kinem na afterparty. Można było napić się piwa lub wina i przegryźć co nieco a także pogadać z ludźmi. W okolicy godziny 22ej impreza przeniosła się do jednej z nowych krakowskich (a właściwie krakoskich) piwnych miejscówek czyli do Weźże Krafta na Dolnych Młynów. W doborowym towarzystwie zabawa była przednia. Nie dotrwałam jednak do końca by następnego dnia móc z niezmąconym zbytnio umysłem uczestniczyć w dalszej części konferencji.

I tak właśnie znalazłam dużo inspirujących informacji w prezentacji „A Homespun Decentralised DIY Data Science Research Pipeline for the Internet of *Your* Things” Jose Dominguez’a. Myślę, że data science i machine learning to jest coś czego chciałabym spróbować więc i ten temat zamierzam zgłębić w najbliższym czasie. Tym bardziej, że dużo w tym wszystkim matematyki, która była moim głównym powodem, by zająć się programowaniem. Może to właśnie TO?

Ciekawą nowinka był również temat „Getting Physical with Web Bluetooth” prowadzony przez Uri Shaked. Pokazał nam jak za pomocą aplikacji napisanej w JS sterować inteligentną żarówką lub robotem. Jest moc:)

Wybrałam się również na prezentację „Fall in Love in Human, or Why Engineers are the Best Designers” Adama Jaworskiego. Zrobiłam to troszkę z przekory, gdyż nijak nie zgadzałam się z tym stwierdzeniem, ale jednak Adamowi udało się mnie przekonać. Zdecydowanie lepiej współpracować ściśle z użytkownikiem i poznawać jego potrzeby niż po prostu zdać się na modny i ładny design, który niekoniecznie będzie przez użytkownika lubiany i będzie dla niego wygodny. Adam mocno odróżnił projektowanie od robienia grafiki dzięki czemu temat prezentacji naprawdę nabrał sensu.

Podsumowując: dużo się działo, były świetne tematy i dużo fajnych ludzi. Nie mogę też nie wspomnieć o dobrym jedzeniu:) Było super! Tak trzymać i do zobaczenia za rok!

Make My Shopping List – w końcu w sklepie Google

Troszkę czasu mi to zajęło, troszkę więcej niż chciałam, ale dotarłam do samego końca! Moja aplikacja tworzona w ramach konkursu „Daj się poznać” znalazła się w Google Play. Można ją pobrać tutaj.

Nazwa z roboczej „Shopping Advisor” została zmieniona na „Make My Shopping List!”, ponieważ poprzedniej nie sprawdziłam pod kątem tego co wyświetla się w Google ani czy czegoś tak nazwanego już nie ma. Nic dziwnego – na początku nie zakładałam, iż ten dzień nadejdzie.

Tak naprawdę magiczny przycisk publikuj kliknęłam już wczoraj, kilka minut po tym jak skończyłam montaż filmu promująco – instruktażowego, który można zobaczyć tutaj. Podaję go tutaj, bo z jakiegoś powodu nie pojawia się w Google Play, ale mam nadzieję, że niedługo uda mi się ten problem rozwiązać.

Krótko dla przypomnienia – co robi aplikacja? Wpisujemy w niej produkty, które kupujemy regularnie a ona oblicza kiedy znów dana rzecz nam się skończy na podstawie naszych zwyczajów zakupowych. Widok podzielony jest na listę tygodniowa i miesięczną, żeby ułatwić nam planowanie wypraw do sklepu. Fajnie jest też mieć ją pod ręką, jeśli akurat jesteśmy w sklepie, bo możemy spojrzeć czy w akurat coś nam się teraz nie kończy:)

Zachęcam do korzystania, do zgłaszania uwag. W najbliższych dniach uruchomię również poświęconą aplikacji stronę. Facebook i Twitter również są, ale o tym w następnym poście. Miłego używania i czekam na komentarze!

Muszę jeszcze dodać, że wystawienie własnej aplikacji w Google Play było jednym z moich trzech planów na ten rok:) Więc tym bardziej się cieszę, że się udało. Teraz natomiast czas poświęcić się kolejnemu planowi (przyznam szczerze, że teraz już nieco zagrożonemu) czyli zdobyciu poziomu A2 w hiszpańskim na Memrise.

Zaawansowana analiza kodu z NDepend – część 1

W ostatnim czasie dzięki uprzejmości Patricka Smacchia, miałam okazję zapoznać się z narzędziem do analizy kodu jakim jest NDepend.

Ponieważ jednak ma on tak dużo możliwości, iż wyrósł by z tego całkiem spory artykuł, postanowiłam podzielić go na mniejsze i niniejszym zapraszam na pierwszy odcinek cyklu poświeconego temu narzędziu.

Zacznijmy zatem od tego czym jest NDepend, jak zacząć pracę z nim i Co nam daje?

Narzędzie służy do zaawansowanej analizy kodu, wspomaga przyglądanie się strukturze projektu, zależnościom, dbanie o czystość i wydajność kodu. Dostarcza nam przy tym wielu wizualizacji przedstawiających co się dzieje w projekcie na różne sposoby. To i wiele innych możliwości chciałabym opisać w tej i kolejnych częściach cyklu.

NDepend możemy pobrać tutaj. Niestety jest on płatne, ale możemy skorzystać z 14 dniowego okresu próbnego, aby dowiedzieć się czy to jest to czego naprawdę potrzebujemy. Jeśli chodzi o informację na temat cen, znajdziemy je tutaj. Jest możliwość zakupu licencji dla programisty jak również licencji przeznaczonej na serwer budujący. Im więcej licencji tym oczywiście taniej. Ceny zaczynają się zatem od 239 euro i sięgają aż do 299 jeśli chodzi o licencję dla konkretnego programisty. Ceny dla serwera budującego to od 479 euro do 599 euro. Jest to dość sporo, jednak narzędzie ma naprawdę dużo możliwości i koszt przy dużych projektach z pewnością się zwraca.

Po tym jak zainstalujemy NDepend pojawi nam się on w górnym pasku Visual Studio jak poniżej:ndepend_afterinstall

By przetestować możliwości narzędzia postanowiłam na tapetę wziąć Octokit.net. Jest to dotnetowa biblioteka do komunikacji z API GitHub. Odkryłam ją jakiś czas temu dzięki stronie 24 Pull Requests, która gromadzi informacje o różnego rodzaju projektach Open Source, które poszukują współpracowników.

Zatem, gdy już otworzymy konkretny projekt (w moim przypadku będzie to wlaśnie Octokit.net) i znów klikniemy w opcję NDepend menu będzie wyglądało następująco:ndepend_octokit

Opcją, która nas interesuje jest pierwsza od góry: „Attach new NDepend project to Current VS Solution”. Wybranie jej spowoduje otwarcie następującego okna:

ndepend_select

Możemy tutaj wybrać w jakim miejscu ma zostać utworzony projekt NDepend a także jakie pliki dll mają być brane pod uwagę przy analizie. Ja pozostawię to okienko bez zmian. Zatem klikamy przycisk Analyze 7 .NET Assemblies.Wówczas pojawi się kolejne okno – tym razem z wyborem wyników raportu jakie chcemy zobaczyć.

ndepend_report_select

W pierwszej części cyklu chciałabym skupić się na tej pierwszej opcji czyli NDepend Dashboard. Zatem ją wybieram i wówczas w Visual Studio otwiera się zakładka o nazwie Dashboard, która pokazuje nam wiele istotnych informacji. W przypadku tego projektu wygląda to następująco:

Najpierw mamy informacje na temat ilości kodu, komentarzy i reguł jakie kod powinien spełniać:

NDepend Dashboard 1

Poniżej (podzieliłam zrzuty ekranu na części, ponieważ na jednym nie zmieściłyby się wszystkie informacje) mamy dane na temat złamanych reguł w postaci wykresów:

NDepend dashboard 2

Każdy z wykresów ma szereg opcji, które widzimy w prawym górnym rogu:
Pierwsza ikonka, to możliwość zmiany położenia wykresu – na przykład zamiany prawego z lewym itp. Druga ikonka to tak naprawdę checkbox, który pozwala nam włączyć lub wyłączyć pokazywanie tego wykresu w raporcie. Trzecia – pozwala na edycję wykresy i dostarcza nam tym samym kolejny szereg opcji. Dla wykresu Rules Violated wygląda to następująco:

NDepend Dashboard Edit Chart

Czwarta ikonka to możliwość wyeksportowania wykresu a ostatnia to usunięcie go z tablicy.

Kolejne wykresy jakie mamy do dyspozycji to:

NDepend Dashboard 3

Wykres Percentage Coverage By Tests jest pusty, ponieważ nie zaimportowaliśmy danych na temat pokrycia testami. Zrobimy to w jednym z kolejnych artykułów. Wykres Max prezentuje nam różnego rodzaju maksymalne wartości dla naszego kodu.

Ostatnie wykresy to:

NDepend Dashboard 4

Średnia na temat tych samych danych co wykres Max oraz wykres z informacjami na temat użycia obcych bibliotek od zewnętrznych dostawców.

Prawie każdą z tych informacji możemy kliknąć, by uzyskać więcej informacji (np w przypadku Rules Violated) lub by wyedytować metrykę (np w przypadku Max).

Raport w pliku HTML

W tym samym momencie, gdy powstaje Dashboard w lokalizacji, którą określiliśmy na początku powstaje plik html z raportem na temat projektu. U mnie został utworzony folder o nazwie NDependOut w folderze głównym solucji. A w nim plik o nazwie NDependReport.html
W raporcie znajdują się diagramy, metryki oraz lista złamanych reguł mniej lub bardziej krytycznych:

Diagrams

Application Metrics

Rules

Jeśli chcecie zobaczyć ten raport „w akcji” – umieściłam go tutaj. Można po nim klikać i zobaczyć jak to wygląda na żywo.  W kolejnych częściach wrócimy do tego raportu a także tablicy Dashboard w Visual Studio, by przyjrzeć się bliżej poszczególnym opcjom.