Home

Freelance full-stack software engineer

Hire Me!

I’ve been contributing to projects either as the solo coder or a technical lead on a small team. I bring value to my clients by helping them chose and implement software that serves their business.

Past projects include:

Across most projects we used:

Also a powerlifter (-75kg. 145kg squat, 100kg bench-press, 180kg deadlift).


,,,~,=Z,Z:::7=ZI7:~+~~~::,:::::::~:::::,,,,:::~+++II7777777777777777777777777777
?7:O,,:+??::=~OIZZZ7::=I+,:::::=+=,+,78+N:::7+=+++II7777777777777777777777777777
7+?O~7$?+7+=77Z?I+++=I?$+O=+++7ZI+ZOZO$$7DDD8===++?III77I77777777777777777777777
$I$?$+:=~Z++7=~=~~?~+?II+$N7O888DDNDODDZODMM8MN$M?IIII7IIII777777777777777777777
+$7$++:7::~+==+$+~=?=I7Z$ZOOO8DDDNN8DDD8O$$8DMDN?7IIIIIIIIII7IIII777777777777777
IZOZ=I==+=7===+:~+I:==$I88DO8D8DMNDMN8?O8ZDZ8ON87NIIIIIIIIIIIIII7IIIII7777777777
?:=+$ZIII~7~~+~,~~:+=7$Z~ND88ZONDNDNNODNO8OIZOIN8MOIIIIIIIIIIIIIIII7IIII77777III
ZOOOO$+++=I~+O??=?=II787DD8DNMNNDD8DDNZ7MOZO$ZMON8MM87IIIIIIIIIIIIIIIIIII7III7II
ZOZOZZZZ$IZ7?=+?~I~=O$DOD8NDDDNDD88D88Z8$$8Z?+7$NDNMN?OIIIIIIIIIIIIIIIIIIIIIIIII
Z7+ZOZ$$OI+7+?I?$I:=+D8DND888888OOZ??I7+ZZZZZ8OD77ODND8IIIIIIIIIIIIIIIIIIIIIIIII
$:~::~ZZOZZZZZZ$Z7$I7$MNND8OOOOI$7$7?I?II+IZ$$DZDZ:$:M$OIIII??IIIIIIIIIIIIIIIIII
~?++:=Z=Z7OZZZOZO?I~?ZMD8ZZ$Z$$?7I77?=~,:~:~:~~?7$O77ON8O?I?+IIIIIIIIIIIIIIIIIII
===+~=:II:$=7?ZZZI,,~~88ZZ$77$7II7II+~,~::::~:~~~~?$ZOONOO=7IIIIIIIIIIIIIIIIIIII
ZI=$:Z+=$7?O+O7=?I7,?IDZZZ777?I?++==:~,,::,:~~~~~~~IZIDD8+777IIIIIIIIIIIIIIIIIII
O8OOZ7Z$IZ:~~$=~I,+=Z$OZZ$7I?=~~~=~~::,,,::::~===:==?$8NMNZI?III?8NNIIIIIIIIIIII
ZOZIOOO8ZO$=:~~~$++7=DZZ$77I+=~~====~::::,,,:~=~=~+IZOD8DO87IIII88DOO$IIIIIIIIII
Z$I+Z?$Z~Z$O:=$I+I7~=8OZ$$$$II+==+++=~==~~,,~:~~~=I7O8DON8OIIII$M87?O?II?IIIIIII
7Z$=:~$I:~$$:.+7=7+I.OZII$Z$7$II???IIZOO$$I??===~=+I8D8DMD$?????IOMN77?$~:~II??I
$Z$7$I:~O?77ZO=~Z=~==O$ODD8DOOZZ$IZZOOOOOO$$II7I==+7$Z88Z8?????????78DOO8I?::???
8D87$$??:==+ZZ+?$ZZZZ$OOOOO8888O=,+O8DNNNMND8$+?=~~?7OO88???????????IOOO88Z:~~~?
ZDD8$$Z$Z8OZ+ZZZO8+:??$Z8DMMDNDI~,:7O8OOZ7???=~:~~~?7OOOZ$+?????????IZO8DD8O,M7+
$DDDDDO8$Z$?~~I7I~~?:~$8ZZO88OO+,::::::~:~::,:,:~~~=IIO?=Z???????????Z88888D=?OI
O$DDDD88$8O$??$$ZO~===OZOOOOZZ7=,::::,::::::,:::~===7,$Z+???+????????O888OOO~8ZI
=?Z$OZ8DD8$8$I7IZ$=~~=$ZZ$$I$?+~:::~~=$+~~~:::~~===+=:~~~:+?++??????+O8OO$=8=OZI
IZ+:ZZZZ$$DO887$Z77ZOZZ7?+?ZZ$7I+++=~=$ZZI=~~~~=+++===:::=++++++++++?$OO$+=OZO??
7,ZZ+?O7ZZZOO$N8I$$$7I$ZII$OZDZOZDDD$~:~IOZI++=++===~~:,:++++++++++++ID8Z+~?$+++
~.$7$OZ$ZZZ$7$IZ?+?+7ZZ$ZZOZO88888OO+~===+OZ?=?====~=Z7IZ++++++++++++ZO8ZDN??+++
:~?O$ZZZ7IZOZ=I??7I??$D$Z8OOOOOOO$=:~:~~+7$+7+$======O$OD++++++++++++ZO88DZ?=+++
$++7Z=ZOZ$ZOOZZ$?7Z77$Z+ZZOZZ888OZZ$ZOOZDDZ?++?===+=$$:7I++++++++++++OD87Z7I~+++
$$$OOOO$O$ZZZO8Z?O?IZO7Z$Z888OOI7???++~~~~??++++++++::~:++++++++++++8ZI:+~:I?+++
?O$$$7ZZZOOOZ$8D8Z??8O=ZIZOOZZZ$77$7??~~~~=+?????+?+,::~++++++++++=+OOO=$D==++++
O,ZI..7$OOOOZO$+ZOO888OZI$ZZZZZO8Z7I+=~=~==++???+II,,::~:O?++==~===?ODOOND?+?+++
ZZ$ZZ$ZOO$:ZZO88888$8888O8$ZZOOO?I?~~::~~==++?I$$?::,:,,888D=++====OODD8I?+7II7$
$Z$IO$??++==~:8DDDD8DO8D888~ZZ777??+=:~=+=?+I$Z$~~::,:IDDNMD8D$??++O8DDD7?+$7?$I
+???+++?++?++=+8NMMNDDODD88NZ$O$7$7???IIIZ$OOO7+=~~:::DNN,..8DDD8+?888?OZNN8OD88
7777IZIZZZZZZZ$ZZOMMD8O88888$OOO?OO$7OOOD888OI+==~~::8NND8..IDDDDDDD8$~DDMDN88ND
$Z77=~~OZ=:~O777$~NMMDOD888D7:M888O88D8OOOOOI?+===~~~NN:8DM...DDDDNNDNDDDN8NMNN8
77III?=~::~=~...,:.NMNND888D$$O$8Z7ZOOOOOOOII??++==~MN,..8DD...DNDDNNNDNNNN8DMNM
8O7??IZ?~:,, .....7NNMMMD887.:$ZO:.?ZOOOOO$$II??+==+DMD,..8D:...NDDDNNNNNNDDD8DM
OI7I?$$8I=~Z,......DNNNDN8D,?~?+?Z~,=ZOOOOZ$7II????8M.NN.,~DD...NDDNDDNNNNNDNND8
7$77?I$88$IO.......7D8D888D,?IOOZ$Z,+$ZOOOOZ$7IIIINMI,DND,~.D8...MDDDNNDDDNNDDDD
7$$$778ZNO$7::,,,,,I$O7NN8ZI$$8O8$8+=$$ZOOOOZ$77$NMM.,,MNO::DDN.. 8DDNDDDNNDDDDD
+ZZ$ZDONODD$+NZ~+8+IION$$~7ODO88?I?+NMMZZZZZOOZNMMMMN.,~DD,..DDN...DDDDDDDNDDDDD
NZ$$$OMO8OZN$I++~=DNDZ777II7$$O77$+$MMMMOOZOONNMMMMMND,~DN,..MDD....DDNDDDDNDDDD
M+Z777$$$77778MD$OZ7777D8ZI7777II=MMNMMMDNDMMMMM$MMMDD$~DD8..,DDD. .ODDDDNDDDDDD
888D887$7777DZO$Z877$7D8Z87$O$$+:~MMMMMMMMMMMMMMM$MNNN:,7DD...,D8M...8DDDDDDDDDD
DDDD:8777$$88D$DN7$$D8DD8$7ZZ77,=MM$MMMMMMMMMMMMM8MNMN.,=DDD...8DD....DDDDDDDDDD
DDDN87II7$8DNNZ$8$$NZZN8D87$$$D$:MMNMMMMMMMNMMMMMMNMNNN::DDD....DDD.  ODDNDDDDDD
DNN=D7II$88N7OOZZ$ZZ$Z$NDOZZ$$Z,,MOMMMMMMMMMMMMMMMMMNNN,::DDN  .8887  .888DDDD8D
NMMN7$ND8D88MN$NNOO8DNDDND78ON=~.MZMMMMMMMMMMMMMMNMNMNN.,,8DO. ..DDD   .888DDD8D
ND8$78ZZD$DD8NNNZ$ZZODDOZO8:::==,MNMMMMMMMMMMMMMMNMNNNN...88DD ..O88~. .8O88O8D8

Creating JavaScript objects in 2018

7 minute read Published:

If you want to learn how some popular design patterns look in JavaScript I recommend you to read The Comprehensive Guide to JavaScript Design Patterns by Marko Mišura. It argues why learning design patterns is important and shows some examples. However, the post was written in 2015. Since then JavaScript has evolved and obsoleted some common patterns that we were used to in the past. Making a “class” in JavaScript was a Wild West before ES6.

How to easily speed up your prime number generator with factorization wheels

2 minute read Published:

Prime numbers. Somehow boring and yet fascinating topic in mathematics. A number is a prime number if it’s divisible by one and by itself. In contrast composite numbers are divisible by one, itself and one or more other numbers. Primes: 2, 3, 5, 7, 11, 13... Composites: 4 = 2 * 2, 6 = 2 * 3, 8 = 2 * 2 * 2, 10 = 2 * 5... It’s all so simple and obvious when numbers are small.

Dear FinTech companies, be careful with external scripts

2 minute read Published:

Just last week I installed a Chrome extension called Privacy Badger. It is supposed to protect you from third party scripts included on websites that might track you. It does that by checking content loaded from other third-party domains. The side effect of this extension was that you suddenly begin to notice which sites include external scripts. I’d say I am not surprised by them on social media sites and other sites where I mostly consume the content.