Day 1 of the 2024 Old Computer Challenge ------------------------------------------------------------------ ## What is the challenge this year? This year, I'm trying not to use my smartphone for non-phone stuff (though I'm making exceptions for work-stuff, password-manager-stuff, a few notes and listening to the radio as my FM radio is on the blink), in addition to only using the laptop from last year as my computer. ## Why are you starting late? There was some confusion whether the start day of the challenge this year was Friday, Saturday or Sunday. I've chosen Sunday as I was busy with work stuff and didn't have time to prepare. ## Community I've joined the forum (though whether I can keep it working on the laptop is yet to be seen) and I've signed up for the mailing list (which does work, thanks to mutt). Once again, I will be on the IRC channel a bit. => https://bb.deadnet.se/ The Forum for OCC => mailto:~tekk/old-computer-challenge@lists.sr.ht The Mailing List for OCC => irc://irc.libera.chat:6667/#oldcomputerchallenge The #OldComputerChallenge IRC channel on Libera.chat ## Tasks I'd like to get some form of RSS reader working. I've now got Xidel compiled for this thing, so I may be able to hack something together with Shell scripts, like I did for the Fediverse. => https://www.videlibri.de/xidel.html Xidel ## Speaking of which... No, I haven't published my scripts yet, but I still intend to do so. They are still only limited in functionality though. ## Misc Not sure what else to write today. I might add to this if I can get editing working and think of anything else. ## Edit I'm already having to break my rules to check my holiday entitlement as work's HR site requires Javascript... *Sigh* ## Edit 2 OK, I have a proto-Atom reader with very little understanding of XQuery, so this code is awful, but this works with: ``` xidel "an-atom-feed" --extract-file="program.xq" --output-format=html >atomreader.html ``` Where program.xq is: ``` let $c := count(//*:entry) (: for $m in //*:feed :) return ,,
{ for $x at $n in //*:entry let $xc:=( if ($x/*:content != '') then inner-html($x/*:content) else inner-html($x/*:summary) ) let $xt:=inner-html($x/*:title) let $xl:=( if ($x/*:link/@href != '') then $x/*:link/@href else () ) let $xh:=parse-html($xc) return

{$xt}

{parse-html(parse-html($xc))//body/*} Article Back to TOC
}
``` (I hope the code tags stop that from breaking). As you can see, terrible code, but it works at the moment...