trying to fix
This commit is contained in:
parent
fa407dfeb6
commit
e013d7569e
22945 changed files with 447936 additions and 0 deletions
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>I'm doing some recreational writing using org-mod. I like it so far. Great. I think I've gotten best results using pandoc to create a PDF, but the results are beautiful. I could do the same from within emacs I'm sure.</p> <p>I have one file per chapter, which is natural and works for me. I can maybe be dissuaded. I think every file wants a `#+TITLE:`, at least because pandoc requires it or complains. If I output "one chapter" (file), everything looks great. The (chapter) title looks just the way I like it.</p> <p>If I do the following with pandoc:</p> <pre><code>pandoc -s *.org -o my_book.pdf </code></pre> <p>The <em>problem</em> is that the titles of the chapters end up all mashed together at the top of the document. Everything is more or less perfect.</p> <p>Should I maybe just not do this and manage this as one big doc, using hideability to deal with the unwieldiness? I could be convinced.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/captainmidday"> /u/captainmidday </a> <br/> <span><a href="https://www.reddit.com/r/orgmode/comments/po91dx/writing_prose_a_book_in_orgmode_one_file_per/">[link]</a></span>   <span><a href="https://www.reddit.com/r/orgmode/comments/po91dx/writing_prose_a_book_in_orgmode_one_file_per/">[comments]</a></span>
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/49ASUFQgWZE" width="480" alt="thumbnail" title="Reprinting Classical Lost Books: LindyPress.net" /></p>Using some LaTeX/XeLaTeX magic, I'm now typesetting and reprinting out of print books, starting with the following:<br /><br />- Anti-Modernist Papal Encylicals (https://lindypress.net/book?pk=1)<br />- Marcus Aurelius's Medidations (https://lindypress.net/book?pk=2)<br />- Roger Bacon's Compendium Studii Theologiae (https://lindypress.net/book?pk=3)<br />- Isidore of Seville's Etymologiae (https://lindypress.net/book?pk=5)<br />- The Books of Enoch and the Book of Jubilees (https://lindypress.net/book?pk=6)<br /><br />Written in all free software, of course (and in vim 😉).<br /><br />My website: https://lukesmith.xyz<br />Classical books reprinted by me: https://lindypress.net<br />Get all my videos off YouTube: https://videos.lukesmith.xyz<br />or Odysee: https://odysee.com/$/invite/@Luke:7<br /><br />Please donate: https://donate.lukesmith.xyz<br />BTC: bc1qw5w6pxsk3aj324tmqrhhpmpfprxcfxe6qhetuv<br />XMR: 48jewbtxe4jU3MnzJFjTs3gVFWh2nRrAMWdUuUd7Ubo375LL4SjLTnMRKBrXburvEh38QSNLrJy3EateykVCypnm6gcT9bh<br /><br />OR affiliate links to things l use:<br />https://www.vultr.com/?ref=8384069-6G Get a VPS and host a website or server for anything else.<br />https://www.epik.com/?affid=we2ro7sa6 Get a cheap and reliable domain name with Epik.<br />...<br />https://www.youtube.com/watch?v=49ASUFQgWZE
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,3 @@
|
|||
<img src="https://media.babylonbee.com/thumbs/article-9556-1-thumb.jpg"> <p>NASHVILLE, TN—Christian entertainment company 4HisGlory Amusements has announced an exciting new escape room experience based on Calvinist theology. Participants will be entirely unable to do anything to escape the room and instead must wait for an actor playing Jesus to unlock the door and let them out.</p>
|
||||
<p>The post <a rel="nofollow" href="https://babylonbee.com/news/new-calvinist-escape-room-has-participants-do-nothing-while-they-wait-for-jesus-to-let-them-out">New Calvinist Escape Room Has Participants Do Nothing While They Wait For Someone To Let Them Out</a> appeared first on <a rel="nofollow" href="https://babylonbee.com">The Babylon Bee</a>.</p>
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
<p>Ring, Nest, Dropcam, smart cameras are everywhere. Enhance your physical security space without compromising your network, self hosted, and on LINUX on this week's episode!</p>
|
||||
|
||||
<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/156" 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 #AskNoahShow on Freenode!</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><p>Links:</p><ul><li><a href="https://wiki.hackzine.org/sysadmin/kvm-import-ova.html" title="KVM: Importing an OVA appliance — Hackzine Wiki" rel="nofollow">KVM: Importing an OVA appliance — Hackzine Wiki</a> — Su</li><li><a href="https://www.turnkeylinux.org/" title="TurnKey GNU/Linux | 100+ free ready-to-use system images for virtual machines, the cloud and bare metal" rel="nofollow">TurnKey GNU/Linux | 100+ free ready-to-use system images for virtual machines, the cloud and bare metal</a></li><li><a href="https://themeisle.com/blog/wordpress-vs-ghost-vs-medium/" title="WordPress vs Ghost vs Medium - Which Is Best for Blogging?" rel="nofollow">WordPress vs Ghost vs Medium - Which Is Best for Blogging?</a></li><li><a href="https://www.shodan.io/" title="Shodan" rel="nofollow">Shodan</a></li><li><a href="https://gizmodo.com/a-creepy-website-is-streaming-from-73-000-private-secur-1655653510" title="A Creepy Website Is Streaming From 73,000 Private Security Cameras" rel="nofollow">A Creepy Website Is Streaming From 73,000 Private Security Cameras</a></li><li><a href="https://threatpost.com/trickbot-evolves-ssh-keys/150617/" title="TrickBot Evolves to Go After SSH Keys | Threatpost" rel="nofollow">TrickBot Evolves to Go After SSH Keys | Threatpost</a></li><li><a href="https://slexy.org/view/s207q6F5z1" title="Smart Thermostat · Slexy.org Pastebin" rel="nofollow">Smart Thermostat · Slexy.org Pastebin</a></li><li><a href="https://forwardthinking.honeywellhome.com/redlink" title="RedLINK Platform — Honeywell Home | Forward Thinking" rel="nofollow">RedLINK Platform — Honeywell Home | Forward Thinking</a></li><li><a href="https://www.newegg.com/synology-ds718/p/N82E16822108680?Item=N82E16822108680" title="Synology 2 Bay NAS DiskStation DS718+ (Diskless) - Newegg.com" rel="nofollow">Synology 2 Bay NAS DiskStation DS718+ (Diskless) - Newegg.com</a></li><li><a href="https://www.bhphotovideo.com/c/product/1294394-REG/axis_communications_0911_001_m2025_le_1080p_outdoor_network.html" title="Axis Communications M2025-LE 1080p Outdoor Network 0911-001 B&H" rel="nofollow">Axis Communications M2025-LE 1080p Outdoor Network 0911-001 B&H</a></li><li><a href="https://ipvm.com/reports/hik-backdoor" title="Hikvision Backdoor Confirmed" rel="nofollow">Hikvision Backdoor Confirmed</a></li><li><a href="https://threatpost.com/hikvision-patches-backdoor-in-ip-cameras/125522/" title="Hikvision Patches Backdoor in IP Cameras | Threatpost" rel="nofollow">Hikvision Patches Backdoor in IP Cameras | Threatpost</a></li><li><a href="https://github.com/bp2008/HikPasswordHelper" title="GitHub - bp2008/HikPasswordHelper: A tool which exploits a backdoor in Hikvision camera firmwares circa 2014-2016 to help the owner change a forgotten password." rel="nofollow">GitHub - bp2008/HikPasswordHelper: A tool which exploits a backdoor in Hikvision camera firmwares circa 2014-2016 to help the owner change a forgotten password.</a></li><li><a href="https://ipcamtalk.com/threads/backdoor-found-in-hikvision-cameras.17523/" title="Backdoor found in Hikvision cameras | IP Cam Talk" rel="nofollow">Backdoor found in Hikvision cameras | IP Cam Talk</a></li></ul>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<p>It’s the year of the CIA linux desktop, with multiplatform malware & boot environments designed to attack Macs, Popey & Wimpy share their Mobile World Congress adventures & Bryan joins us to discuss the last Linux Sucks talk ever.</p>
|
||||
|
||||
<p>Plus we chat with Gnome at SCALE, take a look at Endless OS & ponder the Litebook.</p><p><a href="https://jupitersignal.memberful.com/checkout?plan=52946" rel="payment">Support LINUX Unplugged</a></p>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<p><img class="alignnone wp-image-9066 size-full" src="https://adam4d.com/wp-content/uploads/2018/06/pro-choice-1-1.png" alt="" width="740" height="940" srcset="https://adam4d.com/wp-content/uploads/2018/06/pro-choice-1-1.png 740w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-1-1-236x300.png 236w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-1-1-346x440.png 346w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-1-1-496x630.png 496w" sizes="(max-width: 740px) 100vw, 740px" /><img class="alignnone size-full wp-image-9053" src="https://adam4d.com/wp-content/uploads/2018/06/pro-choice-2.png" alt="" width="740" height="940" srcset="https://adam4d.com/wp-content/uploads/2018/06/pro-choice-2.png 740w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-2-236x300.png 236w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-2-346x440.png 346w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-2-496x630.png 496w" sizes="(max-width: 740px) 100vw, 740px" /><img class="alignnone size-full wp-image-9054" src="https://adam4d.com/wp-content/uploads/2018/06/pro-choice-3.png" alt="" width="740" height="940" srcset="https://adam4d.com/wp-content/uploads/2018/06/pro-choice-3.png 740w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-3-236x300.png 236w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-3-346x440.png 346w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-3-496x630.png 496w" sizes="(max-width: 740px) 100vw, 740px" /><img class="alignnone wp-image-9057 size-full" src="https://adam4d.com/wp-content/uploads/2018/06/pro-choice-4-1.png" alt="" width="740" height="940" srcset="https://adam4d.com/wp-content/uploads/2018/06/pro-choice-4-1.png 740w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-4-1-236x300.png 236w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-4-1-346x440.png 346w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-4-1-496x630.png 496w" sizes="(max-width: 740px) 100vw, 740px" /><img class="alignnone size-full wp-image-9056" src="https://adam4d.com/wp-content/uploads/2018/06/pro-choice-5.png" alt="" width="740" height="940" srcset="https://adam4d.com/wp-content/uploads/2018/06/pro-choice-5.png 740w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-5-236x300.png 236w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-5-346x440.png 346w, https://adam4d.com/wp-content/uploads/2018/06/pro-choice-5-496x630.png 496w" sizes="(max-width: 740px) 100vw, 740px" /></p>
|
||||
<p>I'm on Facebook, Twitter, and Instagram, if you're into that sorta thing. Also: Adam4d.com is my full-time job and I'm funded by readers like you. If you're interested in learning more about that, check out my Patreon page.</p>
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/fLBBGum0nhQ" width="480" alt="thumbnail" title="Against Bitcoin Maximalism: Exchanges Can Print "Bitcoin"" /></p>Bitcoin's issues will not be solved with "Layer 2." The gold standard was destroyed by its own "Layer 2" solution to its flaws as a currency: paper currency replaced gold and in the same way, a cryptocurrency like Bitcoin that has extreme transaction fees and requires bloated centralized solutions on top of it will gradually be replaced by those "solutions."<br /><br />A decentralized digital currency and a store of value has to work as such without aid from other systems.<br /><br />This is a clip from an interview I did for Monero Talk. See links to the full interview here:<br />YouTube: https://www.youtube.com/watch?v=qIMw_cI4UsA<br />Odysee: https://odysee.com/luke-smith-on-monero%27s-unique-self:0d9aba4153a9998177f676adfb40c16f8c58f199<br />PeerTube: https://videos.lukesmith.xyz/videos/watch/897210b1-0ac6-4dbd-8df8-35b174365db4<br /><br />My website: https://lukesmith.xyz<br />Please donate: https://donate.lukesmith.xyz<br />Get all my videos off YouTube: https://videos.lukesmith.xyz<br />or Odysee: https://odysee.com/$/invite/@Luke:7<br /><br />BTC: bc1qw5w6pxsk3aj324tmqrhhpmpfprxcfxe6qhetuv<br />XMR: 48jewbtxe4jU3MnzJFjTs3gVFWh2nRrAMWdUuUd7Ubo375LL4SjLTnMRKBrXburvEh38QSNLrJy3EateykVCypnm6gcT9bh<br /><br />OR affiliate links to things l use:<br />https://www.vultr.com/?ref=8384069-6G Get a VPS and host a website or server for anything else.<br />https://www.epik.com/?affid=we2ro7sa6 Get a cheap and reliable domain name with Epik.<br />https://brave.com/luk005 Get the Brave browser.<br />https://odysee.com/$/invite/@Luke:7 View my videos on Odysee and get a bonus for joining.<br />https://www.coinex.com/register?refer_code=ndf87 Get crypto-rich on Coinex. Get reduced exchange fees for 3 months.<br />https://www.coinbase.com/join/smith_5to1 Get crypto-rich on Coinbase. We both get $10 in Bitcoin when you buy or sell $100 in cryptocurrencies.<br />...<br />https://www.youtube.com/watch?v=fLBBGum0nhQ
|
|
@ -0,0 +1,95 @@
|
|||
<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=Leviticus+13%3A46&version=ESV'>Leviticus 13:46</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=2+kings+10%3A30&version=ESV'>2 Kings 10:30</a></p>
|
||||
|
||||
<p>- Video: <a href='https://www.youtube.com/watch?v=d0A6Uchb1F8'>Isaiah Overview (1-39)</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:
|
||||
</p>
|
||||
|
||||
<p>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,2 @@
|
|||
<p>NextCloud 12 is out & Jos joins us to chat about the highlights, Marius Quabeck joins us to discuss Magic Device Tool’s secrets. Plus we cover a bunch of project updates & more!</p><p><a href="https://jupitersignal.memberful.com/checkout?plan=52946" rel="payment">Support LINUX Unplugged</a></p>
|
||||
|
|
@ -0,0 +1 @@
|
|||
Today we are talking about stories that are all facades that we all now know are not real, including John Kerry, CNN/Cuomo scandal, and a rasmussen poll. Help support Voddie Baucham suffering from heart failure. https://www.gofundme.com/f/voddie-baucham Show Marketing Powered By: Better Three Group Click Here to find out more or go to betterthreegroup.com GAB: @mattwilliams […]
|
|
@ -0,0 +1 @@
|
|||
If Not This, Then What?
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/29onMCIbbXc" width="480" alt="thumbnail" title="Is Deepin Linux The Windows Killer? (Deepin 20.3 First Look)" /></p>Deepin is a Debian-based Linux distro that is devoted to providing a beautiful, easy-to-use, safe, and reliable operating system. The Deepin Desktop Environment is absolutely gorgeous, and it comes with a suite of custom applications. Deepin is a Chinese distribution but don't let that deter you; Deepin is perfect for Linux users around the globe.<br /><br />REFERENCED:<br />► https://www.deepin.org/en/2021/11/23/deepin-20-3/<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=29onMCIbbXc
|
|
@ -0,0 +1,4 @@
|
|||
<p>Canonical is going for the IPO & that means some big changes. In a recent interview Mark Shuttleworth gives us a hint at the new purpose of the Ubuntu desktop.</p>
|
||||
|
||||
<p>Plus Thunderbird’s future is uncertain, we get our hands on System76’s Galago Pro & more!</p><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>Okay , it used to work falwlessly ...but now throwing an error while invoking... I understand , you will say, "what changes since then?" ...a lot ..not sure which one is bugging this ...but the code and output text are below ...take a peek :</p> <p><strong>capture template code:</strong></p> <p>.........</p> <p><code>("b" "Books" entry (file "~/.emacs.d/OrgFiles/books.org"</code></p> <p><code>"* %(let* ((url (substring-no-properties (current-kill 0)))</code></p> <p><code>(details (org-books-get-details url)))</code></p> <p><code>(when details (apply #'org-books-format 1 details)))")</code></p> <p>​</p> <p>Now here is the output I am getting once select/press "b" from capture menu ...in the capture buffer it is showing this :</p> <p><code>%![Error: (void-function org-books-get-details)]</code> </p> <p>​</p> <p>Now, here is the actual code in the <strong>org-books.el :</strong></p> <p><code>(defun org-books-get-details (url)</code></p> <p><code>"Fetch book details from given URL.Return a list of three items: title (string), author (string) andan alist of properties to be applied to the org entry. If the url is not supported, throw an error."</code></p> <p><code>(let ((output 'no-match)</code></p> <p><code>(url-host-string (url-host (url-generic-parse-url url))))</code></p> <p><code>(cl-dolist (pattern-fn-pair org-books-url-pattern-dispatches)</code></p> <p><code>(when (s-matches? (car pattern-fn-pair) url-host-string)</code></p> <p><code>(setq output (funcall (cdr pattern-fn-pair) url))</code></p> <p><code>(cl-return)))</code></p> <p><code>(if (eq output 'no-match)</code></p> <p><code>(error (format "Url %s not understood" url))</code></p> <p><code>output)))</code></p> <p>​</p> <p>What is going wrong...I am not able to figure it out. I am sure , that I haven't change the file to something else.</p> <p>Shed some light.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/unixbhaskar"> /u/unixbhaskar </a> <br/> <span><a href="https://www.reddit.com/r/emacs/comments/ppan1g/well_book_capture_template_code_not_working_it/">[link]</a></span>   <span><a href="https://www.reddit.com/r/emacs/comments/ppan1g/well_book_capture_template_code_not_working_it/">[comments]</a></span>
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/ZVvisuL0D9M" width="480" alt="thumbnail" title="Self Documenting Code Is Just A Meme" /></p>I've talked frequently about self documenting code and how I don't particularly like the concept but today I thought I'd explain why I think and where concepts of self documenting code can actually provide some value.<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 />=========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 />==========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 />#SelfDocumenting #Coding #Commenting<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=ZVvisuL0D9M
|
|
@ -0,0 +1 @@
|
|||
<a href='/story.php?story_fbid=115670427229432&substory_index=0&id=115628967233578&m_entstream_source=timeline&__tn__=%2As%2As-R' aria-label='Open story' class='_5msj'></a><a href='/NorthernValleyTFC/photos/a.115628997233575/115670237229451/?type=3&source=48&__tn__=EH-R' class='_39pi'><img src='https://scontent.fict1-1.fna.fbcdn.net/v/t1.6435-9/p320x320/151177197_115670240562784_7305556504870656520_n.png?_nc_cat=105&ccb=1-5&_nc_sid=85a577&_nc_ohc=xoFCcgZhpMsAX_xHxjk&_nc_ht=scontent.fict1-1.fna&oh=32d93254ad4c0569aff699160fc7ab50&oe=61688D03' /></a>
|
|
@ -0,0 +1,23 @@
|
|||
<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.
|
||||
</p>
|
||||
|
||||
<p>- 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> </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>
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>Hi there. I'm a recent Emacs convert using Spacemacs. I was wondering if anyone else is using Emacs to write Python 3.10 code, specifically using the new <code>match</code> and <code>case</code> keywords. When I try to use them, Emacs doesn't recognize them as keywords, and so doesn't understand that it should indent the following lines.</p> <p>If I understand correctly, this is handled by <code>python.el</code>. Has there been any movement on adding support for the new keywords? And where could I go to find out, follow progress, or possibly contribute?</p> <p>For reference, I'm using Emacs 27.2 and the built-in <code>python.el</code>. Thank you!</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/javajunkie314"> /u/javajunkie314 </a> <br/> <span><a href="https://www.reddit.com/r/emacs/comments/r7p73i/emacs_for_python_310/">[link]</a></span>   <span><a href="https://www.reddit.com/r/emacs/comments/r7p73i/emacs_for_python_310/">[comments]</a></span>
|
|
@ -0,0 +1 @@
|
|||
Good Friday to you. This is Pastor Toby Sumpter. Today is Friday, November 12, 2021. This is the CrossPolitic Daily Newsbrief. Find all our shows at Crosspolitic.com and download the Fight Laugh Feast App at your favorite app store so you don’t miss anything. We are currently suspended by youtube for saying naughty COVID words, […]
|
|
@ -0,0 +1 @@
|
|||
As the end of the year is near, Darren gives his thoughts on continuing to grind, entrepreneurship, and survival.
|
|
@ -0,0 +1 @@
|
|||
<table> <tr><td> <a href="https://www.reddit.com/r/unixporn/comments/r86u79/bspwm_sxhkd_picom_polybar_bubatz/"> <img src="https://preview.redd.it/dn6heyqrnd381.png?width=640&crop=smart&auto=webp&s=d1bd08605ae53ae3f2bee1f7696399239b608b1b" alt="[bspwm + sxhkd + picom + polybar] bubatz" title="[bspwm + sxhkd + picom + polybar] bubatz" /> </a> </td><td>   submitted by   <a href="https://www.reddit.com/user/flimosch"> /u/flimosch </a> <br/> <span><a href="https://i.redd.it/dn6heyqrnd381.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/unixporn/comments/r86u79/bspwm_sxhkd_picom_polybar_bubatz/">[comments]</a></span> </td></tr></table>
|
305
var/elfeed/db/data/b4/b4e98f0b25cec3cc55f24423162c42809284f799
Normal file
305
var/elfeed/db/data/b4/b4e98f0b25cec3cc55f24423162c42809284f799
Normal file
|
@ -0,0 +1,305 @@
|
|||
<p>We took all 166 699 packages from <a href="https://rubygems.org/">RubyGems.org</a> and
|
||||
rebuilt them in <a href="https://copr.fedorainfracloud.org/">Copr</a>. Let’s explore the results together.</p>
|
||||
|
||||
<h2 id="success-rate">Success rate</h2>
|
||||
|
||||
<p>From the 166 699 Gems hosted on <a href="https://rubygems.org/">RubyGems.org</a>,
|
||||
98 816 of them were successfully built in <a href="https://copr.fedorainfracloud.org/">Copr</a> for Fedora
|
||||
Rawhide. That makes a 59.3% success rate. For the rest of them, it
|
||||
is important to distinguish in what build phase they failed. Out of
|
||||
67 883 failures, 62 717 of them happened while converting
|
||||
their <a href="https://bundler.io/gemfile.html">Gemfile</a> into <a href="https://rpm-packaging-guide.github.io/#what-is-a-spec-file">spec</a> and only 5 166 when
|
||||
building the actual RPM packages. It means that if a Gem can be
|
||||
properly converted to a <a href="https://rpm-packaging-guide.github.io/#what-is-a-spec-file">spec</a> file, there is a 95% probability
|
||||
for it to be successfully built into RPM.</p>
|
||||
|
||||
<div class="text-center img-row row">
|
||||
<a href="https://frostyx.cz/files/img/rubygems-success-rate.png" title="The exact number of failures caused by missing license vs other SRPM failures will be updated">
|
||||
<img src="https://frostyx.cz/files/img/rubygems-success-rate.png" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<p>By far, the majority of failures were caused by a missing license
|
||||
field for the particular Gems. There is likely nothing wrong with
|
||||
them, and technically, they could be built without any issues, but we
|
||||
simply don’t have legal rights to do so. Therefore such builds were
|
||||
aborted before even downloading the sources. This affected 62 049
|
||||
packages.</p>
|
||||
|
||||
<h2 id="more-stats">More stats</h2>
|
||||
|
||||
<p>All Gems were rebuilt within the <a href="https://copr.fedorainfracloud.org/coprs/g/rubygems/rubygems/">@rubygems/rubygems</a>
|
||||
Copr project for <code class="language-plaintext highlighter-rouge">fedora-rawhide-x86_64</code> and <code class="language-plaintext highlighter-rouge">fedora-rawhide-i386</code>.</p>
|
||||
|
||||
<p>We submitted all builds <em>at once</em>, starting on Sep 11, 2021, and the
|
||||
whole rebuild was finished on Oct 17, 2021. It took Copr a little over
|
||||
a month, and within that time, the number of pending builds peaked at
|
||||
129 515.</p>
|
||||
|
||||
<div class="text-center img-row row">
|
||||
<a href="https://frostyx.cz/files/img/rubygems-builds-graph.png" title="The pending builds peaked at 129515">
|
||||
<img src="https://frostyx.cz/files/img/rubygems-builds-graph.png" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<p>The number of running builds doesn’t represent 24 468 running
|
||||
builds at once but rather the number of builds that entered the
|
||||
<code class="language-plaintext highlighter-rouge">running</code> state on that day. It doesn’t represent Copr throughput
|
||||
accurately though, as we worked on eliminating performance issues
|
||||
along the way. A similar mass rebuild should take a fraction of the
|
||||
time now.</p>
|
||||
|
||||
<p>The resulting RPM packages ate 55GB per chroot, therefore 110GB in
|
||||
total. SRPM packages in the amount of 640MB were created as a
|
||||
byproduct.</p>
|
||||
|
||||
<p>The repository metadata has 130MB and it takes DNF around 5 minutes on
|
||||
my laptop (Lenovo X1 Carbon) to enable the repository and install a package
|
||||
from it for the first time (because it needs to create a cache).
|
||||
Consequent installations from the repository are instant.</p>
|
||||
|
||||
<h2 id="in-perspective">In perspective</h2>
|
||||
|
||||
<p>To realize if those numbers are anyhow significant or interesting, I
|
||||
think we need to compare them with other repositories.</p>
|
||||
|
||||
<table class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>@rubygems/rubygems</th>
|
||||
<th>Fedora Rawhide (F36)</th>
|
||||
<th>EPEL8</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>The Number of packages</strong></td>
|
||||
<td>98 816</td>
|
||||
<td>34 062</td>
|
||||
<td>4 806</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Size per chroot</strong></td>
|
||||
<td>55GB</td>
|
||||
<td>83GB</td>
|
||||
<td>6.7GB</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Metadata size</strong></td>
|
||||
<td>130MB</td>
|
||||
<td>61MB</td>
|
||||
<td>11MB</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code class="language-plaintext highlighter-rouge">dnf makecache</code></td>
|
||||
<td>~5 minutes</td>
|
||||
<td>~22 seconds</td>
|
||||
<td>1 second</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="motivation">Motivation</h2>
|
||||
|
||||
<p>What was the point of this <em>experiment</em> anyway?</p>
|
||||
|
||||
<p>The goal was to rebuild all packages from a third-party hosting
|
||||
service that is specific to some programming language. There was no
|
||||
particular reason why we chose <a href="https://rubygems.org/">RubyGems.org</a> among other
|
||||
options.</p>
|
||||
|
||||
<p>We hoped to pioneer this area, figure out the pain points, and make it
|
||||
easier for others to mass-rebuild something that might be helpful to them.
|
||||
While doing so, we had the opportunity to improve the Copr service and
|
||||
test the performance of the whole RPM toolchain against large repositories.</p>
|
||||
|
||||
<p>There are reasons why to avoid installing packages directly via <code class="language-plaintext highlighter-rouge">gem</code>,
|
||||
<code class="language-plaintext highlighter-rouge">pip</code>, etc, but that’s for a whole other discussion. Let me just
|
||||
reference a <a href="https://stackoverflow.com/a/33584893/3285282">brief answer from Stack Overflow</a>.</p>
|
||||
|
||||
<h2 id="internals">Internals</h2>
|
||||
|
||||
<p>Surprisingly enough, the mass rebuild itself wasn’t that
|
||||
challenging. The real work manifested itself as its consequences
|
||||
(unfair queue, slow <code class="language-plaintext highlighter-rouge">createrepo_c</code>, timeouts everywhere). Rebuilding
|
||||
the whole <a href="https://rubygems.org/">RubyGems.org</a> was as easy as:</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<p>Figuring out a way to convert a <a href="https://bundler.io/gemfile.html">Gemfile</a> into
|
||||
<a href="https://rpm-packaging-guide.github.io/#what-is-a-spec-file">spec</a>. Thank you, <a href="https://github.com/fedora-ruby/gem2rpm">gem2rpm</a>!</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Figuring out how to submit a single Gem into Copr. In this case, we
|
||||
have built-in support for <a href="https://github.com/fedora-ruby/gem2rpm">gem2rpm</a> (see
|
||||
<a href="https://docs.pagure.org/copr.copr/user_documentation.html#rubygems">the documentation</a>), therefore it was as easy as
|
||||
<code class="language-plaintext highlighter-rouge">copr-cli buildgem ...</code>. Similarly, we have built-in support for
|
||||
PyPI. For anything else, you would have to utilize the
|
||||
<a href="https://docs.pagure.org/copr.copr/custom_source_method.html#custom-source-method">Custom source method</a> (at least until the support
|
||||
for such tool/service is built into Copr directly).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Iterating over the whole <a href="https://rubygems.org/">RubyGems.org</a> repository and
|
||||
submitting gems one by one. A simple script is more than
|
||||
sufficient, but we utilized <a href="https://github.com/fedora-copr/copr-rebuild-tools">copr-rebuild-tools</a>
|
||||
that I wrote many years ago.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Setting up automatic rebuilds of new Gems. The
|
||||
<a href="https://release-monitoring.org/">release-monitoring.org</a> (aka Anitya) is
|
||||
perfect for that. We <a href="https://pagure.io/copr/copr/blob/main/f/frontend/coprs_frontend/run/check_for_anitya_version_updates.py">check</a> for new
|
||||
<a href="https://rubygems.org/">RubyGems.org</a> updates every hour, and it would be
|
||||
trivial to add support for any other <a href="https://release-monitoring.org/static/docs/user-guide.html#backends">backend</a>.
|
||||
Thanks to Anitya, the repository will always provide the most
|
||||
up-to-date packages.</p>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="takeaway-for-rubygems">Takeaway for RubyGems</h2>
|
||||
|
||||
<p>If you maintain any Gems, please make sure that you have properly set
|
||||
their license. If you develop or maintain any piece of software, for
|
||||
that matter, please make sure it is publicly known under which license
|
||||
it is available.</p>
|
||||
|
||||
<p>Contrary to the common belief, unlicensed software, even though
|
||||
publicly available on <a href="https://github.com/">GitHub</a> or <a href="https://rubygems.org/">RubyGems</a>, is in
|
||||
fact protected by copyright, and therefore cannot be legally used
|
||||
(because a license is needed to grant usage rights). As such,
|
||||
unlicensed software is neither <a href="https://www.gnu.org/philosophy/free-sw.en.html">Free software</a> nor
|
||||
<a href="https://opensource.com/resources/what-open-source">open source</a>, even though technically it can be
|
||||
downloaded and installed by anyone.</p>
|
||||
|
||||
<p>If I could have a wishful message towards <a href="https://rubygems.org/">RubyGems.org</a>
|
||||
maintainers, please consider placing a higher significance on
|
||||
licensing and make it <a href="https://guides.rubygems.org/specification-reference/">required instead of
|
||||
recommended</a>.</p>
|
||||
|
||||
<p>For the reference, here is a list of all 65 206 unlicensed Gems
|
||||
generated by the following script (on Nov 14 2021).
|
||||
https://gist.github.com/FrostyX/e324c667c97ff80d7f145f5c2c936f27#file-rubygems-unlicensed-list</p>
|
||||
|
||||
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">#!/bin/bash</span>
|
||||
<span class="k">for </span>gem <span class="k">in</span> <span class="si">$(</span>gem search <span class="nt">--remote</span> |cut <span class="nt">-d</span> <span class="s2">" "</span> <span class="nt">-f1</span><span class="si">)</span> <span class="p">;</span> <span class="k">do
|
||||
</span><span class="nv">url</span><span class="o">=</span><span class="s2">"https://rubygems.org/api/v1/gems/</span><span class="nv">$gem</span><span class="s2">.json"</span>
|
||||
<span class="nv">metadata</span><span class="o">=</span><span class="si">$(</span>curl <span class="nt">-s</span> <span class="nv">$url</span><span class="si">)</span>
|
||||
<span class="k">if</span> <span class="o">!</span> <span class="nb">echo</span> <span class="nv">$metadata</span> |jq <span class="nt">-e</span> <span class="s1">'.licenses |select(type == "array" and length > 0)'</span><span class="se">\</span>
|
||||
<span class="o">></span>/dev/null<span class="p">;</span> <span class="k">then
|
||||
</span><span class="nb">echo</span> <span class="nv">$metadata</span> |jq <span class="nt">-r</span> <span class="s1">'.name'</span>
|
||||
<span class="k">fi
|
||||
done</span>
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>There are also 3 157 packages that don’t have their license field set
|
||||
on <a href="https://rubygems.org/">RubyGems.org</a> but we were able to parse their license
|
||||
from the sources.
|
||||
https://gist.github.com/FrostyX/e324c667c97ff80d7f145f5c2c936f27#file-rubygems-license-only-in-sources-list</p>
|
||||
|
||||
<h2 id="takeaway-for-dnf">Takeaway for DNF</h2>
|
||||
|
||||
<p>It turns out DNF handles large repositories without any major
|
||||
difficulties. The only inconvenience is how long it takes to create
|
||||
its cache. To reproduce, enable the repository.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>dnf copr enable @rubygems/rubygems
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>And create the cache from scratch. It will take a while (5 minutes for
|
||||
the single repo on my machine).</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>dnf makecache
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>I am not that familiar with DNF internals, so I don’t really know if
|
||||
this is something that can be fixed. But it would certainly be
|
||||
worth exploring if any performance improvements can be done.</p>
|
||||
|
||||
<h2 id="takeaway-for-createrepo_c">Takeaway for createrepo_c</h2>
|
||||
|
||||
<p>We cooperated with <code class="language-plaintext highlighter-rouge">createrepo_c</code> developers on multiple performance
|
||||
improvements in the past, and these days <code class="language-plaintext highlighter-rouge">createrepo_c</code> works
|
||||
perfectly for large repositories. There is nothing crucial left to do,
|
||||
so I would like to briefly describe how to utilize <code class="language-plaintext highlighter-rouge">createrepo_c</code>
|
||||
optimization features instead.</p>
|
||||
|
||||
<p>First <code class="language-plaintext highlighter-rouge">createrepo_c</code> run for a large repo will always be slow, so just
|
||||
get over it. Use the <code class="language-plaintext highlighter-rouge">--workers</code> parameter to specify how many threads
|
||||
should be spawned for reading RPMs. While this brings a significant
|
||||
speedup (and cuts the time to half), the problem is, that even listing
|
||||
a large directory is too expensive. It will take tens of minutes.</p>
|
||||
|
||||
<p>Specify the <code class="language-plaintext highlighter-rouge">--pkglist</code> parameter to let <code class="language-plaintext highlighter-rouge">createrepo_c</code> generate a new
|
||||
file containing the list of all packages in the repository. It will
|
||||
help us to speed up the consecutive <code class="language-plaintext highlighter-rouge">createrepo_c</code> runs. For them,
|
||||
specify also <code class="language-plaintext highlighter-rouge">--update</code>, <code class="language-plaintext highlighter-rouge">--recycle-pkglist</code>, and <code class="language-plaintext highlighter-rouge">--skip-stat</code>. The
|
||||
repository regeneration will take only a couple of seconds
|
||||
(<a href="https://github.com/rpm-software-management/createrepo_c/commit/437451f3bea5430c0a6f678b2a65ebbbbcb12de0">437451f</a>).</p>
|
||||
|
||||
<h2 id="takeaway-for-appstream-builder">Takeaway for appstream-builder</h2>
|
||||
|
||||
<p>On the other hand, <code class="language-plaintext highlighter-rouge">appstream-builder</code> takes more than 20 minutes to
|
||||
finish, and we didn’t find any way to make it run faster. As a
|
||||
(hopefully) temporary solution, we added a possibility to disable
|
||||
<a href="https://www.freedesktop.org/software/appstream/docs/">AppStream</a> metadata generation for a given project
|
||||
(<a href="https://pagure.io/copr/copr/pull-request/742">PR#742</a>), and recommend owners of large projects to do so.</p>
|
||||
|
||||
<p>From the long-term perspective, it may be worth checking out whether
|
||||
there are some possibilities to improve the <code class="language-plaintext highlighter-rouge">appstream-builder</code>
|
||||
performance. If you are interested, see upstream issue
|
||||
<a href="https://github.com/hughsie/appstream-glib/issues/301">#301</a>.</p>
|
||||
|
||||
<h2 id="takeaway-for-copr">Takeaway for Copr</h2>
|
||||
|
||||
<p>The month of September turned into one big stress test, causing Copr
|
||||
to be temporarily incapacitated but helping us provide a better
|
||||
service in the long-term. Because we never had such a big project in
|
||||
the past, we experienced and fixed several issues in the UX and data
|
||||
handling on the frontend and backend. Here are some of them:</p>
|
||||
|
||||
<ul>
|
||||
<li>Due to periodically logging all pending builds, the apache log
|
||||
skyrocketed to 20GB and consumed all available disk space
|
||||
(<a href="https://pagure.io/copr/copr/pull-request/1916">PR#1916</a>).</li>
|
||||
<li>Timeouts when updating project settings (<a href="https://pagure.io/copr/copr/pull-request/1968">PR#1968</a>)</li>
|
||||
<li>Unfair repository locking caused some builds unjustifiably long to
|
||||
be finished (<a href="https://pagure.io/copr/copr/pull-request/1927">PR#1927</a>).</li>
|
||||
<li>We used to delegate pagination to the client to provide a
|
||||
better user experience (and honestly, to avoid implementing it
|
||||
ourselves). This made listing builds and packages in a large project
|
||||
either take a long time or timeout. We switched to backend
|
||||
pagination for projects with more than 10 000 builds/packages
|
||||
(<a href="https://pagure.io/copr/copr/pull-request/1908">PR#1908</a>).</li>
|
||||
<li>People used to scrap the monitor page of their projects but that
|
||||
isn’t an option anymore due to the more conservative pagination
|
||||
implementation. Therefore we added proper support for project
|
||||
monitor into the API and <code class="language-plaintext highlighter-rouge">copr-cli</code> (<a href="https://pagure.io/copr/copr/pull-request/1953">PR#1953</a>).</li>
|
||||
<li>The API call for obtaining all project builds was too slow for large
|
||||
projects. In the case of the <code class="language-plaintext highlighter-rouge">@rubygems/rubygems</code> project, we
|
||||
managed to reduce the required time from around 42 minutes to 13
|
||||
minutes (<a href="https://pagure.io/copr/copr/pull-request/1930">PR#1930</a>).</li>
|
||||
<li>The <code class="language-plaintext highlighter-rouge">copr-cli</code> command for listing all project packages was too slow
|
||||
and didn’t continuously print the output. In the case of the
|
||||
<code class="language-plaintext highlighter-rouge">@rubygems/rubygems</code> project, we reduced its time from around 40
|
||||
minutes to 35 seconds (<a href="https://pagure.io/copr/copr/pull-request/1914">PR#1914</a>).</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="lets-build-more">Let’s build more</h2>
|
||||
|
||||
<p>To achieve such mass rebuild, no special permissions, proprietary
|
||||
tools, or any requirements were necessary. Any user could have done
|
||||
it. In fact, some of them already did.</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://copr.fedorainfracloud.org/coprs/iucar/cran/">iucar/cran</a></li>
|
||||
<li><a href="https://copr.fedorainfracloud.org/coprs/g/python/python3.10/">@python/python3.10</a></li>
|
||||
<li><a href="https://pypi.org/">PyPI</a> rebuild is being worked on by
|
||||
<a href="https://github.com/befeleme">Karolina Surma</a></li>
|
||||
</ul>
|
||||
|
||||
<p>But don’t be fooled, Copr can handle more. Will somebody try
|
||||
<a href="https://www.npmjs.com/">Npm</a>, <a href="https://packagist.org/">Packagist</a>, <a href="https://hackage.haskell.org/">Hackage</a>, <a href="https://www.cpan.org/">CPAN</a>,
|
||||
<a href="https://elpa.gnu.org/">ELPA</a>, etc? Let us know.</p>
|
||||
|
||||
<p>I would suggest starting with <a href="https://docs.pagure.org/copr.copr/user_documentation.html#mass-rebuilds">Copr Mass Rebuilds
|
||||
documentation</a>.</p>
|
|
@ -0,0 +1,2 @@
|
|||
<p>As promised in the last month’s community update Housekeeping section, this is the first part of the cluster’s build log! This mini-series in which I will cover everything about upcoming changes our hosting cluster, and it begins with building a temporary cluster. Let’s start from beginning. When we built the current hosting cluster a year ago, it was made in quite a hurry (some of the services...</p>
|
||||
<p><a href="https://www.pine64.org/2021/09/01/clusters-build-log-moving-to-temporary-cluster/" rel="nofollow">Source</a></p>
|
|
@ -0,0 +1,31 @@
|
|||
<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=Luke+5%3A31-32&version=ESV'>Luke 5:31-32</a></p>
|
||||
|
||||
<p>- <a href='http://www.thebiblerecap.com/tools'>Sign up to receive the Organizational Tools PDF</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></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