Over
Ontwikkelaar met een passie voor:
- onderhoudbare (C#) code
- het structureren van informatie
- 2D en 3D computer graphics
Expertise
return (n % 3, n % 5) switch
{
(0, 0) => "Fizz Buzz",
(_, 0) => "Buzz",
(0, _) => "Fizz",
(_, _) => n.ToString(),};
C#
Sinds 2018 is C# de voornaamste programmeertaal die ik gebruik. Dit vanwege de uitgebreidere mogelijkheden die de taal biedt. Van volledig object georienteerd tot meer functioneel met behulp van delegates; de taal biedt de optie om voor elk probleem de beste opzet te kiezen. De keuze tussen structs en klassen biedt, waar nodig, meer ruimte voor performance optimalisatie dan mijn eerdere ervaring met Java kon bieden.
Features zoals operator overloading, properties, LINQ en pattern matching geven zeer uitgebreide mogelijkheden om code compact en leesbaar te houden. Iets wat in mijn ogen een van de beste manieren is om code beter onderhoudbaar te maken.
int[] numbers = {1, 2, 3, 5, 8, 13, 21};
for (int number: numbers) {
tree23.add(number);}
Java
Tussen 1997 en 2018 gebruikte ik voornamelijk Java als programmeertaal. Als een van de eerste managed talen bracht het een betere focus op de daadwerkelijke programmatuur zonder (al te veel) rekening te hoeven houden met geheugenallocatie.
Een ander groot voordeel is de ruime selectie aan datastructuren die standaard expliciet beschikbaar is. Dit is in andere talen (zoals C#) helaas niet altijd het geval; daar worden deze structuren intern wel gebruikt, maar zijn ze niet altijd direct aan te roepen indien nodig.
<section class="informative">
<h2>Voorbeeld</h2>
<p>Deze pagina</p></section>
Web
De basis voor webtechnieken bestaat uit HTML, CSS en JavaScript. Mijn ervaring hierin begint eind jaren 90 met HTML 2.0 en de eerste versies van JavaScript en CSS. Sindsdien is er een hoop veranderd, maar de basis is soortgelijk gebleven. Deze website is gebaseerd op HTML 5, CSS 3 en ES 6. Een verademing ten opzichte van de eerdere versies.
Aan de Frontend kant heb ik onder andere ervaring met Vue. Aan de Backend kant onder andere met Django in Python.
const gl = canvas.getContext('webgl');
if (gl) {
loadModel(gl, icosahedron);
loadProgram(gl, wireframe);
draw(gl, iscosahedron, wireframe);}
Shaders
Zo'n 15 jaar geleden ben ik begonnen met het schrijven van shaders in HLSL, destijds gebaseerd op Shader Model 2.0 onder DirectX 9. Van materialen tot effecten tot schaduwberekeningen; alles werd in die tijd door mij volledig geschreven.
Tegenwoordig is het mogelijk om diezelfde kennis in te zetten via WebGL en GLSL in de browser. De mogelijkheden zijn ruimer dan 15 jaar geleden, maar als het aankomt op realtime graphics is mijn ervaring dat de 'oude trucjes' nog steeds goed toepasbaar zijn.
Neurale netwerken
Als afstudeerwerk voor mijn Master Technische Informatica heb ik me bezig gehouden met het vergroten van afbeeldingen door middel van zelflerende systemen. Een gedachte die bij me opkwam was om gewichten in het neurale netwerk aan elkaar te koppelen, zodat soortgelijke delen konden leren van elkaars voorbeelden. Datzelfde jaar is het begin van Deep Learning, met hetzelfde principe. Inmiddels is de meerwaarde hiervan wel bewezen en is het toen gangbare 'the second best approach to do almost anything' voor neurale netwerken zeker niet meer altijd van toepassing.
na
voor
2D
De afgelopen 20 jaar heb ik veel ervaring opgedaan met grafische software en dan met name Photoshop en Illustrator. Daarnaast heb ik gewerkt met alternatieven zoals Gimp en Inkscape. Ik gebruik tegenwoordig ook regelmatig grafische software die ondersteund wordt door kunstmatige intelligentie, zoals van Skylum en Topaz. Hoewel ik wellicht geen ontwerper ben, ben ik dus wel zeer bekend met het vervaardigen en aanpassen van afbeeldingen en illustraties.
Overig
Met mijn achtergrond in visualisatie heb ik ervaring opgedaan met diverse 3D software. Met name met 3ds Max en renderers als Corona, VRay en MentalRay.
Ook heb ik gewerkt als cursusbegeleider. Met name in software als Word en Excel. In die tijd heb ik zelf uiteraard ook gevorderde kennis opgedaan over deze software en dankzij het regelmatige gebruik hiervan is dit ook altijd zo gebleven.
Overig
Interesses
Buiten ontwikkeling van software liggen mijn interesses bij wetenschap, reizen en (natuur)fotografie.
Contact
Meer weten?
Neem contact op via onderstaande contactgegevens of het formulier:
info⌾josvanouwerkerk.com
+31 6 I66I 2OOI
Over deze website
Deze website is gebaseerd op HTML 5, CSS 3 en ES 6. De volgende browsers worden ondersteund:
Chrome | vanaf versie 51 |
Edge | vanaf versie 15 |
Safari | vanaf versie 10.1 |
Firefox | vanaf versie 54 |
Opera | vanaf versie 38 |
De gebruikte fonts zijn Quicksand en Source Code Pro van Google Fonts.
Privacy
Privacyverklaring
J.D. van Ouwerkerk Holding B.V. (hierna josvanouwerkerk), gevestigd aan Burggravenlaan 4x17, 23I3 HW, Leiden, is verantwoordelijk voor de verwerking van persoonsgegevens zoals weergegeven in deze privacyverklaring.
Contactgegevens:
https://josvanouwerkerk.com
Burggravenlaan 4x17, 23I3 HW, Leiden
+31 6 I66I 2OOI
Jos van Ouwerkerk is de Functionaris Gegevensbescherming van josvanouwerkerk, hij is te bereiken via jos⌾josvanouwerkerk.com.
Persoonsgegevens die wij verwerken
josvanouwerkerk verwerkt je persoonsgegevens doordat je gebruik maakt van onze diensten en/of omdat je deze gegevens zelf aan ons verstrekt. Hieronder vind je een overzicht van de persoonsgegevens die wij verwerken:
- Voor- en achternaam
- Adresgegevens
- Telefoonnummer
- E-mailadres
Bijzondere en/of gevoelige persoonsgegevens die wij verwerken
Onze website en/of dienst heeft niet de intentie gegevens te verzamelen over websitebezoekers die jonger zijn dan 16 jaar. Tenzij ze toestemming hebben van ouders of voogd. We kunnen echter niet controleren of een bezoeker ouder dan 16 is. Wij raden ouders dan ook aan betrokken te zijn bij de online activiteiten van hun kinderen, om zo te voorkomen dat er gegevens over kinderen verzameld worden zonder ouderlijke toestemming. Als je er van overtuigd bent dat wij zonder die toestemming persoonlijke gegevens hebben verzameld over een minderjarige, neem dan contact met ons op via info⌾josvanouwerkerk.com, dan verwijderen wij deze informatie.
Met welk doel en op basis van welke grondslag wij persoonsgegevens verwerken
josvanouwerkerk verwerkt jouw persoonsgegevens voor de volgende doelen:
- Je te kunnen bellen of e-mailen indien dit nodig is om onze dienstverlening uit te kunnen voeren
- josvanouwerkerk verwerkt ook persoonsgegevens als wij hier wettelijk toe verplicht zijn, zoals gegevens die wij nodig hebben voor onze belastingaangifte.
Geautomatiseerde besluitvorming
josvanouwerkerk neemt geen besluiten op basis van geautomatiseerde verwerkingen.
Hoe lang we persoonsgegevens bewaren
josvanouwerkerk bewaart je persoonsgegevens niet langer dan strikt nodig is om de doelen te realiseren waarvoor je gegevens worden verzameld. Wij hanteren de volgende bewaartermijnen voor de volgende (categorieën) van persoonsgegevens: 3 maanden
Delen van persoonsgegevens met derden
josvanouwerkerk verkoopt jouw gegevens niet aan derden en zal deze uitsluitend verstrekken indien dit nodig is voor de uitvoering van onze overeenkomst met jou of om te voldoen aan een wettelijke verplichting. Met bedrijven die jouw gegevens verwerken in onze opdracht, sluiten wij een bewerkersovereenkomst om te zorgen voor eenzelfde niveau van beveiliging en vertrouwelijkheid van jouw gegevens. josvanouwerkerk blijft verantwoordelijk voor deze verwerkingen.
Cookies, of vergelijkbare technieken, die wij gebruiken
josvanouwerkerk gebruikt geen cookies of vergelijkbare technieken.
Gegevens inzien, aanpassen of verwijderen
Je hebt het recht om je persoonsgegevens in te zien, te corrigeren of te verwijderen. Daarnaast heb je het recht om je eventuele toestemming voor de gegevensverwerking in te trekken of bezwaar te maken tegen de verwerking van jouw persoonsgegevens door josvanouwerkerk en heb je het recht op gegevensoverdraagbaarheid. Dat betekent dat je bij ons een verzoek kan indienen om de persoonsgegevens die wij van jou beschikken in een computerbestand naar jou of een ander, door jou genoemde organisatie, te sturen. Je kunt een verzoek tot inzage, correctie, verwijdering, gegevensoverdraging van je persoonsgegevens of verzoek tot intrekking van je toestemming of bezwaar op de verwerking van jouw persoonsgegevens sturen naar info⌾josvanouwerkerk.com. Om er zeker van te zijn dat het verzoek tot inzage door jou is gedaan, vragen wij jou een kopie van je identiteitsbewijs met het verzoek mee te sturen. Maak in deze kopie je pasfoto, MRZ (machine readable zone, de strook met nummers onderaan het paspoort), paspoortnummer en Burgerservicenummer (BSN) zwart. Dit ter bescherming van je privacy. We reageren zo snel mogelijk, maar binnen vier weken, op jouw verzoek. josvanouwerkerk wil je er tevens op wijzen dat je de mogelijkheid hebt om een klacht in te dienen bij de nationale toezichthouder, de Autoriteit Persoonsgegevens.
Hoe wij persoonsgegevens beveiligen
josvanouwerkerk neemt de bescherming van jouw gegevens serieus en neemt passende maatregelen om misbruik, verlies, onbevoegde toegang, ongewenste openbaarmaking en ongeoorloofde wijziging tegen te gaan. Als jij het idee hebt dat jouw gegevens toch niet goed beveiligd zijn of er aanwijzingen zijn van misbruik, neem dan contact op met onze klantenservice of via info⌾josvanouwerkerk.com.