#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

From: Dawid, Sidnet | To: jQuery + Schronisko w Tczewie

Nasi programiści pracują z różnych lokalizacji, ale najbardziej oddalone od biura w Warszawie jest rodzinne miasto Dawida. Na co dzień pracujący z Tczewa, Dawid Jancen od niemal 5 lat zajmuje się programowaniem frontendu i aplikacji SPA (single-page applications).

Zapytany o projekty open source i charytatywne zasługujące na wsparcie, wskazał te, które już kilkakrotnie otrzymały naszą darowiznę z jego inicjatywy. Tym sposobem Dawid 3. raz pomaga twórcom biblioteki jQuery, a po raz 4. „lokalsom” – Schronisku w Tczewie.

jQuery

Biblioteka JavaScript pomocna przy tworzeniu frontendu aplikacji webowych. Otwarte oprogramowanie z licencją MIT, obecnie rozwijane przez JS Foundation. Używane przez 73% z 10 milionów najbardziej popularnych serwisów internetowych, w tym: Wikipedię, Twittera czy LinkedIn. Przez nas wykorzystywane w wielu projektach, m.in. w systemie do sprzedaży i zarządzania usługami UK2.

Co daje nam biblioteka jQuery?

  • Pluginy. Wiele bezpłatnych dodatków do wykorzystania w interfejsie, formularzach czy mechanizmach AJAX.
  • Animacje. Gotowe do wdrożenia efekty zwiększające atrakcyjność interfejsu. Powód, dla którego biblioteka jQuery jest lubiana przez web designerów.
  • Krótki kod. Zgodnie ze sloganem „Write less, do more”, jQuery potrafi wiele zdziałać za pomocą krótkich linijek kodu.
  • Niezależność od przeglądarki. Biblioteka funkcjonuje we wszystkich najpopularniejszych przeglądarkach internetowych. Nie ma potrzeby dostosowywać kodu do każdej z nich.

„jQuery to pierwsza biblioteka, z której nauczyłem się korzystać, kiedy zacząłem przygodę z JavaScriptem. Istnieje od 13 lat i skupia wokół siebie aktywną społeczność, dzięki czemu łatwo znaleźć rozwiązania nawet najrzadszych problemów” – mówi Dawid.

Schronisko w Tczewie

Schronisko dla psów i kotów, od 2007 prowadzone przez OTOZ Animals. Organizuje adopcje, edukuje, otacza opieką swoich mieszkańców. W czerwcu na terenie schroniska otwarto Staruszkowo – miejsce dedykowane psim seniorom.

„Kilku moich znajomych było zaangażowanych w działalność tego schroniska. Stąd wiem, że schronisko w Tczewie stale potrzebuje datków na swoich podopiecznych” – uzasadnia nasz programista.

Ogólnopolskie Towarzystwo Ochrony Zwierząt OTOZ Animals zajmuje się nie tylko przygarnianiem zwierząt. Realizuje tysiące interwencji rocznie, prowadzi spotkania w szkołach, organizuje coroczne ogólnopolskie akcje zachęcające do adopcji i wspiera protesty, walcząc z okrucieństwem wobec zwierząt.