Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: https://itsfoss.com/feed/

  1. <?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[It's FOSS]]></title><description><![CDATA[Making You a Better Linux User]]></description><link>https://itsfoss.com/</link><image><url>https://itsfoss.com/favicon.png</url><title>It&apos;s FOSS</title><link>https://itsfoss.com/</link></image><generator>Ghost 5.118</generator><lastBuildDate>Fri, 09 May 2025 18:43:01 GMT</lastBuildDate><atom:link href="https://itsfoss.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff]]></title><description><![CDATA[Rust is slowly becoming the cilantro of software—either you sprinkle it everywhere, or you’re doing it wrong! 🌿💻]]></description><link>https://itsfoss.com/newsletter/foss-weekly-25-19/</link><guid isPermaLink="false">681acec62511680b5ca0cfeb</guid><category><![CDATA[Newsletter ✉️]]></category><dc:creator><![CDATA[Abhishek Prakash]]></dc:creator><pubDate>Thu, 08 May 2025 05:54:15 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/05/foss-weekly-1.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/05/foss-weekly-1.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff"><p>Rust everywhere! It was included in the <a href="https://news.itsfoss.com/linux-kernel-6-1-release/">Linux kernel code a couple of years</a> ago. And even before that happened, a race started to <a href="https://itsfoss.com/rust-cli-tools/">re-write tools into Rust</a>. </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/rust-cli-tools/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">14 Rust Tools for Linux Terminal Dwellers</div><div class="kg-bookmark-description">Rust-powered tools for the terminal? Here are some of the best options as alternatives to some popular command-line tools!</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-440.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Sreenath</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/rust-cli-tools.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><p>And now it seems that Ubuntu is relying heavily on Rust re-implementations. In the upcoming Ubuntu 25.10, you&apos;ll see GNU Coreutils replaced with Rust-based uutils. The classic sudo command will also be replaced by <a href="https://news.itsfoss.com/ubuntu-25-10-sudo-rs/">Rust-based sudo-rs</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/ubuntu-25-10-sudo-rs/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Ubuntu 25.10 is Switching to Rust-based Sudo</div><div class="kg-bookmark-description">The upcoming Ubuntu release will use sudo-rs instead of sudo.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-439.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/sudo-rs-ubuntu-25.10.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><p>Too much of Rust? What do you think?</p><p><strong>&#x1F4AC; Let&apos;s see what else you get in this edition</strong></p><ul><li>Curl saying no to AI slop.</li><li>Redis returning to its open source roots.</li><li>Detailed terminal customization video</li><li>KDE being done with Plasma LTS releases.</li><li>And other Linux news, tips, and, of course, memes!</li><li><strong>This edition of FOSS Weekly is supported by </strong><a href="https://fnf.dev/4cXHEtJ"><strong>AWS Valkey</strong></a><strong>.</strong></li></ul><h2 id="%E2%9D%87%EF%B8%8F-scale-your-real-time-apps-with-amazon-elasticache-serverless-for-valkey">&#x2747;&#xFE0F; Scale Your Real-Time Apps with Amazon ElastiCache Serverless for Valkey</h2><p>What&#x2019;s Valkey? <a href="https://fnf.dev/4cXHEtJ">Valkey</a> is the most permissive open source alternative to Redis stewarded by the Linux Foundation, which means it will always be open source.</p><p>What&#x2019;s Amazon ElastiCache Serverless for Valkey? It&#x2019;s a serverless, fully managed caching service delivering microsecond latency performance at 33% lower cost than other supported engines.</p><p>Even better, you can upgrade from ElastiCache for Redis OSS to ElastiCache for Valkey with zero downtime.</p><p>Don&#x2019;t just take our word for it &#x2013; customers are already seeing improvements in speed, responsiveness, and cost.</p><p><a href="https://fnf.dev/4cXHEtJ">Try Amazon ElastiCache for Valkey</a> and feel the difference.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://fnf.dev/4cXHEtJ"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Valkey-, Memcached-, and Redis OSS-Compatible Cache - Amazon ElastiCache Customers - AWS</div><div class="kg-bookmark-description">Learn how customers are using Amazon ElastiCache for for their caching needs.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/touch-icon-ipad-144-smile-1.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff"><span class="kg-bookmark-author">Amazon Web Services, Inc.</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/aws_logo_smile_1200x630-1.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%93%B0-linux-and-open-source-news">&#x1F4F0; Linux and Open Source News</h2><ul><li>KDE Plasma LTS releases <a href="https://news.itsfoss.com/kde-plasma-lts-discontinued/">are no more</a>.</li><li><a href="https://news.itsfoss.com/un-ditches-google-form/">UN ditched Google Forms</a> for this open source solution.</li><li><a href="https://news.itsfoss.com/adguard-1-release/">AdGuard 1.0</a> has been released for Linux.</li><li><a href="https://news.itsfoss.com/redis-open-source-again/">Redis is open source again</a> with an OSI approved license.</li><li>The OSU&apos;s Open Source Lab is <a href="https://news.itsfoss.com/osu-open-source-lab-closure/">in urgent need of funding</a>.</li><li>Grafana 12 and Grafana Assistant were announced at <a href="https://news.itsfoss.com/grafanacon-2025/">GrafanaCon 2025</a>.</li></ul><p><a href="https://news.itsfoss.com/mission-center-1-0-release/">Mission Center 1.0</a> is a release packed with many nice changes.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/mission-center-1-0-release/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Mission Center Hits A 1.0 Release! Making it the Best GUI System Monitor for Linux</div><div class="kg-bookmark-description">Mission Center 1.0 is here with a refined interface and many cool features.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-433.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/mission-center-1-0.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%A7%A0-what-we%E2%80%99re-thinking-about">&#x1F9E0; What We&#x2019;re Thinking About</h2><p><a href="https://en.wikipedia.org/wiki/AI_slop?ref=news.itsfoss.com">AI slop</a> doesn&apos;t look like it will stop any time soon, but <a href="https://news.itsfoss.com/curl-ai-slop/">curl has put a stop to it</a> in its bug bounty program.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/curl-ai-slop/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Curl is Done With AI Slop</div><div class="kg-bookmark-description">The curl project is cracking down on low-quality AI-generated bug reports.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-434.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/curl-ai-slop.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%A7%AE-linux-tips-tutorials-and-more">&#x1F9EE; Linux Tips, Tutorials and More</h2><ul><li>Ever wondered what is <a href="https://itsfoss.com/luks/">LUKS Encryption</a>?</li><li>Learn how to <a href="https://itsfoss.com/vs-code-word-wrap/">enable or disable word wrap</a> in VS Code.</li><li>Your Logseq setup isn&apos;t complete without <a href="https://itsfoss.com/logseq-plugins/">these 7 plugins</a>.</li><li>Install DOSBox in Ubuntu <a href="https://itsfoss.com/ubuntu-dosbox/">to play retro games</a> on a modern Linux system.</li></ul><p>I have always considered Kazam to be the <a href="https://itsfoss.com/best-linux-screen-recorders/">best screen recorder for Linux</a>. For the past several years, it didn&apos;t see any development. But finally, there is <a href="https://itsfoss.com/kazam-screen-recorder/">Kazam 2.0</a> with newer features now.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/kazam-screen-recorder/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Record Screen in Ubuntu Linux With Kazam [Beginner&#x2019;s Guide]</div><div class="kg-bookmark-description">This tutorial shows you how to install Kazam screen recorder and explains how to record the screen in Ubuntu. The guide also lists useful shortcuts and handy tips for using Kazam.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-441.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/screen-recording-kazam-ubuntu-linux.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure>
  2. <div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal   " data-layout="minimal">
  3.            
  4.            <div class="kg-cta-content">
  5.                
  6.                
  7.                    <div class="kg-cta-content-inner">
  8.                    
  9.                        <div class="kg-cta-text">
  10.                            <p><span style="white-space: pre-wrap;">Why should you opt for It&apos;s FOSS Plus membership:</span></p><p><span style="white-space: pre-wrap;">&#x2705; Ad-free reading experience</span><br><span style="white-space: pre-wrap;">&#x2705; Badges in the comment section and forum</span><br><span style="white-space: pre-wrap;">&#x2705; Supporting creation of educational Linux materials</span></p>
  11.                        </div>
  12.                    
  13.                    
  14.                        <a href="#/portal/account/plans" class="kg-cta-button " style="background-color: #000000; color: #ffffff;">
  15.                            Join It&apos;s FOSS Plus
  16.                        </a>
  17.                        
  18.                    </div>
  19.                
  20.            </div>
  21.        </div>
  22. <h2 id="%F0%9F%91%B7-homelab-and-makers-corner">&#x1F477; Homelab and Maker&apos;s Corner</h2><p>I review SunFounder&apos;s <a href="https://itsfoss.com/sunfounder-touchscreen-review/">10-inch DIY touch screen display</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/sunfounder-touchscreen-review/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">SunFounder Touchscreen review: Add a Premium Touch to Your SBC</div><div class="kg-bookmark-description">Transform your Raspberry Pi into a versatile interactive device with SunFounder&#x2019;s 10-inch touchscreen. Here&#x2019;s my experience with this device.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-436.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/sunfounder-touchscreen-review.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%8E%9F%EF%B8%8F-free-webinar-how-soc-teams-save-time-with-anyrun-action-plan">&#x1F39F;&#xFE0F; <strong>Free Webinar | How SOC Teams Save Time with ANY.RUN: Action Plan</strong></h2><p>Trusted by 15,000+ organizations, ANY.RUN knows how to solve SOC challenges. Join team leads, managers, and security pros to learn expert methods on how to:&#xA0;&#xA0;</p><ul><li>Increase detection of complex attacks&#xA0;&#xA0;</li><li>Speed up alert &amp; incident response&#xA0;&#xA0;</li><li>Improve training &amp; team coordination&#xA0;&#xA0;</li></ul><div class="kg-card kg-button-card kg-align-center"><a href="https://anyrun.webinargeek.com/how-soc-teams-save-time-and-effort-with-any-run-action-plan?cst=newsletter_its_foss" class="kg-btn kg-btn-accent">Tune in to the LIVE webinar on May 14, 3:00 PM GMT </a></div><h2 id="%E2%9C%A8-apps-highlight">&#x2728; Apps Highlight</h2><p>Don&apos;t get lost in words, install this <a href="https://news.itsfoss.com/freedictionaryapp/">open source dictionary app</a> to always have a dependable resource at hand.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/freedictionaryapp/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">freeDictionaryApp: Open Source Android App That Helps You Get Information on a Word</div><div class="kg-bookmark-description">An easy way to get additional information about a word!</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-437.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/freedictionary-ft.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%93%BD%EF%B8%8F-videos-i-am-creating-for-you">&#x1F4FD;&#xFE0F; Videos I am Creating for You</h2><p>A step-by-step video tutorial to <a href="https://www.youtube.com/watch?v=ffmm80_Cii4">transform your functional but boring terminal into an eye candy with additional features</a>.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/ffmm80_Cii4?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="Give Your Linux Terminal A Stunning Makeover"></iframe></figure><div class="kg-card kg-button-card kg-align-center"><a href="https://www.youtube.com/@itsfoss" class="kg-btn kg-btn-accent">Subscribe to It&apos;s FOSS YouTube Channel</a></div><h2 id="%F0%9F%A7%A9-quiz-time">&#x1F9E9; Quiz Time</h2><p>Can you correctly <a href="https://itsfoss.com/quiz/linux-tools-crossword/">Guess the Linux apps</a> in this crossword?</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/quiz/linux-tools-crossword/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Guess the Linux Apps: Crossword</div><div class="kg-bookmark-description">You have seen them around you and perhaps used them all, too. Can you solve this crossword by correctly guessing the Linux software?</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-438.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/linux-tools-crossword.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%92%A1-quick-handy-tip">&#x1F4A1; Quick Handy Tip</h2><p>With <a href="https://itsfoss.com/gnome-tweak-tool/">GNOME Tweaks</a>, you can set app window focus from &quot;<em>Click to Focus</em>&quot; to &quot;<em>Focus on Hover</em>&quot;. For doing that, open GNOME Tweaks and go into the <em>Windows</em> tab. Here, under <em>Window Focus</em>, click on &quot;<em>Focus on Hover</em>&quot;. Now, enable the &quot;<em>Raise Windows When Focused</em>&quot; toggle button.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/05/focus-window-on-hover.png" class="kg-image" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff" loading="lazy" width="923" height="514" srcset="https://itsfoss.com/content/images/size/w600/2025/05/focus-window-on-hover.png 600w, https://itsfoss.com/content/images/2025/05/focus-window-on-hover.png 923w" sizes="(min-width: 720px) 720px"></figure><p>With this, whenever you hover over another window, it will be automatically focused. The window won&apos;t lose focus when the cursor is on the desktop. To revert to stock behavior, click on the &quot;<em>Click to Focus</em>&quot; option.</p><h2 id="%F0%9F%A4%A3-meme-of-the-week">&#x1F923; Meme of the Week</h2><p>The list never ends! &#x1F972;</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/05/bash-history-meme1.png" class="kg-image" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff" loading="lazy" width="1080" height="1080" srcset="https://itsfoss.com/content/images/size/w600/2025/05/bash-history-meme1.png 600w, https://itsfoss.com/content/images/size/w1000/2025/05/bash-history-meme1.png 1000w, https://itsfoss.com/content/images/2025/05/bash-history-meme1.png 1080w" sizes="(min-width: 720px) 720px"></figure><h2 id="%F0%9F%97%93%EF%B8%8F-tech-trivia">&#x1F5D3;&#xFE0F; Tech Trivia</h2><p>After <a href="https://en.wikipedia.org/wiki/Commodore_International">Commodore</a> declared bankruptcy in 1994, German company <a href="https://en.wikipedia.org/wiki/Escom_AG">Escom AG</a> bought its name and tech for $10 million, aiming to revive the iconic Amiga, but eventually sold the rights instead.</p><h2 id="%F0%9F%A7%91%E2%80%8D%F0%9F%A4%9D%E2%80%8D%F0%9F%A7%91-fossverse-corner">&#x1F9D1;&#x200D;&#x1F91D;&#x200D;&#x1F9D1; FOSSverse Corner</h2><p>Regular FOSSer Rosika has created <a href="https://itsfoss.community/t/file-management-script-for-android-and-linux/13597">a file management script</a> for Android and Linux.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.community/t/file-management-script-for-android-and-linux/13597"><div class="kg-bookmark-content"><div class="kg-bookmark-title">File management script for Android and Linux</div><div class="kg-bookmark-description">Hi all, &#x1F44B; I don&#xB4;t know whether the following would be of any interest to any of you but I thought I&#xB4;d post it here anyway. &#x1F60A; Often enough there&#xB4;s a situation in which I find myself obliged to scan physical documents (i.e. documents on paper) in order to produce a digital equivalent of them. In most cases I need to have them in digital format for being able to quickly and easily access them e.g. when dealing my income tax return. Anyhow, due the setup of my computer peripherals it&#xB4;s&#x2026;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c_2_180x180-45.png" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS Community</span><span class="kg-bookmark-publisher">Rosika</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/f12346022f44d17d607274dc8fdf0eed16468453_2_768x1024.jpeg" alt="FOSS Weekly #25.19: sudo-rs, Terminal Makeover, Kazam 2.0, Mission Center and More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%E2%9D%A4%EF%B8%8F-with-love">&#x2764;&#xFE0F; With love</h2><p><strong>Share it with your Linux-using friends</strong>&#xA0;and encourage them to subscribe (hint:&#xA0;<a href="https://itsfoss.com/newsletter/">it&apos;s here</a>).</p><p>Share the articles in Linux Subreddits and community forums.</p><p><a href="https://news.google.com/publications/CAAiENHoh-T8yP9Q8Qywor2dwGkqFAgKIhDR6Ifk_Mj_UPEMsKK9ncBp?ref=itsfoss.com">Follow us on Google News</a>&#xA0;and stay updated in your News feed.</p><p>Opt for&#xA0;<a href="https://itsfoss.com/membership">It&apos;s FOSS Plus membership</a>&#xA0;and support us &#x1F64F;</p><p>Enjoy FOSS &#x1F604;</p>]]></content:encoded></item><item><title><![CDATA[Enable or Disable Word Wrap in VS Code]]></title><description><![CDATA[Whether you’re reading long lines of code, markdown notes, or JSON files, knowing how to toggle word wrap on or off can save your eyes from endless horizontal scrolling.]]></description><link>https://itsfoss.com/vs-code-word-wrap/</link><guid isPermaLink="false">67f4d1650ebde606a012a13d</guid><category><![CDATA[VS Code]]></category><dc:creator><![CDATA[Abhishek Kumar]]></dc:creator><pubDate>Wed, 07 May 2025 11:06:19 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/04/enable-disable-word-wrap-vscode.webp" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/04/enable-disable-word-wrap-vscode.webp" alt="Enable or Disable Word Wrap in VS Code"><p>W<strong>ord wrap</strong> automatically breaks a long line of text so it fits within your current editor window, without you needing to scroll horizontally. It doesn&#x2019;t add line breaks to your file; it just wraps it visually.</p><p>Picture this: You&#x2019;re writing a long JavaScript function or a long SQL query. Without word wrap, you&#x2019;d be endlessly dragging that horizontal scrollbar. With it, everything folds neatly within view.</p><p>This is especially useful when:</p><ul><li>You&apos;re working on a small screen.</li><li>You want cleaner screenshots of your code.</li><li>You prefer not to lose track of long lines.</li></ul><p>Now, let&apos;s see how to turn it on or off when needed.</p><h2 id="method-1-the-quickest-togglealt-z">Method 1: The quickest toggle - Alt + Z</h2><p>Yep, there&#x2019;s a shortcut for it!</p><ol><li>Open any file in VS Code.</li><li>Press <code>Alt + Z</code> on your keyboard.</li></ol><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/alt-z-for-quick-word-wrap.gif" class="kg-image" alt="Enable or Disable Word Wrap in VS Code" loading="lazy" width="800" height="418" srcset="https://itsfoss.com/content/images/size/w600/2025/04/alt-z-for-quick-word-wrap.gif 600w, https://itsfoss.com/content/images/2025/04/alt-z-for-quick-word-wrap.gif 800w" sizes="(min-width: 720px) 720px"></figure><p>And that&#x2019;s it! Word wrap is toggled. Hit it again to switch it off.</p><h2 id="method-2-use-the-command-palette">Method 2: Use the command palette</h2><p>Prefer something a bit more visual? The Command Palette is your go-to.</p><ol><li>Press <code>Ctrl + Shift + P</code> (or <code>Cmd + Shift + P</code> on macOS).</li><li>Type <code>Toggle Word Wrap</code>.</li><li>Click the option when it appears.</li></ol><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/toggle-wordwrap.png" class="kg-image" alt="Enable or Disable Word Wrap in VS Code" loading="lazy" width="900" height="323" srcset="https://itsfoss.com/content/images/size/w600/2025/04/toggle-wordwrap.png 600w, https://itsfoss.com/content/images/2025/04/toggle-wordwrap.png 900w" sizes="(min-width: 720px) 720px"></figure><p>This is ideal if you&#x2019;re not sure of the shortcut or just want to double-check before toggling.</p><h2 id="method-3-set-a-default-from-settings">Method 3: Set a default from settings</h2><p>Want word wrap always on (or always off) when you open VS Code? You can change the default behavior.</p><p>1. Go to <code>File &gt; Preferences &gt; Settings</code> </p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/settings-for-wordwrap.png" class="kg-image" alt="Enable or Disable Word Wrap in VS Code" loading="lazy" width="811" height="911" srcset="https://itsfoss.com/content/images/size/w600/2025/04/settings-for-wordwrap.png 600w, https://itsfoss.com/content/images/2025/04/settings-for-wordwrap.png 811w" sizes="(min-width: 720px) 720px"></figure><p>2. Search for &#x201C;word wrap.&#x201D;</p><p>3. Under Editor: Word Wrap, choose from the following options:</p><ol><ul><li><code>off</code>: Never wrap.</li><li><code>on</code>: Always wrap.</li><li><code>wordWrapColumn</code>: Wrap at a specific column number.</li><li><code>bounded</code>: Wrap at viewport or column, whichever is smaller.</li></ul></ol><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/wordwrap-settings-default.png" class="kg-image" alt="Enable or Disable Word Wrap in VS Code" loading="lazy" width="992" height="613" srcset="https://itsfoss.com/content/images/size/w600/2025/04/wordwrap-settings-default.png 600w, https://itsfoss.com/content/images/2025/04/wordwrap-settings-default.png 992w" sizes="(min-width: 720px) 720px"></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text"><b><strong style="white-space: pre-wrap;">What&#x2019;s &#x201C;wordWrapColumn&#x201D; anyway?</strong></b><br>It lets you define a column (like 20) at which VS Code should wrap lines. Great for keeping things tidy in teams with coding standards.</div></div><p>You can also tweak <code>&quot;editor.wordWrap&quot;</code> in <code>settings.json</code> if you prefer working directly with config files.</p><h2 id="wrapping-up">Wrapping up!</h2><p>Word wrap might seem like a tiny detail, but it&#x2019;s one of those &#x201C;small things&#x201D; that can make coding a lot more pleasant. Take the indentation settings for example, another crucial piece for code readability and collaboration. Yes, the tabs vs spaces debate lives on &#x1F604;</p><p>We&#x2019;ll continue exploring more quick yet powerful tips to help you make the most of VS Code.</p><p>Until then, go ahead and wrap those words your way.</p>]]></content:encoded></item><item><title><![CDATA[Tap into Potential: Add Premium Touch to Your Raspberry Pi Projects With SunFounder's 10-inch Display]]></title><description><![CDATA[Transform your Raspberry Pi into a versatile interactive device with SunFounder's 10-inch touchscreen. Here's my experience with this device.]]></description><link>https://itsfoss.com/sunfounder-touchscreen-review/</link><guid isPermaLink="false">67ea8f3e4d0270f91a25d61a</guid><category><![CDATA[Gadgets 🎛️]]></category><category><![CDATA[Review]]></category><dc:creator><![CDATA[Abhishek Prakash]]></dc:creator><pubDate>Wed, 07 May 2025 07:58:51 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/05/sunfounder-touchscreen-review.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/05/sunfounder-touchscreen-review.png" alt="Tap into Potential: Add Premium Touch to Your Raspberry Pi Projects With SunFounder&apos;s 10-inch Display"><p>I have got my hands on this 10 inches touchscreen from SunFounder that is made for Raspberry Pi like devices.</p><p>If you are considering adding touch capability to your Raspberry Pi project, this could be a good contender for that.</p><p>I have used a <a href="https://itsfoss.com/raspberry-pi-dog-review/">few SunFounder products</a> in the past but <a href="https://itsfoss.com/pironman-5-review/" rel="noreferrer">the Pironman case</a> made me their fan. And I truly mean that. This is why before I opened the package, I had a feeling that this will be a solid device. </p><p>Let me share my experience with <a href="https://www.sunfounder.com/collections/1-raspberry-pi-5-collection/products/10inch-touchscreen-for-raspberrypi?ref=itsfoss" rel="noreferrer">SunFounder&apos;s 10 inch DIY Touch Screen</a> with you.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.sunfounder.com/collections/1-raspberry-pi-5-collection/products/10inch-touchscreen-for-raspberrypi?ref=itsfoss"><div class="kg-bookmark-content"><div class="kg-bookmark-title">SunFounder Latest 10 Inch DIY Touch Screen All-In-One Solution for Raspberry Pi 5, IPS HD 1280x800 LCD, Built-In USB-C&#xA0;PD 5.1V/5A Output, HDMI, 10-point, No Driver, Speakers, for RPi 5/4/3/Zero 2W</div><div class="kg-bookmark-description">This SunFounder Touch Screen is a 10-point IPS touch screen in a 10.1&#x2033; big size and with a high resolution of 1280x800, bringing you perfect visual experience. It works with various operating systems including Raspberry Pi OS, Ubuntu, Ubuntu Mate, Windows, Android, and Chrome OS.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/logo2_88e63a14-d758-4866-8135-8596b1337d33_96x96-5.png" alt="Tap into Potential: Add Premium Touch to Your Raspberry Pi Projects With SunFounder&apos;s 10-inch Display"><span class="kg-bookmark-author">SunFounder</span><span class="kg-bookmark-publisher">SunFounder</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/TS10_-1_f43fab6c-c6c9-451b-8041-2c6a680d1e47-2.jpg" alt="Tap into Potential: Add Premium Touch to Your Raspberry Pi Projects With SunFounder&apos;s 10-inch Display" onerror="this.style.display = &apos;none&apos;"></div></a></figure><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4DC;</div><div class="kg-callout-text"><b><strong style="white-space: pre-wrap;">TL;DR</strong></b><br><br>It is a well-thought device that gives a smooth touch experience. A single power cord runs both the screen and Pi. The on-board speakers give you more than just display although they are very basic.<br><br>All the interface remain available. The best thing is that it can be used with several other SBCs too. <br><br>From 3D printing to cyberdeck to home automation, how you use it is up to you. <br><br>The $149.99 price tag is decent for the quality of the touchscreen and the out of box experience it provides for the Raspberry Pi OS.</div></div><h2 id="technical-specifications">Technical specifications</h2><p>Before we get into the nitty-gritty of performance, let&apos;s look at what you&apos;re actually getting with this display:</p><table>
  23. <thead>
  24. <tr>
  25. <th>Specification</th>
  26. <th>Details</th>
  27. </tr>
  28. </thead>
  29. <tbody>
  30. <tr>
  31. <td>Screen Size</td>
  32. <td>10 inches (diagonal)</td>
  33. </tr>
  34. <tr>
  35. <td>Resolution</td>
  36. <td>1280 x 800 pixels</td>
  37. </tr>
  38. <tr>
  39. <td>Panel Type</td>
  40. <td>IPS (In-Plane Switching)</td>
  41. </tr>
  42. <tr>
  43. <td>Touch Technology</td>
  44. <td>Capacitive multi-touch (up to 10 points)</td>
  45. </tr>
  46. <tr>
  47. <td>Connection</td>
  48. <td>HDMI for display, USB for touch function</td>
  49. </tr>
  50. <tr>
  51. <td>Compatible with</td>
  52. <td>Raspberry Pi 4B, 3B+, 3B, 2B, Zero W</td>
  53. </tr>
  54. <tr>
  55. <td>Power Supply</td>
  56. <td>DC 12V/5A power supply with built-In USB-C PD</td>
  57. </tr>
  58. <tr>
  59. <td>Audio</td>
  60. <td>2 speakers</td>
  61. </tr>
  62. <tr>
  63. <td>Dimensions</td>
  64. <td>236mm x 167mm x 20mm</td>
  65. </tr>
  66. <tr>
  67. <td>Viewing Angle</td>
  68. <td>178&#xB0; (horizontal and vertical)</td>
  69. </tr>
  70. <tr>
  71. <td>Weight</td>
  72. <td>Approximately 350g</td>
  73. </tr>
  74. </tbody>
  75. </table>
  76. <h2 id="assembling">Assembling</h2><p>SunFounder has a thing for assembling. Like most of their other products, the touchscreen also needs some assembling. After all, it is properly called &apos;a 10 -inch DIY touchscreen&apos; so there is obviously a DIY angle here.</p><p>The assembling should not take you more than 10&#x2013;15 minutes to put all the pieces together.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/05/sunfounder-touchscreen-assembly.webp" class="kg-image" alt="Tap into Potential: Add Premium Touch to Your Raspberry Pi Projects With SunFounder&apos;s 10-inch Display" loading="lazy" width="1000" height="563" srcset="https://itsfoss.com/content/images/size/w600/2025/05/sunfounder-touchscreen-assembly.webp 600w, https://itsfoss.com/content/images/2025/05/sunfounder-touchscreen-assembly.webp 1000w" sizes="(min-width: 720px) 720px"></figure><p>The assembly basically requires attaching the single board computer with the screws, taping the speakers and connecting it to the touchscreen cable.</p><p>It&apos;s actually fun to do the assembly. Not everyone will be a fan of this but I am guessing if you are into maker&apos;s electronics, you won&apos;t be unhappy with the assembly requirement.</p><h2 id="experiencing-sunfounder-diy-touchscreen">Experiencing SunFounder DIY Touchscreen </h2><p>The device is powered by a 12V/5A DC power that also powers the Raspberry Pi with 5.1V/5A. There are LED lights at the back that indicate if the Pi is turned on or not.</p><p>There is no on-board battery, in case you were wondering about that. It needs to be connected to the power supply all the time to function. Although, if you need, you can always attach a battery-powered system to it.</p><p>The display is IPS and the surface feels quite premium. Some people may find it a bit glossy and slippery but the IPS screens have the same look and feel in my experience.</p><p>Colors are vibrant, text is crisp, and the IPS panel means viewing angles are excellent.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/05/sunfounder-touchscreen.webp" class="kg-image" alt="Tap into Potential: Add Premium Touch to Your Raspberry Pi Projects With SunFounder&apos;s 10-inch Display" loading="lazy" width="1000" height="750" srcset="https://itsfoss.com/content/images/size/w600/2025/05/sunfounder-touchscreen.webp 600w, https://itsfoss.com/content/images/2025/05/sunfounder-touchscreen.webp 1000w" sizes="(min-width: 720px) 720px"></figure><p>The 10 point capacitive touch works out of the box. The touch response is quite good. I noticed that the double-click mouse action actually needs 3 quick taps. It took me some time to understand that it is the intended behavior.</p><p>My 4-years old daughter used it for playing a few games on <a href="https://www.gcompris.net/index-en.html">GCompris</a> and that worked very well. Actually, she sees the Raspberry Pi wallpaper and thinks it&apos;s her computer. I had to take the device off her hands as I didn&apos;t want her to use it as a tablet. I would prefer that <a href="https://itsfoss.com/raspberry-pi-kids-set-up/" rel="noreferrer">she keeps on using a keyboard and mouse with her Pi</a>.</p><h3 id="on-screen-keyboard">On-screen keyboard</h3><p>SunFounder claims that no drivers are required and the touchscreen is ready to be plugged in and play if you use Raspbian OS. </p><p>While I didn&apos;t have to install any drivers, and the touchscreen worked fine, I had to install <code>squeekboard</code> package to <a href="https://itsfoss.com/raspberry-pi-os-onscreen-keyboard/">activate the on-screen keyboard on my Raspberry Pi 5 with Raspbian OS</a>.</p><p>The official <a href="https://docs.sunfounder.com/projects/ts-10/en/latest/resolution_orientation.html#using-an-on-screen-keyboard">SunFounder document mentions</a> that this package should be preinstalled in Raspbian OS but that was not the case for me. Not a major issue as the on-screen keyboard worked fine too after installing the missing package.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/raspberry-pi-os-onscreen-keyboard/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Using On-screen Keyboard in Raspberry Pi OS</div><div class="kg-bookmark-description">Here&#x2019;s what you can do to use a virtual keyboard on Raspberry Pi OS.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-432.png" alt="Tap into Potential: Add Premium Touch to Your Raspberry Pi Projects With SunFounder&apos;s 10-inch Display"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/using-onscreen-keyboard-raspberrypi-1.png" alt="Tap into Potential: Add Premium Touch to Your Raspberry Pi Projects With SunFounder&apos;s 10-inch Display" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h3 id="speakers">Speakers</h3><p>Before I forget, I should mention that the touchscreen also has two tiny speakers at the bottom. They are good enough for occasional cases where you need audio output. You won&apos;t need to plugin a headphone or external speakers in such cases.</p><p>But if you want anything more than that, you&apos;ll need to attach proper speakers. It really depends on what you need it for.</p><h3 id="dude-where-is-my-stand">Dude, where is my stand?</h3><p>It would have been nice to have some sort of stand with the screen. That would make it easier to use the touchscreen as a monitor on the table.</p><p>At first glance, it seems like it is more suitable as a wall mount to display your homelab dashboard or some other information.</p><p>But it&apos;s not completely impossible to use it without a dedicated stand on the desk. I used the extra M 2.5 screws to increase the length of the bottom two screws. That gave it a stand like appearance.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/03/sunfounder-raspberry-pi-touchscreen-stand-tweak.webp" class="kg-image" alt="Tap into Potential: Add Premium Touch to Your Raspberry Pi Projects With SunFounder&apos;s 10-inch Display" loading="lazy" width="1000" height="563" srcset="https://itsfoss.com/content/images/size/w600/2025/03/sunfounder-raspberry-pi-touchscreen-stand-tweak.webp 600w, https://itsfoss.com/content/images/2025/03/sunfounder-raspberry-pi-touchscreen-stand-tweak.webp 1000w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Little tweak to make a stand with extra screws</span></figcaption></figure><p>I thought I was smart to utilize those extra screws as a stand. Later I found out that it was intended for that purpose, as the <a href="https://docs.sunfounder.com/projects/ts-10/en/latest/diy_stand_standoff.html">official document also mentioned this</a> trick.</p><p>I remember the older model of this touch screen used to have a dedicated stand.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/03/older-touch-screen-sunfounder.webp" class="kg-image" alt="Tap into Potential: Add Premium Touch to Your Raspberry Pi Projects With SunFounder&apos;s 10-inch Display" loading="lazy" width="702" height="485" srcset="https://itsfoss.com/content/images/size/w600/2025/03/older-touch-screen-sunfounder.webp 600w, https://itsfoss.com/content/images/2025/03/older-touch-screen-sunfounder.webp 702w"><figcaption><span style="white-space: pre-wrap;">Older model of SunFounder&apos;s Touchscreen had a dedicated stand</span></figcaption></figure><p>I still think that dedicated stand attachments would have been a better idea.</p><p>By the way, if you want and have the resources, you can 3D print a custom case for the touchscreen. SunFounder <a href="https://docs.sunfounder.com/projects/ts-10/en/latest/3d_print_support.html">provides the 3D Printer File and all necessary steps on its documentation website</a>.</p><h2 id="what-can-you-use-it-for">What can you use it for?</h2><p>The imagination is your limit. There are no dearths of touch-focused Raspberry Pi projects.</p><p>Here are a few usages I can think of:</p><ul><li>Cyberdeck setup</li><li>Smart home dashboard</li><li>Retro gaming setup</li><li>Use in 3d printers</li><li>Robotics control interface</li><li>In-car entertainment system (I mean, why not, if you have an ancient car and want to do some tinkering)</li><li>Mini kiosk for small businesses</li><li><a href="https://itsfoss.com/homelab-dashboard/" rel="noreferrer">Homelab dashboard</a> display</li><li>Weather station and agenda display</li><li>Digital photo frame</li></ul><h2 id="should-you-get-it">Should you get it?</h2><p>The answer always depends on what you need and what you want.</p><p>If you are on the lookout for a new touchscreen for your homelab or DIY projects, this is definitely worth a look. </p><p>Sure, the price tag is more than the official Raspberry Pi touchscreen but SunFounder&apos;s touchscreen has better quality (IPS), is bigger with better resolution, has speakers and supports more SBCs.</p><p>Basically, it is a premium device, whereas most touchscreen available on lower prices have a very toy-ish feel.</p><p>If affordability is not a concern and you need excellent touch experience for your projects, I can surely recommend this product.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://www.sunfounder.com/collections/1-raspberry-pi-5-collection/products/10inch-touchscreen-for-raspberrypi?ref=itsfoss" class="kg-btn kg-btn-accent">Explore SunFounder DIY Touchscreen</a></div>]]></content:encoded></item><item><title><![CDATA[7 Essential Logseq Plugins I Use and Recommend]]></title><description><![CDATA[Sharing my favorite Logseq plugins that I love to use for managing my personal knowledge base.]]></description><link>https://itsfoss.com/logseq-plugins/</link><guid isPermaLink="false">67a0b6050450cf0bf34b2f08</guid><category><![CDATA[Logseq]]></category><dc:creator><![CDATA[Sreenath]]></dc:creator><pubDate>Sat, 03 May 2025 08:56:47 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/04/essential-plugins-in-logseq.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/04/essential-plugins-in-logseq.png" alt="7 Essential Logseq Plugins I Use and Recommend"><p>In an earlier article, <a href="https://itsfoss.com/logseq-plugins-themes/" rel="noreferrer">I discussed installing plugins and themes in Logseq</a>.</p><p>And you already know that there are plenty of third-party plugins available in Logseq plugins Marketplace.</p><p>Let me share some of the Plugins I use to organize my contents.</p><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x1F6A7;</div><div class="kg-callout-text">Before installing Plugins, it is always good to frequently take backups of your notes. In case of any unexpected data loss, you can roll back easily.</div></div><p>I presume you know it already, but in case you need help, here&apos;s a detailed <a href="https://itsfoss.com/logseq-plugins-themes/">tutorial on installing plugins in Logseq</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/logseq-plugins-themes/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Customize Logseq With Themes and Plugins</div><div class="kg-bookmark-description">Extend the capability and enhance the looks for Logseq with themes and plugins.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-427.png" alt="7 Essential Logseq Plugins I Use and Recommend"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Sreenath</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/installing-plugins-and-themes-in-logseq-1.png" alt="7 Essential Logseq Plugins I Use and Recommend" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="markdown-table-editor">Markdown Table Editor</h2><p><a href="https://itsfoss.com/markdown-table/" rel="noreferrer">Creating tables in Markdown syntax</a> is a tedious process. <a href="https://itsfoss.com/obsidian-tips/" rel="noreferrer">Tools like Obsidian</a> have a table creator helper that allows you to create and edit tables easily.</p><p>When it comes to Logseq, we have a very cool plugin, <strong>Markdown Table Editor</strong> that does the job neatly and greatly.</p><p>You can install this extension from the Logseq plugin Marketplace.</p><p>To create a table, press the <code>/</code> key. This will bring you a small popup search. Enter <strong>table</strong> here and select <strong>Markdown Table Editor</strong>.</p><p>This will create a popup window with a straight-forward interface to edit table entries. The interface is self-explanatory where you can add/delete columns, rows, etc.</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://itsfoss.com/content/media/2025/02/creating-tables-in-logseq_thumb.jpg" data-kg-custom-thumbnail>
  77.            <div class="kg-video-container">
  78.                <video src="https://itsfoss.com/content/media/2025/02/creating-tables-in-logseq.mp4" poster="https://img.spacergif.org/v1/1018x440/0a/spacer.png" width="1018" height="440" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://itsfoss.com/content/media/2025/02/creating-tables-in-logseq_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
  79.                <div class="kg-video-overlay">
  80.                    <button class="kg-video-large-play-icon" aria-label="Play video">
  81.                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  82.                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  83.                        </svg>
  84.                    </button>
  85.                </div>
  86.                <div class="kg-video-player-container kg-video-hide">
  87.                    <div class="kg-video-player">
  88.                        <button class="kg-video-play-icon" aria-label="Play video">
  89.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  90.                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  91.                            </svg>
  92.                        </button>
  93.                        <button class="kg-video-pause-icon kg-video-hide" aria-label="Pause video">
  94.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  95.                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  96.                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  97.                            </svg>
  98.                        </button>
  99.                        <span class="kg-video-current-time">0:00</span>
  100.                        <div class="kg-video-time">
  101.                            /<span class="kg-video-duration">1:00</span>
  102.                        </div>
  103.                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
  104.                        <button class="kg-video-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button>
  105.                        <button class="kg-video-unmute-icon" aria-label="Unmute">
  106.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  107.                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
  108.                            </svg>
  109.                        </button>
  110.                        <button class="kg-video-mute-icon kg-video-hide" aria-label="Mute">
  111.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  112.                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
  113.                            </svg>
  114.                        </button>
  115.                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
  116.                    </div>
  117.                </div>
  118.            </div>
  119.            <figcaption><p><span style="white-space: pre-wrap;">Creating Markdown table in Logseq using the Markdown Table Editor plugin.</span></p></figcaption>
  120.        </figure><div class="kg-card kg-button-card kg-align-center"><a href="https://github.com/haydenull/logseq-plugin-markdown-table" class="kg-btn kg-btn-accent">Markdown Table Editor GitHub</a></div><h2 id="bullet-threading">Bullet Threading</h2><p>Logseq follows a bullet blocks approach, with each data block is a properly indented bullet point. </p><p>Now, <strong>the point to note here</strong> is &quot;Properly indented&quot;.</p><p>You should be careful about the organization of parent, child, and grandchild nodes (bullets) in Logseq. Otherwise, when you reference a particular block of a note in the future, not all related data will be retrieved. Some points may appear as part of another nested block, which destroys the whole purpose of linking.</p><p>Bullet-Threading extension will help you keep track of the position you are currently editing in the greater nested data tree. This is done by visually indicating the bullet path. Such an approach makes the current indent location visually clear for you.</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://itsfoss.com/content/media/2025/02/bullet-threading-extesnion-in-logseq_thumb.jpg" data-kg-custom-thumbnail>
  121.            <div class="kg-video-container">
  122.                <video src="https://itsfoss.com/content/media/2025/02/bullet-threading-extesnion-in-logseq.mp4" poster="https://img.spacergif.org/v1/956x532/0a/spacer.png" width="956" height="532" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://itsfoss.com/content/media/2025/02/bullet-threading-extesnion-in-logseq_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
  123.                <div class="kg-video-overlay">
  124.                    <button class="kg-video-large-play-icon" aria-label="Play video">
  125.                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  126.                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  127.                        </svg>
  128.                    </button>
  129.                </div>
  130.                <div class="kg-video-player-container kg-video-hide">
  131.                    <div class="kg-video-player">
  132.                        <button class="kg-video-play-icon" aria-label="Play video">
  133.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  134.                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  135.                            </svg>
  136.                        </button>
  137.                        <button class="kg-video-pause-icon kg-video-hide" aria-label="Pause video">
  138.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  139.                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  140.                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  141.                            </svg>
  142.                        </button>
  143.                        <span class="kg-video-current-time">0:00</span>
  144.                        <div class="kg-video-time">
  145.                            /<span class="kg-video-duration">0:15</span>
  146.                        </div>
  147.                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
  148.                        <button class="kg-video-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button>
  149.                        <button class="kg-video-unmute-icon" aria-label="Unmute">
  150.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  151.                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
  152.                            </svg>
  153.                        </button>
  154.                        <button class="kg-video-mute-icon kg-video-hide" aria-label="Mute">
  155.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  156.                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
  157.                            </svg>
  158.                        </button>
  159.                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
  160.                    </div>
  161.                </div>
  162.            </div>
  163.            <figcaption><p><span style="white-space: pre-wrap;">Example of Bullet Threading Extension</span></p></figcaption>
  164.        </figure><p>Never again loss track of data organization because of the lack of awareness about the indentation tree.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://github.com/pengx17/logseq-plugin-bullet-threading" class="kg-btn kg-btn-accent">Bullet-Threading GitHub</a></div><h2 id="tags">Tags</h2><p><a href="https://github.com/gidongkwon/logseq-plugin-tags">Tags</a> is the best plugin to organize the data in logseq where there is only a very narrow difference between pages and tags. It is the context of usage that differentiate pages and tags from each other.</p><p>So, assigning single-word or small phrase tags to your notes will help you access and connect between the knowledge in the future.</p><p>The Tags extension will query the notes and list all the tags in your data collection; be it a <code>#note</code>, <code>#[[note sample]]</code>, or <code>tags:: Newtag</code> tag.</p><p>You can arrange them alphabetically or according to the number of notes tagged with that specific tag.</p><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x1F6A7;</div><div class="kg-callout-text">As of February 1, 2025, the GitHub repository of this project was archived by the creator. Keep an eye on further development for hassle-free usage.</div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/02/tags-extension-in-logseq.png" class="kg-image" alt="7 Essential Logseq Plugins I Use and Recommend" loading="lazy" width="697" height="423" srcset="https://itsfoss.com/content/images/size/w600/2025/02/tags-extension-in-logseq.png 600w, https://itsfoss.com/content/images/2025/02/tags-extension-in-logseq.png 697w"><figcaption><span style="white-space: pre-wrap;">Tags Plugin listing available tags</span></figcaption></figure><p>You can install the plugin from the Logseq plugins Marketplace.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://github.com/gidongkwon/logseq-plugin-tags" class="kg-btn kg-btn-accent">Tags</a></div><h2 id="tabs">Tabs</h2><p>Working with multiple documents at a time is a necessity. Opening and closing documents one by one is surely not the best experience these days.</p><p>Logseq has the <strong>Tabs</strong> plugin that implements a tab bar on top of the window so that you can have easy access to multiple opened documents.</p><p>This plugin offers several must-needed features like pin tabs, reorder tabs, persisting tabs, etc.</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://itsfoss.com/content/media/2025/02/tabs-in-logseq_thumb.jpg" data-kg-custom-thumbnail>
  165.            <div class="kg-video-container">
  166.                <video src="https://itsfoss.com/content/media/2025/02/tabs-in-logseq.mp4" poster="https://img.spacergif.org/v1/966x390/0a/spacer.png" width="966" height="390" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://itsfoss.com/content/media/2025/02/tabs-in-logseq_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
  167.                <div class="kg-video-overlay">
  168.                    <button class="kg-video-large-play-icon" aria-label="Play video">
  169.                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  170.                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  171.                        </svg>
  172.                    </button>
  173.                </div>
  174.                <div class="kg-video-player-container kg-video-hide">
  175.                    <div class="kg-video-player">
  176.                        <button class="kg-video-play-icon" aria-label="Play video">
  177.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  178.                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  179.                            </svg>
  180.                        </button>
  181.                        <button class="kg-video-pause-icon kg-video-hide" aria-label="Pause video">
  182.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  183.                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  184.                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  185.                            </svg>
  186.                        </button>
  187.                        <span class="kg-video-current-time">0:00</span>
  188.                        <div class="kg-video-time">
  189.                            /<span class="kg-video-duration">0:26</span>
  190.                        </div>
  191.                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
  192.                        <button class="kg-video-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button>
  193.                        <button class="kg-video-unmute-icon" aria-label="Unmute">
  194.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  195.                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
  196.                            </svg>
  197.                        </button>
  198.                        <button class="kg-video-mute-icon kg-video-hide" aria-label="Mute">
  199.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  200.                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
  201.                            </svg>
  202.                        </button>
  203.                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
  204.                    </div>
  205.                </div>
  206.            </div>
  207.            <figcaption><p><span style="white-space: pre-wrap;">Working with Tabs in Logseq.</span></p></figcaption>
  208.        </figure><p>Usually, newly opened document replace the current tabs. But you can use Ctrl+click to open links in background tab, which is a very handy feature.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://github.com/pengx17/logseq-plugin-tabs" class="kg-btn kg-btn-accent">Tabs GitHub</a></div><h2 id="journals-calendar">Journals Calendar</h2><p><a href="https://itsfoss.com/logseq-journals-contents/" rel="noreferrer">Journal is a very important page in Logseq</a>. </p><p>You can neatly organize document tree and scribble things and tag them properly. Each day in the Journal is an independent Markdown file in the Journals directory in your File manager.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/02/journal-markdown-files-in-Logseq-directory.png" class="kg-image" alt="7 Essential Logseq Plugins I Use and Recommend" loading="lazy" width="936" height="567" srcset="https://itsfoss.com/content/images/size/w600/2025/02/journal-markdown-files-in-Logseq-directory.png 600w, https://itsfoss.com/content/images/2025/02/journal-markdown-files-in-Logseq-directory.png 936w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Journal Markdown Files</span></figcaption></figure><p>But it may feel a bit crowded over time, and getting a note from a particular date often includes searching and scrolling the result.</p><p>The Journals Calendar plugin is a great help in this scenario. This plugin adds a small calendar button to the top bar of Logseq. You can click on it and select a date from the calendar. If there is no Journal at that date, it will create one for you.</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://itsfoss.com/content/media/2025/02/journal-calendar-logseq_thumb.jpg" data-kg-custom-thumbnail>
  209.            <div class="kg-video-container">
  210.                <video src="https://itsfoss.com/content/media/2025/02/journal-calendar-logseq.mp4" poster="https://img.spacergif.org/v1/974x484/0a/spacer.png" width="974" height="484" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://itsfoss.com/content/media/2025/02/journal-calendar-logseq_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
  211.                <div class="kg-video-overlay">
  212.                    <button class="kg-video-large-play-icon" aria-label="Play video">
  213.                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  214.                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  215.                        </svg>
  216.                    </button>
  217.                </div>
  218.                <div class="kg-video-player-container kg-video-hide">
  219.                    <div class="kg-video-player">
  220.                        <button class="kg-video-play-icon" aria-label="Play video">
  221.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  222.                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  223.                            </svg>
  224.                        </button>
  225.                        <button class="kg-video-pause-icon kg-video-hide" aria-label="Pause video">
  226.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  227.                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  228.                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  229.                            </svg>
  230.                        </button>
  231.                        <span class="kg-video-current-time">0:00</span>
  232.                        <div class="kg-video-time">
  233.                            /<span class="kg-video-duration">0:46</span>
  234.                        </div>
  235.                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
  236.                        <button class="kg-video-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button>
  237.                        <button class="kg-video-unmute-icon" aria-label="Unmute">
  238.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  239.                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
  240.                            </svg>
  241.                        </button>
  242.                        <button class="kg-video-mute-icon kg-video-hide" aria-label="Mute">
  243.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  244.                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
  245.                            </svg>
  246.                        </button>
  247.                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
  248.                    </div>
  249.                </div>
  250.            </div>
  251.            <figcaption><p><span style="white-space: pre-wrap;">Journal Calendar Plugin in Logseq</span></p></figcaption>
  252.        </figure><p>Pages with Journals will be marked with a dot allowing you to distinguish them easily.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://github.com/xyhp915/logseq-journals-calendar" class="kg-btn kg-btn-accent">Journals Calendar GitHub</a></div><h2 id="todo-master-plugin">Todo Master Plugin</h2><p>Todo Master plugin is a simple plugin that puts a neat progress bar next to a task. You can use this as a visual progress tracking.</p><p>You can press the slash command (/) and select <code>TODO Master</code> from there to add the progress bar to the task of your choice. Watch the video to understand it better.</p><figure class="kg-card kg-embed-card"><iframe src="https://player.vimeo.com/video/1078554523?app_id=122963" width="426" height="148" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media" title="TODO Master Plugin in Logseq"></iframe></figure><div class="kg-card kg-button-card kg-align-center"><a href="https://github.com/pengx17/logseq-plugin-todo-master" class="kg-btn kg-btn-accent">TODO Master Plugin</a></div><h2 id="logseq-toc-plugin">Logseq TOC Plugin</h2><p>Since Logseq follows a different approach for data management compared to popular tools like Obsidian, there is no built-in table of contents for a page.</p><p>There is a &quot;Contents&quot; page in Logseq, which has an entire different purpose. In this case, this real table of contents renderer plugin is a great relief.</p><p>It renders the TOC using the <a href="https://itsfoss.com/markdown-guide/">Markdown headers</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/logseq-toc-plugin.png" class="kg-image" alt="7 Essential Logseq Plugins I Use and Recommend" loading="lazy" width="614" height="256" srcset="https://itsfoss.com/content/images/size/w600/2025/04/logseq-toc-plugin.png 600w, https://itsfoss.com/content/images/2025/04/logseq-toc-plugin.png 614w"><figcaption><span style="white-space: pre-wrap;">Logseq TOC rendering</span></figcaption></figure><div class="kg-card kg-button-card kg-align-center"><a href="https://github.com/benjypng/logseq-toc-plugin" class="kg-btn kg-btn-accent">Logseq TOC Plugin</a></div><h2 id="wrapping-up">Wrapping Up</h2><p>Logseq plugin Marketplace has numerous plugins and themes available to choose from. </p><p>But you should be careful since third-party plugins can result in data losses sometimes. Weird, I know.</p><p>It is always good to take proper backup of the data, especially if you are following a local-first note management policy. You won&apos;t want to lose your notes, do you?</p><p>&#x1F4AC; Which Logseq plugin do you use the most? Feel free to suggest your recommendations in the comment section, so that other users may find useful!</p>]]></content:encoded></item><item><title><![CDATA[FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More]]></title><description><![CDATA[Going retro, going futuristic.]]></description><link>https://itsfoss.com/newsletter/foss-weekly-25-18/</link><guid isPermaLink="false">680efa1c7db75205d65548a6</guid><category><![CDATA[Newsletter ✉️]]></category><dc:creator><![CDATA[Abhishek Prakash]]></dc:creator><pubDate>Thu, 01 May 2025 05:49:00 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/05/foss-weekly.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/05/foss-weekly.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More"><p>Before the age of blogs, forums, and YouTube tutorials, Linux users relied on printed magazines to stay informed and inspired. Titles like <em>Linux Journal</em>, <em>Linux Format</em>, and <em>Maximum Linux</em> were lifelines for enthusiasts, packed with tutorials, distro reviews, and CD/DVDs. </p><p>These glossy monthly issues weren&#x2019;t just publications&#x2014;they were portals into a growing open-source world.</p><p>Let&apos;s recollect the memories of your <a href="https://itsfoss.com/top-linux-magazines/">favorite Linux magazines</a>. Ever read them or had their subscription?</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/top-linux-magazines/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Linux Magazines That Rule(d) The Linuxverse</div><div class="kg-bookmark-description">Once upon a time when it was fashionable to read magazines in print format, these were the choices for the Linux users.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-430.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/Top-Linux-Magazines-1.jpg" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><p><strong>&#x1F4AC; Let&apos;s see what else you get in this edition</strong></p><ul><li>RISC-V based SBC, Muse Pi.</li><li>Lenovo offering Linux laptops.</li><li>Trying tab grouping in Firefox.</li><li>And other Linux news, tips, and, of course, memes!</li><li><strong>This edition of FOSS Weekly is supported by </strong><a href="https://www.pikapods.com/?ref=itsfoss"><strong>PikaPods</strong></a><strong>.</strong></li></ul><h2 id="%E2%9D%87%EF%B8%8F-pikapods-enjoy-self-hosting-hassle-free">&#x2747;&#xFE0F; PikaPods: Enjoy Self-hosting Hassle-free</h2><p><a href="https://www.pikapods.com/?ref=itsfoss" rel="noreferrer">PikaPods</a>&#xA0;allows you to quickly deploy your&#xA0;<a href="https://www.pikapods.com/apps">favorite open source software</a>. All future updates are handled automatically by PikaPods while you enjoy using the software.&#xA0;<strong>PikaPods also share revenue with the original developers of the software</strong>.</p><p>You&#xA0;<a href="https://www.pikapods.com/?ref=itsfoss" rel="noreferrer">get a $5 free credit to try it</a>&#xA0;out and see if you can rely on PikaPods. I know, you can &#x1F604;</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.pikapods.com/?ref=itsfoss"><div class="kg-bookmark-content"><div class="kg-bookmark-title">PikaPods - Instant Open Source App Hosting</div><div class="kg-bookmark-description">Run the finest Open Source web apps from $1.20/month, fully managed, no tracking, no ads, full privacy. Self-hosting was never this convenient.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/favicon-7.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More"><span class="kg-bookmark-author">Instant Open Source App Hosting</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/og_image-v2-5.jpg" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%93%B0-linux-and-open-source-news">&#x1F4F0; Linux and Open Source News</h2><ul><li><a href="https://news.itsfoss.com/qemu-10-release/">QEMU 10</a> just released with many new upgrades.</li><li>Proton Pass now <a href="https://news.itsfoss.com/proton-pass-file-attachments/">allows attaching files</a> to passwords.</li><li>The <a href="https://news.itsfoss.com/india-proton-mail-ban/">Indian court orders a ban on Proton Mail</a>.</li><li>Kali Linux is urging users to add <a href="https://news.itsfoss.com/kali-linux-new-signing-key/">their new signing key</a>.</li><li>Running Arch Linux inside WSL <a href="https://news.itsfoss.com/arch-linux-wsl-release/">is now officially possible</a>.</li><li>The Muse Pi Pro is <a href="https://news.itsfoss.com/muse-pi-pro/">a new RISC-V SBC</a> with AI acceleration.</li></ul><p>Lenovo offers <a href="https://news.itsfoss.com/lenovo-cuts-windows-tax/">Linux laptops with cheaper price tag </a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/lenovo-cuts-windows-tax/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Lenovo Cuts the Windows Tax and offers Cheaper Laptops with Linux Pre-installed</div><div class="kg-bookmark-description">Lenovo is doing something that many aren&#x2019;t.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-421.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/lenovo-cuts-windows-tax.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%A7%A0-what-we%E2%80%99re-thinking-about">&#x1F9E0; What We&#x2019;re Thinking About</h2><p>Perplexity is <a href="https://news.itsfoss.com/perplexity-comet-privacy-pitfall/">ready to track</a> everything users do with its upcoming AI-powered web browser.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/perplexity-comet-privacy-pitfall/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Perplexity Wants to Track Your Every Move With its AI-powered Browser</div><div class="kg-bookmark-description">Perplexity&#x2019;s new Comet web browser is bad news if you care about privacy.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-420.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/perplexity-comet-user-data-snooping.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%A7%AE-linux-tips-tutorials-and-more">&#x1F9EE; Linux Tips, Tutorials and More</h2><ul><li>Organize better with Logseq <a href="https://itsfoss.com/logseq-journals-contents/">journals and contents</a> pages.</li><li>Learn how to <a href="https://itsfoss.com/password-protect-zip-file/">create a password-protected Zip file</a> in Linux.</li><li>Our <a href="https://itsfoss.com/apt-command-guide/">apt command guide</a> is a one-stop resource for all your apt command needs.</li><li><a href="https://itsfoss.com/dual-boot-cachyos-windows/">Dual-booting CachyOS and Windows</a> is a nice way to get the best of both worlds.</li></ul><p>Firefox <a href="https://itsfoss.com/firefox-tab-groups/">has finally introduced Tab Groups</a>, join us as we explore it.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/firefox-tab-groups/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Exploring Firefox Tab Groups: Has Mozilla Redeemed Itself?</div><div class="kg-bookmark-description">Firefox&#x2019;s Tab Groups help you organize tabs efficiently. But how efficiently? Let me share my experience.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-431.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/firefox-tab-groups.webp" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure>
  253. <div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal   " data-layout="minimal">
  254.            
  255.            <div class="kg-cta-content">
  256.                
  257.                
  258.                    <div class="kg-cta-content-inner">
  259.                    
  260.                        <div class="kg-cta-text">
  261.                            <p><span style="white-space: pre-wrap;">Desktop Linux is mostly neglected by the industry but loved by the community. For the past 12 years, It&apos;s FOSS has been helping people use Linux on their personal computers. And we are now facing the existential threat from AI models stealing our content. </span></p><p><span style="white-space: pre-wrap;">If you like what we do and would love to support our work, please become It&apos;s FOSS Plus member. It costs $24 a year (less than the cost of a burger meal each month) and you get an ad-free reading experience with the satisfaction of helping the desktop Linux community.</span></p>
  262.                        </div>
  263.                    
  264.                    
  265.                        <a href="#/portal/account/plans" class="kg-cta-button " style="background-color: #000000; color: #ffffff;">
  266.                            Join It&apos;s FOSS Plus
  267.                        </a>
  268.                        
  269.                    </div>
  270.                
  271.            </div>
  272.        </div>
  273. <h2 id="%F0%9F%91%B7-homelab-and-makers-corner">&#x1F477; Homelab and Maker&apos;s Corner</h2><p>Someone managed to <a href="https://www.404media.co/this-website-is-running-on-a-wii/">run a website on a Nintendo Wii</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.404media.co/this-website-is-running-on-a-wii/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">This Website Is Running on a Wii</div><div class="kg-bookmark-description">Alex Haydock found a dusty old Wii console at a hardware swap and modded it to run his website.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/favicon-3-2.svg" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More"><span class="kg-bookmark-author">404 Media</span><span class="kg-bookmark-publisher">Samantha Cole</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/wii-1.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%E2%9C%A8-apps-highlight">&#x2728; Apps Highlight</h2><p>We tested out GNOME&apos;s new document viewer, <a href="https://news.itsfoss.com/gnome-papers-hands-on/">Papers</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/gnome-papers-hands-on/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Hands-on with Papers, GNOME&#x2019;s new Document Reader</div><div class="kg-bookmark-description">Tried GNOME&#x2019;s new document reader, it didn&#x2019;t disappoint.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-424.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/gnome-papers.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%93%BD%EF%B8%8F-videos-i-am-creating-for-you">&#x1F4FD;&#xFE0F; Videos I am Creating for You</h2><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/JWERtyvUAcI?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="modern terminals"></iframe></figure><div class="kg-card kg-button-card kg-align-center"><a href="https://www.youtube.com/@itsfoss" class="kg-btn kg-btn-accent">Subscribe to It&apos;s FOSS YouTube Channel</a></div><h2 id="%F0%9F%A7%A9-quiz-time">&#x1F9E9; Quiz Time</h2><p>Test your Ubuntu knowledge with our <a href="https://itsfoss.com/quiz/ubuntu-crossword/">All About Ubuntu</a> crossword.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/quiz/ubuntu-crossword/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">All About Ubuntu: Crossword Puzzle</div><div class="kg-bookmark-description">A true Ubuntu fan should be able to guess this crossword correctly.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-419.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/ubuntu-crossword.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%9B%8D%EF%B8%8F-deal-you-might-like">&#x1F6CD;&#xFE0F; Deal you might like</h2><p><a href="https://humblebundleinc.sjv.io/XmWW3g" rel="noreferrer">This e-book bundle</a> is tailored for DevOps professionals and rookies alike&#x2014;learn from a diverse library of hot courses like Terraform Cookbook, Continuous Deployment, Policy as Code and more. </p><p>And your purchase supports Code for America! </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://humblebundleinc.sjv.io/XmWW3g"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Humble Tech Book Bundle: DevOps 2025 by O&#x2019;Reilly</div><div class="kg-bookmark-description">A digital apprenticeship with the pros at O&#x2019;Reilly&#x2014;add new skills to your DevOp toolkit with our latest guides bundle.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/03df0490a53d595fd930f9fff52038366d60a05d-5.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More"><span class="kg-bookmark-author">Humble Bundle</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/c8df95ae9bbb893e0a8bb7cc264b1d4c7b0350ef.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%92%A1-quick-handy-tip">&#x1F4A1; Quick Handy Tip</h2><p>In Brave Browser, you can open two tabs in a split view. First, select two tabs by <em>Ctrl</em> + <em>Left-Click</em>. Now, <em>Right-Click</em> on any tab and select &quot;<em>Open in split view</em>&quot;. The two tabs will then be opened in a split view. </p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/select-two-tabs-right-click.png" class="kg-image" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" loading="lazy" width="1079" height="709" srcset="https://itsfoss.com/content/images/size/w600/2025/04/select-two-tabs-right-click.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/select-two-tabs-right-click.png 1000w, https://itsfoss.com/content/images/2025/04/select-two-tabs-right-click.png 1079w" sizes="(min-width: 720px) 720px"></figure><p>You can click on the three-dot button in the middle of the split to swap the position of tabs, unsplit tabs, and resize them.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/split-actions.png" class="kg-image" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" loading="lazy" width="1020" height="649" srcset="https://itsfoss.com/content/images/size/w600/2025/04/split-actions.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/split-actions.png 1000w, https://itsfoss.com/content/images/2025/04/split-actions.png 1020w" sizes="(min-width: 720px) 720px"></figure><h2 id="%F0%9F%A4%A3-meme-of-the-week">&#x1F923; Meme of the Week</h2><p>We really need to value them more &#x1F979;</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/meme4.png" class="kg-image" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" loading="lazy" width="1080" height="1350" srcset="https://itsfoss.com/content/images/size/w600/2025/04/meme4.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/meme4.png 1000w, https://itsfoss.com/content/images/2025/04/meme4.png 1080w" sizes="(min-width: 720px) 720px"></figure><h2 id="%F0%9F%97%93%EF%B8%8F-tech-trivia">&#x1F5D3;&#xFE0F; Tech Trivia</h2><p>On April 27, 1995, the U.S. Justice Department sued to block Microsoft&#x2019;s $2.1 billion acquisition of <a href="https://en.wikipedia.org/wiki/Intuit">Intuit</a>, arguing it would hurt competition in personal finance software. Microsoft withdrew from the deal shortly after.</p><h2 id="%F0%9F%A7%91%E2%80%8D%F0%9F%A4%9D%E2%80%8D%F0%9F%A7%91-fossverse-corner">&#x1F9D1;&#x200D;&#x1F91D;&#x200D;&#x1F9D1; FOSSverse Corner</h2><p>Know of a way to rename many files on Linux in one go? Pro FOSSer Neville <a href="https://itsfoss.community/t/what-is-the-best-way-to-rename-a-heap-of-files/13586">is looking for ways</a>:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.community/t/what-is-the-best-way-to-rename-a-heap-of-files/13586"><div class="kg-bookmark-content"><div class="kg-bookmark-title">What is the best way to rename a heap of files?</div><div class="kg-bookmark-description">There are two rename apps a Perl program a utility from util-linux You can also use mv in a loop I have the util-linux version trinity:[nevj]:~$ rename -V rename from util-linux 2.41 I used it to do the following The syntax of that rename version is rename &#x2032; from &#x2032; &#x2032; to &#x2032; files I have several folders of these image files so I just cd&#x2019;d around and did each folder by hand. Just wondering&#x2026; has anyone used the Perl version of rename or do people do it with the File Manager or some o&#x2026;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c_2_180x180-44.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More"><span class="kg-bookmark-author">It&apos;s FOSS Community</span><span class="kg-bookmark-publisher">nevj</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/6c4abe17707e702bd3d68b75f313828f83523ff1.png" alt="FOSS Weekly #25.18: Linux Magazine, Modern Terminals, Muse Pi, apt Guide and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%E2%9D%A4%EF%B8%8F-with-love">&#x2764;&#xFE0F; With love</h2><p><strong>Share it with your Linux-using friends</strong>&#xA0;and encourage them to subscribe (hint:&#xA0;<a href="https://itsfoss.com/newsletter/">it&apos;s here</a>).</p><p>Share the articles in Linux Subreddits and community forums.</p><p><a href="https://news.google.com/publications/CAAiENHoh-T8yP9Q8Qywor2dwGkqFAgKIhDR6Ifk_Mj_UPEMsKK9ncBp?ref=itsfoss.com">Follow us on Google News</a>&#xA0;and stay updated in your News feed.</p><p>Opt for&#xA0;<a href="https://itsfoss.com/membership">It&apos;s FOSS Plus membership</a>&#xA0;and support us &#x1F64F;</p><p>Enjoy FOSS &#x1F604;</p>]]></content:encoded></item><item><title><![CDATA[Exploring Firefox Tab Groups: Has Mozilla Redeemed Itself?]]></title><description><![CDATA[Firefox's Tab Groups help you organize tabs efficiently. But how efficiently? Let me share my experience.]]></description><link>https://itsfoss.com/firefox-tab-groups/</link><guid isPermaLink="false">681301153219c95046253840</guid><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[Sourav Rudra]]></dc:creator><pubDate>Thu, 01 May 2025 05:10:17 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/05/firefox-tab-groups.webp" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/05/firefox-tab-groups.webp" alt="Exploring Firefox Tab Groups: Has Mozilla Redeemed Itself?"><p>Mozilla&apos;s <a href="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> needs no introduction. It is one of the few web browsers around that is not based on <a href="https://www.chromium.org/">Chromium</a>, setting out to provide a privacy-focused browsing experience for its users.</p><p>Sadly, some recent maneuvers have landed it in hot water, the most recent of which was a policy change that <strong>resulted in an intense backlash from the open source community</strong>, who felt wronged.</p><p>The consensus being that Mozilla broke their promise of not selling user data, leading to widespread concern over the organization&apos;s commitment to user privacy.</p><p>Since then, they have tweaked Firefox&apos;s <a href="https://www.mozilla.org/en-US/about/legal/terms/firefox/">Terms of Use</a> to better reflect how they handle user data, clarifying that they do not claim ownership over user content and that any data collected is used for maintaining and improving Firefox, in line with their <a href="https://www.mozilla.org/en-US/privacy/firefox/">Privacy Policy</a>.</p><p>Behind the scenes, Mozilla has also been focusing on developing more <a href="https://news.itsfoss.com/firefox-ai-link-previews/">AI-powered features for Firefox</a>&#x2014;an approach that has drawn mixed reactions, with many asking for improvements to the core, everyday browser functionality.</p><p>Luckily, they have finally delivered something on that front by implementing the <a href="https://connect.mozilla.org/t5/ideas/native-tab-grouping-more-customizable-tab-bar/idi-p/303">long-requested</a> Tab Groups feature. </p><h2 id="firefox-tab-groups-why-should-you-use-it">Firefox Tab Groups: Why Should You Use It?</h2><figure class="kg-card kg-image-card"><img src="https://news.itsfoss.com/content/images/2025/04/firefox-tab-groups-list.jpg" class="kg-image" alt="Exploring Firefox Tab Groups: Has Mozilla Redeemed Itself?" loading="lazy" width="1354" height="911"></figure><p>As the name implies, Tab Groups <strong>allows users to organize multiple open tabs into customizable, color-coded, and collapsible sections</strong>&#x2014;making it significantly easier for users to reduce visual clutter, stay focused on priority tasks, and streamline workflows.</p><p>This can greatly boost productivity, especially when paired with the<a href="https://itsfoss.com/productivity-tips-ubuntu/"> right tools and tips for optimizing your workflow</a> on a Linux desktop. Being someone who has to go through a lot of material when researching topics, I fully understand the importance of efficient tab management on a web browser.</p><p>Using a tab grouping feature like this helps minimize distractions, keeps your browser organized, and ensures quick access to important information without you getting overwhelmed by an endless stack of tabs.</p><p>You can learn more about how this came to be on the <a href="https://blog.mozilla.org/en/firefox/tab-groups-community/">announcement blog</a>.</p><h2 id="how-to-group-tabs-in-firefox">How to Group Tabs in Firefox?</h2><figure class="kg-card kg-embed-card"><iframe src="https://player.vimeo.com/video/1080093475?app_id=122963" width="358" height="240" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media" title="Firefox Tab Groups Demo"></iframe></figure><p>If you are looking to integrate this neat feature into your workflow, then you have to first ensure that you are on <a href="https://www.mozilla.org/en-US/firefox/138.0/releasenotes/">Firefox 138</a> or later. After that, things are quite straightforward.</p><p>Open up a bunch of new tabs and drag/drop one onto the other. This should open up the &quot;<em>Create tab group</em>&quot; dialog. Here, enter the name for the tab group, give it a color, and then click on &quot;<em>Done</em>&quot;.</p><p>You can <em>right-click</em> on existing tabs to quickly add them to tab groups, or remove them for easy reorganization into new groups.</p><figure class="kg-card kg-image-card"><img src="https://news.itsfoss.com/content/images/2025/04/firefox-tab-groups-tab-management.jpg" class="kg-image" alt="Exploring Firefox Tab Groups: Has Mozilla Redeemed Itself?" loading="lazy" width="1354" height="911"></figure><p>Tab groups can be expanded or collapsed with a simple <em>left-click</em>, and you can drag them to rearrange as needed. If you accidentally close Firefox, or even do so intentionally, you can still access your previous tab groups by clicking the downward arrow button above the address bar.</p><figure class="kg-card kg-image-card"><img src="https://news.itsfoss.com/content/images/2025/04/firefox-tab-groups-management.jpg" class="kg-image" alt="Exploring Firefox Tab Groups: Has Mozilla Redeemed Itself?" loading="lazy" width="1354" height="911"></figure><p>Similarly, managing an existing tab group is easy&#x2014;just right-click on the group to open the &quot;<em>Manage tab group</em>&quot; dialog. From there, you can rename the group, change its color, move it around, or delete it entirely.</p><p>Besides that, Mozilla has mentioned that they are <strong>already experimenting with AI-powered tools for organizing tabs by topic</strong>, which runs on their on-device AI implementation. It is live on the <a href="https://www.mozilla.org/en-US/firefox/channel/desktop/#:~:text=is%20shared.-,Nightly,-Get%20a%20sneak">Firefox Nightly</a> build and can be accessed from the &quot;<em>Suggest more of my tabs</em>&quot; button.</p><p><strong>Suggested Read </strong>&#x1F4D6;</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/firefox-ai-link-previews/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">I Tried This Upcoming AI Feature in Firefox</div><div class="kg-bookmark-description">Firefox will be bringing an experimental AI-generated link previews, offering quick on-device summaries. Here&#x2019;s my quick experience with it.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://news.itsfoss.com/content/images/icon/android-chrome-192x192-84.png" alt="Exploring Firefox Tab Groups: Has Mozilla Redeemed Itself?"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://news.itsfoss.com/content/images/thumbnail/firefox-ai-link-previews.png" alt="Exploring Firefox Tab Groups: Has Mozilla Redeemed Itself?" onerror="this.style.display = &apos;none&apos;"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[Journals and Contents: Two Special Pages in Logseq]]></title><description><![CDATA[From task management to bookmarking, extend the usefulness of your knowledge base by using the Journals and Contents pages in Logseq. ]]></description><link>https://itsfoss.com/logseq-journals-contents/</link><guid isPermaLink="false">67b3167862fbee5823cb5ce5</guid><category><![CDATA[Logseq]]></category><dc:creator><![CDATA[Sreenath]]></dc:creator><pubDate>Wed, 30 Apr 2025 05:46:58 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/04/special-pages-in-logseq.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/04/special-pages-in-logseq.png" alt="Journals and Contents: Two Special Pages in Logseq"><p>Logseq is different from the conventional note-taking applications in many aspects. </p><p>Firstly, it follows a note block approach, rather than a page-first approach for content organization. This allows Logseq to achieve data interlinking at the sentence level. That is, you can refer to any sentence of a note in any other note inside your database.</p><p>Another equally important feature is the &#x201C;Special Pages&#x201D;. These are the &#x201C;Journals&#x201D; and &#x201C;Contents&#x201D; pages. Both of these special pages have use-cases far higher than what their names indicate.</p><h2 id="the-journals-page">The Journals page</h2><p>The &#x201C;Journals&#x201D; is the first page you will see when you open Logseq. Here, you can see dates as headings. The <a href="https://hub.logseq.com/getting-started/uQdEHALJo7RWnDLLLP7uux/how-to-get-started-in-logseq/pE1BPPvKGbWkSRXsprRnxM">Logseq documentation</a> suggests that a new user, before understanding Logseq better, should use this Journals page heavily for taking notes.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/02/journals-page-in-logseq.png" class="kg-image" alt="Journals and Contents: Two Special Pages in Logseq" loading="lazy" width="987" height="487" srcset="https://itsfoss.com/content/images/size/w600/2025/02/journals-page-in-logseq.png 600w, https://itsfoss.com/content/images/2025/02/journals-page-in-logseq.png 987w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Journals Page</span></figcaption></figure><p>As the name suggests, this is the daily journals page. Whatever you write under a date will be saved as a separate Markdown file with the date as the title. You can see these pages in your file manager, too. Head to the location you use for Logseq, then visit the <code>journals</code> page.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/02/journal-pages-in-folder.png" class="kg-image" alt="Journals and Contents: Two Special Pages in Logseq" loading="lazy" width="851" height="672" srcset="https://itsfoss.com/content/images/size/w600/2025/02/journal-pages-in-folder.png 600w, https://itsfoss.com/content/images/2025/02/journal-pages-in-folder.png 851w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Journals Markdown Files in File Manager</span></figcaption></figure><p>Let&apos;s see how to make this Journals page most useful.</p><h3 id="journal-page-as-a-daily-diary">Journal page as a daily diary</h3><p>Let&apos;s start with the basics. The &#x201C;Journals&#x201D; page can be used as your daily diary page. </p><p>If you are a frequent diary writer, Logseq is the best tool to digitize your life experiences and daily thoughts.</p><p>Each day, a new page will be created for you.</p><p>If you need a page for a day in the past, Just click on the <strong>Create</strong> button on the bottom of Logseq window and select &#x201C;New page&#x201D;.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/02/click-on-create-and-select-new-page.png" class="kg-image" alt="Journals and Contents: Two Special Pages in Logseq" loading="lazy" width="843" height="448" srcset="https://itsfoss.com/content/images/size/w600/2025/02/click-on-create-and-select-new-page.png 600w, https://itsfoss.com/content/images/2025/02/click-on-create-and-select-new-page.png 843w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on Create &#x2192; New Page</span></figcaption></figure><p>In the dialog, enter the date for the required journal in the format, <code>Mar 20th, 2023</code>. Press enter. This will create the Journal page for the specified that for you!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/02/create-a-journal-page-for-an-old-date.png" class="kg-image" alt="Journals and Contents: Two Special Pages in Logseq" loading="lazy" width="839" height="429" srcset="https://itsfoss.com/content/images/size/w600/2025/02/create-a-journal-page-for-an-old-date.png 600w, https://itsfoss.com/content/images/2025/02/create-a-journal-page-for-an-old-date.png 839w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Create Journal page for an old date</span></figcaption></figure><h3 id="journal-as-a-note-organizer">Journal as a note organizer</h3><p>If you have read the <a href="https://itsfoss.com/logseq-pages-links-tags-blocks/">Logseq Pages and Links article in this series</a>, you should recall the fact that Logseq considers the concept of Pages, Tags, etc. in almost similar manner. If you want to create a new note, the best way is to use the keyboard method:</p><pre><code>#[[Note Title Goes Here]]</code></pre><p>The above creates a page for you. Now, the best place to create a new page is the Journals page.</p><p>Logseq has a powerful backlink feature. With this, if you use the Journals page to create a new page, you don&apos;t need to add any date references inside the page separately, since at the very end of the page, you will have a backlink to that day&apos;s journal.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/02/note-showing-the-date-as-journal-reference-link.png" class="kg-image" alt="Journals and Contents: Two Special Pages in Logseq" loading="lazy" width="836" height="469" srcset="https://itsfoss.com/content/images/size/w600/2025/02/note-showing-the-date-as-journal-reference-link.png 600w, https://itsfoss.com/content/images/2025/02/note-showing-the-date-as-journal-reference-link.png 836w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Note with date reference</span></figcaption></figure><p>This is beneficial because you can recall when a note was first created easily.</p><h3 id="journal-as-a-to-do-organizer">Journal as a to-do organizer</h3><p>Logseq can be used as a powerful task manager application as well, and the Journals page plays a crucial role in it.</p><p>If you come across any task while you are in the middle of something, just open the Journals page in Logseq and press the <code>/</code> key.</p><p>Search and enter <code>TODO</code>. Then type the task you are about to do.</p><p>Once done, press <code>/</code> again and search for <code>Date Picker</code>. Select a date from the calendar.</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://itsfoss.com/content/media/2025/02/creating-todo-task-in-logseq_thumb.jpg" data-kg-custom-thumbnail>
  274.            <div class="kg-video-container">
  275.                <video src="https://itsfoss.com/content/media/2025/02/creating-todo-task-in-logseq.mp4" poster="https://img.spacergif.org/v1/862x380/0a/spacer.png" width="862" height="380" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://itsfoss.com/content/media/2025/02/creating-todo-task-in-logseq_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
  276.                <div class="kg-video-overlay">
  277.                    <button class="kg-video-large-play-icon" aria-label="Play video">
  278.                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  279.                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  280.                        </svg>
  281.                    </button>
  282.                </div>
  283.                <div class="kg-video-player-container kg-video-hide">
  284.                    <div class="kg-video-player">
  285.                        <button class="kg-video-play-icon" aria-label="Play video">
  286.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  287.                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  288.                            </svg>
  289.                        </button>
  290.                        <button class="kg-video-pause-icon kg-video-hide" aria-label="Pause video">
  291.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  292.                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  293.                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  294.                            </svg>
  295.                        </button>
  296.                        <span class="kg-video-current-time">0:00</span>
  297.                        <div class="kg-video-time">
  298.                            /<span class="kg-video-duration">0:29</span>
  299.                        </div>
  300.                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
  301.                        <button class="kg-video-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button>
  302.                        <button class="kg-video-unmute-icon" aria-label="Unmute">
  303.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  304.                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
  305.                            </svg>
  306.                        </button>
  307.                        <button class="kg-video-mute-icon kg-video-hide" aria-label="Mute">
  308.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  309.                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
  310.                            </svg>
  311.                        </button>
  312.                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
  313.                    </div>
  314.                </div>
  315.            </div>
  316.            <figcaption><p><span style="white-space: pre-wrap;">Creating a TODO task in Logseq</span></p></figcaption>
  317.        </figure><p>That&apos;s it. You have created a to-do item with a due date. Now, when the date arrives, you will get a link on that day&apos;s Journal page. Thus, when you open Logseq on that day, you will see this item.</p><p>It will also contain the link to the journal page from where you added the task.</p><p>Other than that, you can search for the <code>TODO</code> page and open it to see all your task list, marked with TODO.</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://itsfoss.com/content/media/2025/02/task-lising_thumb.jpg" data-kg-custom-thumbnail>
  318.            <div class="kg-video-container">
  319.                <video src="https://itsfoss.com/content/media/2025/02/task-lising.mp4" poster="https://img.spacergif.org/v1/862x380/0a/spacer.png" width="862" height="380" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://itsfoss.com/content/media/2025/02/task-lising_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
  320.                <div class="kg-video-overlay">
  321.                    <button class="kg-video-large-play-icon" aria-label="Play video">
  322.                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  323.                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  324.                        </svg>
  325.                    </button>
  326.                </div>
  327.                <div class="kg-video-player-container kg-video-hide">
  328.                    <div class="kg-video-player">
  329.                        <button class="kg-video-play-icon" aria-label="Play video">
  330.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  331.                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  332.                            </svg>
  333.                        </button>
  334.                        <button class="kg-video-pause-icon kg-video-hide" aria-label="Pause video">
  335.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  336.                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  337.                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  338.                            </svg>
  339.                        </button>
  340.                        <span class="kg-video-current-time">0:00</span>
  341.                        <div class="kg-video-time">
  342.                            /<span class="kg-video-duration">0:23</span>
  343.                        </div>
  344.                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
  345.                        <button class="kg-video-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button>
  346.                        <button class="kg-video-unmute-icon" aria-label="Unmute">
  347.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  348.                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
  349.                            </svg>
  350.                        </button>
  351.                        <button class="kg-video-mute-icon kg-video-hide" aria-label="Mute">
  352.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  353.                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
  354.                            </svg>
  355.                        </button>
  356.                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
  357.                    </div>
  358.                </div>
  359.            </div>
  360.            <figcaption><p><span style="white-space: pre-wrap;">Search for the TODO page to list all the to-do tasks</span></p></figcaption>
  361.        </figure><h3 id="journal-to-manage-tasks">Journal to manage tasks</h3><p>Task management is not just adding due date to your tasks. You should be able to track a project and know at what stage a particular task is. For this, Logseq has some built-in tags/pages. For example, <code>LATER</code>, <code>DOING</code>, <code>DONE</code>, etc.</p><p>These tags can be accessed by pressing the <code>/</code> key and searching for the name.</p><p>For example, if you have some ideas that should be done at a later date, but not sure when exactly, add these with the <code>LATER</code> tag, just like the TODO tag explained above.</p><p>Now, you can search for the <code>LATER</code> tag to know what all tasks are added to that list.</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://itsfoss.com/content/media/2025/02/using-later-tag-in-logseq_thumb.jpg" data-kg-custom-thumbnail>
  362.            <div class="kg-video-container">
  363.                <video src="https://itsfoss.com/content/media/2025/02/using-later-tag-in-logseq.mp4" poster="https://img.spacergif.org/v1/862x380/0a/spacer.png" width="862" height="380" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://itsfoss.com/content/media/2025/02/using-later-tag-in-logseq_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
  364.                <div class="kg-video-overlay">
  365.                    <button class="kg-video-large-play-icon" aria-label="Play video">
  366.                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  367.                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  368.                        </svg>
  369.                    </button>
  370.                </div>
  371.                <div class="kg-video-player-container kg-video-hide">
  372.                    <div class="kg-video-player">
  373.                        <button class="kg-video-play-icon" aria-label="Play video">
  374.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  375.                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  376.                            </svg>
  377.                        </button>
  378.                        <button class="kg-video-pause-icon kg-video-hide" aria-label="Pause video">
  379.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  380.                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  381.                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  382.                            </svg>
  383.                        </button>
  384.                        <span class="kg-video-current-time">0:00</span>
  385.                        <div class="kg-video-time">
  386.                            /<span class="kg-video-duration">0:22</span>
  387.                        </div>
  388.                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
  389.                        <button class="kg-video-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button>
  390.                        <button class="kg-video-unmute-icon" aria-label="Unmute">
  391.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  392.                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
  393.                            </svg>
  394.                        </button>
  395.                        <button class="kg-video-mute-icon kg-video-hide" aria-label="Mute">
  396.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  397.                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
  398.                            </svg>
  399.                        </button>
  400.                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
  401.                    </div>
  402.                </div>
  403.            </div>
  404.            <figcaption><p><span style="white-space: pre-wrap;">Using the LATER tag in Logseq</span></p></figcaption>
  405.        </figure><p>Using the Journal page is beneficial here because you will be able to recollect on what date a particular task was added, allowing you to get more insight about that task. This will help you more, if you have entered your thoughts of that day in the Journal.</p><h2 id="the-contents-page">The Contents Page</h2><p>Logseq has a special <strong>Contents</strong> page type, but don&apos;t confuse it with the usual table of contents. That is not its purpose. Here, I will mention the way I use the contents page. You can create your own workflows once you know its potential.</p><p>You can think of the Contents page as a manually created Dashboard to your notes and database. Or, a simple home page from where you can access contents needed frequently.</p><p>The most interesting thing that sets the contents page apart from others is the fact that it will always be visible in the right sidebar. Therefore, if you enable the sidebar permanently, you can see the quick links in the contents all the time.</p><h3 id="edit-the-contents-page">Edit the Contents page</h3><p>As said above, the Contents page is available on the right sidebar. So click on the sidebar button in the top panel and select <strong>Contents</strong>. You can edit this page from this sidebar view, which is the most convenient way.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/02/click-on-sidebar-and-select-contents-1.png" class="kg-image" alt="Journals and Contents: Two Special Pages in Logseq" loading="lazy" width="918" height="442" srcset="https://itsfoss.com/content/images/size/w600/2025/02/click-on-sidebar-and-select-contents-1.png 600w, https://itsfoss.com/content/images/2025/02/click-on-sidebar-and-select-contents-1.png 918w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on the Sidebar button and select Contents</span></figcaption></figure><p>All the text formatting, linking, etc., that work on Logseq pages works on this page as well.</p><h3 id="1-add-all-important-pagestags">1. Add all important pages/tags</h3><p>The first thing you can do is to add frequently accessed pages or tags. </p><p>For example, let&apos;s say you will be accessing the <strong>Kernel</strong>, <strong>Ubuntu</strong>, and <strong>APT</strong> tags frequently. So, what you can do is to add a Markdown heading:</p><pre><code>## List of Tags</code></pre><p>Now, link the tags right in there, one per line:</p><pre><code>#Kernel
  406. #Ubuntu
  407. #APT</code></pre><p>For better arrangement, you can use the Markdown horizontal rule after each section.</p><pre><code>---</code></pre><h3 id="2-link-the-task-management-pages">2. Link the task management pages</h3><p>As discussed in the Journals section, you can have a variety of task related tags like TODO, LATER, WAITING, etc. So you can link each of these in the contents page:</p><pre><code>## List of Tasks
  408.  
  409. #TODO
  410. #LATER
  411. #WAITING
  412. ---</code></pre><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x1F6A7;</div><div class="kg-callout-text">Please note the difference between the Markdown heading and the Logseq tags. So, don&apos;t forget to add a space after the <code spellcheck="false" style="white-space: pre-wrap;">#</code> if you are creating a Markdown header.</div></div><h3 id="3-quick-access-links">3. Quick access links</h3><p>If you are visiting some websites daily, you can bookmark these websites on the contents page for quickly accessing them.</p><pre><code>## Quick access links
  413.  
  414. [It&apos;s FOSS](https://itsfoss.com/)
  415. [It&apos;s FOSS Community](https://itsfoss.community/)
  416. [Arch Linux News](https://archlinux.org/)
  417. [GitHub](https://github.com/)
  418. [Reddit](https://www.reddit.com/)</code></pre><p>After all this, your contents page will look like this:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/02/Contents-page-in-logseq-1.png" class="kg-image" alt="Journals and Contents: Two Special Pages in Logseq" loading="lazy" width="1053" height="827" srcset="https://itsfoss.com/content/images/size/w600/2025/02/Contents-page-in-logseq-1.png 600w, https://itsfoss.com/content/images/size/w1000/2025/02/Contents-page-in-logseq-1.png 1000w, https://itsfoss.com/content/images/2025/02/Contents-page-in-logseq-1.png 1053w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Contents page in Logseq</span></figcaption></figure><h2 id="wrapping-up">Wrapping Up</h2><p>As you can see, you can utilize these pages in non-conventional ways to get a more extensive experience from Logseq. That&apos;s the beauty of this open-source tool. The more you explore, the more you discover, the more you enjoy.</p><p>In the next part of this series, I&apos;ll share my favorite Logseq extensions.</p>]]></content:encoded></item><item><title><![CDATA[Dual Booting CachyOS and Windows]]></title><description><![CDATA[Dual booting CachyOS with Windows is pretty standard and that's surprising for a distro in Arch domain.]]></description><link>https://itsfoss.com/dual-boot-cachyos-windows/</link><guid isPermaLink="false">6805f50f7db75205d6546c7b</guid><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[Abhishek Prakash]]></dc:creator><pubDate>Mon, 28 Apr 2025 06:04:44 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/04/dualboot-cachyos-with-windows.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/04/dualboot-cachyos-with-windows.png" alt="Dual Booting CachyOS and Windows"><p>There is something about CachyOS. It feels fast. The performance is excellently smooth, specially if you have newer hardware.</p><p>I don&apos;t have data to prove it but my new Asus Zenbook that I bought in November last year is rocking CachyOS superbly.</p><p>The new laptop came with Windows, which is not surprising. I didn&apos;t replace Windows with Linux. Instead, I installed CachyOS in dual boot mode alongside Windows.</p><p>The thing is that it was straightforward to do so. Anything simple in the Arch domain is amusing in itself.</p><p>So, I share my amusing experience in this video.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/EoGA8A3b7mw?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="Dual Booting CachyOS With Windows 11"></iframe></figure><div class="kg-card kg-button-card kg-align-center"><a href="https://www.youtube.com/@itsfoss" class="kg-btn kg-btn-accent">Subscribe to It&apos;s FOSS YouTube Channel</a></div><p>I understand that video may not be everyone&apos;s favorite format so I created this tutorial in the text format too.</p><p>There are a few things to note here:</p><ul><li>An active internet connection is mandatory. Offline installation is not possible.</li><li>An 8 GB USB is needed to create the installation medium.</li><li>At least 40 GB free disk space (it could be 20 GB as well but that would be way too less).</li><li>Time and patience is of essence.</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x1F6A7;</div><div class="kg-callout-text">You should back up your important data on an external disk or cloud. It is rare that anything will go wrong, but if you are not familiar to dealing with disk partitions, a backup will save your day.</div></div>
  419. <div class="kg-card kg-cta-card kg-cta-bg-green kg-cta-minimal   " data-layout="minimal">
  420.            
  421.                <div class="kg-cta-sponsor-label-wrapper">
  422.                    <div class="kg-cta-sponsor-label">
  423.                        <span style="white-space: pre-wrap;">SPONSORED</span>
  424.                    </div>
  425.                </div>
  426.            
  427.            <div class="kg-cta-content">
  428.                
  429.                
  430.                    <div class="kg-cta-content-inner">
  431.                    
  432.                        <div class="kg-cta-text">
  433.                            <p><b><strong style="white-space: pre-wrap;">Use Swiss-based pCloud storage</strong></b></p><p><span style="white-space: pre-wrap;">Back up important folders from your computer to pCloud, securely. Keep and recover old versions in up to 1 year.</span></p>
  434.                        </div>
  435.                    
  436.                    
  437.                        <a href="https://partner.pcloud.com/r/141499" class="kg-cta-button " style="background-color: #000000; color: #FFFFFF;">
  438.                            Learn more about pCloud backup
  439.                        </a>
  440.                        
  441.                    </div>
  442.                
  443.            </div>
  444.        </div>
  445. <h2 id="creating-live-usb-of-cachyos-and-booting-from-it">Creating live USB of CachyOS and booting from it</h2><p>First, download the desktop edition of CachyOS from its website:</p><div class="kg-card kg-button-card kg-align-center"><a href="https://cachyos.org/download/" class="kg-btn kg-btn-accent">Download CachyOS</a></div><p>You can create the live USB on any computer with the help of Ventoy. I used <a href="https://news.itsfoss.com/tuxedo-infinitybook-pro-16-review/">my TUXEDO notebook</a> for this purpose.</p><p><a href="https://www.ventoy.net/en/download.html">Download Ventoy</a> from the official Website. When you extract it, there will be a few executables in it to run it either in a browser or in a GUI. Use whatever you want.</p><p>Making sure that USB is plugged in, install Ventoy on it.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/image-1.png" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="1117" height="599" srcset="https://itsfoss.com/content/images/size/w600/2025/04/image-1.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/image-1.png 1000w, https://itsfoss.com/content/images/2025/04/image-1.png 1117w" sizes="(min-width: 720px) 720px"></figure><p>Once done, all you need to do is to drag the CachyOS ISO to the Ventoy disk. The example below shows it for Mint but it&apos;s the same for any Linux ISO.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/image-2.png" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="901" height="498" srcset="https://itsfoss.com/content/images/size/w600/2025/04/image-2.png 600w, https://itsfoss.com/content/images/2025/04/image-2.png 901w" sizes="(min-width: 720px) 720px"></figure><p>If you need <a href="https://itsfoss.com/use-ventoy/">detailed steps for using Ventoy</a>, please follow this tutorial.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/use-ventoy/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Install and Use Ventoy on Ubuntu [Complete Guide]</div><div class="kg-bookmark-description">Tired of flashing USB drives for every ISO? Get started with Ventoy and get the ability to easily boot from ISOs.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-416.png" alt="Dual Booting CachyOS and Windows"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Sagar Sharma</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/install-ventoy-on-ubuntu-linux.png" alt="Dual Booting CachyOS and Windows" onerror="this.style.display = &apos;none&apos;"></div></a></figure><p>Once I had the CachyOS live USB, I put it in the Asus Zenbook and restarted it. When the computer was starting up, pressing F2/F10 button took me to the BIOS Settings.</p><p>I did that to ensure that the system boots from the USB instead of the hard disk by changing the boot order.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/boot-priority-usb.png" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="589" height="333"><figcaption><span style="white-space: pre-wrap;">Change boot priority</span></figcaption></figure><p>When the system booted next, Ventoy screen was visible and I could see the option to load the CachyOS live session.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/select-cachyos-from-ventoy-screen.png" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="1123" height="389" srcset="https://itsfoss.com/content/images/size/w600/2025/04/select-cachyos-from-ventoy-screen.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/select-cachyos-from-ventoy-screen.png 1000w, https://itsfoss.com/content/images/2025/04/select-cachyos-from-ventoy-screen.png 1123w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Select CachyOS</span></figcaption></figure><p>I selected to boot in normal mode.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/boot-in-normal-mode.png" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="1131" height="448" srcset="https://itsfoss.com/content/images/size/w600/2025/04/boot-in-normal-mode.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/boot-in-normal-mode.png 1000w, https://itsfoss.com/content/images/2025/04/boot-in-normal-mode.png 1131w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Normal Mode</span></figcaption></figure><p>There was an option to boot into CachyOS with NVIDIA. I went with the default option.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/cachy-boot-oss-noss.jpg" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="922" height="304" srcset="https://itsfoss.com/content/images/size/w600/2025/04/cachy-boot-oss-noss.jpg 600w, https://itsfoss.com/content/images/2025/04/cachy-boot-oss-noss.jpg 922w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Open-source or closed-source drivers</span></figcaption></figure><p>While booting into CachyOS, I ran into an issue. <strong>There was a &quot;Start Job is running...</strong>&quot; message for more than a minute or two. I force restarted the system and the live USB worked fine the next time.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/start-job-duration.png" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="821" height="94" srcset="https://itsfoss.com/content/images/size/w600/2025/04/start-job-duration.png 600w, https://itsfoss.com/content/images/2025/04/start-job-duration.png 821w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Start job duration notification</span></figcaption></figure><p>If this error persists for you, try to change the USB port or create live USB again. </p><p><strong>Another issue I discovered by trial and error was relating to the password</strong>. CachyOS showed a login screen that seemed to be asking for username and password. As per the official docs, there are no password required in live session.</p><p>What I did was to change the display server to Wayland and then click the next button, and I was logged into the system without any password.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/select-wayland.png" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="594" height="123"><figcaption><span style="white-space: pre-wrap;">Select Wayland</span></figcaption></figure><h2 id="installing-cachyos">Installing CachyOS</h2><p>Again, active internet is mandatory to download the desktop environment and other packages.</p><p>Select the &quot;Launch installer&quot; option.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/launch-installer.jpg" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="853" height="643" srcset="https://itsfoss.com/content/images/size/w600/2025/04/launch-installer.jpg 600w, https://itsfoss.com/content/images/2025/04/launch-installer.jpg 853w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on &quot;Launch Installer&quot;</span></figcaption></figure><p>My system was not plugged into a power source but it had almost 98% battery and I knew that it could handle the quick installation easily.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/no-power-source-warning.jpg" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="848" height="392" srcset="https://itsfoss.com/content/images/size/w600/2025/04/no-power-source-warning.jpg 600w, https://itsfoss.com/content/images/2025/04/no-power-source-warning.jpg 848w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">System not connected to power source warning</span></figcaption></figure><p>Quite straight forward settings in the beginning. Like selecting time zone</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/select-loaction-1.jpg" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="1024" height="587" srcset="https://itsfoss.com/content/images/size/w600/2025/04/select-loaction-1.jpg 600w, https://itsfoss.com/content/images/size/w1000/2025/04/select-loaction-1.jpg 1000w, https://itsfoss.com/content/images/2025/04/select-loaction-1.jpg 1024w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Set Location</span></figcaption></figure><p>and keyboard layout.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/select-keyboard-layout.jpg" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="1025" height="587" srcset="https://itsfoss.com/content/images/size/w600/2025/04/select-keyboard-layout.jpg 600w, https://itsfoss.com/content/images/size/w1000/2025/04/select-keyboard-layout.jpg 1000w, https://itsfoss.com/content/images/2025/04/select-keyboard-layout.jpg 1025w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Set keyboard layout</span></figcaption></figure><p>The most important step is the disk partition and I was pleasantly surprised to see that the Calamares installer detected Windows presence and gave option to install CachyOS alongside.</p><p>I have a single disk with Windows partition as well as EFI system partition.</p><p>All I had to do was to drag the slider and shrink the storage appropriately.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/partition-settings.jpg" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="1323" height="657" srcset="https://itsfoss.com/content/images/size/w600/2025/04/partition-settings.jpg 600w, https://itsfoss.com/content/images/size/w1000/2025/04/partition-settings.jpg 1000w, https://itsfoss.com/content/images/2025/04/partition-settings.jpg 1323w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Storage settings</span></figcaption></figure><p>I gave more space to Linux because it was going to be my main operating system.</p><p>The next screen gave the options to install a desktop environment or window manager. I opted for GNOME. You can see why it is important to have active internet connection. The desktop environment is not on the ISO file. It needs to be downloaded first.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/select-desktop.jpg" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="1021" height="590" srcset="https://itsfoss.com/content/images/size/w600/2025/04/select-desktop.jpg 600w, https://itsfoss.com/content/images/size/w1000/2025/04/select-desktop.jpg 1000w, https://itsfoss.com/content/images/2025/04/select-desktop.jpg 1021w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Select Desktop Environment</span></figcaption></figure><p>And a few additional packages are added to the list automatically.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/additional-packages.jpg" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="1026" height="833" srcset="https://itsfoss.com/content/images/size/w600/2025/04/additional-packages.jpg 600w, https://itsfoss.com/content/images/size/w1000/2025/04/additional-packages.jpg 1000w, https://itsfoss.com/content/images/2025/04/additional-packages.jpg 1026w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Installing additional packages</span></figcaption></figure><p>And as the last interactive step of install, I created the user account.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/enter-user-credentials.jpg" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="1024" height="548" srcset="https://itsfoss.com/content/images/size/w600/2025/04/enter-user-credentials.jpg 600w, https://itsfoss.com/content/images/size/w1000/2025/04/enter-user-credentials.jpg 1000w, https://itsfoss.com/content/images/2025/04/enter-user-credentials.jpg 1024w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Enter user credentials</span></figcaption></figure><p>A quick overview of what is going to be done at this point. Things looked fine so I hit the Install button.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/click-install-1.jpg" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="1334" height="766" srcset="https://itsfoss.com/content/images/size/w600/2025/04/click-install-1.jpg 600w, https://itsfoss.com/content/images/size/w1000/2025/04/click-install-1.jpg 1000w, https://itsfoss.com/content/images/2025/04/click-install-1.jpg 1334w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on Install</span></figcaption></figure><p>And then just wait for a few minutes for the installation to complete.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/install-progress.jpg" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="1024" height="669" srcset="https://itsfoss.com/content/images/size/w600/2025/04/install-progress.jpg 600w, https://itsfoss.com/content/images/size/w1000/2025/04/install-progress.jpg 1000w, https://itsfoss.com/content/images/2025/04/install-progress.jpg 1024w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Installation progress</span></figcaption></figure><p>When the installation completes, restart the system and take out the live USB. In my case, I forgot to take the USB out, but still booted from the hard disk.</p><h2 id="fixing-the-missing-windows-from-grub">Fixing the missing Windows from grub</h2><p>When the system booted next, I could see the usual <a href="https://itsfoss.com/what-is-grub/" rel="noreferrer">Grub bootloader</a> screen but there was no Windows option in it.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/no-windows-boot-manager.png" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="984" height="267" srcset="https://itsfoss.com/content/images/size/w600/2025/04/no-windows-boot-manager.png 600w, https://itsfoss.com/content/images/2025/04/no-windows-boot-manager.png 984w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Windows Boot Manager is absent</span></figcaption></figure><p>Fixing it was simple. I opened the grub config file for <a href="https://itsfoss.com/nano-editor-guide/" rel="noreferrer">editing in Nano</a>.</p><pre><code>sudo nano /etc/default/grub</code></pre><p>OS_PROBER was disabled, so I uncommented that line, saved the file and exited.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/uncomment-os-prober.png" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="824" height="146" srcset="https://itsfoss.com/content/images/size/w600/2025/04/uncomment-os-prober.png 600w, https://itsfoss.com/content/images/2025/04/uncomment-os-prober.png 824w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Uncomment OS Prober</span></figcaption></figure><p>The next step was to update grub to make it aware of the config changes.</p><pre><code>sudo grub-mkconfig -o /boot/grub/grub.cfg</code></pre><p>And on the next reboot, the Windows boot manager option there to let me use Windows.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/windows-boot-manager.png" class="kg-image" alt="Dual Booting CachyOS and Windows" loading="lazy" width="1085" height="201" srcset="https://itsfoss.com/content/images/size/w600/2025/04/windows-boot-manager.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/windows-boot-manager.png 1000w, https://itsfoss.com/content/images/2025/04/windows-boot-manager.png 1085w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Windows Boot Manager in the boot screen</span></figcaption></figure><p>This is what I did to install CachyOS Linux alongside Windows. For an Arch-based distro, the procedure was pretty standard, and that&apos;s a good thing. Installing Linux should not be super complicated. </p><p>&#x1F4AC; If you tried dual booting CachyOS, do let me know how it went in the comment section.</p>]]></content:encoded></item><item><title><![CDATA[FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More]]></title><description><![CDATA[Continue to explore Fedora and Ubuntu releases.]]></description><link>https://itsfoss.com/newsletter/foss-weekly-25-17/</link><guid isPermaLink="false">6805d6c77db75205d6546be1</guid><category><![CDATA[Newsletter ✉️]]></category><dc:creator><![CDATA[Abhishek Prakash]]></dc:creator><pubDate>Thu, 24 Apr 2025 05:35:31 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/04/foss-weekly-2.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/04/foss-weekly-2.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More"><p>I guess you already know that <a href="https://itsfoss.community/" rel="noreferrer">It&apos;s FOSS has an active community forum</a>. I recently upgraded its server and changed its look slightly. Hope you like it.</p><p>If you have questions about using Linux or if you want to share something interesting you discovered with your Linux setup, you are more than welcome to utilize the Community.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.community/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">It&#x2019;s FOSS Community</div><div class="kg-bookmark-description">A place for desktop Linux users and It&#x2019;s FOSS readers</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c_2_180x180-43.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More"><span class="kg-bookmark-author">It&apos;s FOSS Community</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c-37.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><p><strong>&#x1F4AC; Let&apos;s see what else you get in this edition</strong></p><ul><li>New Ubuntu flavor release.</li><li>Exploring pages, links, and tags in Logseq.</li><li>Ubisoft doing something really unexpected.</li><li>And other Linux news, tips, and, of course, memes!</li><li><strong>This edition of FOSS Weekly is supported by </strong><a href="https://fnf.dev/4ifUMv8"><strong>Valkey</strong></a><strong>.</strong></li></ul><h2 id="%E2%9D%87%EF%B8%8F-valkey-%E2%80%93-the-drop-in-alternative-to-redis-oss">&#x2747;&#xFE0F; Valkey &#x2013; The Drop-in Alternative to Redis OSS</h2><p>With the change of Redis licensing in March of 2024 came the end of Redis as an open source project. Enter Valkey &#x2013; the community driven fork that preserves and improves the familiar high-performance, key-value datastore for improving application performance.</p><p>Stewarded by the Linux foundation, Valkey serves as an open source drop-in alternative to Redis OSS &#x2013; no code changes needed, with the same developer-friendly experience. For your open source database, <a href="https://fnf.dev/4ifUMv8">check out Valkey</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://fnf.dev/4ifUMv8"><div class="kg-bookmark-content"><div class="kg-bookmark-title">What is Valkey? &#x2013; Valkey Datastore Explained - Amazon Web Services</div><div class="kg-bookmark-description">Valkey is an open source, high performance, in-memory, key-value datastore. It is designed as a drop-in replacement for Redis OSS.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/touch-icon-ipad-144-smile.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More"><span class="kg-bookmark-author">Amazon Web Services, Inc.</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/aws_logo_smile_1200x630.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%93%B0-linux-and-open-source-news">&#x1F4F0; Linux and Open Source News</h2><ul><li>Ubisoft has surprised us with its <a href="https://news.itsfoss.com/ubisoft-chroma/">open source move</a>.</li><li><a href="https://news.itsfoss.com/ubuntu-25-04-release/">Ubuntu 25.04</a> has arrived, delivering many upgrades.</li><li>Similarly, <a href="https://news.itsfoss.com/xubuntu-25-04/">Xubuntu 25.04</a> and <a href="https://news.itsfoss.com/kubuntu-25-04/">Kubuntu 25.04</a> are here, offering up useful refinements.</li></ul><p><a href="https://news.itsfoss.com/zimaboard-2-kickstarter/">ZimaBoard 2 crowdfunding campaign</a> is live on Kickstarter. I had the early prototype sent a few days ago and I <a href="https://news.itsfoss.com/zimaboard-2-review/">share my experience with ZimaBoard 2 in this article</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/zimaboard-2-review/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Initial Impressions of the ZimaBoard 2 Homelab Device</div><div class="kg-bookmark-description">Apart from the silver exterior, I have nothing to complain about in ZimaBoard 2 even if it is a prototype at this stage.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-412.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Abhishek</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/zimaboard-2-review.webp" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%A7%A0-what-we%E2%80%99re-thinking-about">&#x1F9E0; What We&#x2019;re Thinking About</h2><p>Android&apos;s Linux Terminal just got <a href="https://www.androidauthority.com/android-16-terminal-disk-resize-3546144/">a noteworthy power up</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.androidauthority.com/android-16-terminal-disk-resize-3546144/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Android 16 lets the Linux Terminal use your phone&#x2019;s entire storage</div><div class="kg-bookmark-description">Android 16 Beta 4 uncaps the disk resizing slider, allowing you to allocate your phone&#x2019;s entire storage to the Linux Terminal.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/favicon-14.ico" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More"><span class="kg-bookmark-author">Android Authority</span><span class="kg-bookmark-publisher">Mishaal Rahman</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/Close-up_of_storage_settings_on_an_Android_phone-scaled.jpg" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%A7%AE-linux-tips-tutorials-and-more">&#x1F9EE; Linux Tips, Tutorials and More</h2><ul><li>It&apos;s easy to check <a href="https://itsfoss.com/find-desktop-environment/">which desktop environment</a> your Linux distro has.</li><li>Check out these 21 basic, yet <a href="https://itsfoss.com/basic-linux-networking-commands/">essential Linux networking commands</a>.</li><li>Some <a href="https://itsfoss.com/share-large-files-tool/">tools you can use when you have to share files in GB over the internet</a>.</li><li>Continuing the Logseq series, learn how to tag, link, and reference in Logseq <a href="https://itsfoss.com/logseq-pages-links-tags-blocks/">the right way</a>, and when you are done with that, you can <a href="https://itsfoss.com/logseq-plugins-themes/">try customizing it</a>.</li></ul><p>If you just installed or upgraded to the Ubuntu 25.04 release, <a href="https://news.itsfoss.com/things-to-do-after-installing-ubuntu-25-04/">here are 13 things</a> you should do right away:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/things-to-do-after-installing-ubuntu-25-04/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">13 Things to do After Installing Ubuntu 25.04</div><div class="kg-bookmark-description">Just installed Ubuntu 25.04? Here are some neat tips for you.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-411.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/things-to-do-after-installing-ubuntu-25-04.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure>
  446. <div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal   " data-layout="minimal">
  447.            
  448.            <div class="kg-cta-content">
  449.                
  450.                
  451.                    <div class="kg-cta-content-inner">
  452.                    
  453.                        <div class="kg-cta-text">
  454.                            <p><span style="white-space: pre-wrap;">Why should you opt for It&apos;s FOSS Plus membership:</span></p><p><span style="white-space: pre-wrap;">&#x2705; Ad-free reading experience</span><br><span style="white-space: pre-wrap;">&#x2705; Badges in the comment section and forum</span><br><span style="white-space: pre-wrap;">&#x2705; Supporting creation of educational Linux materials</span></p>
  455.                        </div>
  456.                    
  457.                    
  458.                        <a href="#/portal/account/plans" class="kg-cta-button " style="background-color: #000000; color: #ffffff;">
  459.                            Join It&apos;s FOSS Plus
  460.                        </a>
  461.                        
  462.                    </div>
  463.                
  464.            </div>
  465.        </div>
  466. <h2 id="%F0%9F%91%B7-homelab-and-makers-corner">&#x1F477; Homelab and Maker&apos;s Corner</h2><p>Build a real-time knowledge retrieval system with <a href="https://itsfoss.com/local-llm-rag-ollama-langchain/">our step-by-step RAG guide</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/local-llm-rag-ollama-langchain/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Tuning Local LLMs With RAG Using Ollama and Langchain</div><div class="kg-bookmark-description">Interested in taking your local AI set up to the next step? Here&#x2019;s a sample PDF-based RAG project.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-406.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Kumar</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/local-llm-rag-ollama-langchan-1.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%E2%9C%A8-apps-highlight">&#x2728; Apps Highlight</h2><p><a href="https://news.itsfoss.com/la-suite-numerique-docs/">Docs</a> is a self-hostable document editor solution with many neat features.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/la-suite-numerique-docs/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Online Docs... but Sovereign: This is Europe&#x2019;s Open Source Answer to Big Tech</div><div class="kg-bookmark-description">Docs is an open source, self-hosted document editor that allows real-time collaboration and gives users control over their data.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-407.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/docs-first-look.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%93%BD%EF%B8%8F-videos-i-am-creating-for-you">&#x1F4FD;&#xFE0F; Videos I am Creating for You</h2><p>See <a href="https://www.youtube.com/watch?v=4peRLY5QR2E">Fedora 42 in action in the latest video</a>. By the way, that weird default wallpaper has a significance.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/4peRLY5QR2E?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="Fedora 42: The Answer to Everything?"></iframe></figure><div class="kg-card kg-button-card kg-align-center"><a href="https://www.youtube.com/@itsfoss" class="kg-btn kg-btn-accent">Subscribe to It&apos;s FOSS YouTube Channel</a></div><h2 id="%F0%9F%A7%A9-quiz-time">&#x1F9E9; Quiz Time</h2><p>Try your hand at our <a href="https://itsfoss.com/quiz/essential-linux-commands-crossword/">Essential Linux Commands</a> crossword.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/quiz/essential-linux-commands-crossword/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Guess the Popular Linux Command: Crossword</div><div class="kg-bookmark-description">Test your Linux command line knowledge with this simple crossword puzzle. All you have to do is to correctly guess the essential Linux command.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-413.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/linux-command-crossword-1.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><p>Alternatively, can you match the Linux distros <a href="https://itsfoss.com/quiz/match-distros-logos/">with their logos</a>?</p><h2 id="%F0%9F%92%A1-quick-handy-tip">&#x1F4A1; Quick Handy Tip</h2><p>In GNOME File Manager (Nautilus), you can invert the selection of items using the keyboard shortcut <em>CTRL </em>+ <em>SHIFT </em>+<em> I</em>.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/inverse-selection-in-nautilus-file-manager-keyboard-shortcut.gif" class="kg-image" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More" loading="lazy" width="600" height="339" srcset="https://itsfoss.com/content/images/2025/04/inverse-selection-in-nautilus-file-manager-keyboard-shortcut.gif 600w"></figure><h2 id="%F0%9F%A4%A3-meme-of-the-week">&#x1F923; Meme of the Week</h2><p>Hah, this couldn&apos;t be more true. &#x1F606;</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/meme20.png" class="kg-image" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More" loading="lazy" width="1080" height="1080" srcset="https://itsfoss.com/content/images/size/w600/2025/04/meme20.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/meme20.png 1000w, https://itsfoss.com/content/images/2025/04/meme20.png 1080w" sizes="(min-width: 720px) 720px"></figure><h2 id="%F0%9F%97%93%EF%B8%8F-tech-trivia">&#x1F5D3;&#xFE0F; Tech Trivia</h2><p>On April 20, 1998, during a demonstration of a beta version of Windows 98 by Microsoft&apos;s Bill Gates, at COMDEX, the <a href="https://www.youtube.com/watch?v=73wMnU7xbwE">system crashed in the live event</a>. Gates jokingly said, &quot;That must be why we&apos;re not shipping Windows 98 yet&quot;. If you ever used Windows 98, you know that it should have never been shipped &#x1F609;</p><h2 id="%F0%9F%A7%91%E2%80%8D%F0%9F%A4%9D%E2%80%8D%F0%9F%A7%91-fossverse-corner">&#x1F9D1;&#x200D;&#x1F91D;&#x200D;&#x1F9D1; FOSSverse Corner</h2><p>Can you help a newbie FOSSer with <a href="https://itsfoss.community/t/looking-for-a-linux-distribution-chart/13538">their search</a> for a Linux distribution chart?</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.community/t/looking-for-a-linux-distribution-chart/13538"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Looking for a Linux distribution chart</div><div class="kg-bookmark-description">I&#x2019;m wondering if there&#x2019;s ever been a table/spreadsheet created to provide a basic breakdown of most, if not all, distros at a glance. I&#x2019;m not talking about subjective metrics like some charts display (e.g. user friendliness, cutting edge, community, etc.), but about objective criteria like the following: Available architecture Desktop environments (possibly with individual categories for filing system, window manager, terminal, etc.) Shell Package manager Installation (e.g. CLI, Calamares, etc&#x2026;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c_2_180x180-42.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More"><span class="kg-bookmark-author">It&apos;s FOSS Community</span><span class="kg-bookmark-publisher">Thunder_Chicken</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c-36.png" alt="FOSS Weekly #25.17: Ubuntu 25.04 and Fedora 42 Release Follow-ups, Logseq, ZimaBoard and More" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%E2%9D%A4%EF%B8%8F-with-love">&#x2764;&#xFE0F; With love</h2><p><strong>Share it with your Linux-using friends</strong>&#xA0;and encourage them to subscribe (hint:&#xA0;<a href="https://itsfoss.com/newsletter/">it&apos;s here</a>).</p><p>Share the articles in Linux Subreddits and community forums.</p><p><a href="https://news.google.com/publications/CAAiENHoh-T8yP9Q8Qywor2dwGkqFAgKIhDR6Ifk_Mj_UPEMsKK9ncBp?ref=itsfoss.com">Follow us on Google News</a>&#xA0;and stay updated in your News feed.</p><p>Opt for&#xA0;<a href="https://itsfoss.com/membership">It&apos;s FOSS Plus membership</a>&#xA0;and support us &#x1F64F;</p><p>Enjoy FOSS &#x1F604;</p>]]></content:encoded></item><item><title><![CDATA[Customize Logseq With Themes and Plugins]]></title><description><![CDATA[Extend the capability and enhance the looks for Logseq with themes and plugins.]]></description><link>https://itsfoss.com/logseq-plugins-themes/</link><guid isPermaLink="false">679c7d980450cf0bf34b19f4</guid><category><![CDATA[Logseq]]></category><dc:creator><![CDATA[Sreenath]]></dc:creator><pubDate>Wed, 23 Apr 2025 03:05:46 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/04/installing-plugins-and-themes-in-logseq.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/04/installing-plugins-and-themes-in-logseq.png" alt="Customize Logseq With Themes and Plugins"><p>Logseq provides all the necessary elements you need for creating your knowledge base. </p><p>But one size doesn&apos;t fit all. You may need something extra that is either too complicated to achieve in Logseq or not possible at all.</p><p>What do you do, then? You use external plugins and extensions.</p><p>Thankfully, Logseq has a thriving marketplace where you can explore various plugins and extensions created by individuals who craved more from Logseq,</p><p>Let me show you how you can install themes and plugins.</p><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x1F6A7;</div><div class="kg-callout-text">Privacy alert! Do note that plugins can access your graph and local files. You&apos;ll see this warning in Logseq as well. More granular permission control system is not yet available at the moment.</div></div><h2 id="installing-a-plugin-in-logseq">Installing a plugin in Logseq</h2><p>Click on the top-bar menu button and select <strong>Plugins</strong> as shown in the screenshot below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/logseq-click-on-menu-and-select-plugins.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="1039" height="461" srcset="https://itsfoss.com/content/images/size/w600/2025/01/logseq-click-on-menu-and-select-plugins.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/logseq-click-on-menu-and-select-plugins.png 1000w, https://itsfoss.com/content/images/2025/01/logseq-click-on-menu-and-select-plugins.png 1039w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Menu &#x2192; Plugins</span></figcaption></figure><p>In the Plugins window, click on <strong>Marketplace</strong>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/logseq-settings-click-on-the-marketplace-button.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="1193" height="567" srcset="https://itsfoss.com/content/images/size/w600/2025/01/logseq-settings-click-on-the-marketplace-button.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/logseq-settings-click-on-the-marketplace-button.png 1000w, https://itsfoss.com/content/images/2025/01/logseq-settings-click-on-the-marketplace-button.png 1193w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on Marketplace tab</span></figcaption></figure><p>This will open the Logseq Plugins Marketplace. You can click on the title of a plugin to get the details about that plugin, including a sample screenshot.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/Logseq-click-on-a-plugin-title-to-get-the-details-of-a-plugin.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="1070" height="689" srcset="https://itsfoss.com/content/images/size/w600/2025/01/Logseq-click-on-a-plugin-title-to-get-the-details-of-a-plugin.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/Logseq-click-on-a-plugin-title-to-get-the-details-of-a-plugin.png 1000w, https://itsfoss.com/content/images/2025/01/Logseq-click-on-a-plugin-title-to-get-the-details-of-a-plugin.png 1070w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on Plugin Title</span></figcaption></figure><p>If you find the plugin useful, use the <strong>Install</strong> button adjacent to the Plugin in the Marketplace section.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/Logseq-install-a-plugin-using-the-install-button-in-marketplace.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="1015" height="467" srcset="https://itsfoss.com/content/images/size/w600/2025/01/Logseq-install-a-plugin-using-the-install-button-in-marketplace.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/Logseq-install-a-plugin-using-the-install-button-in-marketplace.png 1000w, https://itsfoss.com/content/images/2025/01/Logseq-install-a-plugin-using-the-install-button-in-marketplace.png 1015w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Install a Plugin</span></figcaption></figure><h2 id="managing-plugins">Managing Plugins</h2><p>To manage a plugin, like enable/disable, fine-tune, etc., go to <strong>Menu &#x2192; Plugins</strong>. This will take you to the Manage Plugin interface.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">If you are on the Marketplace, just use the <b><strong style="white-space: pre-wrap;">Installed</strong></b> tab to get all the installed plugins.</div></div><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/installed-section-in-market-place.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="989" height="691" srcset="https://itsfoss.com/content/images/size/w600/2025/01/installed-section-in-market-place.png 600w, https://itsfoss.com/content/images/2025/01/installed-section-in-market-place.png 989w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Installed plugins section</span></figcaption></figure><p>Here, you can enable/disable plugins in Logseq using the corresponding toggle button. Similarly, hover over the settings gear icon for a plugin and select <strong>Open Settings</strong> option to access plugin configuration.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/click-on-settings-gear-for-plugins-settings.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="989" height="691" srcset="https://itsfoss.com/content/images/size/w600/2025/01/click-on-settings-gear-for-plugins-settings.png 600w, https://itsfoss.com/content/images/2025/01/click-on-settings-gear-for-plugins-settings.png 989w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on Plugin settings gear icon</span></figcaption></figure><h2 id="installing-themes-in-logseq">Installing themes in Logseq</h2><p>Logseq looks good by default to me but you can surely experiment with its looks by installing new themes.</p><p>Similar to what you saw in plugin installation section, click on the <strong>Plugins</strong> option from Logseq menu button.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/logseq-click-on-menu-and-select-plugins-1.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="1039" height="461" srcset="https://itsfoss.com/content/images/size/w600/2025/01/logseq-click-on-menu-and-select-plugins-1.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/logseq-click-on-menu-and-select-plugins-1.png 1000w, https://itsfoss.com/content/images/2025/01/logseq-click-on-menu-and-select-plugins-1.png 1039w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on Menu &#x2192; Plugins</span></figcaption></figure><p><strong>Why did I not click the Themes option above</strong>? Well, because that is for switching themes, not installing. </p><p>In the Plugins window, click on <strong>Marketplace</strong> section and select <strong>Themes</strong>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/logseq-in-the-market-place-select-the-themes-section.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="1010" height="678" srcset="https://itsfoss.com/content/images/size/w600/2025/01/logseq-in-the-market-place-select-the-themes-section.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/logseq-in-the-market-place-select-the-themes-section.png 1000w, https://itsfoss.com/content/images/2025/01/logseq-in-the-market-place-select-the-themes-section.png 1010w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Select Marketplace &#x2192; Themes</span></figcaption></figure><p>Click on the title of a theme to get the details, including screenshots.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/logseq-theme-details-page.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="1047" height="844" srcset="https://itsfoss.com/content/images/size/w600/2025/01/logseq-theme-details-page.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/logseq-theme-details-page.png 1000w, https://itsfoss.com/content/images/2025/01/logseq-theme-details-page.png 1047w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Logseq theme details page</span></figcaption></figure><p>To install a theme, use the <strong>Install</strong> button adjacent to the theme in Marketplace.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/logseq-click-on-the-install-button-to-install-the-theme.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="1009" height="679" srcset="https://itsfoss.com/content/images/size/w600/2025/01/logseq-click-on-the-install-button-to-install-the-theme.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/logseq-click-on-the-install-button-to-install-the-theme.png 1000w, https://itsfoss.com/content/images/2025/01/logseq-click-on-the-install-button-to-install-the-theme.png 1009w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click Install to install the theme</span></figcaption></figure><h3 id="enabledisable-themes-in-logseq">Enable/disable themes in Logseq</h3><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x1F6A7;</div><div class="kg-callout-text">Changing themes is not done in this window. Theme switching will be discussed below.</div></div><p>All the installed themes will be listed in <strong>Menu &#x2192; Plugins &#x2192; Installed &#x2192; Themes</strong> section.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/logseq-installed-themes-listed.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="1011" height="674" srcset="https://itsfoss.com/content/images/size/w600/2025/01/logseq-installed-themes-listed.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/logseq-installed-themes-listed.png 1000w, https://itsfoss.com/content/images/2025/01/logseq-installed-themes-listed.png 1011w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Installed themes listed</span></figcaption></figure><p>From here, you can disable/enable themes using the toggle button.</p><h3 id="changing-themes">Changing themes</h3><p>Make sure all the desired installed themes are enabled because disabled themes won&apos;t be shown in the theme switcher.</p><p>Click on the main menu button and select the <strong>Themes</strong> option.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/Logseq-click-on-settings-themes.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="980" height="451" srcset="https://itsfoss.com/content/images/size/w600/2025/01/Logseq-click-on-settings-themes.png 600w, https://itsfoss.com/content/images/2025/01/Logseq-click-on-settings-themes.png 980w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on Menu &#x2192; Themes</span></figcaption></figure><p>This will bring a drop-down menu interface from where you can select a theme. This is shown in the short video below.</p><figure class="kg-card kg-embed-card"><iframe src="https://player.vimeo.com/video/1052189325?app_id=122963" width="370" height="240" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media" title="Changing themes in Logseq"></iframe></figure><h2 id="updating-plugins-and-themes">Updating plugins and themes</h2><p>Occasionally, plugins and themes will provide updates. </p><p>To check for available plugin/theme updates, click on <strong>Menu &#x2192; Plugins</strong>.</p><p>Here, select the <strong>Installed</strong> section to access installed Themes and Plugins. There should be a <strong>Check for Update</strong> button for each item.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/logseq-click-on-check-updates-button.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="954" height="488" srcset="https://itsfoss.com/content/images/size/w600/2025/01/logseq-click-on-check-updates-button.png 600w, https://itsfoss.com/content/images/2025/01/logseq-click-on-check-updates-button.png 954w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on Check Update</span></figcaption></figure><p>Click on it to check if any updates are available for the selected plugin/theme.</p><h2 id="uninstall-plugins-and-themes">Uninstall plugins and themes</h2><p>By now you know that in Logseq, both Plugins and themes are considered as plugins. So, you can uninstall both in the same way.</p><p>First, click on Menu button and select the Plugins option.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/logseq-click-on-menu-and-select-plugins-2.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="1039" height="461" srcset="https://itsfoss.com/content/images/size/w600/2025/01/logseq-click-on-menu-and-select-plugins-2.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/logseq-click-on-menu-and-select-plugins-2.png 1000w, https://itsfoss.com/content/images/2025/01/logseq-click-on-menu-and-select-plugins-2.png 1039w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on the Menu and select Plugins</span></figcaption></figure><p>Here, go to the <strong>Installed</strong> section. Now, if you want to remove an installed Plugin, go to the <strong>Plugins</strong> tab. Else, if you would like to remove an installed theme, go to the <strong>Themes</strong> tab.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/logseq-select-plugins-or-themes-section-1.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="969" height="695" srcset="https://itsfoss.com/content/images/size/w600/2025/01/logseq-select-plugins-or-themes-section-1.png 600w, https://itsfoss.com/content/images/2025/01/logseq-select-plugins-or-themes-section-1.png 969w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Select Plugins or Themes Section</span></figcaption></figure><p>Hover over the settings gear of the item that needs to be removed and select the <strong>Uninstall</strong> button.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/logseq-uninstall-a-plugin-or-theme-1.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="963" height="539" srcset="https://itsfoss.com/content/images/size/w600/2025/01/logseq-uninstall-a-plugin-or-theme-1.png 600w, https://itsfoss.com/content/images/2025/01/logseq-uninstall-a-plugin-or-theme-1.png 963w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Uninstall a Plugin or Theme</span></figcaption></figure><p>When prompted for confirmation, click on <strong>Yes</strong>, and the plugin/theme will be removed.</p><h2 id="manage-plugins-from-logseq-settings">Manage plugins from Logseq settings</h2><p>Logseq settings provides a neat place for tweaking the installed Plugins and themes if they provide some extra settings.</p><p>Click on the menu button on the top-bar and select the <strong>Settings</strong> button.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/02/logseq-click-on-settings.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="1040" height="464" srcset="https://itsfoss.com/content/images/size/w600/2025/02/logseq-click-on-settings.png 600w, https://itsfoss.com/content/images/size/w1000/2025/02/logseq-click-on-settings.png 1000w, https://itsfoss.com/content/images/2025/02/logseq-click-on-settings.png 1040w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on Menu &#x2192; Settings</span></figcaption></figure><p>In the settings window, click on <strong>Plugins</strong> section.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/02/logseq-click-on-plugins.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="953" height="602" srcset="https://itsfoss.com/content/images/size/w600/2025/02/logseq-click-on-plugins.png 600w, https://itsfoss.com/content/images/2025/02/logseq-click-on-plugins.png 953w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Click on Plugins Section in Settings</span></figcaption></figure><p>Here, you can get a list of plugins and themes that offer some tweaks.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/02/logseq-plugins-and-settings-in-settings-window.png" class="kg-image" alt="Customize Logseq With Themes and Plugins" loading="lazy" width="953" height="436" srcset="https://itsfoss.com/content/images/size/w600/2025/02/logseq-plugins-and-settings-in-settings-window.png 600w, https://itsfoss.com/content/images/2025/02/logseq-plugins-and-settings-in-settings-window.png 953w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Plugin settings in Logseq Settings window</span></figcaption></figure><p>And that&apos;s all you need to know about exploring plugins and themes in Logseq. In the next tutorial in this series, I&apos;ll <a href="https://itsfoss.com/logseq-journals-contents/">discuss special Logseq pages like Journal</a>. Stay tuned.</p>]]></content:encoded></item><item><title><![CDATA[Tuning Local LLMs With RAG Using Ollama and Langchain]]></title><description><![CDATA[Interested in taking your local AI set up to the next step? Here's a sample PDF-based RAG project.]]></description><link>https://itsfoss.com/local-llm-rag-ollama-langchain/</link><guid isPermaLink="false">67e6942d4d0270f91a25c8ad</guid><category><![CDATA[AI 🤖]]></category><dc:creator><![CDATA[Abhishek Kumar]]></dc:creator><pubDate>Sun, 20 Apr 2025 14:46:21 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/04/local-llm-rag-ollama-langchan.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/04/local-llm-rag-ollama-langchan.png" alt="Tuning Local LLMs With RAG Using Ollama and Langchain"><p><a href="https://itsfoss.com/open-source-llms/" rel="noreferrer">Large Language Models (LLMs)</a> are powerful, but they have one major limitation: they rely solely on the knowledge they were trained on. </p><p>This means they lack real-time, domain-specific updates unless retrained, an expensive and impractical process. This is where <a href="https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/" rel="noreferrer"><strong>Retrieval-Augmented Generation (RAG)</strong></a> comes in.</p><p>RAG allows an LLM to retrieve relevant external knowledge before generating a response, effectively giving it access to fresh, contextual, and specific information. </p><p>Imagine having an AI assistant that not only remembers general facts but can also refer to your PDFs, notes, or private data for more precise responses.</p><p>This article takes a deep dive into how RAG works, how LLMs are trained, and how we can use <a href="https://ollama.com" rel="noreferrer">Ollama</a> and <a href="https://www.langchain.com/" rel="noreferrer">Langchain</a> to implement a local RAG system that fine-tunes an LLM&#x2019;s responses by embedding and retrieving external knowledge dynamically.</p><p>By the end of this tutorial, we&#x2019;ll build a PDF-based RAG project that allows users to upload documents and ask questions, with the model responding based on stored data.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x270B;</div><div class="kg-callout-text">I&#x2019;m not an AI expert. This article is a hands-on look at Retrieval Augmented Generation (RAG) with Ollama and Langchain, meant for learning and experimentation. There might be mistakes, and if you spot something off or have better insights, feel free to share. It&#x2019;s nowhere near the scale of how enterprises handle RAG, where they use massive datasets, specialized databases, and high-performance GPUs.</div></div><h2 id="what-is-retrieval-augmented-generation-rag">What is Retrieval-Augmented Generation (RAG)?</h2><p><a href="https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/" rel="noreferrer">RAG</a> is an <strong>AI framework</strong> that improves LLM responses by integrating real-time information retrieval. </p><p>Instead of relying only on its training data, the LLM retrieves <strong>relevant documents</strong> from an external source (such as a vector database) before generating an answer.</p><h3 id="how-rag-works">How RAG works</h3><ol><li><strong>Query Input</strong> &#x2013; The user submits a question.</li><li><strong>Document Retrieval</strong> &#x2013; A search algorithm fetches relevant text chunks from a vector store.</li><li><strong>Contextual Response Generation</strong> &#x2013; The retrieved text is fed into the LLM, guiding it to produce a more accurate and relevant answer.</li><li><strong>Final Output</strong> &#x2013; The response, now grounded in the retrieved knowledge, is returned to the user.</li></ol><h3 id="why-use-rag-instead-of-fine-tuning">Why use RAG instead of fine-tuning?</h3><ul><li><strong>No retraining required</strong> &#x2013; Traditional fine-tuning demands a lot of GPU power and labeled datasets. RAG eliminates this need by retrieving data dynamically.</li><li><strong>Up-to-date knowledge</strong> &#x2013; The model can refer to newly uploaded documents instead of relying on outdated training data.</li><li><strong>More accurate and domain-specific answers</strong> &#x2013; Ideal for legal, medical, or research-related tasks where accuracy is crucial.</li></ul><h2 id="how-llms-are-trained-and-why-rag-improves-them">How LLMs are trained (and why RAG improves them)</h2><p>Before diving into RAG, let&#x2019;s understand how LLMs are trained:</p><ol><li><strong>Pre-training</strong> &#x2013; The model learns language patterns, facts, and reasoning from vast amounts of text (e.g., books, Wikipedia).</li><li><strong>Fine-tuning</strong> &#x2013; It is further trained on specialized datasets for specific use cases (e.g., medical research, coding assistance).</li><li><strong>Inference</strong> &#x2013; The trained model is deployed to answer user queries.</li></ol><p>While fine-tuning is helpful, it has limitations:</p><ul><li>It is <strong>computationally expensive</strong>.</li><li>It does <strong>not allow dynamic updates</strong> to knowledge.</li><li>It <strong>may introduce biases</strong> if trained on limited datasets.</li></ul><p>With RAG, we bypass these issues by allowing real-time retrieval from external sources, making LLMs far more adaptable.</p><h2 id="building-a-local-rag-application-with-ollama-and-langchain">Building a local RAG application with Ollama and Langchain</h2><p>In this tutorial, we&apos;ll build a simple RAG-powered document retrieval app using LangChain, <a href="https://www.trychroma.com/">ChromaDB</a>, and <a href="https://itsfoss.com/ollama/" rel="noreferrer">Ollama</a>. </p><p>The app lets users upload PDFs, embed them in a vector database, and query for relevant information.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">All the code is available in <a href="https://github.com/itsfoss/rag-tutorial">our GitHub repository</a>. You can clone it and start testing right away.</div></div><h3 id="installing-dependencies">Installing dependencies</h3><p>To avoid messing up our system packages, we&#x2019;ll first create a Python virtual environment. This keeps our dependencies isolated and prevents conflicts with system-wide Python packages.</p><p>Navigate to your project directory and create a virtual environment:</p><pre><code class="language-bash">cd ~/RAG-Tutorial
  467. python3 -m venv venv</code></pre><p>Now, activate the virtual environment:</p><pre><code class="language-bash">source venv/bin/activate</code></pre><p>Once activated, your terminal prompt should change to indicate that you are now inside the virtual environment.</p><p>With the virtual environment activated, install the necessary Python packages using <code>requirements.txt</code>:</p><pre><code class="language-bash">pip install -r requirements.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/03/installing-dependencies.png" class="kg-image" alt="Tuning Local LLMs With RAG Using Ollama and Langchain" loading="lazy" width="1344" height="864" srcset="https://itsfoss.com/content/images/size/w600/2025/03/installing-dependencies.png 600w, https://itsfoss.com/content/images/size/w1000/2025/03/installing-dependencies.png 1000w, https://itsfoss.com/content/images/2025/03/installing-dependencies.png 1344w" sizes="(min-width: 720px) 720px"></figure><p>This will install all the required dependencies for our RAG pipeline, including Flask, LangChain, Ollama, and Pydantic.</p><p>Once installed, you&#x2019;re all set to proceed with the next steps!</p><h3 id="project-structure">Project structure</h3><p>Our project is structured as follows:</p><pre><code class="language-bash">RAG-Tutorial/
  468. &#x2502;&#x2500;&#x2500; app.py              # Main Flask server
  469. &#x2502;&#x2500;&#x2500; embed.py            # Handles document embedding
  470. &#x2502;&#x2500;&#x2500; query.py            # Handles querying the vector database
  471. &#x2502;&#x2500;&#x2500; get_vector_db.py    # Manages ChromaDB instance
  472. &#x2502;&#x2500;&#x2500; .env                # Stores environment variables
  473. &#x2502;&#x2500;&#x2500; requirements.txt    # List of dependencies
  474. &#x2514;&#x2500;&#x2500; _temp/              # Temporary storage for uploaded files</code></pre><h3 id="step-1-creating-apppy-flask-api-server">Step 1: Creating app.py (Flask API Server)</h3><p>This script sets up a Flask server with two endpoints:</p><ul><li><code>/embed</code> &#x2013; Uploads a PDF and stores its embeddings in ChromaDB.</li><li><code>/query</code> &#x2013; Accepts a user query and retrieves relevant text chunks from ChromaDB.</li><li><code>route_embed()</code>: Saves an uploaded file and embeds its contents in ChromaDB.</li><li><code>route_query()</code>: Accepts a query and retrieves relevant document chunks.</li></ul><pre><code class="language-python">import os
  475. from dotenv import load_dotenv
  476. from flask import Flask, request, jsonify
  477. from embed import embed
  478. from query import query
  479. from get_vector_db import get_vector_db
  480.  
  481. load_dotenv()
  482. TEMP_FOLDER = os.getenv(&apos;TEMP_FOLDER&apos;, &apos;./_temp&apos;)
  483. os.makedirs(TEMP_FOLDER, exist_ok=True)
  484.  
  485. app = Flask(__name__)
  486.  
  487. @app.route(&apos;/embed&apos;, methods=[&apos;POST&apos;])
  488. def route_embed():
  489.    if &apos;file&apos; not in request.files:
  490.        return jsonify({&quot;error&quot;: &quot;No file part&quot;}), 400
  491.    file = request.files[&apos;file&apos;]
  492.    if file.filename == &apos;&apos;:
  493.        return jsonify({&quot;error&quot;: &quot;No selected file&quot;}), 400
  494.    embedded = embed(file)
  495.    return jsonify({&quot;message&quot;: &quot;File embedded successfully&quot;}) if embedded else jsonify({&quot;error&quot;: &quot;Embedding failed&quot;}), 400
  496.  
  497. @app.route(&apos;/query&apos;, methods=[&apos;POST&apos;])
  498. def route_query():
  499.    data = request.get_json()
  500.    response = query(data.get(&apos;query&apos;))
  501.    return jsonify({&quot;message&quot;: response}) if response else jsonify({&quot;error&quot;: &quot;Query failed&quot;}), 400
  502.  
  503. if __name__ == &apos;__main__&apos;:
  504.    app.run(host=&quot;0.0.0.0&quot;, port=8080, debug=True)</code></pre><h3 id="step-2-creating-embedpy-embedding-documents">Step 2: Creating embed.py (embedding documents)</h3><p>This file handles document processing, extracts text, and stores vector embeddings in ChromaDB.</p><ul><li><code>allowed_file()</code>: Ensures only PDFs are processed.</li><li><code>save_file()</code>: Saves the uploaded file temporarily.</li><li><code>load_and_split_data()</code>: Uses <code>UnstructuredPDFLoader</code> and <code>RecursiveCharacterTextSplitter</code> to extract text and split it into manageable chunks.</li><li><code>embed()</code>: Converts text chunks into vector embeddings and stores them in ChromaDB.</li></ul><pre><code class="language-python">import os
  505. from datetime import datetime
  506. from werkzeug.utils import secure_filename
  507. from langchain_community.document_loaders import UnstructuredPDFLoader
  508. from langchain_text_splitters import RecursiveCharacterTextSplitter
  509. from get_vector_db import get_vector_db
  510.  
  511. TEMP_FOLDER = os.getenv(&apos;TEMP_FOLDER&apos;, &apos;./_temp&apos;)
  512.  
  513. def allowed_file(filename):
  514.    return filename.lower().endswith(&apos;.pdf&apos;)
  515.  
  516. def save_file(file):
  517.    filename = f&quot;{datetime.now().timestamp()}_{secure_filename(file.filename)}&quot;
  518.    file_path = os.path.join(TEMP_FOLDER, filename)
  519.    file.save(file_path)
  520.    return file_path
  521.  
  522. def load_and_split_data(file_path):
  523.    loader = UnstructuredPDFLoader(file_path=file_path)
  524.    data = loader.load()
  525.    text_splitter = RecursiveCharacterTextSplitter(chunk_size=7500, chunk_overlap=100)
  526.    return text_splitter.split_documents(data)
  527.  
  528. def embed(file):
  529.    if file and allowed_file(file.filename):
  530.        file_path = save_file(file)
  531.        chunks = load_and_split_data(file_path)
  532.        db = get_vector_db()
  533.        db.add_documents(chunks)
  534.        db.persist()
  535.        os.remove(file_path)
  536.        return True
  537.    return False</code></pre><h3 id="step-3-creating-querypy-query-processing">Step 3: Creating query.py (Query processing)</h3><p>It retrieves relevant information from ChromaDB and uses an LLM to generate responses.</p><ul><li><code>get_prompt()</code>: Creates a structured prompt for multi-query retrieval.</li><li><code>query()</code>: Uses Ollama&apos;s LLM to rephrase the user query, retrieve relevant document chunks, and generate a response.</li></ul><pre><code class="language-python">import os
  538. from langchain_community.chat_models import ChatOllama
  539. from langchain.prompts import ChatPromptTemplate, PromptTemplate
  540. from langchain_core.output_parsers import StrOutputParser
  541. from langchain_core.runnables import RunnablePassthrough
  542. from langchain.retrievers.multi_query import MultiQueryRetriever
  543. from get_vector_db import get_vector_db
  544.  
  545. LLM_MODEL = os.getenv(&apos;LLM_MODEL&apos;)
  546. OLLAMA_HOST = os.getenv(&apos;OLLAMA_HOST&apos;, &apos;http://localhost:11434&apos;)
  547.  
  548. def get_prompt():
  549.    QUERY_PROMPT = PromptTemplate(
  550.        input_variables=[&quot;question&quot;],
  551.        template=&quot;&quot;&quot;You are an AI assistant. Generate five reworded versions of the user question
  552.        to improve document retrieval. Original question: {question}&quot;&quot;&quot;,
  553.    )
  554.    template = &quot;Answer the question based ONLY on this context:\n{context}\nQuestion: {question}&quot;
  555.    prompt = ChatPromptTemplate.from_template(template)
  556.    return QUERY_PROMPT, prompt
  557.  
  558. def query(input):
  559.    if input:
  560.        llm = ChatOllama(model=LLM_MODEL)
  561.        db = get_vector_db()
  562.        QUERY_PROMPT, prompt = get_prompt()
  563.        retriever = MultiQueryRetriever.from_llm(db.as_retriever(), llm, prompt=QUERY_PROMPT)
  564.        chain = ({&quot;context&quot;: retriever, &quot;question&quot;: RunnablePassthrough()} | prompt | llm | StrOutputParser())
  565.        return chain.invoke(input)
  566.    return None</code></pre><h3 id="step-4-creating-getvectordbpy-vector-database-management">Step 4: Creating get_vector_db.py (Vector database management)</h3><p>It initializes and manages ChromaDB, which stores text embeddings for fast retrieval.</p><ul><li><code>get_vector_db()</code>: Initializes ChromaDB with the <strong>Nomic embedding model</strong> and loads stored document vectors.</li></ul><pre><code class="language-python">import os
  567. from langchain_community.embeddings import OllamaEmbeddings
  568. from langchain_community.vectorstores.chroma import Chroma
  569.  
  570. CHROMA_PATH = os.getenv(&apos;CHROMA_PATH&apos;, &apos;chroma&apos;)
  571. COLLECTION_NAME = os.getenv(&apos;COLLECTION_NAME&apos;)
  572. TEXT_EMBEDDING_MODEL = os.getenv(&apos;TEXT_EMBEDDING_MODEL&apos;)
  573. OLLAMA_HOST = os.getenv(&apos;OLLAMA_HOST&apos;, &apos;http://localhost:11434&apos;)
  574.  
  575. def get_vector_db():
  576.    embedding = OllamaEmbeddings(model=TEXT_EMBEDDING_MODEL, show_progress=True)
  577.    return Chroma(collection_name=COLLECTION_NAME, persist_directory=CHROMA_PATH, embedding_function=embedding)</code></pre><h3 id="step-5-environment-variables">Step 5: Environment variables</h3><p>Create <code>.env</code>, to store environment variables:</p><pre><code class="language-bash">TEMP_FOLDER = &apos;./_temp&apos;
  578. CHROMA_PATH = &apos;chroma&apos;
  579. COLLECTION_NAME = &apos;rag-tutorial&apos;
  580. LLM_MODEL = &apos;smollm:360m&apos;
  581. TEXT_EMBEDDING_MODEL = &apos;nomic-embed-text&apos;
  582. </code></pre><ul><li><code>TEMP_FOLDER</code>: Stores uploaded PDFs temporarily.</li><li><code>CHROMA_PATH</code>: Defines the storage location for ChromaDB.</li><li><code>COLLECTION_NAME</code>: Sets the ChromaDB collection name.</li><li><code>LLM_MODEL</code>: Specifies the LLM model used for querying.</li><li><code>TEXT_EMBEDDING_MODEL</code>: Defines the embedding model for vector storage.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/03/listing-ollama-models.png" class="kg-image" alt="Tuning Local LLMs With RAG Using Ollama and Langchain" loading="lazy" width="924" height="352" srcset="https://itsfoss.com/content/images/size/w600/2025/03/listing-ollama-models.png 600w, https://itsfoss.com/content/images/2025/03/listing-ollama-models.png 924w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">I&apos;m using these light weight LLMs for this tutorial, as I don&apos;t have dedicated GPU to inference large models. | You can edit your LLMs in the .env file</span></figcaption></figure><h2 id="testing-the-makeshift-rag-llm-pipeline">Testing the makeshift RAG + LLM Pipeline</h2><p>Now that our RAG app is set up, we need to validate its effectiveness. The goal is to ensure that the system correctly:</p><ol><li><strong>Embeds documents</strong> &#x2013; Converts text into vector embeddings and stores them in ChromaDB.</li><li><strong>Retrieves relevant chunks</strong> &#x2013; Fetches the most relevant text snippets from ChromaDB based on a query.</li><li><strong>Generates meaningful responses</strong> &#x2013; Uses Ollama to construct an intelligent response based on retrieved data.</li></ol><p>This testing phase ensures that our makeshift RAG pipeline is functioning as expected and can be fine-tuned if necessary.</p><h3 id="running-the-flask-server">Running the flask server</h3><p>We first need to make sure our Flask app is running. Open a terminal, navigate to your project directory, and activate your virtual environment:</p><pre><code class="language-bash">cd ~/RAG-Tutorial
  583. source venv/bin/activate  # On Linux/macOS
  584. # or
  585. venv\Scripts\activate  # On Windows (if using venv)
  586. </code></pre><p>Now, run the Flask app:</p><pre><code class="language-bash">python3 app.py</code></pre><p>If everything is set up correctly, the server should start and listen on <code>http://localhost:8080</code>. You should see output like:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/03/running-flask-server.png" class="kg-image" alt="Tuning Local LLMs With RAG Using Ollama and Langchain" loading="lazy" width="1499" height="513" srcset="https://itsfoss.com/content/images/size/w600/2025/03/running-flask-server.png 600w, https://itsfoss.com/content/images/size/w1000/2025/03/running-flask-server.png 1000w, https://itsfoss.com/content/images/2025/03/running-flask-server.png 1499w" sizes="(min-width: 720px) 720px"></figure><p>Once the server is running, we&apos;ll use <code>curl</code> commands to interact with our pipeline and analyze the responses to confirm everything works as expected.</p><h3 id="1-testing-document-embedding">1. Testing Document Embedding</h3><p>The first step is to upload a document and ensure its contents are successfully embedded into ChromaDB.</p><pre><code class="language-bash">curl --request POST \
  587.  --url http://localhost:8080/embed \
  588.  --header &apos;Content-Type: multipart/form-data&apos; \
  589.  --form file=@/path/to/file.pdf</code></pre><p><strong>Breakdown:</strong></p><ul><li><code>curl --request POST</code> &#x2192; Sends a <code>POST</code> request to our API.</li><li><code>--url http://localhost:8080/embed</code> &#x2192; Targets our <code>embed</code> endpoint running on port 8080.</li><li><code>--header &apos;Content-Type: multipart/form-data&apos;</code> &#x2192; Specifies that we are uploading a file.</li><li><code>--form file=@/path/to/file.pdf</code> &#x2192; Attaches a file (in this case, a PDF) to be processed.</li></ul><p><strong>Expected Response:</strong></p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/03/embedding-sucessfull-1.png" class="kg-image" alt="Tuning Local LLMs With RAG Using Ollama and Langchain" loading="lazy" width="1050" height="402" srcset="https://itsfoss.com/content/images/size/w600/2025/03/embedding-sucessfull-1.png 600w, https://itsfoss.com/content/images/size/w1000/2025/03/embedding-sucessfull-1.png 1000w, https://itsfoss.com/content/images/2025/03/embedding-sucessfull-1.png 1050w" sizes="(min-width: 720px) 720px"></figure><h4 id="what%E2%80%99s-happening-internally">What&#x2019;s Happening Internally?</h4><ol><li>The server reads the uploaded PDF file.</li><li>The text is extracted, split into chunks, and converted into vector embeddings.</li><li>These embeddings are stored in ChromaDB for future retrieval.</li></ol><h4 id="if-something-goes-wrong">If Something Goes Wrong:</h4>
  590. <!--kg-card-begin: html-->
  591. <table data-start="1800" data-end="2048" node="[object Object]"><thead data-start="1800" data-end="1832"><tr data-start="1800" data-end="1832"><th data-start="1800" data-end="1808">Issue</th><th data-start="1808" data-end="1825">Possible Cause</th><th data-start="1825" data-end="1832">Fix</th></tr></thead><tbody data-start="1865" data-end="2048"><tr data-start="1865" data-end="1957"><td><code data-start="1867" data-end="1886">&quot;status&quot;: &quot;error&quot;</code></td><td>File not found or unreadable</td><td>Check the file path and permissions</td></tr><tr data-start="1958" data-end="2048"><td><code data-start="1960" data-end="1985">collection.count() == 0</code></td><td>ChromaDB storage failure</td><td>Restart ChromaDB and check logs</td></tr></tbody></table>
  592. <!--kg-card-end: html-->
  593. <h3 id="2-querying-the-document">2. Querying the Document</h3><p>Now that our document is embedded, we can test whether relevant information is retrieved when we ask a question.</p><pre><code class="language-bash">curl --request POST \
  594.  --url http://localhost:8080/query \
  595.  --header &apos;Content-Type: application/json&apos; \
  596.  --data &apos;{ &quot;query&quot;: &quot;Question about the PDF?&quot; }&apos;</code></pre><p><strong>Breakdown:</strong></p><ul><li><code>curl --request POST</code> &#x2192; Sends a <code>POST</code> request.</li><li><code>--url http://localhost:8080/query</code> &#x2192; Targets our <code>query</code> endpoint.</li><li><code>--header &apos;Content-Type: application/json&apos;</code> &#x2192; Specifies that we are sending JSON data.</li><li><code>--data &apos;{ &quot;query&quot;: &quot;Question about the PDF?&quot; }&apos;</code> &#x2192; Sends our search query to retrieve relevant information.</li></ul><p><strong>Expected Response:</strong></p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/03/querying-rag-pipeline.png" class="kg-image" alt="Tuning Local LLMs With RAG Using Ollama and Langchain" loading="lazy" width="1789" height="525" srcset="https://itsfoss.com/content/images/size/w600/2025/03/querying-rag-pipeline.png 600w, https://itsfoss.com/content/images/size/w1000/2025/03/querying-rag-pipeline.png 1000w, https://itsfoss.com/content/images/size/w1600/2025/03/querying-rag-pipeline.png 1600w, https://itsfoss.com/content/images/2025/03/querying-rag-pipeline.png 1789w" sizes="(min-width: 720px) 720px"></figure><h4 id="what%E2%80%99s-happening-internally-1">What&#x2019;s Happening Internally?</h4><ol><li>The query <code>&quot;Whats in this file?&quot;</code> is passed to ChromaDB to retrieve the most relevant chunks.</li><li>The retrieved chunks are passed to Ollama as context for generating a response.</li><li>Ollama formulates a meaningful reply based on the retrieved information.</li></ol><h4 id="if-the-response-is-not-good-enough">If the Response is Not Good Enough:</h4>
  597. <!--kg-card-begin: html-->
  598. <table data-start="3478" data-end="3850" node="[object Object]"><thead data-start="3478" data-end="3510"><tr data-start="3478" data-end="3510"><th data-start="3478" data-end="3486">Issue</th><th data-start="3486" data-end="3503">Possible Cause</th><th data-start="3503" data-end="3510">Fix</th></tr></thead><tbody data-start="3543" data-end="3850"><tr data-start="3543" data-end="3644"><td>Retrieved chunks are irrelevant</td><td>Poor chunking strategy</td><td>Adjust chunk sizes and retry embedding</td></tr><tr data-start="3645" data-end="3755"><td><code data-start="3647" data-end="3679">&quot;llm_response&quot;: &quot;I don&apos;t know&quot;</code></td><td>Context wasn&apos;t passed properly</td><td>Check if ChromaDB is returning results</td></tr><tr data-start="3756" data-end="3850"><td>Response lacks document details</td><td>LLM needs better instructions</td><td>Modify the system prompt</td></tr></tbody></table>
  599. <!--kg-card-end: html-->
  600. <h3 id="3-fine-tuning-the-llm-for-better-responses">3. Fine-tuning the LLM for better responses</h3><p>If Ollama&#x2019;s responses aren&#x2019;t detailed enough, we need to refine how we provide context.</p><h4 id="tuning-strategies">Tuning strategies:</h4><ol><li>Improve Chunking &#x2013; Ensure text chunks are large enough to retain meaning but small enough for effective retrieval.</li><li>Enhance Retrieval &#x2013; Increase <code>n_results</code> to fetch more relevant document chunks.</li><li>Modify the LLM Prompt &#x2013; Add structured instructions for better responses.</li></ol><h4 id="example-system-prompt-for-ollama">Example system prompt for Ollama:</h4><pre><code class="language-bash">prompt = f&quot;&quot;&quot;
  601. You are an AI assistant helping users retrieve information from documents.
  602. Use the following document snippets to provide a helpful answer.
  603. If the answer isn&apos;t in the retrieved text, say &apos;I don&apos;t know.&apos;
  604.  
  605. Retrieved context:
  606. {retrieved_chunks}
  607.  
  608. User&apos;s question:
  609. {query_text}
  610. &quot;&quot;&quot;
  611. </code></pre><p>This ensures that Ollama:</p><ul><ul><li>Uses retrieved text properly.</li><li>Avoids hallucinations by sticking to available context.</li><li>Provides meaningful, structured answers.</li></ul></ul><h2 id="final-thoughts">Final thoughts</h2><p>Building this makeshift RAG LLM tuning pipeline has been an insightful experience, but I want to be clear, I&#x2019;m not an AI expert. Everything here is something I&#x2019;m still learning myself. </p><p>There are bound to be mistakes, inefficiencies, and things that could be improved. If you&#x2019;re someone who knows better or if I&#x2019;ve missed any crucial points, please feel free to share your insights. </p><p>That said, this project gave me a small glimpse into how RAG works. At its core, RAG is about fetching the right context before asking an LLM to generate a response. </p><p>It&#x2019;s what makes AI chatbots capable of retrieving information from vast datasets instead of just responding based on their training data. </p><p>Large companies use this technique at scale, processing massive amounts of data, fine-tuning their models, and optimizing their retrieval mechanisms to build AI assistants that feel intuitive and knowledgeable.</p><p>What we built here is nowhere near that level, but it was still fascinating to see how we can direct an LLM&#x2019;s responses by controlling what information it retrieves. </p><p>Even with this basic setup, we saw how much impact retrieval quality, chunking strategies, and prompt design have on the final response.</p><p>This makes me wonder, have you ever thought about training your own LLM? Would you be interested in something like this but fine-tuned specifically for Linux tutorials? </p><p>Imagine a custom-tuned LLM that could answer your Linux questions with accurate, RAG-powered responses, would you use it? Let us know in the comments!</p>]]></content:encoded></item><item><title><![CDATA[Exploring Pages, Links, Tags, and Block References in Logseq]]></title><description><![CDATA[Understand the basic building blocks of Logseq note management.]]></description><link>https://itsfoss.com/logseq-pages-links-tags-blocks/</link><guid isPermaLink="false">679b73f40450cf0bf34afc42</guid><category><![CDATA[Logseq]]></category><dc:creator><![CDATA[Sreenath]]></dc:creator><pubDate>Sat, 19 Apr 2025 13:00:24 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/04/references-in-logseq.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/04/references-in-logseq.png" alt="Exploring Pages, Links, Tags, and Block References in Logseq"><p>Simply <a href="https://itsfoss.com/logseq-format-text/">creating well-formatted notes</a> isn&#x2019;t enough to manage the information you collect in daily life&#x2014;accessibility is key.</p><p>If you can&apos;t easily retrieve that information and its context, the whole point of &quot;knowledge management&quot; falls apart.</p><p>From my experience using it daily for several months, I&#x2019;d say Logseq does a better job of interlinking notes than any other app I&#x2019;ve tried.</p><p>So, without further ado, let&#x2019;s dive in.</p><h2 id="the-concept-of-page-links-and-tags">The concept of page, links, and tags</h2><p>If you&#x2019;ve used Logseq before, you&#x2019;ve likely noticed one key thing: <strong>everything is a block</strong>. Your data is structured as intentional, individual blocks. When you type a sentence and hit Enter, instead of just creating a new line, Logseq starts a new bullet point.</p><p>This design brings both clarity and complexity.</p><p>In Logseq, pages are made up of bullet-formatted text. Each page acts like a link&#x2014;and when you search for a page that doesn&#x2019;t exist, Logseq simply creates it for you.</p><p>Here&#x2019;s the core idea: <strong>pages and tags function in a very similar way</strong>. You can think of a tag as a special kind of page that collects links to all content marked with that tag. For a deeper dive into this concept, I recommend <a href="https://discuss.logseq.com/t/the-difference-between-page-links-tags-and-properties/8393">checking out this forum post</a>.</p><p>Logseq also supports <strong>block references</strong>, which let you link directly to any specific block&#x2014;meaning you can reference a single sentence from one note in another.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">Ultimately, it is the end-user&apos;s creativity that creates a perfect content organization. There is no one way of using Logseq for knowledge management. It&apos;s up to you how you use it.</div></div><h2 id="creating-a-new-page-in-logseq">Creating a new page in Logseq</h2><p>Click on the top-left search icon. This will bring a search overlay. Here, enter the name of the page you want to create.</p><p>If no such page is present, you will get an option to create a new page.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/click-on-search-icon-and-enter-a-page-name.png" class="kg-image" alt="Exploring Pages, Links, Tags, and Block References in Logseq" loading="lazy" width="882" height="565" srcset="https://itsfoss.com/content/images/size/w600/2025/01/click-on-search-icon-and-enter-a-page-name.png 600w, https://itsfoss.com/content/images/2025/01/click-on-search-icon-and-enter-a-page-name.png 882w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Search for a note</span></figcaption></figure><p>For example, I created a page called &quot;My Logseq Notes&quot; and you can see this newly created page in &apos;All pages&apos; tab on Logseq sidebar.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/new-page-is-listed-among-other-default-pages.png" class="kg-image" alt="Exploring Pages, Links, Tags, and Block References in Logseq" loading="lazy" width="997" height="660" srcset="https://itsfoss.com/content/images/size/w600/2025/01/new-page-is-listed-among-other-default-pages.png 600w, https://itsfoss.com/content/images/2025/01/new-page-is-listed-among-other-default-pages.png 997w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">New page listed in &quot;All Pages&quot; tab</span></figcaption></figure><p>Logseq stores all the created page in the <code>pages</code> directory inside the Logseq folder you have chosen on your system.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/pages-folder-in-logseq-directory.png" class="kg-image" alt="Exploring Pages, Links, Tags, and Block References in Logseq" loading="lazy" width="936" height="570" srcset="https://itsfoss.com/content/images/size/w600/2025/01/pages-folder-in-logseq-directory.png 600w, https://itsfoss.com/content/images/2025/01/pages-folder-in-logseq-directory.png 936w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The Logseq </span><code spellcheck="false" style="white-space: pre-wrap;"><span>pages</span></code><span style="white-space: pre-wrap;"> directory in File Manager</span></figcaption></figure><p><strong>There won&apos;t be any nested directories to store sub-pages</strong>. All those things will be done using links and tags. In fact, there is no point to look into the Logseq directory manually. Use the app interface, where the data will appear organized.</p><h3 id="%E2%8C%A8%EF%B8%8F-use-keyboard-shortcut-for-creating-pages">&#x2328;&#xFE0F; Use keyboard shortcut for creating pages</h3><p>Powerful tools like Logseq are better used with keyboard. You can create pages/links/references using only keyboard, without touching the mouse.</p><p>The common syntax to create a page or link in Logseq is:</p><pre><code>#One-word-page-name</code></pre><p>You can press the <code>#</code> symbol and enter a one word name. If there are no pages with the name exists, a new page is created. Else, link to the mentioned page is added.</p><p>If you need to create a page with multiple words, use:</p><pre><code>#[[Page with multiple words separated with space]]</code></pre><p>Place the name of the note within two <code>[[]]</code> symbol.</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://itsfoss.com/content/media/2025/01/pages-in-logseq-keyboard-syntax_thumb.jpg" data-kg-custom-thumbnail>
  612.            <div class="kg-video-container">
  613.                <video src="https://itsfoss.com/content/media/2025/01/pages-in-logseq-keyboard-syntax.mp4" poster="https://img.spacergif.org/v1/990x290/0a/spacer.png" width="990" height="290" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://itsfoss.com/content/media/2025/01/pages-in-logseq-keyboard-syntax_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
  614.                <div class="kg-video-overlay">
  615.                    <button class="kg-video-large-play-icon" aria-label="Play video">
  616.                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  617.                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  618.                        </svg>
  619.                    </button>
  620.                </div>
  621.                <div class="kg-video-player-container kg-video-hide">
  622.                    <div class="kg-video-player">
  623.                        <button class="kg-video-play-icon" aria-label="Play video">
  624.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  625.                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  626.                            </svg>
  627.                        </button>
  628.                        <button class="kg-video-pause-icon kg-video-hide" aria-label="Pause video">
  629.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  630.                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  631.                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  632.                            </svg>
  633.                        </button>
  634.                        <span class="kg-video-current-time">0:00</span>
  635.                        <div class="kg-video-time">
  636.                            /<span class="kg-video-duration">0:32</span>
  637.                        </div>
  638.                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
  639.                        <button class="kg-video-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button>
  640.                        <button class="kg-video-unmute-icon" aria-label="Unmute">
  641.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  642.                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
  643.                            </svg>
  644.                        </button>
  645.                        <button class="kg-video-mute-icon kg-video-hide" aria-label="Mute">
  646.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  647.                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
  648.                            </svg>
  649.                        </button>
  650.                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
  651.                    </div>
  652.                </div>
  653.            </div>
  654.            <figcaption><p><span style="white-space: pre-wrap;">Create pages with single word name or multi-word names.</span></p></figcaption>
  655.        </figure><h2 id="using-tags">Using Tags</h2><p>In the example above, I have created two pages, one without spaces in the name, while the other has spaces. </p><p>Both of them can be considered as tags.</p><p>Confused? The further interlinking of these pages actually defines if it&apos;s a page or a tag. </p><p>If you are using it as a &apos;special page&apos; to accumulate similar contents, then it can be considered as a tag. If you are filling paragraphs of text inside it, then it will be a regular page.</p><p>Basically, a tag-page is also a page but it has the links to all the pages marked with the said tag.</p><p>To add a tag to a particular note, you can type <code>#&lt;tag-name&gt;</code> anywhere in the note. For convenience and better organization, you can add at the end of the note.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/adding-tags.png" class="kg-image" alt="Exploring Pages, Links, Tags, and Block References in Logseq" loading="lazy" width="913" height="340" srcset="https://itsfoss.com/content/images/size/w600/2025/01/adding-tags.png 600w, https://itsfoss.com/content/images/2025/01/adding-tags.png 913w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Adding Simple Tags</span></figcaption></figure><h2 id="linking-to-a-page">Linking to a page</h2><p>Creating a new page and adding a link to an existing page is the same process in Logseq. You have seen it above.</p><p>If you press the <code>[[]]</code> and type a name, if that name already exists, a link to that page is created. Else, a new page is created.</p><p>In the short video below, you can see the process of linking a note in another note.</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://itsfoss.com/content/media/2025/01/creating-links-in-logseq_thumb.jpg" data-kg-custom-thumbnail>
  656.            <div class="kg-video-container">
  657.                <video src="https://itsfoss.com/content/media/2025/01/creating-links-in-logseq.mp4" poster="https://img.spacergif.org/v1/786x436/0a/spacer.png" width="786" height="436" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://itsfoss.com/content/media/2025/01/creating-links-in-logseq_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
  658.                <div class="kg-video-overlay">
  659.                    <button class="kg-video-large-play-icon" aria-label="Play video">
  660.                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  661.                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  662.                        </svg>
  663.                    </button>
  664.                </div>
  665.                <div class="kg-video-player-container kg-video-hide">
  666.                    <div class="kg-video-player">
  667.                        <button class="kg-video-play-icon" aria-label="Play video">
  668.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  669.                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  670.                            </svg>
  671.                        </button>
  672.                        <button class="kg-video-pause-icon kg-video-hide" aria-label="Pause video">
  673.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  674.                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  675.                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  676.                            </svg>
  677.                        </button>
  678.                        <span class="kg-video-current-time">0:00</span>
  679.                        <div class="kg-video-time">
  680.                            /<span class="kg-video-duration">0:22</span>
  681.                        </div>
  682.                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
  683.                        <button class="kg-video-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button>
  684.                        <button class="kg-video-unmute-icon" aria-label="Unmute">
  685.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  686.                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
  687.                            </svg>
  688.                        </button>
  689.                        <button class="kg-video-mute-icon kg-video-hide" aria-label="Mute">
  690.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  691.                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
  692.                            </svg>
  693.                        </button>
  694.                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
  695.                    </div>
  696.                </div>
  697.            </div>
  698.            <figcaption><p><span style="white-space: pre-wrap;">Adding link to a page in Logseq in another note.</span></p></figcaption>
  699.        </figure>
  700. <div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal   " data-layout="minimal">
  701.            
  702.            <div class="kg-cta-content">
  703.                
  704.                
  705.                    <div class="kg-cta-content-inner">
  706.                    
  707.                        <div class="kg-cta-text">
  708.                            <p><span style="white-space: pre-wrap;">Desktop Linux is mostly neglected by the industry but loved by the community. For the past 12 years, It&apos;s FOSS has been helping people use Linux on their personal computers. And we are now facing the existential threat from AI models stealing our content. </span></p><p><span style="white-space: pre-wrap;">If you like what we do and would love to support our work, please become It&apos;s FOSS Plus member. It costs $24 a year (less than the cost of a burger meal each month) and you get an ad-free reading experience with the satisfaction of helping the desktop Linux community.</span></p>
  709.                        </div>
  710.                    
  711.                    
  712.                        <a href="#/portal/account/plans" class="kg-cta-button " style="background-color: #000000; color: #ffffff;">
  713.                            Join It&apos;s FOSS Plus
  714.                        </a>
  715.                        
  716.                    </div>
  717.                
  718.            </div>
  719.        </div>
  720. <h2 id="referencing-a-block">Referencing a block</h2><p>The main flexibility of Logseq lies in the linking of individual blocks. In each note, you have a parent node, then child nodes and grand-child nodes. These are distinguished by the indentation it has.</p><p>So, in the case of block referencing, you should take utmost care in properly adding indent to the note blocks.</p><p>Now, type <code>((</code>. A search box will appear above the cursor. Start typing something, and it will highlight the matching block anywhere in Logseq.</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://itsfoss.com/content/media/2025/01/block-referencing-through-search_thumb.jpg" data-kg-custom-thumbnail>
  721.            <div class="kg-video-container">
  722.                <video src="https://itsfoss.com/content/media/2025/01/block-referencing-through-search.mp4" poster="https://img.spacergif.org/v1/970x426/0a/spacer.png" width="970" height="426" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://itsfoss.com/content/media/2025/01/block-referencing-through-search_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
  723.                <div class="kg-video-overlay">
  724.                    <button class="kg-video-large-play-icon" aria-label="Play video">
  725.                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  726.                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  727.                        </svg>
  728.                    </button>
  729.                </div>
  730.                <div class="kg-video-player-container kg-video-hide">
  731.                    <div class="kg-video-player">
  732.                        <button class="kg-video-play-icon" aria-label="Play video">
  733.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  734.                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
  735.                            </svg>
  736.                        </button>
  737.                        <button class="kg-video-pause-icon kg-video-hide" aria-label="Pause video">
  738.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  739.                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  740.                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
  741.                            </svg>
  742.                        </button>
  743.                        <span class="kg-video-current-time">0:00</span>
  744.                        <div class="kg-video-time">
  745.                            /<span class="kg-video-duration">0:29</span>
  746.                        </div>
  747.                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
  748.                        <button class="kg-video-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button>
  749.                        <button class="kg-video-unmute-icon" aria-label="Unmute">
  750.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  751.                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
  752.                            </svg>
  753.                        </button>
  754.                        <button class="kg-video-mute-icon kg-video-hide" aria-label="Mute">
  755.                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
  756.                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
  757.                            </svg>
  758.                        </button>
  759.                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
  760.                    </div>
  761.                </div>
  762.            </div>
  763.            <figcaption><p><span style="white-space: pre-wrap;">Referencing a block inside a note. The block we are adding is part of another note.</span></p></figcaption>
  764.        </figure><p>Similarly, you can right-click on a node and select &quot;Copy block ref&quot; to copy the reference code for that block.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/right-click-on-a-block-and-select-copy-block.png" class="kg-image" alt="Exploring Pages, Links, Tags, and Block References in Logseq" loading="lazy" width="1120" height="698" srcset="https://itsfoss.com/content/images/size/w600/2025/01/right-click-on-a-block-and-select-copy-block.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/right-click-on-a-block-and-select-copy-block.png 1000w, https://itsfoss.com/content/images/2025/01/right-click-on-a-block-and-select-copy-block.png 1120w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Copy Block Reference</span></figcaption></figure><p>Now, if you paste this on other note, the main node content is pasted and the rest of that block (intended contents) will be visible on hover.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/hover-will-preview-the-referenced-block.png" class="kg-image" alt="Exploring Pages, Links, Tags, and Block References in Logseq" loading="lazy" width="1118" height="699" srcset="https://itsfoss.com/content/images/size/w600/2025/01/hover-will-preview-the-referenced-block.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/hover-will-preview-the-referenced-block.png 1000w, https://itsfoss.com/content/images/2025/01/hover-will-preview-the-referenced-block.png 1118w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Hover over reference for preview</span></figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">Instead of the &quot;Copy block ref&quot;, you can also choose &quot;Copy block embed&quot; and then paste the embed code. This will paste the whole block in the area where you pasted the embed code.</div></div><h3 id="%F0%9F%96%87%EF%B8%8F-block-referencing-with-markdown">&#x1F587;&#xFE0F; Block referencing with Markdown</h3><p>Once you have the block <strong>reference</strong> code, you can use it as a URL to link to a particular word, instead of pasting raw in a line. To do that, <a href="https://itsfoss.com/markdown-links/" rel="noreferrer">use the Markdown link syntax</a>:</p><pre><code>[This is a link to the block](reference code of the block)</code></pre><p>For example:</p><pre><code>[This is a link to the block](((679b6c26-2ce9-48f2-be6a-491935b314a6)))</code></pre><p>So, when you hover over the text, the referenced content is previewed.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/01/reference-link-as-hyperlink.png" class="kg-image" alt="Exploring Pages, Links, Tags, and Block References in Logseq" loading="lazy" width="1124" height="697" srcset="https://itsfoss.com/content/images/size/w600/2025/01/reference-link-as-hyperlink.png 600w, https://itsfoss.com/content/images/size/w1000/2025/01/reference-link-as-hyperlink.png 1000w, https://itsfoss.com/content/images/2025/01/reference-link-as-hyperlink.png 1124w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Reference as Markdown Hyperlink</span></figcaption></figure><p>Now that you have the basic building blocks, you can start organizing your notes into a proper knowledge base.</p><p>In the next tutorials of this series, I discuss <a href="https://itsfoss.com/logseq-plugins-themes">how you can use plugins and themes to customize Logseq</a> and use <strong>Contents</strong> and <strong>Journal</strong> pages to further extend its capabilities.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/logseq-plugins-themes"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Customize Logseq With Themes and Plugins</div><div class="kg-bookmark-description">Extend the capability and enhance the looks for Logseq with themes and plugins.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-426.png" alt="Exploring Pages, Links, Tags, and Block References in Logseq"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Sreenath</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/installing-plugins-and-themes-in-logseq.png" alt="Exploring Pages, Links, Tags, and Block References in Logseq" onerror="this.style.display = &apos;none&apos;"></div></a></figure><p>Enjoy Logseq.</p>]]></content:encoded></item><item><title><![CDATA[FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff]]></title><description><![CDATA[Grab an umbrella. It's raining new releases this week.]]></description><link>https://itsfoss.com/newsletter/foss-weekly-25-16/</link><guid isPermaLink="false">67ff1ba77db75205d6539b1b</guid><category><![CDATA[Newsletter ✉️]]></category><dc:creator><![CDATA[Abhishek Prakash]]></dc:creator><pubDate>Thu, 17 Apr 2025 06:27:20 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/04/foss-weekly.webp" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/04/foss-weekly.webp" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff"><p>It&apos;s the release week. <a href="https://news.itsfoss.com/fedora-42-release/">Fedora 42</a> is already out. <a href="https://news.itsfoss.com/ubuntu-25-04-features/">Ubuntu 25.04</a> will be releasing later today along with its flavors like Kubuntu, Xubuntu, Lubuntu etc.</p><p>In the midst of these two heavyweights, <a href="https://mxlinux.org/blog/mx-23-6-now-available/">MX Linux</a> and Manjaro also quickly released newer versions. For Manjaro, it is more of an ISO refresh, as it is <a href="https://itsfoss.com/rolling-release/">a rolling release distribution</a>.</p><p>Overall, a happening week for Linux lovers &#x1F57A;</p><p><strong>&#x1F4AC; Let&apos;s see what else you get in this edition</strong></p><ul><li>Arco Linux bids farewell.</li><li>Systemd working on its own Linux distro.</li><li>Looking at the origin of UNIX.</li><li>And other Linux news, tips, and, of course, memes!</li><li><strong>This edition of FOSS Weekly is supported by </strong><a href="https://fnf.dev/43RQNl5" rel="noreferrer"><strong>Aiven</strong></a><strong>.</strong></li></ul><h2 id="%E2%9D%87%EF%B8%8F-aiven-for-clickhouse%C2%AEthe-fastest-open-source-analytics-database-fully-managed">&#x2747;&#xFE0F; Aiven for ClickHouse&#xAE; - The Fastest Open Source Analytics Database, Fully Managed</h2><p>ClickHouse processes analytical queries 100-1000x faster than traditional row-oriented systems. <a href="https://fnf.dev/43RQNl5">Aiven for ClickHouse&#xAE;</a> gives you the lightning-fast performance of ClickHouse&#x2013;without the infrastructure overhead.</p><p>Just a few clicks is all it takes to get your fully managed ClickHouse clusters up and running in minutes. With seamless vertical and horizontal scaling, automated  backups, easy integrations, and zero-downtime updates, you can prioritize insights&#x2013;and <a href="https://fnf.dev/43RQNl5"><strong>let Aiven handle the infrastructure</strong></a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://fnf.dev/43RQNl5"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Managed ClickHouse database | Aiven</div><div class="kg-bookmark-description">Aiven for ClickHouse&#xAE; &#x2013; fully managed, maintenance-free data warehouse &#x2713; All-in-one open source cloud data platform &#x2713; Try it for free</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/apple-touch-icon-2.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff"><span class="kg-bookmark-author">Aiven</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/7cb654e3bf4266fe0c49bb751b8f9e482d576554-1200x630.jpg" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%93%B0-linux-and-open-source-news">&#x1F4F0; Linux and Open Source News</h2><ul><li>The Arch-based <a href="https://news.itsfoss.com/arcolinux-discontinued/">ArcoLinux has been discontinued</a>.</li><li><a href="https://news.itsfoss.com/fedora-42-release/">Fedora 42</a> has been released with some rather interesting changes.</li><li><a href="https://news.itsfoss.com/manjaro-25/">Manjaro 25.0 &apos;Zetar&apos; is here</a>, offering a fresh image for new installations. </li></ul><p><a href="https://news.itsfoss.com/systemd-particle-os/">ParticleOS</a> is Systemd&apos;s attempt at a Linux distribution.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/systemd-particle-os/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">ParticleOS: Systemd&#x2019;s Very Own Linux Distro in Making</div><div class="kg-bookmark-description">A Linux distro from systemd? Sounds interesting, right?</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-401.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/particleos.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%A7%A0-what-we%E2%80%99re-thinking-about">&#x1F9E0; What We&#x2019;re Thinking About</h2><p>Linus Torvalds was told that <a href="https://news.itsfoss.com/torvalds-on-git/">Git is more popular than Linux</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/torvalds-on-git/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Git is More Popular than Linux: Torvalds</div><div class="kg-bookmark-description">Linus Torvalds reflects on 20 years of Git.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-395.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/git-more-popular-than-linux.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%A7%AE-linux-tips-tutorials-and-more">&#x1F9EE; Linux Tips, Tutorials and More</h2><ul><li><a href="https://itsfoss.com/vibe-coding-tools-linux/">11 vibe coding tools</a> to 10x your dev workflow.</li><li>Adding <a href="https://itsfoss.com/bash-comments/">comments in bash scripts</a>.</li><li>Understand the <a href="https://itsfoss.com/pipewire-vs-pulseaudio/">difference between Pipewire and Pulseaudio</a>.</li><li>Make your Logseq notes more readable <a href="https://itsfoss.com/logseq-format-text/">by formatting them</a>. That&apos;s a new series focusing on Logseq.</li><li>From UNIX to today&#x2019;s tech. Learn how <a href="https://itsfoss.com/birth-of-unix/">it shaped the digital world</a>.</li></ul>
  765. <div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal   " data-layout="minimal">
  766.            
  767.            <div class="kg-cta-content">
  768.                
  769.                
  770.                    <div class="kg-cta-content-inner">
  771.                    
  772.                        <div class="kg-cta-text">
  773.                            <p><span style="white-space: pre-wrap;">Desktop Linux is mostly neglected by the industry but loved by the community. For the past 12 years, It&apos;s FOSS has been helping people use Linux on their personal computers. And we are now facing the existential threat from AI models stealing our content. </span></p><p><span style="white-space: pre-wrap;">If you like what we do and would love to support our work, please become It&apos;s FOSS Plus member. It costs $24 a year (less than the cost of a burger meal each month) and you get an ad-free reading experience with the satisfaction of helping the desktop Linux community.</span></p>
  774.                        </div>
  775.                    
  776.                    
  777.                        <a href="#/portal/account/plans" class="kg-cta-button " style="background-color: #000000; color: #ffffff;">
  778.                            Join It&apos;s FOSS Plus
  779.                        </a>
  780.                        
  781.                    </div>
  782.                
  783.            </div>
  784.        </div>
  785. <h2 id="%F0%9F%91%B7-homelab-and-makers-corner">&#x1F477; Homelab and Maker&apos;s Corner</h2><p>These <a href="https://itsfoss.com/raspberry-pi-zero-projects/">28 cool Raspberry Pi Zero W projects</a> will keep you busy.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/raspberry-pi-zero-projects/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">28 Super Cool Raspberry Pi Zero W Project Ideas</div><div class="kg-bookmark-description">Wondering what to do with your Raspberry Pi Zero W? Here are a bunch of project ideas you can spend some time on and satisfy your DIY craving.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-396.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Chinmay</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/raspberry-pi-zero-w-projects-2.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%E2%9C%A8-apps-highlight">&#x2728; Apps Highlight</h2><p>You can download YouTube videos using <a href="https://news.itsfoss.com/seal/">Seal</a> on Android.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/seal/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Seal: A Nifty Open Source Android App to Download YouTube Video and Audio</div><div class="kg-bookmark-description">Download YouTube video/music (for educational purpose or with consent) with this little, handy Android app.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-397.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/seal-foss-1.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%93%BD%EF%B8%8F-videos-i-am-creating-for-you">&#x1F4FD;&#xFE0F; Videos I am Creating for You</h2><p>See the <a href="https://youtu.be/FaJj8fLxC44">new features of Ubuntu 25.04 in action in this video</a>.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/FaJj8fLxC44?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="Ubuntu 25.04 &quot;Plucky Puffin&quot; is Here! What&#x2019;s New?"></iframe></figure><div class="kg-card kg-button-card kg-align-center"><a href="https://www.youtube.com/@itsfoss" class="kg-btn kg-btn-accent">Subscribe to It&apos;s FOSS YouTube Channel</a></div><h2 id="%F0%9F%A7%A9-quiz-time">&#x1F9E9; Quiz Time</h2><p>Our <a href="https://itsfoss.com/quiz/desktop-environment-crossword/">Guess the Desktop Environment Crossword</a> will test your knowledge.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/quiz/desktop-environment-crossword/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Guess the Desktop Environment: Crossword</div><div class="kg-bookmark-description">Test your desktop Linux knowledge with this simple crossword puzzle. Can you solve it all correctly?</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-399.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/desktop-environment-crossword-1.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><p>Alternatively, guess all of these <a href="https://itsfoss.com/quiz/open-source-privacy-tools/">open source privacy tools</a> correctly?</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/quiz/open-source-privacy-tools/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Know The Best Open-Source Privacy Tools</div><div class="kg-bookmark-description">Do you utilize open-source tools for privacy?</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/android-chrome-192x192-398.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Ankush Das</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/privacy-open-source-tools.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%F0%9F%92%A1-quick-handy-tip">&#x1F4A1; Quick Handy Tip</h2><p>You can make <a href="https://docs.xfce.org/xfce/thunar/start">Thunar</a> open a new tab instead of a new window. This is good in situations when opening a folder from other apps, like a web browser. This reduces screen clutter.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/tabs-and-window-settings.png" class="kg-image" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff" loading="lazy" width="706" height="684" srcset="https://itsfoss.com/content/images/size/w600/2025/04/tabs-and-window-settings.png 600w, https://itsfoss.com/content/images/2025/04/tabs-and-window-settings.png 706w"></figure><p>First, click on <em>Edit</em> &#x21FE; <em>Preference</em>s. Here, go to the <em>Behavior</em> tab. Now, under &quot;<em>Tabs and Windows</em>&quot;, enable the first checkbox as shown above or all three if you need the functionality of the other two.</p><h2 id="%F0%9F%A4%A3-meme-of-the-week">&#x1F923; Meme of the Week</h2><p>We are generally a peaceful bunch, for the most part. &#x1FAE3;</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/mac-windows-users-vs-linux-meme.png" class="kg-image" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff" loading="lazy" width="1080" height="1080" srcset="https://itsfoss.com/content/images/size/w600/2025/04/mac-windows-users-vs-linux-meme.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/mac-windows-users-vs-linux-meme.png 1000w, https://itsfoss.com/content/images/2025/04/mac-windows-users-vs-linux-meme.png 1080w" sizes="(min-width: 720px) 720px"></figure><h2 id="%F0%9F%97%93%EF%B8%8F-tech-trivia">&#x1F5D3;&#xFE0F; Tech Trivia</h2><p>On April 16, 1959, John McCarthy publicly introduced <a href="https://en.wikipedia.org/wiki/Lisp_(programming_language)">LISP</a>, a programming language for AI that emphasized symbolic computation. This language remains influential in AI research today.</p><h2 id="%F0%9F%A7%91%E2%80%8D%F0%9F%A4%9D%E2%80%8D%F0%9F%A7%91-fossverse-corner">&#x1F9D1;&#x200D;&#x1F91D;&#x200D;&#x1F9D1; FOSSverse Corner</h2><p>FOSSers <a href="https://itsfoss.community/t/a-discussion-over-voice-over-internet-protocol-voip/13390">are discussing VoIP</a>, do you have any insights to add here?</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.community/t/a-discussion-over-voice-over-internet-protocol-voip/13390"><div class="kg-bookmark-content"><div class="kg-bookmark-title">A discussion over Voice Over Internet Protocol (VoIP)</div><div class="kg-bookmark-description">I live in a holiday village where we have several different committees and meetings, for those not present to attend the meetings we do video conf&#xE9;rences using voip. A few years back the prefered system was skype, we changed to whatsapp last year as we tend to use its messaging facilities and its free. We have a company who manages our accounts, they prefer using teams, paid for version as they can invoice us for its use &#x2026; typical accountant. My question, does it make any difference in band w&#x2026;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/icon/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c_2_180x180-41.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff"><span class="kg-bookmark-author">It&apos;s FOSS Community</span><span class="kg-bookmark-publisher">callpaul.eu (Paul)</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/thumbnail/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c-35.png" alt="FOSS Weekly #25.16: Ubuntu 25.04, Fedora 42, ParticleOS and a Lot More Linux Stuff" onerror="this.style.display = &apos;none&apos;"></div></a></figure><h2 id="%E2%9D%A4%EF%B8%8F-with-love">&#x2764;&#xFE0F; With love</h2><p><strong>Share it with your Linux-using friends</strong>&#xA0;and encourage them to subscribe (hint:&#xA0;<a href="https://itsfoss.com/newsletter/">it&apos;s here</a>).</p><p>Share the articles in Linux Subreddits and community forums.</p><p><a href="https://news.google.com/publications/CAAiENHoh-T8yP9Q8Qywor2dwGkqFAgKIhDR6Ifk_Mj_UPEMsKK9ncBp?ref=itsfoss.com">Follow us on Google News</a>&#xA0;and stay updated in your News feed.</p><p>Opt for&#xA0;<a href="https://itsfoss.com/membership">It&apos;s FOSS Plus membership</a>&#xA0;and support us &#x1F64F;</p><p>Enjoy FOSS &#x1F604;</p>]]></content:encoded></item><item><title><![CDATA[11 Vibe Coding Tools to 10x Your Development on Linux Desktop]]></title><description><![CDATA[Want to vibe code and chill on your Linux system? Here are the tools you can explore.]]></description><link>https://itsfoss.com/vibe-coding-tools-linux/</link><guid isPermaLink="false">67eb8d1e4d0270f91a25d8d0</guid><category><![CDATA[AI 🤖]]></category><category><![CDATA[List 📋]]></category><category><![CDATA[Coding]]></category><dc:creator><![CDATA[Abhishek Kumar]]></dc:creator><pubDate>Tue, 15 Apr 2025 05:41:55 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/04/vibe-coding-tools-linux.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/04/vibe-coding-tools-linux.png" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop"><p>Once upon a time, coding meant sitting down, writing structured logic, and debugging for hours. </p><p>Fast-forward to today, and we have Vibe Coding, a trend where people let AI generate entire chunks of code based on simple prompts. No syntax, no debugging, no real understanding of what&#x2019;s happening under the hood. <em>Just vibes.</em></p><p>Coined by OpenAI co-founder Andrej Karpathy, Vibe Coding is the act of developing software by giving natural language instructions to AI and accepting whatever it spits out.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/andrej-karpath-tweet.png" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="810" height="511" srcset="https://itsfoss.com/content/images/size/w600/2025/04/andrej-karpath-tweet.png 600w, https://itsfoss.com/content/images/2025/04/andrej-karpath-tweet.png 810w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Source : </span><a href="https://x.com/karpathy/status/1886192184808149383" rel="noreferrer"><span style="white-space: pre-wrap;">X</span></a></figcaption></figure><p>Some people even take it a step further by using voice-to-text tools so they don&#x2019;t have to type at all. Just describe your dream app, and boom, the AI makes it for you. Or does it?</p><p>People are building full-fledged SaaS products in days, launching MVPs overnight, and somehow making more money than seasoned engineers who swear by Agile methodologies.</p><p>And here I am, writing about them instead of cashing in myself. Life isn&#x2019;t fair, huh?</p><p>But don&#x2019;t get me wrong, I&#x2019;m not here to hate. I&#x2019;m here to expand on this interesting movement and hand you the ultimate arsenal to embrace vibe coding with these tools.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x270B;</div><div class="kg-callout-text"><b><strong style="white-space: pre-wrap;">Non-FOSS Warning!</strong></b> Some of the applications mentioned here may not be open source. They have been included in the context of Linux usage. Also, some tools provide interface for popular, commercial LLMs like ChatGPT and Claude.</div></div><h2 id="1-aiderai-pair-programming-in-your-terminal">1. Aider - AI pair programming in your terminal</h2><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/aider-ai.png" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="1979" height="1130" srcset="https://itsfoss.com/content/images/size/w600/2025/04/aider-ai.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/aider-ai.png 1000w, https://itsfoss.com/content/images/size/w1600/2025/04/aider-ai.png 1600w, https://itsfoss.com/content/images/2025/04/aider-ai.png 1979w" sizes="(min-width: 720px) 720px"></figure><p>Aider is the perfect choice if you&apos;re looking for a pair programmer to help you ship code faster. It allows you to pair programs with LLMs to edit code in your local GitHub repository. You can start a new project or work with an existing GitHub repo&#x2014;all from your terminal.</p><p><strong>Key Features</strong></p><p>&#x2705; Aider works best with Claude 3.7 Sonnet, DeepSeek R1 &amp; Chat V3, OpenAI o1, o3-mini &amp; GPT-4o, but can connect to almost any LLM, including local models.<br>&#x2705; Aider makes a map of your entire codebase, which helps it work well in larger projects.<br>&#x2705; Supports most popular programming languages: Python, JavaScript, Rust, Ruby, Go, C++, PHP, HTML, CSS, and more.<br>&#x2705; Automatically commits changes with sensible commit messages. Use familiar Git tools to easily diff, manage, and undo AI changes.<br>&#x2705; Use Aider from within your favorite IDE or editor. Ask for changes by adding comments to your code, and Aider will get to work.<br>&#x2705; Add images and web pages to the chat to provide visual context, screenshots, and reference docs.<br>&#x2705; Automatically lint and test your code every time Aider makes changes. It can fix problems detected by linters and test suites.<br>&#x2705; Works best with LLM APIs but also supports web chat interfaces, making copy-pasting code seamless.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://aider.chat/" class="kg-btn kg-btn-accent">Aider</a></div><h2 id="2-vannaaichat-with-sql-database">2. VannaAI - Chat with SQL Database</h2><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/vanna-ai-sql.png" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="1700" height="1139" srcset="https://itsfoss.com/content/images/size/w600/2025/04/vanna-ai-sql.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/vanna-ai-sql.png 1000w, https://itsfoss.com/content/images/size/w1600/2025/04/vanna-ai-sql.png 1600w, https://itsfoss.com/content/images/2025/04/vanna-ai-sql.png 1700w" sizes="(min-width: 720px) 720px"></figure><p>Writing SQL queries can be tedious, but VannaAI changes that by letting you interact with SQL databases using natural language. </p><p>Instead of manually crafting queries, you describe what you need, and VannaAI generates the SQL for you.</p><p>It Works in two steps, Train a RAG &quot;model&quot; on your data and then ask questions that return SQL queries.</p><p><strong>Key Features</strong></p><p>&#x2705; Out-of-the-box support for Snowflake, BigQuery, Postgres, and more.<br>&#x2705; The Vanna Python package and frontend integrations are all open-source, allowing deployment on your infrastructure.<br>&#x2705; Database contents are never sent to the LLM unless explicitly enabled.<br>&#x2705; Improves continuously by augmenting training data.<br>&#x2705; Use Vanna in Jupyter Notebooks, Slackbots, web apps, Streamlit apps, or even integrate it into your own web app.</p><p>VannaAI makes querying databases as easy as having a conversation, making it a game-changer for both technical and non-technical users.</p><p></p><p></p><div class="kg-card kg-button-card kg-align-center"><a href="https://vanna.ai/" class="kg-btn kg-btn-accent">Vanna AI</a></div><h2 id="3-all-handsopen-source-agents-for-developers">3. All Hands - Open source agents for developers</h2><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/all-hands-ai.png" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="1979" height="1121" srcset="https://itsfoss.com/content/images/size/w600/2025/04/all-hands-ai.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/all-hands-ai.png 1000w, https://itsfoss.com/content/images/size/w1600/2025/04/all-hands-ai.png 1600w, https://itsfoss.com/content/images/2025/04/all-hands-ai.png 1979w" sizes="(min-width: 720px) 720px"></figure><p>All Hands is an open-source platform for AI developer agents, capable of building projects, adding features, debugging, and more. </p><p>Competing with Devin, All Hands recently topped the SWE-bench leaderboard with 53% accuracy.</p><p><strong>Key Features</strong></p><p>&#x2705; Use All Hands via an interactive GUI, command-line interface (CLI), or non-interactive modes like headless execution and GitHub Actions.<br>&#x2705; Open-source freedom, built under the MIT license to ensure AI technology remains accessible to all.<br>&#x2705; Handles complex tasks, from code generation to debugging and issue fixing.<br>&#x2705; Developed in collaboration with AI safety experts like Invariant Labs to balance innovation and security.</p><p>To get started, install Docker 26.0.0+ and run OpenHands using the provided Docker commands. Once running, configure your LLM provider and start coding with AI-powered assistance.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://www.all-hands.dev/" class="kg-btn kg-btn-accent">All Hands</a></div><h2 id="4-continueleading-ai-powered-code-assistant">4. Continue - Leading AI-powered code assistant</h2><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/continue-ai.png" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="1779" height="1083" srcset="https://itsfoss.com/content/images/size/w600/2025/04/continue-ai.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/continue-ai.png 1000w, https://itsfoss.com/content/images/size/w1600/2025/04/continue-ai.png 1600w, https://itsfoss.com/content/images/2025/04/continue-ai.png 1779w" sizes="(min-width: 720px) 720px"></figure><p>You must have heard about Cursor IDE, the popular AI-powered IDE; Continue is similar to it but open source under Apache license.</p><p>It is highly customizable and lets you add any language model for auto-completion or chat. This can immensely improve your productivity. You can add Continue to VScode and JetBrains.</p><p><strong>Key Features</strong></p><p>&#x2705; Continue autocompletes single lines or entire sections of code in any programming language as you type.<br>&#x2705; Attach code or other context to ask questions about functions, files, the entire codebase, and more.<br>&#x2705; Select code sections and press a keyboard shortcut to rewrite code from natural language.<br>&#x2705; Works with Ollama, OpenAI, Together, Anthropic, Mistral, Azure OpenAI Service, and LM Studio.<br>&#x2705; Codebase, GitLab Issues, Documentation, Methods, Confluence pages, Files.<br>&#x2705; Data blocks, Docs blocks, Rules blocks, MCP blocks, Prompts blocks.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://www.continue.dev/" class="kg-btn kg-btn-accent">Continue</a></div><h2 id="5-waveterminal-with-local-llms">5. Wave - Terminal with local LLMs</h2><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/waveterm.webp" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="2000" height="1295" srcset="https://itsfoss.com/content/images/size/w600/2025/04/waveterm.webp 600w, https://itsfoss.com/content/images/size/w1000/2025/04/waveterm.webp 1000w, https://itsfoss.com/content/images/size/w1600/2025/04/waveterm.webp 1600w, https://itsfoss.com/content/images/size/w2400/2025/04/waveterm.webp 2400w" sizes="(min-width: 720px) 720px"></figure><p><a href="https://news.itsfoss.com/wave-terminal/">Wave terminal</a> introduces BYOLLM (Bring Your Own Large Language Model), allowing users to integrate their own local or cloud-based LLMs into their workflow. </p><p>It currently supports local LLM providers such as <a href="https://itsfoss.com/ollama/" rel="noreferrer">Ollama</a>, <a href="https://itsfoss.com/lm-studio-linux/" rel="noreferrer">LM Studio</a>, llama.cpp, and LocalAI while also enabling the use of any OpenAI API-compatible model.</p><p><strong>Key Features</strong></p><p>&#x2705; Use local or cloud-based LLMs, including OpenAI-compatible APIs.<br>&#x2705; Seamlessly integrate LLM-powered responses into your terminal workflow.<br>&#x2705; Set the AI Base URL and AI Model in the settings or via CLI.<br>&#x2705; Plans to include support for commercial models like Gemini and Claude.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://www.waveterm.dev" class="kg-btn kg-btn-accent">Waveterm</a></div><h2 id="6-warp-terminalagent-mode-not-open-source">6. Warp terminal - Agent mode (not open source)</h2><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/warp-terminal-1.png" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="1953" height="934" srcset="https://itsfoss.com/content/images/size/w600/2025/04/warp-terminal-1.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/warp-terminal-1.png 1000w, https://itsfoss.com/content/images/size/w1600/2025/04/warp-terminal-1.png 1600w, https://itsfoss.com/content/images/2025/04/warp-terminal-1.png 1953w" sizes="(min-width: 720px) 720px"></figure><p>After WaveTerm, we have another amazing contender in the AI-powered terminal space, Warp Terminal. I personally use this so I may sound biased. &#x1F61B;</p><p>It&#x2019;s essentially an AI-powered assistant that can understand natural language, execute commands, and troubleshoot issues interactively. </p><p>Instead of manually looking up commands or switching between documentation, you can simply describe the task in English and let Agent Mode guide you through it.</p><p><strong>Key Features</strong></p><p>&#x2705; No need to remember complex CLI commands, just type what you want, like <em>&quot;Set up an Nginx reverse proxy with SSL&quot;</em>, and Agent Mode will handle the details.<br>&#x2705; Ran into a &#x201C;port 3000 already in use&#x201D; error? Just type &quot;fix it&quot;, and Warp will suggest running <code>kill $(lsof -t -i:3000)</code>. If that doesn&#x2019;t work, it&#x2019;ll refine the approach automatically.<br>&#x2705; Works seamlessly with Git, AWS, Kubernetes, Docker, and any other tool with a CLI. If it doesn&#x2019;t know a command, you can tell it to read the help docs, and it will instantly learn how to use the tool.<br>&#x2705; Warp doesn&#x2019;t send anything to the cloud without your permission. You approve each command before it runs, and it only reads outputs when explicitly allowed.</p><p>It seems like Warp is moving from a traditional AI-assisted terminal to an interactive AI-powered shell, making the command line much more intuitive. </p><p>Would you consider switching to it, or do you think this level of automation might be risky for some tasks?</p><div class="kg-card kg-button-card kg-align-center"><a href="https://app.warp.dev/referral/6N3LPK?ref=news.itsfoss.com" class="kg-btn kg-btn-accent">Warp Terminal</a></div><h2 id="7-pieces-ai-extension-to-ide-not-open-source">7. Pieces : AI extension to IDE (not open source)</h2><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/pieces-1.png" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="1848" height="894" srcset="https://itsfoss.com/content/images/size/w600/2025/04/pieces-1.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/pieces-1.png 1000w, https://itsfoss.com/content/images/size/w1600/2025/04/pieces-1.png 1600w, https://itsfoss.com/content/images/2025/04/pieces-1.png 1848w" sizes="(min-width: 720px) 720px"></figure><p>Pieces isn&#x2019;t a code editor itself, it&#x2019;s an AI-powered extension that supercharges editors like VS Code, Sublime Text, Neovim and many more IDE&apos;s with real-time intelligence and memory. </p><p>Its highlighted feature is Long-Term Memory Agent that captures up to 9 months of coding context, helping you seamlessly resume work, even after a long break.</p><p>Everything runs locally for full privacy. It understands your code, recalls snippets, and blends effortlessly into your dev tools to eliminate context switching. </p><p>Bonus: it&#x2019;s free for now, with a free tier promised forever, but they will start charging soon, so early access might come with perks.</p><p><strong>Key Features</strong></p><p>&#x2705; Stores 9 months of local coding context<br>&#x2705; Integrates with Neovim, VS Code, and Sublime Text<br>&#x2705; Fully on-device AI with zero data sharing<br>&#x2705; Context-aware suggestions via Pieces Copilot<br>&#x2705; Organize and share snippets using Pieces Drive<br>&#x2705; Always-free tier promised, with early adopter perks</p><div class="kg-card kg-button-card kg-align-center"><a href="https://pieces.app/" class="kg-btn kg-btn-accent">Pieces</a></div><h2 id="8-aidermacs-ai-aided-coding-in-emacs">8. Aidermacs: AI aided coding in Emacs</h2><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/aidermacs-1.png" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="1538" height="988" srcset="https://itsfoss.com/content/images/size/w600/2025/04/aidermacs-1.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/aidermacs-1.png 1000w, https://itsfoss.com/content/images/2025/04/aidermacs-1.png 1538w" sizes="(min-width: 720px) 720px"></figure><p>Aidermacs by <a href="https://github.com/MatthewZMD" rel="author">MatthewZMD</a> <a href="https://github.com/MatthewZMD/aidermacs"></a>is for the Emacs power users who want that sweet Cursor-style AI experience; but without leaving their beloved terminal. </p><p>It&#x2019;s a front-end for the open-source <a href="https://github.com/paul-gauthier/aider" rel="noopener">Aider</a>, bringing powerful pair programming into Emacs with full respect for its workflows and philosophy. </p><p>Whether you&apos;re using GPT-4, Claude, or even DeepSeek, Aidermacs auto-detects your available models and lets you chat with them directly inside Emacs. </p><p>And yes, it&apos;s deeply customizable, as all good Emacs things should be.</p><p><strong>Key Features</strong></p><p>&#x2705; Integrates Aider into Emacs for collaborative coding<br>&#x2705; Intelligent model selection from OpenAI, Anthropic, Gemini, and more<br>&#x2705; Built-in Ediff for side-by-side AI-generated changes<br>&#x2705; Fine-grained file control: edit, read-only, scratchpad, and external<br>&#x2705; Fully theme-aware with Emacs-native UI integration<br>&#x2705; Works well in terminal via vterm with theme-based colors</p><div class="kg-card kg-button-card kg-align-center"><a href="https://github.com/MatthewZMD/aidermacs" class="kg-btn kg-btn-accent">Aidermacs</a></div><h2 id="9-jeddict-ai-assistant">9. Jeddict AI Assistant</h2><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/jeddict-ai-assistant-1.png" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="1942" height="982" srcset="https://itsfoss.com/content/images/size/w600/2025/04/jeddict-ai-assistant-1.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/jeddict-ai-assistant-1.png 1000w, https://itsfoss.com/content/images/size/w1600/2025/04/jeddict-ai-assistant-1.png 1600w, https://itsfoss.com/content/images/2025/04/jeddict-ai-assistant-1.png 1942w" sizes="(min-width: 720px) 720px"></figure><p>This one is for my for the Java folks, It&#x2019;s a plugin for Apache NetBeans. I remember using NetBeans back in school, and if this AI stuff was around then, I swear I would&apos;ve aced my CS practicals.</p><p>This isn&#x2019;t your average autocomplete tool. Jeddict AI Assistant brings full-on AI integration into your IDE: smarter code suggestions, context-aware documentation, SQL query help, even commit messages. </p><p>It&apos;s especially helpful if you&apos;re dealing with big Java projects and want AI that <em>actually understands</em> what&#x2019;s going on in your code.</p><p><strong>Key Features</strong></p><p>&#x2705; Smart, inline code completions using OpenAI, DeepSeek, Mistral, and more<br>&#x2705; AI chat with full awareness of project/class/package context<br>&#x2705; Javadoc creation &amp; improvement with a single shortcut<br>&#x2705; Variable renaming, method refactoring, and grammar fixes via AI hints<br>&#x2705; SQL query assistance &amp; inline completions in the database panel<br>&#x2705; Auto-generated Git commit messages based on your diffs<br>&#x2705; Custom rules, file context preview, and experimental in-editor updates<br>&#x2705; Fully customizable AI provider settings (supports LM Studio, Ollama, GPT4All too!)</p><div class="kg-card kg-button-card kg-align-center"><a href="https://plugins.netbeans.apache.org/catalogue/?id=103" class="kg-btn kg-btn-accent">Jeddict AI Assistant</a></div><h2 id="10-amazon-codewhisperer">10. Amazon CodeWhisperer</h2><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/amzn-code-1.png" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="1800" height="986" srcset="https://itsfoss.com/content/images/size/w600/2025/04/amzn-code-1.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/amzn-code-1.png 1000w, https://itsfoss.com/content/images/size/w1600/2025/04/amzn-code-1.png 1600w, https://itsfoss.com/content/images/2025/04/amzn-code-1.png 1800w" sizes="(min-width: 720px) 720px"></figure><p>If your coding journey revolves around AWS services, then Amazon CodeWhisperer might be your ideal AI-powered assistant. </p><p>While it works like other AI coding tools, its real strength lies in its deep integration with AWS SDKs, Lambda, S3, and DynamoDB. </p><p>CodeWhisperer is fine-tuned for cloud-native development, making it a go-to choice for developers building serverless applications, microservices, and infrastructure-as-code projects.</p><p>Since it supports Visual Studio Code and JetBrains IDEs, AWS developers can seamlessly integrate it into their workflow and get AWS-specific coding recommendations that follow best practices for scalability and security. </p><p>Plus, individual developers get free access, making it an attractive option for solo builders and startup developers.</p><p><strong>Key Features</strong></p><p>&#x2705; Optimized code suggestions for AWS SDKs and cloud services.<br>&#x2705; Built-in security scanning to detect vulnerabilities.<br>&#x2705; Supports Python, Java, JavaScript, and more.<br>&#x2705; Free for individual developers.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://docs.aws.amazon.com/codewhisperer/latest/userguide/whisper-setup-ide-devs.html" class="kg-btn kg-btn-accent">Amazon CodeWhisperer</a></div><h2 id="11-qodo-ai-previously-codium">11. Qodo AI (previously Codium)</h2><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/qobo-1.png" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="1953" height="1139" srcset="https://itsfoss.com/content/images/size/w600/2025/04/qobo-1.png 600w, https://itsfoss.com/content/images/size/w1000/2025/04/qobo-1.png 1000w, https://itsfoss.com/content/images/size/w1600/2025/04/qobo-1.png 1600w, https://itsfoss.com/content/images/2025/04/qobo-1.png 1953w" sizes="(min-width: 720px) 720px"></figure><p>If you&#x2019;ve ever been frustrated by the limitations of free AI coding tools, qodo might be the answer. </p><p>Supporting over 50 programming languages, including Python, Java, C++, and TypeScript, qodo integrates smoothly with Visual Studio Code, IntelliJ, and JetBrains IDEs. </p><p>It provides intelligent autocomplete, function suggestions, and even code documentation generation, making it a versatile tool for projects of all sizes. </p><p>While it may not have some of the advanced features of paid alternatives, its zero-cost access makes it a game-changer for budget-conscious developers.</p><p><strong>Key Features</strong></p><p>&#x2705; Unlimited free code completions with no restrictions.<br>&#x2705; Supports 50+ programming languages, including Python, Java, and TypeScript.<br>&#x2705; Works with popular IDEs like Visual Studio Code and JetBrains.<br>&#x2705; Lightweight and responsive, ensuring a smooth coding experience.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://www.qodo.ai" class="kg-btn kg-btn-accent">Qodo</a></div><h2 id="final-thoughts">Final thoughts</h2><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">I deliberately skipped IDEs from this list. I have a separate <a href="https://itsfoss.com/vibe-coding-editors/" rel="noreferrer">list of editors for vibe coding on Linux</a>.</div></div><p>With time, we&#x2019;re undoubtedly going to see more AI-assisted coding take center stage. As <a href="https://www.windowscentral.com/software-apps/work-productivity/anthropic-ceo-dario-amodei-says-ai-will-write-90-percent-of-code-in-6-months" rel="noreferrer">Anthropic CEO Dario Amodei puts it, AI will write 90% of code within six months</a> and could automate software development entirely within a year. </p><p>Whether that&#x2019;s an exciting leap forward or a terrifying thought depends on how much you trust your AI pair programmer.</p><p>If you&#x2019;re diving into these tools, I highly recommend brushing up on the basics of coding and version control. </p><p>AI can write commands for you, but if you don&#x2019;t know what it&#x2019;s doing, you might go from <em>&#x201C;I just built the next billion-dollar SaaS!&#x201D;</em> to <em>&#x201C;Why did my AI agent just delete my entire codebase?&#x201D;</em> in a matter of seconds.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/leojr94-vibe-coding-saas-app.png" class="kg-image" alt="11 Vibe Coding Tools to 10x Your Development on Linux Desktop" loading="lazy" width="805" height="662" srcset="https://itsfoss.com/content/images/size/w600/2025/04/leojr94-vibe-coding-saas-app.png 600w, https://itsfoss.com/content/images/2025/04/leojr94-vibe-coding-saas-app.png 805w" sizes="(min-width: 720px) 720px"><figcaption><a href="https://x.com/leojr94_/status/1901560276488511759" rel="noreferrer"><span style="white-space: pre-wrap;">X</span></a></figcaption></figure><p>That said, this curated list of amazing open-source tools should get you started. Whether you&apos;re a seasoned developer or just someone who loves typing cool things into a terminal, these tools will level up your game. </p><p>Just remember: the <em>AI can vibe with you, but at the end of the day, you&apos;re still the DJ of your own coding playlist</em> (sorry for the cringy line &#x1F449;&#x1F448;).</p>]]></content:encoded></item><item><title><![CDATA[Birth of Unix]]></title><description><![CDATA[A byte size history of Unix and its origin.]]></description><link>https://itsfoss.com/birth-of-unix/</link><guid isPermaLink="false">67b3640062fbee5823cb5eb8</guid><category><![CDATA[History, Trivia & Nostalgia 🗓]]></category><dc:creator><![CDATA[John Paul Wohlscheid]]></dc:creator><pubDate>Sun, 13 Apr 2025 14:34:36 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2025/04/unix-history.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2025/04/unix-history.png" alt="Birth of Unix"><p>Sometimes it feels like Unix has been around forever, at least to users who have used Linux, or BSD in any form for a decade or more now.</p><p>Its ideals laid the groundwork for Linux, and it underpins macOS. A modern version (FreeBSD) is used on thousands of servers while Linux rules the server space along with the super computer industry. </p><p>Even though the original form of it is a history, it remains a significant development to help start Linux and more.</p><p>But initially, it had a rocky start and had to be developed in secret.</p><h2 id="punch-cards-and-multics">Punch Cards and Multics</h2><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/1024px-This_is_a_card_puncher-_an_integral_part_of_the_tabulation_system_used_by_the_United_States_Census_Bureau_to_compile..._-_NARA_-_513295.jpg" class="kg-image" alt="Birth of Unix" loading="lazy" width="1024" height="807" srcset="https://itsfoss.com/content/images/size/w600/2025/04/1024px-This_is_a_card_puncher-_an_integral_part_of_the_tabulation_system_used_by_the_United_States_Census_Bureau_to_compile..._-_NARA_-_513295.jpg 600w, https://itsfoss.com/content/images/size/w1000/2025/04/1024px-This_is_a_card_puncher-_an_integral_part_of_the_tabulation_system_used_by_the_United_States_Census_Bureau_to_compile..._-_NARA_-_513295.jpg 1000w, https://itsfoss.com/content/images/2025/04/1024px-This_is_a_card_puncher-_an_integral_part_of_the_tabulation_system_used_by_the_United_States_Census_Bureau_to_compile..._-_NARA_-_513295.jpg 1024w" sizes="(min-width: 720px) 720px"></figure><p>Back in the days when computers took up whole rooms, the main method of using computers was the punch card interface. Computers didn&apos;t come with an operating system, they had a programming language built into them. If you wanted to run a program, you had to use a device to enter your program and the data on a series of punch cards.</p><p>According to an <a href="https://corecursive.com/brian-kernighan-unix-bell-labs1/">interview</a> with <a href="https://en.wikipedia.org/wiki/Brian_Kernighan">Brian Kernighan</a>, one of the Unix creators, &quot;So if you had a 1,000-line program, you would have 1,000 cards. There were no screens, no interactive output. You gave your cards to the computer operator and waited for your printout that was the result of your program.&quot;</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/1024px-Keypunch_operator_1950_census_IBM_016.jpg" class="kg-image" alt="Birth of Unix" loading="lazy" width="1024" height="842" srcset="https://itsfoss.com/content/images/size/w600/2025/04/1024px-Keypunch_operator_1950_census_IBM_016.jpg 600w, https://itsfoss.com/content/images/size/w1000/2025/04/1024px-Keypunch_operator_1950_census_IBM_016.jpg 1000w, https://itsfoss.com/content/images/2025/04/1024px-Keypunch_operator_1950_census_IBM_016.jpg 1024w" sizes="(min-width: 720px) 720px"></figure><p>At the time, all text output from these computers was capitalized. Kernighan wrote an application to handle the formatting of his thesis. &quot;And so thesis was basically three boxes of cards, 6,000 cards in each box, probably weighed 10, 12 pounds, five kilograms. And so you&#x2019;d take these three boxes, 1,000 cards of which the first half of the first box was the program and then the remaining 5,000 cards was the thesis. And you would take those three boxes and you&#x2019;d hand them to the operator. And an hour or two or three later back would come a printed version of thesis again.&quot; <br><br>Needless to say, this makes modern thesis writing seem effortless, right?</p><p>In the late 1950s, AT&amp;T, Massachusetts Institute of Technology, and General Electric created a project to revolutionize computing and push it beyond the punch card. </p><p>The project was named <a href="https://en.wikipedia.org/wiki/Multics">Multics</a> or &#x201C;Multiplexed Information and Computing Service&#x201D;. According to the <a href="https://www.multicians.org/history.html">paper</a> that laid out the plans for the project, there were nine major goals:</p><ul><li>Convenient remote terminal use.</li><li>Continuous operation analogous to power &amp; telephone services.</li><li>A wide range of system configurations, changeable without system or user program reorganization.</li><li>A high reliability internal file system.</li><li>Support for selective information sharing.</li><li>Hierarchical structures of information for system administration and decentralization of user activities.</li><li>Support for a wide range of applications.</li><li>Support for multiple programming environments &amp; human interfaces.</li><li>The ability to evolve the system with changes in technology and in user aspirations.</li></ul><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2025/04/Multics-Login.png" class="kg-image" alt="Birth of Unix" loading="lazy" width="583" height="434"></figure><p>Multics would be a time-sharing computer, instead of relying on punch cards. This means that users could log into the system via a terminal and use it for an allotted period of time. This would turn the computer from a system administered by a high priest class (Steven Levy mentioned this concept in his book <a href="https://www.amazon.in/Hackers-Steven-Levy/dp/1449388396" rel="noreferrer"><em>Hackers</em></a>.) to something that could be accessed by anyone with the necessary knowledge.</p><p>The project was very ambitious. Unfortunately, turning ideas into reality takes time. Bell Labs withdrew from the project in 1969. They had joined the project to get a time-sharing operating system for their employees, but there had been little progress.</p><p>The lessons learned from Multics eventually helped in the creation of Unix, more on that below.</p><h2 id="to-space-beyond">To Space Beyond</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/ge645-paris.jpg" class="kg-image" alt="Birth of Unix" loading="lazy" width="600" height="386" srcset="https://itsfoss.com/content/images/2025/04/ge645-paris.jpg 600w"><figcaption><span style="white-space: pre-wrap;">Image Credits: </span><a href="https://www.multicians.org/drv-bull.html" rel="noreferrer"><span style="white-space: pre-wrap;">Multicians</span></a><span style="white-space: pre-wrap;"> / A team installing GE 645 mainframe in Paris</span></figcaption></figure><p>The Bell engineers who had worked on Multics (including Ken Thompson and Dennis Ritchie) were left without an operating system, but tons of ideas. In the last days of their involvement in the Multics, they had started writing an operating system on a <a href="https://en.wikipedia.org/wiki/GE_645">GE-645 mainframe</a>. But then the project ended, and they no longer needed the mainframe.</p><p>They lobbied their bosses to buy a mini-computer to start their own operating system project but were denied. They continued to work on the project in secret. Often they would get together and discuss what they would want in an operating system and sketch out ideas for the architecture.</p><p>During this time, Thompson started working on a little side project. He wrote a game for the GE-645 named Space Travel. The <a href="https://spectrum.ieee.org/the-strange-birth-and-long-life-of-unix">game</a> &quot;simulated all the major bodies in the solar system along with a spaceship that could fly around them&quot;. <br><br>Unfortunately, it was expensive to run on the mainframe. Each game cost $75 to play. So, Thompson went looking for a different, cheaper computer to use. He discovered a <a href="https://en.wikipedia.org/wiki/PDP-7">PDP-7 mini-computer</a> left over from a previous project. He rewrote the game to run on the PDP-7.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/pd7.jpeg" class="kg-image" alt="Birth of Unix" loading="lazy" width="1024" height="809" srcset="https://itsfoss.com/content/images/size/w600/2025/04/pd7.jpeg 600w, https://itsfoss.com/content/images/size/w1000/2025/04/pd7.jpeg 1000w, https://itsfoss.com/content/images/2025/04/pd7.jpeg 1024w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">PDP-7, Image Credits: </span><a href="https://en.wikipedia.org/wiki/PDP-7" rel="noreferrer"><span style="white-space: pre-wrap;">Wikipedia</span></a></figcaption></figure><p>In the summer of 1969, Thompson&apos;s wife took their newborn son to visit her parents. Thompson took advantage of this time and newly learned programming skills to start writing an operating system for the PDP-7. Since he saw this new project as a cut-down version of Multics, he named it &#x201C;Un-multiplexed Information and Computing Service,&quot; or Unics. It was eventually changed to Unix.</p><p>Other Bell Labs employees joined the project. The team quickly ran into limitations with the hardware itself. The PDP-7 was in its early stages, so they had to figure out how to get their hands on a newer computer. They knew that their bosses would never buy a new system <a href="https://spectrum.ieee.org/the-strange-birth-and-long-life-of-unix">because</a> &quot;lab&apos;s management wasn&apos;t about to allow any more research on operating systems.&quot;</p><p>At the time, Bell Labs produced lots of patents. According to Kernighan, &quot;typically one or two a day at that point.&quot; It was time-consuming to create applications for those patents because the formatting required by the government was very specific. <br><br>At the time, there were no commercial word processing programs capable of handling the formatting. The Unix group offered to write a program for the patent department that would run on a shiny new <a href="https://en.wikipedia.org/wiki/PDP-11">PDP-11</a>. They also promised to have it done before any commercial software would be available to do the same. Of course, they failed to mention that they would need to write an operating system for the software to run on.</p><p>Their bosses agreed to the proposal and placed an order for a PDP-11 in May 1970. The computer arrived quickly, but it took six months for the drives to arrive.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/PDP-11-70.JPG" class="kg-image" alt="Birth of Unix" loading="lazy" width="1280" height="846" srcset="https://itsfoss.com/content/images/size/w600/2025/04/PDP-11-70.JPG 600w, https://itsfoss.com/content/images/size/w1000/2025/04/PDP-11-70.JPG 1000w, https://itsfoss.com/content/images/2025/04/PDP-11-70.JPG 1280w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">PD-11/70, Image Credits: </span><a href="https://en.wikipedia.org/wiki/PDP-11" rel="noreferrer"><span style="white-space: pre-wrap;">Wikipedia</span></a></figcaption></figure><p> In the meantime, the team continued to write Unix on the PDP-7, making it the first platform where the first version of Unix developed. Once the PDP-11 was up and running, the team ported what they had to the new system. In short order, the new patent application software was unveiled to the patent department. It was a hit. The management was so pleased with the results, they bought the Unix team their own PDP-11.</p><h2 id="growing-and-legal-problems">Growing and Legal Problems</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2025/04/unix-manual.jpg" class="kg-image" alt="Birth of Unix" loading="lazy" width="848" height="1127" srcset="https://itsfoss.com/content/images/size/w600/2025/04/unix-manual.jpg 600w, https://itsfoss.com/content/images/2025/04/unix-manual.jpg 848w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Image Credits: </span><a href="https://www.amazon.in/Unix-Programmers-Manual-v-1/dp/0030617421" rel="noreferrer"><span style="white-space: pre-wrap;">Amazon</span></a></figcaption></figure><p>With a more powerful computer at their command, work on Unix continued. In 1971, the team released its first official manual: <a href="https://man.cat-v.org/unix-1st/">The UNIX Programmer&apos;s Manual</a>. The operating system was officially debuted to the world via a paper presented at the 1973 symposium of the Association for Computing Machinery. This was followed by a flood of requests for copies.</p><p>This brought up new issues. AT&amp;T, the company that financed Bell Labs, couldn&apos;t sell an operating system. In 1956, AT&amp;T was forced by the US government to agree to a consent decree. <br><br>This consent decree prohibited AT&amp;T <a href="https://spectrum.ieee.org/the-strange-birth-and-long-life-of-unix">from</a> &quot;selling products not directly related to telephones and telecommunications, in return for its legal monopoly status in running the country&apos;s long-distance phone service.&quot; The solution was to release &quot;the Unix source code under license to anyone who asked, charging only a nominal fee&quot;.</p><p>The consent decree also prohibited AT&amp;T from providing tech support. So, the code was essentially available as-is. This led to the creation of the first user groups as Unix adopters banded together to provide mutual assistance.</p><h2 id="c-programming-the-necessary-catalyst">C Programming, The Necessary Catalyst</h2><p>The creation of the C programming language by Dennis Ritchie at Bell Labs helped Unix make progress with its future versions, and indirectly influenced the ability to create BSD and Linux.</p><p>And, now, we have many programming languages, operating systems, including several variants of Linux, BSD, and Unix-like operating systems as well.</p>]]></content:encoded></item></channel></rss>

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=https%3A//itsfoss.com/feed/

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda