trying to fix
This commit is contained in:
parent
fa407dfeb6
commit
e013d7569e
22945 changed files with 447936 additions and 0 deletions
|
@ -0,0 +1,4 @@
|
|||
<p>Knowing which hardware to buy or which apps to run on that shiny new hardware can be hard. Chris and Alex discuss networking gear and where to find some of the best getting started documentation on the net.</p>
|
||||
|
||||
<p>Plex have been busy and launched two new apps, we cover that and more in this episode of Self-Hosted.</p><p><a href="https://jupitersignal.memberful.com/checkout?plan=53744" rel="payment">Support Self-Hosted</a></p><p>Links:</p><ul><li><a href="https://selfhosted.show/discord" title="Self-Hosted now has a Discord server!" rel="nofollow">Self-Hosted now has a Discord server!</a> — Join us over on Discord!</li><li><a href="https://www.plex.tv/blog/two-delicious-new-apps-from-plex-labs/" title="Plex Blog - Two New Delicious Apps" rel="nofollow">Plex Blog - Two New Delicious Apps</a> — A post from Plex about their two shiny new apps.</li><li><a href="https://medium.com/plexlabs/plex-dash-c42d1f624877" title="Plex Dash" rel="nofollow">Plex Dash</a> — A Medium post from Plex about their new app Plex Dash.</li><li><a href="https://medium.com/plexlabs/plexamp-v3-9af3b10063b4" title="Plexamp" rel="nofollow">Plexamp</a> — A Medium post from Plex about their new app Plexamp.</li><li><a href="https://healthchecks.io/" title="Healthchecks.io" rel="nofollow">Healthchecks.io</a> — Simple and Effective Cron Job Monitoring</li><li><a href="https://hub.docker.com/r/linuxserver/healthchecks" title="Self-Hosted Healthchecks.io Container (from Linuxserver.io)" rel="nofollow">Self-Hosted Healthchecks.io Container (from Linuxserver.io)</a> — Receive alerts when your nightly backups, weekly reports, cron jobs and scheduled tasks don't run on time.</li><li><a href="https://blog.linuxserver.io/2019/04/25/letsencrypt-nginx-starter-guide/" title="Let's Encrypt Docker Starter Guide from Linuxserver.io" rel="nofollow">Let's Encrypt Docker Starter Guide from Linuxserver.io</a> — The goal of this guide is to give you ideas on what can be accomplished with the LinuxServer letsencrypt docker image and to get you started.</li><li><a href="https://docs.linuxserver.io/" title="Linuxserver.io Docker 101 Docs" rel="nofollow">Linuxserver.io Docker 101 Docs</a> — A quick intro to the basics of getting started with Docker.</li><li><a href="https://serverbuilds.net" title="serverbuilds.net" rel="nofollow">serverbuilds.net</a> — A site dedicated to helping you find the best deals on used Enterprise gear.</li><li><a href="https://forums.serverbuilds.net/t/guide-jdms-mini-itx-pfsense-builds/187/39?u=ironicbadger" title="Alex's cheap x86 pfsense build" rel="nofollow">Alex's cheap x86 pfsense build</a> — A build log for a $150 x86 based pfsense router.</li><li><a href="https://www.fieldengineer.com/blogs/network-switch-managed-vs-unmanaged" title="Unmanaged vs Managed network switches" rel="nofollow">Unmanaged vs Managed network switches</a> — What's the difference and do you really need a managed switch?</li><li><a href="https://www.reddit.com/r/smarthome/comments/g1wu0m/selling_house_how_to_transfer_smarthome_accts_to/" title="How to transfer accounts for a SmartHome when you sell up" rel="nofollow">How to transfer accounts for a SmartHome when you sell up</a> — How do you ensure future owners realize the value of your smart home devices?</li></ul>
|
||||
|
205
var/elfeed/db/data/a2/a210fbd02f40bac8788c4b594df843dd5365c9d3
Normal file
205
var/elfeed/db/data/a2/a210fbd02f40bac8788c4b594df843dd5365c9d3
Normal file
|
@ -0,0 +1,205 @@
|
|||
<p>A couple of weeks ago I got myself a new laptop to replace my old <a href="https://batsov.com/articles/2021/11/02/the-macbook-redux/">MacBook
|
||||
12-inch from 2017</a>. As my
|
||||
followers might remember I was planning to buy either an M1-powered MacBook Air
|
||||
or the brand new MacBook Pro 14-inch with an M1 Pro. After much deliberation,
|
||||
however, in the end I decided to go in a completely different direction and went
|
||||
with Lenovo Yoga Slim 7, which is essentially my first non-Apple laptop since
|
||||
2011.<sup id="fnref:1"><a class="footnote" href="https://batsov.com/articles/2021/12/23/new-laptop-lenovo-yoga-slim-7/#fn:1" rel="footnote">1</a></sup></p>
|
||||
|
||||
<p>What made me change my mind? As usual there were several factors at play:</p>
|
||||
|
||||
<ul>
|
||||
<li>I hate International ISO keyboards (the ones with the short <code class="language-plaintext highlighter-rouge">Enter</code>), and by default all
|
||||
MacBooks in Bulgaria are sold with those. A BTO configuration with an US ANSI keyboard usually takes
|
||||
1-2 months to be delivered here.</li>
|
||||
<li>There are rumors that the MBA will be updated soon in a massive way, and it was
|
||||
my front-runner. The MBPs are an overkill for my current needs and are a bit
|
||||
heavy for my taste. Not to mention they are quite expensive, even by Apple’s standards!</li>
|
||||
<li>In recent years I’ve been quite disappointed with the direction of macOS (more restrictive, more similar to iOS) and I’ve really enjoyed working on Windows 10 and WSL. One can argue that today Windows is a good enough Linux.</li>
|
||||
<li>I’ve never been too fond of Apple’s keyboards, even the good ones. Also - they have no respect for the right Control key. :-)</li>
|
||||
<li>I’ve never had an AMD-powered laptop and I’ve always been a huge AMD fan. Everyone likes the underdog, right?</li>
|
||||
<li>I like playing with different gadgets and I’m definitely bored of MacBooks.</li>
|
||||
</ul>
|
||||
|
||||
<p>So, I decided to look for a Windows laptop and I had the following requirements for it:</p>
|
||||
|
||||
<ul>
|
||||
<li>Thin and light, ideally under 1.3 kg (the weight of a MacBook Air)</li>
|
||||
<li>HiDPI (Retina) display with 16:10 or 3:2 aspect ratio</li>
|
||||
<li>Metal/Carbon chassis</li>
|
||||
<li>1TB+ of storage, ideally user-upgradable</li>
|
||||
<li>16GB+ of memory, ideally user-upgradable</li>
|
||||
<li>USB-C charger</li>
|
||||
<li>Comfortable keyboard with a right Control key and an US ANSI layout</li>
|
||||
<li>Good touchpad with Microsoft Precision drivers support</li>
|
||||
<li>Cool and quiet operation (my MacBook was getting extremely hot very quickly)</li>
|
||||
<li>Decent battery life (my MacBook could last for only 2 hours max at the end)</li>
|
||||
<li>Ryzen 5000-series CPU</li>
|
||||
<li>Price around 1000 EUR</li>
|
||||
</ul>
|
||||
|
||||
<p>I found many great Windows laptops during my search process, but I disqualified
|
||||
most of them on either high price (e.g. most ThinkPads), 1080p-only display
|
||||
(e.g. Asus Zenbook 13/14) or no AMD CPU option. In the end the Lenovo Yoga Slim
|
||||
7 was as close as I could get to my dream machine (within my budget), so I went with it.</p>
|
||||
|
||||
<h2 id="tech-specs">Tech Specs</h2>
|
||||
|
||||
<p>Here are the tech specs of the laptop:</p>
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>CPU</td>
|
||||
<td>AMD Ryzen 7 5800U</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>GPU</td>
|
||||
<td>AMD Radeon Vega 8</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Storage</td>
|
||||
<td>1TB SSD</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RAM</td>
|
||||
<td>16GB LPDDR4x-4266 (soldered)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Display</td>
|
||||
<td>13.3 inch, QHD (2560x1600), 16:10 , IPS, Glossy, 300 nits</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PSU</td>
|
||||
<td>65W USB-C</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Weight</td>
|
||||
<td>1.2 kg</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>OS</td>
|
||||
<td>Windows 11 Home</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>You can find the detailed tech specs <a href="https://psref.lenovo.com/syspool/Sys/PDF/Yoga/Yoga_Slim_7_13ACN5/Yoga_Slim_7_13ACN5_Spec.pdf">here</a>.
|
||||
The price I paid for the machine was 1100 EUR.</p>
|
||||
|
||||
<p>Some of you might have noticed that the Yoga Slim 7 is pretty similar to a MacBook
|
||||
Air - it has an aluminum body, the same screen size and aspect ratio, and even
|
||||
exactly the same resolution as the MBA. It has a lot smaller screen bezels, though, which
|
||||
has allowed Lenovo to make a slightly lighter computer (1.2kg vs 1.3kg for the
|
||||
MBA). All of those similarities were quite appealing to me, given my fondness for the MBA’s
|
||||
form factor and build quality.</p>
|
||||
|
||||
<p>I should also mention that there’s a similar laptop named <a href="https://www.lenovo.com/gb/en/laptops/yoga/yoga-slim-series/Yoga-Slim-7-Pro-14ARH5/p/LEN101Y0001">Lenovo Yoga Slim 7 Pro</a>, that might be an even better choice for some of you, because:</p>
|
||||
|
||||
<ul>
|
||||
<li>It has an USB-A port</li>
|
||||
<li>It has a 14-inch screen with even higher resolution (2880x1800), higher brightness (400 nits) and 90Hz refresh rate</li>
|
||||
<li>It has a bigger battery and longer battery life</li>
|
||||
<li>It weight 1.3kg (just 100 grams more)</li>
|
||||
</ul>
|
||||
|
||||
<p>Actually, this was the Lenovo laptop that caught my attention originally, but unfortunately in Bulgaria they were selling only the Intel version of it.</p>
|
||||
|
||||
<h2 id="mini-review">Mini Review</h2>
|
||||
|
||||
<p>I don’t want to write a detailed review of the Lenovo Yoga, but having used it extensively for 2 weeks I’ll share a few thoughts on it.
|
||||
TLDR - it’s a really great laptop, especially given its low price. Just a month ago I wouldn’t have believed that you could get such a
|
||||
nice machine for so little money.</p>
|
||||
|
||||
<p>For reference - a similarly spec-ed MBA costs around 2000 EUR in Bulgaria and a baseline MBP 14 costs 2300 EUR.
|
||||
Obviously they are more premium/faster computers (especially the MBP), but I don’t think they are so much better to justify their price for most people.</p>
|
||||
|
||||
<h3 id="good-stuff">Good Stuff</h3>
|
||||
|
||||
<ul>
|
||||
<li>Super fast (compared my old laptop at least) - that 8-core Ryzen CPU is a beast!</li>
|
||||
<li>Gorgeous display, although I would have preferred a non-glossy (matte) version of it.</li>
|
||||
<li>Relatively cool and quiet under normal workloads. It’s no M1, but it’s definitely coolest laptop I’ve ever owned. The laptop has a couple of power profiles you can choose from and in “battery saver” mode it’s totally quiet and pretty cool.</li>
|
||||
<li>Excellent build quality - it feels almost as premium as a MacBook!</li>
|
||||
<li>Best laptop keyboard I’ve had in at least 10 years! Obviously it’s still a laptop keyboard, but it has much better travel and feedback than Apple’s new/old keyboards. I also love how the keycaps are shaped.</li>
|
||||
<li>Great trackpad - almost as good as Apple’s trackpads.</li>
|
||||
<li>The charger is super light.</li>
|
||||
<li>I got a free USB-C to HDMI converter with the laptop.</li>
|
||||
<li>The webcam has support for Windows Hello (something like Face ID).</li>
|
||||
<li>The display hinge goes all the way to 180 degrees.</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="bad-stuff">Bad Stuff</h3>
|
||||
|
||||
<ul>
|
||||
<li>The battery life is just 6-7 hours, when doing my usual work (browsing, Slack,
|
||||
Zoom meetings, note taking, light programming in Emacs). It’s still a big
|
||||
improvement for me, but I was hoping for 8+ hours of battery life. At least it
|
||||
supports fast-charging, so that’s not a big deal.</li>
|
||||
<li>The fans can get somewhat noisy under heavy workloads (most of the time I cannot hear them, though).</li>
|
||||
<li>There was some bloatware preinstalled on the computer (e.g. McAfee and some mostly useless Lenovo apps).</li>
|
||||
<li>The laptop has only 3 USB-C ports and a headphone jack. No Thunderbolt support, but I don’t really care about this.</li>
|
||||
<li>No privacy shutter for the webcam.</li>
|
||||
<li>The built-in speakers are so-so.</li>
|
||||
<li>The name. It’s quite a mouthful and it’s also different in different markets (e.g. Lenovo IdeaPad Slim 7). Not to mention some people
|
||||
think that the Yoga brand stands for 2-in-1 convertibles with touch screens.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="honorable-mentions">Honorable Mentions</h2>
|
||||
|
||||
<p>Here are some of the other (Windows) machines that I considered before getting the Yoga Slim 7:</p>
|
||||
|
||||
<ul>
|
||||
<li>ThinkPad X1 Carbon - probably the best Windows machine for me, but as expensive as an MBP in Bulgaria</li>
|
||||
<li>Dell XPS 13 - ditto</li>
|
||||
<li>HP Spectre 14 x360 - amazing 3:2 screen and great build quality, good value for the money, but very noisy and it had a fingerprint scanner where the right Control key should be</li>
|
||||
<li>Microsoft Surface - great 3:2 screen, lovely keyboard (but without right Control), very limited availability in Bulgaria and MacBook-level pricing</li>
|
||||
<li>Lenovo Yoga Slim 7 Pro - a more powerful version of my laptop, but the AMD models are extremely hard to find in Bulgaria</li>
|
||||
<li><a href="https://www.schenker-tech.de/en/schenker-vision-14">Schenker Vision 14</a> - custom “German” (Chinese?) laptop, that’s very extensible and comes with a great 16:10 display. Sadly, they don’t have any AMD models.</li>
|
||||
<li><a href="https://www.tuxedocomputers.com/en/Linux-Hardware/Linux-Notebooks/10-14-inch/TUXEDO-InfinityBook-Pro-14-Gen6.tuxedo">Tuxedo InfinityBook Pro 14</a> - same as above, but targeting Linux</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="epilogue">Epilogue</h2>
|
||||
|
||||
<blockquote>
|
||||
<p>There is no exquisite beauty without some strangeness in the proportion.</p>
|
||||
|
||||
<p>– Edgar Allan Poe</p>
|
||||
</blockquote>
|
||||
|
||||
<p>I’m well aware that any M1-powered laptop will blow away my modest Lenovo Yoga, but I don’t really care about this either. I still plan to get
|
||||
some MacBook down the road, but I’m not in a rush and I’ll likely wait for M2 to come out. My experience with first-gen Apple devices has never
|
||||
been very good.</p>
|
||||
|
||||
<p>For me it’s very important to have a bit of fun and diversity when it comes to computers and operating systems. I’ve been using Windows 10/11 and WSL2
|
||||
for the past 15 months (on my desktop workstation) and I totally love my experience with them. It’s amazing how far Microsoft have come from the days when they were trying to destroy Linux and
|
||||
no respectable developer would consider Windows as their primary development platform. Well done, Satya Nadella!</p>
|
||||
|
||||
<p>I’ve learned that today developers definitely have some decent options if they
|
||||
are looking for alternatives of Apple’s walled garden (or running Linux on the
|
||||
bare metal). Yeah, it’d be even better if we had good options for native Linux,
|
||||
but I’ve pretty much lost all hope on that front and at this point I don’t
|
||||
really care.<sup id="fnref:2"><a class="footnote" href="https://batsov.com/articles/2021/12/23/new-laptop-lenovo-yoga-slim-7/#fn:2" rel="footnote">2</a></sup> In many ways Windows + WSL is exactly the type of Linux desktop
|
||||
experience that I always dreamed of. I no longer have to worry about driver and hardware compatibility, and I
|
||||
have access to all the Linux tools that I need. The level of integration between Windows 11 and WSL is insane!</p>
|
||||
|
||||
<p>As usual, I’m writing this article from my
|
||||
Emacs 29 running on WSL + Wayland and it’s gorgeous! My Emacs experience today is much better than what I used to have
|
||||
on macOS and it’s pretty much the same as I what I had on Linux itself. I never saw this coming! (I doubt anyone saw this coming)</p>
|
||||
|
||||
<p>I also realized my dream of owning an AMD-powered laptop! As irrational as it gets, but that’s the kind of person who am I. I’m definitely
|
||||
pleased the with performance and thermal profile of the Ryzen 5800U and I cannot wait to see what AMD have in store for us with the upcoming
|
||||
Zen 4 and the new 5nm fabrication process. Perhaps they’ll be able to give Apple a run for their money? I missed a good old CPU war! They are so much fun!</p>
|
||||
|
||||
<p>My last non-Apple laptop was a ThinkPad T520 in 2011. Some issues with it prompted me to write my <a href="https://batsov.com/articles/2011/06/11/linux-desktop-experience-killing-linux-on-the-desktop/">infamous Linux rant</a> and to switch to Macs. 10 years later I once again have a Lenovo laptop. Coincidence or providence? Time will tell!</p>
|
||||
|
||||
<div class="footnotes">
|
||||
<ol>
|
||||
<li id="fn:1">
|
||||
<p>Admittedly, I briefly owned a HP Spectre x360 5 years ago. I love it as hardware, but back then WSL was way too immature for my needs and Linux didn’t support well the Spectre’s touch-screen. <a class="reversefootnote" href="https://batsov.com/articles/2021/12/23/new-laptop-lenovo-yoga-slim-7/#fnref:1">↩</a></p>
|
||||
</li>
|
||||
<li id="fn:2">
|
||||
<p>Supposedly my laptop should work great with Linux. I’ll have to check that at some point. <a class="reversefootnote" href="https://batsov.com/articles/2021/12/23/new-laptop-lenovo-yoga-slim-7/#fnref:2">↩</a></p>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
108
var/elfeed/db/data/a2/a21db457e670aae1c783a1ae665798c35b8878f7
Normal file
108
var/elfeed/db/data/a2/a21db457e670aae1c783a1ae665798c35b8878f7
Normal file
|
@ -0,0 +1,108 @@
|
|||
<ul class="org-ul">
|
||||
<li>Upcoming events:
|
||||
<ul class="org-ul">
|
||||
<li>Emacs Berlin (virtual, in English) <a href="https://emacs-berlin.org/">https://emacs-berlin.org/</a> Wed Dec 29 0930 Vancouver / 1130 Chicago / 1230 Toronto / 1730 GMT / 1830 Berlin / 2300 Kolkata – Thu Dec 30 0130 Singapore</li>
|
||||
<li>EmacsATX: TBD <a href="https://www.meetup.com/EmacsATX/events/282436104/">https://www.meetup.com/EmacsATX/events/282436104/</a> Wed Jan 5 1630 Vancouver / 1830 Chicago / 1930 Toronto – Thu Jan 6 0030 GMT / 0130 Berlin / 0600 Kolkata / 0830 Singapore</li>
|
||||
<li>Emacs Paris (virtual, in French) <a href="https://www.emacs-doctor.com/emacs-paris-user-group/">https://www.emacs-doctor.com/emacs-paris-user-group/</a> Thu Jan 6 0830 Vancouver / 1030 Chicago / 1130 Toronto / 1630 GMT / 1730 Berlin / 2200 Kolkata – Fri Jan 7 0030 Singapore</li>
|
||||
<li>M-x Research (contact them for password): TBA <a href="https://m-x-research.github.io/">https://m-x-research.github.io/</a> Fri Jan 7 0700 Vancouver / 0900 Chicago / 1000 Toronto / 1500 GMT / 1600 Berlin / 2030 Kolkata / 2300 Singapore</li>
|
||||
</ul></li>
|
||||
<li>Emacs configuration:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/rlli0u/whats_your_favorite_defadvice/">What's your favorite defadvice?</a></li>
|
||||
<li><a href="https://www.youtube.com/watch?v=Gi7yBMYZylU">A Tour of my Emacs Configuration</a> (32:27)</li>
|
||||
<li><a href="https://github.com/alexluigit/emacs-grandview">alexluigit's Emacs Config</a></li>
|
||||
</ul></li>
|
||||
<li>Emacs Lisp:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://helpdeskheadesk.net/help-desk-head-desk/2021-12-19/">TAONAW: Learning Emacs Lisp</a></li>
|
||||
<li><a href="http://gonsie.com/blorg/cl-deprecated.html">Elsa Gonsiorowski: Package cl is deprecated</a></li>
|
||||
<li><a href="http://ag91.github.io/blog/2021/12/23/moldable-emacs-examples-for-docs-demos-and-ert-tests">Andrea: Moldable Emacs: examples for docs, demos and ERT tests!</a></li>
|
||||
<li><a href="https://3e8.org/pub/scheme/doc/lisp-pointers/v5i3/p25-houser.pdf">Eoops: An Object-Oriented Programming System for Emacs-Lisp (1992) [PDF]</a> (<a href="https://www.reddit.com/r/emacs/comments/rm08db/eoops_an_objectoriented_programming_system_for/">Reddit</a>)</li>
|
||||
</ul></li>
|
||||
<li>Appearance:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://emacsredux.com/blog/2021/12/22/check-if-a-font-is-available-with-emacs-lisp/">Emacs Redux: Check if a Font is Available with Emacs Lisp</a></li>
|
||||
<li><a href="https://protesilaos.com/codelog/2021-12-24-modus-themes-2-0-0/">Protesilaos Stavrou: Modus themes 2.0.0 for GNU Emacs</a></li>
|
||||
<li><a href="https://i.redd.it/oj7cb68tsk781.png">UwU Theme</a> (<a href="https://www.reddit.com/r/emacs/comments/rnxjqq/uwu_theme/">Reddit</a>)</li>
|
||||
</ul></li>
|
||||
<li>Navigation:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/ro5ni2/whats_the_emacs_way_to_explore_a_new_project/">What's the Emacs way to explore a new project?</a></li>
|
||||
<li><a href="https://karthinks.com/software/simple-folding-with-hideshow/">Karthik Chikmagalur: Simple folding with Hideshow</a></li>
|
||||
<li><a href="https://github.com/NicholasBHubbard/consult-better-jumper">consult-better-jumper: Integrate better-jumper into consult</a></li>
|
||||
</ul></li>
|
||||
<li>TRAMP:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.youtube.com/watch?v=O0_UazBser8">Edit Remote Files with Emacs</a> (03:22)</li>
|
||||
</ul></li>
|
||||
<li>Dired:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/rm8hl1/dirvish_a_minimalistic_file_manager_based_on/">Dirvish: a minimalistic file manager based on dired. Such as ranger, vifm, lf.</a></li>
|
||||
</ul></li>
|
||||
<li>Writing:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.youtube.com/watch?v=VM8J1zFPYt0">A Review of Emacs Markdown Mode</a> (14:03)</li>
|
||||
<li><a href="https://github.com/duckwork/titlecase.el">[ANN] Titlecase.el : Titlecase things in Emacs</a> (<a href="https://www.reddit.com/r/emacs/comments/rpe8us/ann_titlecaseel_titlecase_things_in_emacs/">Reddit</a>)</li>
|
||||
</ul></li>
|
||||
<li>Org Mode:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://blog.jethro.dev/posts/org_roam_2021/">Org-roam: A Year in Review</a> (<a href="https://www.reddit.com/r/emacs/comments/rot1zz/orgroam_a_year_in_review/">Reddit</a>)</li>
|
||||
<li><a href="https://irreal.org/blog/?p=10201">Irreal: Exporting Environments From Org-mode</a></li>
|
||||
<li><a href="https://emacsnotes.wordpress.com/2021/12/22/use-starmath-not-latex-not-mathml-when-exporting-org-mode-files-to-libreoffice/">Emacs Notes: Use Starmath—NOT LaTeX, NOT MathML—when exporting Org mode files to LibreOffice</a> (<a href="https://www.reddit.com/r/planetemacs/comments/rm2cta/emacs_notes_use_starmathnot_latex_not_mathmlwhen/">Reddit</a>, <a href="https://irreal.org/blog/?p=10208">Irreal</a>)</li>
|
||||
<li><a href="https://emacsnotes.wordpress.com/2021/12/25/mix-starmath-and-latex-mix-english-and-tamil-in-same-org-file-or-how-to-conditionally-export-text-using-macros-and-drawers-in-org-mode/">Emacs Notes: Mix Starmath and LaTeX / Mix English and Tamil in same Org file (or) How to conditionally export text using Macros and Drawers in Org mode</a></li>
|
||||
<li><a href="https://gitlab.com/dwt1/distro.tube">distro.tube : This is the source code for my website which is located at distro.tube. This site was created in Emacs and written in Org Mode</a></li>
|
||||
</ul></li>
|
||||
<li>Completion:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://readingworldmagazine.com/emacs/2021-12-25-how-to-get-files-from-your-computer-with-emacs-1/">yuri tricys: How to Get Files From Your Computer With Emacs</a></li>
|
||||
</ul></li>
|
||||
<li>Coding:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://metaredux.com/posts/2021/12/22/cider-1-2-nice.html">Meta Redux: CIDER 1.2 (Nice)</a></li>
|
||||
<li><a href="https://hristos.co/blog/godot-engine-editing-gdscript-with-emacs/">Hristos N. Triantafillou: Godot Engine: Editing GDScript With Emacs</a></li>
|
||||
<li><a href="https://www.youtube.com/watch?v=SVeiNWU4BBg">LSP-Mode on GNU/Emacs</a> (05:24)</li>
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/rl5dhz/support_to_code_review_bitbucket_cloud_prs/">Support to code review Bitbucket Cloud PRs</a></li>
|
||||
<li><a href="https://github.com/kira-bruneau/kaitai-mode.el">kaitai-mode.el: Edit binary files in emacs using Kaitai Struct .ksy files</a></li>
|
||||
<li><a href="https://gist.github.com/zk/30fc8403733f7f99f3fbacf148cd6807">redbean single-file distributable web server: how to edit as archive in emacs · GitHub</a></li>
|
||||
</ul></li>
|
||||
<li>Shell:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/rmziph/dtache_version_02/">Dtache - Version 0.2</a></li>
|
||||
</ul></li>
|
||||
<li>EXWM:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.youtube.com/watch?v=bHSGDn1Nulo&feature=youtu.be">EXWM is love! (Emacs)</a> (2020)</li>
|
||||
</ul></li>
|
||||
<li>Community:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/rm0kr9/weekly_tips_tricks_c_thread/">Weekly Tips, Tricks, &c. Thread</a></li>
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/rnqsyo/how_can_i_get_the_novice_programmers_i_coach_to/">How can I get the novice programmers I coach to adopt Emacs?</a></li>
|
||||
<li><a href="https://protesilaos.com/codelog/2021-12-21-emacsconf2021-freedom/">Protesilaos Stavrou: EmacsConf 2021: How Emacs made me appreciate software freedom</a> (<a href="https://news.ycombinator.com/item?id=29638547">HN</a>)</li>
|
||||
<li><a href="https://www.macadie.net/2021/12/22/2021-12-emacs-meetup-and-other-thoughts/">Eric MacAdie: 2021-12 Emacs Meetup and Other Thoughts</a></li>
|
||||
</ul></li>
|
||||
<li>Other:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://git.sr.ht/~aimebertrand/org-mac-link">org-mac-link: Insert org-mode links to items selected in various Mac apps</a></li>
|
||||
<li><a href="https://lifeofpenguin.blogspot.com/2021/12/embedding-gtk-applications-via-xembed-2.html">Embedding GTK applications via XEmbed - 2</a> (<a href="https://www.reddit.com/r/emacs/comments/rmwity/multimedia_dashboard_in_gnu_emacs/">Reddit</a>)</li>
|
||||
</ul></li>
|
||||
<li>Emacs development:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/rlwipm/emacs_team_considering_including_sqlite/">Emacs team considering including SQLite</a> (long discussion, merged into master)</li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=1e7786437d3d471bffe48d91a067556f9223e9cf">read-multiple-choice: Add optional argument show-help</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=101bbd1392077e26e904c70fead7f7d7dce595f7">Add support for pinch gestures to the XI2 build</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=d54d8a88e9a2f12b69e820e9bb89e304521bc8c7">Allow window-text-pixel-size to measure pixels around a position</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=2001ae5898a1e48cae5b138828190ac2cba39b40">Revert back to using monospaced fonts in the mode line</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=28fff38eeb9e7641937bc3448d43c0a7d0eb6bbc">Allow automatic X-Message-SMTP-Method header insertion</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=4154a85d813d94726fbcc5adb824d42d234786c6">Disable by default and add NEWS entry to the new completion behavior</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=a34650acff3740980ef23d900d35004bcfe2ef04">Fix sloppy base64 acceptance of some multibyte characters</a></li>
|
||||
</ul></li>
|
||||
<li>New packages:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://melpa.org/#/preview-dvisvgm" target="_blank">preview-dvisvgm</a>: SVG output for LaTeX preview</li>
|
||||
<li><a href="https://melpa.org/#/vunit-mode" target="_blank">vunit-mode</a>: VUnit Runner Interface</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Links from <a href="https://www.reddit.com/r/emacs">reddit.com/r/emacs</a>, <a href="https://www.reddit.com/r/orgmode">r/orgmode</a>, <a href="https://www.reddit.com/r/spacemacs">r/spacemacs</a>, <a href="https://www.reddit.com/r/planetemacs">r/planetemacs</a>, <a href="https://hn.algolia.com/?query=emacs&sort=byDate&prefix&page=0&dateRange=all&type=story">Hacker News</a>, <a href="https://planet.emacslife.com">planet.emacslife.com</a>, <a href="https://www.youtube.com/playlist?list=PL4th0AZixyREOtvxDpdxC9oMuX7Ar7Sdt">YouTube</a>, <a href="http://git.savannah.gnu.org/cgit/emacs.git/log/etc/NEWS">the Emacs NEWS file</a>, <a href="https://emacslife.com/calendar/">Emacs Calendar</a>, <a href="http://lists.gnu.org/archive/html/emacs-devel/2021-12">emacs-devel</a>, and <a href="https://lemmy.ml/c/emacs">lemmy/c/emacs</a>.
|
||||
</p>
|
|
@ -0,0 +1 @@
|
|||
<table> <tr><td> <a href="https://www.reddit.com/r/unixporn/comments/r9yage/i3_fresh_install_on_thinkpad_x200t/"> <img src="https://preview.redd.it/s05345aalu381.png?width=640&crop=smart&auto=webp&s=71d14162da8691935f1a28be967a5cf99410b801" alt="[i3] Fresh install on thinkpad x200t" title="[i3] Fresh install on thinkpad x200t" /> </a> </td><td>   submitted by   <a href="https://www.reddit.com/user/SparkVenom"> /u/SparkVenom </a> <br/> <span><a href="https://i.redd.it/s05345aalu381.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/unixporn/comments/r9yage/i3_fresh_install_on_thinkpad_x200t/">[comments]</a></span> </td></tr></table>
|
|
@ -0,0 +1,19 @@
|
|||
<p>How did we get from shareware to free software? We jump in the Linux powered time machine and revisit software past.</p>
|
||||
|
||||
<p>Plus a new Plasma focused laptop, and two powerful command-line picks.</p><p>Special Guests: Alex Kretzschmar and Brent Gervais.</p><p><a href="https://jupitersignal.memberful.com/checkout?plan=52946" rel="payment">Support LINUX Unplugged</a></p><p>Links:</p><ul><li><a href="https://www.cnx-software.com/2020/01/20/marscat-bionic-cat-powered-by-raspberry-pi-3/" title="MarsCat is a Bionic Cat Powered by Raspberry Pi 3 (Crowdfunding)" rel="nofollow">MarsCat is a Bionic Cat Powered by Raspberry Pi 3 (Crowdfunding)</a>
|
||||
</li><li><a href="https://www.phoronix.com/scan.php?page=article&item=kubuntu-focus" title="Kubuntu Focus Offers The Most Polished KDE Laptop Experience We’ve Seen Yet - Phoronix" rel="nofollow">Kubuntu Focus Offers The Most Polished KDE Laptop Experience We’ve Seen Yet - Phoronix</a>
|
||||
</li><li><a href="https://kfocus.org/" title="Kubuntu Focus" rel="nofollow">Kubuntu Focus</a>
|
||||
</li><li><a href="https://devblogs.microsoft.com/commandline/windows-terminal-preview-v0-8-release/" title="Windows Terminal Preview v0.8 Release | Windows Command Line" rel="nofollow">Windows Terminal Preview v0.8 Release | Windows Command Line</a>
|
||||
</li><li><a href="https://drewdevault.com/2020/01/21/Stress-and-happiness.html" title="The happinesses and stresses of full-time FOSS work | Drew DeVault’s Blog" rel="nofollow">The happinesses and stresses of full-time FOSS work | Drew DeVault’s Blog</a>
|
||||
</li><li><a href="https://jupiterbroadcasting.com/telegram" title="Keep the conversation going join us on Telegram" rel="nofollow">Keep the conversation going join us on Telegram</a>
|
||||
</li><li><a href="https://en.wikipedia.org/wiki/Shareware" title="Shareware on Wikipedia" rel="nofollow">Shareware on Wikipedia</a>
|
||||
</li><li><a href="https://asp-software.org/www/history/the-origin-of-shareware/" title="The Origin of Shareware" rel="nofollow">The Origin of Shareware</a>
|
||||
</li><li><a href="https://www.youtube.com/watch?v=1aDXV10-5lo" title="Computer Chronicles: Shareware" rel="nofollow">Computer Chronicles: Shareware</a>
|
||||
</li><li><a href="https://www.oreilly.com/openbook/opensources/book/netrev.html" title="Open Sources: Voices from the Open Source Revolution" rel="nofollow">Open Sources: Voices from the Open Source Revolution</a>
|
||||
</li><li><a href="https://archive.org/details/DoomsharewareEpisode" title="Play DOOM Online" rel="nofollow">Play DOOM Online</a>
|
||||
</li><li><a href="https://archive.org/details/cdrom-pcsig12" title="PC-SIG Library (12th Edition) : Free Download, Borrow, and Streaming : Internet Archive" rel="nofollow">PC-SIG Library (12th Edition) : Free Download, Borrow, and Streaming : Internet Archive</a>
|
||||
</li><li><a href="https://archive.org/details/RevolutionOS_201610" title="Revolution OS: a 2001 documentary film that traces the twenty-year history of GNU, Linux, open source, and the free software movement" rel="nofollow">Revolution OS: a 2001 documentary film that traces the twenty-year history of GNU, Linux, open source, and the free software movement</a>
|
||||
</li><li><a href="https://dystroy.org/broot/" title="Broot: Get an overview of a directory, even a big one" rel="nofollow">Broot: Get an overview of a directory, even a big one</a>
|
||||
</li><li><a href="http://tizonia.org/" title="Tizonia: cloud music from the linux terminal" rel="nofollow">Tizonia: cloud music from the linux terminal</a>
|
||||
</li></ul>
|
||||
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/o6agtqfaKe4" width="480" alt="thumbnail" title="Yooo I Finally Launched My New Website!" /></p>I've been meaning to launch my website for a while by a while I mean about 2 or so years and I finally got around to actually launching and that means we need a video talking about it.<br /><br />==========Support The Channel==========<br />► $100 Linode Credit: http://brodierobertson.xyz/linode<br />► Patreon: http://brodierobertson.xyz/patreon<br />► Paypal: http://brodierobertson.xyz/paypal<br />► Liberachat: http://brodierobertson.xyz/liberachat<br />► Amazon USA: http://brodierobertson.xyz/amazonusa<br /><br />==========Resources==========<br />New Website: http://brodierobertson.xyz/<br /><br />=========Video Platforms==========<br />🎥 Odysee: http://brodierobertson.xyz/odysee<br />🎥 Podcast: http://techovertea.xyz/youtube<br />🎮 Gaming: http://brodierobertson.xyz/youtube<br /><br />==========Social Media==========<br />🎤 Discord: http://brodierobertson.xyz/discord<br />🎤 Matrix Space: http://brodierobertson.xyz/matrix<br />🐦 Twitter: http://brodierobertson.xyz/twitter<br />🌐 Mastodon: http://brodierobertson.xyz/mastodon<br />🖥️ GitHub: http://brodierobertson.xyz/github<br /><br />==========Time Stamps==========<br />0:00 Introduction<br />1:17 Link Tree<br />3:42 Redirects<br />5:28 Other Fun Stuff<br />6:26 Future Plans<br />8:37 Please Report Issues<br />9:28 Outro<br /><br />==========Credits==========<br />🎨 Channel Art:<br />All my art has was created by Supercozman<br />https://twitter.com/Supercozman<br />https://www.instagram.com/supercozman_draws/<br /><br />🎵 Ending music<br />Music from https://filmmusic.io<br />"Basic Implosion" by Kevin MacLeod (https://incompetech.com)<br />License: CC BY (http://creativecommons.org/licenses/by/4.0/)<br /><br />DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.<br />...<br />https://www.youtube.com/watch?v=o6agtqfaKe4
|
|
@ -0,0 +1,90 @@
|
|||
<p>SHOW NOTES:
|
||||
Thanks for listening! We’ve posted some helpful info for you in our show notes below!</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>PODCAST BASICS:
|
||||
</p>
|
||||
|
||||
<p>- Subscribe where you listen!</p>
|
||||
|
||||
<p>- Check out the details on our <a href='http://www.thebiblerecap.com'>website
|
||||
</a></p>
|
||||
|
||||
<p>- Get the<a href='https://www.bible.com/app'> Bible app</a> (free)
|
||||
</p>
|
||||
|
||||
<p>- Follow our<a href='https://www.bible.com/reading-plans/5-chronological'> Bible reading plan</a></p>
|
||||
|
||||
<p>- Check out our customized <a href='https://www.theconnextion.com/tlcdgroup/index.cfm'>journal</a></p>
|
||||
|
||||
<p>- Join our <a href='https://www.patreon.com/thebiblerecap'>PATREON</a> community for bonus fun! </p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>MERCH: Get your<a href='https://www.theconnextion.com/tlcdgroup/index.cfm'> TBR merch</a>! We’ve got t-shirts, coffee mugs, tote bags, phone wallets, and stickers! </p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>FROM TODAY’S PODCAST: </p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=Genesis+37&version=ESV'>Genesis 37</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=luke+23%3A1-25&version=ESV'>Luke 23:1-25</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=jeremiah+1%3A19&version=ESV'>Jeremiah 1:19</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=mark+6%3A4&version=ESV'>Mark 6:4</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>SOCIALS:</p>
|
||||
|
||||
<p>The Bible Recap:<a href='https://instagram.com/thebiblerecap'> Instagram</a> |<a href='https://www.facebook.com/thebiblerecap'> Facebook</a> |<a href='https://twitter.com/thebiblerecap'> Twitter</a> | <a href='http://pinterest.com/thebiblerecap'>Pinterest</a> </p>
|
||||
|
||||
<p>D-Group:<a href='https://instagram.com/mydgroup/'> Instagram</a> |<a href='https://www.facebook.com/ilovemydgroup'> Facebook</a> |<a href='https://mobile.twitter.com/mydgroup'> Twitter</a> | <a href='http://pinterest.com/ilovemydgroup'>Pinterest</a></p>
|
||||
|
||||
<p>TLC:<a href='https://instagram.com/taraleighcobble'> Instagram</a> |<a href='https://www.facebook.com/taraleighcobble'> Facebook</a> |<a href='https://twitter.com/taraleighcobble'> Twitter</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>D-GROUP:
|
||||
The Bible Recap is brought to you by<a href='https://www.mydgroup.org/'> D-Group</a> - an international network of discipleship and accountability groups that meet weekly in homes and churches:<a href='https://www.mydgroup.org/map'> Find or start one near you today</a>!</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>TBR TEAM:
|
||||
</p>
|
||||
|
||||
<p>Written and Hosted by: <a href='http://taraleighcobble.com'>Tara-Leigh Cobble</a></p>
|
||||
|
||||
<p>Content Manager: <a href='http://mydgroup.org'>Courtney Vaughan
|
||||
</a></p>
|
||||
|
||||
<p>Podcast Operations: <a href='http://mydgroup.org'>Callie Summers
|
||||
</a></p>
|
||||
|
||||
<p>Website Management: <a href='http://mydgroup.org'>Joelle Smith</a></p>
|
||||
|
||||
<p>Sound Engineer: <a href='http://thebiblerecap.com'>Allison Congden</a></p>
|
||||
|
||||
<p>Content Design: <a href='http://misswyolene.com'>Morgan Young
|
||||
</a></p>
|
||||
|
||||
<p>Social Media Management: <a href='http://thebiblerecap.com'>Sarah Yocum</a></p>
|
||||
|
||||
<p>Journal Design: <a href='https://brittneyhmurray.weebly.com/'>Brittney Murray</a></p>
|
||||
|
||||
<p>Logo Design: <a href='mailto:landonhwade@gmail.com'>Landon Wade</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>Available on:<a href='https://itunes.apple.com/us/podcast/the-bible-recap/id1440833267'> iTunes</a> |<a href='https://open.spotify.com/show/2lWv2RlsyMSMzerbAb1uOx'> Spotify</a> |<a href='https://www.google.com/podcasts?feed=aHR0cHM6Ly93d3cuaXZvb3guY29tL3RoZS1iaWJsZS1yZWNhcF9mZ19mMTYzNzgzNF9maWx0cm9fMS54bWw'> Google</a> |<a href='https://www.stitcher.com/podcast/dgroup/the-bible-recap?refid=stpr'> Stitcher</a> |<a href='https://thebiblerecap.podbean.com/'> Podbean</a> | <a href='https://play.google.com/music/m/Ivmpjo6234pwcvclpwxzlklglpm?t=The_Bible_Recap'>Google Play</a> | <a href='http://youtube.com/c/TheBibleRecap'>YouTube
|
||||
</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>WEBSITE:
|
||||
<a href='http://www.thebiblerecap.com'>thebiblerecap.com</a></p>
|
||||
|
||||
<p> </p>
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>Hello. You might think the OS isn't responsible for motherboard's LED but hear me out.</p> <p>I have an ASUS motherboard (TUF Gaming B550-PLUS) I can turn off the LED when a system is running. But there's no option to turn off when the system is shutdown. (I might be wrong. If you know of otherwise, please let me know!)</p> <p>I daily-drive Arch Linux. I rarely boot into Windows. Recently I found out motherboard's settings can be manipulated through windows software. And I was able to turn off the LED when the system is down. But it works only when I shutdown in Windows. When I shutdown in linux, it simply keeps the LED on. </p> <p>Can we do so in Linux as well? I don't seem to be able to find any software from ASUS. I heard there's a software that can control Razer's LED stuff. Does it work for motherboard's LED?</p> <p>I don't have an option to cut down the power. </p> <p>Thanks in advance.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Teeeeze"> /u/Teeeeze </a> <br/> <span><a href="https://www.reddit.com/r/archlinux/comments/ruzjxi/turning_off_motherboards_led_when_shutdown/">[link]</a></span>   <span><a href="https://www.reddit.com/r/archlinux/comments/ruzjxi/turning_off_motherboards_led_when_shutdown/">[comments]</a></span>
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/hfjCB_oPIuo" width="480" alt="thumbnail" title="ExpressVPN Gets Even Spookier" /></p>In this video I talk about Express VPN's CEO being a cyber spy for both the US government and UAE, aswell as the recently acquirement of ExpressVPN by Kape Technologies and their shady past.<br /><br />https://www.expressvpn.com/blog/daniel-gericke-expressvpn/<br /><br />₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿<br /><br />Monero<br />45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436<br /><br />Bitcoin<br />3MMKHXPQrGHEsmdHaAGD59FWhKFGeUsAxV<br /><br />Ethereum<br />0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079<br /><br />Litecoin<br />MBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF<br /><br />Dash<br />Xh9PXPEy5RoLJgFDGYCDjrbXdjshMaYerz<br /><br />Zcash<br />t1aWtU5SBpxuUWBSwDKy4gTkT2T1ZwtFvrr<br /><br />Chainlink<br />0x0f7f21D267d2C9dbae17fd8c20012eFEA3678F14<br /><br />Bitcoin Cash<br />qz2st00dtu9e79zrq5wshsgaxsjw299n7c69th8ryp<br /><br />Etherum Classic<br />0xeA641e59913960f578ad39A6B4d02051A5556BfC<br /><br />USD Coin<br />0x0B045f743A693b225630862a3464B52fefE79FdB<br /><br />Subscribe to my YouTube channel http://goo.gl/9U10Wz<br />and be sure to click that notification bell so you know when new videos are released.<br />...<br />https://www.youtube.com/watch?v=hfjCB_oPIuo
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/8k-pyt7Mm_Y" width="480" alt="thumbnail" title="The Purpose of Bible Study" /></p>Find a target to aim at when you study the bible in this video!<br /><br /><br />music:www.purple-planet.com/<br />...<br />https://www.youtube.com/watch?v=8k-pyt7Mm_Y
|
|
@ -0,0 +1,51 @@
|
|||
|
||||
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
|
||||
<iframe loading="lazy" title="Is Linux Desktop Near The End: Fact or FUD? | Destination Linux 231" width="800" height="450" src="https://www.youtube.com/embed/nx62ptymF8I?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
</div></figure>
|
||||
|
||||
|
||||
|
||||
<p></p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://destinationlinux.org/wp-content/uploads/2021/03/digital-ocean-hor.png" alt="" class="wp-image-1499" width="468" height="60"/><figcaption>Sponsored by: <a rel="noopener" href="https://do.co/dln" target="_blank">do.co/dln</a></figcaption></figure>
|
||||
|
||||
|
||||
|
||||
<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://destinationlinux.org/wp-content/uploads/2020/07/bitwarden-banner-1.jpg" alt="" class="wp-image-2301" width="468" height="60" srcset="https://destinationlinux.org/wp-content/uploads/2020/07/bitwarden-banner-1.jpg 469w, https://destinationlinux.org/wp-content/uploads/2020/07/bitwarden-banner-1-300x39.jpg 300w, https://destinationlinux.org/wp-content/uploads/2020/07/bitwarden-banner-1-150x20.jpg 150w" sizes="(max-width: 468px) 100vw, 468px" /><figcaption>Sponsored by: <a href="https://bitwarden.com/dln" target="_blank" rel="noopener">bitwarden.com/dln</a></figcaption></figure>
|
||||
|
||||
|
||||
|
||||
<h4>Hosts of Destination Linux:</h4>
|
||||
|
||||
|
||||
|
||||
<p>Ryan (DasGeek) = <a href="https://dasgeekcommunity.com" target="_blank" rel="noopener">dasgeekcommunity.com</a><br>Michael Tunnell = <a href="https://tuxdigital.com" target="_blank" rel="noopener">tuxdigital.com</a><br>Jill Bryant = <a href="https://jilllinuxgirl.com" target="_blank" rel="noreferrer noopener">jilllinuxgirl.com</a><br>Noah Chelliah = <a href="http://asknoahshow.com" target="_blank" rel="noreferrer noopener">asknoahshow.com</a></p>
|
||||
|
||||
|
||||
|
||||
<h4>Want to Support the Show?</h4>
|
||||
|
||||
|
||||
|
||||
<p>Support us on Patreon = <a href="https://destinationlinux.org/patreon" target="_blank" rel="noopener">https://destinationlinux.org/patreon</a><br>Support us on Sponsus = <a href="https://destinationlinux.org/sponsus" target="_blank" rel="noopener">https://destinationlinux.org/sponsus</a><br>Destination Linux Network Store = <a href="https://destinationlinux.network/store" target="_blank" rel="noopener">http://dlnstore.com</a></p>
|
||||
|
||||
|
||||
|
||||
<h4>Want to follow the show and hosts on social media?</h4>
|
||||
|
||||
|
||||
|
||||
<p>You can find all of our social accounts at <a href="https://destinationlinux.org/contact">https://destinationlinux.org/contact</a></p>
|
||||
|
||||
|
||||
|
||||
<h3>Segment Index</h3>
|
||||
|
||||
|
||||
|
||||
<ul><li><a href="https://www.youtube.com/watch?v=nx62ptymF8I&t=00m00s" target="_blank" rel="noopener">00:00</a> = Welcome to DL 231</li><li><a href="https://www.youtube.com/watch?v=nx62ptymF8I&t=00m53s" target="_blank" rel="noopener">00:53</a> = Community Feedback: ProtonMail Tutanota & Other Mail Services</li><li><a href="https://www.youtube.com/watch?v=nx62ptymF8I&t=06m47s" target="_blank" rel="noopener">06:47</a> = How To Send In Your Community Feedback</li><li><a href="https://www.youtube.com/watch?v=nx62ptymF8I&t=07m13s" target="_blank" rel="noopener">07:13</a> = Digital Ocean: App Platform / Cloud ( <a href="https://do.co/dln" target="_blank" rel="noopener">https://do.co/dln</a> )</li><li><a href="https://www.youtube.com/watch?v=nx62ptymF8I&t=09m59s" target="_blank" rel="noopener">09:59</a> = End of the Linux Desktop: Fact or FUD?</li><li><a href="https://www.youtube.com/watch?v=nx62ptymF8I&t=38m19s" target="_blank" rel="noopener">38:19</a> = Bitwarden Password Manager ( <a href="https://bitwarden.com/dln" target="_blank" rel="noopener">https://bitwarden.com/dln</a> )</li><li><a href="https://www.youtube.com/watch?v=nx62ptymF8I&t=41m06s" target="_blank" rel="noopener">41:06</a> = <a href="https://www.cnet.com/news/google-backed-linux-project-could-make-android-chrome-os-harder-to-hack/" target="_blank" rel="noopener">Google Invests Into Hardening Linux Kernel with Rust Programming Language</a></li><li><a href="https://www.youtube.com/watch?v=nx62ptymF8I&t=49m22s" target="_blank" rel="noopener">49:22</a> = Linux Gaming: <a href="https://store.steampowered.com/app/1299360/Mighty_Goose/" target="_blank" rel="noopener">Mighty Goose</a></li><li><a href="https://www.youtube.com/watch?v=nx62ptymF8I&t=52m49s" target="_blank" rel="noopener">52:49</a> = Software Spotlight: <a href="https://deskreen.com/lang-en" target="_blank" rel="noopener">Deskreen</a> (Make Any Device A Second Monitor)</li><li><a href="https://www.youtube.com/watch?v=nx62ptymF8I&t=53m50s" target="_blank" rel="noopener">53:50</a> = Tip of the Week: Encrypt Your Files With GPG</li><li><a href="https://www.youtube.com/watch?v=nx62ptymF8I&t=54m56s" target="_blank" rel="noopener">54:56</a> = All of Our Picks at destinationlinux.org/picks</li><li><a href="https://www.youtube.com/watch?v=nx62ptymF8I&t=55m13s" target="_blank" rel="noopener">55:13</a> = Outro</li></ul>
|
|
@ -0,0 +1,31 @@
|
|||
<p><div class="video-container"><iframe src="https://www.youtube-nocookie.com/embed/Fxf0km0loO4?feature=oembed&start&end&wmode=opaque&loop=0&controls=1&mute=0&rel=0&modestbranding=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div></p>
|
||||
<p></p>
|
||||
<p><span id="more-1361"></span></p>
|
||||
<p>Sponsored by: <a href="https://do.co/dl" target="_blank" rel="noopener noreferrer">do.co/dl</a><br />
|
||||
<a href="https://do.co/dl" target="_blank" rel="noopener noreferrer"><img loading="lazy" class="alignnone size-full wp-image-1499" src="https://destinationlinux.org/wp-content/uploads/2019/01/digital-ocean-banner.png" alt="" width="468" height="60" /></a></p>
|
||||
<p>Special Guest Interview:<br />
|
||||
<strong>Emma Marshall</strong> of System76 = <a href="https://system76.com" target="_blank" rel="noopener noreferrer">https://system76.com</a></p>
|
||||
<p>Hosts of Destination Linux:<br />
|
||||
<strong>Noah</strong> of Ask Noah Show = <a href="http://asknoahshow.com" target="_blank" rel="noopener noreferrer">http://asknoahshow.com</a><br />
|
||||
<strong>Michael</strong> of TuxDigital = <a href="https://tuxdigital.com" target="_blank" rel="noopener noreferrer">https://tuxdigital.com</a><br />
|
||||
<strong>Ryan</strong>, aka DasGeek = <a href="https://dasgeekcommunity.com" target="_blank" rel="noopener noreferrer">https://dasgeekcommunity.com</a><br />
|
||||
<strong>Zeb</strong>, aka Zebedeeboss = <a href="https://youtube.com/zebedeeboss" target="_blank" rel="noopener noreferrer">https://youtube.com/zebedeeboss</a></p>
|
||||
<p>Want to Support the Show?<br />
|
||||
Support on <a href="https://destinationlinux.org/patreon" target="_blank" rel="noopener noreferrer">Patreon</a> or on <a href="https://destinationlinux.org/kofi" target="_blank" rel="noopener noreferrer">Ko-Fi</a><br />
|
||||
Order Destination Linux <a href="https://teespring.com/destinationlinuxpodcast" target="_blank" rel="noopener noreferrer">Apparel</a></p>
|
||||
<p>Want to follow the show and hosts on social media?<br />
|
||||
You can find all of our social accounts at <a href="https://destinationlinux.org/contact" target="_blank" rel="noopener noreferrer">destinationlinux.org/contact</a></p>
|
||||
<p>—</p>
|
||||
<p>Topics covered in this episode:</p>
|
||||
<p>Emails from Unklebonehead & Rhett<br />
|
||||
<a href="https://techcrunch.com/2019/08/28/microsoft-wants-to-bring-exfat-to-the-linux-kernel/" target="_blank" rel="noopener noreferrer">Microsoft Brings exFAT to Linux</a><br />
|
||||
<a href="https://www.pine64.org/pinebook-pro/" target="_blank" rel="noopener noreferrer">Pinebook Pro Available Now</a><br />
|
||||
<a href="https://www.gamingonlinux.com/articles/steam-play-proton-411-3-is-out-big-changes-for-gamepads-and-new-d9vk.14883" target="_blank" rel="noopener noreferrer">Gamepad Support Comes To Linux In Steam Proton</a></p>
|
||||
<p>—</p>
|
||||
<p>Software Spotlight:<br />
|
||||
<a href="https://github.com/PhotoFlare/photoflare" target="_blank" rel="noopener noreferrer">Photoflare</a> is a cross-platform image editor (recommended by a member of our community Dark1)</p>
|
||||
<p>Tips & Tricks:<br />
|
||||
– Keep your data safe on the cloud!<br />
|
||||
– Privacy is important! Nothing is better to protect privacy than encryption.<br />
|
||||
– Containers: <a href="https://vgough.github.io/encfs/" target="_blank" rel="noopener noreferrer">EncFS</a> / <a href="https://www.cryfs.org/" target="_blank" rel="noopener noreferrer">CryFS</a><br />
|
||||
– KDE Vaults, <a href="https://mhogomchungu.github.io/sirikali/" target="_blank" rel="noopener noreferrer">SiriKali</a> & CLI</p>
|
|
@ -0,0 +1,30 @@
|
|||
<p>On this episode of DLN Xtend we discuss whether or not Linux is always the right solution.</p>
|
||||
|
||||
<p>Welcome to episode 48 of DLN Xtend. DLN Xtend is a community powered podcast. We take conversations from the DLN Community from places like the DLN Discourse Forums, Telegram group, Discord server and more. We also take topics from other shows around the network to give our takes.</p>
|
||||
|
||||
<p>00:00 Introduction<br>
|
||||
13:59 Show Topic<br>
|
||||
36:02 Host Related Intrests<br>
|
||||
45:45 Wrap Up</p>
|
||||
|
||||
<p>Nate- Arduino Powered Dementia Friendly Media Player Update</p>
|
||||
|
||||
<p>Matt - Atelier Ryza Ever Darkness & The Secret Hideout</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://store.steampowered.com/app/1121560" rel="nofollow">https://store.steampowered.com/app/1121560</a> (proton 5.0 series for gold rating)</li>
|
||||
</ul>
|
||||
|
||||
<p>Wendy- Sound tests with Rode Lavalier GO</p>
|
||||
|
||||
<p>Join us in the DLN Community:<br>
|
||||
Discourse: <a href="https://discourse.destinationlinux.network/" rel="nofollow">https://discourse.destinationlinux.network/</a><br>
|
||||
Telegram: <a href="https://destinationlinux.org/telegram" rel="nofollow">https://destinationlinux.org/telegram</a><br>
|
||||
Mumble: <a href="https://destinationlinux.network/mumble/" rel="nofollow">https://destinationlinux.network/mumble/</a><br>
|
||||
Discord: <a href="https://destinationlinux.org/discord" rel="nofollow">https://destinationlinux.org/discord</a> servers to continue the discussion!</p>
|
||||
|
||||
<p>Contact info:<br>
|
||||
Matt (Twitter @MattDLN)<br>
|
||||
Wendy (Mastodon @<a href="mailto:WendyDLN@mastodon.online" rel="nofollow">WendyDLN@mastodon.online</a>)<br>
|
||||
Nate (cubiclenate.com)</p>
|
||||
|
147
var/elfeed/db/data/a2/a27c3aca5a0e791b0e25e1922e784a8ed1b50952
Normal file
147
var/elfeed/db/data/a2/a27c3aca5a0e791b0e25e1922e784a8ed1b50952
Normal file
|
@ -0,0 +1,147 @@
|
|||
<p>Linux Foundation drops the ban-hammer on University of Minnesota over controversial 'research' experiment but there's a twist, the code recently submitted was not part of the research. We feature open source firmware for IP cameras, an all in one access control solution, and SUSE got bought again :)</p>
|
||||
|
||||
<h3><strong>-- During The Show --</strong></h3>
|
||||
|
||||
<h5>00:45 - Ubuntu and Kernel upgrade question - Michael</h5>
|
||||
|
||||
<ul>
|
||||
<li>sudo apt install linux-generic-hwe-20.04 </li>
|
||||
<li>Once a year run the purge kernels command</li>
|
||||
<li>Auto remove does not always remove old kernels by default</li>
|
||||
<li>sudo apt autoremove --purge</li>
|
||||
</ul>
|
||||
|
||||
<h5>08:40 - OpenSuse Tumbleweed laptop sleep issue - JJ</h5>
|
||||
|
||||
<ul>
|
||||
<li>cat /sys/power/state</li>
|
||||
<li><a href="https://bbs.archlinux.org/viewtopic.php?id=250712" rel="nofollow">Arch Linux BBS</a></li>
|
||||
</ul>
|
||||
|
||||
<h5>10:50 - TV Device Recommendations - Simon</h5>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.nvidia.com/en-us/shield/" rel="nofollow">Nvidea Shield</a></li>
|
||||
<li>Raspberry Pi + <a href="https://openelec.tv/" rel="nofollow">OpenElec</a></li>
|
||||
<li><a href="https://www.logitech.com/en-us/products/keyboards/k400-plus-touchpad-keyboard.html" rel="nofollow">Logitech keyboard trackpad combo k400</a></li>
|
||||
<li><a href="https://www.amazon.com/Extender-OREI-Balun-Audio-Optical/dp/B08KFMVLQB/ref=sr_1_2_sspa?dchild=1&keywords=cat5+balun&qid=1620173861&sr=8-2-spons&psc=1&smid=ALEWIQ2F9CQDR&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExS1dEMFJaOFE1NkNCJmVuY3J5cHRlZElkPUEwMjY3Njc3MVBJUFBQSllHVzNOVCZlbmNyeXB0ZWRBZElkPUEwMzY4NTY0MkxZQTkxN0NFUVE5MCZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=" rel="nofollow">Cat5 HDMI</a></li>
|
||||
<li><a href="https://plasma-bigscreen.org/" rel="nofollow">Plasma Big Screen</a></li>
|
||||
<li><a href="https://ubuntu-mate.org/" rel="nofollow">Ubuntu Mate</a></li>
|
||||
</ul>
|
||||
|
||||
<h5>VNC Clients - Vladimir</h5>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.realvnc.com/en/" rel="nofollow">RealVNC</a></li>
|
||||
<li><a href="https://remmina.org/" rel="nofollow">Remmina</a></li>
|
||||
</ul>
|
||||
|
||||
<h5>21:00 - Scanner for going paperless on linux - Kyle</h5>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://apps.kde.org/skanlite/" rel="nofollow">Skanlite</a></li>
|
||||
<li><a href="https://www.amazon.com/gp/product/B000VG4AY0/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1" rel="nofollow">Epson Scanner</a></li>
|
||||
<li>Multi-Function/All In One with a network connection</li>
|
||||
</ul>
|
||||
|
||||
<h4>24:00 Open IPC</h4>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://openipc.org/about/" rel="nofollow">OpenIPC</a></li>
|
||||
<li>Open source firmware for IP Cameras</li>
|
||||
<li><p>Starting with these vendors</p>
|
||||
|
||||
<ul>
|
||||
<li>HiSilicon</li>
|
||||
<li>Hi35xx</li>
|
||||
<li>XiongmaiTech</li>
|
||||
</ul></li>
|
||||
<li><p><a href="https://pine64.com/product/pinecube-dev-kit/?v=0446c16e2e66" rel="nofollow">PineCube</a></p></li>
|
||||
</ul>
|
||||
|
||||
<h4>29:10 HID EntryProx Reader</h4>
|
||||
|
||||
<ul>
|
||||
<li>HID Entryprox Reader</li>
|
||||
<li><a href="https://www.id-enhancements.com/hid-entryprox-reader-4045cgnu0/?msclkid=654bd52162b217abcceeb5b0a35bbcbb" rel="nofollow">4045CGNU0</a></li>
|
||||
<li>Single Door access control</li>
|
||||
<li>Supports HID ProxCard III</li>
|
||||
<li>Can be switched to Wiegand mode and any OEM controller</li>
|
||||
</ul>
|
||||
|
||||
<h4>33:20 U of M Patches</h4>
|
||||
|
||||
<ul>
|
||||
<li>U of Minnesota conducted a research project, submitting bad kernel patches</li>
|
||||
<li>Didn't Ask Permission</li>
|
||||
<li>Hypocrite Project got mixed up with Static Analyzer Project</li>
|
||||
<li>Static Analyzer Project Patches were not great code</li>
|
||||
<li>U of Minnesota did pull their paper and talk</li>
|
||||
<li><a href="https://www.zdnet.com/article/the-linux-foundations-demands-to-the-university-of-minnesota-for-its-bad-linux-patches/" rel="nofollow">Zdnet Artical</a></li>
|
||||
<li><a href="https://lwn.net/Articles/854645/" rel="nofollow">LWN.net</a> Subscription Required or wait 2 weeks</li>
|
||||
<li><a href="https://lkml.org/lkml/2021/4/25/146" rel="nofollow">Greg K H Open Letter</a></li>
|
||||
<li><a href="https://www.ieee-security.org/TC/SP2021/cfpapers.html" rel="nofollow">IEEE</a></li>
|
||||
</ul>
|
||||
|
||||
<h4>50:00 Suse IPO</h4>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.reuters.com/article/suse-ipo-idUSL8N2MJ0TF" rel="nofollow">Reuters Article</a></li>
|
||||
</ul>
|
||||
|
||||
<h4>50:50 Open Project and NextCloud</h4>
|
||||
|
||||
<ul>
|
||||
<li>Open Project and NextCloud Join Forces!</li>
|
||||
<li><a href="https://www.openproject.org/openproject-nextcloud-collaboration/" rel="nofollow">Link</a></li>
|
||||
</ul>
|
||||
|
||||
<h4>53:20 Audacity</h4>
|
||||
|
||||
<ul>
|
||||
<li>Correction not a Merger its a Partnership</li>
|
||||
<li><a href="https://www.scoringnotes.com/news/muse-group-formed-to-support-musescore-ultimate-guitar-acquires-audacity/" rel="nofollow">Scoringnotes.com</a></li>
|
||||
<li><a href="https://mu.se/newsroom/tpost/3dkxig59m1-muse-group-launches-to-support-music-tec" rel="nofollow">Mu.se</a></li>
|
||||
<li><a href="https://www.prosoundnetwork.com/business/audacity-acquired-by-muse-group" rel="nofollow">Prosound Netowrk</a></li>
|
||||
<li>Muse Group acquired Audacity</li>
|
||||
<li>Audacity will remain Free and Open Source</li>
|
||||
</ul>
|
||||
|
||||
<h3><strong>-- The Extra Credit Section --</strong></h3>
|
||||
|
||||
<p>For links to the articles and material referenced in this week's episode check out this week's page from our podcast dashboard!</p>
|
||||
|
||||
<p><a href="http://podcast.asknoahshow.com/230" rel="nofollow">This Episode's Podcast Dashboard</a></p>
|
||||
|
||||
<p><a href="http://www.voxtelesys.com/asknoah" rel="nofollow">Phone Systems for Ask Noah provided by Voxtelesys</a></p>
|
||||
|
||||
<p>Join us in our dedicated chatroom <a href="https://element.linuxdelta.com/#/room/#geeklab:linuxdelta.com" rel="nofollow">#GeekLab:linuxdelta.com on Matrix</a></p>
|
||||
|
||||
<h3><strong>-- Stay In Touch --</strong></h3>
|
||||
|
||||
<p><strong>Find all the resources for this show on the Ask Noah Dashboard</strong></p>
|
||||
|
||||
<blockquote>
|
||||
<p><a href="http://www.asknoahshow.com" rel="nofollow">Ask Noah Dashboard</a></p>
|
||||
</blockquote>
|
||||
|
||||
<p><strong>Need more help than a radio show can offer? Altispeed provides commercial IT services and they’re excited to offer you a great deal for listening to the Ask Noah Show. Call today and ask about the discount for listeners of the Ask Noah Show!</strong></p>
|
||||
|
||||
<blockquote>
|
||||
<p><a href="http://www.altispeed.com/" rel="nofollow">Altispeed Technologies</a></p>
|
||||
</blockquote>
|
||||
|
||||
<p><strong>Contact Noah</strong></p>
|
||||
|
||||
<blockquote>
|
||||
<p>live [at] asknoahshow.com</p>
|
||||
</blockquote>
|
||||
|
||||
<p><strong>-- Twitter --</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://twitter.com/kernellinux" rel="nofollow">Noah - Kernellinux</a></li>
|
||||
<li><a href="https://twitter.com/asknoahshow" rel="nofollow">Ask Noah Show</a></li>
|
||||
<li><a href="https://twitter.com/altispeed" rel="nofollow">Altispeed Technologies</a></li>
|
||||
</ul><p><a href="https://patreon.com/linuxdelta" rel="payment">Support Ask Noah Show</a></p>
|
||||
|
|
@ -0,0 +1 @@
|
|||
What Trump said and why wasn’t it sooner? Why this election news matters and we should continue to bring to light what happened, and the religious war over mandatory vaccines. Show Marketing Powered By: Better Three Group Click Here to find out more or go to betterthreegroup.com For Advertising your business email Matt at matt@howtobuildatent.com […]
|
|
@ -0,0 +1,2 @@
|
|||
<p>It's the second annual Unplugged Tuxies; our community votes on the best projects, distros, desktops, and services of 2021.</p><p>Sponsored By:</p><ul><li><a href="https://linode.com/unplugged" rel="nofollow">Linode Cloud Hosting</a>: <a href="https://linode.com/unplugged" rel="nofollow">A special offer for all Linux Unplugged Podcast listeners and new Linode customers, visit linode.com/unplugged, and receive $100 towards your new account. </a></li></ul><p><a href="https://jupitersignal.memberful.com/checkout?plan=52946" rel="payment">Support LINUX Unplugged</a></p>
|
||||
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>Is there a way to have the carry-over of unfinished-todos that org-journal offers to also work in org-roam dailies? </p> <p>I do like the "integration" of my dailies (which I often use to structure my day - a bit out of my head, maybe because I do not harness the power of the agenda yet..) and also the fact that there are some backlinks when I just jot down some notes on it.</p> <p>But I am missing the feature of taking unfinished todos from the past to the current day - to finish stuff that I could not finish the last day..</p> <p>Any ideas about this?</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/kraftfahrzeug"> /u/kraftfahrzeug </a> <br/> <span><a href="https://www.reddit.com/r/orgmode/comments/q037zp/or_roam_dailies_journallike_carryover_of/">[link]</a></span>   <span><a href="https://www.reddit.com/r/orgmode/comments/q037zp/or_roam_dailies_journallike_carryover_of/">[comments]</a></span>
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/vlipk_0Oalg" width="480" alt="thumbnail" title="Chaotic AUR: Why Bother Compiling Software" /></p>Downloading packages from the AUR can take quite a while but there might be another way and that's the Chaotic AUR, this is a seperate repo which precompiles a lot of the popular AUR packages and distributes binaries.<br /><br />==========Support The Channel==========<br />► $100 Linode Credit: https://linode.gvw92c.net/BrodieRobertson<br />► Patreon: https://www.patreon.com/brodierobertson<br />► Paypal: https://www.paypal.me/BrodieRobertsonVideo<br />► Amazon USA: https://amzn.to/3d5gykF<br />► Other Methods: https://cointr.ee/brodierobertson<br /><br />==========Resources==========<br />Chaotic AUR Packages: https://github.com/chaotic-aur/packages<br />Chaotic AUR Website: https://aur.chaotic.cx/<br /><br />=========Video Platforms==========<br />🎥 Odysee: https://odysee.com/@BrodieRobertson:5<br />📺 BitChute: https://www.bitchute.com/channel/brodierobertson/<br />🎥 YouTube Podcast: https://www.youtube.com/c/TechOverTea<br />🎮 Gaming Channel: https://www.youtube.com/channel/UCzoHGpA2AvO2Vo3WUwb7Seg<br /><br />==========Social Media==========<br />🎤 Discord: https://discord.gg/dSUzd83kPJ<br />🎤 Matrix Space: https://matrix.to/#/!NksFZsrpwHOSiauqhJ:matrix.org<br />🐦 Twitter: https://twitter.com/BrodieOnLinux<br />🌐 Mastodon: https://linuxrocks.online/@BrodieOnLinux<br />✉️ Telegram: https://t.me/BrodieRobertson<br />🖥️ GitHub: https://github.com/BrodieRobertson<br /><br />==========Time Stamps==========<br />0:00 Introduction<br />0:57 What Is The Chaotic AUR<br />2:28 Update Cycle<br />3:51 Getting Access To Chaotic AUR<br />6:18 Recommendations<br />6:54 What You Can Do Now<br />7:19 Is It Safe<br />9:02 Outro<br /><br />==========Credits==========<br />🎨 Channel Art:<br />All my art has was created by Supercozman<br />https://twitter.com/Supercozman<br />https://www.instagram.com/supercozman_draws/<br /><br />🎵 Ending music<br />Music from https://filmmusic.io<br />"Basic Implosion" by Kevin MacLeod (https://incompetech.com)<br />License: CC BY (http://creativecommons.org/licenses/by/4.0/)<br /><br />DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.<br />...<br />https://www.youtube.com/watch?v=vlipk_0Oalg
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>I want to separate my daily tasks with appointments and all from the (embarrasingly) long list of badly maintained tasks -- overdue ones, soon-to-be due ones, and those that are schedule for a past date.</p> <p>It was simple enough to hide the overdue stuff from today's timeline:</p> <pre><code> (agenda "" ((org-agenda-overriding-header " ") ;; Non-empty string to get empty line (org-agenda-span 'day) (org-agenda-ndays 1) (org-agenda-sorting-strategy (quote ((agenda time-up priority-down tag-up)))) ;; Do not include scheduled, due or overdue items here (org-deadline-warning-days 0) (org-scheduled-past-days 0) (org-deadline-past-days 0) (org-agenda-skip-scheduled-if-done t) (org-agenda-skip-timestamp-if-done t) (org-agenda-skip-deadline-if-done t))) </code></pre> <p>But I cannot get that output to appear elsewhere, e.g. farther down, out of focus. This does display all overdue etc. taks, but <em>also</em> everything with a timestamp for today:</p> <pre><code> (agenda "" ((org-agenda-overriding-header "Overdue") (org-agenda-time-grid nil) (org org-agenda-remove-timeranges-from-blocks t) (org-agenda-show-all-dates nil) (org-agenda-format-date "") ;; Skip the date (org-agenda-start-on-weekday nil) (org-agenda-span 'day) (org-agenda-ndays 0) (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done)) ;; Show overdue items (org-scheduled-past-days 999) (org-deadline-past-days 999) ;; Ignore upcoming deadlines (org-deadline-warning-days 0))) </code></pre> <p>How can I get the bottom part to only show overdue etc. tasks, not those that are scheduled for today? </p> <p>Do I have to write a <code>(org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done))</code> replacement in elisp that filters elements by date, i.e. "not today"? (How? :))</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/divinedominion"> /u/divinedominion </a> <br/> <span><a href="https://www.reddit.com/r/orgmode/comments/rcs0vj/orgagenda_show_only_overdue_items_separately/">[link]</a></span>   <span><a href="https://www.reddit.com/r/orgmode/comments/rcs0vj/orgagenda_show_only_overdue_items_separately/">[comments]</a></span>
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/Q_xMmWt6sEY" width="480" alt="thumbnail" title="Use Protontricks to fix games that crash when you "alt+tab"" /></p>Patreon: https://www.patreon.com/hexdsl<br />Amazon Wish list: https://www.amazon.co.uk/hz/wishlist/ls/OQECP17P4Q3B?ref_=wl_share<br /><br />My content is aimed at adults and I/we often swear in videos where we talk, please keep that in mind. This is channel for a mature audience.<br /><br />Thank you for watching. <br /><br />look at my words on https://hexdsl.co.uk<br />Join me on Discord: https://discord.gg/37GYAhj<br /><br />System Specs:<br />OS: Debian (testing) <br />DE: BSPWM<br />PC PARTS: https://uk.pcpartpicker.com/user/hexdsl/saved/wG6F8d<br /><br />Get me on... <br />web: https://hexdsl.co.uk<br />Stream: https://tv.hexdsl.co.uk<br />E-mail: HexDSL@posteo.net<br />...yes I am interested in collaborations.<br />...<br />https://www.youtube.com/watch?v=Q_xMmWt6sEY
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/m_kCL1_oWnM" width="480" alt="thumbnail" title="Firefox Snap Becoming The Default On Ubuntu" /></p>Snap's continue to be a controversial software distribution method from Canonical and recently another step towards a full snap system has begun to occur and that is the replacement of Firefox's deb package with a snap as the default.<br /><br />==========Support The Channel==========<br />► $100 Linode Credit: https://brodierobertson.xyz/linode<br />► Patreon: https://brodierobertson.xyz/patreon<br />► Paypal: https://brodierobertson.xyz/paypal<br />► Liberachat: https://brodierobertson.xyz/liberachat<br />► Amazon USA: https://brodierobertson.xyz/amazonusa<br /><br />==========Resources==========<br />Firefox Snap Ubuntu: https://www.omgubuntu.co.uk/2021/09/ubuntu-makes-firefox-snap-default<br /><br />=========Video Platforms==========<br />🎥 Odysee: https://brodierobertson.xyz/odysee<br />🎥 Podcast: https://techovertea.xyz/youtube<br />🎮 Gaming: https://brodierobertson.xyz/youtube<br /><br />==========Social Media==========<br />🎤 Discord: https://brodierobertson.xyz/discord<br />🎤 Matrix Space: https://brodierobertson.xyz/matrix<br />🐦 Twitter: https://brodierobertson.xyz/twitter<br />🌐 Mastodon: https://brodierobertson.xyz/mastodon<br />🖥️ GitHub: https://brodierobertson.xyz/github<br /><br />==========Time Stamps==========<br />0:00 Introduction<br />1:46 What Does This Mean For Users<br />6:30 Who Caused The Change<br />7:36 What About Forks<br />8:35 What Is A Feature Freeze Exception<br />10:07 Would I Use A Snap Browser<br /><br />==========Credits==========<br />🎨 Channel Art:<br />All my art has was created by Supercozman<br />https://twitter.com/Supercozman<br />https://www.instagram.com/supercozman_draws/<br /><br />#Ubuntu #Snap #Firefox<br /><br />🎵 Ending music<br />Music from https://filmmusic.io<br />"Basic Implosion" by Kevin MacLeod (https://incompetech.com)<br />License: CC BY (http://creativecommons.org/licenses/by/4.0/)<br /><br />DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.<br />...<br />https://www.youtube.com/watch?v=m_kCL1_oWnM
|
|
@ -0,0 +1 @@
|
|||
<table> <tr><td> <a href="https://www.reddit.com/r/unixporn/comments/q6gjy2/xfce_somehow_this_thing_still_works/"> <img src="https://preview.redd.it/4l4vievlzys71.png?width=640&crop=smart&auto=webp&s=059d9ba1301c413996172d692efc39c4e79a7f6f" alt="[XFCE] Somehow, this thing still works" title="[XFCE] Somehow, this thing still works" /> </a> </td><td>   submitted by   <a href="https://www.reddit.com/user/LarkSkwared"> /u/LarkSkwared </a> <br/> <span><a href="https://i.redd.it/4l4vievlzys71.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/unixporn/comments/q6gjy2/xfce_somehow_this_thing_still_works/">[comments]</a></span> </td></tr></table>
|
|
@ -0,0 +1,2 @@
|
|||
<p>Our favorite LastPass alternative, why more boxes might be better than one, and we confess to an undying love.</p><p>Sponsored By:</p><ul><li><a href="https://acloudguru.com/pricing?utm_source=jupiter&utm_medium=cpc&utm_campaign=2021_springintocloud" rel="nofollow">A Cloud Guru</a>: <a href="https://acloudguru.com/pricing?utm_source=jupiter&utm_medium=cpc&utm_campaign=2021_springintocloud" rel="nofollow">Grow your skills — and your career. Get 20% off access to the most effective, hands-on cloud learning.</a> Promo Code: springintocloud21</li><li><a href="https://linode.com/ssh" rel="nofollow">Linode</a>: <a href="https://linode.com/ssh" rel="nofollow">Receive a $100 60-day credit towards your new account. </a> Promo Code: linode.com/ssh</li></ul><p><a href="https://jupitersignal.memberful.com/checkout?plan=53744" rel="payment">Support Self-Hosted</a></p><p>Links:</p><ul><li><a href="https://github.com/dani-garcia/bitwarden_rs" title="Unofficial Bitwarden compatible server written in Rust" rel="nofollow">Unofficial Bitwarden compatible server written in Rust</a> — This is a Bitwarden server API implementation written in Rust compatible with upstream Bitwarden clients*, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.</li><li><a href="https://hub.docker.com/r/bitwardenrs/server" title="bitwardenrs server Docker" rel="nofollow">bitwardenrs server Docker</a></li><li><a href="https://blog.lastpass.com/2021/02/changes-to-lastpass-free/" title="Changes to LastPass Free" rel="nofollow">Changes to LastPass Free</a> — As a Free user, your first login on or after March 16th will set your active device type. You’ll have three opportunities to switch your active device type to explore what’s right for you.</li><li><a href="https://www.linode.com/docs/guides/how-to-self-host-the-bitwarden-rs-password-manager/" title="How to Self-Host the bitwarden_rs Password Manager | Linode" rel="nofollow">How to Self-Host the bitwarden_rs Password Manager | Linode</a></li><li><a href="https://arstechnica.com/information-technology/2021/02/ddosers-are-abusing-the-plex-media-server-to-make-attacks-more-potent/" title="DDoSers are abusing the Plex Media Server to make attacks more potent" rel="nofollow">DDoSers are abusing the Plex Media Server to make attacks more potent</a> — Plex Media servers using SSDP let DDoSers amplify attacks by a factor of 5.</li><li><a href="https://wiki.archlinux.org/index.php/Intel_GVT-g" title="Intel GVT-g" rel="nofollow">Intel GVT-g</a> — Intel GVT-g is a technology that provides mediated device passthrough for Intel GPUs (Broadwell and newer). It can be used to virtualize the GPU for multiple guest virtual machines, effectively providing near-native graphics performance in the virtual machine and still letting your host use the virtualized GPU normally.</li><li><a href="https://ghost.org/features/" title="Ghost Membership Software: Sustainable revenue for publishers" rel="nofollow">Ghost Membership Software: Sustainable revenue for publishers</a></li><li><a href="https://ghost.org/docs/install/docker/" title="Ghost Docs" rel="nofollow">Ghost Docs</a> — The Docker image for Ghost is an unofficial community package maintained by people within the Ghost developer community.</li><li><a href="https://wiki.archlinux.org/index.php/Systemd-homed" title="systemd-homed" rel="nofollow">systemd-homed</a> — systemd-homed is a systemd service providing portable human-user accounts that are not dependent on current system configuration.</li><li><a href="https://blog.ktz.me/3d-printing-a-custom-vantrue-dashcam-bracket-for-a-golf-r/" title="3D Printing a custom Vantrue S1 dash cam bracket for a Golf R" rel="nofollow">3D Printing a custom Vantrue S1 dash cam bracket for a Golf R</a></li><li><a href="https://www.prusa3d.com/" title="Prusa3D - Open-Source 3D printers by Josef Prusa" rel="nofollow">Prusa3D - Open-Source 3D printers by Josef Prusa</a></li><li><a href="https://www.thingiverse.com/" title="Thingiverse - Digital Designs for Physical Objects" rel="nofollow">Thingiverse - Digital Designs for Physical Objects</a></li></ul>
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
<p><div class="video-container"><iframe src="https://www.youtube-nocookie.com/embed/QACmMhd1g90?feature=oembed&start&end&wmode=opaque&loop=0&controls=1&mute=0&rel=0&modestbranding=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div></p>
|
||||
<p></p>
|
||||
<p><span id="more-1376"></span></p>
|
||||
<p>Sponsored by: <a href="https://do.co/dl" target="_blank" rel="noopener noreferrer">do.co/dl</a><br />
|
||||
<a href="https://do.co/dl" target="_blank" rel="noopener noreferrer"><img loading="lazy" class="alignnone size-full wp-image-1499" src="https://destinationlinux.org/wp-content/uploads/2019/01/digital-ocean-banner.png" alt="" width="468" height="60" /></a></p>
|
||||
<p>Hosts of Destination Linux:<br />
|
||||
<strong>Michael</strong> of TuxDigital = <a href="https://tuxdigital.com" target="_blank" rel="noopener noreferrer">https://tuxdigital.com</a><br />
|
||||
<strong>Ryan</strong>, aka DasGeek = <a href="https://dasgeekcommunity.com" target="_blank" rel="noopener noreferrer">https://dasgeekcommunity.com</a><br />
|
||||
<strong>Zeb</strong>, aka Zebedeeboss = <a href="https://youtube.com/zebedeeboss" target="_blank" rel="noopener noreferrer">https://youtube.com/zebedeeboss</a><br />
|
||||
<strong>Noah</strong> of Ask Noah Show = <a href="http://asknoahshow.com" target="_blank" rel="noopener noreferrer">http://asknoahshow.com</a></p>
|
||||
<p>Want to Support the Show?<br />
|
||||
Support on <a href="https://destinationlinux.org/patreon" target="_blank" rel="noopener noreferrer">Patreon</a> or on <a href="https://destinationlinux.org/kofi" target="_blank" rel="noopener noreferrer">Ko-Fi</a><br />
|
||||
Order Destination Linux <a href="https://teespring.com/destinationlinuxpodcast" target="_blank" rel="noopener noreferrer">Apparel</a></p>
|
||||
<p>Want to follow the show and hosts on social media?<br />
|
||||
You can find all of our social accounts at <a href="https://destinationlinux.org/contact" target="_blank" rel="noopener noreferrer">destinationlinux.org/contact</a></p>
|
||||
<p>—</p>
|
||||
<p>Topics covered in this episode:</p>
|
||||
<p><a href="https://www.omgubuntu.co.uk/2019/09/best-gnome-3-34-features" target="_blank" rel="noopener noreferrer">Gnome 3.34 Drops This Week</a><br />
|
||||
<a href="https://www.supergrubdisk.org/super-grub2-disk/" target="_blank" rel="noopener noreferrer">Super Grub2 Disk 2.04s1 Released</a><br />
|
||||
<a href="https://www.mozilla.org/en-US/firefox/69.0/releasenotes/" target="_blank" rel="noopener noreferrer">Firefox 69 Released</a><br />
|
||||
<a href="https://puri.sm/posts/librem-5-shipping-announcement/" target="_blank" rel="noopener noreferrer">Purism Librem 5 Shipping</a><br />
|
||||
<a href="https://cloud.google.com/blog/products/chrome-enterprise/making-the-modern-os-accessible-for-every-enterprise" target="_blank" rel="noopener noreferrer">Chromebooks Targeting The Enterprise</a><br />
|
||||
<a href="https://store.steampowered.com/app/1132930/Phantom_3D/" target="_blank" rel="noopener noreferrer">Phantom 3D Coming To Linux</a></p>
|
||||
<p>—</p>
|
||||
<p>Software Spotlight:<br />
|
||||
<a href="https://www.signal.org/" target="_blank" rel="noopener noreferrer">Signal</a> Messenger</p>
|
||||
<p>Tips & Tricks:<br />
|
||||
<a href="https://www.youtube.com/watch?v=ur0DkKll1es" target="_blank" rel="noopener noreferrer">Dynamic Video Wallpapers</a> (submitted by Richard)</p>
|
|
@ -0,0 +1,41 @@
|
|||
<p>Ask Noah Show 63 | The Next Chromebooks</p>
|
||||
|
||||
<p>Google has everyone wondering, is what they're doing going to finally lead to the year of the Linux Desktop? Are we okay with Google being in charge with Linux on the desktop? 18.04 is out and we talk about our initial impressions. Simon Quigley the release manager for Lubuntu joins us this hour to break some exclusive Lubuntu news! As always your calls go to the front of the line.</p>
|
||||
|
||||
<h3><strong>-- The Cliff Notes --</strong></h3>
|
||||
|
||||
<p>For links to the articles and material referenced in this week's episode check out this week's page from o our podcast dashboard!</p>
|
||||
|
||||
<p><a href="http://podcast.asknoahshow.com/61" rel="nofollow">This Episode's Podcast Dashboard</a></p>
|
||||
|
||||
<p><a href="http://www.voxtelesys.com" rel="nofollow">Phone Systems for Ask Noah provided by Voxtelesys</a></p>
|
||||
|
||||
<h3><strong>-- Stay In Touch --</strong></h3>
|
||||
|
||||
<p><strong>Find all the resources for this show on the Ask Noah Dashboard</strong></p>
|
||||
|
||||
<blockquote>
|
||||
<p><a href="http://www.asknoahshow.com" rel="nofollow">Ask Noah Dashboard</a></p>
|
||||
</blockquote>
|
||||
|
||||
<p><strong>Need more help than a radio show can offer? Altispeed provides commercial IT services and they’re excited to offer you a great deal for listening to the Ask Noah Show. Call today and ask about the discount for listeners of the Ask Noah Show!</strong></p>
|
||||
|
||||
<blockquote>
|
||||
<p><a href="http://www.altispeed.com/" rel="nofollow">Altispeed Technologies</a></p>
|
||||
</blockquote>
|
||||
|
||||
<p><strong>Contact Noah</strong></p>
|
||||
|
||||
<blockquote>
|
||||
<p>asknoah [at] jupiterbroadcasting.com</p>
|
||||
</blockquote>
|
||||
|
||||
<p><strong>-- Twitter --</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://twitter.com/kernellinux" rel="nofollow">Noah - Kernellinux</a></li>
|
||||
<li><a href="https://twitter.com/asknoahshow" rel="nofollow">Ask Noah Show</a></li>
|
||||
<li><a href="https://twitter.com/altispeed" rel="nofollow">Altispeed Technologies</a></li>
|
||||
<li><a href="https://twitter.com/jbsignal" rel="nofollow">Jupiter Broadcasting</a></li>
|
||||
</ul><p><a href="https://patreon.com/linuxdelta" rel="payment">Support Ask Noah Show</a></p><p>Links:</p><ul><li><a href="https://www.omgubuntu.co.uk/2018/04/google-forks-adapta-gtk-theme" title="Google Just Forked a Popular GTK Theme" rel="nofollow">Google Just Forked a Popular GTK Theme</a></li><li><a href="https://www.reddit.com/r/chromeos/comments/8g6vxp/gpu_acceleration_coming_to_linux_apps_on_chrome/" title="GPU acceleration coming to Linux apps on Chrome" rel="nofollow">GPU acceleration coming to Linux apps on Chrome</a></li><li><a href="https://didrocks.fr/2018/04/10/welcome-to-the-ubuntu-bionic-age-new-wip-ubuntu-theme-as-a-snap/" title="Welcome To The (Ubuntu) Bionic Age: New WIP ubuntu theme as a snap" rel="nofollow">Welcome To The (Ubuntu) Bionic Age: New WIP ubuntu theme as a snap</a></li><li><a href="https://www.omgubuntu.co.uk/2018/02/google-enable-linux-apps-chrome-os-recent-code-commits-suggest" title="Chrome OS will soon let you run Linux VMs" rel="nofollow">Chrome OS will soon let you run Linux VMs</a></li><li><a href="https://linuxcontainers.org/lxd/" title="Linux Containers - LXD - Introduction" rel="nofollow">Linux Containers - LXD - Introduction</a></li><li><a href="https://www.androidpolice.com/2018/04/22/terminal-app-appears-chome-os-dev-hints-future-linux-application-support/" title="Terminal app appears in Chrome OS Dev, hints at future Linux application support" rel="nofollow">Terminal app appears in Chrome OS Dev, hints at future Linux application support</a></li><li><a href="http://asknoahshow.com/elimination" title="Final Distro Elimination Challenge" rel="nofollow">Final Distro Elimination Challenge</a></li><li><a href="https://en.wikipedia.org/wiki/Google_Pixelbook" title="Google Pixelbook - Wikipedia" rel="nofollow">Google Pixelbook - Wikipedia</a></li></ul>
|
||||
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/xzNkAbCtkz0" width="480" alt="thumbnail" title="Library Of Ruina - With your friend Uoou" /></p>Patreon: https://www.patreon.com/hexdsl<br />Amazon Wish list: https://www.amazon.co.uk/hz/wishlist/ls/OQECP17P4Q3B?ref_=wl_share<br /><br />https://store.steampowered.com/app/1256670/Library_Of_Ruina/<br /><br />My content is aimed at adults and I/we often swear in videos where we talk, please keep that in mind. This is channel for a mature audience.<br /><br />Thank you for watching. <br /><br />look at my words on https://hexdsl.co.uk<br />Join me on Discord: https://discord.gg/37GYAhj<br /><br />System Specs:<br />OS: Debian (testing) <br />DE: BSPWM<br />PC PARTS: https://uk.pcpartpicker.com/user/hexdsl/saved/wG6F8d<br /><br />Get me on... <br />web: https://hexdsl.co.uk<br />Stream: https://tv.hexdsl.co.uk<br />E-mail: HexDSL@posteo.net<br />...yes I am interested in collaborations.<br />...<br />https://www.youtube.com/watch?v=xzNkAbCtkz0
|
243
var/elfeed/db/data/a2/a2c849a0d63d0319a473dbd786831e6dd05714a5
Normal file
243
var/elfeed/db/data/a2/a2c849a0d63d0319a473dbd786831e6dd05714a5
Normal file
|
@ -0,0 +1,243 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<meta name="author" content="By Pierre Neidhardt" />
|
||||
<title>Continuous testing and packaging in Common Lisp</title>
|
||||
<style type="text/css">
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
span.underline{text-decoration: underline;}
|
||||
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
||||
</style>
|
||||
<style type="text/css">
|
||||
a.sourceLine { display: inline-block; line-height: 1.25; }
|
||||
a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
|
||||
a.sourceLine:empty { height: 1.2em; position: absolute; }
|
||||
.sourceCode { overflow: visible; }
|
||||
code.sourceCode { white-space: pre; position: relative; }
|
||||
div.sourceCode { margin: 1em 0; }
|
||||
pre.sourceCode { margin: 0; }
|
||||
@media screen {
|
||||
div.sourceCode { overflow: auto; }
|
||||
}
|
||||
@media print {
|
||||
code.sourceCode { white-space: pre-wrap; }
|
||||
a.sourceLine { text-indent: -1em; padding-left: 1em; }
|
||||
}
|
||||
pre.numberSource a.sourceLine
|
||||
{ position: relative; }
|
||||
pre.numberSource a.sourceLine:empty
|
||||
{ position: absolute; }
|
||||
pre.numberSource a.sourceLine::before
|
||||
{ content: attr(data-line-number);
|
||||
position: absolute; left: -5em; text-align: right; vertical-align: baseline;
|
||||
border: none; pointer-events: all;
|
||||
-webkit-touch-callout: none; -webkit-user-select: none;
|
||||
-khtml-user-select: none; -moz-user-select: none;
|
||||
-ms-user-select: none; user-select: none;
|
||||
padding: 0 4px; width: 4em;
|
||||
color: #aaaaaa;
|
||||
}
|
||||
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
||||
div.sourceCode
|
||||
{ }
|
||||
@media screen {
|
||||
a.sourceLine::before { text-decoration: underline; }
|
||||
}
|
||||
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
|
||||
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
|
||||
code span.at { color: #7d9029; } /* Attribute */
|
||||
code span.bn { color: #40a070; } /* BaseN */
|
||||
code span.bu { } /* BuiltIn */
|
||||
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
|
||||
code span.ch { color: #4070a0; } /* Char */
|
||||
code span.cn { color: #880000; } /* Constant */
|
||||
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
|
||||
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
|
||||
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
|
||||
code span.dt { color: #902000; } /* DataType */
|
||||
code span.dv { color: #40a070; } /* DecVal */
|
||||
code span.er { color: #ff0000; font-weight: bold; } /* Error */
|
||||
code span.ex { } /* Extension */
|
||||
code span.fl { color: #40a070; } /* Float */
|
||||
code span.fu { color: #06287e; } /* Function */
|
||||
code span.im { } /* Import */
|
||||
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
|
||||
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
|
||||
code span.op { color: #666666; } /* Operator */
|
||||
code span.ot { color: #007020; } /* Other */
|
||||
code span.pp { color: #bc7a00; } /* Preprocessor */
|
||||
code span.sc { color: #4070a0; } /* SpecialChar */
|
||||
code span.ss { color: #bb6688; } /* SpecialString */
|
||||
code span.st { color: #4070a0; } /* String */
|
||||
code span.va { color: #19177c; } /* Variable */
|
||||
code span.vs { color: #4070a0; } /* VerbatimString */
|
||||
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
|
||||
</style>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1 class="title">Continuous testing and packaging in Common Lisp</h1>
|
||||
<p class="author">By Pierre Neidhardt</p>
|
||||
</header>
|
||||
<p>In this article we are going to talk continuous testing and packaging in Common Lisp. The goal is to automate:</p>
|
||||
<ul>
|
||||
<li><p>Report coding errors on every push, including pull requests. This prevents unseen, long-standing breakages, and also helps with pull requests since the system will automatically report failing tests, compilation warnings, etc.</p></li>
|
||||
<li><p>Ease the release process by automating package builds. This allows us to release often with a higher level of guarantees.</p></li>
|
||||
</ul>
|
||||
<p>Since Nyxt is currently hosted on GitHub, we are leveraging GitHub Actions for our continuous integration. Even though we are using GitHub Actions, we've designed our process to be platform independent. As a result, our GitHub-specific code remains small and trivial.</p>
|
||||
<h1 id="testing">Testing</h1>
|
||||
<p>Some Common Lisp compilers are particularly good at code analysis:</p>
|
||||
<ul>
|
||||
<li><p>No false positives, all warnings are meaningful.</p></li>
|
||||
<li><p>They catch many errors at compile time, including typing errors.</p></li>
|
||||
</ul>
|
||||
<p><a href="http://www.sbcl.org/">SBCL</a> and <a href="https://ccl.clozure.com/">CCL</a> are two high-quality compilers that fit the bill. While only SBCL is officially supported to build Nyxt, CCL proves useful in catching some error and warning classes that SBCL misses. In particular, CCL is better at type-checking class slots.</p>
|
||||
<p>Let's review what we want to automate to increase our quality assurance:</p>
|
||||
<ul>
|
||||
<li><p>Build: The project compiles with all compilers.</p></li>
|
||||
<li><p>Testing: All test suites pass with all compilers.</p></li>
|
||||
<li><p>Code checking: No warnings are reported with any compiler.</p></li>
|
||||
</ul>
|
||||
<p>In practice, the last two points suffice since the code checking is done by building the project.</p>
|
||||
<p>Allow me to emphasize the importance of code checking: since the compilers don't report false positives, this forces us to have warning-free code at all time, which is a big boost for quality assurance!</p>
|
||||
<h2 id="automatic-build">Automatic build</h2>
|
||||
<p>First we need to set up the GitHub action in this <a href="https://github.com/atlas-engineer/nyxt/blob/2-pre-release-4/.github/workflows/tests.yml">YAML file</a>.</p>
|
||||
<p>In short:</p>
|
||||
<ul>
|
||||
<li><p>We install the Nyxt dependencies using the image package manager, here APT.</p></li>
|
||||
<li><p>Then we install <a href="https://github.com/roswell/roswell">Roswell</a>, a tool that will allow us to easily install the desired Common Lisp compilers since the host system package managers may not have them. Roswell includes <a href="https://www.quicklisp.org/beta/">Quicklisp</a>, so we will leverage this to install all the Common Lisp dependencies of Nyxt.</p></li>
|
||||
<li><p>Some dependencies are missing from Quicklisp, so we fetch them via our Makefile dedicated rule, then register their location as per the <a href="https://common-lisp.net/project/asdf/asdf/Configuration-DSL.html#Configuration-DSL">ASDF API</a>.</p></li>
|
||||
</ul>
|
||||
<h2 id="automatic-testing">Automatic testing</h2>
|
||||
<p>Finally, we run the following:</p>
|
||||
<div class="sourceCode" id="cb1" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb1-1" data-line-number="1">(<span class="kw">handler-bind</span> (#+asdf3<span class="fl">.2</span> (asdf:bad-system-name (<span class="kw">function</span> MUFFLE-WARNING)))</a>
|
||||
<a class="sourceLine" id="cb1-2" data-line-number="2"> (<span class="kw">handler-case</span> (ql:quickload :nyxt/tests)</a>
|
||||
<a class="sourceLine" id="cb1-3" data-line-number="3"> (<span class="kw">error</span> (a) (<span class="kw">format</span> <span class="kw">t</span> <span class="st">"caught error ~s~%~a~%"</span> a a) (uiop:quit <span class="dv">17</span>))))</a>
|
||||
<a class="sourceLine" id="cb1-4" data-line-number="4"></a>
|
||||
<a class="sourceLine" id="cb1-5" data-line-number="5">(asdf:test-system :nyxt)</a></code></pre></div>
|
||||
<p>We load the tests which builds Nyxt itself. If the Nyxt build fails, the error is reported as part of the workflow.</p>
|
||||
<p>We exit with a custom non-zero error code, here 17. This can help identify the cause of the error in case the output gets confusing.</p>
|
||||
<p>The rest of the test controls happens in the <a href="https://github.com/atlas-engineer/nyxt/blob/2-pre-release-4/nyxt.asd">nyxt.asd</a> file. Our main <code>:nyxt</code> system lists all the tests so that call <code>(asdf:test-system :nyxt)</code> effectively runs the whole test suite.</p>
|
||||
<p>Each individual test system is specified in the following form:</p>
|
||||
<div class="sourceCode" id="cb2" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb2-1" data-line-number="1">(asdf:defsystem nyxt/tests</a>
|
||||
<a class="sourceLine" id="cb2-2" data-line-number="2"> :depends-on (nyxt prove)</a>
|
||||
<a class="sourceLine" id="cb2-3" data-line-number="3"> :perform (asdf:test-op (op c)</a>
|
||||
<a class="sourceLine" id="cb2-4" data-line-number="4"> (nyxt-run-test c <span class="st">"tests/"</span>)</a>
|
||||
<a class="sourceLine" id="cb2-5" data-line-number="5"> (nyxt-run-test c <span class="st">"tests-network-needed/"</span> :network-needed-p <span class="kw">t</span>)))</a></code></pre></div>
|
||||
<p>We've rolled out our own helper function <code>nyxt-run-test</code> to factor some recurring code.</p>
|
||||
<div class="sourceCode" id="cb3" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb3-1" data-line-number="1">(<span class="kw">defun</span><span class="fu"> nyxt-run-test </span>(c path &key network-needed-p)</a>
|
||||
<a class="sourceLine" id="cb3-2" data-line-number="2"> (<span class="kw">and</span> (<span class="kw">or</span> (<span class="kw">not</span> network-needed-p)</a>
|
||||
<a class="sourceLine" id="cb3-3" data-line-number="3"> (<span class="kw">not</span> (uiop:getenv <span class="st">"NYXT_TESTS_NO_NETWORK"</span>)))</a>
|
||||
<a class="sourceLine" id="cb3-4" data-line-number="4"> (<span class="kw">not</span> (<span class="kw">funcall</span> (<span class="kw">read-from-string</span> <span class="st">"prove:run"</span>)</a>
|
||||
<a class="sourceLine" id="cb3-5" data-line-number="5"> (asdf:system-relative-pathname c path)))</a>
|
||||
<a class="sourceLine" id="cb3-6" data-line-number="6"> (uiop:getenv <span class="st">"NYXT_TESTS_ERROR_ON_FAIL"</span>)</a>
|
||||
<a class="sourceLine" id="cb3-7" data-line-number="7"> (uiop:quit <span class="dv">18</span>)))</a></code></pre></div>
|
||||
<p>We've added some knobs that we can control externally:</p>
|
||||
<ul>
|
||||
<li><p>If the <code>NYXT_TESTS_NO_NETWORK</code> environment variable is set, the test is not run. This is useful to disable tests require a network connection. Some build systems (like Guix) disable network connectivity during builds.</p></li>
|
||||
<li><p>If <code>NXYT_TESTS_ERROR_ON_FAIL</code> is set, the process will exit with a non-zero error code, which will cause the build system, or the integration pipeline to fail and report. This is necessary because otherwise the ASDF test operation does not "fail" in the sense that the process returns the 0 error code by default.</p>
|
||||
<p>In the YAML file, we set this variable to <code>yes</code>, thus externally commanding our test suite to reflect its error on the pipeline.</p></li>
|
||||
</ul>
|
||||
<h2 id="automatic-code-checking">Automatic code checking</h2>
|
||||
<p>Finally, our last step in our YAML file is very simple: it loads a file and executes the <code>compilation-conditions</code> function on systems we want to test, here <code>nyxt</code> and the renderers.</p>
|
||||
<p>Let's look at <a href="https://github.com/atlas-engineer/nyxt/blob/2-pre-release-4/build-scripts/report-warnings.lisp">this file</a> more closely:</p>
|
||||
<ul>
|
||||
<li><p>First <code>compilation-conditions</code> calls <code>load-system-silently</code> on the recursive dependencies of the system as returned by <code>list-dependencies</code>.</p>
|
||||
<p>We do this to <em>pre-compile</em> the Nyxt dependencies, thus ensuring that when we compile Nyxt the compiler only reports warnings related to Nyxt and not its dependencies.</p>
|
||||
<p><code>load-system-silently</code> is like ASDF's <code>load-system</code> but muffles the output to keep the pipeline output shorter.</p></li>
|
||||
<li><p>An amazing feature of Common Lisp is that the <code>compile</code> function is built into the language, which allows us to control the compilation process in Common Lisp itself!</p>
|
||||
<p>Thus we collect all conditions that are not redefinitions:</p>
|
||||
<div class="sourceCode" id="cb4" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb4-1" data-line-number="1">(<span class="kw">handler-bind</span> ((<span class="kw">warning</span> (<span class="kw">lambda</span> (c)</a>
|
||||
<a class="sourceLine" id="cb4-2" data-line-number="2"> (<span class="kw">unless</span> (redefinition-p c)</a>
|
||||
<a class="sourceLine" id="cb4-3" data-line-number="3"> (<span class="kw">push</span> c conditions)))))</a>
|
||||
<a class="sourceLine" id="cb4-4" data-line-number="4"> (asdf:load-system <span class="kw">system</span> :force <span class="kw">t</span>))</a></code></pre></div>
|
||||
<p>Thanks to <a href="https://old.reddit.com/r/Common_Lisp/comments/jadiv0/how_can_i_report_compilation_warnings_in_ci/g8s5oj4/"><span class="citation" data-cites="phoe">@phoe</span></a> for this tip!</p>
|
||||
<p>Note to the attentive reader: <code>redefinition-p</code> is not the proper way to check if a condition is a redefinition. The redefinition condition type is not portable, so the code should be different between SBCL and CCL, but it turns out that this "hack" works in our case.</p></li>
|
||||
<li><p>Finally, we report the conditions to the standard output (which will display in the continuous testing web interface) and return a custom non-zero error code.</p></li>
|
||||
</ul>
|
||||
<h1 id="packaging">Packaging</h1>
|
||||
<p>Since none of us at Atlas are using a Debian-based distribution such as Ubuntu, and since these distributions are among the most popular platforms, it has become increasingly necessary to automate the process of distributing a pre-built <code>.deb</code> package</p>
|
||||
<p>Automating packaging is no simple task, for this we leverage the <a href="https://gitlab.com/ralt/linux-packaging">linux-packaging</a> Common Lisp library, which itself is based on <a href="https://github.com/jordansissel/fpm">fpm</a>.</p>
|
||||
<p><code>linux-packaging</code> is a real life saver: it abstracts the tasks of packaging for various package managers (as November 2020, <code>.deb</code>, <code>.rpm</code> and <a href="https://www.archlinux.org/pacman/">pacman</a>'s formats are supported) in a consistent Common Lisp interface that sits on top of ASDF.</p>
|
||||
<p>Beside wrapping <code>fpm</code>, <code>linux-packaging</code> automatically guesses the operating system dependencies for the FFI libraries and statically links the FFI-generated objects into the Lisp image. No more problem distributing <a href="http://www.common-lisp.net/project/osicat/">Osicat</a>!</p>
|
||||
<p>As for continuous testing, we have a <a href="https://github.com/atlas-engineer/nyxt/blob/2-pre-release-4/.github/workflows/package-ubuntu.yml">YAML file</a> which has roughly the same steps except that we don't leverage Roswell here because we are going to build our own SBCL compiler: indeed, <code>linux-packaging</code> requires SBCL to be built with the non-default <code>--with-sb-linkable-runtime</code> option.</p>
|
||||
<p>Notice the new dependency line:</p>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode yaml"><code class="sourceCode yaml"><a class="sourceLine" id="cb5-1" data-line-number="1">sudo apt-get install -y ruby ruby-dev rubygems dpkg-dev sbcl curl git-core zlib1g-dev</a></code></pre></div>
|
||||
<p>Ruby is required for <code>fpm</code> and SBCL for… rebuilding SBCL!</p>
|
||||
<p>Not much here since everything happens in the <a href="https://github.com/atlas-engineer/nyxt/blob/2-pre-release-4/build-scripts/build-ubuntu-package.sh">build-ubuntu-package.sh</a> script:</p>
|
||||
<ul>
|
||||
<li>We first install <code>fpm</code>.</li>
|
||||
<li>Then we build <code>SBCL</code> with the <code>--with-sb-linkable-runtime
|
||||
--with-sb-dynamic-core</code> options.</li>
|
||||
<li>We install Quicklisp manually since this time we don't have Roswell.</li>
|
||||
<li>We install <code>linux-packaging</code>.</li>
|
||||
<li>Pitfall: We install a modern version of ASDF since <code>linux-packaging</code> requires a version that's more recent than the one shipped with SBCL (at least as of 2.0.10).</li>
|
||||
<li>As for continuous testing, we register the current directory in the ASDF registry so that it finds the Nyxt ASDF systems.</li>
|
||||
</ul>
|
||||
<p>Finally, the package build happens in the last command:</p>
|
||||
<div class="sourceCode" id="cb6" data-org-language="sh"><pre class="sourceCode bash"><code class="sourceCode bash"><a class="sourceLine" id="cb6-1" data-line-number="1"><span class="ex">sbcl</span> \</a>
|
||||
<a class="sourceLine" id="cb6-2" data-line-number="2"> --eval <span class="st">'(setf *debugger-hook* (lambda (c h) (declare (ignore h)) (format t "~A~%" c) (sb-ext:quit :unix-status -1)))'</span> \</a>
|
||||
<a class="sourceLine" id="cb6-3" data-line-number="3"> --load ~/quicklisp/setup.lisp \</a>
|
||||
<a class="sourceLine" id="cb6-4" data-line-number="4"> --eval <span class="st">"(ql:quickload :linux-packaging)"</span> \</a>
|
||||
<a class="sourceLine" id="cb6-5" data-line-number="5"> --eval <span class="st">"(ql:quickload :nyxt)"</span> \</a>
|
||||
<a class="sourceLine" id="cb6-6" data-line-number="6"> --eval <span class="st">"(ql:quickload :nyxt-ubuntu-package)"</span> \</a>
|
||||
<a class="sourceLine" id="cb6-7" data-line-number="7"> --eval <span class="st">"(asdf:make :nyxt-ubuntu-package)"</span> \</a>
|
||||
<a class="sourceLine" id="cb6-8" data-line-number="8"> --quit</a></code></pre></div>
|
||||
<p><code>quickload</code> will drag all <code>linux-packaging</code> and <code>nyxt</code> dependencies. Then we load and make an ASDF system that's dedicated to the creation of the package.</p>
|
||||
<p>This system is declared in a <a href="https://github.com/atlas-engineer/nyxt/blob/2-pre-release-4/nyxt-ubuntu-package.asd">separate file</a> because otherwise it would make Nyxt depend on <code>linux-packaging</code>, which the end user does not need.</p>
|
||||
<p>Let's review it:</p>
|
||||
<div class="sourceCode" id="cb7" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb7-1" data-line-number="1">(defsystem <span class="st">"nyxt-ubuntu-package"</span></a>
|
||||
<a class="sourceLine" id="cb7-2" data-line-number="2"> :defsystem-depends-on (<span class="st">"linux-packaging"</span>)</a>
|
||||
<a class="sourceLine" id="cb7-3" data-line-number="3"> :class <span class="st">"linux-packaging:deb"</span></a>
|
||||
<a class="sourceLine" id="cb7-4" data-line-number="4"> :build-operation <span class="st">"linux-packaging:build-op"</span></a></code></pre></div>
|
||||
<p>Here we declare that loading this system will trigger the <code>linux-packaging:build-op</code> operation which will generate a <code>linux-packaging:deb</code> package.</p>
|
||||
<p>Notice that there is only one knob to control the type of package we want to produce. It's enough to change this value to <code>linux-packaging:rpm</code> to produce an RPM!</p>
|
||||
<div class="sourceCode" id="cb8" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb8-1" data-line-number="1">:depends-on (<span class="st">"nyxt/gtk"</span>)</a>
|
||||
<a class="sourceLine" id="cb8-2" data-line-number="2">:entry-point <span class="st">"nyxt:entry-point"</span></a></code></pre></div>
|
||||
<p>Here we list the Common Lisp systems we want to include in our image. Since <code>nyxt/gtk</code> depends on everything else, it's the only system that we need to list.</p>
|
||||
<p>The <code>:entry-point</code> is the same we use to build Nyxt from the <code>Makefile</code>.</p>
|
||||
<div class="sourceCode" id="cb9" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb9-1" data-line-number="1">:package-name <span class="st">"nyxt"</span></a>
|
||||
<a class="sourceLine" id="cb9-2" data-line-number="2"><span class="bu">:version</span> #.(asdf:system-version (asdf:find-system :nyxt))</a>
|
||||
<a class="sourceLine" id="cb9-3" data-line-number="3">:author #.(asdf:system-author (asdf:find-system :nyxt))</a>
|
||||
<a class="sourceLine" id="cb9-4" data-line-number="4">:homepage #.(asdf:system-homepage (asdf:find-system :nyxt))</a>
|
||||
<a class="sourceLine" id="cb9-5" data-line-number="5">:description #.(asdf:system-description (asdf:find-system :nyxt))</a>
|
||||
<a class="sourceLine" id="cb9-6" data-line-number="6">:license #.(asdf:system-license (asdf:find-system :nyxt))</a></code></pre></div>
|
||||
<p>Here we list all the metadata for the <code>.deb</code>. Since we decided to store this system in a separate <code>.asd</code> file, it can't automatically inherit from the metadata of the <code>nyxt</code> system. So we need to use a reader macro to explicitly tell ASDF to look for the metadata of Nyxt.</p>
|
||||
<div class="sourceCode" id="cb10" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb10-1" data-line-number="1">:additional-dependencies (<span class="st">"glib-networking"</span></a>
|
||||
<a class="sourceLine" id="cb10-2" data-line-number="2"> <span class="st">"gsettings-desktop-schemas"</span></a>
|
||||
<a class="sourceLine" id="cb10-3" data-line-number="3"> <span class="st">"xclip"</span></a>
|
||||
<a class="sourceLine" id="cb10-4" data-line-number="4"> <span class="st">"enchant"</span></a>
|
||||
<a class="sourceLine" id="cb10-5" data-line-number="5"> <span class="st">"notify-osd"</span>)</a></code></pre></div>
|
||||
<p>The attentive reader may have noticed that I said that <code>linux-packaging</code> automatically derived the operating system dependencies for FFI packages. Indeed, we don't need to declare that WebKitGTK is a dependency here for instance.</p>
|
||||
<p>However, some of our code has optional dependencies. While WebKitGTK would work without <code>glib-networking</code> it would have limited functionality, like no HTTPS support.</p>
|
||||
<p>Other dependencies include those that are typically used by Common Lisp libraries that depend on executables, like <a href="https://github.com/snmsts/trivial-clipboard">trivial-clipboard</a> which depends on an external clipboard program like <code>xclip</code>.</p>
|
||||
<div class="sourceCode" id="cb11" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb11-1" data-line-number="1">:additional-files ((<span class="st">"assets/nyxt.desktop"</span> . <span class="st">"usr/share/applications/"</span>)</a>
|
||||
<a class="sourceLine" id="cb11-2" data-line-number="2"> (<span class="st">"assets/nyxt_16x16.png"</span> . #p<span class="st">"usr/share/icons/hicolor/16x16/apps/nyxt.png"</span>)</a>
|
||||
<a class="sourceLine" id="cb11-3" data-line-number="3"> (<span class="st">"assets/nyxt_32x32.png"</span> . #p<span class="st">"usr/share/icons/hicolor/32x32/apps/nyxt.png"</span>)</a>
|
||||
<a class="sourceLine" id="cb11-4" data-line-number="4"> (<span class="st">"assets/nyxt_128x128.png"</span> . #p<span class="st">"usr/share/icons/hicolor/128x128/apps/nyxt.png"</span>)</a>
|
||||
<a class="sourceLine" id="cb11-5" data-line-number="5"> (<span class="st">"assets/nyxt_256x256.png"</span> . #p<span class="st">"usr/share/icons/hicolor/256x256/apps/nyxt.png"</span>)</a>
|
||||
<a class="sourceLine" id="cb11-6" data-line-number="6"> (<span class="st">"assets/nyxt_512x512.png"</span> . #p<span class="st">"usr/share/icons/hicolor/512x512/apps/nyxt.png"</span>))</a>
|
||||
<a class="sourceLine" id="cb11-7" data-line-number="7">:build-pathname <span class="st">"nyxt"</span>)</a></code></pre></div>
|
||||
<p>Finally, we list all the assets to include in the <code>.deb</code>: icons, <code>.desktop</code> file, etc.</p>
|
||||
<p>The <code>build-pathname</code> field is the name of the produced executable which will be automatically stored to <code>/usr/bin</code> in the package.</p>
|
||||
<h1 id="future-work">Future work</h1>
|
||||
<ul>
|
||||
<li><p>Guix test and packaging</p>
|
||||
<p>We have a <a href="https://github.com/atlas-engineer/nyxt/blob/2-pre-release-4/build-scripts/guix.scm">Guix recipe</a> to build Nyxt using the <a href="https://guix.gnu.org/">Guix</a> package manager. There are many benefits in providing a Guix package, among others it allows us to provide a create a <a href="https://guix.gnu.org/en/blog/2018/tarballs-the-ultimate-container-image-format/">Guix pack</a> which is an self-containing, portable tarball that can be unpacked and run on any operating system with a Linux kernel.</p>
|
||||
<p>Another benefit of packaging for Guix is that it uses its own Common Lisp packages instead of Quicklisp to manage the Common Lisp dependencies. This validates our quality assurance one step further.</p></li>
|
||||
<li><p>Code coverage</p>
|
||||
<p>SBCL supports coverage reporting thanks to its <code>sb-cover</code> extension. We hope to make use of it to provide the most exhaustive test suite possible.</p></li>
|
||||
</ul>
|
||||
<p>Thanks for reading!</p>
|
||||
<h1 id="special-thanks">Special thanks</h1>
|
||||
<p>Florian Margaine for his awesome work on <a href="https://gitlab.com/ralt/linux-packaging">linux-packaging</a>.</p>
|
||||
<p><a href="https://github.com/phoe/"><span class="citation" data-cites="phoe">@phoe</span></a> for his Common Lisp tips.</p>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
<p>Welcome to the NV TFC Facebook page! Like our page and share with others in the Northern Valley community to stay up to date with what is happening at Northern Valley TFC! We'll use this page to keep an open line of communication with parents and community members as well as just share what will be happening at TFC all year round! You're welcome to invite others who you believe should stay connected!</p><a href='/story.php?story_fbid=115717690558039&id=115628967233578&m_entstream_source=timeline&__tn__=%2As%2As-R' aria-label='Open story' class='_5msj'></a>
|
|
@ -0,0 +1 @@
|
|||
This is Toby Sumpter with your CrossPolitic Daily News Brief for Friday, April 2, 2021 The truth is trickling out about masks, a nativity scene is still legal during Christmas in Indiana, Florida Rep. Matt Gaetz is under investigation, and Day 4 of the Derek Chauvin trial continues.  A Good Good Friday to you, and […]
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/9ZpL8iDU7LY" width="480" alt="thumbnail" title="How To Use Shell Environment Variables" /></p>In this video, I am going to give a cursory introduction to shell environment variables, which come in two forms: global variables and local variables. I also discuss some of the global variables that I often use, including the PATH variable and how to add to the PATH.<br /><br />REFERENCED:<br />► https://www.gnu.org/software/bash/manual/html_node/ - Bash Reference Manual<br /><br />WANT TO SUPPORT THE CHANNEL? <br />💰 Patreon: https://www.patreon.com/distrotube <br />💳 Paypal: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=derek%40distrotube%2ecom&lc=US&item_name=DistroTube&no_note=0¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHostedGuest<br />🛍️ Amazon: https://amzn.to/2RotFFi<br />👕 Teespring: https://teespring.com/stores/distrotube<br /><br />DONATE CRYPTO:<br />💰 Bitcoin: 1Mp6ebz5bNcjNFW7XWHVht36SkiLoxPKoX<br />🐶 Dogecoin: D5fpRD1JRoBFPDXSBocRTp8W9uKzfwLFAu<br />📕 LBC: bMfA2c3zmcLxPCpyPcrykLvMhZ7A5mQuhJ<br /><br />SOCIAL PLATFORMS: <br />🗨️ Mastodon: https://distrotoot.com/@derek<br />👫 Reddit: https://www.reddit.com/r/DistroTube/<br />📽️ LBRY/Odysee: https://odysee.com/$/invite/@DistroTube:2<br /><br />DT ON THE WEB:<br />🕸️ Website: http://distrotube.com/<br />🐿️ Gemini Capsule: gemini://distro.tube<br />📁 GitLab: https://gitlab.com/dwt1 <br /><br />FREE AND OPEN SOURCE SOFTWARE THAT I USE:<br />🌐 Brave Browser - https://brave.com/dis872 <br />📽️ Open Broadcaster Software: https://obsproject.com/<br />🎬 Kdenlive: https://kdenlive.org<br />🎨 GIMP: https://www.gimp.org/<br />🎵 Ardour: https://ardour.org/<br />💻 VirtualBox: https://www.virtualbox.org/<br />🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs<br /><br />Your support is very much appreciated. Thanks, guys!<br />...<br />https://www.youtube.com/watch?v=9ZpL8iDU7LY
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>Hi all, just watching this presentation from Jan Ypma at EmacsConf 2021, and I saw that in his org file he has an arrowhead symbol instead of <code>#+Begin_SRC</code> and a rhombus symbol instead of <code>#+End_SRC</code>. Anyone know how to accomplish this??? Many thanks!</p> <p><a href="https://youtu.be/3GQCSOQ3MRU?t=224">https://youtu.be/3GQCSOQ3MRU?t=224</a></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/ourobo-ros"> /u/ourobo-ros </a> <br/> <span><a href="https://www.reddit.com/r/orgmode/comments/re7y2o/symbols_for_begin_end_src/">[link]</a></span>   <span><a href="https://www.reddit.com/r/orgmode/comments/re7y2o/symbols_for_begin_end_src/">[comments]</a></span>
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>Hi,</p> <p><code>playerctl -l</code><br/> returns following output:<br/> ```<br/> firefox.instance379349 </p> <p>spotify<br/> ```</p> <p>How do I remove firefox from playerctl, so that the commands only apply to spotify?</p> <p>Thanks in advance</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/len1315"> /u/len1315 </a> <br/> <span><a href="https://www.reddit.com/r/archlinux/comments/r56mk5/help_removing_program_from_playerctl/">[link]</a></span>   <span><a href="https://www.reddit.com/r/archlinux/comments/r56mk5/help_removing_program_from_playerctl/">[comments]</a></span>
|
|
@ -0,0 +1,13 @@
|
|||
<p>This is part two of our discussion on the Christian Ideal. Tim, Jon and their colleague Paul Pastor continue their discussion on redefining and reimagining holiness.</p>
|
||||
<p>In the first part of the episode (0-11:45), they discuss what divine life looks like according to Old Testament authors and Peter in 2 Peter 1.<br />
|
||||
The guys ponder on whether holiness is an attribute someone has, or if it is someone's nature.</p>
|
||||
<p>Then (12:00-20:00 ) they ask how are people supposed to participate in the divine life? They discuss how to best reframe holiness, from a word that conjures up stiff, uptight religion (like SNL's Church Lady), to a word that excites and inspires people with the possibility of living a transcendent and abundant life.</p>
|
||||
<p>Finally, (20:01-end) the guys talk about why we often stand in awe when we meet celebrities and some words that could be used as synonyms instead of holiness. They also ask what does living spellbound or enchanted with God's spirit look like?</p>
|
||||
<p>Thank you to all our supporters!</p>
|
||||
<p><strong>Resources:</strong><br />
|
||||
Our theme video on Holiness: INSERT LINK<br />
|
||||
Subscribe here and get an update when our workbook on Holiness will become available: INSERT LINK</p>
|
||||
<p><strong>Music Credits:</strong><br />
|
||||
Defender Instrumental : Rosasharn Music<br />
|
||||
Heal My Sorrows : Greyflood<br />
|
||||
Where Peace and Rest Are Found : Greyflood</p>
|
|
@ -0,0 +1,35 @@
|
|||
<p>SHOW NOTES: </p>
|
||||
|
||||
<p>- All the info you need to START is on our <a href='http://www.thebiblerecap.com'>website</a>! Seriously, go there.
|
||||
- Join our <a href='https://www.patreon.com/thebiblerecap'>PATREON</a> community for bonus perks!</p>
|
||||
|
||||
<p>- Get your <a href='https://www.theconnextion.com/tlcdgroup/index.cfm'>TBR merch</a></p>
|
||||
|
||||
<p>- <a href='http://thebiblerecap.com/contact'>Show credits</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>FROM TODAY’S PODCAST: </p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=genesis+13%3A6&version=ESV'>Genesis 13:6</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=genesis+36%3A7&version=ESV'>Genesis 36:7</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=deuteronomy+28%3A8&version=ESV'>Deuteronomy 28:8</a></p>
|
||||
|
||||
<p>- Join <a href='http://www.patreon.com/thebiblerecap'>Patreon</a> to receive additional perks!</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>SOCIALS:</p>
|
||||
|
||||
<p>The Bible Recap:<a href='https://instagram.com/thebiblerecap'> Instagram</a> |<a href='https://www.facebook.com/thebiblerecap'> Facebook</a> |<a href='https://twitter.com/thebiblerecap'> Twitter</a></p>
|
||||
|
||||
<p>D-Group:<a href='https://instagram.com/mydgroup/'> Instagram</a> |<a href='https://www.facebook.com/ilovemydgroup'> Facebook</a> |<a href='https://mobile.twitter.com/mydgroup'> Twitter</a></p>
|
||||
|
||||
<p>TLC:<a href='https://instagram.com/taraleighcobble'> Instagram</a> |<a href='https://www.facebook.com/taraleighcobble'> Facebook</a> |<a href='https://twitter.com/taraleighcobble'> Twitter</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>D-GROUP:
|
||||
The Bible Recap is brought to you by<a href='https://www.mydgroup.org/'> D-Group</a> - an international network of discipleship and accountability groups that meet weekly in homes and churches:<a href='https://www.mydgroup.org/map'> Find or start one near you today</a>!</p>
|
Loading…
Add table
Add a link
Reference in a new issue