Fablab Factory søger studerende og freelancere!

Kunne du tænke dig at blive en del af vores team, og er der i listen over projekter nedenfor et eller flere projekter, der interesserer dig? Det er muligt som studerende i sommerferien eller på fast basis i løbet af året.

Er du færdiguddannet og/eller har du en solid færdigheder inden for softwareudvikling (backend, frontend eller beregningsgeometri), så tøv ikke med at kontakte os. Vi er altid på udkig efter sådanne profiler!

Kontakt os ved at bruge formular nedenfor og angiv, hvad du er interesseret i. En portfolio er altid velkommen!

Vores mission

Vi ønsker at give alle mulighed for at blive en maker - udstyret med de nødvendige kompetencer inden for STEAM (Science, Technology, Engineering, Arts & Mathematics) og CT (Computational Thinking).

Aktiviteter

Fablab Factory blev grundlagt i 2015, oprindeligt med ambitionen om at give skoler og andre organisationer den infrastruktur, knowhow og uddannelse, der er nødvendig for at starte et fablab. Fra 2019 havde vi også et tilbud specifikt rettet mod bibliotekskonteksten, FabLib blev født! I 2019 begyndte vi også at udvikle en avanceret digital læringsplatform - Lær, lav og del, som blev lanceret i betaversion i slutningen af 2020. Dermed er FabLab Factory godt på vej til at blive en software EdTech-virksomhed (Educational Technology). I efteråret 2021 lancerer vi en STEAM-pakke til undervisning. 

Lær gør dele

Hvis du surfer til learnmakeshare.io, du kan logge ind der som gæst.

Formålet med dette LMS er at give alle, unge som gamle, mulighed for at tilegne sig maker-kompetencer. Med henblik herpå hviler det på 3 søjler: Læring, fremstilling og deling. I de følgende afsnit vil vi uddybe dette. 

Det udviklede undervisningsmateriale er i øjeblikket fokuseret på unge mellem 10 og 14 år, men det er naturligvis hensigten at udvide dette område fuldstændigt.

Det er vigtigt, at dette LMS er og forbliver i betaversion indtil udgangen af 2021.

Softwareprojekter:

Den indbyggede WYSIWYG-editor i Moodle bruger forældet teknologi (bogstaveligt talt). At implementere en helt proprietær editor er i øjeblikket umuligt, ligesom det er umuligt at bygge sit eget LMS. Så vi er nødt til at forbedre den eksisterende editor. Dette projekt er faseopdelt.

1. FASE I

Den første fase af dette projekt er at rydde op i editoren. Mere specifikt:

  • Fjernelse af unødvendige plugins
  • Tilføjelse af en "html cleaner + formatter", der formaterer indholdet i realtid i overensstemmelse med vores retningslinjer. Det er vigtigt, at alle komponenter indeholder de korrekte klasser, så vores CSS kan gøre sit arbejde. Desuden skal underlige konstruktioner fjernes/justeres.
  • Flyt om nødvendigt de indsatte billeder til vores egen filserver, så oversættelsesserveren kan gøre sit arbejde.

2. FASE II

På dette tidspunkt burde editoren allerede køre god, ren html, men den er derfor endnu ikke brugbar. I denne fase tages der fat på UX ved at omdanne editoren til en blokbaseret editor. Konkret vil editoren i realtid angive, hvilke komponenter man kan tilføje. Den eneste måde at tilføje en sådan komponent på er ved at trykke på en knap og udfylde en pop-up.

Forudsætninger

  • PHP, Javascript

Dette projekt handler om den del af Learn Make Share, der handler om at dele. Mere specifikt vil det være en (afpudset) Mahara-instans. Den skal ikke kun integreres med Moodle, men også med vores ID-udbyder og vores oversættelsesserver. Der skal kigges på editoren (kan være et eget projekt) for at gøre det så enkelt som muligt at opbygge sin egen portefølje.

Forudsætninger

  • PHP, Javascript
  • Skal kunne arbejde selvstændigt på grundlag af dokumentation

Relateret til Forslag DESIGN4: UI/UX E-Portfolio

I denne fase vil 3DSlicer's backend blive behandlet. Den vil blive forbundet til vores API-servere som en oauth2-klient (ligesom SVG-editoren), således at f.eks. følgende ting bliver mulige:

  • Afskærmningsmuligheder baseret på badges
  • Liste over tilgængelige maskiner
  • Gør straks gcode tilgængelig på det personlige drev og maskinerne, forudsat at du har forbindelse til det lokale netværk.

Forudsætninger

  • Javascript, ...
  • Webudvikling i almindelighed

Hver Makercart vil med tiden blive udstyret med en IoT-enhed til bl.a. at overvåge maskinerne. I øjeblikket synkroniserer denne enhed løbende med en (slags) offentlig Drive-mappe og tilbyder filerne til vores maskiner. Med tiden vil dette naturligvis ikke være nok. Dette kan blive et stort projekt, så vi arbejder i faser:

1. FASE I

Den første fase vil være at forbinde disse enheder til vores API-servere. Godkendelsen vil især ske via en hemmelighed fra maskine til maskine. IoT-enheden kan derefter f.eks. holde en web-socket åben med et bestemt slutpunkt eller foretage en afstemning med jævne mellemrum.

IoT-enheden skal offentliggøre maskinernes status og brug til en form for logningsendepunkt. Brugere med de relevante tilladelser kan derefter hente disse oplysninger.

Bemærk, at maskinen ikke arbejder med personlige oplysninger. Derfor er en simpel maskine-til-maskine-hemmelighed ikke sikker nok.

2. FASE II

Efter den anden fase vil det også være muligt at få direkte kontakt med maskinerne, forudsat at man har tilladelse til det (f.eks. på grundlag af badges) og er tilsluttet det lokale netværk.

Til det formål skal enheden køre en relativt lille HTTP-server. Nu er der tale om personlige data, så den eksterne API-server vil også spille en vigtig rolle her med hensyn til autentificering. Konkret vil autentificeringen blive udført med en delvist automatiseret version af OpenID Connect-enhedsflowet. Der skal således også udvikles et brugerdefineret javascript-modul på klientsiden for at styre denne autentificering.

Nogle eksempler på ting, der skulle være mulige efter fase II:

  • Indlæs en scanning fra laserskærere, der indeholder et kamera (som Beambox), i SVG-editoren
  • Send straks filer fra browseren (SVG-editor, 3DSlicer, ...) til maskinerne.
  • I stedet for at arbejde med et offentligt drev kan vi nu montere et "personligt drev". Når du genererer G-kode, vil filen automatisk havne på dette drev.

Forudsætninger

  • God håndtering af Linux-relaterede spørgsmål
  • Javascript, Typescript, ...
  • Grundlæggende viden om API-design, OpenID Connect (eller Oauth2), sikkerhed, ...

Med SVG-editoren ønsker vi også at kunne generere maskinkode til broderimaskiner. Typiske filformater er .pes og .dst

Generering af maskinkode baseret på en .svg-fil håndteres serverside.

Nogle af de funktioner, vi ønsker at implementere:

  • For hver vektor (eller gruppe af vektorer) angives det, med hvilken sting den skal køres.
  • udfylde lukkede overflader (2D-fyld) med specifikke fyldningsmønstre i henhold til en given orientering.
  • Konvertering af et bitmap til et korsstingsmønster (f.eks. HaftiX).

Forudsætninger

  • beregningsgeometri (lineær algebra/metrologi)
  • Python

Når bitmap-billeder anvendes til visning på fysiske medier gennem digital fremstilling, skal de først konverteres til et såkaldt rastermønster. Der findes forskellige rasteralgoritmer til dette formål:

  • ordnet dithering raster
  • fejldiffusionsraster (Stucki, Floyd-Steinberg, Jarvis)
  • Farve en Sort/hvid

Genereringen af rasterbilleder håndteres servere. Det er hensigten at implementere og yderligere optimere forskellige algoritmer til laserskærere.

Forudsætninger

  • billedbehandling (bvb openCV)
  • Python

Designprojekter (+ gennemførelse):

Den indbyggede WYSIWYG-editor i Moodle bruger forældet teknologi (bogstaveligt talt). At implementere en helt proprietær editor er i øjeblikket umuligt, ligesom det er umuligt at bygge sit eget LMS. Så vi er nødt til at forbedre den eksisterende editor. Dette projekt er faseopdelt.

1. FASE I

Den første fase i dette projekt er at rydde op i editoren. Mere specifikt:

  • Fjern unødvendige plugins
  • Tilføjelse af en "html cleaner + formatter", der formaterer indholdet i realtid i overensstemmelse med vores retningslinjer. Det er vigtigt, at alle komponenter indeholder de korrekte klasser, så vores CSS kan udføre deres arbejde. Desuden skal underlige konstruktioner fjernes/tilpasses.
  • Flyt om nødvendigt de indsatte billeder til vores egen filserver, så oversættelsesserveren kan gøre sit arbejde.

2. FASE II

På dette tidspunkt burde editoren allerede producere god, ren html, men den er derfor endnu ikke brugbar. I denne fase tages der fat på UX-aspektet ved at omdanne editoren til en blokbaseret editor. Konkret vil editoren i realtid angive, hvilke komponenter man kan tilføje. Den eneste måde at tilføje en sådan komponent på er så at trykke på en knap og udfylde en pop-up.

Forudsætninger

  • PHP, Javascript

Den første fase er at tilpasse 3DSliceren til vores egen stil. Omlægningen skal ske på en sådan måde, at vi stadig kan "plukke" fra det primære udviklingslager med relativ lethed.

Forudsætninger

  • Javascript, ...
  • Webudvikling i almindelighed

Yderligere arbejde på det nuværende design, tilføje udvidelser og ekstra funktioner. Mulighed for pen-touch-aktivering af denne applikation til tablets.

Forudsætninger

  • Javascript, ...
  • Webudvikling i almindelighed

Brugere af LMS vil også kunne opbygge en e-portfolio. Til dette formål lader vi os inspirere af forskellige platforme som f.eks. Instructables og thingiverse Måske vil systemets backend være baseret på Mahara.

Forudsætninger

  • Javascript, ...
  • Webudvikling i almindelighed

Relateret til forslag SOFTWARE2: Opsætning af afsnittet Share

Er du den person, vi leder efter?