<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Wibenson]]></title><description><![CDATA[Thoughts, stories and ideas.]]></description><link>https://wibenson.com/</link><image><url>https://wibenson.com/favicon.png</url><title>Wibenson</title><link>https://wibenson.com/</link></image><generator>Ghost 5.60</generator><lastBuildDate>Mon, 04 May 2026 13:00:47 GMT</lastBuildDate><atom:link href="https://wibenson.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Rants on Football Manager 26]]></title><description><![CDATA[<p>Lets start with the good</p><ul><li>latest match engine is quite good, haven&apos;t see any weird stuff going on and the movement of the players are quite smooth now</li></ul><p>The bad</p><ul><li>The new ui is not consistent, space bar sometime works for continue, but on the match it doesn&</li></ul>]]></description><link>https://wibenson.com/rants-on-football-manager-26/</link><guid isPermaLink="false">69117c131a06c50001696531</guid><category><![CDATA[No Effort Posts]]></category><category><![CDATA[Games]]></category><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Mon, 10 Nov 2025 05:50:06 GMT</pubDate><media:content url="https://wibenson.com/content/images/2025/11/Screenshot-2025-11-10-at-12.49.07.png" medium="image"/><content:encoded><![CDATA[<img src="https://wibenson.com/content/images/2025/11/Screenshot-2025-11-10-at-12.49.07.png" alt="Rants on Football Manager 26"><p>Lets start with the good</p><ul><li>latest match engine is quite good, haven&apos;t see any weird stuff going on and the movement of the players are quite smooth now</li></ul><p>The bad</p><ul><li>The new ui is not consistent, space bar sometime works for continue, but on the match it doesn&apos;t, so that someone (me) need to click it</li><li>This filter don&apos;t work</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://capacities-files.s3.eu-central-1.amazonaws.com/private/080ac8b6-bb15-46ec-aa5e-a68feecf9758/raw.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&amp;X-Amz-Credential=AKIA5VTNRR6EBR56K2NK%2F20251110%2Feu-central-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20251110T052630Z&amp;X-Amz-Expires=43200&amp;X-Amz-Signature=79bb4d06114114f059fc9553cbea4727c616d308acaade4c6686cfa56b26ac96&amp;X-Amz-SignedHeaders=host&amp;x-amz-checksum-mode=ENABLED&amp;x-id=GetObject" class="kg-image" alt="Rants on Football Manager 26" loading="lazy"><figcaption>The filter</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://capacities-files.s3.eu-central-1.amazonaws.com/private/ffb7a215-55a5-40d4-80a2-22b6f7bdadab/raw.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&amp;X-Amz-Credential=AKIA5VTNRR6EBR56K2NK%2F20251110%2Feu-central-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20251110T052633Z&amp;X-Amz-Expires=43200&amp;X-Amz-Signature=58d449f7e89e17f8366eada4fb159157b3a3bbfbe843426410e3588318c76b47&amp;X-Amz-SignedHeaders=host&amp;x-amz-checksum-mode=ENABLED&amp;x-id=GetObject" class="kg-image" alt="Rants on Football Manager 26" loading="lazy"><figcaption>The Results</figcaption></figure><hr><ul><li>this modal page sometimes appear and disappear, a lot of time it&apos;s stuck there so that i need to click X on top right if i want to check the message</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://capacities-files.s3.eu-central-1.amazonaws.com/private/e2c0c0cf-2da0-4d82-94dd-e3757f3f19d2/raw.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&amp;X-Amz-Credential=AKIA5VTNRR6EBR56K2NK%2F20251110%2Feu-central-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20251110T045514Z&amp;X-Amz-Expires=43200&amp;X-Amz-Signature=c1e59f6e538e0209f16f91a20a622f6b16a03f40ed9dc1b3702af65bcbcb8bd4&amp;X-Amz-SignedHeaders=host&amp;x-amz-checksum-mode=ENABLED&amp;x-id=GetObject" class="kg-image" alt="Rants on Football Manager 26" loading="lazy"><figcaption>the inconsistencies</figcaption></figure><ul><li>When I wan&apos;t to confirm, i can&apos;t use space bar / enter. I need to click that OK button</li><li>I can&apos;t use space to stroll through messages anymore, a lot of press question are skipped due to this</li><li>Shouts are gone, this frustrate me if sometimes I want to bash a player that miss open goal</li><li>I delegate match talks to my Assistant Manager, but I still need to give half time &amp; full time talks</li></ul><p>They made no improvement for those who really need one, a lot of them are easy fix rather than adding a whole woman leagues for example:</p><ol><li>they use the same script template for any interaction, i start to delegate it to my assistant manager due to lack of variety on before / after match, dugout, the press are like NPC that keep asking the same question over and over again. even interaction with agents &amp; player.</li><li>Player asking for improved contract are too often, on highest football league level even if they&apos;re not paid that low anyway, and they ask for quite high wages that always break wage structure, and more people will ask for new contract if I&apos;ve ever give one</li><li>almost everything else</li></ol><p>To summarize this, not only they make almost no improvement, they also manage to make their games more retarded than before, even after 1 year break of not releasing anything.</p><p>I can believe that QA on Sports Interactive are only using scripts to test their game and no human really ever test this game.</p>]]></content:encoded></item><item><title><![CDATA[2025 Start]]></title><description><![CDATA[<p>Happy New Year!</p><p>I&apos;ve decided to revive my tradition of making New Year&apos;s resolutions on my blog, even though I often struggle to keep them.</p><p>Reflecting on past resolutions, I&apos;ve always aimed to acquire new skills, like learning to play the guitar (which I</p>]]></description><link>https://wibenson.com/2025-start/</link><guid isPermaLink="false">677610b060792d0001ad0697</guid><category><![CDATA[No Effort Posts]]></category><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Thu, 02 Jan 2025 04:06:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1732129547874-fa3c641e94fc?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8YWxsfDI2fHx8fHx8fHwxNzM1NzkwOTQxfA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1732129547874-fa3c641e94fc?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8YWxsfDI2fHx8fHx8fHwxNzM1NzkwOTQxfA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="2025 Start"><p>Happy New Year!</p><p>I&apos;ve decided to revive my tradition of making New Year&apos;s resolutions on my blog, even though I often struggle to keep them.</p><p>Reflecting on past resolutions, I&apos;ve always aimed to acquire new skills, like learning to play the guitar (which I never did), mastering backend development (which I haven&apos;t), or picking up a new language (which I only half-assed attempted).</p><p>Last year, I didn&apos;t set any resolutions and felt like I was stuck in place.</p><p>Lesson learned! This year, I&apos;m keeping it simple and focusing on two fundamental areas where I need improvement:</p><ol><li>Empathy</li><li>Discipline</li></ol><p>There&apos;s no concrete way to measure my progress in these areas, but I hope that by the end of the year, I&apos;ll be a happier person and a better role model for my children.</p>]]></content:encoded></item><item><title><![CDATA[Back to Mac]]></title><description><![CDATA[<h3 id="purchase-thought-process">Purchase thought process</h3><p>I have a Windows laptop for almost everything: works, movies, games, anything you name it. but I&#x2019;m not sure why, I&#x2019;ve been distracted a lot of time with it, it seems like I can&#x2019;t focus more on the stuff that I</p>]]></description><link>https://wibenson.com/back-to-mac/</link><guid isPermaLink="false">673965880d91e10001a01397</guid><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Sun, 17 Nov 2024 04:10:35 GMT</pubDate><media:content url="https://wibenson.com/content/images/2024/11/20241115_154342.jpg" medium="image"/><content:encoded><![CDATA[<h3 id="purchase-thought-process">Purchase thought process</h3><img src="https://wibenson.com/content/images/2024/11/20241115_154342.jpg" alt="Back to Mac"><p>I have a Windows laptop for almost everything: works, movies, games, anything you name it. but I&#x2019;m not sure why, I&#x2019;ve been distracted a lot of time with it, it seems like I can&#x2019;t focus more on the stuff that I need to. I feels like I need to setup a boundary to separate work/entertainment device</p><p>I&#x2019;ve tried dual booting with Linux to separate those &#x201C;environments&#x201D; (<a href="https://wibenson.com/back-to-linux/">https://wibenson.com/back-to-linux/</a>), but the OS isn&#x2019;t just &#x2026; right, even after a lot of time tinkering with it. I feel like a lot of software on Linux is created to fulfill the needs, but it lacks the final touches that make it whole.</p><p>I&apos;ve considered building a PC, but now might not be a good idea since I might need it to also do LLM well, I believe the Nvidia card is the best option here due to the software and community support, and the 5xxx series might be released soon with god knows what new AI feature that they will bring and walled on their new series, and it will be quite pricey too</p><p>then, apple just does a week of product release, one of them is Mac mini</p><blockquote>Mac OS with One of the fastest single core in the planet, 16GB of RAM for all base variant, &#xA0;not make my electricity bill go kaboom</blockquote><p>the most important thing</p><blockquote>same price with previous base variant</blockquote><p><em>I&#x2019;m sold</em></p><p>To be honest, this is the moment that I&#x2019;ve been waiting for quite a time, a time when Apple stops mocking people with its &#x201C;pro&#x201D; devices that start with 8GB of Memory. They might not create &#x201C;Scary Fast&#x201D; event like last year, but oh boy, we don&#x2019;t need a big event for a good product, we just need a good product</p><blockquote>and by great product, not you iPhone 16 with 60hz refresh rate, not you</blockquote><p>also, never touch specs upgrade on the Apple website, they make no sense on the pricing, I might be better off with building a PC if I need something more than 256GB / 16GB of RAM</p><p>If I consider the base model price and form factor, with the same price I can get <strong>Beelink SER7</strong> with the specs:</p><ul><li><strong>Processor</strong>: AMD Ryzen 7 7840HS (Max Turbo Frequency 5.1GHz, 8C/16T, 16MB L3 Cache)</li><li><strong>GPU</strong>: AMD Radeon 780M 12-core 2700MHz</li><li><strong>RAM</strong>: 2x SO-DIMM DDR5 5600MHz Slots (Built-in 32GB, up to 2x 32GB)</li><li><strong>Storage</strong>: 2x M.2 2280 NVMe PCIe4.0X4 SSD Slots (Built-in 1TB, up to 2x 4TB)</li><li><strong>Connectivity</strong>: Bluetooth 5.2, WiFi: WiFi 6 (Intel AX200)</li></ul><p>For comparison, the Mac mini&#x2019;s specs:</p><ul><li><strong>Processor:</strong> Apple M4 (10 CPU cores, 10 GPU cores)</li><li><strong>RAM:</strong> 16GB unified memory</li><li><strong>Storage:</strong> 256GB SSD</li><li><strong>Connectivity:</strong> Wi-Fi 6E, Bluetooth 5.3</li><li><strong>Ports:</strong> Front: 2x USB-C (10Gbps), headphone Back: 3x Thunderbolt 4, HDMI 2.1, ethernet</li><li><strong>Weight:</strong> 1.5 pounds</li><li><strong>Dimensions:</strong> 5 x 5 x 2 inches</li></ul><p>Beelink has double the RAM, 4X more storage, but Macs are much better on CPU and GPU performance, which affect how fast is an application loaded &amp; runs or a webpage is opened. &#xA0;I&#x2019;m a proud owner of an early 2015 Macbook Pro that still runs today, albeit out of its time and we can tell that it&#x2019;s very slow compared to most modern devices, I feel good with the user experience. how snappy everything is and I feel good using this OS.</p><p>In the end, two things matter here, which device can bring me more value, and if I&#x2019;m good with the price that I paid for it. </p><p>I&#x2019;ve considered a Macbook (pro) as my purchase, but I can tell that this Macbook would just sit there on the table, closed, connected to an external monitor, keyboard, and mouse. Maybe a few days on the outside in a month, but with more than twice what this Mac mini cost, I can&#x2019;t justify that.</p><p>On my wishful thinking, in the future, if technology advances so much that I tempted to acquire another device, and this Mac mini is still survives, I think it can be a good homelab server device for it&apos;s low energy consumption, or maybe a NAS Server due to its high-speed port</p><h3 id="first-impression">First Impression &#xA0;</h3><p>Everything loaded instantly, after 4 generations, most applications already have their silicon version which makes it more efficient than using a translation layer. Trying to check the limit, it can run LLM <a href="https://ollama.com/library/qwen2.5-coder?ref=wibenson.com">qwen2.5-coder 7b</a> and stable diffusion quite well, it is not mindblowing fast but I think it&apos;s enough for personal use.</p><figure class="kg-card kg-code-card"><pre><code>&#x276F; ollama run qwen2.5-coder --verbose
&gt;&gt;&gt; golang script to remove disk from a machines and attach it to another
...
...
you&apos;re working with other cloud providers or on-premises systems, the steps would be similar but the API calls and
configurations will differ.

total duration:       48.671739791s
load duration:        22.358958ms
prompt eval count:    43 token(s)
prompt eval duration: 394ms
prompt eval rate:     109.14 tokens/s
eval count:           955 token(s)
eval duration:        48.252s
eval rate:            19.79 tokens/s</code></pre><figcaption>not bad IMO</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/11/Screenshot-2024-11-17-at-15.07.41.png" class="kg-image" alt="Back to Mac" loading="lazy" width="1028" height="1048" srcset="https://wibenson.com/content/images/size/w600/2024/11/Screenshot-2024-11-17-at-15.07.41.png 600w, https://wibenson.com/content/images/size/w1000/2024/11/Screenshot-2024-11-17-at-15.07.41.png 1000w, https://wibenson.com/content/images/2024/11/Screenshot-2024-11-17-at-15.07.41.png 1028w" sizes="(min-width: 720px) 720px"><figcaption>stable diffusion, fresh from the repository, random prompt, 15 seconds</figcaption></figure><p>For the OS itself, not much has changed since the last mac os that I used (Monterey), some new features require another Apple device like an iPad for screen extension or an iPhone for &#x201C;external webcam&#x201D;.</p><p>Another new feature &quot;<em>Apple Intelligence&quot;</em> which they put everywhere (and not yet available until some months ago) is not usable, I&#x2019;ve tried to use it several times but this might be the first apple major feature that I might not touch.</p><p>for example, if I want to access the notification panel using a keyboard shortcut, I need to ask with a specific keyword or it will just return Google search</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/11/Screenshot-2024-11-17-at-10.42.14.png" class="kg-image" alt="Back to Mac" loading="lazy" width="1462" height="718" srcset="https://wibenson.com/content/images/size/w600/2024/11/Screenshot-2024-11-17-at-10.42.14.png 600w, https://wibenson.com/content/images/size/w1000/2024/11/Screenshot-2024-11-17-at-10.42.14.png 1000w, https://wibenson.com/content/images/2024/11/Screenshot-2024-11-17-at-10.42.14.png 1462w" sizes="(min-width: 720px) 720px"><figcaption>what is the shortcut to show notifications on Mac is the keyword, it will fail if I do not mention &quot;Mac&quot; even if I&apos;m on Mac&apos;s Siri&#xA0;</figcaption></figure><p>for comparison, this is what ChatGPT does on the first try</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/11/Screenshot_2024-11-15_at_10.41.00.png" class="kg-image" alt="Back to Mac" loading="lazy" width="888" height="1088" srcset="https://wibenson.com/content/images/size/w600/2024/11/Screenshot_2024-11-15_at_10.41.00.png 600w, https://wibenson.com/content/images/2024/11/Screenshot_2024-11-15_at_10.41.00.png 888w" sizes="(min-width: 720px) 720px"><figcaption>ChatGPT did it on first try, without mentioning mac&#xA0;</figcaption></figure><p>maybe this will change after Apple integrates Siri with ChatGPT, but .. the features haven&#x2019;t been released yet</p>]]></content:encoded></item><item><title><![CDATA[Cloudflare Tunnel]]></title><description><![CDATA[<h2 id="premise">Premise</h2><p>In a previous post, I discussed how I exposed my local network&#x2019;s traffic without a static IP address (<a href="https://wibenson.com/start-of-self-hosted-server/">Start of self hosted server</a>). However, recently, this site is down, probably because the Tailscale session is expired. </p><p>Coincidentally, I discovered a better solution to this problem</p><h2 id="enter-cloudflare-tunnel">Enter Cloudflare</h2>]]></description><link>https://wibenson.com/cloudflare-tunnel/</link><guid isPermaLink="false">66b0ba70d4bd090001e79cf2</guid><category><![CDATA[Self-hosted]]></category><category><![CDATA[Tech tips]]></category><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Mon, 05 Aug 2024 11:53:12 GMT</pubDate><media:content url="https://wibenson.com/content/images/2024/08/handshake_hufad68abf6107ffc2ef859ebe1b42b6e2_299675_1768x1102_resize_q75_box-Bn-llS_B.jpg" medium="image"/><content:encoded><![CDATA[<h2 id="premise">Premise</h2><img src="https://wibenson.com/content/images/2024/08/handshake_hufad68abf6107ffc2ef859ebe1b42b6e2_299675_1768x1102_resize_q75_box-Bn-llS_B.jpg" alt="Cloudflare Tunnel"><p>In a previous post, I discussed how I exposed my local network&#x2019;s traffic without a static IP address (<a href="https://wibenson.com/start-of-self-hosted-server/">Start of self hosted server</a>). However, recently, this site is down, probably because the Tailscale session is expired. </p><p>Coincidentally, I discovered a better solution to this problem</p><h2 id="enter-cloudflare-tunnel">Enter Cloudflare Tunnel</h2><p>Despite having read about Cloudflare Tunnel before, it didn&#x2019;t fully click until I stumbled upon a YouTube video titled <a href="https://www.youtube.com/watch?v=Vp4glSVPT8o&amp;ab_channel=SamMeech-Ward&amp;ref=wibenson.com">Every Developer Needs a Raspberry Pi </a> Then, I realized how easy and straightforward it is to expose my local services to the internet using Cloudflare Tunnel &#x2014; even without relying on my Linode public IP address.</p><figure class="kg-card kg-embed-card kg-card-hascaption"><iframe width="200" height="113" src="https://www.youtube.com/embed/Vp4glSVPT8o?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Every Developer Needs a Raspberry Pi"></iframe><figcaption>the other part of video is also good btw</figcaption></figure><h2 id="the-migration">The migration</h2><p>The best part? I completed the entire migration in just a few minutes. Here&#x2019;s what I did:</p><p><strong>Install Cloudflared</strong>:</p><p>I followed the <a href="https://github.com/cloudflare/cloudflared?ref=wibenson.com">installation instructions on GitHub to set up Cloudflared</a> on my local machines</p><p><strong>Create a Cloudflare Tunnel</strong>:</p><p>Using the guide <a href="https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/?ref=wibenson.com">Create a Remotely-Managed Tunnel from Cloudflare</a>, I created a tunnel that redirects all traffic to <code>http://localhost:80</code>. I also need to remove all existing A Record from DNS management. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/08/Untitled4.png" class="kg-image" alt="Cloudflare Tunnel" loading="lazy" width="1728" height="706" srcset="https://wibenson.com/content/images/size/w600/2024/08/Untitled4.png 600w, https://wibenson.com/content/images/size/w1000/2024/08/Untitled4.png 1000w, https://wibenson.com/content/images/size/w1600/2024/08/Untitled4.png 1600w, https://wibenson.com/content/images/2024/08/Untitled4.png 1728w" sizes="(min-width: 720px) 720px"><figcaption>note that wildcard subdomain will need me to manually update the CNAME records</figcaption></figure><p><strong>Copy Existing Routing Rules</strong>:</p><p>Transfer all my existing routing rules from Caddy on my public VM to Caddy running on my local machines using <code>scp -r root@l-sg-0:/srv/caddy /srv</code>.</p><p>Voil&#xE0;! My site was back up, and the best part. No more worrying about refreshing Tailscale tokens to keep things working smoothly. </p>]]></content:encoded></item><item><title><![CDATA[Niche Tools I Use Regularly]]></title><description><![CDATA[<p><strong>Browser Selector</strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/08/Untitled.png" class="kg-image" alt loading="lazy" width="541" height="333"><figcaption>Guess which browser that I choose</figcaption></figure><p>Browser Selector is a handy tool for managing different browsers based on my needs. I need separate browsers for work, personal use, and multiple &#x201C;session containers&quot; sometime. I would consider an alternative like ArcBrowser which have everything in one, but</p>]]></description><link>https://wibenson.com/niche-tools-i-use-regularly/</link><guid isPermaLink="false">66b0b3dad4bd090001e79ca4</guid><category><![CDATA[Tech tips]]></category><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Mon, 05 Aug 2024 11:27:00 GMT</pubDate><media:content url="https://wibenson.com/content/images/2024/08/Screenshot-2024-08-05-182059.png" medium="image"/><content:encoded><![CDATA[<img src="https://wibenson.com/content/images/2024/08/Screenshot-2024-08-05-182059.png" alt="Niche Tools I Use Regularly"><p><strong>Browser Selector</strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/08/Untitled.png" class="kg-image" alt="Niche Tools I Use Regularly" loading="lazy" width="541" height="333"><figcaption>Guess which browser that I choose</figcaption></figure><p>Browser Selector is a handy tool for managing different browsers based on my needs. I need separate browsers for work, personal use, and multiple &#x201C;session containers&quot; sometime. I would consider an alternative like ArcBrowser which have everything in one, but I would wait for it become more mature.</p><p><strong>UniGetUI (formerly WingetUI)</strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/08/Untitled2.png" class="kg-image" alt="Niche Tools I Use Regularly" loading="lazy" width="1581" height="729" srcset="https://wibenson.com/content/images/size/w600/2024/08/Untitled2.png 600w, https://wibenson.com/content/images/size/w1000/2024/08/Untitled2.png 1000w, https://wibenson.com/content/images/2024/08/Untitled2.png 1581w" sizes="(min-width: 720px) 720px"><figcaption>wingetftw</figcaption></figure><p>UniGetUI seems like a time-saver! Regularly updating installed applications is crucial for security and performance. Running UniGetUI periodically to ensure everything is up to date is a good practice.</p><p><strong>Notion Calendar</strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/08/Untitled3.png" class="kg-image" alt="Niche Tools I Use Regularly" loading="lazy" width="2000" height="659" srcset="https://wibenson.com/content/images/size/w600/2024/08/Untitled3.png 600w, https://wibenson.com/content/images/size/w1000/2024/08/Untitled3.png 1000w, https://wibenson.com/content/images/size/w1600/2024/08/Untitled3.png 1600w, https://wibenson.com/content/images/2024/08/Untitled3.png 2244w" sizes="(min-width: 720px) 720px"><figcaption>Pardon the censorship</figcaption></figure><p>Integrating your calendar with a Notion board is a great way to manage your time effectively. Being able to add notes related to work in progress or meetings directly within Notion is convenient. Plus, it keeps everything in one place!</p>]]></content:encoded></item><item><title><![CDATA[Japan Spring 2024]]></title><description><![CDATA[<p>I&#x2019;ve been in Japan for 10 night, 3 night in Tokyo, 2 night in Fujikawaguchiko, 2 night in Osaka, 2 night in Kyoto and 2 night in Nagoya, most of it was spend in sightseeing, I&#x2019;ve learned so much about Japan&#x2019;s culture that I</p>]]></description><link>https://wibenson.com/japan_spring_2024/</link><guid isPermaLink="false">665a08486cc0ad0001d830cb</guid><category><![CDATA[Travels]]></category><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Sun, 16 Jun 2024 07:42:42 GMT</pubDate><media:content url="https://wibenson.com/content/images/2024/06/20240414_124816.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wibenson.com/content/images/2024/06/20240414_124816.jpg" alt="Japan Spring 2024"><p>I&#x2019;ve been in Japan for 10 night, 3 night in Tokyo, 2 night in Fujikawaguchiko, 2 night in Osaka, 2 night in Kyoto and 2 night in Nagoya, most of it was spend in sightseeing, I&#x2019;ve learned so much about Japan&#x2019;s culture that I really respect of, eat a lot of good food, drink all kind of water, from non alcoholic to alcoholic one and appreciate the infrastructure.</p><p>Japan is one of the most visited countries in Asia, which when I came, it&#x2019;s on Sakura blooming season and on a few weeks where a lot of tourists visit, boosted by the weak Japanese yen. which result in hence when I go to Japan, I can see a lot of people from another country, which is somehow... easy to distinguish</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/06/20240408_133854.jpg" class="kg-image" alt="Japan Spring 2024" loading="lazy" width="2000" height="1500" srcset="https://wibenson.com/content/images/size/w600/2024/06/20240408_133854.jpg 600w, https://wibenson.com/content/images/size/w1000/2024/06/20240408_133854.jpg 1000w, https://wibenson.com/content/images/size/w1600/2024/06/20240408_133854.jpg 1600w, https://wibenson.com/content/images/size/w2400/2024/06/20240408_133854.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Shinjuku - Gyoen National Park</figcaption></figure><p>I can see the infrastructure in Japan is designed by human to another human for the sake of better quality of life, always on time and almost everything is predictable. for example, my first impression of the country. The immigrations is self-service and automated to the last bit until there&#x2019;s a need of human part (I really feel the difference and pain when I get back to my own country). the luggage is sorted tidy when the process is done, the public toilet is the best, there&#x2019;s always a price tag on any item on a store, I almost don&#x2019;t need to ask for things except if it contains some meat that some of my families don&#x2019;t eat</p><p>The infrastructure, especially the train, I will compare it to Indonesia&#x2019;s, and I can see there&#x2019;s not much difference between how I&#x336;n&#x336;d&#x336;o&#x336;n&#x336;e&#x336;s&#x336;i&#x336;a&#x336;&apos;s&#x336; &#xA0;Jakarta&apos;s is (thanks to mr. Ignasius Jonan), I still can&#x2019;t believe why our government don&#x2019;t push public transport usage more. compared to Japan&#x2019;s (any city mentioned above) Jakarta&apos;s train line is simpler without that many operators and terminal. Japan&#x2019;s train station has multiple operators on the same stations and some big stations have a lot of platforms, we need to make sure which platform we&#x2019;re supposed on. I believe Singapore&#x2019;s MRT have better experiences and easier to navigate</p><p></p><p>The road .. is another story. it have no speed bump, there&#x2019;s almost no traffic on some part of the country, walker is prioritized to cross the road, the sidewalk has no pothole and very clean. Contrast to what&#x2019;s we have on my home country. Indonesia may have similar / better landscape than Japan, but the reason why Indonesia won&#x2019;t become tourist destination like Japan is because how much it lack in infrastructure, the absurd domestic flight price, the lack of public transport coverage in most city and the extortion from &#x201C;local people&#x201D; </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/06/20240412_124451.jpg" class="kg-image" alt="Japan Spring 2024" loading="lazy" width="2000" height="1500" srcset="https://wibenson.com/content/images/size/w600/2024/06/20240412_124451.jpg 600w, https://wibenson.com/content/images/size/w1000/2024/06/20240412_124451.jpg 1000w, https://wibenson.com/content/images/size/w1600/2024/06/20240412_124451.jpg 1600w, https://wibenson.com/content/images/size/w2400/2024/06/20240412_124451.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Random road on Fujikawaguchiko</figcaption></figure><blockquote>it&#x2019;s interesting that &#x201C;pungli&#x201D; is translated to extortion by google, it indeed has the same meaning, should we just use &#x201C;pemerasan&#x201D; for that kind of behavior?)</blockquote><p>Over tourism may be a good problem for Japanese to have (and solve), it&#x2019;s nice to know that some Japanese understand basic English and very accommodating, especially on public facility like train station or high tourist area, but in my opinion, don&#x2019;t expect too much, we might travel to some less remote area and the local might not understand English. So it&#x2019;s better to also learn some basic Japanese with their proper pronunciation with google translate as backup (not the other way around).</p><p>The view out there is amazing, supported with great weather</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/06/20240410_144242.jpg" class="kg-image" alt="Japan Spring 2024" loading="lazy" width="2000" height="1500" srcset="https://wibenson.com/content/images/size/w600/2024/06/20240410_144242.jpg 600w, https://wibenson.com/content/images/size/w1000/2024/06/20240410_144242.jpg 1000w, https://wibenson.com/content/images/size/w1600/2024/06/20240410_144242.jpg 1600w, https://wibenson.com/content/images/size/w2400/2024/06/20240410_144242.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Shibuya Sky</figcaption></figure><p>There&#x2019;s some fun fact about Japan that I learned while I was there</p><ol><li>The hotel is amazing, the first hotel that I&#x2019;m using look old from outside but the receptionist (owner(?)) is very helpful, they have everything on the bathroom, from shampoo, conditioner, soap, lotion to hair tonic(?). The second one provide large plastic bag</li><li>I understand why it&#x2019;s a great weather when it&#x2019;s clear blue sky, in my country, a clear blue sky means it&#x2019;s hot and humid as hell</li><li>they have adult store, just .. search it on google maps ;)</li></ol><p>Maybe some tips, to help future traveler</p><ol><li>Google maps is your best friend, you can go anywhere with it</li><li>The train ticket is a &#x201C;magnetic&#x201D; card with all kind of form factor, don&#x2019;t put it near any magnet or it will broke the ticket. fool me realize this after 3 day of broken ticket, the best thing is, not a single officer that standby there assume it&#x2019;s my fault, they just let me pass after see my card expiry date. one of them actually help me change my card (which i broke the very next day)</li><li>I learned this late, but don&#x2019;t eat or drink while walking</li><li>Take off your shoes indoor</li><li>Put your backpack on the front in the train</li><li>Don&#x2019;t talk out loud (and on the phone), inside the train is the safe place for all people to rest, sleep or anything that don&#x2019;t bother other people</li><li>Keep your trash, bring a small plastic to hold your trash, there&#x2019;s not a lot of trash bin out there</li><li>Don&#x2019;t suddenly stop when walking, let people walk fist, watch around when walking. Japanese sure do walk very fast (and I like it)</li><li>Check the weather forecast, prepare accordingly </li></ol><p>Now, random picture drop </p><figure class="kg-card kg-image-card"><img src="https://wibenson.com/content/images/2024/06/20240412_134741.jpg" class="kg-image" alt="Japan Spring 2024" loading="lazy" width="2000" height="2667" srcset="https://wibenson.com/content/images/size/w600/2024/06/20240412_134741.jpg 600w, https://wibenson.com/content/images/size/w1000/2024/06/20240412_134741.jpg 1000w, https://wibenson.com/content/images/size/w1600/2024/06/20240412_134741.jpg 1600w, https://wibenson.com/content/images/size/w2400/2024/06/20240412_134741.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://wibenson.com/content/images/2024/06/20240411_143450.jpg" class="kg-image" alt="Japan Spring 2024" loading="lazy" width="2000" height="1500" srcset="https://wibenson.com/content/images/size/w600/2024/06/20240411_143450.jpg 600w, https://wibenson.com/content/images/size/w1000/2024/06/20240411_143450.jpg 1000w, https://wibenson.com/content/images/size/w1600/2024/06/20240411_143450.jpg 1600w, https://wibenson.com/content/images/size/w2400/2024/06/20240411_143450.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://wibenson.com/content/images/2024/06/20240413_180505.jpg" class="kg-image" alt="Japan Spring 2024" loading="lazy" width="2000" height="1500" srcset="https://wibenson.com/content/images/size/w600/2024/06/20240413_180505.jpg 600w, https://wibenson.com/content/images/size/w1000/2024/06/20240413_180505.jpg 1000w, https://wibenson.com/content/images/size/w1600/2024/06/20240413_180505.jpg 1600w, https://wibenson.com/content/images/size/w2400/2024/06/20240413_180505.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://wibenson.com/content/images/2024/06/20240414_141235.jpg" class="kg-image" alt="Japan Spring 2024" loading="lazy" width="2000" height="2667" srcset="https://wibenson.com/content/images/size/w600/2024/06/20240414_141235.jpg 600w, https://wibenson.com/content/images/size/w1000/2024/06/20240414_141235.jpg 1000w, https://wibenson.com/content/images/size/w1600/2024/06/20240414_141235.jpg 1600w, https://wibenson.com/content/images/size/w2400/2024/06/20240414_141235.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://wibenson.com/content/images/2024/06/20240415_085536.jpg" class="kg-image" alt="Japan Spring 2024" loading="lazy" width="2000" height="2667" srcset="https://wibenson.com/content/images/size/w600/2024/06/20240415_085536.jpg 600w, https://wibenson.com/content/images/size/w1000/2024/06/20240415_085536.jpg 1000w, https://wibenson.com/content/images/size/w1600/2024/06/20240415_085536.jpg 1600w, https://wibenson.com/content/images/size/w2400/2024/06/20240415_085536.jpg 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://wibenson.com/content/images/2024/06/20240421_101536.jpg" class="kg-image" alt="Japan Spring 2024" loading="lazy" width="2000" height="2667" srcset="https://wibenson.com/content/images/size/w600/2024/06/20240421_101536.jpg 600w, https://wibenson.com/content/images/size/w1000/2024/06/20240421_101536.jpg 1000w, https://wibenson.com/content/images/size/w1600/2024/06/20240421_101536.jpg 1600w, https://wibenson.com/content/images/size/w2400/2024/06/20240421_101536.jpg 2400w" sizes="(min-width: 720px) 720px"></figure>]]></content:encoded></item><item><title><![CDATA[NordVPN with Tailscale Exit-Node]]></title><description><![CDATA[<h2 id="context">Context</h2><p>This is for research purposes. I&apos;ve been utilizing Tailscale&apos;s exit node from this blog&apos;s virtual machines, which sufficiently hides my internet tracks and improves my internet speed. For some websites, media loads noticeably slower without a VPN. I don&apos;t use it</p>]]></description><link>https://wibenson.com/nordvpn-tailscale-rundeck-telegram/</link><guid isPermaLink="false">6652dc10ed4fd00001e02217</guid><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Sun, 26 May 2024 08:06:17 GMT</pubDate><media:content url="https://wibenson.com/content/images/2024/05/nord-tailscale-rundeck-telegrambot.drawio.png" medium="image"/><content:encoded><![CDATA[<h2 id="context">Context</h2><img src="https://wibenson.com/content/images/2024/05/nord-tailscale-rundeck-telegrambot.drawio.png" alt="NordVPN with Tailscale Exit-Node"><p>This is for research purposes. I&apos;ve been utilizing Tailscale&apos;s exit node from this blog&apos;s virtual machines, which sufficiently hides my internet tracks and improves my internet speed. For some websites, media loads noticeably slower without a VPN. I don&apos;t use it to unblock government-restricted sites, as I don&apos;t visit those sites anyway ;)</p><p>The idea arose because I wondered if it was possible to enhance my online privacy further, as the IP detected on the server side is still associated with this blog, which has my name attached to it. </p><p>The big question is: can I achieve more with less cost?</p><h2 id="enter-nordvpn-tailscale">Enter NordVPN + Tailscale</h2><p>I can set up a virtual machine (VM) without my name attached. A new VM with a public IP will cost me $5 a month from a reliable cloud provider. NordVPN costs $3.69 a month for up to 10 devices. If I find a group of 10 to share a NordVPN subscription, it could cost as low as $0.369 a month. However, seakun.id offers a similar service with a small fee, and I want to set this up quickly, so I&apos;ll use seakun.</p><p>I&apos;m still limited to one active VPN at a time and I have many devices. I need to set up a &quot;gateway&quot; for all my devices. I already do this with Tailscale&apos;s exit node from my cloud VPN, so I just need to set up NordVPN on my Orange Pi (referred to as &quot;the board&quot; from now on) and then use that node as my Tailscale exit node.</p><pre><code class="language-bash"># setup nord
sh &lt;(wget -qO - https://downloads.nordcdn.com/apps/linux/install.sh)
nordvpn login
nordvpn login --callback &quot;nordvpn://login?action=login&amp;exchange_token=copythisfromcontinuebuttonrightclickcopylink&amp;status=done&quot;

# ssh routing (optional)
sudo ip route add 192.168.6.0/24 dev eth0 # lan
sudo ip route add 100.64.0.0/10 dev tailscale0 # tailscale

# whitelist so we can ssh
nordvpn whitelist add subnet 100.64.0.0/10 # tailscale
nordvpn whitelist add subnet 192.168.6.0/24 # lan 

# tailscale up 
echo &apos;net.ipv4.ip_forward = 1&apos; | sudo tee -a /etc/sysctl.d/99-tailscale.conf\necho &apos;net.ipv6.conf.all.forwarding = 1&apos; | sudo tee -a /etc/sysctl.d/99-tailscale.conf\nsudo sysctl -p /etc/sysctl.d/99-tailscale.conf

sudo tailscale up --advertise-exit-node

# approve exit node on tailscale console

# disable nordvpn firewall (or allow tailscale network) or tailscale will return offline status with error log: Tailscale hasn&apos;t received a network map from the coordination server in 

nordvpn set firewall off

# I need to have my tailscale magic dns works, also adguard dns
nordvpn set dns 94.140.14.14 100.100.100.100

nordvpn connect antartica</code></pre><p>I can use &quot;the board&quot; as an exit node, and it detects me wherever I connect the NordVPN. However, I encountered a small issue where I couldn&apos;t SSH into &quot;the board,&quot; which I resolved by downgrading from the latest version.</p><h2 id="enter-rundeck">Enter Rundeck</h2><p>It annoyed me to SSH into &quot;the board&quot; every time I needed to change the country. To streamline this, I overengineered a solution and set up Rundeck to provide a UI for running NordVPN commands. Now, it looks like this:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/05/image-3.png" class="kg-image" alt="NordVPN with Tailscale Exit-Node" loading="lazy" width="2000" height="832" srcset="https://wibenson.com/content/images/size/w600/2024/05/image-3.png 600w, https://wibenson.com/content/images/size/w1000/2024/05/image-3.png 1000w, https://wibenson.com/content/images/size/w1600/2024/05/image-3.png 1600w, https://wibenson.com/content/images/2024/05/image-3.png 2234w" sizes="(min-width: 720px) 720px"><figcaption>rundeck interface to connect or disconnect</figcaption></figure><p>But after a few uses, I found Rundeck wasn&apos;t as easy as it seemed. I had to log in and click several things before doing anything. There should be an easier way, right?</p><p>Enter Rundeck&apos;s API endpoint, With Rundeck&apos;s API endpoint, I can run a job with its parameters from a curl command. I just need to <a href="https://docs.rundeck.com/docs/api/api_basics.html?ref=wibenson.com#running-the-welcome-project-and-new-user-token-creation">generate a token</a>, and I can do this from my terminal. However, a phone doesn&apos;t have a terminal. Yes, I know it has Termux, but I&apos;ve tried it, and it requires more setup to be usable&#x2014;it doesn&apos;t even have history by default. :facepalm:</p><p>.. However, a phone doesn&apos;t have a terminal. Yes I know it has Termux, but I&apos;ve tried it, and it requires more setup to be usable&#x2014;it doesn&apos;t even have history by default. :facepalm:</p><h2 id="enter-telegram-bot">Enter Telegram bot</h2><p>To complicate this small project, I needed something that could interact with my Rundeck API Gateway or NordVPN directly. Fortunately, among all the free messaging services, Telegram Bot is the easiest to set up, thanks to BotFather. Creating the code wasn&apos;t hard, especially with help from ChatGPT. Here&apos;s the Python code with some tweaks like I don&apos;t want this bot to be accessible to any Telegram user except me:</p><figure class="kg-card kg-code-card"><pre><code class="language-Python">from telegram import Update, ReplyKeyboardMarkup
from telegram.ext import Application, CommandHandler, MessageHandler, filters, CallbackContext, ConversationHandler
import requests,os
from dotenv import load_dotenv
from functools import wraps

load_dotenv()

# Define states for the conversation
CHOOSING, GET_REGION = range(2)
HEADERS={
            &quot;X-Rundeck-Auth-Token&quot;: os.getenv(&apos;RUNDECK_AUTH_TOKEN&apos;),
            &quot;Content-Type&quot;: &quot;application/json&quot;,
        }

# Define the allowed user ID (replace with your actual user ID)
ALLOWED_USER_ID = 123456789  # Replace with your actual Telegram user ID

# Define a decorator to check if the user is allowed
def restricted(func):
    @wraps(func)
    async def wrapped(update: Update, context: CallbackContext, *args, **kwargs):
        if update.effective_user.id != ALLOWED_USER_ID:
            await update.message.reply_text(&quot;You are not authorized to use this bot.&quot;)
            return ConversationHandler.END
        return await func(update, context, *args, **kwargs)
    return wrapped

# Define command handler for /connectvpn
@restricted
async def connectvpn(update: Update, context: CallbackContext) -&gt; int:
    reply_keyboard = [[&apos;Connect&apos;, &apos;Disconnect&apos;]]
    await update.message.reply_text(
        &apos;Please choose an option:&apos;,
        reply_markup=ReplyKeyboardMarkup(reply_keyboard, one_time_keyboard=True)
    )
    return CHOOSING

# Define message handler for the choice
@restricted
async def choice(update: Update, context: CallbackContext) -&gt; int:
    user_choice = update.message.text

    if user_choice == &apos;Connect&apos;:
        await update.message.reply_text(&apos;Please enter the region:&apos;)
        return GET_REGION
    elif user_choice == &apos;Disconnect&apos;:
        # Perform HTTP request for disconnect
        data = {&quot;argString&quot;: &quot;-connection disconnect&quot;}
        response = requests.post(os.getenv(&apos;RUNDECK_VPN_JOB_URL&apos;),headers=HEADERS, json=data)
        if response.status_code == 200:
            await update.message.reply_text(&apos;VPN disconnected successfully.&apos;)
        else:
            await update.message.reply_text(&apos;Failed to disconnect VPN.&apos;)
        return ConversationHandler.END

# Define message handler for the region
@restricted
async def get_region(update: Update, context: CallbackContext) -&gt; int:
    region = update.message.text
    # Perform HTTP request for connect
    data = {&quot;argString&quot;: &quot;-connection connect -country &quot; + region}
    response = requests.post(os.getenv(&apos;RUNDECK_VPN_JOB_URL&apos;),headers=HEADERS, json=data)
    if response.status_code == 200:
        await update.message.reply_text(f&apos;VPN connected to {region} successfully.&apos;)
    else:
        await update.message.reply_text(f&apos;Failed to connect VPN to {region}.&apos;)
    return ConversationHandler.END

# Define command handler for /start
async def start(update: Update, context: CallbackContext) -&gt; None:
    await update.message.reply_text(&apos;Hello! Use /connectvpn to manage your VPN.&apos;)

# Define function to cancel the conversation
async def cancel(update: Update, context: CallbackContext) -&gt; int:
    await update.message.reply_text(&apos;Operation cancelled.&apos;)
    return ConversationHandler.END

def main():
    # Create the Application and pass it your bot&apos;s token
    # Create the Application and pass it your bot&apos;s token
    application = Application.builder().token(os.getenv(&apos;TELEGRAM_TOKEN&apos;)).build()

    # Define conversation handler with the states CHOOSING and GET_REGION
    conv_handler = ConversationHandler(
        entry_points=[CommandHandler(&apos;connectvpn&apos;, connectvpn)],
        states={
            CHOOSING: [MessageHandler(filters.Regex(&apos;^(Connect|Disconnect)$&apos;), choice)],
            GET_REGION: [MessageHandler(filters.TEXT &amp; ~filters.COMMAND, get_region)]
        },
        fallbacks=[CommandHandler(&apos;cancel&apos;, cancel)]
    )

    # Register handlers
    application.add_handler(conv_handler)
    application.add_handler(CommandHandler(&quot;start&quot;, start))

    # Start the Bot
    application.run_polling()

if __name__ == &apos;__main__&apos;:
    main()
</code></pre><figcaption>bot.py</figcaption></figure>]]></content:encoded></item><item><title><![CDATA[Two Weeks with Arc Browser]]></title><description><![CDATA[<p>I&apos;m a self-proclaimed browser enthusiast. I love experimenting with new features and approaches to web browsing. From Edge&apos;s AI-powered Copilot to Firefox&apos;s innovative Container tabs, there&apos;s always something exciting on the horizon. However, each browser has its quirks that prevent me from</p>]]></description><link>https://wibenson.com/initial-two-weeks-with-arc-browser/</link><guid isPermaLink="false">66473e9f37cbe20001ed107b</guid><category><![CDATA[Oppinion]]></category><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Fri, 17 May 2024 11:40:18 GMT</pubDate><media:content url="https://wibenson.com/content/images/2024/05/1712121091801.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wibenson.com/content/images/2024/05/1712121091801.jpg" alt="Two Weeks with Arc Browser"><p>I&apos;m a self-proclaimed browser enthusiast. I love experimenting with new features and approaches to web browsing. From Edge&apos;s AI-powered Copilot to Firefox&apos;s innovative Container tabs, there&apos;s always something exciting on the horizon. However, each browser has its quirks that prevent me from fully committing to any single one. For example, Firefox&apos;s past struggles with DNS resolution on startup (which I believe they&apos;ve recently addressed) kept me from using it for a while.</p><p>After what felt like forever, Arc Browser finally launched for Windows! I&apos;ve been diving into it for two weeks now, and wanted to share my early thoughts.</p><p><strong><strong>The Good Stuff</strong></strong></p><p>Arc&apos;s &quot;Spaces&quot; feature has been an instant win for me. As someone who like to divide works and personal environment, it&apos;s fantastic to have separate workspaces for my various tasks. It&apos;s a much cleaner, more organized way to work. This feels like how Firefox multi container, but instead I have two environment instead of putting everything in one windows. </p><p>Chrome can do this, but I dislike to only able open a link in one profile. and also, it open on multiple windows while windows 11 have that long time bug where Win + (#) number key command not opening taskbar apps and previews in Windows 11 when there&apos;s multiple windows for the same app opened (<a href="https://aka.ms/AAjb755?ref=wibenson.com">https://aka.ms/AAjb755</a>) kudos for windows for not fix this bug for 3 years and keep releasing AI features <code>/s</code></p><p>Another nice touch is Arc&apos;s handling of duplicate tabs. If I open a new tab and start typing a site I already have open, Arc cleverly takes me to the existing tab instead of creating a new one. This might seem small, but it&apos;s those little details that make a browser feel more intuitive.</p><p>Arc&apos;s &quot;auto archive&quot; feature has been surprisingly helpful. It automatically suspends tabs I haven&apos;t used in a while, freeing up system resources. It&apos;s like those onetab, but built right into the browser and far less clunky.</p><p><strong><strong>Some Bumps in the Road</strong></strong></p><p>Unfortunately, it hasn&apos;t all been smooth sailing. One of the first things I noticed is that Arc doesn&apos;t display website certificates. If you&apos;re like me and want to quickly check a site&apos;s security details, you&apos;ll still need to have another browser on hand, which is a bit of a hassle.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/05/image-2.png" class="kg-image" alt="Two Weeks with Arc Browser" loading="lazy" width="215" height="218"><figcaption>I can&apos;t click this &quot;Secure&quot; button&#xA0;</figcaption></figure><p>I&apos;m still on the fence about the vertical tab layout. It&apos;s definitely easier to read the titles when you have a bunch of tabs open, but I&apos;ve also found myself struggling to find specific tabs sometimes, especially if they&apos;re for ongoing things like Google Meet calls.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2024/05/image.png" class="kg-image" alt="Two Weeks with Arc Browser" loading="lazy" width="2000" height="1105" srcset="https://wibenson.com/content/images/size/w600/2024/05/image.png 600w, https://wibenson.com/content/images/size/w1000/2024/05/image.png 1000w, https://wibenson.com/content/images/size/w1600/2024/05/image.png 1600w, https://wibenson.com/content/images/size/w2400/2024/05/image.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>find the google meet tab</figcaption></figure><p>Bookmarks in Arc are essentially permanent tabs, which I actually like. I don&apos;t use bookmarks much, and when I do, it&apos;s usually more of a reminder to myself that a website exists. &#xA0;Having it always there as a tab feels more useful to me than a traditional bookmark.</p><p><strong><strong>A Few Bugs to Squish</strong></strong></p><p>Being an early launch, there are still some bugs to work out. As I write this post, Arc keeps opening new tabs in a different space than the one I&apos;m working in, which is a bit frustrating.</p><p><strong><strong>Overall</strong></strong></p><p>Overall, my first couple of weeks with Arc have been mostly positive. It definitely feels like a browser designed for the way we use the web today, and features like Spaces and auto archive are genuine improvements. If the team can iron out some of the kinks and maybe add a certificate viewer, Arc could be a real contender.</p><p><strong><strong>Have you tried Arc yet? What are your impressions?</strong></strong></p><p>Let me know in the comments below!</p>]]></content:encoded></item><item><title><![CDATA[FreshRSS and ArcBrowser are match made in heaven]]></title><description><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/AcDpm9bg8Tw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="ArcBrowser and FreshRSS are match in heaven"></iframe></figure><p>The default setting from ArcBrowser to &quot;popup&quot; link rather than new tab makes feeds easier to browse, especially with shortcut like <code>j</code> for next page, <code>k</code> for previous , <code>space</code> to open the link and <code>ctrl + w</code> to close the pop up &quot;tab&quot;</p>]]></description><link>https://wibenson.com/freshrss-and-arcbrowser-are-match-made-in-heaven/</link><guid isPermaLink="false">6647082937cbe20001ed106c</guid><category><![CDATA[No Effort Posts]]></category><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Fri, 17 May 2024 07:37:06 GMT</pubDate><media:content url="https://wibenson.com/content/images/2024/05/Screenshot-2024-05-17-143739.png" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/AcDpm9bg8Tw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="ArcBrowser and FreshRSS are match in heaven"></iframe></figure><img src="https://wibenson.com/content/images/2024/05/Screenshot-2024-05-17-143739.png" alt="FreshRSS and ArcBrowser are match made in heaven"><p>The default setting from ArcBrowser to &quot;popup&quot; link rather than new tab makes feeds easier to browse, especially with shortcut like <code>j</code> for next page, <code>k</code> for previous , <code>space</code> to open the link and <code>ctrl + w</code> to close the pop up &quot;tab&quot;</p>]]></content:encoded></item><item><title><![CDATA[Rant about S20FE - Exynos variant]]></title><description><![CDATA[<h1 id="tldr">tldr</h1><p>I&#x2019;m a S20FE users that just switch my phone to S23 and I feel scammed by Samsung, not that because S23 isn&#x2019;t a great phone, oh it&#x2019;s not a perfect phone either, but the problem is that I use a supposed &#x201C;flagship&</p>]]></description><link>https://wibenson.com/rant-about-s20fe-exynos-variant/</link><guid isPermaLink="false">653cb0a10d431f0001557911</guid><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Sat, 28 Oct 2023 07:02:48 GMT</pubDate><media:content url="https://wibenson.com/content/images/2023/10/Samsung_Exynos_990_Snapdragon-w810h462.jpg" medium="image"/><content:encoded><![CDATA[<h1 id="tldr">tldr</h1><img src="https://wibenson.com/content/images/2023/10/Samsung_Exynos_990_Snapdragon-w810h462.jpg" alt="Rant about S20FE - Exynos variant"><p>I&#x2019;m a S20FE users that just switch my phone to S23 and I feel scammed by Samsung, not that because S23 isn&#x2019;t a great phone, oh it&#x2019;s not a perfect phone either, but the problem is that I use a supposed &#x201C;flagship&#x201D; experience phone for 2 years when it isn&#x2019;t</p><blockquote><strong>Beware that this is a rant post, and this is not a suggested post for someone to read, if you have enough toxicity in your life, lets move on and skip this post</strong></blockquote><h1 id="more-details">More details</h1><p>What&#x2019;s wrong with the old S20FE? there&#x2019;s two answer for this</p><ol><li>Exynos 990</li><li>My ignorance of it</li></ol><p>I trust some reviewer that make a video of using this phone as a main phone for a day, unknowingly &#xA0;that they get paid for it and maybe can&#x2019;t give objective review from a phone, I trust some well known international reviewer knowing that they are using more efficient / powerful Snapdragon variant, and I can&#x2019;t be more ashamed of this.</p><p>the thought process when I purchase that S20FE is: <strong>&#x201C;what can go wrong with self made chipset, yes the benchmark show lower score than the snapdragon variant, but it&#x2019;s the newest chipset, it can&#x2019;t be worse than some mid range phone, right? even apple doing a great job with it&#x2019;s own chipset&#x201D;</strong> I also expect some better performance because the phone and the chipset are made by the same company.</p><p>Oh how wrong I am, the end result is a battery sucker - hand warmer - ear burner - glitchy smartphone. from I can&#x2019;t run high end game on this smoothly to I burn my ear when i take a call under sunlight.</p><p>I can understand if it still can&#x2019;t run high end game, I don&#x2019;t game that much on a phone anyway, but to get my phone get so hot from daily normal usage is &#x2026; baffled, how is it so different from what the reviewer tell me? how can a company release a product this bad and get away with it.</p><p>Well.. no, they don&#x2019;t get away from it, from they acknowledge the problem, <a href="https://www.neowin.net/news/samsung-galaxy-s20-launch-in-korea-with-snapdragon-865-humiliated-exynos-division/?ref=wibenson.com#:~:text=The%20Korean%20company%20was%20forced,performance%20expectations%20despite%20multiple%20evaluations">Samsung going with Snapdragon chip in South Korea for the Galaxy S20</a>, the shame of not releasing internally created chipset on their own home country, &#xA0;on 2021 they decide to release Exynos version on their home, but the reviewer country (US) still got Snapdragon variant, but the trust isn&apos;t there anymore. <a href="https://www.gsmarena.com/report_sales_of_samsung_galaxy_s21_series_are_lower_than_s20_s10_sales-news-50385.php?ref=wibenson.com">Galaxy S21 series are lower than S20, S10 sales</a>. On 2022, they released S22 Snapdragon version on Indonesia, but the European market still got Exynos version and finally they scrape Exynos on 2023&#x2019;s S23 altogether, there&#x2019;s no Exynos 2300 for 2023 to the point where <a href="https://arstechnica.com/gadgets/2023/07/samsungs-profits-are-down-95-percent-for-a-second-consecutive-quarter/?ref=wibenson.com">their profit plumeted</a> because of the low demand for the chip and lower profit margin of using Snapdragon variant. which <a href="https://www.sammobile.com/opinion/you-can-no-longer-wish-an-exynos-galaxy-s24-away/?ref=wibenson.com">force their hand to come back to Exynos for their next flagship</a>. </p><p>I prided myself as one of those who appreciate technology advancement and not over fanatic / hate on some &#x201C;brands&#x201D;, I like to compare one technology brand to another and make my own opinion over that, if the next Exynos are doing great, than good for them, I love to see competition in the market, if it can be more efficient or powerful than Snapdragon variant, when I need to switch my phone again, I&#x2019;m not afraid to use Exynos again, but in my opinion, a big company like Samsung which decide release &#x201C;failed product&#x201D; is worse than apple who make a closed product. They are the largest seller of android phones. I can&#x2019;t laugh at apple decision to make people unable change back cover from third party without some feature disabled when the finished product I got from Samsung is &#x201C;failed&#x201D; in the first place, yes there&#x2019;s a good thing from S20FE, it took beautiful photo and video, but that&#x2019;s it.</p><h1 id="how-to-fix-this-relationship">How to fix this relationship</h1><p>Nothing broken, really. I realize that part of this is also my mistakes, I trust some people that I shouldn&#x2019;t and I don&#x2019;t do my research, I even purchase another phone from the same brand when I vow to not doing so</p><p>for others and myself to avoid the same issue in the future, I would recommend some extra things to do: go to the phone subreddit / forums (open forums, not that closely controlled Samsung member) and find out what people opinion on that phone, we will get subjective point of view from people who use that as a daily driver</p><p>For Samsung, it will be nice to not release a worse variant on a region and using a same series name, either you sell both variant on all region and don&#x2019;t use the same series name or be brave and sell your own chipset on all region</p><p>For local big name reviewer, please be as objective as possible, I know Exynos - S20FE isn&#x2019;t good, but I haven&#x2019;t find even one reviewer to told me so. and please be careful for the wording, I just feel worse when the S23 is giving another level of flagship experience. yet some big reviewer try to sell that experience on S23FE series with &#x201C;flagship&#x201D; word - courtesy this articel on <a href="https://www.mediatek.com/blog/lets-talk-about-the-f-word-what-is-a-flagship-smartphone?ref=wibenson.com">how to make a smartphone a flagship from mediatek</a></p><p>no, S23<strong>FE</strong> is not a flagship, and never will be</p>]]></content:encoded></item><item><title><![CDATA[What it feels like to use Linux in 2023]]></title><description><![CDATA[<h2 id="premise">Premise</h2><p>I use Windows for my day-to-day job, but all servers mostly using Ubuntu, including my self-hosted one.</p><p>I have some problems with Windows, the [win] key + [number] shortcut sometimes didn&#x2019;t work, this problem has been appeared from my first install of Windows 11 and also reported via</p>]]></description><link>https://wibenson.com/back-to-linux/</link><guid isPermaLink="false">64d1e69b3682ad0001ceeb36</guid><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Fri, 11 Aug 2023 03:03:48 GMT</pubDate><media:content url="https://wibenson.com/content/images/2023/08/Screenshot-from-2023-08-11-10-05-29.png" medium="image"/><content:encoded><![CDATA[<h2 id="premise">Premise</h2><img src="https://wibenson.com/content/images/2023/08/Screenshot-from-2023-08-11-10-05-29.png" alt="What it feels like to use Linux in 2023"><p>I use Windows for my day-to-day job, but all servers mostly using Ubuntu, including my self-hosted one.</p><p>I have some problems with Windows, the [win] key + [number] shortcut sometimes didn&#x2019;t work, this problem has been appeared from my first install of Windows 11 and also reported via Window&#x2019;s feedback hub, it seems like not everyone encountered this bug because of the low report count (or nobody is using this (but how..)). Microsoft already acknowledge this problem by responding to the feedback-hub ticket 9 months ago and they released a patch on <a href="https://blogs.windows.com/windows-insider/2023/08/02/announcing-windows-11-insider-preview-build-23516/?ref=wibenson.com">Dev Channel</a>, how is that patch never arrived on the beta channel is baffling me &#xA0;I&#x2019;m just not brave enough to use that channel because I still want my device reliable.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/08/Untitled.png" class="kg-image" alt="What it feels like to use Linux in 2023" loading="lazy" width="1220" height="133" srcset="https://wibenson.com/content/images/size/w600/2023/08/Untitled.png 600w, https://wibenson.com/content/images/size/w1000/2023/08/Untitled.png 1000w, https://wibenson.com/content/images/2023/08/Untitled.png 1220w" sizes="(min-width: 720px) 720px"><figcaption>this is the oldest report on the submission</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/08/Untitled-1.png" class="kg-image" alt="What it feels like to use Linux in 2023" loading="lazy" width="1235" height="886" srcset="https://wibenson.com/content/images/size/w600/2023/08/Untitled-1.png 600w, https://wibenson.com/content/images/size/w1000/2023/08/Untitled-1.png 1000w, https://wibenson.com/content/images/2023/08/Untitled-1.png 1235w" sizes="(min-width: 720px) 720px"><figcaption>Microsoft ack this problem and give a fix.. halfheartedly</figcaption></figure><p>I also use an old and slow 2015&#x2019;s MacBook Pro that I often brought outside work because it&#x2019;s light and actually has &#x201C;battery&#x201D;, somehow I can be more productive using this laptop, probably because I can&#x2019;t do multitask very well so I can&#x2019;t get distracted for too far, also I can&#x2019;t install any game here</p><p>So, on one bright Saturday, just me procrastinating about what I should do, disgusted by my shortcut that did not work, motivated by trying to check how efficient it would be for me also to use Linux for my daily driver. so I just download the latest POP OS &#xA0;and boot it up.</p><h1 id="popos-2204">Pop!_OS 22.04</h1><p>Pop!_OS is the latest Linux Distro of my choice before I migrate to Windows 3 years ago, in my opinion, they provide the best UI out of the box and looks clean, the installation is going well, and I can install and boot without much issue, just make sure that secure boot is disabled</p><p>and then, the Linux configuration nightmare began</p><blockquote>oh you sweety old friend</blockquote><p>here is the list of configuration that I made</p><h3 id="scaling-issue-with-large-high-res-monitor">Scaling issue with Large High Res Monitor</h3><p>this is what appears on my monitor</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/08/Untitled-2.png" class="kg-image" alt="What it feels like to use Linux in 2023" loading="lazy" width="2000" height="1122" srcset="https://wibenson.com/content/images/size/w600/2023/08/Untitled-2.png 600w, https://wibenson.com/content/images/size/w1000/2023/08/Untitled-2.png 1000w, https://wibenson.com/content/images/size/w1600/2023/08/Untitled-2.png 1600w, https://wibenson.com/content/images/size/w2400/2023/08/Untitled-2.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>&gt;.&lt;</figcaption></figure><p>okay, easy, let&apos;s just scale this up</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/08/Untitled-3.png" class="kg-image" alt="What it feels like to use Linux in 2023" loading="lazy" width="2000" height="1122" srcset="https://wibenson.com/content/images/size/w600/2023/08/Untitled-3.png 600w, https://wibenson.com/content/images/size/w1000/2023/08/Untitled-3.png 1000w, https://wibenson.com/content/images/size/w1600/2023/08/Untitled-3.png 1600w, https://wibenson.com/content/images/size/w2400/2023/08/Untitled-3.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>O.O</figcaption></figure><p>this may look normal, but believe me when I said this is not the ideal view for a 4k monitor, and also why I can&#x2019;t pick 150% scale? and why does my secondary laptop screen also bombarded to 200%</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/08/Untitled-4.png" class="kg-image" alt="What it feels like to use Linux in 2023" loading="lazy" width="2000" height="1119" srcset="https://wibenson.com/content/images/size/w600/2023/08/Untitled-4.png 600w, https://wibenson.com/content/images/size/w1000/2023/08/Untitled-4.png 1000w, https://wibenson.com/content/images/size/w1600/2023/08/Untitled-4.png 1600w, https://wibenson.com/content/images/size/w2400/2023/08/Untitled-4.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>O.o</figcaption></figure><p>yes, Fractional scaling does the job, but now my mouse is blinking all the time and my second screen is cropped.. this is not ideal, Fractional scaling is a deprecated option that&apos;s.. better be left alone</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/08/Untitled-5.png" class="kg-image" alt="What it feels like to use Linux in 2023" loading="lazy" width="2000" height="814" srcset="https://wibenson.com/content/images/size/w600/2023/08/Untitled-5.png 600w, https://wibenson.com/content/images/size/w1000/2023/08/Untitled-5.png 1000w, https://wibenson.com/content/images/size/w1600/2023/08/Untitled-5.png 1600w, https://wibenson.com/content/images/size/w2400/2023/08/Untitled-5.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>O.-</figcaption></figure><p>so, back to non-fractional scaling, some people on the internet recommend to keep using 100% but also setting the font&#x2019;s scaling factor to 1.5, this makes the button small but everything is readable, not really an ideal solution but there are no better options.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/08/Untitled-6.png" class="kg-image" alt="What it feels like to use Linux in 2023" loading="lazy" width="2000" height="1128" srcset="https://wibenson.com/content/images/size/w600/2023/08/Untitled-6.png 600w, https://wibenson.com/content/images/size/w1000/2023/08/Untitled-6.png 1000w, https://wibenson.com/content/images/size/w1600/2023/08/Untitled-6.png 1600w, https://wibenson.com/content/images/size/w2400/2023/08/Untitled-6.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>o.o</figcaption></figure><h2 id="vpn">VPN</h2><p>shamelessly copied from <a href="http://askubuntu.com/?ref=wibenson.com">askubuntu.com</a>, but here&#x2019;s my exact problem</p><p>!<a href="https://i.stack.imgur.com/Shy56.gif?ref=wibenson.com">https://i.stack.imgur.com/Shy56.gif</a></p><p>how is <code>Add</code> button greyed out? <a href="https://askubuntu.com/questions/1403896/cant-add-cisco-compatible-vpn-vpnc-on-network-manager-ubuntu-22-04?rq=1&amp;ref=wibenson.com">this thread</a> and <a href="https://askubuntu.com/questions/1403896/cant-add-cisco-compatible-vpn-vpnc-on-network-manager-ubuntu-22-04?rq=1&amp;ref=wibenson.com">another thread</a> discussing this</p><h3 id="apt-get-apt-snap-%E2%80%A6-flat">apt-get? apt? snap? &#x2026; flat?</h3><p>Just how many application managers do you need? exaggeration with <code>apt-get</code> and <code>apt</code> because they are the same things, <code>flat</code> is a new thing for me and I never use <code>snap</code> before, but I think I like <code>snap</code>, it have a lot of apps registered, have a<a href="https://snapcraft.io/?ref=wibenson.com"> nice website</a> to showcase the app and also an app for it, <a href="https://snapcraft.io/snap-store?ref=wibenson.com">snap store</a></p><p>On the topic of &quot;app store&quot;, in my opinion pop shop provides better UI than snap store, but I still won&#x2019;t use both because it&#x2019;s ordered by alphabet, I may use Snap Store because I can manage my command-lines <code>snap</code> installation</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/08/Untitled-7.png" class="kg-image" alt="What it feels like to use Linux in 2023" loading="lazy" width="2000" height="744" srcset="https://wibenson.com/content/images/size/w600/2023/08/Untitled-7.png 600w, https://wibenson.com/content/images/size/w1000/2023/08/Untitled-7.png 1000w, https://wibenson.com/content/images/size/w1600/2023/08/Untitled-7.png 1600w, https://wibenson.com/content/images/size/w2400/2023/08/Untitled-7.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>left is snap store, right is pop shop</figcaption></figure><h3 id="snap-windows-to-left-down">snap windows to left down</h3><p>Windows also have this problem, but easily solved with <a href="https://learn.microsoft.com/en-us/windows/powertoys/?ref=wibenson.com">powertoy</a>, if there&#x2019;s apps that I can bring to Linux, that would be powertoy and Microsoft office. Snap windows it&#x2019;s still achievable with tilling assistant, but it does feels harder to use, some configuration that I want also hidden behind &#x201C;Advanced / Experimental Settings&#x201D; that I missed in the first</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/08/Untitled-8.png" class="kg-image" alt="What it feels like to use Linux in 2023" loading="lazy" width="762" height="698" srcset="https://wibenson.com/content/images/size/w600/2023/08/Untitled-8.png 600w, https://wibenson.com/content/images/2023/08/Untitled-8.png 762w" sizes="(min-width: 720px) 720px"><figcaption>I need to figure out the number rather than just dragging it on powertoy</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/08/Untitled-9.png" class="kg-image" alt="What it feels like to use Linux in 2023" loading="lazy" width="2000" height="1125" srcset="https://wibenson.com/content/images/size/w600/2023/08/Untitled-9.png 600w, https://wibenson.com/content/images/size/w1000/2023/08/Untitled-9.png 1000w, https://wibenson.com/content/images/size/w1600/2023/08/Untitled-9.png 1600w, https://wibenson.com/content/images/size/w2400/2023/08/Untitled-9.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>all good here</figcaption></figure><h3 id="win-key-number-shortcut">[Win] key + number shortcut</h3><p>it&#x2019;s not enabled by default, but easily achievable by toggling one of the config from command line</p><p><code>gsettings set org.gnome.shell.extensions.dash-to-dock hot-keys true</code></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/08/Untitled-10.png" class="kg-image" alt="What it feels like to use Linux in 2023" loading="lazy" width="784" height="86" srcset="https://wibenson.com/content/images/size/w600/2023/08/Untitled-10.png 600w, https://wibenson.com/content/images/2023/08/Untitled-10.png 784w" sizes="(min-width: 720px) 720px"><figcaption>easypeasy</figcaption></figure><p>no bugs here!</p><h2 id="after-a-week">After a week</h2><p>it&#x2019;s been a good experience so far, I don&#x2019;t have issues with peripherals and driver, NVIDIA drivers work flawlessly this time (Pop OS even differentiate installation image with or without NVIDIA drivers). I need to remember the keyboard shortcuts but that muscle memory does get back fast. did configure it a lot in the beginning, but I almost don&#x2019;t touch the settings after that.</p><p>For the performance, its all fast and snappy, I rarely hear my laptop fans running, and the Linux OS uses half of what my Windows use in idle condition with all necessary apps opened (slack, browser, terminal, and vs code)</p><p>For fun, I set all the themes to <a href="https://draculatheme.com/?ref=wibenson.com">Dracula</a> and this is the best decision I ever made this week. It does feel seamless moving from one application to another, <a href="https://draculatheme.com/about?ref=wibenson.com">to quote the intention of the maker</a></p><blockquote>I always believed in the cost of context switching. I know how it feels when you&apos;re <em>&quot;in the zone&quot;</em>, then suddenly, you get distracted and lose focus. It shouldn&apos;t be that way, so I decided to create my own color scheme, and my mission was to make it available everywhere.</blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/08/Untitled-11.png" class="kg-image" alt="What it feels like to use Linux in 2023" loading="lazy" width="2000" height="1125" srcset="https://wibenson.com/content/images/size/w600/2023/08/Untitled-11.png 600w, https://wibenson.com/content/images/size/w1000/2023/08/Untitled-11.png 1000w, https://wibenson.com/content/images/size/w1600/2023/08/Untitled-11.png 1600w, https://wibenson.com/content/images/size/w2400/2023/08/Untitled-11.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>that Dracula themes</figcaption></figure>]]></content:encoded></item><item><title><![CDATA[Expose local services securely using authentik]]></title><description><![CDATA[<p>This post will walk through my thoughts process to expose a service that runs on my local network</p><h1 id="premise">Premise</h1><p>I already did expose service, which I have posted a bit from <a href="https://wibenson.com/start-of-self-hosted-server/">my previous blogs</a>, quick recap on that:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/07/Untitled-Diagram.drawio-2-.png" class="kg-image" alt loading="lazy" width="861" height="161" srcset="https://wibenson.com/content/images/size/w600/2023/07/Untitled-Diagram.drawio-2-.png 600w, https://wibenson.com/content/images/2023/07/Untitled-Diagram.drawio-2-.png 861w" sizes="(min-width: 720px) 720px"><figcaption>You get the idea</figcaption></figure><p>while I can expose services with well-known good</p>]]></description><link>https://wibenson.com/how-to-expose-local-services-securely/</link><guid isPermaLink="false">64bb39d89b290400018c3157</guid><category><![CDATA[Self-hosted]]></category><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Thu, 27 Jul 2023 16:07:32 GMT</pubDate><media:content url="https://wibenson.com/content/images/2023/07/Screen-Shot-2023-07-27-at-23.07.50.png" medium="image"/><content:encoded><![CDATA[<img src="https://wibenson.com/content/images/2023/07/Screen-Shot-2023-07-27-at-23.07.50.png" alt="Expose local services securely using authentik"><p>This post will walk through my thoughts process to expose a service that runs on my local network</p><h1 id="premise">Premise</h1><p>I already did expose service, which I have posted a bit from <a href="https://wibenson.com/start-of-self-hosted-server/">my previous blogs</a>, quick recap on that:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/07/Untitled-Diagram.drawio-2-.png" class="kg-image" alt="Expose local services securely using authentik" loading="lazy" width="861" height="161" srcset="https://wibenson.com/content/images/size/w600/2023/07/Untitled-Diagram.drawio-2-.png 600w, https://wibenson.com/content/images/2023/07/Untitled-Diagram.drawio-2-.png 861w" sizes="(min-width: 720px) 720px"><figcaption>You get the idea</figcaption></figure><p>while I can expose services with well-known good authentication (for example grafana or adguard-home) I can&apos;t expose services with no authentication (for example: dashy) and services with too basic authentication that it&apos;s insecure &amp; easy to brute force (for example sonarr, radar, and qbittorrent)</p><p>The goal here is to have some authentication methods for all of my services so that we need authentication services</p><h1 id="the-authentication-services">The Authentication Services</h1><p>yes, I know the title already said that I use authentik, but the options for me are:</p><ul><li>Setup Google login and protect anything insecure with <strong>Google auth proxy</strong></li><li>Same as before, but instead of <strong>Google auth proxy</strong>, we use <strong>Pomerium</strong></li><li>explore auth services like <strong>keycloak</strong>, <strong>authelia</strong> or <strong>authentik</strong></li></ul><p>Setup Google login + auth proxy may be the easiest way to do, I&apos;m familiar with it, but the last time I check, I must provide every Google auth proxy for every service that I have, and I have many services to expose.. this option is something that easy in the beginning but don&apos;t scale very well</p><p>Another similar option is Pomerium, I&apos;ve also pretty familiar with Pomerium, and I still can google login proxy with the better value from previous options with just one deployment for all services that I have</p><p>Then I find authentik, something that I haven&apos;t used before. From the documentation, I can have one login method for all services that I have, for example, if I have logged on to https://grafana.wibenson.cloud, I can open https://homepage.wibenson.cloud without login, authentik also have other security protocol that I&apos;d like to explore in the future. Authentik also seems preferred on <a href="https://www.reddit.com/r/selfhosted/comments/13rr6i7/keycloak_vs_authentik_vs_authelia_help_choose_sso/?ref=wibenson.com">this Reddit thread</a></p><p>hot damn, I&apos;m in</p><h1 id="authentik">Authentik</h1><p>The setup itself is quite simple, and the guide from <a href="https://goauthentik.io/docs/installation/docker-compose?ref=wibenson.com">the official docs </a>is quite good, I won&apos;t rewrite that here because I believe it&apos;s subject of changes (or I&apos;m lazy), here is the new diagram after we have Authentik</p><figure class="kg-card kg-image-card"><img src="https://wibenson.com/content/images/2023/07/Untitled-Diagram.drawio-1--1.png" class="kg-image" alt="Expose local services securely using authentik" loading="lazy" width="801" height="291" srcset="https://wibenson.com/content/images/size/w600/2023/07/Untitled-Diagram.drawio-1--1.png 600w, https://wibenson.com/content/images/2023/07/Untitled-Diagram.drawio-1--1.png 801w" sizes="(min-width: 720px) 720px"></figure><p>There are only one cloudflare and Caddy service, I split it up to 3 just to understand the flow of each services, authentik itself has a lot of documented integration with services <a href="https://goauthentik.io/integrations/?ref=wibenson.com">on their documentation</a>, but in short, <a href="https://goauthentik.io/docs/providers/proxy/?ref=wibenson.com">authentik proxy provider</a> will work with a lot of services, for some that already have &quot;solid&quot; authentication like grafana, we will just add antoher layer of authentication, so that the user will login twice, once for authentik and another for the app itself, so that&apos;s why services like grafana that support external OAuth, it&apos;s better to use <a href="https://goauthentik.io/docs/providers/oauth2/?ref=wibenson.com">Authentik Oauth Provider</a> to simplify authentication </p><h1 id="epilogue">Epilogue</h1><p>some noteworthy thing to mention is:</p><ol><li>Authentik needs a lot of memory, the docs state the minimum requirement is 2 core and 2 GB of memory, I use around 900++ mb of memory</li></ol><pre><code>&#x279C;  authentik docker stats | grep authentik
04e80aafca1c   authentik-worker-1            2.04%     240.6MiB / 7.506GiB   3.13%     332MB / 222MB     1.01MB / 0B       7
786fada5d82f   authentik-server-1            1.68%     570.7MiB / 7.506GiB   7.42%     120MB / 177MB     21.4MB / 0B       48
277d8712366d   authentik-postgresql-1        0.43%     78.05MiB / 7.506GiB   1.02%     93.4MB / 89.7MB   80.7MB / 326MB    10
9048807a0646   authentik-redis-1             0.38%     9.305MiB / 7.506GiB   0.12%     285MB / 347MB     3.99MB / 3.13GB   5</code></pre><p>2. There&apos;s an<a href="https://goauthentik.io/integrations/sources/google/?ref=wibenson.com"> integration with google login</a>, and it does work. But to the point where this blog is written, I still have issue with how can I allow specific email to signup (or disable signup altogether).</p><p>3. Authentik does support authorization! it&apos;s really a nice feature that can be implemented in an organization, not really useful for self-hosted private projects because usually there&apos;s only one person accessing all this stuff.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/07/Screen-Shot-2023-07-26-at-21.14.10.png" class="kg-image" alt="Expose local services securely using authentik" loading="lazy" width="2000" height="177" srcset="https://wibenson.com/content/images/size/w600/2023/07/Screen-Shot-2023-07-26-at-21.14.10.png 600w, https://wibenson.com/content/images/size/w1000/2023/07/Screen-Shot-2023-07-26-at-21.14.10.png 1000w, https://wibenson.com/content/images/size/w1600/2023/07/Screen-Shot-2023-07-26-at-21.14.10.png 1600w, https://wibenson.com/content/images/2023/07/Screen-Shot-2023-07-26-at-21.14.10.png 2282w" sizes="(min-width: 720px) 720px"><figcaption>note Synced via Generic OAuth</figcaption></figure><p>4. There&apos;s a point where suddenly I can&apos;t login into authentik without error message, &#xA0;there&apos;s authentik log <code>ERROR: &#xA0;invalid input syntax for type inet: &quot;172.70.142.146:56164&quot; at character 491</code> which.. don&apos;t really tell anything, except that it seems like this wasn&apos;t the correct format for IP &#xA0;address, <s>hardcoding</s> remove caddy&apos;s <code>x-forwarded-for</code> solve the issue for me (Cloudflare already provide correct <code>x-forwarded-for</code>), it was my mistake to overwrite it with remote_addr</p><hr><p>Update 2023-07-28: Fix some wordings</p>]]></content:encoded></item><item><title><![CDATA[How to not get hacked]]></title><description><![CDATA[<p>This page will tell how to secure stuff after I see a lot of people hacked on my social media feeds, and I will keep this as short as possible</p><p>to not get hacked, there are 2 basic rules:</p><ol><li>Use your phone as a second-factor authentication</li><li>Don&apos;t lend</li></ol>]]></description><link>https://wibenson.com/basic-security-101/</link><guid isPermaLink="false">64b3998e1d6dee0001fa53f2</guid><category><![CDATA[Tech tips]]></category><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Sun, 16 Jul 2023 08:28:02 GMT</pubDate><media:content url="https://wibenson.com/content/images/2023/07/2023-07-16-hackerman.webp" medium="image"/><content:encoded><![CDATA[<img src="https://wibenson.com/content/images/2023/07/2023-07-16-hackerman.webp" alt="How to not get hacked"><p>This page will tell how to secure stuff after I see a lot of people hacked on my social media feeds, and I will keep this as short as possible</p><p>to not get hacked, there are 2 basic rules:</p><ol><li>Use your phone as a second-factor authentication</li><li>Don&apos;t lend your phone to anyone</li></ol><h2 id="use-your-phone-as-second-factor-authenticator">Use your phone as second-factor authenticator</h2><p>This should be the default security application for your email account, social media account, and digital bank account. the options are:</p><ul><li>SMS</li><li>Second-factor apps like auhty or Google authenticator </li></ul><p>some links on how to do this:<br>- <a href="https://support.google.com/accounts/answer/185839?hl=en&amp;co=GENIE.Platform%3DDesktop&amp;ref=wibenson.com">gmail</a><br>- <a href="https://help.instagram.com/566810106808145?ref=wibenson.com">instagram</a></p><p>Also keep in mind that you must remember your password, don&apos;t write it down anywhere else if it&apos;s possible, if you forgot, just reset the password.</p><h2 id="dont-lend-your-phone-to-anyone">Don&apos;t lend your phone to anyone</h2><p>When you&apos;re using your phone as a second-factor authenticator, treat your phone as another layer of password, you won&apos;t lend your password to someone else, right? </p><p>One small thing that I do is to lock my sim card, from your phone Settings, search for <code>SIM card lock</code> on Android or <code>SIM PIN</code> on IOS devices, <strong>change the pin</strong>. this should stop people from using my SIM card if they stole it.</p><p>I would also recommend disabling the lock screen messages preview - to keep SMS/email authenticated code can be viewed even if the phone is locked. </p><figure class="kg-card kg-image-card"><img src="https://wibenson.com/content/images/2023/07/image.png" class="kg-image" alt="How to not get hacked" loading="lazy" width="231" height="218"></figure><h4 id="bottom-note">Bottom note</h4><p>Just these two main rules, you should be fine. even if you somehow get hacked, you should be able to recover your account, just try to double-check the page where you insert your password to avoid phishing.</p><p>Email verification code or WhatsApp may be less secure because you may have logged on to another device that is often accessible to another person, your laptop for example. </p><p>If you use Password Manager, also try to keep that as secure as possible, don&apos;t add your mail email password to your password manager. Don&apos;t use the second-factor auth feature from your password manager, keep the password manager requires your password/fingerprint every time you need one.</p><p>Remember that a hacker is often not someone behind a computer who types 1000 words per minute, a lot of time it&apos;s just someone close to you, wearing a friendly mask and helpful attitude. </p>]]></content:encoded></item><item><title><![CDATA[Orange pi 5 first impression]]></title><description><![CDATA[<p>After giving a lot of time thinking of whether I should &quot;invest&quot; more in a product, I finally decided to buy Orange Pi 5, this one comes without EMMC and WiFi, but it does have a slot for m2 nvme and WiFi extension. </p><p>This post will talk about</p>]]></description><link>https://wibenson.com/orange-pi-5/</link><guid isPermaLink="false">64b2aee91d6dee0001fa5234</guid><category><![CDATA[Self-hosted]]></category><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Sat, 15 Jul 2023 15:44:35 GMT</pubDate><media:content url="https://wibenson.com/content/images/2023/07/2023-07-16-orange-pi.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wibenson.com/content/images/2023/07/2023-07-16-orange-pi.jpg" alt="Orange pi 5 first impression"><p>After giving a lot of time thinking of whether I should &quot;invest&quot; more in a product, I finally decided to buy Orange Pi 5, this one comes without EMMC and WiFi, but it does have a slot for m2 nvme and WiFi extension. </p><p>This post will talk about my first impression of Orange Pi, what is the issue, and how well it works.</p><blockquote>note if you&apos;re living in Indonesia, purchasing orange pi is cheaper with aliexpress.com, even after adding shipping cost and tax. I would recommend this if you have time to wait for, my item get delivered in 22 days (from estimated 30 days)</blockquote><p>Back to the orange pi, which I will call pi from now on, I already migrate all my home media setup from my old laptop to the pi, it&apos;s pretty simple because I copy all the docker setup and the data. I use <a href="https://github.com/Joshua-Riek/ubuntu-rockchip/?ref=wibenson.com">Ubuntu Server from Joshua Riek</a> for the OS, a brand new Samsung micro sd for the storage, and a Realme type c charger (I see that it matches orange pi&apos;s requirement &#x2013; 20w / 5v 4A). </p><p>noteworthy things:</p><h4 id="some-bumpy-road-that-never-occurred-to-me-on-cloud-server-setup">Some bumpy road that never occurred to me on cloud server setup</h4><p>first time working with a machine that is only accessible from SSH, I find some issues like the IP address that keeps changing back to default until I realize that I must use static IP, I use <code>netplan</code> for this. </p><p>fun fact, I reformated the OS because I thought I messed up with my boot config</p><p>After I confirm that I have static IP after a reboot, I found out my radarr / jacket services can&apos;t access torrent sites because they are blocked by our government&apos;s &quot;healthy internet&quot; (a firewall layer that blocks porn / whatever site the government didn&apos;t like), Okay, I can use DNSCrypt, but no.. netplan didn&apos;t respect its own DNS / nameserver config, changing nameserver at <code>/etc/resolv.conf</code> keep revert to default because of some process.</p><p>The solution? &#x2013; Removing the symlink of <code>/etc/resolv.conf</code> and create the file manually with a nameserver pointed to DNSCrypt IP</p><h4 id="kubernetes-setup">Kubernetes setup</h4><p>To be honest, this is something that I try first after booting up, but after installing, I find out on k3s documentation that kubernetes&apos;s etcd wear micro sd faster because of the high I/O, maybe I will try another alternative (for example <a href="https://gist.github.com/janeczku/4b2f4684b092635a325f51eb8d7a6f4f?ref=wibenson.com">this one</a>) or just waiting for my budget to losses up and me buying storage. I will have another blog post for that</p><h4 id="slow-usb-with-exfat-or-high-storage">Slow USB with exfat or high storage</h4><p>This is something that I need to research more, but I find out that browsing the ExFAT hard disk is noticeably slower than ext4, sometimes to the point that I can&apos;t <code>ls</code> the disk, but this is can also because it&apos;s a 5TB ExFAT hard disk and it may consume more power than the pi can provide(?). After I change it to my old 500GB ext4, disk browsing and writing are smoother and I just keep that way until I need the urge of more storage.</p><h4 id="benchmark">Benchmark</h4><p>the results:</p><!--kg-card-begin: html--><table id="bb33a32a-0c1c-431a-b689-bf3187a4002f" class="simple-table"><tbody><tr id="054443aa-9e4f-4dc6-b04a-5e16fcbe25ce"><td id="QMK=" class>Devices</td><td id="bVQX" class>sysbench (event per second)</td></tr><tr id="7d8c272c-1c1e-47e9-9a8a-e2d99ef796a4"><td id="QMK=" class>Acer v5 471</td><td id="bVQX" class>384 </td></tr><tr id="bc8c0f19-5cd2-4c0d-b5c7-3540a6eb4691"><td id="QMK=" class>Linode 1 CPU 1 GB</td><td id="bVQX" class>1148</td></tr><tr id="89d17559-3154-4cab-bbbb-42b91818d0cf"><td id="QMK=" class>Orange Pi 5</td><td id="bVQX" class>2523</td></tr><tr id="ab3262de-c872-4043-a159-267467ede980"><td id="QMK=" class>GCP 2 CPU 8 GB </td><td id="bVQX" class>903</td></tr><tr id="befefe7c-ed8f-477c-bb22-2faa974d5f3c"><td id="QMK=" class>Macbook Pro 2015</td><td id="bVQX" class>3339833</td></tr></tbody></table><!--kg-card-end: html--><p>that MacBook Pro result is.. weird, &#xA0;sysbench may not be a standard tool for benchmarking, but I think we can get the picture with the comparison with cloud providers like Linode or GCP. The pi&apos;s CPU / Memory utilization itself is quite low with my current setup</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/07/Screen-Shot-2023-07-15-at-22.24.29.png" class="kg-image" alt="Orange pi 5 first impression" loading="lazy" width="2000" height="900" srcset="https://wibenson.com/content/images/size/w600/2023/07/Screen-Shot-2023-07-15-at-22.24.29.png 600w, https://wibenson.com/content/images/size/w1000/2023/07/Screen-Shot-2023-07-15-at-22.24.29.png 1000w, https://wibenson.com/content/images/size/w1600/2023/07/Screen-Shot-2023-07-15-at-22.24.29.png 1600w, https://wibenson.com/content/images/size/w2400/2023/07/Screen-Shot-2023-07-15-at-22.24.29.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>CPU / Memory Utilization</figcaption></figure><h4 id="what-i-use-the-pi-for">what I use the pi for </h4><p>For now, I mostly use this as a media server, monitoring, and file downloader, but in the future, I&apos;m planning some stuff like:</p><ul><li>Exposing some services to the internet, with authentication</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/07/Screen-Shot-2023-07-15-at-22.48.34.png" class="kg-image" alt="Orange pi 5 first impression" loading="lazy" width="2000" height="514" srcset="https://wibenson.com/content/images/size/w600/2023/07/Screen-Shot-2023-07-15-at-22.48.34.png 600w, https://wibenson.com/content/images/size/w1000/2023/07/Screen-Shot-2023-07-15-at-22.48.34.png 1000w, https://wibenson.com/content/images/size/w1600/2023/07/Screen-Shot-2023-07-15-at-22.48.34.png 1600w, https://wibenson.com/content/images/size/w2400/2023/07/Screen-Shot-2023-07-15-at-22.48.34.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>my local services</figcaption></figure><ul><li>SSO with <a href="https://www.authelia.com/?ref=wibenson.com">Authelia</a> or <a href="https://goauthentik.io/?ref=wibenson.com">Authentik</a> or <a href="https://www.pomerium.com/?ref=wibenson.com">Pomerium</a> if I&apos;m very lazy</li><li>Smart home that uses Local Area Network, so that my house does not become a dumb house whenever there&apos;s an internet outage. I use <a href="https://www.home-assistant.io/?ref=wibenson.com">home assistant</a> for this, the problem that I encountered is integration with Bardi devices. My Philips Wiz light and Xiaomi Yeelight are automatically detected with the home assistant, but Bardi&apos;s are a little more complicated)</li><li>CCTV server </li><li>Baremetal Kubernetes setup</li></ul>]]></content:encoded></item><item><title><![CDATA[Start of self hosted server]]></title><description><![CDATA[<p>The first question that appear was &quot;why&quot;, and the answer is because:</p><ul><li>I want to watch a movie while lying on the bed with my phone/tablet</li><li>My ISP sucks, it stops me from accessing a lot of research sites. I can use public DNS over HTTPS / VPN</li></ul>]]></description><link>https://wibenson.com/start-of-self-hosted-server/</link><guid isPermaLink="false">647ab20c1d6dee0001fa50e9</guid><category><![CDATA[Self-hosted]]></category><dc:creator><![CDATA[Wibenson]]></dc:creator><pubDate>Sat, 03 Jun 2023 07:25:37 GMT</pubDate><media:content url="https://wibenson.com/content/images/2023/07/2023-07-16-acer-v5.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://wibenson.com/content/images/2023/07/2023-07-16-acer-v5.jpg" alt="Start of self hosted server"><p>The first question that appear was &quot;why&quot;, and the answer is because:</p><ul><li>I want to watch a movie while lying on the bed with my phone/tablet</li><li>My ISP sucks, it stops me from accessing a lot of research sites. I can use public DNS over HTTPS / VPN that I already own, but I think it&apos;s faster when I have the DNS server running on my local network</li><li>I have a primary laptop that I use most of the time for work, this laptop draws a lot of power (because of the gaming label), and I don&apos;t want to keep this machine alive 24x7 with a higher risk of breaking when I need it.</li><li>I want to have a backup solution for my primary laptop</li></ul><p>then the question continues with what I need to solve that problem. For context, I already have a Linux virtual machine running at Linode, I utilized it for VPN, and whenever I need high-speed internet to <code>docker build</code> or for me to remote when I&apos;m AFK and work from my phone. I use the lowest option available, it&apos;s 1 vCPU, 1 GB of memory, and 25 GB of storage for $1 a month. to be clear in layman&apos;s terms: it&apos;s not enough. </p><p>I don&apos;t want to spend another dime on object storage, I want more computing power, more ram, and more disk. I also have a 5TB hard disk lying around and some slow laptop that my sister complained since long time ago and I haven&apos;t found the time to fix that until she got another new laptop from her new job.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/06/meme-self-hosted.jpg" class="kg-image" alt="Start of self hosted server" loading="lazy" width="500" height="649"><figcaption>let&apos;s fulfill our hedonism</figcaption></figure><p>The answer seems so obvious now, let&apos;s buy a home server! and after quick research. I found out what I want, a SBC capable of rendering 4k media server, maybe a little computing power for backup work device and it&apos;s <a href="http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5-plus.html?ref=wibenson.com">orange pi 5</a>.The device is nice, but me being so cheapo thinking to spend another $134 for something so experimental, I&apos;m not sure.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/06/self-hosted-meme-2.jpg" class="kg-image" alt="Start of self hosted server" loading="lazy" width="500" height="1116"><figcaption>be agile guys, start small</figcaption></figure><p>So let&apos;s back to plan A, re-utilized old laptop to be a server that up 24x7, not really a safe idea, but we must be agile and start somewhere. Here we go!</p><ul><li>The choice of OS, quick googling and just me being me &#x2013; can&apos;t really stay in one Linux distro for a long time, finally chose Zorin OS Lite, mostly because it&apos;s known for being really light and can live well on older machines</li><li>Setup <a href="https://dashy.to/?ref=wibenson.com">dashy</a> for a dashboard that will list service and their URL because there&apos;s will be a lot of services and I can&apos;t remember all the locations and port numbers</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/06/Screen-Shot-2023-06-03-at-14.12.44.png" class="kg-image" alt="Start of self hosted server" loading="lazy" width="2000" height="1003" srcset="https://wibenson.com/content/images/size/w600/2023/06/Screen-Shot-2023-06-03-at-14.12.44.png 600w, https://wibenson.com/content/images/size/w1000/2023/06/Screen-Shot-2023-06-03-at-14.12.44.png 1000w, https://wibenson.com/content/images/size/w1600/2023/06/Screen-Shot-2023-06-03-at-14.12.44.png 1600w, https://wibenson.com/content/images/size/w2400/2023/06/Screen-Shot-2023-06-03-at-14.12.44.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>some first look for dashy</figcaption></figure><ul><li><a href="https://jellyfin.org/docs/general/quick-start/?ref=wibenson.com">setup jellyfin</a> for the media server </li><li>setup monitoring with <a href="https://github.com/nicolargo/glances?ref=wibenson.com">glances</a> for me to know which service causing everything to slow down / crash, we may improve this later on, but while we only running a single machine, I wouldn&apos;t give it too much thought</li><li>setup <a href="https://linuxhint.com/transmission-bittorrent-client-linux/?ref=wibenson.com">transmission</a>, <a href="https://hub.docker.com/r/linuxserver/radarr?ref=wibenson.com">radarr</a>, <a href="https://hub.docker.com/r/linuxserver/sonarr?ref=wibenson.com">sonarr</a>, <a href="https://hub.docker.com/r/linuxserver/readarr?ref=wibenson.com">readarr</a> and <a href="https://github.com/Jackett/Jackett?ref=wibenson.com">jackett</a> for &quot;downloading&quot;</li><li>Expose some service to the internet, accessible from this blog domain</li></ul><p>The last part, exposing things also had its own catch, back to point 2 where my ISP sucks, I also realize that my ISP didn&apos;t give me a public IP. My internet has another layer of the internal network before being connected to the internet, I believe they do this because there&apos;s a limit to number of Public IPV4 and I only paid for lower services, this also makes some options like DDNS can&apos;t be used.</p><p>Back to exposing, quick googling gives me some potential solutions, <a href="https://serveo.net/?ref=wibenson.com">serveo.net</a> &#xA0;is something that I do first, &#xA0;the way they do is ssh port forwarding between my machines and serveo machines, and magically I can access my machines from somethingsomething.serveo.net. I also can use my chosen custom domain or even my own domain, which is super awesome when another well-known service paywall has this feature (I see you ngrok). but when I give it a second thought, I realize that I over complicate things, I just can setup VPN between my publicly accessible linode VM and my local machine, and I add <a href="https://caddyserver.com/?ref=wibenson.com">caddy</a> to reverse proxy some services that are served from Linode VM (like this blog) or to my local machine like dashy or glances (I&apos;m not sure why I publicly share my process monitoring, will close that soon). I use <a href="https://tailscale.com/?ref=wibenson.com">tailscale</a> for the VPN because it&apos;s just so easy to setup, they have good offerings for personal use, and there are just a lot of features available. bonus point, I also can access my machines anywhere with my phone and I can scrap my VPN because there&apos;s a thing called <a href="https://tailscale.com/kb/1103/exit-nodes/?ref=wibenson.com">tailscale exit node</a> that does the same stuff.</p><p>We&apos;re good, for now.. for the media part at least..</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://wibenson.com/content/images/2023/06/Screen-Shot-2023-06-03-at-14.15.42.png" class="kg-image" alt="Start of self hosted server" loading="lazy" width="2000" height="897" srcset="https://wibenson.com/content/images/size/w600/2023/06/Screen-Shot-2023-06-03-at-14.15.42.png 600w, https://wibenson.com/content/images/size/w1000/2023/06/Screen-Shot-2023-06-03-at-14.15.42.png 1000w, https://wibenson.com/content/images/size/w1600/2023/06/Screen-Shot-2023-06-03-at-14.15.42.png 1600w, https://wibenson.com/content/images/2023/06/Screen-Shot-2023-06-03-at-14.15.42.png 2158w" sizes="(min-width: 720px) 720px"><figcaption>I need a workboard for this, including for writing this post</figcaption></figure><p>The idea is unlimited, while writing for this post, I also want to create a baby monitor, smart self-hosted home server - so my home did not become progressively dumber whenever the internet is down, and a lot of good things listed at <a href="https://github.com/awesome-selfhosted/awesome-selfhosted?ref=wibenson.com">https://github.com/awesome-selfhosted/awesome-selfhosted</a></p>]]></content:encoded></item></channel></rss>