FÜFurkan Ünsalan
Writing
  • 8 AugThought

    a weekend full of vibes, working and travelling

  • What I hand to the machine (and what I keep)

    For a while I tried to keep everything in one place. I build software for Teachfluence, an education platform, and I had all my skills, every command I had taught the AI,…

    8 Aug·6 min read
  • What I self-host (and why I bother)

    A tour of the small personal cloud I run off one VPS: the bookmarks, feeds, docs, and dashboards I self-host, how they stay private, and why I bother when everything here exists for free elsewhere.

    23 Jul·4 min read
    • #self-hosting
    • #homelab
    • #privacy
  • 8 JulThought

    A random tuesday trip day with MultiGroup Team - v2

    • #roadtrip
  • 5 JunThought

    A casual friday office day @ Teachfluence

    • #office
  • 20 Dec 2025Thought

    GDG Bursa Devfest - Roadtrip with MultiGroup Team v1

    • #roadtrip
    • #event
  • Contentful ile Blog Sistemi Yönetmek

    Bu rehberde Developer MultiGroup bünyesinde yeni başlattığımız Android Blast Off bootcamp serimizin websitesine nasıl Contentful ve ve Next.js kullanarak çok basit bir şekilde bir blog sistemi kurduğumu anlatıyor olacağım. Bu yazı biraz…

    18 May 2025·12 min read
    • #Türkçe
    • #Web Dev
  • Clean Code 101: Neden ve Nasıl Temiz Kod Yazmalıyız

    Bu yazıda, “Temiz Kod” yazmanın genel prensiplerinden bazılarına göz atıyor olacağız. İlerleyen bölümlerdeki kod örnekleri TypeScript ile yazıldı fakat bu prensipleri çoğu dil için benzer şekillerde uygulayabilirsiniz. Bu yazıyı Catalina Turlea’nın “The…

    11 May 2025·6 min read
    • #Clean Code
    • #Türkçe
    • #Development
  • My Takeaways from Ali Abdaal's Feel Good Productivity

    I've recently read Ali Abdaal's New York Times Best Seller 'Feel Good productivity' and I've taken very nice lessons for myself while reading it. Here are the most impactful highlights I noted…

    5 Feb 2025·7 min read
    • #Self Improvement
    • #Books
    • #English
  • Connect Your Docker Apps to a Domain

    Introduction This has been something I really struggled when I first try to setup a config for accessing my docker containers using my domain and at the time I couldn't find a…

    22 Oct 2024·3 min read
    • #Tech
    • #Self Hosting
    • #English
[_++~+?}11{{1(/|(///||trjft/tttjfrrxxxrjjjjjnvzczzXXXXYYccvczzXYUCCCLLLLJUUYYUJCJYJCCJJJUYXXXzzXYYUJCCUYXXYUJXcuxnvnxnuxtnvvzuunnnunXCQCzvcccczcYOOLXXcXXzczUYYUUCYXXzzvczXXczvYYJzncYUUXUYr/jvf/f)}(/ttt
[{11)))111(/tfjxnuxrnxrxnuxjfffft//tfjjrxnxxuuvvuvvzYXzYUYYXzvvnnuczYJCCJUUUYYUUUYXUJJJYYJCJUUJCJJOZO0JQQCJYYXXzzJYYYzXZLJUzcvYCLCUUZ0YcvccczczXJQCJXXUUUJLQCCJJXzXXXXccvzUzzXvcczvnrnzYUYYx){}/jxj||trj1
+-?[{1)(||/tffjrrrcurrxxnuvvczzvnccvunxnjffrxnnrxnuuuunnuvcXYJJUUzzvvXzvvcXzzXXXcvrrcXUZmOLwwOU0mOZUXUCmbbbpq0QmQQUzcYzmbZUYQq**mCUCJcuuvccXUCJLLJQLCUJUYCQOLLLJCUcXXzczczCzvcuczXYUuuxuuvXuj/{]][]~_1frr
>~_-][{{((tft/tfjrnxrrxrjfxcuXUXYQ0Q0UvnrrxnnnuuvnxrxxxxjrnunxnccCUvnuunrrnnunczXJJLJccXCzzzzzcJJXYJJOpwmOmohZCLZOCzzUJQLvnxnYUCJvXUuccczzXXvczXzXXYYUUULQCZZQLJCCYzvYXzYUYvvvYYJJJzunrxnnuuuvuxf///|)){/
<~~~~~+?[1)|tfttrnnnnunxxrrrjjrnunuzcccvcvnrrrrnxxxnuunnxnrjf|(|/ruunrtjjrrxnvXCJLOdmQZLXYUXJLCQ0JQ0QYYQC0LJCJUUXcvuunjf||||||tjxunjrrnxxrrrxxnXvxncvzJpapwobQYXJCCvvzLUYQ00Zqm0JYzvXuuxxrtjrrrnnnvvzrft|
>~~~+~+_?][{{)(|tffjrnnuvvvvvunxnuvvunnnxnxxrfffjjtfjjftttt/|//|||(tttttfrxncUCLL0QJLJUXYCLJLhpaWCvxcbMmUcYYJqdQJYXzcunrjjfffffnvvvnrnncvcJYcuvzvzzC00mOZMbmawJLZdbkpOJUJOZd*MMd#dOmJYLCXXxjxtt({())//tfj
-?]]][[}}1)(|tffttttfffjrrxnnnnnnxrxrjjrjjrxrjfrxnxfft//tfrrjxnuxxrjffttrxuXJ00wqqwdmOCUQLLwZQw0UurcXmb0zvzjjXmQOUUJCCYcvuxxxnuuucXzXUU0OQQJJUYcYYUzxYLUUhkwqdOCOdo#kkaaakk**bWaobhW*pd00mbmUcvuff([[?+[(
?]][}{{1((/t|(|||/t/ttfjjjjjjjffrxxxrjrrnunnxrxnvvvvuuvvcccuvvvvcczXcunnxuUCLLJL0kkkbb#odpdhbqmUOQCZZCCLOm0wOCQ0Qmd*bOLJXUUXXzCLUYYzYQYzzcnzXcczLXLUUJQUucaaCJZQ0abQ&%$$8MM#b*$*0cxr?l]}/xuYCOZJcu/(1{]_<
-][[}{}}{)(/ffffjrxnxxxxxxnuuvvvzXXXcvzzvuuuuuuvvzcczzXXzYXzXXYYUXXYUJJCZQJCYLQmwdpQmwdwQQwwmqq%hZZQ0dhh#oboq0LZ0OqkM*mJpd0Obkdwqq0XvvnnvvuvcnXCYUL0bWaZJpm%b0o8%$@B$B@@&MB$$$Y` `!>:",,~]?![(}tQ0cjj)|[_
+_--?]}[}{)(/t/tfjxnuvvcuuuuuvvczzccccvvvvuvuvcvzzccvuvvvvvccvvzcUXYQLL0YXczUQwbhdwwoMdkpZmmkhdpqwo#WobpZUCzUdUUOqhobhb0wBmY0JJCLZZmpOCUJXcYXUYXYQZdZQm*M&o*qaOmoM$$B$BWoo$@u:  """  `"ll<^  !I .1ccUcnf|
__??[{{111)(|/fttffftttfjrrxrrxnnnnuuuuuuuvuuuvvvcvccunvcvnnxnXzzzcc0ZmJxrYUUUJJzXQwmbddoahbdqbZkWo*W8hhab*#phk#h0qm0UJw0UCJYLaLcuzwa*Mbppkwpbbbkwkko*M@$$$$$@@@8@$$$$$$$$h:   .  ,         ^ il   -JOLUc
?]][{}}}{1)11{)|//ftttfjjrxxnuvvcvuuvccvuxxrrxrrucuuucczjxxxtrvuu/(jnccxfrnczUJUqmwqYYJOO0LwqZJL0OmqOdqkq0J0qpppmOmqobwqZUnfuYxJpUQZqM$#M#Wabomk*MM8$$$$@$$$$$$$$k? "1Om%/                    ..     ?zXn
-?[[}{}{))|///ttjfjfffrjrxxxrxnxuuzUUXzzucnxrxujrrrxxnrtxrjxt(tfxjxvvxnrnncvnjxY*kmCYJCJCYCJuvYJUXLkmqOdQXuxQ*qYJ0mqokpJrcCJwkcjLkpbmk&##b*$8&#oaaa8$$$$$$$$$$$$j                                     {cU
<~+-]}11)())(ttfjrjjjjjrjrnvYXYUYCOm0YXUYUUJUYXvrjfrxxjfjt|/frrnvxvzYvjjrcr/xcY0qpqLmOYzJJ0kbpZUntxvnjvQ#ahkmJCZaMOOaaooha%&8$ahMkmopZOqM*m#$B$$$@$$$$$$&B%M%@$~                                   .i}}_]
Il!i>>_][1111)/tjuvXzvnuYczXLCCCzzYLCYYJLmbhqLYJQLCLLQUXzvxnvxrrrxxnunrtt/(/rzCm0qmQzvuXLwZh##WqUcuuf)uUphpadzzwdOdOzYQdd#h$$$$&ha&&%hwkwwha%@$$$$$$$BM&#%$$$$1                .              "/?!li,.I  
.`,;lii+_-]?[)jf/fjuczzYJczzuvXvnnxt/rnjrvXzvccvXuuXcczzzzccvuvxxnnxxxrjffjrfjvJLOYunuxcYuYLmaBMaqmQUJQUma*ob0UYLo&%MmXa##o&#a@$$@@@%%$$$%&&M@$$$$$$$$$$$$$$8_                 ^Q*bmZL|<            'l"  
   ^;;<>i>+<>>_?](fuXUnnJCUCQJJUXXUCYxjruxnvr////jfjrrnvcvvnnxxnnxnuurrjrrjruXZbOOmpkQcUXUQOpqqqmYznXXJJJpaaZZ*WW$$$$@$%@$%%&#$$@$$$$$$$$$$$$$$$$@$$$$$@$Wf>^            '   `  |YX}t|?1/vu}!           .
.'`:;^l<~~?]---?}{/))ftfffttzXuXzcXJQOzvuuvcnjfrrj//ttfrnuczuxrjrrt/tfxnxuvXJZ0Zqo*8kqbMM0XXXXUcZwLCYzJYChCCOMkbo%B$&W@$$&$&h8%$%W$$$$$$$$$$$$$$$$$$$$@$O  ~              "+<'`^  ;~){1(|u/{jn]l,<+?i    
  . I:,:i!>+[}_+-?_?[][)[[]{t/ncCvvuLqUzczXCJXzczujtfjjrrxnuvccvvunxxnuvxxxvYXUQOqqkhppdbUrXCZZ0aOrXXJmQQwdpa888W$$$8*MW$$%$BM8M#pW$@$$$$$$$$$$$$$$$$$$$,      l:l}[[i `l:>?}-_~!!11]~[x/-:<f/t-`   i+"  
  ',;I!:"IlI:iii<<__-?_{][{[/x|jnfxncXCQmLXzzzYzYLCUzvcXzccvnnnuunxxjf/////juunjnJmp&#*kpddhhkhpbZpbdkhdkqJpo*kma$$%$$$$$$$$$$%MoZ&BWW@$$$$$$$$$$$$$$$$W,      .:?>ii<^  '     `   ": I:,`:!"'-+l"';+I !!
^^^,,"^` . .``:~+(({11?{}{]]|}[){1(xfnvccxnrtjfnunnuzzcccuvvuuvuxxrrxjft)(rcXJwq0Qqkbbokk@%hk#%M8$$%aammbmUuwmCz0W8M$*baW@%$$$$$$%#$$@$$$$$$$$$$$$okZZ[^ ;?-I,!;           !>~l_[l"i?> '   ,"!_~]i!<'>+;>
"">>:,""^I;";]v|]_[/}]{t{[t1??][{1)jXUunrt|/{[[)){{{1{))|())(tjnxttfYvjnvqkqhwpka@owk*o*#a#hkW$$%W&MbdwbqQYaqZqko#do%*h#8%&M$$$$$$$$$$$$$$$$az-;~. ^    I)>!]-;`":``:;:i"'<:`I!";-!i![}{_!,i;!;;_, ~^ ;<-
~>?>_-l<_[}_-(f[+++-}1(((((1[11|||trXOO00UcnrxvnrttxffrxzXczJLZpqpOJLCqaMZ0hwXxjbhZwMOQZzQwMWWBWMW8@%B8oMo&BM@8M@$%$B%B8&8@$a#$$%pwkw*8WC]],       ~t[;^+!'l" .^ !_;   >;:"I:;'`' >1i_~ `:l<I``"         
^^^:!i!~>+~+_<[t)[[]?-+[}1[[{[[}?[1-?XQxucXvvzYXzuCho$%BBoook*o#W&%WW8$&#LcU|tX0*a8$&QUZ0w**aW8*&B%8WMk#Wodkqohk*a*o&8Mo*&$$q!~_;!)juj1(uj/l      ,l;>[:.!{<    ;.     I{}-f1ll][I i~:   "`'.liI.`:"`^^  
'"";I;I;!l;i_[{|}-1[[_]][}{/(t{{)cn(rXnjjmmXnvujvZCOwpdhhoO0o$@B$8%B8&$8MWhOQwaddpUwkkw8$@$&*oW%$$$$$$B$0ZkwZmbpdmbh*B&hwZ0h)   , 'l!'"',i_xt/nj[_jrU|i+rLu]l[_I   `~]?((/[+[j{",?ili-[~;^,^":I^;+,";.`:`
`";;;;ll!i><>><>>_++__+[{)(/nvfxj/tcJXUOahLUZm0YYa8dkYULwdqh&W88%8B&@$@$$$W88*bq*MMopba@M&8%M#Mo%$$$$8kwk8B#&&o#&&&WMW8$*d)` ^,:!_i  '`,     `(/f]"+}_L?_UqUcffx}^",  :.`+!~_!1__I'' .l}|_>il<i,,;.:  ^I:
   .'":,;Iliii><<>>++~_{{)1111//tjf/fxXzX1xYtYq*Z0Oa$WaMWWZaoW@*M&BB8@8M$$@%@$M88B8%%B@$BBB$$$$$#)]Lf   ]jk$@*aoM#aa*wpa8{,II:!il'l.       :-i!!~f/]u1x1,~jYQd>|n{?+()~_+!<t)Ill>(}~     ;__`^",         
^^```":I!!I><~?+~<i><lII,:l~?}}(){-|YbLZ))LrnQphM#8$@$$%8$o#WB$B%$$$$$$@$$@$$$@8$@BB$$$$$$$$$oC)   '  ` ,. [poOvZL+<?   ;;"`               ,uuXr/}Yx[n(Xf^!1)1(1/f-1n1f_!!}11j1-~>1(["     ;{1!l-]:^"!^` 
:,,,,,IIl::Il!<i~?>i!lI>+?)|tt)nn|xOmJZbZdUZLOaM$@$$$$$$W##MM$@B$$$$$$$$$$$@$%W@$%BB$$$$$$h/                !i  ]     ": ^  '  i   ^      (Lzn{I` ,}-{-xX_fu1 ~_}j+[tnccn{}}l](({_I_{(-<-l:>]}]?])/1]){{[
 .'.`"I!i><_-~!<<+~_-_?1{///jxLawmqZUvCpZh%B$$%$%M$$$$$$$$$$W%WW8%$$$8B$M88&#oab@B$@$YjUwJ<^                 ^;    +|_i>_.   ^        ,{) -)[1   .  .;>">l??>  -<izJ)}))Yjuzt~<-|j]>~!+<:l,l!>~>]_{/j?:i>
     '  `:I;><_-__[_i+ru||tnvCmmOmUuOLunk#BB&8%$$$@Mho$$$$$ommCvrXLwdkQZwpmqaB$$$$@b/n)_{ujzq}   !)l            '`I,:"l<}l<l`.      ]ucYxl  ";~>~!;i>`,{{[j~ ,:_/I[trf:'(};~/|-  `:-ii>_I`_>^`!>^!+/x1<,`
 '`::,i~_ii?1{{{~~+1tjcUUcjvUvccc|cmOvz0LdW%8WkLz)?|1fn|xt?>tOLL)-t"<}}/CXXOLqwkmXJnjJOLXQ0kmw(zUC0h01uX)}}_]tt|nt}{<]f/tt{<|j/l   i_""   ` .II+!)ux/[!_(|c[[JOZQ|>[}|{}[_i"l(r)]i:I"!<>-~<>!!^ ,l.^l1[,l
-?}{~>i_}+l~<_{//||rvCQXCxjr1[cn(jcnnxX0q#C0Y-"  .iiI;  .;iI>t(]-+]xCz|z0Yc|/j){{l~?(cYfOznXuXc"?c/vbZqwLnYJqka*0)1rfjfr1t< iIl}}i ^(-   '![1cYCYnYL0|v)J0n,^;)t/|1}?lI+]1{}{)(t/|}<?_+]~}[_~~i<>ll[1{(?_
<<~!!i>>><+-~?]-{1}{jUYuzu{1(uucYQ0zZbphqtI;    .^` :]  .:i; :-}{ffLuzJx|nj{_])?(}<i?[_'[{{fYYLv[^!{xnxLQLcuxuxjzQu00nn|)rf:  I' j|  ``I>,^? ,``l"~~(}/UtfnfI^_}|t|))()))11))1)11}})[[/nf[/r[_?-~?{|; . ,