<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0"> <channel> <title>Gopher.ICU - Computing</title> <link>gopher://gopher.icu/0/phlog</link> <description></description> <item> <title>Sinclair-ZX-Spectrum-48k</title> <link>gopher://gopher.icu/0/phlog/Computing/Sinclair-ZX-Spectrum-48k.md</link> <description></description> <media:description type="plain"><![CDATA[# Sinclair ZX Spectrum 48k+ ## Child of the 80's Like many children of the 80's my first computer was a Sinclair ZX Spectrum. I spent many hours on it playing games, bought magazines, books and even tried my hand at programming. Programming for me at that time meant typing out long pages of machine code that often resulted in several wasted hours. Rarely did it work... ## The motivation It's been a strange week. Somehow the topic of Z80 computers came up and I started doing a little digging. I actually had no idea, or had forgotten, that the humble ZX Spectrum had a Zilog Z80 processor at its heart. Remembering that I still had one complete Sinclair Spectrum 48k+ and a case in it's original box (from my original Spectrum) in the loft, I felt motivated to do something with them. Sadly a day or two later came the news of Sir Clive Sinclair's passing. The man who had inspired a generation of computer enthusiasts with his accessible home computers was gone. The news both saddened me and strengthened my resolve to bring my Spectrum back to life, as a personal tribute to this great man. ## Bringing it back to life My first task was to get the computer and box out of the loft. To my surprise there was also an original Boots cassette player up there too. Unfortunately on inspection the complete Spectrum wasn't in great shape as it had been left in a damp loft for many years. The case that was inside the box however was just as fresh as the day I put it in there in the late 80's or early 90's. The reason the case was empty was that I had bought a better quality case for it with a PC style keyboard. I cleaned off the main board[1] as best I could and took note of the issue number so that I could order a replacement capacitor kit. After doing some reading up and watching youtube videos detailing the restoration process, I ordered a capacitor kit. This kit[2] included a full set of replacement capacitors, a heatsink for the ULA and a 100uf capacitor to perform a composite mod. While waiting for the kit to arrive I tried to assemble the various bits of Spectrum hardware I had laying around. I managed to find a power-play joystick interface and a Currah Speech interface along with its manual. Unfortunately I couldn't find the PSU or cassette cable... *WARNING* - If you have an old computer such as this, do not attempt to power it up without first changing the capacitors. It is likely they have dried out and are way out of specification. Attempting to power up the system could result in destroying other sensitive electronic components on the board or even a fire. ## Capacitor replacement Replacing the capacitors was a little fiddly but I knew what to expect after watching several youtube videos. I did the composite mod first, then I replaced the capacitors one by one, making sure I replaced each with the correct value and in the correct polarity. The whole process took me an hour or so to complete and I was fairly satisfied with the result[3]. ## Cleaning and reassembly I spent some time cleaning up the edge connector with a fibreglass pen and removing any remaining solder flux. The board was then given a light scrub with contact cleaner. On checking my original case, everything was in good order and just required a light clean inside and out before beginning reassembly[4]. The computer is now back in one piece[5] and awaiting a modern switching PSU to arrive so that I can test the system. ## PSU arrived (20/10/2021) It doesn't work... The power supply arrived about a week ago but I was too disappointed to do anything more with it. The past few days I have been investigating the issue with a multimeter and reading up online. It seems that a common fault with these old spectrums is the lower memory modules become bad, either with age or from other issues that affect the voltages going to the chips. The result is garbled colours on the TV or black & white bands and other vertical lines. ## Lower Memory The lower memory consists of 8 x 4116 chips[6] and requires 3 separate voltages (-5v, +5v and +12v). If any one of the voltages goes too far out of specification it can damage the chips. Having checked all the voltages everything seems to be within specification, so I can only assume they have just expired through age. From what I have read they are quite prone to failure and also becoming increasingly hard to come by. Thankfully there are options to replace the problematic 4116 chips: 1) Purchase an all in one Lower RAM replacement board[7] 2) Use 4164 upper memory modules Both options require removal of all 4116 lower memory chips. ### Lower RAM replacement board The easiest, and cheapest, repair is option 1. The board requires soldering only the necessary legs from the daughter board to function, rather than all 16 legs of every replaced chip. It does however not look pretty, IMHO, so if you are hoping to keep your spectrum looking original then you may want to consider another option. It does use modern chips and a single voltage however, so it should be more energy efficient, generate less heat and be more reliable. ### Use 4164 memory modules Using 4164 chips, which seem to be more robust and available, is an option I considered. Unfortunately it works out more expensive and is quite a bit more work. It would however retain the aesthetic of the original unit. If I had gone this route I would have socketed all the lower memory, so that future replacement would be fairly trivial. The 4164 uses only a +5v feed and so requires some modification to the chips, or the board, to remove the unnecessary voltages and supply +5v to pin 8. I wanted to avoid making many changes to the board and make the changes easily reversible. The 4164 requires no -5v to pin 1. Looking online people have solved this by simply cutting off the leg of the chip, this saves breaking any tracks on the board, but obviously you are damaging the chip and preventing later use for some other application. The +5v to pin 9 can remain in place, but we need to provide a +5v feed to the pins which provided +12v to the 4116 chips. The only neat way I could see of doing this was to cut the 12v supply track somewhere near the positive terminal of capacitor 44[8] of my model 4B board. Then a short bridge wire could be installed between the nearby +5v and previous +12v rail to provide the required power for the chips. *NOTE* - The above 4164 modification is speculative. This modification is untested by me and I have no source proving it would work. ### Removal of 4116s (23/10/2021) Knowing this was going to be tricky, I ordered a good quality solder sucker to make the job a little easier. Even with the premium solder sucker it took me the best part of 3 hours to carefully remove the lower memory[9][10] without damaging the chips. ## Ordered Parts (24/10/2021) Placed order with retroleum.co.uk for: 1) lower memory module 2) switching power regulator 3) mono cassette cable 4) 8x 16 pin IC sockets ## Parts arrived (30/10/2021) I was quite excited to receive the package in the post this morning, so I quickly got all the soldering gear out and set to work. I replaced the power regulator first, followed by the memory module, taking care not to get the legs too hot. Unfortunately, upon testing, there is still a problem. The thick black and white bands have now gone, but the coloured blocks that are alternating background and foreground colour remain. I don't know what the problem is, practically everything has been replaced. The only notable thing is that TR7 is rather hot and there is a quiet wheezing noise coming from the speaker... At this point I have put around 40GBP and 6 hours of my time into restoring it and I'm about all out of enthusiasm to invest any more time or money. ## Ordered Parts (09/11/2021) Placed order with retroleum.co.uk for: 1) 1x 28 pin DIL socket 2) 1x ROM replacement module After emailing Phil at retroleum.co.uk and explaining my continued issues he suggested that it would be best to try identifying the problem with a diagnostics ROM, rather than blindly changing components. For less than 10 pounds, including postage, it seemed like a sensible thing to do. The side benefit of this approach is that the ROM module has a switch and can be programmed with two ROM images. I chose the standard Sinclair 48k ROM and his diagnostics ROM ,so if there is a problem with my original ROM the new one can be left in place. ## Parts arrived (12/11/2021) I took my time desoldering the ROM module and then proceeded to solder in the DIL socket. The DIL socket will allow easy replacement of the ROM in future. Once the socket was installed I fitted the ROM card and connected the board up to a TV and PSU. To my surprise the Sinclair copyright logo appeared! It would seem that the issue was with the original Sinclair ROM. I switched it off and connected up the keyboard but unfortunately only some of the keys worked. At this point I knew the system was working and needed a replacement keyboard membrane. I figured having gone this far I should get one ordered. ## Ordered Keyboard Membrane (24/11/2021) After reading on the retroleum.co.uk website why Phil doesn't supply spectrum + membranes and reading on his blog that he had a good experience with one provided by RAWP. I proceeded to order one from them via sellmyretro.com[11]. Unfortunately not the cheapest option at almost 20 pounds, including shipping. ## Membrane arrived (03/12/2021) I fitted the membrane without issue and on testing all keys functioned as they should, result! I installed the 'ZX Tape Player' app to my android phone and, with the volume turned up to full, managed to load and play a game or two of 1943 & Jetpac. [1](gopher://gopher.icu/I/phlog/Computing/images/spectrum/before.jpg) [2](gopher://gopher.icu/I/phlog/Computing/images/spectrum/refurb-kit.jpg) [3](gopher://gopher.icu/I/phlog/Computing/images/spectrum/after.jpg) [4](gopher://gopher.icu/I/phlog/Computing/images/spectrum/base.jpg) [5](gopher://gopher.icu/I/phlog/Computing/images/spectrum/complete.jpg) [6](https://sinclair.wiki.zxnet.co.uk/wiki/DRAMS) [7](http://retroleum.co.uk/zx-spectrum-chips) [8](https://spectrumforeveryone.com/wp-content/uploads/2017/08/ZXSpectrumIssue3b-Layout.gif) [9](gopher://gopher.icu/I/phlog/Computing/images/spectrum/lower-ram-fr.jpg) [10](gopher://gopher.icu/I/phlog/Computing/images/spectrum/lower-ram-bk.jpg) [11](https://sellmyretro.com)]]></media:description> <pubDate>Tue, 21 Dec 2021 19:06:40 +0100</pubDate> </item> <item> <title>My-next-hardware-project</title> <link>gopher://gopher.icu/0/phlog/Computing/My-next-hardware-project.md</link> <description></description> <media:description type="plain"><![CDATA[# My next hardware project Over time I have collected a lot of old hardware. It was all in working order at some point, but over time batteries and hard disks have died or they have been cannibalised for other projects. ## The contenders ### Unnamed 4U Dual Pentium Pro 200mhz ATX motherboard, 128mb RAM. It will hold standard ATX components and PSU. Possible RAM upper limit of 256mb... I took 128mb out of it for the SGI. ### Compaq Proliant 6U(ish) Dual Pentium Pro 200mhz (with second daughter board to hold another pair), 384mb? RAM, Compaq Smartraid 2 SCSI card with 4x 9.1Gb SCA SCSI disks. The turn-off for me on this is that a lot of it is non-standard form factor. Picture of both systems[2] stacked. ## Parts and thoughts This week I purchased an 8Gb CF card and a CF card to 40 pin IDE adapter with bracket[1]. I had the idea of resurrecting the 4U dual pentium pro, using it with a version of Linux that will run in memory and maybe a separate CF card with FreeDOS on it. I like the idea of them being switchable ROMs of sorts so may include a separate drive of some kind for user data. Today I was talking to someone on IRC who has 3 Proliants and I started thinking that there was a lot more scope for expansion with the Proliant. I can add a lot more memory and a second pair of CPU's. The SCSI sub system could be removed and replaced with something more modern, maybe a pair of SATA drives... I already have a 3ware hardware raid card and a couple of 200Gb SATA drives in hot swap caddies. Now I'm really in a bit of a dilemma! Thankfully there is a democratic way to settle this since I finished the gopher poll system. Cast your vote![3] [1](https://www.ebay.co.uk/itm/364016036247) [2](gopher://gopher.icu/I/files/which-server.jpg) [3](gopher://gopher.icu/1/poll?poll=1676405525)]]></media:description> <pubDate>Tue, 14 Feb 2023 21:34:14 +0100</pubDate> </item> <item> <title>Tokenizer</title> <link>gopher://gopher.icu/0/phlog/Computing/Tokenizer.md</link> <description></description> <media:description type="plain"><![CDATA[# Tokenizer I had the idea after seeing an IRC channel topic asking people to use a pastebin with an example using netcat: `command | nc somepastbin.com 9999` ## Flexibility Initially I thought about just copying the pastebin functionality but then I realised it could easily be used for URL shortening too. The basic premise is to pass some data to the server in return for a token, which can later be exchanged for the stored data. There are a number of options to extend functionality: - Decide how long the data is retained - Count how many times the token is accessed - Limited access tokens (disable/remove the token after X clicks). ## Implementation I wrote a perl module, Token.pm, which handles storing & retrieving of data and token creation. I then created a basic server to listen for data on a specific port which returns a URL containing the token in reply. If the data passed begins with http:// or https:// then it returns a URL which provides a redirect to the URL. Otherwise it returns a URL to view the data as plain text which can either be retrieved with curl or by viewing the URL in a browser: Example: `#echo "This is the cats meow!" | nc MY-IP-ADDRESS 2020` `https://MY-IP-ADDRESS/V/yjOLc2` `#echo "http://google.com" | nc MY-IP-ADDRESS 2020` `https://MY-IP-ADDRESS/R/ztbvx2` The final part was to create a cgi script that would return the data or perform a redirect when viewed in a browser. Ideally this should be hosted on a very short domain name. `#curl -s http://MY-IP-ADDRESS/V/yjOLc2` `This is the cats meow!` ## Status At the moment it works locally, providing URLs for viewing / redirect. It also stores token creation date and counts the number of times it has been accessed. UPDATE 11-12-2020: I have extended the functionality to include viewing with gopher and keeping a count of how many times a token/link is accessed. I also shortened the https:// URL's as much as I could but ideally need a short cheap domain name.]]></media:description> <pubDate>Fri, 11 Dec 2020 19:19:59 +0100</pubDate> </item> <item> <title>kempston-joystick-interface-repair</title> <link>gopher://gopher.icu/0/phlog/Computing/kempston-joystick-interface-repair.md</link> <description></description> <media:description type="plain"><![CDATA[# Kempston Joystick Interface Repair This was part of an Ebay lot. I was actually only interested in the zipstick joystick that was part of the bundle, but seeing as the bundle was less than a zipstick alone. I figured it was worth a punt, even though the items were listed as 'untested'. The interface is an original Kempston Joystick Interface+ in its original box, complete with the instruction card. Unfortunately on plugging it in to my spectrum any game I enabled the kepmston joystick on would steer left and not recognize any other direction, whether a joystick was plugged in or not. I concluded, after reading some articles online[1], there was an issue with the logic IC. The chip is a DM74LS366AN which no longer seems to be produced. i Luckily I managed to find one NOS on Ebay for 2.50 GBP including postage. I have removed the logic chip and prepared the board for the replacement in anticipation of its arrival. Desoldering the IC with a good quality solder sucker and cleaning up with solder wick was straight forward[2]. ## Update 17/12/2021 Chip arrived and soldered in. Unfortunately no change in behaviour so I've ordered a replacement 74LS138N. It's the only other chip on there so I'm hopeful this one will resolve the issue! ## Update 23/12/2021 Chip arrived and soldered in. Again, no change so I'm stumped. One possibility is that, after testing my new game loader which is fitted with a diagnostics ROM, M1 is reporting as being defective on my CPU. From what I understand this is fairly common on zx spectrums and can lead to external devices not functioning or functioning incorrectly. It looks like I will be replacing the z80 CPU in the near future... [1](https://oldmachinery.blogspot.com/2014/01/joysticksnstuff.html) [2](gopher://gopher.icu/I/images/kempston1.jpg)]]></media:description> <pubDate>Thu, 23 Dec 2021 16:47:30 +0100</pubDate> </item> <item> <title>Computer-Input-Devices</title> <link>gopher://gopher.icu/0/phlog/Computing/Computer-Input-Devices.md</link> <description></description> <media:description type="plain"><![CDATA[# Computer input devices Over the past five decades computers have decreased in size and increased in their processing capacity exponentially. Unfortunately our interface with them has changed very little. ## Keyboards and Keymaps The keyboard, our primary means of input, it's offset keys and it's keymap are hangovers from the days of mechanical typewriters. The keymap, designed so that there was minimal chance of the hammers binding with the speed of a competent typist. The offset, due to the bars connecting the keys to the hammers. The qwerty keymap in common use today dates to 1878. Although neither of the above mechanical constrains exist and keymaps have been created, more optimally laid out for many languages. They have not been widely adopted. ## Mice Mice were designed in the 1970's as a secondary input device, but due to their intuitive nature, have come to rival or even take precedent over the keyboard for many tasks. Software has developed that exacerbates this trend by allowing draggable windows and bars. These software concessions make computers easier to access and more intuitive but then the majority of users never progress to learn how to effectively use the keyboard shortcuts. These are grave mistakes in my opinion and causing harm to many, as modern life, for an increasing number of people, requires many hours use of these devices. ## Injury to Health Documented conditions resulting from prolonged computer use: * RSI (Repetitive Strain Injury) to the arms and wrists. * Upper back and neck problems resulting from being in a fixed position for too long or with bad physical alignment. * Eye problems and headaches due to poor monitor refresh rates, brightness or just too long focusing on a fixed position. ## My Personal Journey A number of years after I began using computers for long hours I started to experience pain in my right wrist. This would persist for a while, even after I stopped using the computer. I'm fairly self aware and sought to address the problem on noticing it. Due to the pain being only in my right wrist and noticing it more when using the mouse for extended periods, I first tried switching to using the mouse left handed. Of course, that just moved the problem. I then went through a couple of years trying different trackball designs. Fortunately, by this time, I came to own an IBM thinkad with a Trackpoint mouse. While using it I noticed that I didn't suffer the same pain. After discovering there were USB versions of the Trackpoint keyboard, I bought one to use with my desktop computer. I continued looking for ways to further reduce my symptoms. On reading that a different keymap, more optimized for typing the English language (Dvorak), may reduce some fatigue, I decided to give it a try. After 6 weeks with a piece of paper above my keyboard, so I knew where the keys were, I achived parity with my previous typing ability. From this point on my speed and accuracy increased and I could use the computer for longer with little to no discomfort. ## Conclusion From the above you will notice that the mouse was the primary source of my problems. The wrist is not designed to be in a craned position for extended periods or for micromovements which cause strain to the tendons. Fingers are much better evolved for such fine movement. ### How can we improve our experience? * Ortholinear/Ergonomic Keyboards * Change keymap to one best optimised for your language * Pointing Stick Mouse built into the center of the keyboard * Learn keyboard shortcuts and make effective use of the keyboard I realise that changing keymap is a significant investment in time, but I would say that if you are brave or committed enough to make that investment, you will forever reap the rewards. ]]></media:description> <pubDate>Wed, 04 Aug 2021 08:30:37 +0200</pubDate> </item> <item> <title>Stop-IT-waste</title> <link>gopher://gopher.icu/0/phlog/Computing/Stop-IT-waste.md</link> <description></description> <media:description type="plain"><![CDATA[# Stop IT waste What we buy determines what companies produce and in what quantity. If we buy their products in vast quantities we are telling them that they are producing what we want. Do you really want to buy devices which spy on you or have a pre-planned end of life, likely way before they physically expire? Non replaceable batteries, non upgradable components, time-limited software updates, specialist repair centres, use of low quality materials, all contribute toward an early end to the useful life for our devices. The term for it is planned-obsolescence. 1. The biggest drivers of this ever quickening turnover of hardware are mobile phone and tablet manufacturers. ## Personal experience I unfortunately own two android tablets, one is already obsolete and could only be rescued with a custom firmware. The other is heading the same way, even though it is a high specification tablet, there are no further firmware updates from the manufacturer and gradually apps are requiring newer and newer versions of android to run them. I remember when you bought a piece of hardware and it worked until it physically didn't. Any applications that were installed would continue to function as they did from the day you bought the device. Now it's quite possible for you to turn on your phone or tablet and discover an app crippled by an automatic update because the developer wants you to use something else or they decided to increase the minimum OS version requirement. This recently happened with the play app on my android phone and tablets. A basic feature that I bought the device with, mp3 playing, was suddenly crippled by an update. I couldn't revert back to the previous version, but I could uninstall all updates to return me to the factory installed app. This restored the function, but how many people would have just followed the notice to use youtube music or whatever? These practices are manipulative and fundamentally wrong. ## Reversing the trend My suggestion is for you to understand what you need and find suitable, preferably used, hardware to fulfill that need. There is only one way to signal to companies that you dislike their products, or the direction they are taking with them and that is to not buy them. Older computers are far more upgradeable than new ones and, with the correct choice of operating system, give you far more freedom over its use. For example, a core 2 duo with 2 - 4 Gb RAM will speedily run Linux or one of the BSD's, where as with windows 10 it will struggle. The majority of people can and should work effectively using Linux or one of the BSD's and readily available open source software. There are two reasons I suggest used hardware. The first, is that it sends no signal to the supply chain that there is more demand. The second, from an environmental standpoint, you are using something which has already been made and so making no further impact on the environment. To continue using items as long as you can is a big win for your bank balance and the environment; no new item has to be made and no old item has to be disposed of. ## Living by my principles ### Phone My daily carry is now a Nokia E71. 2. After thinking about what functionality I actually needed and how I'd been let down by various messaging apps (Fring, WhatsApp, Signal ...), I decided upon self hosting an XMPP server and reverting to SMS for contacts without XMPP. Finding an XMPP client for the Nokia took some time but it was worth it to be able to use my data for messaging again. Functions I use: * Calls * SMS * IM (XMPP) * Navigation * Alarm clock * Calendar * Calculator * mp3 player * Camera Possibly I will upgrade to an E72 or Blackberry Classic at some point. ### Computers I have two 4U ATX rackmount cases which I purchased around 15 years ago. The internals have been upgraded several times. One of them ran as a server for 12 years or more, the other has been a desktop. Upgrades have been purchased off Ebay, usually, with some new components like HDD's, drive caddies and PSUs from other sources. The most recent upgrade was to a used core 2 duo motherboard bundle which replaced an ailing dual celeron motherboard which had several leaking capacitors. 3. Foot notes: 1. [Planned Obsolescence](gopher://gopherpedia.com/0/Planned%20obsolescence) 2. [My Nokia E71](gopher://gopher.icu/0/phlog/Computing/Nokia-E71-in-2021.md) 3. I intend to replace the capacitors on the Abit BP6 board. Note: For full disclosure I do still have an android phone which I use at home, without a sim-card, for LINE contacts and Strava.]]></media:description> <pubDate>Fri, 01 Oct 2021 00:22:23 +0200</pubDate> </item> <item> <title>OCC-conclusion</title> <link>gopher://gopher.icu/0/phlog/Computing/OCC-conclusion.md</link> <description></description> <media:description type="plain"><![CDATA[# Old Computer Challenge - conclusion I found that my habits and enjoyment changed considerably during the challenge due to a number of factors. ## Hardware My choice of hardware for the challenge was probably a bad one. Using old systems is one thing, but when you use old uncommon types that probably weren't particularly well supported when they were in common use, then you're in for double the pain. They are usually the first to be abandoned by developers. ## Software The most significant impediment to my being able to use the computer meaningfully was the software. Software rot, not due to the software itself changing or degrading but goal posts change due to external factors. My biggest bugbear was that I couldn't connect to modern websites using SSL/TLS due to the age of the libraries the software was built against. You might think, as I initially did, no problem I will just update the libraries and rebuild the software. Let me tell you, it's really not that simple, neither libressl or openssl would build on this system using the version of gcc and libc that I had. Compilation on such old hardware is also painfully slow, lots of wasted time trying to get stuff to build that ultimately failed. I don't have the knowledge or experience to understand or fix the errors reported by the compiler, that's on me. I found myself falling back to using the tmux session on my usual computer just to use lynx. I hoped I'd only have to do this to download the software libraries to fix the issues on the laptop but it was a futile exercise. If I had started this challenge again I should have at the outset tried to find a more recent operating system for the architecture. NetBSD would probably have been a good choice. NetBSD is a rare gem in that it still supports many of these old architectures which have been left behind by Linux. ## Final thoughts If you decide to do this challenge then do it with as modern OS as you can find. Don't expect to be able to connect to modern webservers with old versions of browsers, wget, curl etc. If you're lucky you will find a few that still have ftp, but non https webservers seem to be becoming more scarce. On the positive side I found myself using the computer a lot less and in a more focused way, because it was a bit of a chore and I didn't have easy access to things like youtube or podcasts. Getting into the habit of switching your computer off is a good thing. I leave my normal computer on 24/7 as it serves gopher, it's too convenient to just sit down and start wasting time. I have a VPS so I'm thinking I will move my gopher service there and also everything I currently run in tmux, so I can attach from any computer that has a terminal application. With a change to my backup strategy I should be able to switch this machine off when I'm not actually using it which will save wasting electricity too. I don't need to be connected to the internet all of the time.]]></media:description> <pubDate>Tue, 28 Mar 2023 14:47:26 +0200</pubDate> </item> <item> <title>Web2Atom</title> <link>gopher://gopher.icu/0/phlog/Computing/Web2Atom.md</link> <description></description> <media:description type="plain"><![CDATA[# web2atom A simple utility for parsing data from a web page with multiple items and making it into an atom feed. Requirements: * Perl Get it: git clone git://gopher.icu/web2atom ## Commandline usage curl -s 'http://greatsite.com' | web2atom -p "great_site" ## Sfeed integration This utility was designed to work with sfeed[1]. To enable this modify ~/.sfeed/sfeedrc to look like the following: ``` feeds() { feed 'Ebay - ZX Spectrum' 'https://www.ebay.co.uk/sch/i.html?_nkw=zx+spectrum&_sop=10&rt=nc&LH_PrefLoc=1' 'ebay_watcher' #feed 'Another great site' 'http://greatsite.com' 'great_site' } parse() { if [ "$3" = "ebay_watcher" ]; then web2atom -p "$3" | sfeed #else if [ "$3" = "great_site" ]; then # web2atom -p "$3" | sfeed else sfeed "$3" fi } ``` The above is a working example. You will of course wish to tailor this for your own purposes. ## web2atom Inside the program you will find a list of profiles: ``` my %profiles = ( 'ebay_watcher' => { itm => '<li class="s-item s-item__pl-on-bottom s-item--watch-at-corner".*?>.*?<\/div><\/div><\/li>', dmap => { ## Default Atom link => 'class=s-item__link href=(.*?)\?.*?>', title => '<h3 class=\"?s-item__title.*?>(?:<span.*?<\/span>)?(.*?)<\/h3>', published => 's-item__listingDate"><span class=BOLD>(.*?)<\/span><\/span>', content => '', ## Custom fields used in applyCustomFormating() price => '<span class=s-item__price>(.*?)<\/span>', postage => '<span class="s-item__shipping s-item__logisticsCost">(.*?) postage<\/span>', buyprice => '<span class=s-item__price>(.*?)<\/span>', buyitnow => '<span class="s-item__dynamic s-item__buyItNowOption">(.*?)<\/span>' } } ); ``` You must create a profile such as 'ebay_watcher' for each site you wish to parse data for. This entry must exist in the program itself and also in the feeds() and parse() functions in ~/.sfeed/sfeedrc as per the example . It is important that the 'itm' regular expression encompasses each item you wish to capture. *note* Setting the DEBUG constant to 1 will be useful while experimenting. Using firefox developer tools to view the html layout of a page and select the containers you're interested in is useful for creating the regular expressions. ## Default fields Treat the 'Default Atom' section as required fields for making a basic atom feed. The content regular expression is left blank as this will be populated later in the script with whatever is matched by the 'itm' regular expression. ## Custom fields The 'Custom fields' are totally optional and allow a great deal of flexibility. You can use the applyCustomFormatting() function to manipulate any of the captured fields. The below example shows how dates can be manipulated and how the title can be amended to include other data: ``` sub applyCustomFormatting { my ($src, @entry) = @_; foreach my $entry (@entry) { if ($src =~ /^ebay/) { # Fix and format date my ($date, $time) = split(/ /, $entry->{'published'}); $date .= qx#echo -n `date +"-%Y"`#; $entry->{'published'} = qx#echo -n `date --date="$date $time" +"%a, %d %b %Y %T %z"`#; # Append stuff to title $entry->{'title'} = "[BID $entry->{'price'} $entry->{'postage'}] - $entry->{'title'}"; if ($entry->{'buyitnow'}) { $entry->{'title'} = "[BUY $entry->{'buyprice'}]$entry->{'title'}"; } } } } ``` [1](https://codemadness.org/sfeed.html)]]></media:description> <pubDate>Thu, 20 Jan 2022 14:58:52 +0100</pubDate> </item> <item> <title>OCC-day2</title> <link>gopher://gopher.icu/0/phlog/Computing/OCC-day2.md</link> <description></description> <media:description type="plain"><![CDATA[# Old Computer Challenge - day 2 ## Hardware issues The G3 Wallstreet is taking several attempts to start OS9 from where I have to launch the Linux boot loader. After several failed attempts with 'bus error' this morning, having to pull the battery and the power lead and try again, I decided to take it to pieces to reseat the ram and CPU. Having done this, I can now report that it's not made a bit of difference. It still refuses to start Linux at the first attempt. I also noticed that Linux isn't recognizing all of the ram. It only sees just over 100Mb when there is 512Mb installed. OSX sees the correct amount of memory but OS9 also only sees 128Mb. I tried adding 'mem=512M to the kernel boot line but it seems to have made no difference. ## Software issues The old software is becoming a bit of a problem in that the world has moved on. Even lynx and w3m text based browsers are refusing to work with some sites, including duckduckgo.com, as they must require a newer version of TLS. Configuration files from my existing system also don't work with the earlier versions of the same software (i3wm). This is proving to be a bit of a pain. I want to search for new libraries and software to download to fix the situation but I can't. Only recently I said "Hardware dies, software just gets forgotten.". However it would seem that if there are external factors, protocols, APIs, software can fail too. ## Thoughts The problem I have is that I'm using a 1998 32bit PPC mac. Most major distros have already left this machine to the digital dumpster, that's if they ever supported it at all. I have to decide whether to try to make do with this aged operating system and upgrade the software that's causing me problems or to try to find a newer OS to install. If the hardware wasn't misbehaving then this wouldn't feel like such a chore, but it really is starting to bother me. All of my daily computing is being done using this as a VT connected to the tmux session on my usual computer at the moment because I'm in this do I / don't I limbo.]]></media:description> <pubDate>Wed, 22 Mar 2023 00:59:18 +0100</pubDate> </item> <item> <title>VPS-vs-Home-hosting</title> <link>gopher://gopher.icu/0/phlog/Computing/VPS-vs-Home-hosting.md</link> <description></description> <media:description type="plain"><![CDATA[# VPS vs Home hosting When I was working commercially in IT I would always shy away from hosted services. You don't know exactly what the infrastructure is, how it's managed, whether the support are complete monkeys (until something goes wrong) or when they are going to put the price up. So many variables outside of your control... Then a couple of years ago I worked out how much it was costing in electricity to power my server and was faced with potential downtime switching to another ISP. ## Living the cloud dream I conceded, and got myself a VPS with A2 hosting. They had decent reviews and the price was very reasonable for an entry level VPS, which was all I needed. I had no issues for a year or more. Then there was a short outage and not much in the way of apology or explanation... Then my VPS became a 'legacy VPS' and they offered new VPS on some other platform that I could move to, but they could not migrate my existing setup. They also took this opportunity to put the price up, probably to encourage me to move so they could decommission whatever infrastructure my VPS was on. Then they had another outage which lasted best part of a day, again no apology or explanation, and nothing I could do but sit by and twiddle my thumbs until it came back online. So basically, now I'm in the position where I'd need to buy another VPS to run in parallel to the one I'm already paying for so I could migrate everything across to avoid an outage... ## Should I stay or should I go? The question now is do I get another VPS or go back to home hosting? I was looking at openbsd.amsterdam[1] at 64 euro per year. That's less than I'm paying now for twice the RAM and over twice the storage. The only issue I ever had with hosting from home is with email, I had to do some weird ssl tunnel before to get my mail out through my ISP's SMTP server. Then there was the maintenance of the physical server. The last one spewed its' capacitor guts all over the place, so it was in dire need of some TLC. But then I'm back in the position where if I switch ISP I'm going to have an outage, if the server dies it's on me to fix it and there's no off site copy of anything... [1](https://openbsd.amsterdam)]]></media:description> <pubDate>Fri, 31 Mar 2023 01:10:32 +0200</pubDate> </item> <item> <title>Compaq-Portable-386</title> <link>gopher://gopher.icu/0/phlog/Computing/Compaq-Portable-386.md</link> <description></description> <media:description type="plain"><![CDATA[# Compaq Portable 386 I saved [1]this computer from being dumped in a skip many years ago after learning of its impending demise on a newsgroup. After I got it home I played with it for a week or so before putting it away. From memory it had DOS and windows 3.11 for workgroups installed. Everything worked, the motherboard battery was OK, so too was the original connor 40mb harddrive. The machine specs were: 6mb Ram 40mb harddrive 5.25 inch floppy ISA expansion box containing: * 10Mbit Network card * Full length soundblaster with a speaker held in place with blutak I removed the small speaker, blutak and soundblaster as it looked a bit of a mess. I still have the soundcard but not the speaker. ## The second inspiration Some years later I fired it up again, I can't remember why. Maybe just to see if it still worked. Unfortunately at this point both the CMOS battery and the harddrive had died. These systems have no BIOS to speak of and need configuring using a utility disk. Luckily I managed to find disk images in both 5.25 and 3.5 format which allowed me to set the time and drive parameters. I had a few old ide drives laying around and managed to find one that would work with the unusual disk numbering system. From memory I installed a 500mb hard drive, but it wasn't recognized as the full volume of the disk. It allowed me to install windows 3.11 again and I remember spending a lot of time trying to find and install a very small linux distro. I used it for a while but quickly tired of having to set the drive parameters using the floppy utility every cold boot. ## Jump forward to 2021 COVID lockdown, boredom, reminiscing about old computers and that they could still be useful. Lets see what I can do with the old girl! Planned fixes and upgrades: * CMOS battery, retrofit with CR2032 battery and carrier. * Install soundblaster card and hidden speakers. * Replace 5.25 floppy with more standard 3.5 (half height full width) * IDE to CF card adapter with CF card as main drive. * Install DOS, windows 3.11 and NetBSD 4.0.1 (last 80386) * [2]Cat5 to WIFI bridge (hidden inside the expansion box) The idea is to get the most out of her without making any structural modifications. No cutting of any of the plastic casings and remain externally original to the period. ## Update 21/01/2021 The CR2032 carrier and batteries arrived over the past couple of days so today, having all the parts, I set to replacing the CMOS battery. The original EAGLE PICHER LTC-16P-CO-F-S3 battery was fitted deep [3]inside the unit requiring removal of the harddrive and floppy assembly for access. This isn't ideal, so I decided to make a new one that was more easily accessible. I had spotted a handy vacant space down next to the psu that looked a perfect size for the battery carrier, with a little padding added to stop it sliding around. After making sure the assembly fitted snuggly in the [4]space, I cut the wires to the required length and refitted the original motherboard connector. The [5]replacement carrier wiring and battery, were checked with a multimeter before final assembly. ## Update 23/01/2021 The past two days are a blur as there have been many obstacles to overcome. I searched the entire house, including the loft space, but I couldn't find the 5.25" system disks anywhere. This meant I had to find the [6]DOS utility program again to create new ones. The 500mb harddrive was in fact only 120mb, so I was far more space constrained than I thought. This meant I had to settle on just installing NetBSD, as I was more likely to use it than either windows 3.11 or DOS. I could always boot DOS from floppy disk for games. ### Creating a utility disk It sounds like a trivial thing to do, apart from I no longer have any 5.25" disks. I managed to find a [7]3.5" disk image, but that needed to be a low density 720k variety which I also nolonger have. After much experimentation with various floppy drives and floppy disks I found that I could fool the drive using an old trick of putting tape over the right hand hole in the floppy and formatting it a particular way. Thankfully I had a USB floppy drive for such emergencies! To format the freshly taped floppy: linux: $ufiformat -f 720 DOS/Windows: format a: /T:80 /N:9 After that writing the disk image was straight forward: linux: $dd if=compaq-720.img of=/dev/<floppy> DOS/Windows: RAWRITE.EXE After practically a day of trying, this allowed me to run the utility to set the date; and then spend several more hours trying to guess the correct hard drive type from the 47 available options... ### Installing NetBSD With only a 120mb (unformatted) hard drive and 6mb of RAM I knew that this would be a challenge. I was not wrong! NetBSD 4.0.1 was the last to support 80386 processors. The minimum requirements were 4mb ram and 50mb hard disk space. Though there is a disclaimer of sorts "we do not know of anyone running with a system quite this minimal today.". I tried, the memory requirement was too high... Going back a little further, to 3.1.1, there is a boot-tiny.fs floppy image which had a GENERIC_TINY kernel. This booted and got me to the installation menu. I proceeded through the install, partitioned the hard disk (manually set the geometry because it was incorrect) and tried to configure the networking but I could not get the network to come up. Eventually I gave up and shut down the machine. Shutting down gave me opportunity to swap out the Kingston KNE2000 for a 3com 3c509. I tried installing again. This time I succeeded in configuring the network card and, with some modification of URL paths due to these old BSD's being archived, I could now install the basic package sets (base, kernel and etc). I finished up the install and rebooted. On booting up it just stopped, as if there was no bootloader installed. I remembered that I had manually altered the drive geometry because it was reading incorrectly from the BIOS. I thought maybe this was the problem so I rebooted to perform the install again, this time leaving the disk as recognized by the BIOS. Unfortunately this reduced the available drive size to around 70mb which was not enough to do the install. I decided to try selecting another drive type using the utility disk to see if I could find one that showed more space when running the installer. The result was much better, with closer to 100mb available without manually changing the disk geometry. I made a swap partition of 12mb (twice the ram) and used the rest for /. I proceeded to install the sets via the network and finished up the install. As I saw the NetBSD boot loader come up on screen and scroll through to a login prompt, I was so happy! My efforts had not been in vain and I had managed to get NetBSD installed on a 386 class computer with only 6mb of ram and in less than 100mb of hard disk space. [8]A success! There is still some tweaking required but I'm happy with how it's gone so far. Now I just need to get a dvorak keymap on there... ## Update 24/1/2020 I modified the network configuration to use DHCP. This required setting dhclient=YES in /etc/rc.conf and modifying the static ifconfig line in /etc/ifconfig.ep0 to read 'media 10baseT'. I discovered during the install that media type is not detected automatically on some older multi-media (BNC, AUI, 10baseT) network cards. The keymap has been a struggle. Aparently the GENERIC_TINY kernel doesn't have wsmux, which would ordinarily link to wskbd. The end fix was 'wsconsctl -f /dev/wskbd0 -k -w encoding=us.dvorak'. I have added the line to /etc/rc.conf for now to set it at boot. ksh needed a .kshrc to make arrow keys and command history work : set -o emacs HOME=/home/<my_user> export HOME HISTFILE=$HOME/.sh_history export HISTFILE While not essential, the above tweaks have made further configuration of the system much more efficient. ## Update 30/1/2021 The CF to IDE adaptor arrived today. I connected everything up and hoped that a CF to SD card adaptor with a 2gb SD card would do for testing. However, the system refuses to boot with the card fitted. I have ordered a 512mb CF card to see if it is the card or the adaptor that is the problem. ## Update 04/2/2021 The 512mb CF card arrived today, so I tested the CF adapter with the new card. After some time spent trying the various drive types I found one that seemed to give me close to the full drive capacity (type 41). After installing DOS it successfully booted from the CF card. Now that I was sure everything was going to work, I could start work to mount the CF adapter. The adapter came only with a steel bracket to mount it into the back of an ATX case. I figured that I could bend and drill the [9]bracket to fit into the drive rails without drilling any extra holes. This worked quite well until the point I realized the power connector was too close to the rail to fit. After some time thinking of a solution, it stuck me that I could unsolder the connector and place it on the back of the adapter which would make it face away from the rail. I was pleased with the [10]final assembly. I then cut one connector off an old HD ribbon cable for a best fit as the original was too short to reach the CF adapter. I then trial fitted and tested the adapter in situ. All was well, so I decided to install Windows 3.11 for workgroups. This was a little tricky as I had to modify the disk images to add support for the Compaq Plasma screen and CGA adapter. This makes the installation more straight forward though as you don't have to install drivers from alternative disks should it need to be reinstalled in future. To complete the retrofit I installed a soundblaster 1.5 that came with the machine and installed prince of persia and lemmings which would allow me to test the card. After making an IRQ jumper change everything worked great. I was quite impressed by the sound from this old card, despite nearly deafening myself when testing it with earphones! I reassembled the unit and gave it a final test by playing a few levels of lemmings with some powered speakers plugged in. The experience took me back to my teens when we had an Amstrad PC1512. ## Conclusion It was nice to have retrofitted the Compaq and have it working again without harming the integrity of the original system. I had ambitions when I started the project about maybe using it myself and installing WIFI and speakers in it. But really it belongs in a museum or with someone who will use it and appreciate it more. That is why I installed DOS and Windows 3.11 rather than NetBSD in the end. I set it up for a new owner rather than for myself as through the process I sadly realized that I would rarely, if ever, use it. 1. [Compaq Portable 386]( gopher://gopherpedia.com/0/Compaq%20Portable%20386 ) 2. [Cat 5 to WIFI bridge]( https://www.amazon.co.uk/Convert-Ethernet-Wireless-Repeater-Multi-Functional/dp/B07PMR673M ) 3. [Original battery location]( gopher://gopher.icu/I/phlog/Computing/images/old-battery.jpg ) 4. [Trial fitting new battery]( gopher://gopher.icu/I/phlog/Computing/images/trial-fit.jpg ) 5. [Finished assembly]( gopher://gopher.icu/I/phlog/Computing/images/new-battery.jpg ) 6. [Utility disk programs (3.5" & 5.25")]( gopher://gopher.icu/9/files/compaq-portable-386-utils.zip ) 7. [3.5" 720k floppy utility disk image]( gopher://gopher.icu/9/files/compaq386-cmosdiskimg.zip ) 8. [NetBSD Installed]( gopher://gopher.icu/I/phlog/Computing/images/install.jpg ) 9. [CF Card Adapter Bracket](gopher://gopher.icu/I/phlog/Computing/images/cf-bracket.jpg ) 10. [CF Assembly](gopher://gopher.icu/I/phlog/Computing/images/cf-assembly.jpg )]]></media:description> <pubDate>Thu, 11 Feb 2021 01:44:31 +0100</pubDate> </item> <item> <title>Gopher-Poll</title> <link>gopher://gopher.icu/0/phlog/Computing/Gopher-Poll.md</link> <description></description> <media:description type="plain"><![CDATA[# Gopher Poll There was a gopher polling system[1] already, which I had used previously with no complaints. Unfortunately when I wanted to create a poll recently it was very slow, seemed to have issues creating the poll and the author didn't reply to my email, so I reverse engineered it. I had a good look at their system, took what I liked about it and changed what I didn't, which has resulted in something quite basic but functional[2]. To anyone who would like to test it or use it, please do and let me have your feedback. The code is available here[3]. [1](gopher://khzae.net/1/poll) [2](gopher://gopher.icu/1/poll) [3](git://gopher.icu/poll)]]></media:description> <pubDate>Sun, 12 Feb 2023 01:09:00 +0100</pubDate> </item> <item> <title>Nokia-E71-in-2021</title> <link>gopher://gopher.icu/0/phlog/Computing/Nokia-E71-in-2021.md</link> <description></description> <media:description type="plain"><![CDATA[# Nokia E71 in 2021 ## Into the darkness Thinking back, the sole reason I stopped using my Nokia E71[1] was due to WhatsApp dropping support for the s60 platform. I had used WhatsApp for many happy years and my dependance on it, for keeping in contact with friends and family, was such that I switched platform to android to continue using it. ## WhatsApp bought by Facebook I have never liked/trusted facebook and so never created an account. News that WhatsApp was being aquired by facebook was a real hammerblow to me and I immediately expected the worst. When the updated terms of service, with an ultimatum to accept data sharing with facebook[2] or else, bomb dropped. I immediately sought an alternative and decided upon Signal. Unfortunately, in spite of my best efforts, my family and friends have continued to use WhatsApp... ## Android Paranoid I know it's spying on me, feeding data back to google at my expense, but I hadn't realized just how much until I looked at the data usage by application. Applications I didn't even use! If I were on an unlimited data plan then maybe I could turn a blind eye to it, but I'm not. Aside from this, there was a recent update to the Play app to cripple it. This was done for no other reason than to force users to youtube music. Fortunately I realized that by uninstalling updates for the app the functionality could be restored. Then the final straw, my contacts disappeared and gave some error about syncing. I have never enabled syncing of my contacts to google... ## Alternatives I looked at alternative options only to find that in modern times you really have only two, iOS or android. If that's not a monopoly I don't know what is. I didn't want to be part of either of those ecosystems so I started looking back in time. Firstly I considered a Blackberry Classic. I had missed the keyboard of the E71. The classic would provide newer hardware with a nice keyboard and a better camera, but I resisted the urge to buy the first reasonably priced one on ebay. In the meantime I decided to put my sim back in the E71. ## Fast forward It has been approximately four weeks since I reverted back to my trusty Nokia E71. This wasn't as much of a shock to me as it would be for many as I don't participate in any social media. The only apps I used with any regularity were Strava, WhatsApp, play (for music) and occasionally Maps for navigation. Since I had already switched to SMS and using Signal after closing my WhatsApp account. For the most part I haven't missed anything, other than the cheap messaging offered by an IM client that uses data rather than SMS which I currently pay 4p per message for. ## Opportunity After the WhatsApp disappointment and then reports of Signal offering digital payments[3] I had already began to think seriously about using an open IM protocol and self hosting. It didn't take long for me to decide upon XMPP, more commonly known as Jabber. Installing the prosody XMPP server[4] was fairly trivial, getting it to work with conversations/blabber on android however, was more tricky. As a client on the E71 I ended up installing 'slick'. It is fairly basic but at least allows me to exchange messages. I believe nimbuzz is more feature complete and will do voice calls too but I have yet to find a download. ## Software Finding software for s60 in the present day is a problem. Thankfully I still had backups of some useful apps: * BirdStep SmartConnect (Connection manager) * Opera Mini (web browsing) * Ovi Maps (navigation) I was actually quite fortunate to get Ovi Maps working again. Although I had the mapping application, I didn't have any of the map data saved and all the servers which hosted them have disappeared. Finding the map data[5] on archve.org and some helpful instructions[6] made my day. A nice bonus was to discover a gopher client[7], all be it written in java. ## Conclusion It's not perfect but then nothing is. I do however feel more confident in the phone. Knowing that the apps installed will continue to function as they always have, that my credit is not being wasted and that data about me is not being collected and used or sold for profit by google. [1](gopher://gopherpedia.com/0/Nokia%20E71) [2](https://www.zdnet.com/article/whatsapp-this-is-what-happens-if-you-dont-accept-our-new-privacy-terms) [3](https://decrypt.co/55422/signal-is-experimenting-with-stellar-based-cryptocurrency-report) [4](coming soon) [5](https://archive.org/download/Nokia_Maps_original_caches_from_Nokia_servers) [6](https://answers.microsoft.com/en-us/mobiledevices/forum/all/newest-nokia-ovi-maps-0125114-manual-download/7f0e8253-ea9b-4d64-9005-a7538dca468c) [7](https://felix.plesoianu.ro/mobile/pocket-gopher)]]></media:description> <pubDate>Sat, 31 Jul 2021 09:13:12 +0200</pubDate> </item> <item> <title>dallas-ds12887-cr2032-battery-mod</title> <link>gopher://gopher.icu/0/phlog/Computing/dallas-ds12887-cr2032-battery-mod.md</link> <description></description> <media:description type="plain"><![CDATA[# Dallas DS12887/DS12C887 CR2032 battery mod The modification is fairly simple but can be done in two ways. When I performed this mod I exposed only pin 20, for the positive feed, and cut a groove into the casing at pin 12, to expose a little of the pin shoulder to solder the negative lead to[1]. Most mods I've seen done have used pins 20 and 16, with the CR2032 battery holder I had it seemed tidier to use pin 12, YMMV. ## Pinout -------- MOT [|1 V 24|] Vcc NC [|2 23|] SQW NC [|3 22|] NC AD0 [|4 21|] RCLR AD1 [|5 20|] NC =========== + AD2 [|6 19|] IRQ AD3 [|7 18|] RESET AD4 [|8 17|] DS AD5 [|9 16|] NC =========== - AD6 [|10 15|] R/W AD7 [|11 14|] AS GND [|12 13|] CS -------- [1](gopher://gopher.icu/I/images/dallas-ds12887-cr2032-battery-mod.jpg)]]></media:description> <pubDate>Thu, 02 Mar 2023 21:46:24 +0100</pubDate> </item> <item> <title>OCC-day1</title> <link>gopher://gopher.icu/0/phlog/Computing/OCC-day1.md</link> <description></description> <media:description type="plain"><![CDATA[# Old Computer Challenge - day 1 Where to begin, things haven't gotten off to a good start! Firstly, the G3 apple wallstreet powerbook I had decided to use for the challenge has been very unreliable to boot. It's OK once booted up, but if I have to restart the machine for some reason I'm getting bus errors. I didn't have this issue the last time I used it so maybe something is suffering a little from old age, maybe some capacitors somewhere? Amazingly the battery still charges! The version of Linux installed is Linux mint 9. It's based on Debian squeeze for which long term support ended back in 2016. All the repos have been archived and I had to mess around with the apt sources.list to get access to the binary packages to install / update software. I did briefly get annoyed to the point that I decided to attempt to use the dual pentium pro computer that I recently got running again. Unfortunately something caused a reboot and it has managed to corrupt the CF card I'm using as a HDD and ruin the NetBSD install that's on there. It also draws 120w, so it was back to the laptop for another attempt, after I'd calmed down from uninstalling network-manager which broke my wifi card configuration ... The version of i3wm in the repos is too old for the configuration from my current system to work, so it seemed like a good opportunity to give ratpoison a try. It's taking a bit of getting used to and I'm missing some kind of status bar at the top. I don't think there is one built into ratpoison so I may have to install some stand alone status bar. ## Software change summary Uninstalled lxde and associated packages. Openbox -> ratpoison lxterminal -> urxvt bash -> mksh Copied over my .mkshrc and .Xresources files.]]></media:description> <pubDate>Tue, 21 Mar 2023 00:48:24 +0100</pubDate> </item> <item> <title>Sabbatical-over-and-permacomputing</title> <link>gopher://gopher.icu/0/phlog/Computing/Sabbatical-over-and-permacomputing.md</link> <description></description> <media:description type="plain"><![CDATA[# Sabbatical Over I'm not sure if anyone actually reads my phlog posts, or cares, but sometimes I think it's just good to put in writing the things that are whirring around in my mind, if for no other reason than to clarify my own thoughts. The end of last year was a bit of a rough time for me and I withdrew from everything, including being online and doing anything computer related, other than checking my email and RSS feeds maybe once a day. Maybe that's just what people should be doing rather than using computers in a non-deliberate and permanently connected way, as a distraction or for entertainment. Is there a difference? ## Permacomputing I've been reading quite a bit on the subject of permacomputing the last few days and have read a number of articles by Solderpunk[1], Viznut[2] and others. Orphans of Netscape[3] really resonated with me as I am one of those orphans. It's strange how there is a growing feeling among people that there is an inevitable shift coming in the availability of electronics and computing that we currently take for granted. No one is really sure what that landscape will look like, but there is a tangible nervousness with people trying to predict and prepare for what is to come. Whatever it is, the change will be far wider reaching than just our personal computing abilities and maybe computers as we use them today will cease to even matter... [1](gopher://zaibatsu.circumlunar.space/1/~solderpunk) [2](http://viznut.fi/texts-en/) [3](gopher://zaibatsu.circumlunar.space/0/%7esolderpunk/phlog/orphans-of-netscape.txt)]]></media:description> <pubDate>Wed, 25 Jan 2023 16:31:23 +0100</pubDate> </item> <item> <title>Quarry</title> <link>gopher://gopher.icu/0/phlog/Computing/Quarry.md</link> <description></description> <media:description type="plain"><![CDATA[# Quarry (indexer, search interface and supporting tools) > A place, cavern, or pit where stones are dug from the earth, or > separated, as by blasting with gunpowder, from a large mass of rock. > Hunted or slaughtered game, or any object of eager pursuit. Quarry contains a number of components: 1. Crawler/indexer (quarry.pl) 2. Gopher search, front end to search index (search.dcgi) 3. Wrapper for quarry.pl to process pending host index requests (indexPending.pl) 4. Sitemap generator (generateSitemap.pl) 5. Host and selector maintenance (checkHosts.pl) Requirements: * Perl * curl * MariaDB/MySQL Try it: gopher://gopher.icu/1/quarry Get it: git clone git://gopher.icu/quarry ## 1. Crawler/indexer The indexer will by default visit every link on a gopher site and store the type, link-title, selector, hostname and port in the 'selectors' table. It will do this only for those types defined in HARVEST_TYPES. The robots.txt standard file format is supported and honoured. A bespoke sitemap file format is also supported and will be used to populate the database if found. There are a number of parameters which can be set at the top of the file to change it's behavior: DEBUG (Default 1) Display verbose status messages. MAX_DEPTH (Default 5) Defines the maximum number of levels of recursion. IGNORE_ROBOTS (Default 0) Ignores robots.txt and any directives therein. IGNORE_SITEMAP (Default 0) Ignores the sitemap and instead indexes the site by recursion. CRAWL_DELAY (Default 2) Default delay in seconds between requests. This parameter is overridden by robots.txt if found. HARVEST_TYPES (Default '10Igs9') Defines the gopher types captured. TRAVERSE_DOMAINS (Default 0) *Best avoided* as sitemap and robots are only parsed for the start domain. It is better to index each host individually and use alternative means of host discovery. REINDEX (Default 0) Removes all selectors for host before re-indexing. Usage: quarry.pl some-gopher-domain.net The port can be optionally specified eg. some-gopher-domain.net:7070. ## 2. Gopher search This provides a font end to the index generated by quarry.pl. Features iclude: * General search * Image search * Sound search * Video search * Submit site to be indexed The current search function is basic and tries to match the search string against the selector or title fields and returns any that match. This will change once metadata is added and implemented in the search. ## 3. Wrapper This program simply looks in the 'pending' database table for hosts submitted to be indexed, via the gopher search front end, and passes them to quarry.pl to be indexed. Usage: indexPending.pl ## 4. Sitemap generator The sitemap generator uses data from the index generated by quarry.pl. The reasons for the sitemap are twofold: 1. Efficiency, downloading a single index file rather than crawling. 2. The format supports additional metadata: * Description * Categories * Keywords These extra metadata fields can be used to greatly enhance search results. Example of records: ``` Type: 1 Selector: /contact.dcgi Host: gopher.icu Port: 70 LinkName: Contact Description: My contact details Categories: Keywords: -------- Type: 1 Selector: /gutenberg Host: gopher.icu Port: 70 LinkName: Gutenberg (unofficial book and audio search interface) Description: Gopher search interface to the official Gutenberg book repository Categories: Books Keywords: Books -------- ``` Usage: generateSitemap.pl some-gopher-domain.net > sitemap.txt ## 5. Host and selector maintenance Only basic host checking has been implemented using 'hostcheck'. Currently the checkHosts.pl script checks each host twice in a 24 hour period. If the host fails two concurrent checks then it is flagged as inactive and selectors will not display in search results. If on a subsequent check the host has recovered then it is again flagged as active. Hostcheck: git clone git://gopher.icu/hostcheck ## 6. IndexNow IndexNow[1] is an easy way for website owners to instantly inform search engines about content changes on their website. It has been implemented in a basic way to allow submission of a single URI per request: curl -s 'gopher://gopher.icu/7/quarry/indexnow.dcgi?url=<MY-URL>&key=<MY-KEY>' [1](https://www.indexnow.org/)]]></media:description> <pubDate>Tue, 15 Feb 2022 23:29:07 +0100</pubDate> </item> <item> <title>OCC-day5</title> <link>gopher://gopher.icu/0/phlog/Computing/OCC-day5.md</link> <description></description> <media:description type="plain"><![CDATA[# Old Computer Challenge - day 5 I gave up trying to update software. For internet stuff I'm using weechat, sfeed, mutt and lynx via my tmux session on my usual machine. I have settled into using ratpoison and urxvt on this apple G3 laptop. The only thing I'm really missing is having a status bar to see battery life and time. I did briefly have a go at using i3status with dzen2 but no text appears in the bar that appears at the top of the screen, so I gave up on it. The time can be seen with 'C-t a' via ratpoison or 'C-b t' in tmux... ## Changing habits Today I have mostly been testing and scrubbing old SCSI hard drives on my Pentium Pro. I have a lot of old hardware which I don't need and requires testing. Seeing as it's now working again I'm making use of it for testing these old components. I have no plans to use SCSI in the future so I'm going to sell them on, hopefully to people who have a need for them to keep their old systems running. This afternoon I mowed the back lawn. I definitely find myself spending less time on the computer without a purpose. Due to not readily being able to waste time browsing Ebay or watching Yewtu.be videos, I guess I have been getting on with things which I've been neglecting. All this has made me realize that the computer I currently have running 24/7 could be switched off over night, and other times too. The only reason it stays on is to backup my VPS and serve gopher. Gopher can be moved onto my VPS and I can figure something out with the backup strategy. With it sat there running all the time there is always the temptation to just sit down and use it. If I had to wait for it to boot up then, unless I really had something to do, I wouldn't bother.]]></media:description> <pubDate>Sat, 25 Mar 2023 00:53:40 +0100</pubDate> </item> <item> <title>Simple-Computing</title> <link>gopher://gopher.icu/0/phlog/Computing/Simple-Computing.md</link> <description></description> <media:description type="plain"><![CDATA[# Simple Computing There appears to be emerging a renaissance in retro computers and retro computing technologies. My own earliest memories of computing are of playing games on my ZX Spectrum 48k and using BBC Model B's at school. In those days both hardware and software were much more simplistic and because of it, more accessible to hobbyists. Over 20 years have passed since I embarked on a career in I.T. and to be honest it was drudgery for the most part. Sometimes I was able to come up with some neat simple solution of my own devising but it was not often I had the freedom to craft something from the ground up. I also spent most of that time contributing to the commercial web for which I now have a lot of resentment. I much prefer tinkering with my old computers, they have character! Unlike the glossy screened featureless rectangles of today's masses. Not because of age, but because of the speed at which computing technology has moved on in my lifetime, I am a dinosaur of the digital age. To me this stuff isn't retro, it's what I grew up with, what I feel at home with and I will do my best to hold onto all that was good. ## Tools to create Every home computer in the 80's came with a built in programming environment and documentation allowing the new owner to extend the system by writing their own programs. A whole generation of game studios and legendary programmers emerged from this perfect storm. Unfortunately as commercial software took off the included tools allowing you to create your own steadily disappeared. In hind sight, if I were at the beginning of my career again, I would have learned C, Lua and POSIX shell. Forth has also recently come to my attention and intrigues me. Interestingly the Jupiter Ace[1] personal computer from the 80's came with a Forth interpreter as opposed to the usual basic interpreter of the time. Operating systems such as Collapse OS and Dusk OS are Forth based. We should be eternally grateful to those who have contributed to free and open source software. They have given us a lifeline from the tyranny of commercial operating systems and development software. I do believe however that much of it is far too complex... ## Plain text There are many text editors and command-line tools designed to work with plain text and this format is truly cross platform. I tend to write all my articles using markdown so that they can be converted easily to other formats which support text attributes like **bold**, _italic_ and headings etc. Although I rarely use anything other than headings and foot notes... I use vim for everything. Choose an editor and learn to use it well, this is your most important tool for working with text. ## Gopher Due to my resentment of the commercial web, and in some attempt to repent, I have become a gopher advocate and contributor. Through providing some small services (Gutenberg Search, Quarry Search Engine, Podcast Search) and writing content unique to gopher I hope to encourage its use and popularity. Gopher has not lost its community feel. Unlike the majority of the WWW, you don't have to look far to find content that has been created because it mattered to the author to share their knowledge or their opinion. ## A consideration To quote Solderpunk[2] "The dominant use of personal computers in the 21st century is the functional simulation of non-computers.". The emulation of analogue devices (clocks, calendars, typewriters, music players ...) and tasks. In response to that I'd simply like to say that it was only after the tools of creation were no longer distributed along with these devices and they lost the primary means of interacting with them in a meaningful way (a real keyboard) that they became devices of consumption. The clue is in the fact that the screen is the most significant part of them. To write software for android it would appear you need to download android studio which runs on what I would consider a real general purpose computer. They are not self contained multi purpose computers like those in the 80's. [1](gopher://gopherpedia.com/0/Jupiter%20Ace) [2](gopher://zaibatsu.circumlunar.space/0/%7esolderpunk/phlog/do-you-even-compute-bro.txt)]]></media:description> <pubDate>Thu, 26 Jan 2023 00:03:42 +0100</pubDate> </item> <item> <title>Unnamed-4U-computer</title> <link>gopher://gopher.icu/0/phlog/Computing/Unnamed-4U-computer.md</link> <description></description> <media:description type="plain"><![CDATA[# Unnamed 4U Computer Ok so only two people voted[1] on which of the two Dual Pentium Pro computers should be my next hardware project and they both voted for this one, so here it is! ## The hardware * Motherboard - ECS P6FX2A (Produced in 1996) * CPU(s) - 2 x Pentium Pro 200mhz (256k Cache) * RAM - 256mb 66mhz EDO (512mb max according to manual) * HDD - 8gb Lexar CF card connected via IDE to CF adaptor * Video - Matrox Millenium 16mb (dual vga output) PCI card * Network - Realtek 8139c 100mbit PCI card * I/O - 4 port USB 2.0 PCI card, IR and USB 1.1 board headers * SCSI - Diamond Fireport 40 PCI card with 9.1gb UW SCSI HDD * Case - Generic black 4U server case On first switching on the machine I was pleased to discover that there was in fact 256mb of RAM installed! Unfortunately the BIOS battery reported as being on its last legs, so that was to be my first job. I have written an article about the CR2032 battery mod[2] to the Dallas RTC chip, so I won't elaborate on that here. On reading the manual I discovered there were headers for both IR and 2 x USB 1.1. Also notable was that the board was capable of taking a maximum of 512mb of RAM. ## Grouch So this machine was unnamed but on thinking about it, the last host name I gave it was 'Grouch', and I'm beginning to remember why! This thing is quirky beyond all quirkiness. It won't boot from CD, gives some error 'AX = FF' after beginning to boot. I can't find a modern linux distro that will get beyond the first stages of trying to boot a kernel, all result in some kind of kernel panic, something about a trampoline??? The last operating system I had successfully run on it was Windows 2000 Pro and from memory I had to install it from floppy! Anyway, after much mucking about downloading and writing various linux iso images to a USB thumbdrive, which I had to initialise using plop[3] from a floppy as the system has no option to boot from USB, I finally got something to work, NetBSD[4] to the rescue! The USB install image worked right off the bat, no dramas at all. ## What to do with it? I have a lot of computer parts which are about the same vintage as this computer so for starters, I will use it as a test bed for those components. I can then have a clear out of things I no longer need and get them listed for sale so they can find new homes with people in need of them. ## Conclusion Its fans roar and its SCSI drive wails as it bursts into life. It's loud, ponderous and ungainly, a relic of the past. I can't help but feel satisfaction having extended the life of this digital dinosaur. As old and slow as it is, it could still manage 90% of my daily computing needs... Old-computer-challenge?[5] I'm feeling a lot of love for the NetBSD folks right now. [1](gopher://gopher.icu/1/poll?poll=1676405525) [2](gopher://gopher.icu/0/phlog/Computing/dallas-ds12887-cr2032-battery-mod.md) [3](https://www.plop.at/en/bootmanager/download.html) [4](https://www.netbsd.org/) [5](https://dataswamp.org/~solene/2021-07-07-old-computer-challenge.html)]]></media:description> <pubDate>Thu, 09 Mar 2023 17:49:19 +0100</pubDate> </item> <item> <title>vimb-web-browser</title> <link>gopher://gopher.icu/0/phlog/Computing/vimb-web-browser.md</link> <description></description> <media:description type="plain"><![CDATA[# Vimb Web Browser I've been a firefox user longer than I can remember, but over recent years it has begun to annoy me with it's user hating interface changes and other negative aspects of the mozilla foundation. This has prompted me to look for an alternative. I'm also a long time vim user and for the past few years have used browser plugins to enable vim like key bindings to control the browser. The experience unfortunately, has always been somewhat lacking. vimb came to my attention due to it being webkit based and also having more integrated vim keybinding control. Building the software was quite straight forward following the instructions on the github page[1]. ## Requirements * gtk+-3.0 * webkit2gtk-4.1 * gst-libav, gst-plugins-good (optional, for media decoding among other things) From memory I think I had to install gstreamer1.0-libav on devuan to get youtube videos to play. ## Getting it to work as x-www-browser Initially my system kept opening firefox when I clicked on links in the terminal. To rectify this on devuan I tried to run update-alternatives --config x-www-browser Unfortunately it didn't detect the browser I'd installed from source as there was no reference to it in the dpkg alternatives which is located here: /var/lib/dpkg/alternatives/x-www-browser After adding an entry for vimb like the following: ``` /usr/local/bin/vimb 70 /usr/local/share/man/man1/vimb.1 ``` I could then successfully run update-alternatives and select vimb to be the new default. ## Conclusion It's taking a little getting used to but I'm starting to really like it. The fact that there are no tabs stops me from leaving lots of tabs open so it's actually changing the way I use the web browser, for the better in my opinion. [1](https://fanglingsu.github.io/vimb)]]></media:description> <pubDate>Wed, 08 Feb 2023 03:24:27 +0100</pubDate> </item> <item> <title>Gutenberg</title> <link>gopher://gopher.icu/0/phlog/Computing/Gutenberg.md</link> <description></description> <media:description type="plain"><![CDATA[# Gutenberg Gutenberg is a fantastic free eBook resource with a truly enormous catalogue of over 60,000 out of copyright and public domain books. Through my gopher browsing I discovered that they still have a [1]gopher server which provides access to the text versions of all books, as well as some audio and video files. What they didn't appear to have was a nice way to search the catalogue using gopher. ## Gopher interface I had been thinking for a while how I could contribute to the gopher revival and this seemed like a logical union. Rather than providing a gopher interface to http resources, here was a gopher resource that was not being fully utilised. I set to work to rectify this situation. ## The index files In the directory listing there are several index files listed by year from 1996 in the format of GUTINDEX.<year>. There is also a GUTINDEX .ALL and GUTINDEX.zip containing a consolidated catalogue listing. I chose this later file to parse and build a searchable index. Parsing the file was not without it's trials, with multibyte charact ers causing me some frustrations. However, perseverence allowed me to get what I needed from the file and build the index. Creating the file path URI's from the book numbers was fairly easy. An example of how to resolve the number to a directory was helpfully given in the README file. Example, book 1190. You split the numbers and each number would be a directory except the last. So /1/1/9/1190 where the book was single digit number you had to begin at zero. So book 9 would be /0/9. ## Gopher menu Initially I tried to link directly to the text files. Unfortunately the naming convention was not consistent and after guessing and programatically trying to verify the existance of the file. I decided to just link to the directory. This was a much cleaner solution. When I noticed there were [2]audio and video files as well I conceded that this was the best option. The end result is a [3]gopher menu which provides a search function that searches the catalogue for matching authors and titles. It also shows the five most recent additions to the catalogue and five most downloaded, with a link at the bottom of each section to list more. ## Update 01/06/2021 - Atom and RSS new book feeds added. After a request on IRC for a feed of newly added books, both [4]Atom and [5]RSS feeds have now been created. The Atom feed can be accessed directly from a link on the front page of the gutenberg interface. 1. [Gutenberg Gopher Server](gopher://dante.pglaf.org/1) 2. These can be searched for by searching 'Audio:' and 'Film:'. 3. [Gutenberg gopher interface](gopher://gopher.icu/1/gutenberg) 4. [Atom new book feed](gopher://gopher.icu/0/gutenberg/newbooks.atom.xml) 5. [RSS new book feed](gopher://gopher.icu/0/gutenberg/newbooks.rss.xml)]]></media:description> <pubDate>Tue, 01 Jun 2021 10:31:25 +0200</pubDate> </item> <item> <title>OCC-day3</title> <link>gopher://gopher.icu/0/phlog/Computing/OCC-day3.md</link> <description></description> <media:description type="plain"><![CDATA[# Old Computer Challenge - day 3 I started the day with the usual unplug, battery out, wifi card out, half a dozen reboots to get linux booted. ## Software rot The day has been consumed by finding and downloading software dependencies and compiling them. This was made doubly difficult by the fact that the reason I'm doing this is because none of the installed web browsers will connect to large number of websites via HTTPS. It's a bit of a chicken and egg situation. Luckily some of the sites I needed to download software from still had ftp servers available. For the ones that didn't I resorted to downloading the source to my normal computer and then using scp to bring them across to the laptop. Needless to say old machines take a lot of time to build code from source, especially large packages like gnutls which have quite a lot of dependencies. I figured if I could update gnutls then I could at least build lynx and maybe a light graphical web browser so I can have some access to modern websites without cheating and using my normal machine in some way. By lunchtime I decided I'd had enough for a while and decided to go out and do some gardening[1]. ## The afternoon Later in the afternoon I got back to it and managed to assemble the remaining software dependencies to build lynx, either from source or binary packages. The first attempt at building lynx resulted in no SSL/TLS in spite of adding the necessary flags to the configure line. ./configure --with-ssl=/usr/local/lib --with-gnutls=/usr/local/lib --enable-gnutls-compat I figured something must have gone wrong with my build of gnutls; sure enough I hadn't enabled openssl compatibility, so I had to rebuild it again. I'm currently waiting for lynx to rebuild, fingers crossed it works this time ... [1](gopher://gopher.icu/0/phlog/Self-sufficiency/230322-Gardening-diary.md)]]></media:description> <pubDate>Thu, 23 Mar 2023 02:50:13 +0100</pubDate> </item> <item> <title>Old-computer-challenge</title> <link>gopher://gopher.icu/0/phlog/Computing/Old-computer-challenge.md</link> <description></description> <media:description type="plain"><![CDATA[# Old computer challenge I feel a little bit of a fraud being in #old-computer-challenge on libera.chat, having never actually done the old computer challenge[1]. So, I will be starting the challenge this coming Monday, 20-03-2023! ## Hardware I have decided to take the challenge on this occasion using an Apple G3 Wallstreet Powerbook[2]. Specifications as follows: * 300mhz G3 Single core processor * 512mb RAM * 60Gb HDD (spinning rust) * CDROM * 14" Screen * 1 mouse button (Surely this alone is a challenge!) ## Operating system Currently it has OSX 10.2 or 10.3 and an old version of Linux Mint. This may well change depending on my annoyance levels ... ## Initial thoughts I will try not to cheat and just use it as a terminal connected to my normal machines' tmux session. This should be an opportunity to test out some alternative software to that I normally use. I hope it still works ... [1](https://dataswamp.org/~solene/2021-07-07-old-computer-challenge.html) [2](https://everymac.com/systems/apple/powerbook_g3/specs/powerbook_g3_292.html)]]></media:description> <pubDate>Thu, 16 Mar 2023 13:37:53 +0100</pubDate> </item> <item> <title>Tablify</title> <link>gopher://gopher.icu/0/phlog/Computing/Tablify.md</link> <description></description> <media:description type="plain"><![CDATA[# Tablify Tablify is a basic utility for creating neatly formatted text tables from a tab/other delimited file. It attempts to right align numeric fields and left aligns all others. ## Options -h Use first line for column headings -s Skip blank lines in file -d Specify alternative delimiter (default is tab) ## Usage user@host:/home/user$ cat stuff.tsv | tablify +-----------+-------+ | Vegetable | Price | | Carrots | 1.00 | | Potatoes | 2.00 | | Onions | 1.00 | | Asparagus | 10.00 | +-----------+-------+ user@host:/home/user$ cat stuff.tsv | tablify -h +-----------+-------+ | Vegetable | Price | +-----------+-------+ | Carrots | 1.00 | | Potatoes | 2.00 | | Onions | 1.00 | | Asparagus | 10.00 | +-----------+-------+ ## Download git clone git://gopher.icu/tablify]]></media:description> <pubDate>Wed, 06 Oct 2021 14:13:05 +0200</pubDate> </item> <item> <title>For-Sale</title> <link>gopher://gopher.icu/0/phlog/Computing/For-Sale.md</link> <description></description> <media:description type="plain"><![CDATA[# For Sale ## Computers ### Compaq Portable 386 This computer[1] has 6Mb RAM, 512Mb HDD, 5 1/4" FDD and comes with the optional expansion box that can house two full size ISA cards. It has been retrofitted with a CR2032 battery for the CMOS and a CF card HDD without making any structural mods. A compatible working 117Mb mechanical HDD is included. It is pre-installed with DOS and windows 3.11 for workgroups. Two none original Compaq 5 1/4" system disks are also included. [1](gopher://gopher.icu/0/phlog/Computing/Compaq-Portable-386.md) Price: 250 GBP ### SGI Indigo 2 This computer has 256Mb RAM, 9.1Gb HDD, GR3 Elan graphics and a 20" CRT monitor. The keyboard, mouse and monitor are all the original granite finish items. It is currently running IRIX 6.5. There is also a 13w3 to VGA adapter to allow for use with a sync on green supporting VGA monitor. Price: ? ### HP N54L microserver Dual core AMD Turion 2.2Ghz processor, 4Gb of ECC RAM, HP 410p 512mb battery backed cache raid card and 2x 2Tb WD Red drives. Has been a great NAS and daily driver but I have downsized. Price: 250 GBP ### Dell sx620 USFF Dual core Pentium D 3.4Ghz, 4Gb RAM, 500Gb HDD and DVDRW. There is a 19" Dell monitor and logitech wireless keyboard with trackpad to go with. Price: 100 GBP ### Apple 12" Powerbook 1.5Ghz, 1.25Gb RAM, superdrive, bluetooth, wifi, 160Gb HDD. Comes with the original box, PSU, connectors and manuals. Battery is totally useless and won't charge. Price: ? ## Components ### SCSI HDD * IBM DNES-309170W 9.1Gb UW 68pin 7200rpm x2 * Seagate ST32430M 2.1Gb 50pin 5411rpm x2 * Seagate (CDC) 94191-15 668Mb 50 pin Full Height * Hot swap 5 1/4 bays for 68pin drives x2 ### SCSI Controller Cards * Diamond Fireport 40 - 50pin and 68pin PCI ## Mobile Phones ### Nokia 8110 (NHE-6BX) with refurbished battery The famous banana phone used in the Matrix (not the actual one) with a refurbished battery[2]. The phone is in good used condition and working order but I suspect locked to O2 and its derivative networks. I will in the next few days verify this. [2](gopher://gopher.icu/0/phlog/Computing/Nokia-BLJ-2-battery-refurb.md) Price: 90 GBP]]></media:description> <pubDate>Sat, 20 Jan 2024 15:19:06 +0100</pubDate> </item> <item> <title>Reduce-and-Simplify</title> <link>gopher://gopher.icu/0/phlog/Computing/Reduce-and-Simplify.md</link> <description></description> <media:description type="plain"><![CDATA[# Reduce and Simplify Over recent years I have gone through phases of consolidation and reduction in all areas of my life and that has inevitably included the hardware and software choices I have made. Consider with care that which you truly would not want to be without and know that it will continue to serve you tomorrow as it did today. ## Hardware considerations Try to buy hardware which adheres to standard form factors, like ATX, and uses common discrete components (not everything on a single board). This gives the largest scope for repairability and sourcing of replacement parts. At one point I had 3 computers running 24/7 eating up electricity. I now just have one computer running 24/7 which serves as my desktop pc, gopher server and NAS. Thinking about it I could probably switch it off over night if I moved the gopher server to my VPS and changed my backup strategy ... If items use batteries, buy ones that use standard cell batteries (AA , AAA, C, D) that are easily replaceable or at least ones that are removable and fairly easy to source (Nokia BP-4L / BL-5C). ## Software ### Operating System I migrated to Devuan linux from Debian because I didn't like the fact that systemd was becoming much more far reaching than just an init system. It was ceasing to be something that was an option and was fast becoming an ever more inextricable part of many linux distributions. This was a simple transition for me as Devuan is Debian based. The primary reason I started using Debian all those years ago was due to its advanced package management system. Void linux was also on my radar when I was looking to move from Debian and systemd as it provides init system options and there is also a Musl library based version. I decided against it as it has its own package management system and I didn't really want to have to learn a new one. I also like and would consider using any of the BSD family of OS, having spent a little time using all of them over the years. pkgin now seems to offer all the functionality of Debians apt package manager. ### Window manager Xfce -> i3wm - I started using a tiling window manager to maximize usable screen real estate and minimise distractions, along with CLI application replacements for any GUI ones that I happened to still be using. I have recently been toying with the idea of giving ratpoison a try. My typical desktop[0]. ### Terminal xterm -> urxvt - Urxvt is a lot smaller in size and has some nice extras. It allows you to configure URI recognition so you can click on URI's in any terminal application to open them. Using this in combination with a plumber program, which decides on the correct application to open them with, makes for a very slick integrated feel: I click on youtube links and it opens them with mpv, I click on gopher links and it opens them in lynx, http and it opens vimb etc. Kudos to __20h__ for the plumber utilities. I use tmux in combination with the terminal application to essentially give myself virtual workspaces with different applications so I can easily switch between them. Also it means I can detach tmux and restart my windowmanager if there's an issue and reattach without having to re-open everything. ### Editor Vim - I use vim for everything and use vim keys to control other applications wherever possible (vimb, ksh, lynx, ...). For years I used vim commercially and without a clue as to its power, not even scratching the surface of its features. A text editor is a vital part of your tool kit, invest the time and learn to use it well. ### Email Thunderbird -> Mutt - It was a coin flip between alpine and mutt. I found a few good tutorials on setting up the mutt config file so after all the time invested in setting it up how I like it, I've stuck with it. ### RSS Newsboat -> sfeed_curses - Brilliant RSS feed reader, kudos to Evil_Bob for such a great piece of software. I use it every day and it saves me from the tyranny of the WWW by bringing content I'm interested in to me. ### WWW + Gopher Firefox -> Lynx/vimb - I find myself using Lynx more and more as it's a great text based browser which also supports Gopher out of the box. All modern graphical web browsers are huge and bloated and there's no way around it. Firefox, I started to have some ethical as well as usability issues with. Fortunately after a bit of searching, keeping in mind my love of vim keys, I discovered a webkit based browser called vimb. For the most part is has been nice to use and has changed the way I browse the web. I no longer leave lots of inactive tabs open. ### IRC Xchat -> weechat ### Music Rhythmbox -> mocp ### Video VLC -> mpv + yt-dlp ## Programming languages Perl was the first programming language I learned, and my general go-to language, but it has quite a large footprint. There are worse options, but I know now that there also lighter alternatives. I will certainly be looking at using Lua in place of Perl for future projects. Although in the meantime I have found myself using shell a lot more for small jobs. I should also put some real effort into improving my C programming as many projects are written using it in the open source world. Forth looks an intriguing, minimalist, low level language, maybe I will dabble with it a bit too at some point. ## Conclusion I hope the above will give some inspiration for those looking to reduce and simplify their hardware and software footprint. If you manage to have a more focused computing experience or get a few more years service out of your existing system from anything I've written then, to me, it's been worthwhile. If you have any suggestions or alternatives to any of the above software, that you think I should take a look at, then please get in touch. [0](gopher://gopher.icu/I/files/desktop.png)]]></media:description> <pubDate>Mon, 13 Mar 2023 18:58:40 +0100</pubDate> </item> <item> <title>OCC-day4</title> <link>gopher://gopher.icu/0/phlog/Computing/OCC-day4.md</link> <description></description> <media:description type="plain"><![CDATA[# Old Computer Challenge - day 4 I've learned my lesson, to avoid spending the first 10 - 15 minutes of the day trying to get linux to boot, I'm now leaving the laptop switched on. The sleep and resume function seems to work well and the battery also amazingly still holds about an hour of run time. ## lynx It still didn't build with gnutls and ssl. I must have tried 10 times now, with various flags and paths, and all I'm doing successfully is cooking my balls! This thing gets hot! ## Distractions I decided to fix the NetBSD install on the Pentium Pro machine and reset the BIOS settings back to optimal in the hope that whatever caused it to reboot last time and hose the installation won't happen again. I've installed xfree and a few other bits and pieces. It's giving me grief over not having termcap for urxvt but that's the least of my worries at the moment. At least the version of lynx on there can access HTTPS websites! I refitted the SCSI card to the Pentium Pro while I was at it and decided to start scrubbing the old SCSI disks I have laying around so I can get rid of them. The first 9.1Gb drive is done and the second one is most of the way through as I write this. Hopefully it will be done soon because I want to go to bed and this thing is pretty loud. From down stairs it sounds like there's a small truck running in my bedroom. On the positive side it has been running all afternoon and not missed a beat. ## lynx pt2 I figured maybe the openssl libs which are installed are too old so I downloaded libressl and tried to compile that. That too fails to build so it's not looking promising I'll get lynx to build any time soon. I tried asking on #lynx on libera.chat but no one answered... ## Thoughts Software dependency rats nests! There's nothing standard about anything, not even the compression tools used to compress the files for download. How on earth package maintainers deal with all this and stay sane, I'll never know!]]></media:description> <pubDate>Fri, 24 Mar 2023 11:37:00 +0100</pubDate> </item> <item> <title>openbsd.amsterdam-vps</title> <link>gopher://gopher.icu/0/phlog/Computing/openbsd.amsterdam-vps.md</link> <description></description> <media:description type="plain"><![CDATA[# OpenBSD.Amsterdam VPS So I did it, purchased another VPS and decided to commit to a year with openbsd.amsterdam. So far I have not been disappointed, the VM was set up during a holiday! I get regular emails about planned updates or service additions, nothing trying to sell me anything. I'm very happy so far. ## Server Migration If you have read my previous post you would know that I already had a Linux VPS with A2 hosting. I expected there to be some snags moving to openbsd but some of them I really wasn't expecting. Many of my shell scripts would not work without significant modifications, even though I used mksh on Linux. Many of the problems were due to GNU extensions to base utilities like sed, awk, date that I'd inadvertantly used. I got so fed up at one point that I installed gawk just to have inline file modification. Firstly I moved my gopher hole and all associated software, there was a lot more than I realised.. I then moved my git repositories and set up git. This transferred everything I was hosting from home which has allowed me to start shutting down my desktop computer at night and hopefully save a little on the electricity bill. Next I moved my static business website and domain, while leaving the email where it was. I then copied across the remaining websites, which included a MediaWiki and Wordpress sites. After that I dumped the databases and copied those across too. Getting the websites to work was a little more involved than I thought. Webservers on OpenBSD (openhttpd and nginx) both run inside a chroot. Due to the way partitions are assigned on the VM /var doesn't have much space so I wanted to put the websites on the home partition. In order to achieve this I had to change quite a few paths , including that of the php-fpm.sock. It proved to be a bit of a faff but I got there in the end. Also the database wouldn't connect on localhost but for some reason worked on 127.0.0.1. After I got the first site working I, one by one, changed the DNS to point the domain names to the IP address of the new server. During this process I set up nsd, which is the OpenBSD domain name server. I had been meaning to host my own DNS again after I had some issues transferring my business domain. On transferring the domain from my previous registrar I had to wait and didn't know when it would happen exactly. When the domain did finally transfer none of the zone information was carried across, resulting in a short outage. It wasn't the first time I'd had problems like this and I didn't want that happening again so now I'm hosting it again myself. All that remains now is to move my email, which I have been procrastinating over because the last time I did it, things didn't go so well...]]></media:description> <pubDate>Mon, 15 May 2023 00:42:47 +0200</pubDate> </item> <item> <title>kindle-offline</title> <link>gopher://gopher.icu/0/phlog/Computing/kindle-offline.md</link> <description></description> <media:description type="plain"><![CDATA[# Kindle Offline ## Privacy I highly recommend switching off 'whispersync for books' and amending the 'Privacy' settings of your device. Better still don't connect it to your WIFI... ## Connect to Linux Connect your kindle to your computer with a USB cable; the device should display 'USB Drive Mode'. Identify the kindle drive using 'dmesg': [ 4802.467725] scsi 7:0:0:0: Direct-Access Kindle Internal [ 4802.468745] sd 7:0:0:0: Attached scsi generic sg2 type 0 [ 4802.473757] sd 7:0:0:0: [sdb] 6385664 512-byte logical blocks: [ 4802.579692] sd 7:0:0:0: [sdb] Write Protect is off [ 4802.579705] sd 7:0:0:0: [sdb] Mode Sense: 0f 00 00 00 [ 4802.689915] sd 7:0:0:0: [sdb] Write cache: enabled, read [ 4802.924022] sdb: sdb1 [ 4803.169675] sd 7:0:0:0: [sdb] Attached SCSI removable disk Find the UUID of the device: # blkid /dev/sdb1 /dev/sdb1: LABEL_FATBOOT="Kindle" LABEL="Kindle" UUID="####-####" BLOCK_SIZE="512" TYPE="vfat" Add UUID to '/etc/fstab': # Kindle UUID='####-####' /mnt/kindle auto user,noauto,nodev 0 0 Make directory on the filesystem to mount it to: # mkdir /mnt/kindle Mount the kindle: $ mount /mnt/kindle You can now copy books in .txt or .mobi format directly to the device; simply copy your files to '/mnt/kindle/documents'. Unmount the device before disconnecting the USB cable: $ umount /mnt/kindle ## Get free books from Gutenberg I have written a small utility[1] for getting books of the correct format onto your kindle once mounted using the above instructions. There is also a daily updated RSS feed[2] of newly added books to the Gutenberg catalogue which can provide the book number for use with the above utility. Just take the last number from the resource URI: gopher://gopher.pglaf.org/1/6/7/6/5/67650 And execute the following command, after installing the utility. $ getGutenbergBook 67650 [1](git://gopher.icu/gutenbergToKindle) [2](gopher://gopher.icu/0/gutenberg/newbooks.atom.xml)]]></media:description> <pubDate>Fri, 26 May 2023 19:32:14 +0200</pubDate> </item> <item> <title>Usenet</title> <link>gopher://gopher.icu/0/phlog/Computing/Usenet.md</link> <description></description> <media:description type="plain"><![CDATA[# Usenet My earliest memories of using the internet date to around the mid 90's. Back then I was on dial-up, like the majority of people who had any personal internet access. The multitude of giant internet and social media companies were in their infancy and if you wanted to communicate with people regarding some subject, you would either do it through IRC or Usenet news groups. ## 90's Dial-up era In the dial-up era, every ISP used to provide news servers along with email servers for their customers. There were newsgroups on practically every subject and they were very active. I got my first IT job through a posting on a newsgroup, I also bought and aquired computers and other hardware through them. Then Yahoo auctions and shortly after Ebay came to the fore as places to buy and sell. Myspace became a thing and everyone started making a personal website... I don't really know how or why, but newsgroups dropped off my radar entirely as everything seemed to be made accessible via the WWW. ## Escaping 2020's WWW monoculture Today everything is provided via the WWW or some app, everything has converged to that advert, popup, javascript infested mess and mass of sponsored content designed to keep you engaged and feeding your data back to the mega-corporations. In the beginning there were numerous competing and complementary protocols. NNTP (network news transfer protocol), gopher, WAIS, HTTP, FTP, finger, telnet, SMTP, POP, IMAP... Few are those who actually use them natively any more. I had already decided I wanted out. I was already partly out due to my adoption of RSS, gopher and return to IRC, but there had to be a way of further removing myself. What was it that I did before the boom of the WWW? Newsgroups, that's where I used to engage with people on things that I was interested in, or when I needed to know something that I couldn't find an answer to... ## Usenet - I'm BACK! Firstly no ISP's today seem to provide news servers. If you do manage to find a free provider, they are few and far between and will probably not offer the binary groups as this requires so much more storage and bandwidth. www.eternal-september.org are one of the few remaining free usenet access providers. Kudos to them for providing free accounts for people to access this resource. After registering for an account I looked for a CLI application to subscribe to and read the groups. slrn is a common one I believe, but on initial usage I couldn't get to grips with it. I ended up installing tin, which somehow seemed more intuitive. I managed to subscribe to a few groups, some that I remember from years past and a few new ones that more reflect my current interests. I decided to send a message to eternal-september.test, to make sure everything was as it should be, entitled 'Usenet - I'm BACK!'. To my great surprise I got replies! I had the feeling of stumbling into some hermitage where the inhabitants were only too happy to have visitors! My initial happiness unfortunately was all too quickly replaced by a feeling of melancholy at the dates of some of the last posts. Some were years previous, others had maybe one or two posts, that weren't spam, within the last 12 months. I found myself replying to old posts or posts I normally wouldn't just to generate a bit of traffic and let people know there were others still out there too. Usenet was a great resource and can be again. Get yourselves a free account[1] and reclaim it before it is lost forever. [1](gopher://bitreich.org/1/lawn/c/newsgroups.gph)]]></media:description> <pubDate>Wed, 14 Jun 2023 12:52:09 +0200</pubDate> </item> <item> <title>IRCNow</title> <link>gopher://gopher.icu/0/phlog/Computing/IRCNow.md</link> <description></description> <media:description type="plain"><![CDATA[# IRCNow ## Of the Users, By the Users, For the Users I first became aware of IRCNow through a talk Aaron Lin (jrmu) gave during Libreplanet 2022[1]. I was enticed by both the will to create an open user run network and also the opportunity to learn more about OpenBSD. At the time I was in the process of looking for another VPS provider and considering moving to openbsd.amsterdam. It appeared to be a great match for me. ## Joining the team To cut a long story short I joined their IRC network and introduced myself to jrmu. We talked for a while and he set up a VPS for me to do their minutemin training programme. It took me a while as I had other things going on in the background but eventually I completed the majority of the training and teams were asked if they wanted someone to join their team. I ended up being invited to join team nastycode[2]. ## The network There are 13 servers that should have a team assigned to each. Why 13 you may ask? It was a little while before I learned that it was because there were 13 founding states of the USA... Having 13 servers is actually a bit of a hindrance both technically, as you obviously need enough staff to man them, and financially. My objections to this have thus far fell upon deaf ears and partly due to lack of human resources we have issues with something or other on an almost daily basis. The servers are a federation, each team has control of their own server, runs their own choice of services and the only thing that really joins us all together is IRC. I get along with most of the other admins but seem to have gained the AKA of IronJ for my spirited arguments with the ones I don't. ## Team server (nastycode.com) When I joined, the disk usage of the server I am now sysadmin of was 105% on /home and 90% on /var. I didn't actually know it was possible to go beyond 100%. The disk was so full I couldn't actually delete large files and had to whittle away at things that looked safe to delete until the machine started to respond more normally. I found a lot of problems: expired SSL certificates, wrong permissions on directories that were part of the mail systems filesystem, backups in peoples home directories, which were also backed up when /home was backed up. Frankly it was a mess and not what I'd signed up for. I expected to be a junior and have someone to help and guide me with looking after the server but as it turned out I was pretty much left to my own devices for 2 days before another sysadmin appeared. To be fair though jrmu has been really good in helping out when I've needed assistance and between us we got most of the critical outstanding issues resolved pretty quickly. ## Progress I've ironed out a lot of the niggles on the server. A lot of the routine stuff is now automated to keep log file sizes sensible and certificates updated. Things have gotten better this past week. We have a new team member, gtlsgamr. He is admin of tildevarsh.in[3], a pubnix system in India. He was initially coerced by jrmu into helping out with creating a new wiki for IRCNow but he seemed keen to join a team. Based on the work I'd seen him do up to that point, I was more than happy to have him join ours. We had already talked quite a bit when discussing the wiki so he was aware of my stance on minimal software and complexity. This has resulted in us building our own team wiki and website more in line with our own philosophy; a git repository of markdown files and a static site generator (mkdocs[4]). ## Join us! There's never a dull moment over at IRCNow.org, if you're an admin anyway... Come and join us to chat[5] or maybe even do the Minutemin Bootcamp[6] training; learn how to admin OpenBSD and join one of the teams! [1](https://media.libreplanet.org/u/libreplanet/m/ircnow-of-the-users-by-the-users-for-the-users/) [2](https://nastycode.com) [3](https://tildevarsh.in) [4](https://www.mkdocs.org) [5](ircs://irc.nastycode.com:6697) [6](https://wiki.ircnow.org/index.php?n=Minutemin.Bootcamp)]]></media:description> <pubDate>Fri, 16 Jun 2023 23:58:01 +0200</pubDate> </item> <item> <title>Ode-to-Gopher</title> <link>gopher://gopher.icu/0/phlog/Computing/Ode-to-Gopher.md</link> <description></description> <media:description type="plain"><![CDATA[# Ode to Gopher Like many others who's phlogs I have discovered in the gophersphere. I am frustrated with what the web has become. I remember the days before broadband and rich media, where text was king and the signal-to-noise ratio was much greater. Let us return to those naive days of discovery and wonderment! Long live gopher!]]></media:description> <pubDate>Mon, 19 Jun 2023 20:07:56 +0200</pubDate> </item> <item> <title>IRCNow-update</title> <link>gopher://gopher.icu/0/phlog/Computing/IRCNow-update.md</link> <description></description> <media:description type="plain"><![CDATA[# IRCNow update ## All good things must come to an end After several weeks/months of fighting with uninformed hobby hackers I finally decided it was a futile effort and to call it a day; I resigned. I could go on about all the problems at IRCNow and who was to blame for what, but it would do no good whatever. The idea is sound, if it wasn't I wouldn't have put the time and effort into it that I did for as long as I did. But there are always those in any group that feel threatened and band together to obstruct the 'movers'[1]. [1](gopher://morena.rip/020230618)]]></media:description> <pubDate>Tue, 20 Jun 2023 23:50:18 +0200</pubDate> </item> <item> <title>Thinkpads</title> <link>gopher://gopher.icu/0/phlog/Computing/Thinkpads.md</link> <description></description> <media:description type="plain"><![CDATA[# Thinkpads My personal history with IBM Thinkpads goes back a long way. I am a serial Thinkpad owner, my first Thinkpad was a 760ED, followed a while after by a 560 (I loved this machine) that got stolen and then the R31 that replaced it. ## My previous Thinkpads I loved the modularity of the 760ED and the ultra-portability of the 560. Unfortunately the R31, although far superior in performance, was a bit of a letdown. After the R31 I lost my way and in 2005 ended up purchasing a 12" apple powerbook... ## The return Of late my tastes have been somewhat retro with regard to hardware and my love of Thinkpads has never gone away, I even use a Thinkpad USB Trackpoint keyboard on my desktop computers! I had already decided in my mind that I would keep an eye out for a vintage, yet usable, example if one should present itself. Candidates were x200 or x61. The x61 reminded me so much of my second love, the 560. With its square format screen it had the perfect retro aesthetic and was of enough age that it still appeared to have that genuine IBM quality that has all but been lost since their aquisition by Lenovo. With a dual core processor and maximum ram capacity of 8gb I was pretty sure it could easily meet my meagre mobile computational needs. I had happened to mention my Thinkpad preference in passing on #gopherproject and as sometimes rarely happens, the stars aligned. One of the regulars, lumidify, happened to have an x61s that he didn't need, which required a battery and harddrive but was otherwise in good condition and working order. He offered to send me the laptop and I couldn't refuse. A couple of days later he notified me that the package was in the post and with that I identified a fast 120Gb SSD (Samsung 850 Evo) and bought the cheapest second hand one I could find on Ebay. ## Package arrives I had been waiting in anticipation for the arrival of the laptop and soon enough there was a knock at the door. I was initially surprised that I wasn't asked to pay some import tax on the package before it was handed over. But once the door was closed my attention was fully on what was inside the box. It had been well packaged, as I'd hoped, and the charger brick and cable kept separate from the laptop so nothing got bashed together in transit. Taking a first look at it, I was amazed how small it seemed, was this really a 12" screen? It was so slim and light, it reminded me so much of my 560 that it was love at first sight... ## First inspection On opening the screen I could see that it was a bit dirty, especially around the bezel so I got out the foam cleaner, some clean cloths and a fine boar bristle brush. I first cleaned the power brick, as I'd been told it was a bit smelly as it had been owned by a smoker. I gave the cable and plastic housing a thorough clean with the foam cleaner and cloth. I turned my attention to the x61s itself, first cleaning the exterior and then opening it up to thoroughly clean the screen, bezel and then keyboard. And there it was, a few scars telling of it's road warrior life but you could tell that it had been cared for and not abused by its former keeper. ## Spirit of the machine Machines like this deserve care and respect. Treated well they will serve you for decades, if you don't get caught up in stupid fads of the web and corporate software... OpenBSD and I will be its new companions, hopefully for many years into the future. ]]></media:description> <pubDate>Wed, 21 Jun 2023 13:45:18 +0200</pubDate> </item> <item> <title>Advent-of-Computing</title> <link>gopher://gopher.icu/0/phlog/Computing/Advent-of-Computing.md</link> <description></description> <media:description type="plain"><![CDATA[# Advent of Computing I don't usually go out of my way to promote something unless it is truly worthy of note, but recently I have been really enjoying this podcast[1]. It is well produced and full to the brim with geeky informative goodness; a must for any retro computing enthusiast! [1](https://adventofcomputing.libsyn.com/rss)]]></media:description> <pubDate>Fri, 23 Jun 2023 17:34:55 +0200</pubDate> </item> <item> <title>The-Ascetic</title> <link>gopher://gopher.icu/0/phlog/Computing/The-Ascetic.md</link> <description></description> <media:description type="plain"><![CDATA[## The beginner Adopter, adherent, consumer and proliferator of all new things. The novice is easily lead to new fads in all things tech. ## The intermediate More cautious, the process of discernment begins to arise. Merits and weaknesses of all things are weighed. ## The ascetic Only that which is needed is created, the superfluous is discarded. Nothing but that which serves remains. ]]></media:description> <pubDate>Sat, 24 Jun 2023 21:33:18 +0200</pubDate> </item> <item> <title>OCC-July-2023-Prep</title> <link>gopher://gopher.icu/0/phlog/Computing/OCC-July-2023-Prep.md</link> <description></description> <media:description type="plain"><![CDATA[# OCC July 2023 - Preparation The last time I did this challenge I did it with practically no preparation. I just made sure the machine I had intended to use actually switched on the previous day. On that occasion[1] I quickly realized that this lack of preparation had been a huge mistake and so was keen to avoid the same suffering I had during the last challenge. ## My champion I intend to do this challenge using a somewhat revised configuration of 'Grouch'[2]. This is a 1996 dual pentium pro 200Mhz system with 256Mb of RAM and an 8Gb CF card as the HDD; I will likely add a soundblaster ISA card. The operating system is currently a fairly bare install of NetBSD. This will change throughout the challenge as I try to construct a workable environment for my computing needs around the limitations of the hardware. ## What's the point? The point of my participation is two fold: 1) Proving actual old hardware can still provide the majority of every day needs. 2) Maybe the hardware limitations will force me to some software choices and solutions that I hadn't before considered. [1](gopher://gopher.icu/0/phlog/Computing/OCC-conclusion.md) [2](gopher://gopher.icu:70/0/phlog/Computing/Unnamed-4U-computer.md)]]></media:description> <pubDate>Wed, 28 Jun 2023 14:27:32 +0200</pubDate> </item> <item> <title>Smart-terminal-not-client</title> <link>gopher://gopher.icu/0/phlog/Computing/Smart-terminal-not-client.md</link> <description></description> <media:description type="plain"><![CDATA[# Smart Terminal - not client For some time I have been using what is referred to as a plumber program. This is a program which decides which application to open a file with based on its URI type and file extension. For example gopher:// links open in my chosen gopher client, http:// links in my chosen web browser, image files in my chosen image viewer etc... Used in combination with a terminal application which supports URI matching, like URXVT, it has effectively given me the ability to open links in any terminal application. This also has the added benefit of making ordinary text files into interactive documents[2]. ## Putting it together 1) Download and install the plumber[1] program. 2) For URXVT add the following to your ~.Xresources file: URxvt.perl-ext-common: default,matcher URxvt.matcher.button: 2 URxvt.matcher.launcher: p $0 URxvt.matcher.pattern.1: \b(\w+\:\/\/\S+)\b URxvt.matcher.launcher.1: p $1 URxvt.keysym.Mod1-Shift-M: perl:matcher:list Line 4 above adds matching of any URI to URXVT. Line 5 passes the matched URI in $1 to p which is a symlink to the plumb script. Button 2 is middle click and can be used to click on links to cause them to open using the plumber; alternatively you can use alt+shift+m to display a numeric menu of links that can be selected by pressing the respective number of the link. ## Update 12/07/2023 I had written a few patches for the plumber in the past but after this last install I wasn't particularly happy with calls to unknown programs being hidden away in the opener files. In an attempt to improve this I wrote a patch to require specifying the more common programs as environment variables. .xsession: ... # plumber programs export XTERM='urxvtc' export PLUMB_IMAGE='feh -F --auto-rotate' export PLUMB_MEDIA='mpv' export PLUMB_GOPHER='gopher' export PLUMB_TXTGOPHER='gopher' export PLUMB_PDF='xpdf' export PLUMB_FILEMANAGER='ranger' export PLUMB_WEB='lynx' export PLUMB_TXTWEB='lynx' ... [1](git://r-36.net/plumber) [2](gopher://gopher.icu/I/images/interactive.png)]]></media:description> <pubDate>Thu, 13 Jul 2023 11:26:11 +0200</pubDate> </item> <item> <title>grouch-occ-prep</title> <link>gopher://gopher.icu/0/phlog/Computing/grouch-occ-prep.md</link> <description></description> <media:description type="plain"><![CDATA[# Grouch OCC prep ## Hardware Grouch[1] with the following additional hardware: IDE * 8Gb CF card with IDE to CF adapter (found to be faulty so added PCI SCSI controller and SCSI HDD) PCI * Matrox Millenium G450 GFX (replaced with Nvidia GeForce FX 5200) * Realtek 8139C generic 10/100NIC (replaced with Netgear 10/100) * Belkin USB 2.0 card (USB header on motherboard doesn't work) * SCSI controller (added after CF card found to be faulty) ISA * Soundblaster AWE 64 ISA sound card (removed as caused hang in X) ## Software * vim * ratpoison * urxvt (missing terminfo on NetBSD) * gopher (crashes in X on OpenBSD) * lynx (SSL error: unable to get local issuer cert .. NetBSD) * mpg123 (never used this befoe but moc looks ugly out of the box) * git * mutt (compiled without sidebar on NetBSD) * xnotify ## Software configuration and optimisations ### Fixed size fonts This may sound bizarre but it was actually the biggest single usability improvement I made. When I installed X it seemed usable but after I copied my .Xresources file over from my other system, which included xft:dejavu sans mono with antialias things really did start to chug and I didn't realize the issue straight away so persevered with it. That was until I was chatting on IRC and the annoyance of watching each line shuffling up the screen like a caterpillar became too much to bear! .Xresources URxvt.termName: rxvt URxvt.cursorUnderline: false URxvt.cursorBlink: true URxvt.font: x:9x15,xft:FontAwesome:style=Regular URxvt.boltFont: x:9x15B,xft:FontAwesome:style=Bold URxvt.scrollBar: false ! map ctrl+shift+c/ctrl+shift+v to copy/paste URxvt.keysym.Shift-Control-V: eval:paste_clipboard URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard URxvt.perl-ext-common: default,matcher URxvt.matcher.button: 2 URxvt.matcher.launcher: pj $0 URxvt.matcher.pattern.1: \b(gophers?\:\/\/\S+)\b URxvt.matcher.launcher.1: pj $1 URxvt.keysym.Mod1-Shift-M: perl:matcher:list ### urxvt in daemon mode (urxvtd + urxvtc) This improves the speed of launching new terminal instances maybe at the expense of stability, not that I have noticed any issues. To facilitate this I started the daemon in .xinitrc and then exited it again with a hook in .ratpoisonrc. As long as you :quit ratpoison properly then it will kill urxvtd. .xsession: xrdb ~/.Xresources setxkbmap -option caps:escape urxvtd & ratpoison I was a bit annoyed that I had to specify the keymap again after setting it up during the NetBSD install. On OpenBSD it works correctly for both terminal and x. Also terminfo was not configured for urxvt and I had weird colour issues that I didn't have on OpenBSD , even after following the recommendation to 'export TERM=rxvt'. .ratpoisonrc: bind c exec /usr/pkg/bin/urxvtc addhook quit exec pkill urxvtd set fgcolor orange set bgcolor black set barinpadding 1 set padding 0 20 0 0 set msgwait 0 set startupmessage 0 set winliststyle row ## Conclusion There are annoyances with both NetBSD and OpenBSD. OpenBSD: 1) Really slow bootup due to relinking (fixed by modifying /var/db/kernel.SHA456 - make last hash char a comment) 2) X doesn't launch properly and I have to switch between VT 1 and VT 5 each time I launch it to be able to see the DM. (fixed by changing GFX card) 3) Sometimes the DM shows corrupted fonts and the cursor as a big square fuzzy block (HW conflict?). (fixed by changing GFX card) 4) Annoyingly displays console log on DM and then again when you start the WM. (fixed by editing /etc/X11/xenodm/Xsetup_0) NetBSD: 1) set hostname but on reboot back to localhost 2) Similar corruption of fonts sometimes when launching X 3) missing certs in lynx 4) mutt compiled without sidebar 5) No proper termcap for urxvt 6) After specifying dvorak keymap on install, I had to add it to .xinitrc as for some reason it went back to qwerty Currently I'm not sure whether to go back to OpenBSD. I was expecting performance of NetBSD to be a lot better but it's actually not... Just the lengthy post boot relinking annoyance and the having to switch back and forth between VT's to get X to display are the main concerns to switching back. ## Update 8/7/2023 I reverted back to OpenBSD and have managed to resolve the previously mentioned issues. Fixes have been listed above next to the issue. Unfortunately I discovered another issue which was that the ISA sound card would hard hang the system if I tried to use it while in X. For some reason it was fine using it from the terminal but once X was started it would cause it to hang. I tried removing all the other cards and also using different GFX cards but to no avail. Unfortunately this meant that I now needed a free PCI card for sound, as I didn't have another ISA card, and I didn't have one due to having to us a PCI SCSI controller because of the faulty CF card... ## Update 9/7/2023 I had to make a call between going the week without sound or buying a replacement CF card so that I could revert to IDE and free up the PCI slot currently occupied by the SCSI controller. CF cards are expensive for the capacity so I was reluctant to buy one but it actually seemed like the only sensible option. I had already made the decision to sell off my SCSI drives and cards. Continuing to use them was just adding to my procrastination over selling them. ## Update 10/7/2023 It was late in the day when the replacement CF card arrived but arrive it did so I set to work. First I wiped the old CF card and a small IDE drive I'd used to check if there was a problem with the IDE controller. I fitted the new CF card and attempted to start up the machine but it was a no-go. The bios seemed to recognize the card as an ATA device but at that point it hung and would proceed no further. I tried reconnecting it and restarting the machine a few times to be sure but it wasn't going to work. I conceded that I would have to do the challenge using the SCSI subsystem so I reconfigured it to boot from that. While in the process I remembered I had an external USB sound card. It certainly wouldn't hurt any to give it a try. I was surprised that OpenBSD recognized the card on boot and on testing I was able to play sound. This meant I wouldn't have to do the challenge without audio; some small relief. [1](gopher://gopher.icu/0/phlog/Computing/Unnamed-4U-computer.md)]]></media:description> <pubDate>Wed, 12 Jul 2023 23:54:57 +0200</pubDate> </item> <item> <title>Old-Computer-Challenge-July-2023</title> <link>gopher://gopher.icu/0/phlog/Computing/Old-Computer-Challenge-July-2023.md</link> <description></description> <media:description type="plain"><![CDATA[# Old Computer Challenge July 2023 ## Day 1 Day one was a bit of a write off due to me not wanting to start investing time in setting up the software on the machine as I thought I would have to start from scratch once the CF card arrived. I had some basic settings that I'd worked out during my preparation[1] for the challenge that would give me a good starting point. Toward the end of day one the CF card arrived but sadly the computer didn't like it and would hang after the point of identifying it as an ATA device. To cut a long story short I ended up back on the SCSI subsystem and with an external USB sound card, so at least I had audio for the week. ## Day 2 Tuesday was mostly filled with configuring software. I had some annoying display issues with urxvt that I coudln't seem to resolve and also the plumber[2], which I like so much, wouldn't open any of my links. I figured this was down to the environment not being correct. I was a bit disappoited by the end of the day and felt I hadn't made much progress. Highlight of the day was probably discovering I could take screenshots without installing additional software, after installing mpv anyway... ffmpeg -y -f x11grab -s 1920x1200 -i $DISPLAY -vframes 1 -vf scale=1280:-1 screenshot.png ## Day 3 Today was a better day. I finally resolved the display issues with urxvt and the problems with the plumber. Both issues were down to the environment not being set correctly. The soultion in the end was adding '. ~/.kshrc' to .xsession so that the environment variables etc were properly set before the window manager was started. I think the display issues were down to no defined locale settings. .kshrc: export PATH=$PATH:$HOME/bin export LC_ALL="en_US.UTF-8" export LC_CTYPE="en_US.UTF-8" export LANG="en_US.UTF-8" HISTFILE=$HOME/.ksh_history set -o vi alias S='function ddg { lynx "https://lite.duckduckgo.com/lite?q=$*"; }; ddg' alias W='function wik { gopher -p lookup -T 7 -i "$*" gopherpedia.com; }; wik' export EDITOR=vim .xsession: . ~/.kshrc # plumber programs export XTERM='urxvtc' export PLUMB_IMAGE='feh -F --auto-rotate' export PLUMB_MEDIA='mpv' export PLUMB_GOPHER='gopher' export PLUMB_TXTGOPHER='gopher' export PLUMB_PDF='xpdf' export PLUMB_FILEMANAGER='' export PLUMB_WEB='lynx' export PLUMB_TXTWEB='lynx' xrdb -merge ~/.Xresources xsetroot -solid black setxkbmap -option caps:escape urxvtd -q -f -o ratpoison I managed to get a bit of work done today too. Several updates to my phlog, including: * Addition of index file for /phlog directory to list all posts * Removal of '-' and '.md' from post titles * Update to 'grouch occ prep'[1] post to cover final hardware changes * This post In addition to this I made some code changes to the plumbing program and subimitted a patch for those changes. That is the reason for the PLUMB_\* environment variables above. I pulled several of the hard coded program names out of the individual opener files and made environment variables for them to be defined. Outstanding issues: * Problem with mpv/ratpoison stretching the display of small format videos * Seemingly no hw acceleration in mpv with this nvidia fx5200 Both of the above issues make watching video practically impossible. ## Day 4 I spent most of the morning wrestling with mpv and eventually came up with some settings that worked acceptably with ratpoison; to stop it from stretching the videos and to completely black out the rest of the window. .confif/mpv/mpv.conf: --video-unscaled --no-keepaspect-window --ytdl-format="best*[width=640]" The last line is just to tell yt-dlp which video format to fetch. 640 wide is about all this thing can manage without hardware acceleration which I have, so far, been unable fix. Having checked the Xorg.0.log I can see that the card is using the 'nv' driver for my NVIDIA GeForce FX 5200. But there is a notice that explains my lack of hardware acceleration: AIGLX: Screen 0 is not DRI2 capable Today I considered installing my Usenet and RSS clients, but I resisted the impulse to do it. There is a certain tranquillity that exists as a side effect of my current hardware limitations. I spent some time reading other peoples experiences on gopher, listened to a podcast and got my K&R C book out of my book case with the aim of beginning at the beginning, for about the third time, and progressing my way through the exercises in the book. hello.c: #include <stdio.h> int main() { printf("Hello, world! "); } ## Day 5 Well, I started out with the intention of continuing with my C exercises but somehow that was put asside quite quickly. Quarry[3] became the focus of the day as I was very aware that I'd neglected it for some time. I hadn't re-indexed any of the sites I had already in there for months and I had never gone back and removed dead links. That was something I had intended to fix some time ago but hadn't got around to. I managed to crash my webserver while running the re-indexing script, that caused me a bit of a panic as I had to login to the vm host for the first time and use vmctrl. It was all a bit daunting as I couldn't email for help as my email is hosted on the server doh! This is the first day that I've just used the computer without making any tweaks to configuration or adding any software. ## Day 6 and 7 Not much to report really. I spent day 6 continuing my work on quarry and most of day 7 I was out. When I did return home I continued my work on quarry and read about the experiences of other people taking the challenge, on gopher of course! ## Conclusion I didn't get off to the best start in spite of putting about a week into preparing the system I intended to use for the challenge. I was surprised that OpenBSD performs as well as it does on this system. I fully expected NetBSD to be my only option but OpenBSD was, for me anyway, a much more polished experience. Unfortunately I didn't manage to get hardware acceleration working or I may well have been able to prove youtube to be watchable at low resolutions. It was nice to have a fresh setup for the first time in several years to experiment with. I had used ratpoison for my last challenge earlier in the year but hadn't put much effort into configuring it last time. In the end I found myself using tmux as my window manager and ratpoison windows as virtual desktops; one for local and one for my vps. The temptation to install tin (for usenet) and sfeed (for rss/atom feeds) was resisted so I was better able to stay focused on doing something useful. The older system has just enough latency to make you consider more consciously what you are about to do. When all is said and done, I have quite enjoyed the challenge on this occasion. I have proved that I can be productive using this 27 year old computer and I don't feel that I have been lacking for anything. [1](gopher://gopher.icu/0/phlog/Computing/grouch-occ-prep.md) [2](gopher://gopher.icu/0/phlog/Computing/Smart-terminal-not-client.md) [3](gopher://gopher.icu/0/phlog/Computing/Quarry.md)]]></media:description> <pubDate>Mon, 17 Jul 2023 01:26:42 +0200</pubDate> </item> <item> <title>Quarry-gopher-search-engine</title> <link>gopher://gopher.icu/0/phlog/Computing/Quarry-gopher-search-engine.md</link> <description></description> <media:description type="plain"><![CDATA[# Quarry gopher search engine Quarry[1] began life somewhere in the middle of 2021. After spending several weeks working on it and getting it reasonably functional, something undoubtedly happened which took my focus away from it. Since that time I hadn't really invested any time in it. I hadn't re-indexed any of the sites I had already in there for months and I had never gone back to remove any dead links. That was something I had intended to fix some time ago but hadn't got around to. To cut a long story short, towards the end of last week the subject of Quarry came up and I found some time and motivation to put into it once more. ## Re-indexing To begin with I ran the indexer against the existing hosts that I had in the database. This was unbearably slow and took the best part of 3 days to complete. When it was complete I found several problems with the data that it collected. I had some rogue strings (\xC2\x80\xC2\x98yo...) breaking my database inserts. I thought this may have been cured by setting up the perl script to use utf8 for input and output but it doesn't appear to have made much difference, if any. A bit of modification to various sleep times that I'd put in various parts of the indexing code however, made a big improvement to the speed. I had made some small database change to set an update date stamp whenever a selector was added / updated so that I could spot ones that hadn't been updated after an indexing run and remove them. This gets rid of stale links collected from menus but currently there is no checking before adding selectors to the index. ## Search results There was a lot of junk collected during the initial re-indexing. In order to deal with this I modified the rudimentary filtering that I'd created first time around and extended it with more filters as I manually trawled through the database and also from what I was seeing in search results. I also wasn't happy with what was being returned to searches, the results didn't seem particularly relevant in spite of my using a fulltext search index. It turns out that I had also indexed the selector itself, probably not the best idea. Having removed that index and matching only on the title, the search result relevancy improved quite a lot. This also had the added benefit of reducing the number of results returned. ## Future indexing I created a script to take all of the hosts and iterate through them, checking they are active before running the indexer against them and finally removing any selectors that weren't updated, meaning they were no longer present on the site. I ran this a couple of hours ago and the total indexing process took 6 hours and 44 mins, a bit better than the 3 days it took previously. Now that this is working I will put it on a cron-job and run it once a week. If you have a site and don't want to wait, there is an API feature you can use to request spidering or you can add your URL through the search interface[2]. ## To Do * Fix the rogue characters breaking my inserts * Extend filters so they can be restricted by host * Verify selectors before including in index [1](gopher://gopher.icu/0/phlog/Computing/Quarry.md) [2](gopher://gopher.icu/1/quarry)]]></media:description> <pubDate>Thu, 20 Jul 2023 00:36:25 +0200</pubDate> </item> <item> <title>Darkmode-Saves-Power</title> <link>gopher://gopher.icu/0/phlog/Computing/Darkmode-Saves-Power.md</link> <description></description> <media:description type="plain"><![CDATA[# Darkmode Saves Power I had a thought recently after changing the background colour of my terminals and desktop wallpaper to black due to getting eye fatigue. It got to the point where my left eye would weep and due to this it got very sore. Often, late in the evenings, I could feel my eyeball going into spasm; not a pleasant experience! Because it made such a difference to my eyes and was noticeably less bright I pondered how much less energy was being used due to the black background, so I did a little test. I connected a power meter to the 24" IPS screen and monitored the wattage. Firstly with a white background (10.1w) and again with a black background (8.3w); a saving of 1.8w. Now 1.8w doesn't seem like much. However, like anything that's switched on for long periods of time, it all adds up! For mobile devices with limited portable power, this can also make a significant difference to run time...]]></media:description> <pubDate>Wed, 26 Jul 2023 13:09:53 +0200</pubDate> </item> <item> <title>4G-Challenge</title> <link>gopher://gopher.icu/0/phlog/Computing/4G-Challenge.md</link> <description></description> <media:description type="plain"><![CDATA[# 4G Challenge I've been with my current ISP, even though it has changed names several times, for over 20 years. Unfortunately over recent years they have continually increased the prices and more recently it is even in the terms that they can increase the price during the contract! We are now paying a discounted price of 32Gbp per month. ## Playing the game A little under 18 months ago, just as our contract was about to end, we had done some looking around and there were cheaper alternatives. None of them could match the outright speed of my current connection, but I don't believe I needed that amount of speed in the first place. We were all set to leave, but they offered to match the price of my proposed replacement provider and let me keep my existing service. It seemed like a win, no need to change anything and I get the price match. Unfortunately I didn't consider the in-contract price rises which means my cushy 25Gbp a month deal turned into the current 32Gbp about half way through the contract. ## Falling cost of mobile broadband I'm not falling for the same thing again this year so I am determined to leave. Over recent years a lot of investment has been made into 4G and 5G technology and I am always seeing adverts regarding its speed, which now largely rivals some of the more basic fixed fibre offerings. Pricing has also fallen dramatically and unlimited data SIMs are available for around 20Gbp a month. I happened to spot a good deal of 16Gbp a month for the first 12 months and so got myself a SIM card, along with a 4G modem, to see if it could be a viable replacement for my fixed broadband; before my current contract ends. ## 4G Setup I'm using a Proroute H685[1] 4G industrial router, which I purchased second hand off Ebay, and a SIM with unlimited data on the 3 network. I've been using this setup for the last couple of days and apart from the occasional bit of lag, it is performing very well. Even my Eurosport streaming subscription seems to be working without any problem at all. Speed[2] of the connection seems to fluctuate but even with the standard antennas I get around 20mbits down and 10mbits up. If things work out then maybe I'll invest in an outdoor antenna to try to improve the signal a little. [1](https://proroute.co.uk/proroute-4g-routers/proroute-h685-4g-lte-router/) [2](gopher://gopher.icu/I/images/4g-speedtest.png)]]></media:description> <pubDate>Wed, 26 Jul 2023 17:49:57 +0200</pubDate> </item> <item> <title>Computer-Upgrade</title> <link>gopher://gopher.icu/0/phlog/Computing/Computer-Upgrade.md</link> <description></description> <media:description type="plain"><![CDATA[# Computer Upgrade I have been using a HP N54L Microserver as my daily driver for about 8 years. It's a small square unit that doesn't consume much power (56w idle), has been installed with 4Gb of RAM, 2x 2Tb WD Red drives and a HP p410 battery backed raid card with 512mb cache. It also has a low profile soundblaster sound card to provide sound. The machine has served me well, but as time has gone on the fact that it is a non-standard form factor has been an increasing concern to me. If you have read any of my posts about hardware preferences[1] you would know that I advocate for standard ATX form factor computers because replacement parts and upgrades are far more readily available. I have had a more powerful computer sat idle for some time in the form of a 4U rack server case which holds standard ATX components. After it stopped being my webserver, when I moved hosting to a VPS 4 years ago, I bought a 3Ghz core 2 duo motherboard bundle with 4Gb RAM off Ebay quite cheaply to replace the Abit BP6 which had several leaking capacitors. Since puting it together I've added a further 4Gb of RAM and then done nothing more with it. Now seemed like a good time to put that more powerful system into service, if I could transfer the raid system across from the HP and ensure it would run reliably. ## Xeon modification I had been aware that it was possible to fit a socket 771 Xeon processor to some of the 755 boards, with a little modification. Some months ago, after a little research, I had decided to purchase an E5450 Quad Core Xeon to attempt this modification. This is a Quad Core 3Ghz CPU with 12Mb of cache. The 771 socket is a little different to the 755 so requires you to buy a little sticker to reverse two of the pins on the CPU, you also need to file 2 new grooves into the CPU, or remove the locating tags from the CPU slot on the motherboard. I didn't fancy potentially ruining the motherboard attempting to cut off the locating tags so I took to filing the CPU instead. It took a few trial fittings and repeated filings to get it to fit nicely but after a little work it fitted well. The sticker was a little fiddly to get perfectly aligned with the pins but also went without a hitch. I refitted the CPU fan after cleaning both the top of the CPU and the heatsink face with IPA and applying a thin film of arctic silver thermal compound. Firing up the PC was a bit nerve racking as I had never tried this before. The computer bleeped and then powered off, I thought maybe something was up with it but pressed the power again just in case. I saw some warning about the bios battery, it had obviously died since I had last used the machine but it proceeded through the boot sequence and appeared to show the correct CPU values. There was an old install of Debian on the HDD which it proceeded to boot. Checking 'cat /proc/cpuinfo' showed that there was indeed a Quad Core Xeon fitted[2]. ## Waiting on a mini SAS cable So the machine appears to work, but in order to move the raid subsystem from the other machine I need a mini SAS cable. I have one on order and it should be here in the next couple of days. Further updates will follow. ## Update 01/08/2023 The SAS cable finally arrived this morning. I hurriedly pulled apart the HP microserver to get out the hard drives and raid card that I needed to transplant into the Xeon. However, there was just enough doubt in my mind not to proceed with cutting the cable ties securing the cache battery to the chassis. Assembly of the components was simple as I had already refitted the hot swap SATA drive bays and the raid card was just a PCI-E card slot secured with a single screw. The cable was a little tricky as there wasn't much space at the back of the drive bays. I powered on the machine, but there was no display. I didn't remember having any problem with HDMI previously but just to rule it out I tried the DVI port, with the same result. I decided to check the BIOS to see if there was anything. I noticed that there was a setting for video which was set to auto detect, you could select internal or PCI-E. I wondered if it had gotten confused by the raid card so I set it manually to onboard. Rebooting again resulted in the same black screen. I pulled out the raid card and tried again. This time I got the boot screen. This proved there was no issue with the display so I refitted the raid card and disconnected the cable in case this was a source of the problem. Still there was no display. For whatever reason the system doesn't seem like the HP p410 raid card. I fitted my old PCI 3ware raid card, which has no cache or battery back up, to see if this worked; and it did. I continued to fit two 200gb drives that were previously in the same chassis when it was my former web and email server. This made it into a usable system but not the one I had hoped for. There was nothing more I could do but clean up the inside of the HP microserver and refit the parts I'd taken out. Thankfully everything worked just as it had before when I came to power it on again. I was honestly quite disappointed at this point. I'd spent the morning stripping down a perfectly serviceable computer to transplant the best disk subsystem I own into the most powerful computer that I own, only for it to fail to work. I've since installed OpenBSD on the Xeon machine and done a little configuration. I'm actually writing this post on it, but I really don't know what I will do with it in the long term... ## Update 04/08/2023 To cut an ever longer story short. I bought an Adaptec ASR-5405Z 512mb cache SAS raid controller off Ebay for 11Gbp. I was already quite heavily invested in this thing so I thought, what's another 11Gbp? I hoped that this generic raid card would not have the same conflict as the HP one and that life would be good again, but I also braced myself for the fact that it too may not work for the same reason as the HP raid card. Well, I fitted the card and connected it up with the SAS cable I had bought to connect the drives to the HP controller and ... Blank screen, same as the HP controller. I wasn't about to give up and thought there has to be something I can do. So I removed the raid controller and set about downloading BIOS updates. After several attempts I managed to make a bootable CD with the necessary software on it. Everything looked good but it just seemed to hang at the point of writing the first part of the update, I left it for quite some time as I didn't want to interrupt it if it was actually writing data but after some 20 minutes of it sitting there with the power light blinking and the screen stuck at 'writing intel me...' I decided to pull the plug. Next I managed to put a bios update file on a USB stick which could be read if it was vfat with the file on and accessed from the built in 'f7' bios update menu. It stuck at exactly the same place in the same way. I was getting pretty desperate by this point so I pulled out the xeon and put the core 2 duo back in to see if this made any difference; It didn't. Last resort, RTFM. So I started digging through the motherboard manual and stumbled upon the following passage: ``` When a non-video PCI Express add-in card is installed in the PCI Express x16 connector on the Desktop Board, the HDMI port is disabled. ``` "You've got to be kidding!!" so I found myself a dvi -> vga adapter and put the raid card back in and tried again. It worked! What a palava! I'd been pulling my hair out all because the HDMI connector is disabled if you fit a card in the pci-e x16 slot. Just to be sure I connected the SAS cable and configured the drives. Sure enough everything worked as it should and the day, and my sanity, has been saved! ## Update 09/08/2023 The saga continues. After my last update it seemed that I was home free and only had to install my OS. Well unfortunately that wasn't the end of it. I tried to install OpenBSD but it turns out there is no driver support for that card (adaptec ASR-5405Z). I was back to square one... At this point everything came into question, should I install FreeBSD which does have a driver? Should I just go back to Linux which also has a driver, or should I just go back to my old computer with OpenBSD as I could see that the p410 raid card was supported? I tried the p410 raid card in the Xeon for a second time and it seemed to work at first, I could see it initializing the raid. But just as I thought I was out of the woods, and it should have started reading from the disk, the screen went a light grey and everything appeared to hang. I tried a couple more times just to be sure it wasn't some weird timing issue but to no avail. I actually conceded defeat at this point and installed OpenBSD to the HP microserver but the pci-e Sound Blaster sound card wouldn't work... Now more determined to stick with the plan, I put the 3ware raid card back in the Xeon and began to use it to make sure it was going to be viable as my daily driver. Everything appeared to work OK and it was fairly snappy, apart from some noticeable lag of the disk subsystem. As I saw it I had 3 options: 1) Buy a supported SAS raid card, knowing I would lose HDMI 2) A hybrid system - SSD for OS and PCI raid with HDD for storage 3) SSD only - ditch the raid, small SSD for OS and second bigger one for storage In an attempt to speed the system up, future proof it and reduce its' energy consumption; I have decided upon option 3. This will consist of one 120Gb SSD main drive and a 500Gb SSD for storage. i I can't realistically ever see myself filling 2Tb. I managed to back up everything I have onto the 500Gb SSD with quite a bit of space to spare and I know there is a lot that could be deleted... [1](gopher://gopher.icu/0/phlog/Computing/Stop-IT-waste.md) [2](gopher://gopher.icu/I/images/xeon.png)]]></media:description> <pubDate>Thu, 10 Aug 2023 02:49:52 +0200</pubDate> </item> <item> <title>Low-power-computing</title> <link>gopher://gopher.icu/0/phlog/Computing/Low-power-computing.md</link> <description></description> <media:description type="plain"><![CDATA[# Low power computing If you have been reading along with my adventures lately, you will be aware that I had been upgrading one of my old ATX machines[1] to be my new daily driver and things hadn't been going too well. Having gotten the machine to a useable state I put it on the power meter to find it was drawing 68w at idle, which jumped to around 100w when scrolling around in firefox-esr. I really wanted this machine to be my forever system that I would simply upgrade and repair as time went by, but 68w ticking over is quite a lot. The HP microserver comparatively was 56w. Could I save 10w by removing the spinning rust and raid card? Possibly... ## Mighty Atom I can't remember the exact motivation for my next move but I had an old asus eeebox b202 which had previously been my mom's. After she had finished with it I had installed FreeBSD and used it for about 8 months, after upgrading the memory in it to 2Gb. From memory it wasn't exactly fast, as you'd expect from a 1.6ghz Intel Atom, but it was perfectly usable. I had earlier in the day checked the specs and had noted the maximum video output was 1600x1200, which was a bit of a disappointment as I have a nice 1920x1200 24" monitor. Undeterred I fetched it from its resting place, connected it to my monitor & keyboard and fired it up. It booted into FreeBSD and to my amazement it was at 1920x1200 when I checked xrandr. After a futile attempt to update FreeBSD (no idea why I even tried) I made an i386 miniroot USB stick to install OpenBSD. I have done this quite a few times recently so it didn't take long, especially now my all my dotfiles are in a git repo and easily deployed with stow. It was disappointing to discover there was no firefox-esr in i386 OpenBSD and I had to seek an alternative for those times I really must use the web. Ungoogled-chromium seemed like a viable option so I installed it to give it a go. It was just a bit too slow and clunky to be tolerable. On checking the power meter I noted that the system was drawing only 17w... Encouraged by the fact that everything worked so well out of the box with OpenBSD and that the system only consumed 17w, I pondered what I could do to make it a potential daily driver. The next day I would take delivery of a 120Gb SSD meant for the xeon... When the SSD arrived I had already decided to try it out in the Atom. Removal of two screws allows the HDD tray to slide out revealing four more screws to remove the drive. I went through the same installation procedure as the previous day and in under 20 minutes I was back at the point where I could again try out ungoogled-chromium. The SSD had pepped the machine up quite a bit, booting was noticeably more speedy and everything seemed that bit more responsive. Chromium certainly wasn't fast, but it was at least now tolerable. Just enough sluggishness not to make you want to do too much on the web; it was perfect! I used it for the rest of the evening. This morning I took it apart and made a new BIOS battery[2], as the old one had died forcing me to reset the date every time I unplugged it. With the new SSD, and a second one plugged in via USB, it draws just under 16w and does everything I need[3]. [1](gopher://gopher.icu/0/phlog/Computing/Computer-Upgrade.md) [2](gopher://gopher.icu/I/images/asus2.jpg) [3](gopher://gopher.icu/I/images/asus3.jpg) ]]></media:description> <pubDate>Thu, 17 Aug 2023 14:57:42 +0200</pubDate> </item> <item> <title>Do-more-with-less</title> <link>gopher://gopher.icu/0/phlog/Computing/Do-more-with-less.md</link> <description></description> <media:description type="plain"><![CDATA[# Do more with less We have been convinced that more and newer is always better, faster, more convenient, which if you're in the business of selling products is exactly what you want. But in the interests of personal development and sustainability I have actively been pursuing the opposite. In the modern world we are suffocated with choice, from toothpaste to programming languages, and constantly bombarded by technology vying for our attention. The more stuff you have the greater the burden of ownership and the less time and attention you can give to any one thing. ## Computer downgrade I recently downgraded[1] the computer I use daily to one that is adequate for my needs and consumes just 16w of power[2]. This wasn't really a planned downgrade at the outset but rather the result of some experimentation and long held philosophy regarding sustainability and minimalism. I have been using the system for over a week now and it is adequate for how I use it. Though I realize such a system would be impractical for most due to their software choices. Web browsing is possible using ungoogled-chromium, the sites that I have needed to use, for online banking or ebay, have all been quite slow but usable. This is more of a feature than a problem as it makes browsing the web tedious and so it is kept to a minimum. Mostly my local system is used much like a terminal, with many of the internet applications (Email, IRC, Usenet and RSS feed reader) running on my VPS. My thinking here was that, if I needed access to the internet to use them, they might as well exist on my VPS which reduces the amount of configuration and software I need on my local system(s). ## Software footprint For a while I have been actively trying to use lighter weight software for my daily tasks and have migrated from heavy GUI applications like Thunderbird, VLC and Rhythmbox to lighter TUI alternatives. I typically use: * mutt - mail client * tin - Usenet news reader * sfeed - RSS/Atom feed reader * irssi - IRC client * gopher - gopher client * lynx - text web browser * feh - image viewer * mpg123 - audio streaming / local mp3 playing * mpv - video streaming * urxvt - terminal * tmux - terminal mutiplexer * vim - text editor * apvlv - pdf viewer * ratpoison - window manager My operating system of choice is now OpenBSD. ## Computing distractions Computers can be a total time-sink and rather than enhancing your life, giving you super-powers to create things and solve problems. They create more problems and frustrations. Don't waste your life trying to find the perfect operating system or hardware setup, you have more chance of finding the holy grail! Be wary of creating too many customizations and be sure that the ones you do make are worthwhile and replicable. Use something like stow to manage configuration files for future speedy deployment. You should aim to be able to install your OS and replicate your setup on any system in less than 30 minutes. This reduces the importance of the hardware. ## Create things If you disallow computing distractions to take hold you should find time to exercise your creativity. Writing texts or maybe software... How you express your creativity is up to you, but don't settle for being a consumer, there is no lasting satisfaction to be had there. Computers should be a means to an end, not an end in themselves. Above all, choose freedom ... [1](gopher://gopher.icu/0/phlog/Computing/Low-power-computing.md) [2](gopher://gopher.icu/I/images/asus3.jpg)]]></media:description> <pubDate>Fri, 01 Sep 2023 02:01:30 +0200</pubDate> </item> <item> <title>Offline</title> <link>gopher://gopher.icu/0/phlog/Computing/Offline.md</link> <description></description> <media:description type="plain"><![CDATA[# Offline I have been using a 4G router on the mobile network for the past couple of months and apart from the odd bit of lag it has been quite reliable. This morning however, having unusually left the router switched on all night, my connection appeared to be down. Power-cycling the router seemed to revive the connection, although it wasn't long before I started having issues again. Once more I rebooted the router, it was slow but again the connection returned and I continued with checking my RSS feeds, email and a conversation on IRC, then it went off again ... At this point I gave up and went to get a shower, after that I got my kindle and went down stairs. ## Radio I'm not sure what prompted me to put on the radio, other than it catching my attention from the bookshelf where it occupies a space. I browsed around a little twisting the dial around, first on AM and then on FM, where there seemed to be more choice of channels. While turning the dial I stumbled upon a talk show where a woman was being interviewed about the UK government figures for immigration. She was explaining, in some detail, at how these figures were arrived at and the effects of certain policies on those numbers both historically and going forward. The thing that struck me about this conversation was that this was someone knowledgeable on the situation giving a fair account. This was not news as we are usually fed it today, or the circus that is Westminster, where there is some agenda behind how the information is used to slight some person or party. It was a refreshing experience to hear an expert explain something, seemingly without bias. Maybe I should listen to the radio more often ... This actually reminded me of a video I saw recently about short wave radios, where an American was explaining how he would sit and listen to radio broadcasts from other countries to have a more rounded view of what was actually going on in the world, free from the biases of his own. The BBC used short wave radio for propaganda during the second world war, as they knew the signal could be received deep into Eastern Europe and Russia. It has been reinstated since the beginning of the Ukraine war for this very purpose. You can't firewall radio waves or censor their broadcasts from outside of your jurisdiction. In some countries it was a crime to own a short wave radio for this reason. ## Microadventures I enjoyed reading Jay Scot's phlog post a couple of days ago. It inspired me to get out for a walk yesterday, in the very fresh but unusually dry and sunny weather. Post COVID I had started going out for walks occasionally and had hoped to make a regular habit of it and even maybe expand upon it to do some wild camping. I've spent far too much time watching video howto's not to at least give it a try. Plus I think I already have everything I'd need, other than a bivvy or tarp, to do an overnighter. It felt good to be out yesterday. I definitely need to get out more but I will probably hold off on the overnighter, until the weather warms up a bit! ## Phlogging It's been a while since I posted anything but sometimes I think if you don't really have anything to say then maybe it's best to say nothing... Usually I would write the post on my VPS and just copy it to the relevant directory but that is not possible today, so it's back to old-school offline writing which I will scp across once my internet connection returns.]]></media:description> <pubDate>Sun, 03 Dec 2023 12:02:05 +0100</pubDate> </item> <item> <title>Usenet-update</title> <link>gopher://gopher.icu/0/phlog/Computing/Usenet-update.md</link> <description></description> <media:description type="plain"><![CDATA[# Usenet update Some big news regarding Usenet[1]: > Starting on February 22, 2024, you can no longer use Google > Groups (at groups.google.com) to post content to Usenet groups, > subscribe to Usenet groups, or view new Usenet content. You can > continue to view and search for historical Usenet content posted > before February 22, 2024, on Google Groups. In my view googles groups integration with Usenet practically destroyed it. As they do with most things, they assimilate and destroy wholesome technologies from within. ## What's so good about Usenet? There are several good reasons to make efforts to revive Usenet: * It is the original decentralised, federated forum. * It uses a simple protocol designed to work over low bandwidth and impermanent communications links, like dial-up. * News reading clients are ubiquitous and part of many email clients, even if you don't realize it. * The small technical barrier to entry keeps undesirables away, or at least that's how it should play out once google ceases to make it easy for web users to access Usenet. * Forums on websites come and go with the fortunes and interests of their often corporate owners. Because of the federated nature of Usenet, the information therein continues to live on. * ISPs no longer routinely provide access to Usenet. Is Eternal September[2] finally coming to an end? No longer are ISPs routinely providing access to news servers and from February google will stop providing access to people via the web. This should return the sovereignty of Usenet to those who should rightfully have a claim to it. There has never been a better time to reclaim the wonderful resource that is Usenet. ## How do I access Usenet? Please read the wonderful guide[3] written by Matto. [1](https://www.theregister.com/2023/12/18/google_ends_usenet_links/) [2](gopher://gopherpedia.com/0/Eternal%20September) [3](gopher://box.matto.nl:70/0/usenet-getting-started-guide.txt)]]></media:description> <pubDate>Wed, 20 Dec 2023 13:10:02 +0100</pubDate> </item> <item> <title>Nokia-BLJ-2-battery-refurb</title> <link>gopher://gopher.icu/0/phlog/Computing/Nokia-BLJ-2-battery-refurb.md</link> <description></description> <media:description type="plain"><![CDATA[# Nokia BLJ-2 Battery Refurb I have a couple of old Nokia banana phones, an 8110 and an 8146 which both have dead batteries. If you should manage to find one of these batteries second hand, they are extortionately expensive. ## Battery Disassembly Dismantling the battery is fairly easy, carefully insert a spudger / guitar plectrum down the seam on the inside of the battery and gently pry it up. There is some black adhesive used to stick the cover to the battery so you may want to get something longer underneath to pry closer to the adhesive until you manage to separate it. Once the outer cover is off you can see the cells and the circuit board. I carefully separated the battery cells from the casing along with the circuit board. To separate the battery from the circuit board I initially gently worked the circuit-board back and forth until the metal battery tags sheared. After this I used a soldering iron to remove the remainder of the pads from the circuit-board and added a little fresh solder for later. ## Parts The BLJ-2 battery is rated at 7.2v and had two cells. I figured if I could find two 3.7v cells of a suitable size then I could wire them in series to achieve close to the voltage I needed. Having measured the available space inside the battery housing, and looking around at various battery packs, I discovered that two 503040 battery packs could be fitted to replace the original cells. Each of the packs is rated at 600mah 3.7v. ## Fitting The battery packs come with a circuit board attached to prevent over voltage, and other things, but this seems to get in the way of using them in series and also there isn't space inside the housing for the batteries with these fitted, so I removed them. I cut the battery tags as close as I could to the circuit board with side cutters, being careful not to short the battery terminals. Once that was done I tinned the battery tags with a little solder and then placed them inside the battery shell along with the circuit board ready to wire everything up. Here I think a picture best explains what has been done[1]. The final assembly is quite snug once the cover is popped back in place. I used no adhesive to secure the new cells or cover and nothing appears loose. [1](gopher://gopher.icu/I/images/blj-2.jpg)]]></media:description> <pubDate>Sat, 13 Jan 2024 03:10:48 +0100</pubDate> </item> <item> <title>Computing-in-2024</title> <link>gopher://gopher.icu/0/phlog/Computing/Computing-in-2024.md</link> <description></description> <media:description type="plain"><![CDATA[# Computing in 2024 Last year I made several changes that reduced the energy consumption of my computing activities at home. This year I plan to provide some of my energy requirements via solar power. I also want to start experimenting with ham radio data modes. ## Computer The Asus B202 eeebox[1] has been serving me well for the past 5 months, though I have had to recently replace the fan and bios battery. It is sufficient for everything but dealing with a full-fat web browser. Ungoogled-chromium works for most sites but not all, with some it really struggles. I've decided that there is already more than enough used I.T. surplus in the world and that something already out there can surely fit my needs. I have recently been thinking of changing the above system for a HP T620[2] thin client. This should provide a small foot print, low energy (15w) 64bit system with no moving parts that would offer a good performance upgrade over the current system. Other than that I'm quite happy with my current setup: * Asus B202 eeebox (1.6Ghz Atom 32bit CPU, 2Gb RAM and 120Gb SSD) * 24" Asus pro-art monitor (1920x1200) * Lenovo KU-1255 USB Trackpoint keyboard ## Software development I will continue to use shell and awk for any small programming projects. Perl is my default language but I've been forcing myself to learn how to use more primitive tools which are to be found on all unix and linux systems. You could argue that Perl is found on all those systems these days, but I think it's bad practice to keep installing programming languages on systems and to make them requirements. What was once all shell scripts is now a mishmash of perl, python, lua and whatever else. I know as well as anyone how strong the desire is to use what you know, but sometimes, for the greater good, it is better to force yourself to convention and broaden your horizons. ## Solar I need to calculate how much solar power I need to produce and store in cells to operate without downtime. This means at some point I will be purchasing solar panels and either an all-in-one solar generator or building my own from components (battery, charge controller, inverter, ...). ## Radio I've been studying for my foundation ham radio license and hope to soon start mixing computing with radio for communications with data modes. I'm looking forward to experimentng with JS8Call, ft8, winlink and RTTY. [1](gopher://gopher.icu/I/images/asus3.jpg) [2](https://support.hp.com/gb-en/document/c04017240)]]></media:description> <pubDate>Fri, 19 Jan 2024 17:59:52 +0100</pubDate> </item> <item> <title>The-state-of-gopher</title> <link>gopher://gopher.icu/0/phlog/Computing/The-state-of-gopher.md</link> <description></description> <media:description type="plain"><![CDATA[# The state of gopher I've become a little frustrated with gopher recently. The feelings are mixed because I'm happy there is more content, created by real people. However, many people are arriving in this space and although they bitterly complain about the state of the web, they are bringing ideas and content from the web to gopher. If you want to come to a new space, presumably because you are looking for something different, then please leave the web on the web. It's still there, you can visit any time. Just fire up that fat browser and off you go! Just please don't pollute gopher with it. ## Standards and common practice When you start in radio, or many other disciplines, you are informed of the rules and are expected to listen, to get a feel for the etiquette before you participate. Because it's so easy to fire up a gopher server or get a tilde that provides space these days, it's easy to bypass the learning phase and to jump straight in. The rules, in our case, are laid out in the RFC for gopher[1]. [1](gopher://gopher.32kb.net:70/0/rfc/rfc1436.txt) ### 70 Columns Gopher is from a time where your average terminal had a physical limit of 80 columns. To give some space for the type indicator the RFC states "the display string should be kept under 70 characters in length". Now, modern terminals are capable of more, but by ignoring this standard you make things awful for people, with older systems, or those who view in split screens[2]. It's a slippery slope to becoming like the modern web, where developers don't seem to give a crap about standards, backward compatibility or accessibility. ![2](gopher://gopher.icu/I/images/sog1.png) ### Gopher maps are for navigation, not content There is a habit forming of people misusing maps to create content pages with pseudo in-line-links, like on the web. The problem is that pages become full of info lines, which the original gopher client ignores. So when your content spans multiple pages, the original gopher client cannot page down to see anything after the first page. Another side effect of this is that, if the content is a menu you can no longer press 'd' to download it, as was intended for files. You are breaking functionality of the original gopher client, written by the people who created the gopher RFC. Doesn't that hint to you that maybe it wasn't designed for that purpose and that maybe you shouldn't do it? *clause* - I consider it excusable only for creating applications requiring interaction, as there is no other way to do it, with the proviso that links must exist at regular intervals throughout the page to ensure it remains scrollable in the original gopher client. *Addendum 05/02/2024* The RFC position on non-core item types, which includes 'i', is that the client implementation may choose whether to display them: > 3.5 Building clients > > If a client does not understand what a say, type 'B' item (not a > core item) is, then it may simply ignore the item in the directory > listing; the user never even has to see it. Alternatively, the > item could be displayed as an unknown type. To put your content within a non-core type is therefore not advised. Additionally, there is a commit[3] to the client code which notes that it was a deliberate change to "Skip over type 'i' items". Maybe they foresaw the potential for misuse, or it was already being misused, and decided to address it in this way? [3](https://raw.githubusercontent.com/jgoerzen/gopher/master/doc/client.changes) ### Gopher clients are not terminals Please do not use terminal escape codes to attempt colours and artwork in gopher. They may work in your particular client but generally they don't and look horrendous to the casual user[4] [5]. ![4](gopher://gopher.icu/I/images/sog2.png) ![5](gopher://gopher.icu/I/images/sog3.png) ## Conclusion The saddest part for me is that many of these individuals appear to be in IT or technical disciplines and have some proficiency. Unfortunately they choose either not to read the RFC, blatantly ignore it, or adhere to best practice. Don't be that person ...]]></media:description> <pubDate>Mon, 05 Feb 2024 20:31:55 +0100</pubDate> </item> <item> <title>Responses-to-The-state-of-gopher</title> <link>gopher://gopher.icu/0/phlog/Computing/Responses-to-The-state-of-gopher.md</link> <description></description> <media:description type="plain"><![CDATA[# Responses to The state of gopher Thank you all for your kind words and consideration regarding the problems I, and others, encounter using gopher at the present time. Clearly there are a lot of opinions, but the following will always remain true: 1. Vintage hardware has a physical 80 character limit. It is a thing, and a large body of people still use it. Unless you have X running on Linux / UNIX then you are also probably stuck with an 80 character limit. 2. Many gopher clients exist, and are in use, that are written to that RFC specification and will never be retrospectively changed. 3. The UMN gopher client ships with most Linux and BSD systems and may be many peoples first experience of gopher. 4. RFC exist so that we can all play nice together. They were written in gentle times by academics that expected them to be followed. 5. Mutually giving each other permission to disregard RFC, due to age or what has become common and doesn't affect you or your cloister, doesn't make it right. See point 4. If you don't like the limitations of the protocol then please make one or use one that better suits your requirements, Gemini? ---- I would like to take this opportunity to ask the community what clients[1] they are currently using? [1](gopher://gopher.icu/1/poll?poll=1707390454) * All contents 100% gopher friendly]]></media:description> <pubDate>Thu, 08 Feb 2024 18:14:32 +0100</pubDate> </item> <item> <title>Wordprocessing-with-vim-and-pandoc</title> <link>gopher://gopher.icu/0/phlog/Computing/Wordprocessing-with-vim-and-pandoc.md</link> <description></description> <media:description type="plain"><![CDATA[# Wordprocessing with vim and pandoc It has been quite some time since I have needed to create documents for ordinary folks that expect .docx or .pdf files. Having recently taken on some administration responsibilities for the radio club I am a member of, I find myself again needing to create .pdf documents. ## Abiword At first I installed abiword, along with all its dependencies, which turned out to be quite a lot. I tried it briefly, but after many years using vim to edit text, it felt terribly slow and awkward. ## Markdown Markdown is an excellent minimalist markup that doesn't look out of place in plain text documents. My phlog, as you may be aware, is written in markdown. Markdown was chosen as I knew tools existed to convert it into many other document formats. It can easily be converted into web pages or document types suitable for printing. Pandoc is probably the most widely known of these tools. ## Pandoc On OpenBSD I installed the pandoc package and attempted the conversion of a markdown file: > $ pandoc myfile.md -o myfile.pdf Unfortunately something was missing and the conversion failed with an error. After a short search for the error message, and test installing other packages, I discovered that texlive_base-2023 and texlive_texmf-minimal-2023 were also required. ## Workflow I write the documents in vim, using markdown in the same way that I would for my phlog, and then run pandoc on the file to output it in PDF format. ## Summary I use vim for all my text editing and wanted a solution where I could continue to do that. This solution is fast and avoids any interaction with a word processor, while achieving the same result. I'm quite satisfied with it.]]></media:description> <pubDate>Thu, 16 May 2024 12:35:50 +0200</pubDate> </item> </channel> </rss>