<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: William Cheong Weelau</title>
    <description>The latest articles on DEV Community by William Cheong Weelau (@divineforge).</description>
    <link>https://dev.to/divineforge</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F134783%2Fe6142547-8d5a-4bc2-8ab8-8c00297cc663.jpeg</url>
      <title>DEV Community: William Cheong Weelau</title>
      <link>https://dev.to/divineforge</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/divineforge"/>
    <language>en</language>
    <item>
      <title>My "Go" to learning resources</title>
      <dc:creator>William Cheong Weelau</dc:creator>
      <pubDate>Thu, 16 Oct 2025 14:26:07 +0000</pubDate>
      <link>https://dev.to/divineforge/my-go-to-learning-resources-3ghn</link>
      <guid>https://dev.to/divineforge/my-go-to-learning-resources-3ghn</guid>
      <description>&lt;p&gt;I'm collecting Golang learning resources from the internet, and compiling in the one place below. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Last updated 2025 May&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flp2wxe6hegevymucmyec.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flp2wxe6hegevymucmyec.jpg" alt="Go Adventure"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  WHY Golang?
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;These are some opinions from the Internet, that may convince you/me, to give Golang a try in your next project. Do make your own assessment&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;LogRocket - why use Go backend in Flutter? - &lt;a href="https://blog.logrocket.com/why-use-go-backend-flutter/?ref=dailydev" rel="noopener noreferrer"&gt;https://blog.logrocket.com/why-use-go-backend-flutter/?ref=dailydev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;More Tech Company moving to Golang? - &lt;a href="https://www.netguru.com/blog/what-is-golang?ref=dailydev" rel="noopener noreferrer"&gt;https://www.netguru.com/blog/what-is-golang?ref=dailydev&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Lessons &amp;amp; Toolings from Internet
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Practical Go Lessons &lt;a href="https://www.practical-go-lessons.com/" rel="noopener noreferrer"&gt;https://www.practical-go-lessons.com/&lt;/a&gt; - added 2025.0519&lt;/li&gt;
&lt;li&gt;Golang GitHub:&lt;a href="https://github.com/golang/go" rel="noopener noreferrer"&gt;https://github.com/golang/go&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Go-Architect: &lt;a href="https://github.com/go-architect/go-architect" rel="noopener noreferrer"&gt;https://github.com/go-architect/go-architect&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Go Designs: &lt;a href="https://github.com/golang-design" rel="noopener noreferrer"&gt;https://github.com/golang-design&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Awesome Go: &lt;a href="https://awesome-go.com/" rel="noopener noreferrer"&gt;https://awesome-go.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Learn Go: Golang tutorials and updates from Red Hat experts &lt;a href="https://developers.redhat.com/topics/go" rel="noopener noreferrer"&gt;https://developers.redhat.com/topics/go&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Packages, Libraries
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Live reload for Go &lt;a href="https://github.com/air-verse/air" rel="noopener noreferrer"&gt;https://github.com/air-verse/air&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Build Terminal forms and prompts &lt;a href="https://github.com/charmbracelet/huh" rel="noopener noreferrer"&gt;https://github.com/charmbracelet/huh&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Suggest Projects for Trying
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Learn Go by Building 11 Projects - FreeCodeCamp &lt;a href="https://www.freecodecamp.org/news/learn-go-by-building-11-projects/" rel="noopener noreferrer"&gt;https://www.freecodecamp.org/news/learn-go-by-building-11-projects/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Go projects &lt;a href="https://github.com/dreamsofcode-io/goprojects" rel="noopener noreferrer"&gt;https://github.com/dreamsofcode-io/goprojects&lt;/a&gt;

&lt;ol&gt;
&lt;li&gt;todo App&lt;/li&gt;
&lt;li&gt;Calculator API&lt;/li&gt;
&lt;li&gt;Web Scraper&lt;/li&gt;
&lt;li&gt;URL Shortener&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Concept &amp;amp; Thinking Paradigm
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;12factor &lt;a href="https://12factor.net" rel="noopener noreferrer"&gt;https://12factor.net&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;How To Organise Go Code &lt;a href="https://jarosz.dev/code/organizing-your-golang-code-tips-for-beginners" rel="noopener noreferrer"&gt;https://jarosz.dev/code/organizing-your-golang-code-tips-for-beginners&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  News Archives
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Golang Weekly &lt;a href="https://golangweekly.com/" rel="noopener noreferrer"&gt;https://golangweekly.com/&lt;/a&gt; (check for its issues)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Golang in GameDev Scene
&lt;/h2&gt;

&lt;p&gt;RayLib binding for Golang here:&lt;br&gt;
&lt;a href="https://www.raylib.com/" rel="noopener noreferrer"&gt;https://www.raylib.com/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Golang to CSharp for Unity?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Observed some discussion on Reddits here: &lt;a href="https://www.reddit.com/r/golang/comments/kqg7pl/unitygolang_using_golang_as_a_scripting_engine/" rel="noopener noreferrer"&gt;https://www.reddit.com/r/golang/comments/kqg7pl/unitygolang_using_golang_as_a_scripting_engine/&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;which an experimental project turning Golang to &lt;code&gt;C#&lt;/code&gt; read more on &lt;a href="https://go2cs.net" rel="noopener noreferrer"&gt;https://go2cs.net&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  ThreeDotsLabs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://threedots.tech/post/making-games-in-go/" rel="noopener noreferrer"&gt;https://threedots.tech/post/making-games-in-go/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  YouTube Videos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Complete backend Engine Build in Go &lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/h3fqD6IprIA"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Five of Project ideas to learn Go &lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/gXmznGEW9vo"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Sandbox Playground
&lt;/h2&gt;

&lt;p&gt;try out more codes via the sandbox&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go Dev - Playground &lt;a href="https://go.dev/play/" rel="noopener noreferrer"&gt;https://go.dev/play/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Go Sandbox: &lt;a href="https://www.go-sandbox.org/" rel="noopener noreferrer"&gt;https://www.go-sandbox.org/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;✨ I write to share ideas and inspire others — if my work resonates with you, consider supporting through &lt;a href="https://www.buymeacoffee.com/divineforge" rel="noopener noreferrer"&gt;Buy Me a Coffee ☕ &lt;/a&gt; to help build a brighter future for children in tech and creativity.&lt;/p&gt;

</description>
      <category>go</category>
      <category>programming</category>
      <category>learning</category>
      <category>backend</category>
    </item>
    <item>
      <title>The Umbrel OS for home-lab, self-hosted tech solutions</title>
      <dc:creator>William Cheong Weelau</dc:creator>
      <pubDate>Sun, 11 May 2025 23:52:06 +0000</pubDate>
      <link>https://dev.to/divineforge/the-umbrel-os-for-home-lab-self-hosted-tech-solutions-2m2e</link>
      <guid>https://dev.to/divineforge/the-umbrel-os-for-home-lab-self-hosted-tech-solutions-2m2e</guid>
      <description>&lt;p&gt;My discovery of Umbrel, as self-hosted solutions for spare hardware; sparks some curiosity to jot down for future reference.&lt;/p&gt;

&lt;p&gt;More about umbrel in the coming links:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://umbrel.com/umbrel-home" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;umbrel.com&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The idea is that instead of rely on cloud services or subscriptions, we may have the options to do host some workload for ourselves and family custom use-cases. Range from home media servers, photo sharing, smart home automation, or any self-hosted applications. &lt;/p&gt;

&lt;p&gt;The bonus part: start small, as the entry point; if we're working in the IT industry, solutions like these, help to paint the foundational knowledge for more complex enterprise solutions. Otherwise, what's the entry barrier to learn about those 'advanced solutions' ? (Smirked)&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/QIdj3qwvNF4"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;I also learnt that Umbrel it comes with its own preconfigured hardware, as well as custom installable media on the Raspberry Pi in the following article: &lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://community.umbrel.com/t/how-to-install-umbrel-on-raspberry-pi-5/14787" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcanada1.discourse-cdn.com%2Fflex030%2Fuploads%2Fgetumbrel%2Foptimized%2F2X%2Fe%2Fe5d4bf31fd8d713e200b1013f9f60b3609b0d288_2_1024x617.jpeg" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://community.umbrel.com/t/how-to-install-umbrel-on-raspberry-pi-5/14787" rel="noopener noreferrer" class="c-link"&gt;
            How to install Umbrel on Raspberry Pi 5 - Guides - Umbrel Community
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            If you have a Raspberry pi 5 and want to test Umbrel but don’t want to wait for the official release to support RP5, you can install it like this:  1.Install Raspberry pi os lite 64 bit (no desktop) - optional (configure ssh and user/pass via Rasberry pi Imager)   SSH to your Raspberry Pi (or just connect it to a monitor and use a keyboard). Install Umbrel via:  curl -L https://umbrel.sh | bash  after it finished installing you will get the IP address.  Please note:    If you want to install ...
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcanada1.discourse-cdn.com%2Fflex030%2Fuploads%2Fgetumbrel%2Foptimized%2F1X%2F129b4e91a59b72936545f6c2fe1463064c6459de_2_32x32.png"&gt;
          community.umbrel.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;I notice there is Umbrel OS AppStore! &lt;br&gt;
(a curated list of applications)&lt;br&gt;
&lt;a href="https://apps.umbrel.com/" rel="noopener noreferrer"&gt;https://apps.umbrel.com/&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Even if I have not started to use Umbrel OS some of the applications listed on the App Store; knowing from the list may help to reinforce and validate my choice of certain applications to be used in the homelab situation. &lt;/p&gt;

&lt;p&gt;For example, the home networking, personal VPN, we may use Tailscale. &lt;a href="https://tailscale.com/" rel="noopener noreferrer"&gt;https://tailscale.com/&lt;/a&gt; which is also listed on the Umbrel App Store. &lt;/p&gt;

&lt;p&gt;With that information, that's quite helpful for me to further discover many other self-hosted solutions that can be useful for home lab DIY-crafting.&lt;/p&gt;

</description>
      <category>homelab</category>
    </item>
  </channel>
</rss>
