#DarowiznySidnet: Łukasz dla WordPress Foundation i Fundacji Unaweza

Nie potrzebujemy świąt, żeby zabawić się w Mikołaja. W każdym miesiącu przekazujemy prezent twórcom oprogramowania open source i organizacjom dobroczynnym. Tym razem „najgrzeczniejsze” fundacje wskazuje Łukasz Nowicki, nasz zdalny Senior WordPress & PHP Developer. Łukasz w otoczeniu mazurskich jezior pracuje w projekcie dla naszego klienta z wysp – THG i UK2 (należącego obecnie do THG).

Jakie organizacje otrzymają świąteczne darowizny od Sidnet?

WordPress Foundation

Fundacja WordPress od 2010 dba o to, by dostęp do narzędzi publikowania w sieci pozostał wolny i demokratyczny. Założona przez twórcę WordPressa – Matta Mullenwega, odzwierciedla filozofię stojącą za platformą WordPress.

Promuje takie projekty i oprogramowanie, które:

  • są objęte licencją GNU Public License,
  • są dostępne bez opłat – dla każdego i w dowolnym celu,
  • można modyfikować, a następnie dalej udostępniać,
  • umożliwiają tłumaczenie treści na inne języki,
  • dają się rozszerzać za pomocą wtyczek, bez modyfikowania głównego kodu.

„WordPressa poznałem w 2005 roku, kiedy szukałem czegoś, na czym będzie można łatwo założyć blog – wtedy to nie było takie oczywiste. Przetestowałem kilka rozwiązań, wiedziałem o istnieniu b2/cafelog, wiedziałem o b2evolution, które z tego wyewoluowało. Ale dowiedziałem się też o tym, że jest inna gałąź tej ewolucji. To był WordPress” – wspomina Łukasz.

Dziś WordPress to nie tylko platforma blogowa, ale styl życia. 140 WordCampów i 700 grup organizujących regularne spotkania poświęcone WordPressowi na całym świecie. Ponad 200 wersji językowych serwisu, 54 tysiące darmowych wtyczek, 3 tysiące szablonów stron. Na platformę WordPress składa się 350 tysięcy linii kodu, co można przeliczyć na 91 lat pracy developerów.

WordPress to od lat podstawowe narzędzie pracy i szczera pasja Łukasza, który udostępnia własne pluginy: Moje wtyczki dostępne w katalogu WordPress są zainstalowane na kilku tysiącach aktywnych stron gdzieś na świecie. Nawet nie wiem gdzie, ale gdzieś komuś się przydają. To niesamowite uczucie” – dodaje nasz developer.

Unaweza

Fundacja Martyny Wojciechowskiej, znanej z programu TVN „Kobieta na krańcu świata”. Powołana, by wyrównywać szanse ekonomiczne, społeczne i prawne kobiet i dzieci z różnych krańców świata.

Obecnie fundacja gromadzi środki na pomoc:

  • dzieciom z albinizmem, na które poluje się w Tanzanii,
  • dzieciom, które nie mają innych perspektyw niż przekopywanie śmieci w Meksyku,
  • dziewczynkom i kobietom – ofiarom handlu ludźmi w Rumunii.

„Tanzania i Meksyk mogą wydawać się odległe, ale Rumunia już nie tak bardzo. A to właśnie ona przoduje w Europie pod względem liczby dzieci sprzedawanych i zmuszanych do niewolniczej pracy w seksbiznesie. Unaweza ściśle współpracuje z organizacją Reaching Out Romania, ratującą kobiety i dzieci przed okrucieństwem” – alarmuje Łukasz.

Fundacja wkrótce rozszerzy swoją działalność na kolejne kraje: Salwador, Filipiny, Boliwię i Liban. Nazwa fundacji wzięła się od słowa „unaweza”, które w języku suahili oznacza „możesz”.

„Miałem przyjemność poznać Martynę Wojciechowską na rajdzie Orlen Trophy 4×4, dawno temu. Wierzę jej, dlatego wspieram fundację Unaweza prywatnie i bardzo mnie cieszy, że Sidnet też przekaże jej datek, zgodnie z moim wyborem” – mówi nasz developer.

#DarowiznySidnet: Olga dla Creative Commons Polska i hospiCare

Wnosi „human touch” do zespołu inżynierów. Przekłada z technologicznego na język odbiorcy. W Sidnet odpowiada za komunikację marketingową. Olga łączy w sobie analityczność i kreatywność. Wskazane przez nią wartościowe projekty open source i non-profit dobrze obrazują to połączenie.

Poznaj ludzkie oblicze technologii – projekty zasługujące na wsparcie według naszego człowieka od marketingu.

Creative Commons Polska

Polski oddział Creative Commons (CC) – organizacji non-profit, która pomaga dostosowywać prawo autorskie do realiów internetu i promuje powszechny dostęp do kultury i nauki. Creative Commons od 2001 roku udostępnia licencje i narzędzia prawne gotowe do użycia przez autorów zdjęć, nagrań, książek czy stron internetowych. To pozwala twórcy samodzielnie określać zasady dzielenia się swoją twórczością w internecie, a odbiorcom daje więcej praw do korzystania z udostępnionych przez niego materiałów.

4 podstawowe warunki licencji CC:

Uznanie autorstwa, CC-BY. Utwór możesz swobodnie kopiować, zmieniać, przedstawiać i rozpowszechniać, jeśli wskażesz autora oryginału i licencję.

Na tych samych warunkach, CC-SA. Utwór możesz swobodnie kopiować, zmieniać, przedstawiać i rozpowszechniać, pod warunkiem, że udostępnisz go na tej samej licencji.

Użycie niekomercyjne, CC-NC. Utwór możesz kopiować, zmieniać, przedstawiać i dystrybuować, ale nie możesz na tym zarabiać.

Bez utworów zależnych, CC-ND. Utwór możesz kopiować, przedstawiać i dystrybuować jedynie w oryginalnej postaci. Nie możesz tworzyć adaptacji, opracowań, remiksów.

Powyższe oznaczenia w różnych konfiguracjach można znaleźć w takich serwisach jak m.in.: Flickr, YouTube, Wikipedia, Medium, Behance.

„Ideę Creative Commons poznałam dzięki narzędziu CC0, które pozwalało mi wykorzystywać zdjęcia i grafiki bez wskazywania autora. To było bardzo przydatne na studiach, kiedy odpowiadałam za promocję koła naukowego i chciałam to robić bezkosztowo, ale (w miarę możliwości) profesjonalnie. Chcę wesprzeć polski oddział, który wraz z Centrum Cyfrowym Projekt: Polska pomaga m.in. instytucjom kultury i nauczycielom dzielić się i korzystać z otwartych zasobów.” – mówi Olga.

Ikony: Creative Commons, CC BY 4.0

hospiCare

Społeczny projekt aplikacji mobilnej, która usprawni współpracę wszystkich osób zaangażowanych w opiekę nad pacjentem dziecięcego hospicjum domowego.

„Nie znałam terminu hospicjum domowego, dopóki nie poznałam Elizy i Pauli – twórczyń hospiCare. Nie wiedziałam, że nieuleczalnie chore dziecko może być na stałe we własnym domu i jednocześnie pod opieką hospicjum. Ani tego, że w praktyce oznacza to wizyty kilkunastu specjalistów dziennie u jednego pacjenta, wymianę setek połączeń telefonicznych i wiadomości, ogromne ilości leków i rozproszoną dokumentację medyczną, której przybywa każdego dnia.” – mówi Olga.

Aplikacja hospiCare ułatwi pracę zespołów medycznych i pomoże opiekunom w codziennych zmaganiach z chorobą. Znajdą się w niej m.in.: pełna dokumentacja medyczna pacjenta dostępna online dla wszystkich uprawnionych, przypomnienia o dawkach leków, narzędzia ułatwiające zdalne konsultacje medyczne. Aplikacja będzie darmowa dla wszystkich dziecięcych hospicjów domowych w Polsce.

„Zachwycił mnie ten projekt, a jeszcze bardziej jego twórczynie. Dziewczyny czerpią z własnych doświadczeń w opiece nad terminalnie chorymi bliskimi, ale są dalekie od cierpiętnictwa. Mają konkretne pomysły na finansowanie hospiCare. W jego rozwój chcą angażować innych rodziców chorych dzieci, którzy często mimo wykształcenia i kompetencji nie mogą znaleźć pracy.” – dodaje Olga.

Ekipa hospiCare ciągle potrzebuje środków na rozwój i utrzymanie aplikacji. By wesprzeć projekt, wpłać pieniądze na konto Fundacji Zostaw Swój Ślad, w tytule przelewu wpisując „hospiCare”.

Święto technologii mobilnych w Łodzi. Relacja z Mobilization IX

Ostatnią sobotę spędziłem na konferencji zaprzyjaźnionego JUG Łódź. W przerwach między wspieraniem organizacji wydarzenia, wysłuchałem prelekcji o MVVM i CI/CD w budowaniu aplikacji mobilnych. Dzisiaj podzielę się wrażeniami z wykładów.

Otwarcie konferencji Mobilization IX 2019
Otwarcie konferencji (fot. Paweł Włodarski/Mobilization).

“Building a CI/CD pipeline for your mobile app”

Ponieważ w Sidnet stosujemy procesy ciągłej integracji i ciągłego dostarczania (CI/CD), chciałem sprawdzić, jak robią to inni i upewnić się, że niczego nie pomijamy.

Peter-John Welcome, który przyjechał aż z Johannesburga, przedstawił cały proces od początku do końca w sposób klarowny, w większości zbieżny z moim doświadczeniem. Continuous Integration i Continuous Deployment (/Delivery) to nic innego jak automatyzacja manualnych zajęć z codziennej pracy programistów i usprawnianie różnych jej aspektów.

Peter-John Welcome na temat CI/CD w budowaniu aplikacji mobilnych podczas Mobilization IX 2019
Peter-John Welcome podczas prelekcji na temat CI/CD w budowaniu aplikacji mobilnych (fot. Paweł Włodarski/Mobilization).

Prelegent przypomniał, że procesy w IT nie muszą być sztywne. Jeśli pojawia się potrzeba wyeliminowania któregoś kroku, to można to zrobić. Przykładowo, poruszył temat wykorzystania botów sprawdzających kod źródłowy (np. weryfikujących ustalone standardy kodowania czy formatowanie kodu), które wyręczają programistów. Uznał, że gdyby programiści nie prowadzili ze sobą zażartych dyskusji w Code Review na temat różnych standardów, to kontrolę przez boty można by pominąć.

Pomysł nieszkodliwy, ale w moim odczuciu nieoptymalny. Moje doświadczenie podpowiada, że wprowadzenie standardów eliminuje niepotrzebne dyskusje. Dla wszystkich w projekcie staje się jasne, jakiego formatowania kodu powinni się trzymać. Także bot ma wówczas proste zadanie – upewnić się, czy dany fragment kodu jest napisany zgodnie z określonym standardem. Automatyzacja tego kroku zaoszczędzi czas całego zespołu, dlatego nie rezygnowałbym z niej.

“MVVM as good (anti)pattern in iOS”

Wielu developerów zachwyciło się ostatnio wzorcem MVVM (Model-View-ViewModel). Czy robią słusznie, wykorzystując go w aplikacjach na iOS? Mateusz Szklarek uważa, że nie. Swój pogląd opiera na doświadczeniu m.in. z pracą nad aplikacją mobilną z 250 tysiącami linijek kodu źródłowego.

Mateusz Szklarek na temat wzorca MVVM w budowaniu aplikacji mobilnych podczas Mobilization IX 2019
Prelekcja Mateusza Szklarka poświęcona wzorcowi MVVM (fot. Paweł Włodarski/Mobilization).

Jak zauważył prelegent, MVVM eliminuje problem ogromnego pliku kontrolującego widok („Massive View Controllers”), który często występuje przy używaniu wzorca MVC (Model-View-Controller). W MVVM pojawia się jednak inny problem – ogromne pliki View Model (“Massive View Models”).

Model-View-ViewModel nie jest doskonały, bo doskonałe rozwiązania nie istnieją. To, czy dowolna idea lub narzędzie zda egzamin, w dużej mierze zależy od sposobu wykorzystania przez samych developerów. Zdaniem prelegenta nie warto podążać za tłumem i bezrefleksyjnie sięgać po MVVM.

Rozwiązanie? Jak zwykle – rozsądek. Ze wszystkich wzorów czy narzędzi należy korzystać racjonalnie. Rozwiązania powinny pasować do problemów, nie odwrotnie. Chcę też podkreślić (za prelegentem), jak ważne są zasady programowania. Trzymanie się ich umożliwia dopasowanie wybranego wzorca i przezwyciężenie problemów występujących w każdym z wzorców.

Chociaż nie było mi dane uczestniczyć w całej tegorocznej konferencji, to cieszę się, że mogłem pomóc organizatorowi.

“Krzysztof, szacun za gotowość do działania ramię w ramię w dniu konferencji. Dzięki za mobilizację!”

Marek Defeciński
Organizator Mobilization

#DarowiznySidnet: Krzysiek dla Vim i Fundacji na rzecz Nauki Polskiej

Połowa października należy do Krzysztofa Pisery. Dziś przekazujemy darowizny projektom open source i non-profit zgodnie z jego życzeniem. Jutro świętujemy 10 lat jego pracy w Sidnet, którą rozpoczął jako zdolny 21-latek(!). Nasz lead developer dał się poznać jako świetny organizator pracy własnej i innych osób w zespole.

Kogo łapie nostalgia na myśl o początku lat ’90, ten doceni, że oba projekty wskazane przez Krzyśka powstały w 1991 roku. Co to za projekty?

Vim

Wolnodostępny edytor tekstowy i graficzny, nazywany edytorem dla programistów (programmer’s editor). Wspiera setki języków programowania i formatów plików.

28 lat po premierze jest piątym najbardziej popularnym środowiskiem developerskim według Stack Overflow. Społeczność skupiona wokół Vima prowadzi odwieczny spór (editor war) z użytkownikami innego edytora – Emacsa. W zespole Sidnet mamy zwolenników jednego i drugiego narzędzia. Krzysiek stroni od tego typu sporów, uznając je za kontrproduktywne. Natomiast Vima polubił tak bardzo, że przekazuje na jego rzecz już 5. darowiznę w ramach akcji Sidnet.

„Lata temu spróbowałem Vima i pozostałem przy nim ze względu na jego elastyczność, rozszerzalność o kolejne funkcje, ale przede wszystkim efektywność. Vim to wzorcowy przykład oprogramowania typu charityware. Jest rozwijany zupełnie bezinteresownie, a darowizny od użytkowników są przekazywane dzieciom z Ugandy” – mówi Krzysztof.

Ubocznym skutkiem akcji #DarowiznySidnet jest to, że Sidnet znalazł się na liście Hall of honour dostępnej na stronie Vima.

Fundacja na rzecz Nauki Polskiej

Największa w Polsce organizacja pozarządowa wspierająca naukowców i zespoły badawcze. Od 1991 roku finansuje stypendia dla młodych naukowców. Co roku przekazuje stypendystom łącznie aż 3 miliony złotych. Sprawia, że naukowcy przed trzydziestką nie muszą martwić się o utrzymanie w pierwszych latach kariery naukowej.

„Obszar naukowy jest bliski mojemu sercu. Niestety wybitni naukowcy (nie tylko z najmłodszego pokolenia) najczęściej zarabiają mniej niż reszta społeczeństwa i muszą wybierać między pracą naukową a bardziej dochodowymi zajęciami. Powinni dostawać możliwość skoncentrowania wysiłków na tym, w czym są najlepsi. Fundacja pomaga im także w komercjalizacji odkryć i wynalazków. Wszyscy na tym korzystamy” – mówi nasz lead developer.

#DarowiznySidnet: Staszek dla LibreOffice i Fundacji Pomagam

Wrzesień to dla Staszka miesiąc debiutów. W zeszłym roku o tej porze dołączył do zespołu. Teraz, po raz pierwszy wskazuje odbiorców darowizn. Michał Staszewski „Staszek” w Sidnet zajmuje się sprzedażą. W dużym skrócie, sprawia, że klient lepiej rozumie zespół techniczny, a zespół techniczny – klienta.

Sprawdź, jakie projekty open source i charytatywne zyskają finansowe wsparcie dzięki wyborom Staszka.

LibreOffice

Pakiet programów biurowych o otwartym kodzie źródłowym. Używany przez dziesiątki milionów osób na całym świecie, w tym ministerstwa Francji, Włoch czy Tajwanu. Dostępny w 110 językach. Rozwijany przez The Document Foundation – organizację non-profit, działającą dzięki wolontariuszom. Rozpowszechniany na licencji Mozilla Public License.

„Zacząłem używać LibreOffice jeszcze w szkole, kiedy potrzebowałem bezpłatnej alternatywy dla Microsoft Office. Minęło kilka lat, a ja nadal używam go w codziennej pracy. Co więcej, trafiłem do zespołu, który świadomie rezygnuje z rozwiązań komercyjnych, wspierając rozwiązania open source, takie jak LibreOffice” – wyjaśnia Staszek.

Za co Staszek lubi LibreOffice?

  • Wielofunkcyjność. LibreOffice to najbardziej wszechstronny pakiet biurowy typu open source. Zawiera w sobie takie narzędzia jak: Writer (edytor tekstu), Calc (arkusz kalkulacyjny), Impress (edytor prezentacji), Draw (edytor grafiki), Base (edytor baz danych) i Math (edytor wzorów matematycznych).
  • Różnorodność formatów. LibreOffice obsługuje pliki o różnych rozszerzeniach, w tym formaty pakietu Microsoft Office (.docx, .xlsx czy .pptx). Własny, otwarty format .odf (OpenDocument Format) ma być gwarancją wiecznego dostępu do danych, bez względu na sytuację twórców rozwiązań komercyjnych.
  • Rozszerzenia. Jak przystało na oprogramowanie o otwartym kodzie źródłowym, LibreOffice daje się rozszerzać o kolejne funkcje. W internecie można znaleźć szereg bezpłatnych pluginów, w tym m.in.: słowniki, szablony dokumentów czy narzędzia usprawniające eksport plików.

Fundacja Pomagam

Łódzka fundacja niosąca pomoc chorym dzieciom i podopiecznym domów dziecka. Staszkowi znana „z pierwszej ręki”.

„Gdy mieszkałem w Łodzi, poznałem Prezes Fundacji – Ewę. Dzięki jej zapałowi zainteresowałem się pomocą innym, a zwłaszcza chorym dzieciom. Pomagałem Ewie m.in. w organizowaniu zbiórek i transporcie” – mówi Staszek.

Fundacja Pomagam od 2006 roku przekazała potrzebującym ponad milion złotych. Dofinansowuje leczenie i rehabilitacje chorych dzieci. Tym z domów dziecka zapewnia wsparcie materialne i w edukacji, a także pozytywne doświadczenia – wyjazdy edukacyjno-integracyjne, zajęcia sportowe, warsztaty z psychologami czy dogoterapie.

„W sierpniu przyszłego roku biorę ślub. Chcę, by moi goście zamiast kwiatów przynieśli artykuły szkolne dla podopiecznych Fundacji. Będą w sam raz na rozpoczęcie roku szkolnego” – zachęca do niesienia pomocy Staszek.

Komputery kwantowe i machine learning. Relacja z Data Science Łódź #16

Zainteresowanie analizą danych i big data zaprowadziło nas na Data Science Łódź #16. W końcu uczenie maszynowe z użyciem komputerów kwantowych to wciąż przetwarzanie danych, choć na poziomie zaawansowania dotąd nieznanym ludzkości.

Poznaj kluczowe pojęcia związane z kwantowym uczeniem maszynowym (QML).

Komputer kwantowy IBM Q
Komputer kwantowy IBM Q. Connie Zhou/IBM (Flickr).

Maciej Adamiak z SoftwareMill i Uniwersytetu Adama Mickiewicza podczas treściwej prelekcji „Quantum-assisted machine learning” zaprezentował algorytm uczenia maszynowego, łączący działanie klasycznego komputera z komputerem kwantowym. Pokazał także przykłady kodu w Pythonie, uruchomionego wcześniej na komputerze kwantowym. Wykorzystał do tego chmurę IBM i odpowiednie biblioteki.

Pozytywnie zaskoczył nas poziom merytoryczny spotkania. Poza prelegentem, także uczestnicy wykazali się wiedzą – i to nie tylko w ogólnym obszarze data science, ale też w zupełnie świeżym temacie kwantowego uczenia maszynowego.

Jako podsumowanie prelekcji przedstawimy kluczowe pojęcia i ciekawostki, obrazujące obecny stan rozwoju komputerów kwantowych.

Kubity – jednostki komputera kwantowego

1 GB danych w zero-jedynkowych bitach można zapisać z wykorzystaniem ok. 30 kubitów (niepodzielnych jednostek komputera kwantowego). Maszyny operujące kubitami mogą wykonać wiele obliczeń jednocześnie, w przeciwieństwie do klasycznych komputerów. To jednak nie oznacza, że ich powszechne użycie szybko stanie się opłacalne.

Przewiduje się, że komputery kwantowe dopiero za kilka lat przewyższą mocą komputery klasyczne. Pojedyncze, dostępne obecnie maszyny operują zaledwie na ok. 30 kubitach.

Przyspieszenie algorytmu dzięki splątaniu kwantowemu

Maszyny kwantowe pozwalają na szybsze uzyskanie wyniku. Przyjrzyjmy się algorytmowi, działającemu ze złożonością O(n). Przykładowo, taki algorytm musi sprawdzać każdy element w n-elementowym wektorze. Dzięki komputerowi kwantowemu, możemy być pewni wyniku po sprawdzeniu jedynie kilku elementów tego wektora (złożoność stała O(1)). Pozwala na to “splątanie” komórek wektora w komputerze kwantowym, analogiczne do kwantowego splątania dwóch cząstek.

Losowość osiągana przez komputer kwantowy

Komputer kwantowy jest w stanie otrzymać prawdziwą losowość, podczas gdy na powszechnie stosowanych komputerach zawsze występuje jakiś seed. Dzięki maszynom kwantowym wystarczy wprowadzić kubit w stan superpozycji, gdzie prawdopodobieństwo, że kubit jest albo 1 albo 0 rozkłada się po połowie. To oznacza prawdziwy (czyli pochodzący z natury kwantowości), niedeterministyczny wybór.

Trudności w wykonywaniu obliczeń kwantowych

Korzystanie z komputera kwantowego wiąże się współcześnie z wieloma niedogodnościami. Opanowanie skomplikowanej wiedzy o zapisywaniu algorytmów w komputerze kwantowym to jeszcze nie wszystko. Wykonanie obliczeń przy obecnym stanie technologii komputerów kwantowych wymaga skrajnej ostrożności i skrupulatności. Dla przykładu, konieczne jest minimalizowanie użycia bramek kwantowych, by ścieżka nie była zbyt długa. W przeciwnym razie, szum może przeinaczyć rezultat do tego stopnia, że będzie on losowy.

Dostęp do komputera kwantowego

Komputer kwantowy nie jest i jeszcze przez jakiś czas nie będzie dostępny komercyjnie. Można z niego skorzystać poprzez chmurę IBM, łącząc go z klasycznym komputerem. Maszyna kwantowa IBM Q fizycznie pozostanie na terenie firmy producenta. To dlaczego, że do poprawnego wykonywania obliczeń potrzebuje całkowitej izolacji. Znajduje się w szklanej obudowie szerokiej na ok. 2,7 m i temperaturze bliskiej zeru bezwzględnemu (-273°C). Chroniony jest nie tylko przed wahaniami temperatury, ale także innymi czynnikami jak np.: głośne dźwięki, wibracje czy promieniowanie. Najmniejsza zmiana warunków fizycznych wokół komputera kwantowego może pozbawić kubity ich właściwości.

Kod źródłowy w Pythonie, uruchomiony na komputerze kwantowym (narzędzie Jupyter)
Kod źródłowy w Pythonie, uruchomiony na komputerze kwantowym.
Zaprezentowany w narzędziu Jupyter.

Machine learning i data science to tematy, które przewijają się w projektach IT. Coraz częściej towarzyszyć im będą próby wykorzystania komputerów kwantowych do obliczeń.

Dziś próbę połączenia świata kwantowego ze światem informatyki dobrze oddaje cytat, przytoczony przez Macieja Adamiaka:

„In fact, the mere act of opening the box will determine the state of the cat, although in this case there were three determinate states the cat could be in: these being Alive, Dead, and Bloody Furious”

Terry Pratchett