De beste tipsene fra de norske GitHub-stjernene

- Å bare dele kode er ikke nok, forteller førsteplassen på den norske topplista.

Koden som blir lagt ut på GitHub bør være dokumentert med en vedlagt lisens. På denne måten kan andre bruke prosjektene, sier Abhishek Thakur. 📸: Privat
Koden som blir lagt ut på GitHub bør være dokumentert med en vedlagt lisens. På denne måten kan andre bruke prosjektene, sier Abhishek Thakur. 📸: Privat Vis mer

- Utviklere bør dele så mye som mulig på GitHub. Å bare dele kode er ikke nok, sier Abhishek Takur, til kode24.

Sammen med Anders Hoff og Anton Babeko er han den mest fulgte på GitHub i Norge, ifølge en toppliste.

Thakur er på førsteplass med 5.461 følgere, fulgt av Hoff med 3.624 følgere, og Babenko med 2.579 følgere.

Åpen kildekode

Abhishek Thakur, som har førsteplass på den norske lista, arbeider med åpen kildekode-utvikling i Huggingface, og har for tiden 74 repoer på GitHub.

Ved siden av driver han en Youtube-kanal med videoer om blant annet maskinlæring og datavitenskap. Han er også verdens første firdoble stormester på datavitenskapsplattformen Kaggle, og har skrevet boka Approaching (Almost) Any Machine Learning Problem.

- Hva er hovedprosjektene dine på GitHub?

- Jeg vil ikke definere ett prosjekt som hovedprosjektet mitt. Jeg liker å dele hva jeg gjør på fritiden, og noen ganger på jobb, på GitHub for å hjelpe andre. Ett av de nyeste prosjektene er AutoXGB, som er en veldig enkel kombinasjon av Optuna og XGBoost.

Et annet prosjekt han holder på med er Tez - en trener for PyTorch.

- Jeg har også lagt ut boka mi på GitHub som åpen kildekode! Bortsett fra dette har jeg mange repoer som er en del av YouTube-gjennomgangene mine.

Gir god eksponering

Thakur sier at koden som blir lagt ut på GitHub bør være dokumentert med en vedlagt lisens.

- På denne måten kan andre bruke prosjektene. Å gjøre kode tilgjengelig for andre gir også god eksponering når man leter etter nye roller.

- Er det noen kule, kommende prosjekter som du vil dele?

- Det er flere ting jeg har i tankene, men som jeg ikke kan jobbe med på grunn av dårlig tid. Den neste tingen jeg bygger er MLSpace. MLSpace bruker docker og hjelper data science-utviklere å administrere utviklingsmiljøet sitt.

Han hevder at med MLSpace trenger ikke utviklere bekymre seg over CUDA, CuDNN-versjoner, Tensorflow, PyTorch-versjoner eller kompabiliteten eller installeringen av IDE-er, som VSCode.

- Enkelt sagt: Det vil gjøre arbeidet til dataforskere og maskinlæringsutviklere enklere, sier han.

Driver kunstprosjekt

Andreplass på listen, Anders Hoff, har i skrivende øyeblikk 64 repoer på GitHub. Han sier at prosjektene består i hovedsak av kode som lager generativ kunst eller verktøy han har utviklet for å bidra i prosessen.

- På dette tidspunktet er ganske mange av prosjektene utdaterte. Så det er nok ganske vrient å få de eldste til å kjøre, sier han til kode24.

Ifølge Hoff har han delt mye av arbeidet på Twitter - enten i forma av bilder fra prosessen eller endelige resultater.

- I tillegg har jeg skrevet blogposter om det jeg holder på med på nettsiden min. Noen av prosjektene og arbeidene mine har blitt delt på Hacker News fra tid til annen.

- Har du noen tips til andre Github-ere?

- Det avhenger nok en del av hva slags kode man arbeider med. For min del så vil jeg si at gode beskrivelser av algoritmer og konsepter er mer nyttig for å lære, enn selve repoet. Derfor pleier jeg å anbefale folk som er interessert i det jeg arbeider med å lese på nettsiden min, snarere enn å se på kode.

HashiCorp Terraform

- Ikke prøv å forandre alt i en enkel pull request, sier Anton Babeko, CTO i Betajob AS, som er tredjemann på lista.

Anton Babenko forteller at han utvikler og vedlikeholder flere store prosjekter. De er i hovedsak rettet mot brukere som håndtere infrastruktur som kode ved hjelp av HashiCorp TerraformAWS public cloud.

Prosjektene til Babenko inkluderer å lage AWS-moduler for Terraform, samt ulike verktøy slik som pre-commit-terraform, gratis ebøker og workshops om Terraform.

- Hva slags kode består i hovedsak prosjektene dine på GitHub i?

- Hovedfokuset er på gjenbruksbare Terraform-moduler, så jeg bruker HashiCorp Configuration Language (HCL) i de fleste tilfellene - fulgt av Shell og Python.

Vær konsistent

Babenko presiserer at antallet følgere er mindre enn 10 prosent av folkene som aktivt bruker prosjekter han utvikler eller vedlikeholder.

- Faktisk blir en stor andel av følgerne med etter å ha sett mine ukentlige streams der jeg utvikler ulike prosjekter, fikser problemer, besvarer spørsmål, eller anmelder andre folks produkter.

- Har du noen tips til andre Github-ere?

- Prøv å være konsistent - svar på issues eller gjør jevnlige pull-request reviews i prosjektene som interesserer deg.

Han legger til at dersom du har enkle ideer eller kan dedikere til til eksisterende prosjekter, ta alltid kontakt med maintainers via GitHub issues og tilby hjelp.

- Det er mye arbeid som må gjøres som er ganske usynlig. Men du vil få både erfaring og følgere.

Mest aktive

Når det gjelder de mest aktive Github-erne i Norge er det fremdeles Geir Gåsodden under brukernavnet zrrzzt som topper lista, ifølge commits.top. Antallet commits har sunket fra 13.980 til 8.189 i 2020.

På andreplass finner vi brukernavnet Flangvik, med 4.198 commits.

På tredjeplass er Markus Tacker, under brukernavnet coderbyheart, med 3.984 commits.

Ifølge en annen oversikt er også verdens mest stjernede GitHub-bruker en nordmann, nemlig Sindre Sørhus med hele 573.359 stjerner.

Sørhus jobber med åpen kildekode på fulltid, er særlig interessert i Swift og Javascript, og lager MacOS-apper, CLI verktøy og NPM-pakker.

Sørhus har dessuten godt over 45.000 følgere på GitHub.

Sørhus ønsker ikke å la seg intervjue av kode24.