Johan Ronsse

  • Home
  • Projects
  • Blog
  • Sim Racing (4)

    October 26, 2019 - Posted in games simracing

    In de vorige episode ging het nog over verschillende games testen, waarna ik uiteindelijk op Gran Turismo Sport was geland.

    Dat is het spel dat ik de laatste tijd het meest gespeeld heb.

    David Perel, mijn huidige raceheld (check zeker de man zijn YouTube kanaal) , zei eens dat sim racen een beetje is zoals trainen. Hoe meer je traint, hoe beter je wordt.

    Ik heb dat ter harte genomen, en ik “train” dus op mijn sim racen om telkens beter te worden. Ik ben ook real-life beginnen trainen maar dat is een ander topic.

    Een deelaspect van beter worden is volgens mij analyse van je werkpunten. Daarom ben ik begonnen met video’s te maken, om duidelijk te kunnen zien waar ik bv. een slechte rijlijn neem of waar ik iets sneller zou kunnen zijn.

    Vorige week maakte ik deze video over de Daily Race B.

    Gran Turismo – Daily Race B – Dragon Trail Seaside – 1:30:806

    Toen heb ik gemerkt dat als je de input (brake/acceleration) niet kan zien dat het niet zo nuttig is om een filmpje te hebben. Dat kan beter dacht ik. Vandaag maakte ik een 2e filmpje waar je de inputs op kan zien.

    First online victory at Suzuka (Daily Race B.)

    In deze video geef ik uitgebreid commentaar op een race. Voor mij is dit ook weer een manier om wat bij te leren over video’s bewerken.

    Het lastige hier is dat je dus constant je PS4 beeld moet opnemen via de “broadcast gameplay” functie. Er bestaan ook van die Elgato bakjes, maar dat is weer een kostelijke affaire.

    En hetgene mij daar vooral in tegenhoudt is dat je dan ook een ontvanger moet hebben, een PC dus, en mijn gaming setup staat op een ander verdiep dan mijn PC. Enige praktische bezwaren dus. Moest Apple nu eens een deftige laptop uitbrengen had ik nooit een iMac gekocht. Maar ik wijk af.

    Volgende stap: betere kwaliteit. Een beter verhaal vertellen. En misschien eens experimenteren met een camerabeeld van het stuur/de pedalen zelf.

    In de reeks “tijden” om te vergelijken binnen 6 maanden:

    • Gr 2 – Dragon trail Seaside – 1:30:806 (Xanavi Nismo)
    • Gr 3 – Suzuka – 2:03:186 (Audi R8)

    Sim racer out!

  • Kandidatuur – Raad van Bestuur Jong VLD Nationaal

    October 24, 2019 - Posted in jongvld politiek

    Ik ben kandidaat voor de Raad van Bestuur voor Jong VLD Nationaal. In deze blog post vind je de twee redenen waarom ik jouw stem verdien.

    Ik heb mij enkel kandidaat gesteld voor de Vlaamse kring, omdat ik tegen de provincies ben. Daar zou ik een heel epistel over kunnen schrijven maar dat ga ik u besparen.

    1. Een beter congres – Werken vanuit de inhoud

    Ik ben nieuw in de politiek sinds januari 2019. Na een exploratie op lokaal niveau was het me duidelijk dat mijn interesse vooral lag op Federale en Vlaamse onderwerpen.

    Ik wil mij verder verdiepen in de thema’s die mij dierbaar zijn: openbaar vervoer, digitalisering, ondernemen, werkgelegenheid, subsidiëring (en de nood daaraan) en fiscaliteit.

    Ik wil met kennis van zaken kunnen spreken over belangrijke topics die iedereen aangaan, en werken aan oplossingen om het beter te doen. En ik wil anderen helpen om dat ook te doen.

    Ik ben daarom het meest geïnteresseerd in meewerken aan congressen en inhoudelijke debatten. De enige manier om politiek sterk te staan is door kennis van zaken te hebben. Als je niet waarover je spreekt, word je zo onderuit gehaald in een debat.

    Eerste tussenkomst in februari 2019 op het jongerencongres.
    Mijn 1e reactie na de verkiezingsuitslag

    2. Een betere website – Betere online communicatie

    Als lid van de Raad van Bestuur van Jong VLD Nationaal wil ik in het bijzonder de online communicatie van Jong VLD verbeteren.

    Ik wil zorgen dat mensen die interesse hebben om zich aan te sluiten bij Jong VLD een duidelijk pad hebben om dat te doen.

    Momenteel hebben we een redelijke slechte Wix website en ik heb grote plannen om die om te vormen naar iets beters. Vanuit mijn verleden als webdesigner en huidig werk als UI/UX designer kan ik mijn steentje bijdragen.

    Ik zoek daarvoor trouwens nog vrijwilligers om iets moois te bouwen.

    Waarom RvB Nationaal?

    Ik weet dat je geen lid van de Raad van Bestuur moet zijn om een engagement uit te dragen voor Jong VLD.

    Maar vanuit het bedrijfsleven weet ik dat het wel helpt om in een positie van beslissingsname te zitten om effectief iets te kunnen doen en uitvoeren.

    Daarom wil ik lid zijn van de RvB. Dit om ook te kunnen kiezen voor het juiste kernbestuur.

    Samengevat

    Samengevat – wil je een betere Jong VLD website? Wil je dat we inhoudelijk sterker staan als partij? Wil je een beter georganiseerd congres? Stem Johan Ronsse.

    Kandidaat Jong VLD Nationaal – Raad van Bestuur

  • Kwaliteit, deel #304

    October 17, 2019 - Posted in nederlands rant - 1 comment

    Ik wil over het algemeen niet teveel zagen over kwaliteit, en al zeker niet te veel kritiek geven op het werk van anderen, maar als ik rond mij kijk is er nog bijzonder veel werk.

    Overheidswebsites die niet toegankelijk zijn, terwijl dat wettelijk verplicht is sinds september. Agencies die met werk afkomen dat objectief slechter is dan tien jaar geleden omdat de developers enkel Javascript hebben geleerd op school.

    Functionele webapps van bedrijven die opgebouwd zijn met een stevige overheidssteun die 2 dagen down zijn.

    Websites die een loopje nemen met je privacy… zelfs de website van het ziekenfonds geeft je zoekopdrachten door aan derden. Hoe kan dit?

    Ik blijf elke dag vechten voor kwaliteit, op het web en in software, maar ik zou het waarderen moesten wat meer mensen dat doen.

    Ik heb soms het gevoel dat heel wat mensen de fundamenten missen van waar ze nu eigenlijk mee bezig zijn.

  • Writing Javascript data objects for beginners

    October 7, 2019 - Posted in development javascript

    There is a difference between JS data objects and JSON, but let’s not go into that for the purposes of this post.

    Let’s keep it simple.

    Create a new text file. Open 2 square brackets (create an array).

    [
    
    ]

    Start an object:

    [
        {
        
        }
    ]

    Within the object, set a key and a value.

    [
        {
            "title": "My title"
        }
    ]
    

    Repeat your object if you want multiple entries:

    [
        {
            "title": "My title"
        },
        {
            "title": "My title 2"
        }
    ]

    Let’s go back to 1 entry to make this shorter, and let’s add some more properties.

    [
        {
            "title": "My title",
            "date": "September 27, 2019",
            "content": "My blog post content"
        },
    ]

    Now let’s go back to 2 entries to have a logical endpoint to “loop over”.

    [
        {
            "title": "My title",
            "date": "September 27, 2019",
            "content": "My blog post content"
        },
        {
            "title": "My title 2",
            "date": "September 29, 2019",
            "content": "My blog post content 2"
        },
    ]

    Now you can use this object over in various templating languages or just using plain Javascript.

    Here’s an example of a loop with this data object in the Svelte REPL.

    Here’s a Codepen using Pug.

  • Deze politieke week

    October 5, 2019 - Posted in belgische-problemen politiek vlaams parlement - 1 comment

    Op maandag was het bekend dat er een akkoord was voor de Vlaamse regeringsvorming. De krijtlijnen werden aangekondigd op een persconferentie rond de middag. De tekst van het Vlaamse regeerakkoord zelf kwam dinsdag rond 13u online, een dikke 300 pagina’s.

    Ik heb zelf wegens werkverplichtingen en door ziekte geveld dit nog maar deels kunnen doornemen. Dus mijn mening heb ik nog niet helemaal gevormd. Maar over deze week kunnen we wel wat vertellen.

    Congres voor de vorm

    Diezelfde avond hadden de 3 meerderheidspartijen dan allemaal een congres. Als lid van 1 van die partijen zou je het regeerakkoord dan moeten goedkeuren, met dus zelfs geen avond ertussen om het te lezen. Dat deze timing een beetje belachelijk was en dat enige ledenbekrachtiging dan maar gewoon voor de vorm was moet ik niemand vertellen.

    Dat die partijcongressen gewoon een goednieuwsshow waren vond ik nog enigszins aanvaardbaar. Er zijn betere momenten om uw politieke stempel te willen drukken dan de bekendmaking van een regeerakkoord. Na een lange en moeilijke onderhandeling gaat de partijtop niet terug naar de andere partijen gaan omdat 1 van de leden “iets heeft gezegd op het partijcongres”.

    Nu, moest er iets in staan dat écht niet door de beugel kan, kan het dan wel zijn dat de leden de regeringsdeelname wegstemmen. Dus daar zit een zekere “check” in die op zich welkom is in woelige tijden.

    Je moet redelijk zijn, als in je statuten staat dat de leden iets moeten goedkeuren, moeten ze ook de kans hebben om het te lezen.

    Particratie at work

    Zoals sommigen wel weten ben ik sinds kort actief bij Open VLD (en Jong VLD). Ik heb momenteel geen sterke politieke ambities maar ik ben wel actief geworden binnen de partij omdat de politiek me interesseert, en ik me in de liberale partij het beste kan vinden. Ik vind het momenteel interessanter om mijn bedrijf te runnen dan te gaan voor een politieke carrière, maar ik sluit niet uit dat ik er later iets mee doe. In tussentijd maak ik mij nuttig waar ik dat zelf kies. Mijn favoriete activiteiten zijn de inhoudelijke, als het echt over de politieke inhoud kan gaan.

    Ik kan door mijn positie lekker mijn eigen mening zeggen, want ik heb weinig te winnen of te verliezen… ik word niet betaald door de partij, ik ben gewoon lid en ik heb een mening. Ik moet niet specifiek snel doorstoten of iets dergelijks. Ik kan gewoon mijn eigen mening verkondigen en ik ben van plan dat te blijven doen. Ik heb soms de indruk dat er veel volgers zijn die wel schrik hebben om te zeggen wat ze denken. De particratie is erg stevig in België. Daar schreef ik ook een stukje over – voer voor een latere blogpost.

    Deze politieke week had ik vooral bewondering voor enkele leden binnen de eigen partij die op een correcte manier voor hun mening opkwamen: well done “dissidenten” Lieselotte Thys, Sihame el Kaouakibi en Hans Maes.

    Speeltuin Vlaams Parlement

    Het politieke schouwspel deze week deed me meerdere keren mijn wenkbrauwen fronsen.

    Zo waren er mensen van “de oppositie” die al een regeerakkoord konden neersabelen voor het gelezen te hebben. Ik moet misschien eens stoppen met Twitter, want dat is eigenlijk niet goed voor mijn hart.

    Dan was er het gedoe met de cijfers. Een Mr. Jambon die op een sponsordiner verkondigt voor eigen kerk dat hij de cijfers al wel heeft maar ze nog niet wil geven. Erg onhandig. Waarom niet gewoon verklaren dat het altijd even duurt eer je de berekening hebt gedaan nadat je tot een akkoord bent gekomen? Je hebt altijd al cijfers, ze zijn gewoon nog niet afgewerkt. 

    Als toppunt van de week was er de escalatie op vrijdag ochtend: het parlement dat leegloopt nog voor de vergadering goed en wel was begonnen, met een afgelaste middagvergadering. Argumentatie was dat er geen cijfers waren. In mijn ogen kan je op een 300 pagina’s dik document ook inhoudelijke kritiek geven zonder cijfers. Moet je daarom weglopen? Als je wegloopt zet je jezelf uit het debat. Dan moet je in feite dezelfde vergadering de volgende week plannen, en zo verlies je tijd. Wat heeft de oppositie ‘s middags dan gedaan op vrijdag? Boos een terrasje gaan doen? Ik hoop dat zij vanuit hun functie dan toch tenminste de tijd hebben genomen om het regeerakkoord grondig te bekijken. 

    Dat de cijfers moeten berekend worden na de landing van een regeerakkoord lijkt me de normaalste zaak van de wereld eigenlijk. Dat je dat zo veel mogelijk in de onderhandelingen zelf doet ook. Maar je moet in mijn ogen redelijk zijn in de timing van de dingen. Als je een akkoord afklopt kan je het becijferen. Tijdens de onderhandeling werk je met tijdelijke cijfers. Erna kan je gaan naar definitievere cijfers. Is het zo moeilijk om hier een gedachteredenering over op te bouwen?

    Blijkbaar komen ze bij Groen en Sp.a niet verder dan de gedachte: “ik heb geen cijfers dus ik kan niks doen”. Hebben zij geen eigen studiedienst met cijfers waar ze de voorlopig aangekondigde beslissingen aan kunnen aftoetsen?

    Het is trouwens bijzonder spijtig dat het een partij als Groen fulmineert over het gebrek aan cijfers, maar in de Brusselse regering zelf al 2 maanden geen cijfers heeft. Er moet toch enig besef zijn dat het even duurt eer je alles bij elkaar hebt (ja, ja, ik realiseer mij dat ook Open VLD in de Brusselse regering zit – en dat Sven Gatz minister van begroting is).

    Daarnaast herinner ik mij ook een slecht becijferd klimaatplan voor de verkiezingen. Je kan veel roepen maar je moet ook zaken in de praktijk kunnen brengen. Dat is nu nét mijn probleem met Groen.

    Voor de oppositie lijkt het soms bijna alsof ze het bewust niet willen begrijpen. In interviews met zowel SPA (Conner Rousseau) als Groen (Björn Rzoska) wordt er gefocust op het gebrek aan cijfers. Er wordt gesproken over “holle woorden” en “geen echt debat willen aangaan”, maar voor mij is het wel duidelijk wie er geen debat wou aangaan.

    Laten we in het algemeen alsjeblieft in het algemeen stoppen met focussen op kleinigheden en het uitvergroten van 1 zinnetje. Zo ga je geen werk gedaan krijgen. Ja, een spelletje spelen op je GSM is niet OK. Ja, het was een onhandige uitspraak daar bij Doorbraak.be. Maar alstublieft.

    Neem je job serieus. Er zijn belangrijke beslissingen te nemen die iedereen aangaan. Laat het over de inhoud gaan en niet over de vorm.

    Ieder parlementslid moet een kritisch debat aangaan over wat er in het regeerakkoord staat en wat dat betekent voor de samenleving. Deze week misschien zonder de exacte cijfers. Volgende week met wat meer cijfers, en de week erna met misschien nog wat meer cijfers. Er is zoveel te leren en te weten.

    Zouden de parlementsleden weten wat het gemiddelde budget is van de Vlaamse overheid? Zouden ze weten wat de verdeling was van de kostenposten in de vorige regering? Cijfers of geen cijfers, er zouden wel eens een paar anciens door de mand kunnen vallen bij zulke vragen denk ik.

    Ik zou daar trouwens ook niet op kunnen antwoorden. Maar ik ben mijn eigen kleine studiedienst. Ik schrijf het op wanneer ik iets nuttigs zie en breidt mijn kennis uit. In mijn vrije tijd. Als dit je job is en je bent ervoor verkozen door het volk heb ik als burger verwachtingen.

    Referenties:

    • De Standaard – 5 oktober – De macht speelt spelletjes
  • Sim racing (3)

    September 21, 2019 - Posted in games simracing

    Zie de vorige delen in deze reeks:

    • Sim Racing (1)
    • Sim Racing (2)

    Nooit gedacht dat een nieuwe hobby zo’n blijver ging zijn. Na het uitgebreid testen van Assetto Corsa 1 was ik op een bepaald moment de ongebalanceerde AI van het spel een beetje beu en keek ik naar andere horizonten.

    Zelfs met de hulp van de hoofd-developer van Kunos zijn YouTube video’s (#1, #2) lukte het mij niet om bepaalde stukken in de career mode te verslaan. Online vond ik ook klachten over de ongebalanceerde career mode op de PS4-versie. Ik heb wel wat vermogen om iets een aantal keren te proberen maar er is ook een grens. (Misschien lag het ook gewoon aan mijn skills.)

    Logische 1e test was Assetto Corsa Competizione: een spel voor PC, dus hup, de sim racing setup verhuisd van “het salon” (beneden) naar mijn werk bureau. Mijn collega’s hebben een paar weken een PlaySeat in de achtergrond zien staan. Zeer professioneel, dat.

    Met dat ik eindelijk terug een computer heb waar je effectief een stukje op kan gamen, begon ik eraan. Mijn ACC ervaring was interessant getimed met de real-life F1 races van Spa Francorchamps en van Monza, twee circuits die ook beschikbaar zijn in het spel.

    Het spel is grafisch impressionant, de nachtraces zijn cool en het spel zit over het algemeen interessant in elkaar. Maar er miste iets. Ten eerste was het minder fijn gamen dan op mijn TV + PS4. Ten tweede was het opeens wel heel – heel moeilijk. Dus dan besloot ik: misschien moet ik maar eerst beter leren racen in een andere klasse.

    Simracende vrienden spreken lovend over iRacing. Dus, ik aan de iRacing. Na een web formulier dat precies uit 1998 kwam ingevuld te hebben op een redelijk verdacht uitziende website en 12*3 dollar (denk ik) te hebben overgemaakt via PayPal voor 3 maanden iRacing kon mijn iRacing ervaring beginnen. Het begint met een MX5 op Laguna Seca. In oefenmode, zodat je “iRating” niet omlaag gaat. Ik ging een keer in een practice race en botste tegen iemand en werd direct naar het hoofd geslingerd dat ik de track offline moest leren. Euh, OK, ik dacht dat deze lobby “practice” noemt for a reason? iRacers don’t mess around.

    Laguna Seca is een leuk circuit en de MX5 is een fijn karretje maar wel iets heel anders als je van de group 3 auto’s komt. Dat was leuk voor even maar na de 40e ronde keek ik ook eens naar iets anders.

    Als ik dan eens keek naar wat voor anders er in het spel zat, dan kwam ik vooral veel content tegen die €15 het stuk kostte. Een Ferrari voor €15 hier, een track van €15 daar – allemaal misschien legit als het laser scanned content is die nergens anders verkrijgbaar is, maar als beginnende sim racer heb ik nog veel te verkennen – in andere games waar ik al voor betaald heb.

    Ik was ook super unimpressed door het Silverstone circuit in iRacing. En eigenlijk over de graphics in het algemeen. En de randomness van de base content. Ik ben echt niet geïnteresseerd in van die NASCAR achtige circuits. De force feedback was ook niet echt je dat (ik heb nu geleerd dat het een setting is… dus later nog eens testen). Dat was de druppel om terug te switchen van game. (Wees gerust R., ik geef het later nog een kans!)

    Dus, eerst terug naar Assetto Corsa Competizione. Na ongeveer de helft van de career mode gespeeld te hebben (klinkt uitgebreid maar na 2-3 avonden zit je daar al) een aantal conclusies. Ten eerste, het is leuk om een circuit als Zolder te leren, dat is in het echt in de buurt, en het is goed je circuits te kennen voor toekomstige real-life ervaringen. Twee, als je een track van één spel kent dan kan je het makkelijk in een ander spel toepassen (de Hungaroring reed ik al in F1 2018). Ten derde, Misano World Circuit is een erg cool circuit. Na 5 rondjes kwam die al in mijn top circuit lijst*.

    Maar weer bekroop me het idee dat ik een beetje aan het sukkelen was en dat ik op een andere manier beter kon worden. Ook de online kritiek op ACC deed er geen goed aan om verder te investeren in dit spel.

    Vrienden raden me al eens “one track, one car” aan. Zijnde dus dat je zo lang mogelijk 1 circuit met 1 auto moet oefenen. Dat klopt tot op een zekere hoogte, maar ik argumenteer daar ook tegen dat dat gewoon veel te saai is.

    Ik heb een beetje variatie nodig of het is niet interessant. Voor mij zit er ook veel plezier in tracks en auto’s leren kennen. Zo heb ik een rare fascinatie gekregen voor wat ik vroeger als johnnybakken beschouwde. Dus, beste vrienden & familie, als ik opeens in een getunede VW Sirocco kom aanrollen: blame simracing.

    Er zijn ook veel mensen die claimen dat je eerst met een lagere klasse moet leren rijden om met een hogere klasse te kunnen rijden. Dat is wellicht correct en goedbedoeld advies, maar het is ook een game, het moet een beetje plezant blijven. Liever een Huracan “onder mijn gat” dan een Renault Clio. En in mijn ogen word je door met een Clio te rijden enkel maar beter in met een Clio rijden…

    Na een zondagse sim racing sessie met een makker waar ik nog eens Assetto Corsa 1 had opgestart vond ik de variatie die ik zocht terug: driften met een AE86 op een landweggetje. Een MX7 race op Imola. Scheuren met een Ferrari 488 op de old-school layout van Monza. Jaaa! Hier kan ik enthousiast van worden.

    Dit in combinatie met enkele YouTube video’s van de kanalen die ik ondertussen volg — David Perel (aanrader!), Jimmy Broadbent, EIRISS en Super GT — bracht me terug bij een game die ik eigenlijk al 2 jaar geleden had gekocht: Gran Turismo Sport.

    In een oud interview met de makers ging het erover dat zij de game zagen als een ervaring die mettertijd zou groeien, en dat ze van het principe waren dat ze mensen konden leren racen via het spel. Met dit en de enorme variatie die dit spel te bieden heeft in het achterhoofd gaf ik het een nieuwe kans.

    Ik heb Gran Turismo altijd te “arcadey” gevonden en nooit echt beschouwd als een simulator, maar hier moet ik me dus corrigeren. Het is effectief een simulator, en zelfs een behoorlijk verregaande (ook hier pro tip: zet de force feedback op maximum!)

    Het zit gewoon in een commercieel gelikt jasje waardoor je in de indruk hebt dat het heel toegankelijk is. Dat is het ook, maar om toptijden te halen, online races te winnen en (in de single player mode) alle “gouden bollen” te verzamelen zal je als racer serieus zweten.

    Je hebt in Gran Turismo, net als in iRacing, het concept van een “safety rating” en een “driver rating” (Ik denk dat het in iRacing een gecombineerde rating is). Je gedraagt je dus maar beter op het circuit of je zal laag ranken. En laag ranken betekent: racen tegen mensen die het een goed idee vinden om er een botsauto feest van te maken. En da’s net niet plezant.

    Vanaf je in Gran Turismo een beetje betere tijden dan de gemiddelde persoon haalt, dan begint het plezierige deel. Dan ben je aan het racen tegen mensen met hetzelfde niveau. Nek aan nek races waar je strategisch moet bekijken waar je juist remt, hoe je rempunt verschuift omdat je in de slipstream zit, hoe je een andere lijn volgt op het circuit dan anders om strategische race redenen,… het is uitgebreid en plezant. Ik heb na wat effort een 3e plaats gehaald in een online race en dat voelde aan als een achievement.

    Nu hoop ik ooit wel eens eerste te zijn… maar daar is dus nog werk aan. Ik zie mijn skills beetje bij beetje evolueren. Ik zal me troosten met het feit dat Nico Hülkenberg als 170 keer op de F1 grid is gestart en nog nooit gewonnen is. De aanhouder wint.

    Daar ben ik dus momenteel mee bezig. Het is iets raars, dat racen. Het is eigenlijk veel dieper dan je zou denken. En het is spannend en interessant als je er wat meer over weet. Voor mezelf, voor binnen zes maand, twee recente records waar ik wel blij mee ben:

    • GT Sport – Red Bull Ring – Huracan (Gr3) – 1:30:841
    • GT Sport – Nordschleife – BMW M6 (Gr3) – 6:56:352

    Ik heb nogal eens de neiging om van hobby’s te wisselen. Gaat deze hobby een blijver zijn? Voorlopig denk ik van wel. Deze sim racer groet u.

    *De Lijst, momenteel:

    1. Red Bull Ring
    2. Misano
    3. Mugello
    4. Spa Francorchamps
    5. Imola
    6. Silverstone
    7. Nurburgring GP
    8. Nordschleife
    9. Autopolis
    10. Hungaroring
  • Skilliverse demo

    September 16, 2019 - Posted in data-visualisation development svelte

    A demo I made of my “skilliverse” app that I made with Svelte.

  • Improving my programming skills

    September 14, 2019 - Posted in computers development interface javascript side-projects svelte

    Somewhere this year I started a journey to learn some more Javascript, mostly triggered by wanting to reach a next level in terms of user interface. In August the learning suddenly accelerated fast, mostly by getting excited about Svelte and finding myself with some extra time on my hands for the first time in a long time.

    I built a few demos and things got rolling. I built work upon other work and was happy with the results which motivated me to work more and more.

    View this post on Instagram

    #sideproject #svelte #radarchart #programming #ipad

    A post shared by Johan Ronsse (@wolfr_) on Aug 26, 2019 at 6:39am PDT

    I’ve learned a bit of Javascript over the years, mostly some jQuery things to manipulate the DOM and some practical knowledge like how to work with certain plugins like HighCharts or Select2. I think I even once wrote a (poorly architected) plugin. But I have never really learned the basics since I have never really needed them. I’ve been vaguely aware of the different string manipulation methods and how to call events to do something with the DOM and I could do something relatively standard like implement a library and then maybe change it a little bit, but nothing more than that.

    I’ve hacked away on our prototype project Bedrock occasionally over the past few years but this was mostly modifying code that someone else wrote. I’ve always been enchanted by the idea of node.js — with the possibility of being both server & client — and the fact that it can access the file system.

    This makes me feel like I has the possibility to write “real” apps as most of the professional things I want to do involve automation and that in turn needs a lot of file handling. I never got to that of course as my focus is on UI design.

    In general I’ve kept away from writing too much JS in my day job for the past years, mostly focussing on the UI designs themselves and delivering well-architected HTML and CSS to help the developers on their way to build the entire UI in a full stack environment (And now coaching others to do so as well)

    I also don’t like spending hours on something when I know that I will be inefficient at doing it. I would rather leave the JS work to the persons who I always jokingly call the “real programmers”.

    I want to change that and start writing more JS in my day to day. First of all I feel like I reached a knowledge level where I have similar skills as the “real programmers” anyway. It’s not a competition BTW, that’s just an observation for myself to feel certain enough to do programming types of tasks in a (paid) project context. In the end we have to work together to make great products.

    Next to that our team is growing and there are more people with more skills in it that can also teach me a thing or two about modern JS.

    We’re not going to turn into a development company overnight now. We’ve always been designers that use code as a means to an end – to explain an interaction, to show what is possible responsively.

    I just feel like I just need to know more about manipulating what’s on the screen in a programmatic way to reach a next level in UI. You can only do so much if you stick to HTML and CSS. At some level I also feel like the standardista’s I grew up with are holding on to 10-15 year old opinions that are no longer valid, because the world has moved on, but that is another discussion in itself.

    I’ve always liked stuff like D3.js – there are things like MapBox that I can geek out about – there’s plugins for Figma – there’s two.js and Zdog – and I’m excited by the possibilities of web components.

    What all of the things above have in common is that they are Javascript-heavy. I feel like I need to be smooth at manipulating it in order to create what I want to create.

    The timing feels right to improve my level of Javascript. The market need is there to have a better deliverable (i.e. a web components based one). The resources to learn it properly are out there too, now. A few years ago you’d be hard pressed to find a decent Javascript course. Now there are tons of resources out there.

    Now, about learning Svelte specifically. Svelte was quite difficult to grasp in the beginning of the year. I tried to get into it in February but it just wasn’t finished in terms of documentation and external resources.

    Things are better now, with much improved documentation. Some of the demos on the REPL are really impressive (I love this tree for instance). One problem I encountered for now is there’s not many resources about Svelte out there. There are plenty of React courses but for Svelte there is just this one course, that’s apparently not very good because it teaches you to think too much in React-style coding.

    In order to counter this I’ve been patching bits and pieces of thinking together to get to an understanding, documenting things along the way for myself, both publicly and privately. I’ve changed my mindset about how I should learn to code – not by listening to a video tutorial but by doing, reading other people’s code, and documenting how I solved the problems. If you have to wait for an external resource to explain eloquently why you need to do things a certain way you will always be behind the curve.

    Moreso, these isolated examples can help our company grow as a team.

    So that’s a bit about my recent programming experiments/learnings/process. I hope I can inspire someone to do something similar or that some of the thoughts or references in this post get you thinking.

  • Svelte screencasts

    September 7, 2019 - Posted in development javascript svelte

    I made some screencasts showing how to implement components in Svelte.

    • Implement a Card component with Svelte 3
    • Implement a Table view with Svelte 3

    I am working on a UI framework/method to rapidly prototype interfaces. As I build it I thought I would strategically record certain parts so our team and others can learn alongside with me.

    We built Bedrock before which we use daily and is super powerful, but has its downsides. But that is food for another blogpost.

  • Overengineered packages?

    September 6, 2019 - Posted in css development javascript npm react - 1 comment

    Is a package like classnames “overengineered”? I stated on Twitter that a package called classnames felt overengineered to me. I based myself on the npm page where this code example is given:

    var btnClass = classNames('btn', this.props.className, {
      'btn-pressed': this.state.isPressed,
      'btn-over': !this.state.isPressed && this.state.isHovered
    });

    The first reason I felt this was overengineered was because this kind of code actually belongs in CSS:

    .btn:hover { /* Styles */ }
    .btn:active { /* Styles */ }
    .btn-pressed { /* Used as .active I presume */ }

    I understand why giving something a class conditionally might be handy, but do you really want people to figure out that a button should have a class of btn-overwhen the state is not pressed but hovered?

    And then have that match up to another logic on the CSS side?

    Bramus and Sebastian rebutted that it’s actually a very handy utility. So I am sure there are situations I am not aware of where it might be handy.

    At the moment I feel like it’s only invented because of a deeper problem: trying to write CSS in Javascript.

← older
newer →
  • ©2025 Johan Ronsse
  • X
  • Mastodon
  • Portfolio 2024