Technologie & Code

Mijn gedachten over code, servers en de technologie achter hoe dingen worden gebouwd.

Vibe Coding

Vibe Coding

Over de kracht en het gevaar van programmeren met AI

Met een omzet van meer dan $48.000 per maand, veroorzaakte de vluchtsimulator game van Pieter Levels een hele vlaag van innovatie. Zonder gedetailleerde kennis van 3D game engine technologie, 'vibe codeerde' hij zijn game met behulp van AI. Critici van zijn werk wezen op beveiligings- en schaalbaarheidsproblemen, terwijl voorstanders het verbluffende resultaat prezen. Wat kunnen we hiervan leren?

Podcast Downloader

Podcast Downloader

Een Simpele, Open-Source RSS Podcast Fetcher

Moe van het constant gepusht worden naar "meer relevante content", bouwde ik een script om te ontsnappen aan commerciële of closed-source podcast apps. Ik wilde gewoon een tool die stilletjes mijn favoriete programma's downloadt—geen gedoe, geen tracking, geen extra's. Lees dit bericht voor meer informatie; het is gratis/vrije software onder GPLv3.

Het ontwikkelen van een native iOS app

Het ontwikkelen van een native iOS app

Een fiets- en hardlooptracker maken

Als klein zijprojectje, gepropt tussen mijn normale werk, ben ik bezig geweest met iets wat me persoonlijk interesseert: een native workout tracking app voor iOS. Ik wilde mijn smartwatch overbodig maken en in plaats daarvan mijn telefoon gebruiken om trainingen bij te houden. Hoe moeilijk kan het zijn om gedetailleerde sensordata te verzamelen met native Swift API's?

Vision Pro

Vision Pro

Het verkennen van ruimtelijk computergebruik

Momenteel kijk ik uit over een meer bij Mount Hood terwijl ik dit schrijf. Ik hoor vogels in de verte en zie het meer kalm, met subtiele golven en wat mist in de verte. Toch is het nep, aangezien ik op onze bovenste verdieping zit, een nauwelijks gemeubileerde kamer vol spullen die horen bij een gezinswoning met twee jonge kinderen. Ik gebruik Apple's Vision Pro om te ontdekken wat Spatial Computing kan zijn. Ik ben vol ontzag; laat ik het uitleggen in deze blogpost.

Tablet als Gereedschap

Tablet als Gereedschap

Waardering voor de iPad Pro: Een Ander Perspectief

De bruikbaarheid van de iPad Pro heeft recentelijk veel discussie opgeroepen. Sommige gebruikers beweren dat het een teleurstelling is en niet voldoet aan de verwachtingen die door traditionele laptops zijn geschapen. Er zijn echter minder voor de hand liggende voordelen aan de iPad die het overwegen waard zijn. Deze blogpost duikt in deze voordelen en deelt inzichten in de persoonlijke ervaring van het gebruik van een iPad Pro.

AI gebruiken om code te genereren

AI gebruiken om code te genereren

Programmeren met superkrachten

Als onderdeel van mijn software-optimalisatie om cloudkosten te verlagen, moest ik een bestaand stuk inefficiënte serversoftware vervangen door iets dat gebruik maakt van robuustere (maar gefragmenteerde) tools die beschikbaar zijn in Debian GNU/Linux. Kon het GPT4 taalmodel me wat AI-magie bieden? Lees verder!

Een productplatform bouwen

Een productplatform bouwen

Ontwerpen voor herbruikbaarheid, flexibiliteit en uitbreidbaarheid

Deze maand maak ik gebruik van platformmogelijkheden om een nieuw product te lanceren. Door de jaren heen heb ik het "Lemmid" platform ontwikkeld, een set bouwstenen waarmee ik snel nieuwe producten kan ontwikkelen. Het ontwerpen van een platform vereist wat extra overwegingen, maar als je een paar simpele regels volgt, kun je het zelf!

Werken met speciale hardware uit China

Werken met speciale hardware uit China

Over softwareontwikkeling zonder handleiding

Deze maand ontving ik een zending uit China met speciale hardware, Android-apparaten met ingebouwde printers! Om het leven makkelijker te maken voor de restaurant- en bedrijfseigenaren die mijn app voor het bestellen van eten gebruiken, wil ik dat deze apparaten automatisch nieuwe bestellingen printen. Als ik deze machines maar aan de praat krijg met mijn software... uitdaging geaccepteerd!

Vergroot het verkeer naar je blog met een RSS-feed

Vergroot het verkeer naar je blog met een RSS-feed

Hoe RSS/Atom in te stellen met NodeJS

Schrijven voor mijn blog is erg leuk, ik ontvang berichten van over de hele wereld over de dingen die ik leuk vind. Het verkeer groeit, elke maand vinden meer lezers hun weg naar mijn blog. Deze week ontving ik een verzoek om RSS-feeds op mijn blog te ondersteunen. Ik vroeg me af, zijn RSS-feeds vandaag de dag nog relevant?

Lemmid Store koppelen met keukens

Lemmid Store koppelen met keukens

Integratie met externe systemen die u niet beheert

Als onderdeel van de food-bestel-app die ik aan het bouwen ben, moest ik een betrouwbare manier ontwerpen om de app te koppelen aan externe systemen. Deze externe systemen vallen buiten mijn directe controle en omvatten verschillende kassasystemen, keukenmanagementsystemen en ticketprinters. Lees verder voor meer informatie over ontwerpen voor het onbekende en onbetrouwbare.

Schaalbaar applicatieontwerp zonder magie

Schaalbaar applicatieontwerp zonder magie

Benutten van client rekenkracht voor hoge prestaties met veel gebruikers

Als onderdeel van de online voedselbestel-app die ik aan het bouwen ben, moest ik een schaalbare backend-infrastructuur ontwerpen die veel gelijktijdige gebruikers aankan. Schaalbaarheid wordt beschouwd als een moeilijk probleem om aan te pakken. Vaak wordt het gepresenteerd als iets magisch, gedaan door bedrijven van miljoenen dollars met behulp van geheime tools. Maar, er bestaat niet zoiets als magie, of toch wel?

Een interface ontwerpen voor een bestelpagina voor eten

Een interface ontwerpen voor een bestelpagina voor eten

Een balans vinden tussen krachtige opties en gebruiksvriendelijkheid op mobiel

Online bestelpagina's zijn belangrijker dan ooit tevoren. Het COVID-19 virus, de daaruit voortvloeiende lockdowns en de social distancing regels hebben de noodzaak van een goed ontworpen webshop gebruikersinterface benadrukt. Dit is verrassend moeilijk om goed te krijgen!

Het ontwerpen en implementeren van een (micro)betaalsysteem

Het ontwerpen en implementeren van een (micro)betaalsysteem

Mijn blog te gelde maken met koffie, Apple Pay en Mollie

Online betalingen zijn nu belangrijker dan ooit, aangezien bedrijven worden ontwricht door het COVID-19 virus. Het drijft mijn klanten ertoe om nieuwe manieren te zoeken om online geld te verdienen. Ik heb een (micro)betaalsysteem ontworpen en geïmplementeerd. Deze post gaat over het bereiken van eenvoud door complexe uitdagingen op te lossen.

Monolithische versus Microservices softwarearchitectuur

Monolithische versus Microservices softwarearchitectuur

Het kiezen van het juiste ontwerp voor je app-ontwikkeling

Deze week vloog ik naar Göteborg om mensen te ontmoeten van een grote internationale rederij, om te praten over de ontwikkeling van enterprise-level software. Tijdens de meeting waren er verschillende experts in de ruimte, een van hen vroeg me over het kiezen van de juiste software architectuur (voor grote, complexe, enterprise-level apps). Een zeer goede vraag, zeker een blogpost waard.

Multi-Window-ondersteuning in je iPad-app

Multi-Window-ondersteuning in je iPad-app

Native ontwikkeling voor iPadOS

Vorige maand bracht Apple iPadOS uit, het eerste dedicated operating system voor iPad. Het verschilt van iOS met zijn ondersteuning voor het grotere iPad scherm, inclusief multi / split screen vensters. Ik ontwikkel apps en het was tijd om te profiteren van deze nieuwe mogelijkheden die iPadOS biedt.

Dig voor Dummies

Dig voor Dummies

Uitleg van een zeer nuttige netwerktool

Bij het bouwen van websites, apps of e-mailservices kom je mogelijk domeinnamen en hun configuraties tegen. Wanneer alles werkt zoals het hoort, is het meeste hiervan onzichtbaar. Maar bij het oplossen van problemen met een domeinnaamconfiguratie kan het nodig zijn om wat dieper te graven... lees verder om te leren hoe!

Veiligheidsrisico's bij shared hosting

Veiligheidsrisico's bij shared hosting

Openstaande poorten en ongebruikte netwerkgerichte services in overweging nemen

Mensen betalen mij om ze te hacken, mits ik uitleg hoe het gedaan is, zodat toekomstige hacks voorkomen kunnen worden. Als beveiligingsconsultant scan ik op zwakke plekken in de apps, webshops en websites van mijn klanten. Heel vaak begint een hack door het misbruiken van een beveiligingslek dat op afstand zichtbaar is. Lees verder om te leren hoe hackers beveiligingslekken vinden en wat je kunt doen om ze te dichten.

Afbeeldingen optimaliseren voor web en performance

Afbeeldingen optimaliseren voor web en performance

Verklein bestandsgrootte met jpegoptim, optipng, pngcrush en pngquant

Een manier om je website sneller te maken is door hem kleiner te maken. Niet met kleine lettertypes, maar met minder bytes! Meer dan de helft van het gewicht van een gemiddelde website wordt veroorzaakt door afbeeldingen. Toch optimaliseren maar heel weinig mensen hun afbeeldingen voor het web en de prestaties, tijd om te ontdekken hoeveel bytes je kunt besparen!

Cyberbeveiliging: 5 eenvoudige tips om je server te beschermen tegen hackers

Cyberbeveiliging: 5 eenvoudige tips om je server te beschermen tegen hackers

Beveiliging van servers - best practices voor Windows en Linux

Deze week werd één van mijn klanten gehackt en vroeg mij om noodhulp bij het beveiligen van hun serverinfrastructuur. Het betrof een webserver die WordPress websites draaide op Apache (met PHP/MySQL), inclusief een paar webshops met klantgegevens. Deze hack had eenvoudig voorkomen kunnen worden met de volgende best practices, is jouw server wel veilig?

Tablet als hoofdcomputer

Tablet als hoofdcomputer

De Microsoft Surface Pro vergeleken met de iPad Pro

De afgelopen weken heb ik de Microsoft Surface Pro als mijn belangrijkste computer gebruikt. Het is een moderne tabletcomputer die met de type cover als laptop gebruikt kan worden. Met de Surface Pen is het een veelzijdige pc die op veel verschillende manieren werkt. Tijd om te ontdekken of hij goed is en hoe hij zich verhoudt tot mijn andere tabletcomputer, de iPad Pro.

Snake '97 Updaten

Snake '97 Updaten

Over de uitdagingen van het ontwikkelen van een razend populaire game

Een paar jaar geleden gooide mijn broer in een Amsterdamse kroeg een biertje over mijn iPhone. Het arme ding kon het Nederlandse gerstenat minder waarderen dan ik: het gaf de geest. Terwijl ik wachtte op een nieuwe telefoon, gebruikte ik een oude die niets anders kon dan sms'en, bellen en... Snake! Het idee voor Snake '97 was geboren en deze maand was het tijd om de razend populaire game te updaten.

Cloud onder mijn vloer

Cloud onder mijn vloer

Een klein datacenter bouwen in mijn kelder

Thuis heb ik deze waanzinnig snelle optische internetverbinding. Het is een 600MB up en down glasvezelverbinding die rechtstreeks mijn huis binnenkomt (geen koperkabels aan te pas). Het is als een privé internet snelweg. Reden genoeg om uit te zoeken of ik er iets mee kon doen om al deze snelle glasvezelpracht beter te benutten...

De dag dat ik mijn LAN uitzette

De dag dat ik mijn LAN uitzette

Lokale netwerk uitgezet en alleen op 4G gegaan

Vandaag heb ik mijn provider gebeld om het ADSL-internetabonnement van mijn kantoor op te zeggen, ik heb het niet meer nodig. Ik heb mijn lokale netwerk uitgezet en mijn workflow volledig overgeschakeld naar mobiel internet. De eenvoud en besparing verrasten me eigenlijk zo erg, dat ik er een blogpost over heb geschreven.

Programmeren op de Apple Watch

Programmeren op de Apple Watch

Serieus over gekke experimenten

De afgelopen jaren heb ik wel vaker gekke experimenten gedaan, maar deze keer wilde ik het echt tot het uiterste drijven: programmeren op een Apple Watch. Zou het mogelijk zijn om daadwerkelijk code te schrijven op zo'n klein apparaatje? Waarom zou je de moeite nemen? Dit bericht is een pleidooi voor gekke experimenten, en waarom jij het ook zou moeten proberen!

iPad Pro naast mijn primaire machine

iPad Pro naast mijn primaire machine

Gebruiken met Apple Pencil als een creatieve krachtpatser

Ik wilde zien of ik iets beters kon vinden dan mijn ouderwetse potlood en papier die ik als professionele ontwikkelaar gebruik voor het ontwerpen van software. Ik kende de iPad Pro van mijn test vorige zomer, toen ik uitzocht of hij mijn primaire ontwikkelmachine kon vervangen. Hoewel hij mijn trouwe ThinkPad misschien niet volledig kan vervangen, bleek het een heel ander verhaal te zijn als het op papier aankomt.

iPad Pro als primaire computer

iPad Pro als primaire computer

iOS testen als primair ontwikkelplatform

Het gebrek aan fysieke rommel, afleidende merknamen of knipperende ledjes maakt de iPad Pro een schoolvoorbeeld van minimalistisch design. Mijn afkeer van afleiding verklaart mijn interesse om de iPad Pro als enige computer te gebruiken om te testen of hij de taak aankan. Is Apple's nieuwste moeite met iOS genoeg om er serieus ontwikkelwerk op te kunnen doen?

Het blog bouwen... in stijl!

Het blog bouwen... in stijl!

Ontwikkelen op een 20 jaar oude computer met 16MB RAM en Windows 98

Je moet een beetje gek zijn om op het idee te komen een blog te bouwen (dus: echt programmeren) op een oude 486-laptop met slechts 16MB RAM. Ik ben toevallig zo gek: ik pakte mijn allereerste laptop uit de jaren 90 en besloot uit te zoeken of het mogelijk was om er een ontwikkelmachine van te maken.