# Bob Kosse --- ## Pagina's - [Home](https://bobkosse.nl/): Web developer met onder andere kennis en ervaring in PHP, Laravel, Volt, Livewire, Typescript. Ik ben Bob Kosse, aangenaam! --- --- ## Berichten - [Union Types in PHP8](https://bobkosse.nl/software-ontwikkeling/union-types-in-php8/): Union Types in PHP8 maken je code een stuk veiliger en helpen automatisch te voldoen aan het Liskov Substitution Principle van SOLID. - [Waarom slimme AI’s toch domme fouten maken](https://bobkosse.nl/artificial-intelligence-ai/waarom-slimme-ai-toch-domme-fouten-maken/): AI lijkt steeds slimmer te worden en zelf te kunnen denken. Onderzoek van Apple laat zien hoe dit echt zit.... - [Hello world!](https://bobkosse.nl/software-ontwikkeling/hello-world/): Net als bij vele andere ontwikkelaars begon ook mijn reis met die iconische twee woorden: “Hello World! ” Op het... --- # # Detailed Content ## Pagina's > Web developer met onder andere kennis en ervaring in PHP, Laravel, Volt, Livewire, Typescript. Ik ben Bob Kosse, aangenaam! - Published: 2025-06-08 - Modified: 2025-07-01 - URL: https://bobkosse.nl/ Test --- --- --- ## Berichten > Union Types in PHP8 maken je code een stuk veiliger en helpen automatisch te voldoen aan het Liskov Substitution Principle van SOLID. - Published: 2025-07-02 - Modified: 2025-07-02 - URL: https://bobkosse.nl/software-ontwikkeling/union-types-in-php8/ - Categorieën: Software ontwikkeling Als web developer kom ik het regelmatig tegen: een functie die variabelen van verschillende typen moet kunnen ontvangen, of juist teruggeven. Een enkel type is niet zo'n probleem. Stel dat ik de onderstaande klasse definieer. De waarde in de klasse is altijd een geheel getal. Dat kan ik afvangen door de variabele als 'integer' (int) te definiëren. De setNumber method accepteert hier een integer als input parameter. De method getNumber geeft een integer terug als output. Union Types voor PHP8 Voor de komst van PHP8 was er ook de mogelijkheid om een heel klein beetje union typing te doen. In plaats van alleen een integer, kon je door een vraagtegen toe te voegen ook een null-waarde accepteren. De klasse zou dan zo uit komen te zien: Dit zorgt ervoor dat setNumber een getal accepteert, of een lege (null) waarde. getNumber geeft of een geheel getal terug, of een lege (null) waarde. Union Types met PHPDoc annotations Maar wat nu als je naast integers ook gebruik wilt maken van decimale getallen (floats)? Dat betekende, dat je terug moest vallen op PHPDoc annotations. En eigenlijk was dit een beetje een 'vieze' workaround. Door de PHPDoc annotations kan je IDE je helpen bij het ontwikkelen. Deze leest die comments en helpt je als web developer te zorgen voor de juiste waarden. Maar ... het voorkomt niet dat je als web developer een fout maakt. Met de bovenstaande klasse kun je bijvoorbeeld prima zoiets doen: $getal = new Getal; $getal->setNumber("DIT IS NATUURLIJK GEEN GETAL");... --- - Published: 2025-06-12 - Modified: 2025-07-02 - URL: https://bobkosse.nl/artificial-intelligence-ai/waarom-slimme-ai-toch-domme-fouten-maken/ - Categorieën: Artificial Intelligence (AI) - Tags: AI, Apple, Onderzoek, Reasoning, The Illusion of Thinking AI lijkt steeds slimmer te worden en zelf te kunnen denken. Onderzoek van Apple laat zien hoe dit echt zit. The Illusion of Thinking. AI wordt slimmer. Tenminste, zo lijkt het. Je typt een vraag in ChatGPT en je krijgt binnen een paar seconden een doordacht antwoord. Sommige AI-modellen leggen zelfs hun gedachtegang stap voor stap uit. Het lijkt net alsof ze echt aan het denken zijn. Maar... zijn ze dat ook? Een nieuw onderzoek van Apple getiteld “The Illusion of Thinking” laat zien dat dit beeld niet helemaal klopt. Sterker nog: hoe slimmer de AI lijkt, hoe groter de kans dat we ons vergissen in wat het model werkelijk doet. In deze blog laat ik je zien wat ze in dit onderzoek ontdekte, waarom dat belangrijk is en wat jij hiermee moet in je dagelijkse werk. Wat zijn ‘denkende’ AI-modellen? AI-systemen zoals ChatGPT zijn taalmodellen. Ze voorspellen het volgende woord op basis van alles wat ervoor kwam. Met deze techniek lukt het ze om indrukwekkende teksten te maken, complexe vragen te beantwoorden en zelfs logische puzzels op te lossen. De nieuwste generatie modellen gaat nog een stap verder. Ze denken stap-voor-stap. Ze schrijven hun redenering eerst uit voordat ze een antwoord geven. Dat heet Chain-of-Thought reasoning. Denk aan een leerling die eerst zijn tussenstappen opschrijft bij een wiskundesom. Deze AI doet dat ook. Daarom noemen we ze Large Reasoning Models (LRMs). Voorbeelden van zulke modellen zijn: Claude 3. 7 Sonnet Thinking DeepSeek-R1 OpenAI’s o3 Maar presteren deze denkende modellen ook echt beter? En kunnen ze omgaan met complexiteit? Het antwoord is verrassend. Het experiment: AI aan de puzzeltafel Om te testen of deze... --- - Published: 2025-06-08 - Modified: 2025-07-02 - URL: https://bobkosse.nl/software-ontwikkeling/hello-world/ - Categorieën: Software ontwikkeling - Tags: coderen, hello world, software Net als bij vele andere ontwikkelaars begon ook mijn reis met die iconische twee woorden: "Hello World! " Op het eerste gezicht lijkt het niets bijzonders. Een simpele tekst die op het scherm verschijnt. Meer doet dat eerste programma niet. Nou ja, technisch gezien dan. Maar het gevoel dat je ervaart wanneer je beseft dat je de computer iets laat doen, iets wat jij hebt bedacht, dat gevoel is pure magie. "Hello World" op het scherm toveren is de eerste les die iedere programmeur doorloopt. Het markeert dat eerste euforische moment waarop je de computer écht iets laat uitvoeren. En dat gevoel, gevangen in die twaalf simpele tekens, zet de toon voor een hele carrière. Het is inmiddels ruim dertig jaar geleden dat dit zinnetje voor het eerst op mijn scherm opdook. Maar die magie is nooit verdwenen. Ook al heeft mijn carrière verschillende wendingen gekend, de aantrekkingskracht van code heeft me nooit losgelaten. Die verleiding om te creëren, te bouwen en problemen op te lossen door middel van programmeren blijft me boeien. Inmiddels tik ik Hello World moeiteloos in verschillende programmeertalen. In sommige talen breng ik zelfs aanzienlijk meer tot leven dan alleen die eerste groet. En precies die kennis en ervaring wil ik graag met je delen. Op deze website volg je mijn ontwikkeltraject. Je ontdekt welke projecten ik realiseer, welke lessen ik onderweg opraap en ik deel praktische tips waarmee jij zelf ook de stap naar programmeren kunt zetten. Voor nu, bij deze eerste blog, houd ik... --- ---