Afstudeeropdrachten2022-10-27T08:19:07+01:00

Onze afstudeeropdrachten

Kies uit tientallen uitdagende opdrachten zoals cloud, analyse, software development, analyse of bedenk zelf een project.

Analyse

Hoe maak ik mijn thuisnetwerk veilig?

Graag wil Quintor onderzoek laten uitvoeren naar hoe je een thuisnetwerk veilig maakt. Denk daarbij aan home assistent, NAS, een eigen website hosten etc.

Consultant management tool

Binnen Quintor hebben we de behoefte om een systeem te hebben voor onze consultants. We willen hier informatie in bijhouden een soort intern CRM systeem.

Home automation systems

Er zijn tegenwoordig veel oplossingen voor home automation systems. Maar wat is handig om te automatiseren en wat niet? Onderzoek de manieren en schrijf een plan en advies.

JIRA en projectrapportages & Backlog Tool

In veel van onze klantomgevingen wordt JIRA gebruikt om voortgang en voorspelbaarheid van projecten te monitoren. Tegelijk ontstaat er steeds meer behoefte aan overkoepelende structuren bij toepassing van portfolio-aanpakken. Biedt deze tooling daadwerkelijk de inzichten die de project-, portfolio- of programmamanager nodig heeft?

Safe implementeren

Veel van onze klanten hebben Safe (Scaled Agile Framework) geïmplementeerd. Vanuit Quintor hebben we onze eigen visie op Agile werken op grote schaal. Onderzoek hoe onze klanten Safe hebben geïmplementeerd.

Analyse boekje 2.0

In ons welbekende 'analyse-boekje' staat beschreven hoe Quintor een eigen aanpak voor Agile analyse heeft ontwikkeld. De aanpak voldoet nog steeds uitstekend. Maar we zien met name bij klanten waar we deze aanpak hebben kunnen inzetten dat we onze aanpak hebben uitgebreid. Dit hebben we o.a. gedaan in de uitwerking richting Quickscans & de aanpak inzetten richting het portfolioproces van een organisatie. Onderzoek wat wij als Quintor moeten opnemen in onze Agile Analyse aanpak 2.0.

Agile en fixed price projecten

Onderzoek welke alternatieven er zijn om fixed price projecten uit te voeren in een agile omgeving. Selecteer een methode (of werk de eerder genoemde alternatieve methode van Quintor verder uit) zodat Quintor een standaard methode heeft die geschikt is om fixed price aanbiedingen te doen in een agile omgeving.

Software development

Self-Driving car challenge kart in CARLA

De Self-Driving challenge maakt gebruikt van één kart met allemaal sensoren. De verschillende groepen kunnen hier niet allemaal tegelijkertijd gebruik van maken, of de kart is niet beschikbaar om andere redenen. Om toch snel te kunnen testen kunnen ze de simulator CARLA gebruiken. De kart, inclusief de juiste sensoren op de juiste plekken, zit niet in CARLA. De uitdaging is om de mensen die meedoen aan SDC te helpen door hen een testomgeving aan te bieden met kart er in, zodat ze snel hun wijzigingen kunnen testen.

ArchUnit + JMolecules voor Architectuur validatie

Als alles werkt betekent het niet per se dat je software ook echt goed is. Je hebt wel tools, zoals SonarQube, die door middel van statische code analyse de kwaliteit van de code bepalen, maar die is niet bekend met specifieke regels voor jouw applicatie. Deze dingen kan je verifiëren met tools zoals ArchUnit en JMolecules. Dit zijn namelijk tools om je architectuur expliciet te noemen in je code en om deze weer te verifiëren. Oftewel, je kan testen of je code voldoet aan de afgesproken structuur en als dat niet zo is, dan faalt het bouwen. Zo kunnen fouten op dit gebied ook niet zomaar er tussendoor glippen en houd je in theorie je project op de lange termijn goed gestructureerd.

AI integratie

Artificial Intelligence is ontzettend complex. Quintor legt zelf geen focus op AI en zullen het dan ook niet snel zelf als dienst leveren. Gelukkig zijn er wel veel andere organisaties die hele sterke AI’s maken! Wij zijn nieuwsgierig naar de mogelijke toepassingen van deze AI’s. Zouden we ze bijvoorbeeld aan DUO kunnen voorstellen om vragen over de studiefinanciering te beantwoorden? Zo ja, hoe integreer of koppel je zoiets en wat voor kosten zitten daar aan verbonden?

Debezium

Alles moet snel, sneller, snelst. Veel organisaties willen allemaal zo snel mogelijk data verwerken en op veranderingen reageren. Ze willen vaak reactive zijn. Maar niet alle databasesystemen zijn hier voor geoptimaliseerd. SQL databases zijn bijvoorbeeld erg populair vanwege hun betrouwbaarheid en data integriteit. Echter zijn het niet de snelste of meest reactive soort databases. Een manier om dit toch te ondersteunen is Debezium. Dit is een soort ‘schil’ om een database heen die alle acties (zoals het toevoegen of wijzigen van data) in de gaten houdt, waar andere applicaties dan direct op kunnen reageren.

Formele verificatie in de praktijk

Talen zoals Agda, Idris en Lean bieden mogelijkheden om formeel geverifieerde code te schrijven. Binnen Quintor is de vraag of dit een mogelijkheid biedt om software te schrijven die minder gevoelig is voor bugs. In deze opdracht zoek je uit welke van deze soort oplossingen het meest kansrijk is voor Quintor om impact te maken in de praktijk en ontwikkel je een proof-of-concept van een bank-applicatie, waarbij je verschillende business-regels verwerkt.

Betrouwbaar meetgegevens verzamelen met low energy devices

Onderzoek welke standaard Low Energy oplossingen een alternatief kunnen vormen voor het langdurig en betrouwbaar vergaren van meetgegevens voor diergedrag onderzoek. Belangrijk aspect is het tijdelijk opslaan van meetgegevens totdat de data is overgedragen aan een centrale data opslag punt wanneer het dier weer in het bereik van het draadloze netwerk is.

Copilot & Co

Wij zijn wel benieuwd naar de verschillende tools, zoals Copilot van GitHub, die hiervoor beschikbaar zijn. Hoe goed werken deze nu? Welke is de beste? Zijn ze de investering waard?

NewSQL

De grote voordelen van SQL databases zijn de relaties in combinatie met de consistency. Wat nu als we die kunnen hebben én de schaalbaarheid en performance van NoSQL systemen? NewSQL is de term voor de databases die dit proberen op te lossen. Hoewel deze tak van sport nog in de kinderschoenen staat, vinden wij het interessant om te zien wat er al mogelijk is en of wij er in de toekomst gebruik van kunnen maken.

Java virtual threads

Bij Quintor ontwikkelen we vele applicaties waarvan er vele gebaseerd zijn op het Spring framework. Onderzoek hoe en welke type applicaties we efficiënter kunnen maken door gebruik te maken van virtual threads. Maak een proof of concept voor een geselecteerd type applicatie om de werking en de verbeteringen aan te tonen en je advies te ondersteunen.

QA module maken voor Spring 6 en Spring Boot 3

Voor onze Quintor Academy is er behoefte aan een opleidingsmodule m.b.t. Spring Boot 3 en Spring 6. Ook een overzicht van de beperkingen en risico’s moeten worden belicht in de module.

Cross platform webshop

Maak met behulp van .NET MAUI een cross platform webshop voor Quintor-branded artikelen. A.d.h.v. een budget kunnen artikelen worden besteld in deze shop.

Rekenhart/dashboard financiële applicatie

Een rekenhart dat, middels een te definiëren formuletaal, van een periodieke gegevens-set allerlei afgeleide gegevens kan berekenen. Het resultaat kan gebruikt worden om een dashboard te vullen met KPI’s.

Java to native

Zorg voor inzicht en overzicht van de impact van door GraalVM gecompileerde native code. Realiseer een referentie-applicatie om de verwachtingen uit je onderzoek te toetsen.

Nakijktool

Realiseer een tool die zo veel mogelijk aspecten van een opdracht automatisch kan toetsen, zoals gedrag van REST API’s, instellingen op AWS resources en gedrag van een frontend.

OnCall systeem

Voor alerting wordt vaak gebruik gemaakt van tools zoals OpsGenie of Pagerduty. Dergelijke tools worden vaak aangeboden als SAAS-dienst en er is geen goede opensource- of community-variant beschikbaar. Quintor is op zoek naar een dergelijke variant.

Golang development framework

In deze opdracht bestudeer je huidige frameworks en met die kennis ontwikkel je een dergelijk framework voor Go. De werking van dit door jouw ontwikkelde framework toon je aan met behulp van een proof-of-concept. 

Projectkwaliteit monitoring

Wij zien van jou graag een webapplicatie die wij binnen Quintor kunnen gebruiken om de kwaliteit van projecten te meten. Teams kunnen hier dan instellen hoe zij hun project uitvoeren, waarna jouw applicatie het een score geeft en eventuele verbeterpunten. Denk hierbij aan projectmethodiek, de tooling die wordt gebruikt voor de software (zoals GIT) en (performance) monitoring.

Active Directory Integratie met Elastic Core

De ELK Stack van Elastic biedt tooling om voor het monitoren van je applicaties, zeker als je de betaalde pakketten neemt. Één van de onderdelen in een betaalde variant is Active Directory authenticatie en authorisatie. Een alternatief voor de ELK stack is OpenDistro, die deze functionaliteit wel heeft. Wij willen kijken of wij onze pijlen op ELK gericht houden of dat we mogelijk overstappen naar OpenDistro.

Application Performance Monitoring in Open Distro

Application Performance Monitoring (APM) houdt in dat je tot in detail bijhoudt wat de performance is van verschillende onderdelen van je applicatie, bijvoorbeeld hoelang methodes of functies duren, maar ook de snelheid van queries naar de database. Hiermee kun je echt inzoomen op performance knelpunten in je software om die te verhelpen.

Contract Driven Testing

Code kwaliteit is voor Quintor en haar klanten heel belangrijk. Een van de aspecten wat Quintor altijd meeneemt in het developen van systemen is het maken van end-to-end testen. Hierbij wordt het applicatielandschap volledig gestart en de interactie over verschillende componenten getest, een wijziging op een scherm moet een transactie in de database veroorzaken.

Data stream processing

Data is ontzettend belangrijk en waardevol. Hoe waardevol data is hangt er wel van af wanneer je het nodig hebt. Soms is data alleen nuttig in een korte periode nadat het geproduceerd is. Dan moet het op de korte termijn dus verwerkt worden. Om hier mee om te gaan wordt Stream Processing gebruikt, waarbij wordt geluisterd naar databronnen en zodra er nieuwe data wordt geproduceerd het direct verwerkt wordt. Dit is maar een concept en er zijn hier verschillende implementaties voor.

gRPC

In de praktijk gebruiken veel applicaties RESTful API’s voor communicatie tussen in client en server. In de steeds grotere schaal waarin Quintor haar klanten helpt met het bouwen van high performance applicaties moet onderzoek gedaan worden naar deze communicatietechniek. In deze opdracht ga je uitzoeken hoe gRPC zich verhoudt ten opzichte van REST kijkend naar onder andere performance, framework ondersteuning en gebruiksvriendelijkheid.

Identity Access Management

Quintor werkt voor veel grote partijen, waaronder de overheid en verschillende banken. Oftewel, security is ontzettend belangrijk. Daarom wil Quintor meer weten over het gebruik van de verschillende authenticatie factoren, waarbij de focus ligt op iets wat je bent.

Opstarttijd JVM inkorten

Java is een veelgebruikte programmeertaal om vele goede redenen, maar het starten van een Java applicatie is meestal niet snel. Het opstarten van de Java Virtual Machine kost tijd. Dit is geen probleem wanneer je een vast aantal servers hebt waar je applicatie permanent op draait, maar het wordt nadelig in een cloud omgeving waar er betaald wordt voor CPU gebruik en de tijd waarin de applicatie draait.

Java Frameworks voor Lambdas

Applicaties in de Cloud worden vaak gestart op demand, dus wanneer ze nodig zijn. Dit is nadelig voor één van de meest gebruikte programmeertalen, Java. De JVM is snel, maar het opstarten is niet heel snel. Dit is traditioneel geen probleem, maar wel als de applicatie vaak gestart en gestopt wordt. Daar komt ook nog bij kijken dat veelgebruikte frameworks zoals Spring voor een langere opstarttijd zorgen door reflectie en runtime code generatie.

Java Virtual Machines

Verschillende partijen hebben hun eigen implementatie van de JVM-specificatie en binnen Quintor is er nieuwsgierigheid naar de kwaliteit van de verschillende JVM’s. Wij willen graag dat jij de gangbare JVM’s inventariseert en vergelijkt deze op gebieden zoals features, performance en support. Zet je vergelijking kracht bij door een Java applicatie te ontwikkelen en deze te testen op de gevonden JVM’s.

Linked Open Data aanbieden

Quintor werkt met partijen die Open Data aanbieden. Er is interesse om dit beschikbaar te stellen als Linked Open Data, zodat er betere connecties gelegd kunnen worden met andere Open Data om zo tot nieuwe inzichten te kunnen komen. Hiervoor zal uitgezocht moeten worden wat er nodig is om data dat niet in RDF-formaat is om te zetten en te kunnen linken met andere Open Data.

Linked Open Data gebruiken

Open Data is data die gratis, publiekelijk beschikbaar is. Dit kan van alles zijn, zoals statistieken van overheden of resultaten van wetenschappelijk onderzoek. Het linken van deze data resulteert in Linked Open Data, wat kan zorgen voor meer inzichten omdat je relaties kan zien tussen verschillende data.

Performance Testing

Bij testen denken veel mensen vaak aan onderwerpen zoals unit tests en integratietests. Deze zijn erg belangrijk om de functionaliteit te verifiëren, maar hiermee krijg je geen inzicht in de performance van je applicatie. De performance is echter wel erg belangrijk, zeker voor grootschalige applicaties.

Point-to-point communication

Quintor ontwikkelt vaak met veel verschillende teams aan modulaire systemen. De onderdelen moeten betrouwbaar communiceren en moeten snel en onafhankelijk van elkaar doorontwikkeld worden. Effectieve en schaalbare communicatie tussen modules is een cruciaal aandachtspunt in gedistribueerde systemen. Het beïnvloedt aanzienlijk de latency en de hoeveelheid resources die nodig zijn om het systeem te bouwen en te gebruiken.

Scalable databases for realtime applications

Quintor ontwikkelt voor haar klanten veel frontend applicaties waarbij de data afkomstig is van een backend waar mogelijk business logica wordt uitgevoerd. In een tijd waarin snelheid en stabiliteit steeds belangrijker wordt ontstaat ook de vraag naar betere performance van databases. Traditioneel gezien werken databases met een pull mechanisme waarbij klanten nu op zoek zijn naar realtime bijgewerkte data.

Serverless migratie van functions

Klanten omarmen de cloud en maken gebruik van één of meerdere cloud diensten. Daarnaast is de beweging naar serverless ingezet, daarbij kan de ontwikkelaar zich primair focussen op de code. Een beweging die we in het verleden hebben gezien is de adoptie van technologie door grote internationale spelers. Dit creëert op termijn een vendor-lock-in.

Service Discovery

Applicaties bestaan niet in een vacuüm, ze zijn verbonden met vele andere applicaties, bijvoorbeeld via HTTP(S). Om een HTTP(S) connectie op te zetten, heb je een IP-adres nodig. Als elke applicatie het vaste adres nodig heeft, kan het adres nooit wijzigen en kunnen er nooit extra instanties gestart worden wanneer nodig zonder wijzigingen door te voeren.

Verkeeroptimalisatie

Nederland staat bekend om haar goede wegennetwerk. En nog steeds worden steeds verbeteringen doorgevoerd om het aantal voertuigverliesuren te minimaliseren, een metriek die aangeeft hoeveel tijd er verloren gaat in het verkeer door minder optimale wegen. Onderzoek hoe het Nederlandse wegennetwerk in een Graph Database past en hoe hier snel mee gerekend kan worden wanneer er wijzigingen plaatsvinden.

Code Completion bij het zoeken in OpenDistro

De ELK Stack wordt veel gebruikt voor het monitoren van je applicaties. Dit bestaat uit een open source pakket, wat eigen toevoegingen en daarbovenop nog wat optionele betaalde features. Breidt het open source project Open Distro uit met code completion bij het zoeken, zodat Quintor dit als alternatief heeft voor de algemene monitoring.

Platform engineering

Privileged Access Management (PAM)

IT infrastructuren in bedrijfstoepassingen zijn vaak groot en complex. Mede hierom wordt er steeds meer gekozen om infrastructuur geautomatiseerd via code uit te rollen zodat er geen handmatige acties meer benodigd zijn. In uitzonderlijke gevallen kan het toch nodig zijn dat er iemand verbinding moet maken met cruciale systemen zoals databases, Linux/Windows servers, Kubernetes clusters of webapplicaties. Bij het gebruik van dergelijke verbindingen is het zaak dat het op een veilige manier gebeurt, maar het moet ook inzichtelijk zijn welke acties men heeft uitgevoerd. Quintor is op zoek naar oplossingen die hierin voorzien waarbij men tevens zeer precies kan bepalen waartoe desbetreffende beheerder toegang toe heeft.

Software Defined Networking (SDN)

Moderne public cloud infrastructuur is uitermate flexibel waardoor je makkelijk en snel nieuwe resources kunt aanmaken en gebruiken. Onder dit soort resources verstaan we bijvoorbeeld virtuele servers, netwerken of zelfs complete clusters. Naast deze public cloud infrastructuur wordt er ook nog steeds veel gebruik gemaakt van on-premise infrastructuur. De systemen die je hiervoor kunt inzetten zijn de afgelopen jaren qua ontwikkeling niet stil blijven staan en zijn inmiddels in staat om dezelfde flexibiliteit te bieden. Vooral op netwerkniveau is deze flexibiliteit een uitkomst, iets waar Software Defined Networking in voorziet. Quintor wil graag weten hoe je voor on-premise systemen dergelijke flexibiliteit optimaal kunt benutten en welke tools je hiervoor kunt gebruiken.

Hybride databases

Hybride databases zijn database-systemen die de voordelen van relationele databases proberen te combineren met die van NoSQL databases. Denk hierbij aan verschillende manieren om data op te slaan (als objecten of in tabellen) of een combinatie van persistentie in RAM en disk voor een betere performance. Aan jou om uit te zoeken wat voor mogelijkheden er zijn en wat de voor- en nadelen zijn op het gebied van performance, onderhoud en consistentie.

Chaos Engineering

Er kunnen foutjes zitten in jouw eigen product, de libraries die je gebruikt, het besturingsysteem waar het op draait of zelfs de hardware. Niet dat het dan per se extreem onbetrouwbaar is, maar die risico’s zijn er altijd. Daarom is het altijd erg belangrijk om na te denken over “Wat als het niet goed gaat? Wat dan?” Dit kan op verschillende niveaus, bijvoorbeeld op infrastructuur niveau. Wat als er bepaalde services down zijn, wat dan? Dat laatste is waar we in deze opdracht naar gaan kijken. Je hebt tooling om services uit te schakelen op een onvoorspelbare manier om dan te kijken wat er gebeurt in je infrastructuur. Wat werkt nog, wat gaat er fout?

Tracing

Software ontwikkelen en draaien is een complex proces. Zeker grote organisaties hebben veel verschillende onderdelen draaien. Het kan dan erg lastig worden om belangrijke flows te volgen en de performance te monitoren. Er zijn tools die ‘tracing’ en ‘application performance monitoring’ bieden, waarbij je berichten door je hele infrastructuur kan volgen en kan meten hoe snel functies of database queries worden uitgevoerd. Deze informatie is dan weer terug te vinden in dashboards. Een bekende, populaire tool hiervoor is Dynatrace, maar we zijn erg nieuwsgierig naar wat voor alternatieven er nog meer zijn en welke optie het beste past bij Quintor. En dit is waar jij komt helpen!

YugabyteDB

YugabyteDB claimt een volledig horizontaal schaalbare oplossing te zijn, die compatible is met de SQL features van PostgresDB. Onderzoek of YugabyteDB een schaalbare vervanging kan zijn voor de relationele databases die Quintor gebruikt.

FinOPS

In deze opdracht ga je aan de slag met de vraag: hoe houden we de kosten van cloudservices binnen de perken en voorspelbaar? Daarnaast kijk je welke hulpmiddelen er beschikbaar zijn om de kosten in de hand te houden.

Synthetic Testing

Synthetic Testing wordt gebruikt om problemen met performance of gebruikersinteractie in kaart te brengen voordat deze de user experience negatief beïnvloedt. In deze opdracht breng je in kaart welke software hiervoor het best geschikt is en je toont dit aan door de implementatie van een proof-of-concept.

Virtual Desktop Infrastructure & GPU

Medewerkers die op een laptop werken willen soms kunnen switchen naar krachtigere hardware voor bepaalde taken. Zo willen wij bijvoorbeeld een remote desktop gebruiken waarbij wij ook de GPU van de host server volledig kunnen benutten om zo zwaardere taken uit te voeren, die net wat te ver gaan voor de laptops die we normaliter gebruiken.

Van MySQL naar SQL Server

Wij willen elk half uur data kunnen migreren van een MySQL database naar een SQL Server database op een snelle, efficiënte wijze die automatisch draait en makkelijk te beheren en monitoren is. Dit vereist uitzoekwerk naar de exacte verschillen tussen de twee systemen, om vervolgens de data eventueel te transformeren zodat het in de SQL Server database past.

Nieuwe monitoring

Zabbix is open-source monitoring software dat we binnen Quintor ook gebruiken. Hoewel het nog actief ontwikkeld wordt, valt onze aandacht op Grafana en Prometheus, als modernere alternatieven. Hoe zetten we alle bestaande monitoring over? Wat doen we met de data die wij al hebben?

Relationele databases in Kubernetes

Bij Quintor zijn wij nieuwsgierig naar de mogelijkheden van relationele databases in combinatie met het populaire Kubernetes. Hoe kunnen we relationele databases combineren met deze flexibele manier van werken met virtuele machines? Wat gebeurt er met de data? Hoe zorgen we dat de voordelen van Kubernetes ook naar voren komen bij relationele databases?

Cloud Custodian

Klanten stappen over naar de cloud. DevOps teams krijgen daardoor steeds meer verantwoordelijkheid voor de inrichting van de systemen in de cloud. Een organisatie wil wel borgen dat alle systemen veilig zijn en dat de integriteit en vertrouwelijkheid van de data is gegarandeerd.

High Availability & SQL

SQL-databases worden veel gebruikt vanwege hun support voor een duidelijke structuur en betrouwbaarheid. Het nadeel van SQL-databases is dat ze moeilijker schalen, omdat er veel coördinatie plaats moet vinden om de data consistent te houden zodra er meer dan één instantie is, wat een negatieve impact heeft op de performance.

Infrastructuur testen

De infrastructuur wordt vaak ingericht aan de hand van scripts, waarmee de benodigde applicaties, upgrades en patches worden geïnstalleerd. Quintor wil graag een manier om deze scripts te valideren en om de veiligheid van de upgrades en patches te verifiëren om zo zeker te zijn dat onze infrastructuur veilig is en klaar voor gebruik.

Monitoring & Logging in een hybride Cloud omgeving

Quintor ontwikkeld applicaties die zowel in een on-premise als in de cloud moeten kunnen draaien. Onderdeel van software development en het beheer is monitoring en logging. Een uitdaging binnen een hybride omgeving is het goed kunnen monitoren en logging te verzamelen om zo goed inzicht te krijgen en de werking van de applicaties.

Beveiligen tegen Ransomware

Als een computer wordt geïnfecteerd met ransomware wordt de data geëncrypt en kan de encryptiesleutel verkregen worden tegen betaling. Zo werden de systemen van Universiteit Maastricht ‘gegijzeld’ door ransomware, waar ze uiteindelijk voor betaald hebben om weer toegang te krijgen tot hun systemen.

Scanning Containers

Tegenwoordig wordt software vaak geïsoleerd gedraaid in containers, waarbij alles in de container afgeschermd wordt van de rest van het systeem en vice versa. Quintor en veel van haar klanten maken hier ook gebruik van omdat het deployment makkelijker kan maken. Maar het is nooit helemaal geïsoleerd. Er zullen connecties of resources nodig zijn van de host. Ook worden er services van de host gebruikt om de container zo klein mogelijk te maken. Met deze afhankelijkheden en communicatie, hoe weet je zeker dat dit allemaal veilig gebeurt?

The Vault – secret management

Veel data dat door software wordt gebruikt is gevoelig en mag niet zomaar rondslingeren. Deze dat wordt dan ook beveiligd, bijvoorbeeld door wachtwoorden te vereisen bij toegang tot de database. Bij veel verschillende databronnen kan het gaan om evenveel wachtwoorden. Hoe beheer je die op een veilige manier? Hoe voorkom je dat deze wachtwoorden uitlekken?

Veilig updaten via publiek internet

Over de hele wereld worden robots gebruikt in fabrieken. Als er een update is voor een reeks robots, worden die vaak geüpdatete door er een USB-stick in te steken, omdat ze niet gekoppeld zijn aan het internet.

Wi-Fi kwaliteit monitoren

Op een kantoor is een stabiele Wi-Fi verbinding erg belangrijk. Maar zelfs al vertelt jouw laptop of mobiel dat de connectie stabiel is, kan dat in de praktijk nog steeds tegenvallen. Waar ligt dat dan aan? De laptop, of is er interferentie? Heeft de router het moeilijk?

Security

eBPF

eBPF is een add-on op de Linux kernel die packet inspection op kernel-niveau toestaat. In deze opdracht ga je uitzoeken hoe je dit kan inzetten voor security monitoring van applicaties. Waar worden verbindingen naartoe gemaakt, wat doen applicaties, en bij voldoende inzicht: Wanneer kan hierop ingegrepen worden? Je gaat hierbij ook kijken hoe je dit geautomatiseerd kan toepassen op de servers van Quintor.

Containment

Soms is het niet mogelijk om een applicatie met security vulnerabilities meteen te repareren. In deze opdracht ga je uitzoeken hoe applicaties toch veilig kunnen draaien met bekende beveiligingsproblemen. Wat kan je doen om de schade te minimaliseren en hoe detecteer je of de vulnerability wordt misbruikt? Je adviseert Quintor over aanpakken om dit in de praktijk te brengen, ondersteund door een proof-of-concept waarin je laat zien hoe dit gebruikt wordt.

Authenticatie zonder wachtwoord

In deze opdracht ga je kijken naar de nieuwste ontwikkelingen op het gebied van authenticatie. Kunnen we zonder wachtwoorden werken? Hoe ziet dat er uit? Is dat werkbaar voor de gemiddelde gebruiker? Zo nee, wat is er nog meer?

SBOM

Onderzoek of het voor Quintor mogelijk is om bij alle software opleveringen ook een volledige SBOM (Software Bill Of Materials) op te leveren. Toon aan in hoeverre dit mogelijk is met een werkende proof of concept.

Cyber Escaperooms

Verzin challenges op gebied van IT security (hacking, cryptografie, secure coding, etc.) waarbij deze challenges uitdagend zijn maar ook op te lossen zijn in 15 tot 30 minuten tijd. Het creëren van deze challenges is onderdeel van de opdracht.

IDS/IPS

In deze opdracht ga je aan de slag met Suricata voor het in kaart brengen van netwerkverkeer en kijk je of je aanvallen op binnen de IT infrastructuur kunt detecteren en beter in kaart kunt brengen met als ultieme doel deze af te slaan of te voorkomen.

Are we under attack!?

Hoe houd je nu controle over je IT-infrastructuur, zodat het functioneel blijft en tegelijkertijd inzicht hebt in het security-technisch welzijn van je omgeving. Om deze vraag te kunnen beantwoorden wil je inzicht krijgen in je infrastructuur, denk hierbij aan het verzamelen van relevante log-gegevens, het instellen van alerting op afwijkend gedrag, het plaatsen van sensoren in je netwerk zoals bijvoorbeeld honeypots of canary-tokens.

Front-end

Server Side Rendering

Frameworks zoals Angular en React maken het makkelijk om websites te maken waarbij al het zware werk gebeurt in de browser i.p.v. op de server. Maar te lange laadtijden bij bijvoorbeeld webshops kan er toe leiden dat mensen naar alternatieven gaan kijken. Bij grote websites alles in de browser doen zou dus kunnen leiden tot omzetverlies. Dan kunnen we kijken naar onze oude vriend ‘server-side rendering’, maar stiekem willen we ook wel frameworks zoals Angular blijven gebruiken. Aan jou om uit te zoeken wat de mogelijkheden zijn voor de bekendste frontend frameworks en hoe performant deze mogelijkheden zijn.

Micro frontends

Websites worden tegenwoordig best groot en er werken dan vaak ook veel developers aan. Zo’n grote codebase met veel developers is lastig te coördineren. Voor de serverkant heb je hier de concepten van microservices en Function as a Service voor om het op te delen in behapbare componenten die door aparte teams ontwikkeld kunnen worden. En wat kunnen we dan doen voor de frontend? Micro frontends! Binnen Quintor hebben we hier nog niet veel ervaring mee. We willen graag dat jij voor ons hier naar gaat kijken en ons advies gaat geven over de mogelijkheden.

Test de front-end test tooling

In de JavaScript-wereld zijn veel libraries. En daarmee ook veel verschillende tools voor het schrijven van verschillende soorten tests. Door de snelle ontwikkeling van JavaScript libraries kan het moeilijk zijn om door de bomen het bos nog te zien. Daarom vragen we jou om de beschikbare testtooling te inventariseren en te testen op developergemak en performance.

Svelte VS SolidJS VS Angular/React

Het enige wat nog sneller groeit dan de inflatie, zijn het aantal JavaScript libraries en frameworks. Hier kan veel moois uitkomen en we houden dit dan ook graag in de gaten. Twee interessante frameworks die wij nog niet gebruiken zijn Svelte en SolidJS. Wij willen graag dat je deze frameworks gaat vergelijken met Angular of React en toetst hoe ze presteren op het gebied van performance, developer-gemak en testbaarheid.

Qwik

Qwik is een frontend framework dat O(1) laadtijd belooft, oftewel, dat de laadtijd van je applicatie altijd hetzelfde is, ongeacht de grootte ervan. Dit komt omdat Qwik alle JavaScript pas downloadt zodra het nodig is, in plaats van bij het laden van de pagina. Aan jou de vraag om te onderzoeken of Qwik zijn claims waar maakt en hoe praktisch het is om er mee te ontwikkelen.

IPFS resilience

De InterPlanetary FileSystem (IPFS) belooft hoge resiliency voor websites. Realiseer een frontend gehost door IPFS en evalueer of deze hoge load aan kan.

Canvas & WebGL

Vergelijk HTML canvas met WebGL en toon aan welke beter presteert bij complexe 2D tekeningen. Gebruik een willekeurig gegenereerde gerichte graaf en visualiseer deze met een HTML canvas implementatie én een WebGL implementatie.

Performance optimalisatie in Angular

Quintor heeft een webapplicatie ontwikkeld waarbij veel objecten worden getekend in de browser, tot tienduizenden aan toe. Vanwege limieten van de browser kan dit voor vertraging zorgen tijdens het gebruik. Daarom willen wij dat jij gaat kijken naar manieren om Angular en het tekenproces te optimaliseren zodat er zonder moeite 50.000 objecten getekend kunnen worden, die effect op elkaar kunnen hebben bij activiteiten zoals verslepen en resizen.

JavaScript & de GPU

In deze opdracht willen wij graag dat jij gaat kijken naar de grenzen van de browser, en dan specifiek naar toegang tot de GPU van de computer. De CPU is erg krachtig, maar de GPU is dé manier om hele complexe berekeningen uit te voeren. Zoek uit wat mogelijk is en demonstreer je bevindingen in een Proof of Concept die zware berekeningen uitvoert die in ‘normaal’ JavaScript zouden leiden tot slechte performance.

Statemanagement

Webapplicaties kunnen veel staat bevatten over de huidige sessie van de gebruiker. Deze staat kan vervolgens weer invloed hebben op verschillende componenten van de webapplicatie. Aangezien componenten in een webapplicatie in een boomstructuur georganiseerd zijn, kan het moeilijk zijn om relevante informatie bij de juiste componenten te krijgen.

Frontend styling & themes

Frontend development wordt steeds groter en complexer, door de introductie van frameworks als Angular, React en typescript wordt het gebruik en webcomponents de standaard. In een gedistribueerde frontend architectuur is dezelfde user experience aanbieden een uitdaging, hoe ga je om met styling en theme-ing over verschillende componenten en teams heen.