6.7 KiB
Odd Stråbø
Språk
- Norsk: Morsmål
- Engelsk: Flytende
JPRM
Beskrivelse: Verktøy for kompilering av C# plugins, og vedlikehold av pakkebibliotek (plugin repository) for Jellyfin.
Mine bidrag: Ide, design, implementasjon, vedlikehold, CI og publisering.
URL: https://github.com/oddstr13/jellyfin-plugin-repository-manager
Status: Aktiv (fullt ansvar)
Kompetanser: Python, CLI, Git, GitHub, GitHub Actions (CI/CD), YAML, JSON, XML, .NET, Zip, checksum, RegEx, PyTest, Click (Python), PyPI
Tidsrom: 2020-07 til nå
Utvikling og vedlikehold av komandolinjeverktøy for kompilering, og publisering av Jellyfin plugins.
Opprinnelsen til dette verktøyet kommer fra behovet for å pålitelig kunne vedlikeholde pakkebiblioteket til Jellyfin-prosjektet.
Han har stått for design og utvikling og vedlikehold av prosjektet, som inkluderer blant annet deler av pakke-metadata formatet, og hvordan dette blir lagret i pakkene, kommandolinjegrensesnittet, og all koden som skal til for å ta kildekoden av et plugin, gjøre det om til binærfiler klare for dirstibusjon (ved hjelp av kommandolinjeverktøyet dotnet
) og selve publiseringen av pakker til biblioteket slik at Jellyfin kan finne og oppdatere pakkene.
Jellyfin Cover Art Archive Plugin
Beskrivelse: Ett Jellyfin plugin for å hente metadata (CD-cover bilder) fra Cover Art Archive.
Mine bidrag: Innledende implementasjon og oppsett av CI/CD, samt noe pågående vedlikehold.
URL: https://github.com/jellyfin/jellyfin-plugin-coverartarchive
Status: Aktiv (delt ansvar)
Kompetanser: C#, .NET, dotnet, Git, GitHub, GitHub Actions (CI/CD), API, REST, YAML
Tidsrom: 2020-07 til nå
Utvikling av nytt plugin for henting av album-bilder fra Cover Art Archive. Oppsett av GitHub Actions CI for å enkelt kunne publisere nye versjoner.
Jellyfin for Kodi
Beskrivelse: Jellyfin addon for Kodi mediasenter
Mine bidrag: Opprydding og rebranding etter fork, optimalisering, vedlikehold, feilsøking, publisering
URL: https://github.com/jellyfin/jellyfin-kodi
Status: Aktiv (project lead)
Kompetanser: Python, SQLite, PyTest, Kodi, API, REST, JSON, Git, GitHub, GitHub Actions (CI/CD), Devcontainers
Tidsrom: 2019 til nå
Hans arbeidsoppgaver på dette prosjektet har inkludert blant annet modernisering av kodebasen, optimalisering, vedlikehold, feilsøking og feilretting. Han har hovedansvar for publisering av nye versjoner, samt review av pull-requests og issue-triage.
Mye av arbeidet har gått ut på å modernisere kodebasen for å gjøre den lettere å vedlikeholde, samt å sette opp CI/CD for å lette arbeidet med å publisere nye versjoner.
Solar panel monitoring
Beskrivelse: Dette prosjektet går ut på å koble en generisk MPPT solcellekontroller til ett standardisert hjemmeautomasjons system.
Mine bidrag: Idé, reverse engineering, feilsøking og programmering
URL: https://git.service.openshell.network/oddstr13/srne-mqtt
Status: Aktiv
Kompetanser: Python, MQTT, logic analyzer, Git, PyTest, struct, JSON, Python typing, Serial (RS-232), RRD, Bluetooth, BLE, Home Assistant, Java, De-compile, reverse-engineering, elektronikk
Tidsrom: 2021 til nå
Dette prosjektet har hovedsaklig bestått i å finne ut av hvordan ett udokumentert grensesnitt fungerer, og hvordan trekke ut den interesange informasjonen fra enheten. Solcelleladeren hadde en blåtannmodul tilgjengelig som ekstra tilbehør, og med denne hørte det til en android app.
Protokollen er blitt delvis dokumentert ved hjelp av opptak av blåtannkommunikasjon og logikkanalysator, samt tolking av den sterkt obfuskerte dekompilerte java app-koden.
Ett Python bibliotek for å kommunisere med blåtannmodulen ble først utviklet, men siden ble denne modulen byttet ut med en direkte serielltilkobling for økt stabilitet.
Data blir sendt til via MQTT til Home Assistant som gir tilgang til ett raskt overblikk i en android app samt styring av utstrøm, men også sendt vidre til Prometheus og InfluxDB for bruk til grafer i Grafana.
Personlig nettside
Beskrivelse: Personlig blog og fotogalleri
URL: https://github.com/oddstr13-openshell-no/django-website
Status: Aktiv (Personlig nettside, fullt ansvar), maintainance backburner
Kompetanser: Python, Django, PostgreSQL, SQLite, Docker, nginx, HTML5, CSS3, gunicorn, Linux, SSL, Git, GitHub, supervisord
Roller: Systemutvilker / Devops / Backend / Frontend / Web admin
Tidsrom: 2014 til nå
Dette prosjektet består i en personlig nettside som er utviklet fra bunnen av ved hjelp av rammeverket Django. Store deler av koden består av Python, resten er stort sett Jinja templating, HTML 5 og ren CSS 3, med noe JavaScript for helt enkle funksjoner. I utgangspunktet var PostgreSQL brukt som database, men denne ble byttet ut med SQLite, da nettsiden ser veldig lett trafikk, og det er lettere å flytte en filbasert database enn en serverbasert løsning.
Nettsiden består av en enkel blog, et galleri og en "pastebin" for deling av mindre kodesnippets.
Hele prosjektet, inklusive programmering og server oppsett er ett enmannsprosjekt. Alt fra å installere operativsystemet på serveren til å konfigurere serverprogrammvaren med SSL sertifikat.
Topptrim Oppdal
Beskrivelse: Hjemmeside for frivillig organisasjon.
Project scope: Full stack devops
Mine bidrag: Hele prosessen med design og programmering av frontend og backend, inklusive overføring av data fra den gamle nettsiden, etter bestilling fra kunde. Pågående drift, og publisering av nytt innhold.
URL: https://topptrimoppdal.no/
Status: Aktiv (fullt ansvar)
Kompetanser: PHP, MySQL, HTML5, CSS3, JavaScript, Leaflet (maps), Git, SFTP, Click (Python), SQLAlchemy, CSV, JSON
Roller: Systemutvilker / Devops / Backend / Frontend / Web admin
Tidsrom: 2012 til nå
Utviklet ny nettside for publisering av nye turmål ved nyttår, og overført data fra gammelt system. Oppdatering av nettsiden når endringer i underliggende teknologier gjør dette nødvending. Vedlikehold av nettsiden, oppdatering og publisering av ny informasjon. Utvikling av komandolinjeverktøy for å gjøre det lettere å normalisere data og publisere informasjon til databasen.
Njord
Beskrivelse: IRC-bot skrevet i Python
URL: N/A, var hostet på BitBucket før Atlassian slettet alle prosjekter som brukte Mercurial versjonkontroll
Status: Inaktiv
Kompetanser: Python, IRC, Text parsing, Linux, Chatbot, hot-reloading, SVN, Mercurial, Pluginarkitektur, OOP, socket, XML, API, RegEx, JSON, REST, Unicode, UTF-8
Roller: Systemutvikler / Devops / Backend
Tidsrom: 2009 til 2015
Utvikling av IRC chat bot med plugin system. Plugin kan hot-reloades.