Why analyses of GitHub’s Open-source software teams of developers will continue it’s growth.

1) GitHub is *the thing*. It have a modern UI which follows current trends. It’s easy in use, it have only one mechanism of version control, which is of course – Git. It have it’s own culture and fans (e.g. octocat, gadgets, stickers, etc.). Despite the fact it is sometimes blocked (e.g. in China) and have short shortages, it is highly reliable and refreshes data on the web pages immediately after a single change made from the git client / protocol (Yes, Git is also a protocol).

2) GitHub have biggest number of users and projects. More than SourceForge.

3) GitHub don’t have advertisements on their website. And will never have as there is no such need for them. While SourceForge is currently packed with wide blocks of different advertisement (probably to keep their funds running), GitHub webpage is clean and feature-oriented.

4) Probably most important – rich API for developers and researchers. It made for creating solutions like GitHub Torrent (http://ghtorrent.org/). It allowed Google BigQuery to use GitHub timeline data. It’s possible to create your own local instance of MongoDB or MySQL database holding all events from the GitHub timeline. Thanks to fast and secure OAuth for webapps application like Open Source Report Card (https://osrc.dfm.io/) could be created.

5) Trend analysis on Google Scholar proves my point. Number of papers involving GitHub is increasing, while number of articles on SourceForge is decreasing. There is a small number of people in the World who make high quality FLOSS* research using only GitHub data, and they work is quite often cited, despite the fact it’s a new research (papers from 2014, 2015).

Source: self-made in Feb 2015
Source: self-made in Feb 2015

6) There are many externals apps which support continuous integration and management of OSS teams. Example of an automatic-build system is drone.io. There is research in Academia about possible task-assignment strategies in OSS teams as well as creating central planners for work distribution. And what’s most important – papers regarding possible quality models in FLOSS teams and results from analyzing teams on GitHub.

7) GitHub employees are present at many important conferences regarding FLOSS and / or web technologies. Ivan Žužak will be a speaker at one of workshops at 11th Intl. Conf. on Open Source Systems (Florence, 2015). They are very keen about making an impact and helping the open-source community.

There are 257 people from all over the globe working at GitHub. Meet them here.

8) There is a high quality manual for mining the GitHub, as well as know-how of avoiding perils in OSS analysis (e.g. forks vs mother repositories, push model vs. fork-push). Check out:

Eirini Kalliamvakou et.al., “The promises and perils of mining GitHub” – http://dl.acm.org/citation.cfm?id=2597074
“Analyzing Millions of GitHub Commits – Ilya Grigorik” – https://www.igvita.com/slides/2012/bigquery-github-strata.pdf

You can read more on my other post @(https://oskarj.wordpress.com/2014/05/07/playing-with-github-data-and-researching-oss-current-state-of-art/) from the previous year.. Feel free to leave a comment below.

*FLOSS – Free/Libre Open Source Software

Telefon Samsung ATIV S (I8750) – uwaga na skradziony smartfon

Został skradziony mój telefon, prawdopodobnie przez Pocztę Polską – przesyłka nadana już opłaconym listem zwykłym do punktu skupu skupujemy.allegro.pl (zaoferowano dobrą cenę). Porządnie zapakowana w dedykowaną kopertę bąbelkową i nadana na UP ul. Burgaska, Wa-wa. Niestety nigdy nie dotarła do adresata.

Jeżeli niedawno (w sierpniu 2015 lub później) zakupiłeś taki telefon, sprawdź proszę jego IMEI. Tutaj opis, jak to zrobić: Microsoft.com FAQ – Jak sprawdzić numer IMEI mojego telefonu?

Dane skradzionego aparatu:

IMEI: 354084050358098
Windows Phone 8 (8.10.14157)

Zrzut ekranu z
Zrzut ekranu z “my devices” windows account, ostatnia znana lokalizacja i IMEI skradzionego telefonu

Będę informował o postępie sprawy i dodawał nowe informację (m.in numer seryjny telefonu, adres MAC karty WiFi, zgłoszenie na policję), dlatego post na blogu może się zmienić.

Jeżeli masz taki telefon (wbity IMEI i numer seryjny na naklejce), oferuję zwrot całej poniesionej kwoty. Chodzi o informacje, które mogą uchronić inne osoby przed paserami i złodziejami.

A może by tak.. usunąć konto na GoldenLine?

Mam konto zarówno na LinkedIn jak i GoldenLine. Na oby dwóch stronach przychodzą oferty pracy. No właśnie. Mam ten luksus, że rekruterzy sami do mnie piszą, ale rodzaj ogłoszeń diametralnie różni się między tymi dwoma portalami. Już pomijam oczywisty fakt, że wiele ogłoszeń jest niedopasowanych do doświadczenia, i tu i tu dostaję oferty programistyzne jak i z DS (data science), jednak te najciekawsze (zagraniczne) kąski przychodzą tylko na LinkedIn-ie. Posiadanie zyliona kont w różnych serwisach wprowadza zamęt w głowie, i zastanawiam się, czy swojej ostatnio praktywowanej zasady minimalizmu w życiu nie zacząć implementować również w Internecie.

Moja opinia o Coursera :)

Póki co, mogę się wypowiedzieć bazując jedynie na kursie “Machine Learning”, który jakiś czas temu przeszedłem na portalu Coursera.org. To co zaimponowało, to świetny dobór prowadzącego, Andrew Ng nie dość, że jest specjalistą w swoim fachu, to jeszcze potrafi w prosty sposób przekazać zaawansowaną matematyczną wiedzę dotyczącą uczenia maszynowego. Każdy etap kursu ma minimum jeden test składający się z jednego lub kilku pytań. Prowadzący używa tableta (digitizera) z dokładnym pisakiem, co pozwala mu na bieżąco rysować w trakcie przeprowadzania wykładu. Przykłady z danymi są bardzo życiowe i podobne do scenariuszy, z jakimi zmagają się Data Scientists na codzień.

Idealnym połączeniem jest przejście tego kursu z jednoczesnym czytaniem książki Daniela T. Larose “Metody i modele eksploracji danych”. Może się zdarzyć, że na przykład oznaczenia zmiennych w regresji będą różne, ale książka ma kilka rozdziałów, które zdecydowanie uzupełnią więdzę m.in. o redukcję wymiarów, więcej metod regresji, itp.

Wiedza zdobyta przez doświadczenie > Coursera > Uczelnia

gdzie ‘>’ to znak wyższości lewego elementu nad prawym :)

Fajny poradnik od Harvarda o tym, jak uniknąć nieświadomego plagiatu

What Constitutes Plagiarism?

From: http://isites.harvard.edu/icb/icb.do?keyword=k70847&pageid=icb.page342054

Szukając informacji w necie na temat hipotetycznych podobieństw między istniejącymi publikacjami (książkami) na tematy związane z informatyką, natrafiłem na fajne opracowanie od Harvarda dotyczące zasad cytowania czyjejś pracy. We wstępie autor ostrzega, że za plagiat uznaje się “przywołanie czyjegoś pomysłu lub jego tekstu (wypowiedzi) bez podania źródła (pochodzenia) tej informacji”. Warto sobie poczytać w wolnej chwili o sprawach tak oczywistych – a nóż może w sposób nieświadomy błędnie rozumianych – przede wszystkim ze względu na istotność tematu w procesie twórczym.

W oryginale: “In academic writing, it is considered plagiarism to draw any idea or any language from someone else without adequately crediting that source in your paper.”

No i w końcu, co tu ukrywać, to poradnik od Harvarda, więc wertować zasoby w ciemno. A potem sprawdzić co to jest Harvard quoting style (o którym tak naprawdę pierwszy raz usłyszałem na Erasmusie w Leeds) oraz Harvard comma.

Link: http://isites.harvard.edu/icb/icb.do?keyword=k70847&pageid=icb.page342054

Very good article on Singleton in Java – a part of Gang of Four design

Author makes comprehensive review of existing ways to implement singleton: lazy loading, enums, double check locking, and volatile keyword. The number of 225155 page views as on 13.10.2014 since 02.13.2013 speaks for itself. You can visit it here.

Quick glance on the introduction:

Singleton is a part of Gang of Four design pattern and it is categorized under creational design patterns.
In this article we are going to take a deeper look into the usage of the Singleton pattern. It is one of the most simple design pattern in terms of the modelling but on the other hand this is one of the most controversial pattern in terms of complexity of usage.
In Java the Singleton pattern will ensure that there is only one instance of a class is created in the Java Virtual Machine. It is used to provide global point of access to the object. In terms of practical use Singleton patterns are used in logging, caches, thread pools, configuration settings, device driver objects. Design pattern is often used in conjunction with Factory design pattern. This pattern is also used in Service Locator JEE pattern.

Singleton Design Pattern – An Introspection w/ Best Practices