Project: Reviving an HP e-Vectra SFF Desktop PC

Back in 2020, I opined my love for the HP e-Vectra small form-factor desktop PC from 2000. Perhaps by now, there may not be many fond memories remaining, but after covering it in some detail back in 2020, I rediscovered it sitting on my shelf looking rather sad.

There comes a time in one’s life when they start to realise they have too many things to do and not enough time, and/or too many physical things and not enough space. In spite of my love for this box, in its present state, it had little practical use aside from reminding me of its rather novel design for the time.

So I resolved to either fix it … or junk it. There was no point hanging onto it if it wasn’t going to be useful, seeing it has already had one blog post.

Fixing the e-Vectra

The problem was that the board makes only the slightest “blink” of the LAN LEDs on a power-up attempt but otherwise, no action to note. I’ve already speculated that bad capacitors are the cause, in spite of none physically being bulged or leaking.

Having previously disassembled and photographed the machine, it was an easy job to get back in there and start tallying the board up.

Using an “embossed” black-and-white image of the board above, I started to note the capacitor values and locations – it turns out there are 11 types of capacitor and a total of 43 of them. As I was not sure which ones were bad, I decided it would be safest to replace them all.

I did not pay much attention to heights and diameters of capacitors at the time – I made some rough measurements of some, but then gave up halfway. I decided to pilfer my existing stock of capacitors …

… while ordering in some new capacitors for the values I didn’t have to hand (and couldn’t shoehorn a higher-voltage capacitor in its place). This adventure would not be cheap, especially because there are supply-chain difficulties which meant capacitors coming in from the UK, with few selections and a week’s waiting for shipment. If I had to buy all the capacitors new, I don’t think I’d have much change from AU$50.

Recapping was completed with the assistance of a PCB holder, which proved just big enough for the small motherboard. Because of the multi-layer construction of the board and the fact I still don’t have a desoldering gun, I didn’t want to do the soldering iron and one-leg-at-a-time trick as a slightly-too-cool joint could easily cause the through-hole plating to be torn out. I didn’t want to try snapping the capacitors off the board and extracting the remnants either, because I wanted to do a bit of a post-mortem to understand which capacitors were to blame … assuming they were to blame in the first place.

So, this time, I used the hot air gun from the back and heated up the board from behind until both joints were molten and then smoothly extracted the capacitor, while quickly feeding in the new one and letting it cool. Later on, I’d come back with the iron to touch-up all the joints and clip the legs. This is not a risk-free procedure, as the heat of the hot-air-gun will cause the board to exceed its glass-transition temperature, which causes it to become soft and bendy. This could lead to damage to the board if it is stressed, but also, could easily lead to charring the board itself if the temperature gets too high. Weakening of the epoxy would lead to the board’s structural strength being compromised. In the above, some discolouration of the solder resist and possibly board pre-preg material is visible, but being localised, I felt this was acceptable.

This left me a nice pile of capacitors which were potentially suspect. I would say this process would have probably taken about two-to-three hours to map out and do, but I couldn’t do it all in one sitting due to the need to wait for the arrival of missing parts.

The Moment of Truth

Putting it together was not quite as easy as I first thought – I made a mistake with my 1500uF capacitors and ordered ones which were thinner but taller. This caused one of the capacitors (CT32) to interfere with the fan cooling shroud. As a result, I had to cut a slot into the shroud to make it fit – this was easier than trying to change the capacitor again. Nevertheless, I plugged it all in as per before … pushed the button and …

… yay! It’s alive – those BIOS messages are encouraging. The keyboard error? That was me mashing <DEL> to try and get into the BIOS.

I had forgotten that such an old machine had a full-screen BIOS logo … it feels more modern than it actually is.

While originally shipped with Windows 98 SE, I had an install of Windows 2000 Pro on it that booted up just fine. It’s a bit of a time-capsule of programs – many of which were not really ideal for this particular machine and were installed anyway just for fun. Who remembers MSN Messenger with the “Plus” modifications so you could run multiple instances?

The original 80mm fan still sounds perfectly fine and the CD-ROM still functions perfectly. The hard drive is a bit noisy … but they all were from that era. It still functions fine and a full-surface check did not reveal any additional reallocations from the 49 it had when I first accepted it as second-hand stock. Of course, I could possibly change it up for a nicer IDE drive, CF card or SD-card, but it’d be less authentic as a result.

A Capacitor Post-Mortem

With all the capacitors in-hand, I decided to measure them using the B&K Precision BA6010 Battery Analyser as a 1kHz LCR meter.

The results show that many capacitors were getting close to the -20% tolerance of electrolytics, but only a few were really truly unserviceable – the I.Q. branded 1000uF 10V capacitors were all toast and the Choyo XR 330uF 6.3V capacitors were a mixed bunch. The other capacitors actually seemed to be serviceable for now, but being from the same questionable vendors, I decided not to risk it.

This time, I used calipers to measure the actual dimensions of the extracted capacitors, in case anyone else who is doing this job needs the information to order the right capacitors, unlike me …

Sizing it Up to a Modern SFF

As much as I loved the e-Vectra and believed it to have potentially inspired the likes of Shuttle XPCs and later SFFs such as the Intel NUC, Gigabyte Brix and other clones, I actually acquired another “refurb” SFF just this week for a little more than AU$116. The machine in question is a Lenovo ThinkCentre M700 Desktop Tiny from 2017, with an Intel i5-6400T CPU, 8GB RAM and 2.5″ 500GB Hard Drive.

Putting them side-by-side, it’s clear the Lenovo has a smaller footprint of about half the area.

From the front, it’s clear that the unit is quite a bit thinner too – this is in part as the HP e-Vectra has an optical drive which the Lenovo Tiny does not.

The rear of the Lenovo Tiny shows a layout that eschews virtually all legacy ports in preference for DisplayPort, USB 3.0 and Ethernet, with the only exception being a 3.5mm audio jack. The HP e-Vectra has a mix of legacy and “new” for the time USB 1.1. This is what 17 to 18-years of progress gets you.

However, if one stops and thinks a little – the e-Vectra’s accomplishments get even more amazing. Seeing my previous post, you may have realised that the e-Vectra has a full desktop CPU and chipset, uses a full-size DIMM, houses a full-size 3.5″ half-height hard disk. The only thing that’s small is the optical drive which is a slim-line laptop CD-ROM, and the power supply which is a laptop one as well. Knowing this, what HP and FIC managed to achieve in 2000 was quite amazing – to the point that these lived on for years after their useful lives as “carputers”.

The cost of reviving the e-Vectra is probably bad value compared to buying the Lenovo Tiny. The unit came very clean and the hard disk inside only had 43 hours on it. Chances are, many of these hours may have come from the data destruction process and these units didn’t actually see much in the way of any actual use. The fans are completely dust free! I’ve since upgraded the RAM and swapped in an SSD into the Lenovo Tiny, using parts I had left over from other laptop/desktop upgrades.

Conclusion

It seems that the HP e-Vectra failed due to the classic culprit of bad capacitors. With a bit of persistence, it is possible to replace all of the capacitors and bring it back to life. I tried a new technique with a hot-air-gun which seemed to work, but did leave some discolouration on the board and may have been stressful to the substrate of the board. It was, probably, better than using a single iron and a one-leg-at-a-time rocking technique which I used to use … but ideally, perhaps a desoldering gun is the best way. Only two values seemed to actually test bad – but replacement of all capacitors is recommended for reliability reasons. This is something you might undertake out of “love” for the unit, rather than practicality – newer refurb SFFs are plenty cheap and much more capable.

It was by comparing the e-Vectra to a newer SFF that I am reminded of what HP and FIC achieved – the ability to shoehorn a full-fat desktop CPU, chipset, full-size DIMM and full-size hard drive into a box with a laptop optical drive and a laptop power adapter. Many of the later SFFs such as the NUC and even the Lenovo Tiny are based around laptop parts which are inherently low-power and compact, with some performance and cost disadvantages. The e-Vectra seems to have been quite compact, without any of these downsides, which is why I loved it so much back then … and still have a soft-spot for it today.

Posted in Computing, Electronics, Tech Flashback | Tagged , , , , , , | 3 Comments

Random*2: Happy New Year! Ethernet Issues, Saving a HP Microserver, Thoughts on AI & More

Hmm … how long has it been since my last random post? Wow, it’s been more than three months! I guess it’s time for another one … although I suspect you could already tell from the fact that there haven’t been many of these, that I’ve just been more busy than ever. As a result, this one’s going to be exxxxxxxtra (extra) long … so perhaps don’t try to read all of this in one go?

Happy New Year!

First thing’s first – Happy New Year to you all! It’s now 2023, and while it is technically an arbitrary distinction to make, it is for many people an occasion to reflect, celebrate and make resolutions. That is something that takes a bit of time …

Looking back on 2022, it is hard to describe adequately in a word, but I would probably choose busy as a good candidate. I was very much occupied with design challenge blogs and RoadTest reviews for element14 Community Forums, which netted me many awesome prizes including a new laptop, set of noise-cancelling headphones, thermal imaging multimeter and more. It was a nice time exploring things that I wanted to experiment with and reviewing interesting products. It was a good year in the sense that the main blog site finally migrated to HostingBee from GoDaddy as I was over paying for their exorbitant and limited shared hosting plans, although a later HostingBee migration resulted in some downtime and quirks. While I did manage to put out posts on a more-or-less irregular basis, whether they appeal to readers or not is very much hit-and-miss. Unsurprisingly, ad revenue continues to slip, but thankfully this is not something I rely on getting. Thanks to a few generous readers sharing my posts on HackerNews, I saw some real blips in my traffic count – now reading 5.25m views since 2013 (on browsers which allow Javascript tracking) with a total of 1587 posts to date.

Unfortunately, there were many things which I said I would do, that I never got around to. One example is to make the theme more mobile responsive, as I love this rather “antiquated” theme and my content layout works well with it, and newer themes really mangle my old posts. But I’ve not had the time to sit down and look at the code, since preparing new posts always seems to take precedence. I also had intended to finish posting about my 2017 holiday trips around Asia – my pictures of South Korea, Taiwan and Hong Kong still haven’t been posted and it’s now practically six years ago! Through the pandemic, I let my passport expire, so I suspect I won’t be going on any holidays soon, while over 10TB of data still sits from my previous holidays awaiting examination. I also teased writing a series about archival – I still very much want to do this, as it’s probably more complicated than people may realise, but I still haven’t been able to find the time.

The main reason for this is just how busy I have been with my commitments – in some part to element14, but also to some companies who come to me by direct contract (a few major reviews to come this year). My work never relents either, as my responsibilities grow further and I’ve ended up being a course coordinator and academic supervisor for the Professional Experience (PX) capstone unit for the university, in addition to my research roles which frequently see me doing technical admin stuff as well. These responsibilities are only likely to grow with time.

The family keeps me busy, as we worked hard to take care of my cousin who was here on international postgraduate study, got hit by a bus and was hospitalised. I helped support my Mum through planning her trip back to Hong Kong during a turbulent change in COVID-19 restrictions to see her father, assisted with her decision to retire and to help plan a strategy for her future. My Dad, his friend and my aunt kept me busy with various electrical jobs, computer repairs/upgrades and internet provision at their house (as they too, are now living an LTE-only life). Similarly, my brother managed to bring me his ancient workstation an old server that went belly-up more than once due to RAM and PSU failures – in spite of numerous recommendations to upgrade, I suppose it may never happen on their own volition.

While no time ever really “goes to waste”, I’ve found myself feeling the effects of ageing slowly. I feel that I can’t quite multitask as heavily as I used to – memory is not quite as fast and accurate as it used to be. But I’m still handling what needs to be done just fine. I now know just how time keeps running away from me and that not everything I want to do will get done – time just won’t let that happen. So I’ll just have to keep shuffling the deck of things that need to be done, doing what I am most interested in at any time … perhaps seemingly aimlessly, but hopefully not in vain.

Because of this, over time, my hobbies have changed somewhat. No longer do I have the time to indulge in watching Korean TV, instead, that has gone by the wayside. I find myself doing less with radio locally at home – there just isn’t any good reception to be had from home, although online SDRs still work although access from VPSes is now nearly impossible. Satellite and terrestrial TV have also fallen by the wayside somewhat as they are less interesting to me now and the equipment has slowly been beaten down by the weather, unlikely ever to be replaced. Linear broadcast seems to be on numbered days, as I don’t find myself willingly turning on the TV or radio, even though my Dad still does. My love for computing, electronics and fixing things remain – that has not changed.

Two years ago, I was bed-bound thanks to an ankle flare-up which led me down the path of playing Genshin Impact. This highly popular “free-to-play” gacha game has received many deserved accolades for its music, storytelling and open-world exploration of which I enjoy immensely. It is, as some call it, a waifu-collection game and by playing it, I’ve been exposed somewhat to the subculture, but I’m still focused mainly on lore and exploration, remaining purely F2P and not being too worried about not “measuring up” to the standards of whales in terms of damage, weapon and artifact quality. Even without needing to open my wallet, it’s offered me countless hours of enjoyment – although this is time I might have otherwise spent doing technical stuff. They also offer a lot in terms of out-of-game events as well … I feel they really love what they do and they’re out to offer the players a good experience even though they did miss the mark from time to time. Nevertheless, it’s been a decision I don’t regret even though it is a bit of a daily commitment (AR58, 48 characters). I grew up enjoying Spyro, Pokemon, Euro(/American) Truck Simulator (1, 2), The Crew (1,2), Burnout Paradise, NFS Underground 2 amongst many others … it’s amazing just how polished Genshin can be with its OST, how emotive its storyline is and it’s something that you don’t have to pay money to experience. That being said, I am playing it rather “anonymously”, so you probably won’t guess my username/UID … playing from Australia is also annoying, as the ping rarely gets better than about 230ms. Ad astra abyssosque … fellow travellers! Being recently bed-bound again due to an ankle flare-up reminded me that … in spite of originally wanting to keep this a bit of a secret, I feel it’s probably something best shared, especially as it is more mainstream now. For those who don’t know, this documentary analysis of the game seems very apt in explaining its appeal and success.

Of course, between everything that I do, my personal life hasn’t seen much in the way of changes. I have met a few people and had an occasional outing, but rarely do I find what I am looking for … and rarely do they show interest. Ultimately, there is no reason to try and force something that was never meant to be, but I am hopeful … even if a bit drained from the experience. I guess that’s what being an introvert is like … being “stuck” in my own very comfortable and well-equipped bubble!

While most of the world has seemingly moved on from COVID-19 restrictions and are treating it as “just another flu”, the virus continues to circulate, mutate and cause suffering. At this time, I still haven’t knowingly contracted it – making for a bit of a nervous mystery for me. When I get it, will it be severe, or will it be mild? Cumulative damage to the body, especially cognitive function, from multiple infections seems likely – so it’s still something I feel is best to avoid, especially as an academic. I don’t need to lose any more of this brain! I agree that we should not live in fear, but we should continue to take sensible precautions. I just can’t believe how many people out there still continue to be anti-vax (in general, or in specific to COVID-19/mRNA vaccines) and how many deliberately misinterpret statements or data (especially out-of-context) to claim support for their fringe views even in light of the number of vaccinations that have been successfully administered and the lack of evidence of any systemic risk greater than that of contracting COVID-19 itself. There was a time I thought people could handle data and information … but now, I realise that such information literacy and ability to reason is perhaps rarer than I thought … no wonder access to information and the internet alone is not enough.

Regardless, 2023 will be an interesting year. I expect things to get even more busy, but there will be a few rather meaty reviews on their way for sure. But I can’t say too much about that just now … it’ll be something for you to look forward to. I hope to bring more of the same – random product reviews, tech flashbacks, teardown images and random postings of observations. As I seem to buy less “leading-edge” technology nowadays, it seems the view counts have reduced a little – but I don’t write my content for view counts necessarily, so it’ll be posted whether you like it or not. That’s the fun of having your own site! Perhaps one day in the future, some posts will be rediscovered and “blow up”, but for now, this will remain my little (poorly sorted) “tech museum” on the internet. But sometimes, because of all the work and pressures, I can find it a bit more difficult to write than before, so perhaps the pace of blogs will slow a little.

As always, thanks for staying with me and visiting … it motivates me to see that I still have readers. My best wishes for you this upcoming 2023 – may this be a good year for you and your family.

Site Updates

Keeping this site alive isn’t as easy as one may think. It’s definitely not a set-and-forget procedure, especially with all the vulnerabilities being discovered and hackers roaming around. One must keep constant vigilance to maintain the site in a clean and reliable state.

I suffered a bit of downtime recently thanks to Hostingbee’s server migration – nothing was lost in the process, but they didn’t inform us of the new host address beforehand and the original server went down in spite of what they had indicated to us by e-mail. As I wasn’t using their DNS, I didn’t have the benefit of their automatic changes, so we were down for a few hours. Occasionally, OVH has an outage as well, but this is very rare and so far, the uptime stats have been very good (for the price I’m paying). The migration did have one casualty in terms of functionality – they moved away from LiteSpeed, so I had to say goodbye to LiteSpeed Cache.

I’m now in the process of moving my domain names away from WebCentral (formerly ZipHosting, formerly Hostess) as they’ve really cranked up the renewal fees for both the domain and domain privacy. They also don’t offer DNSSEC in this age, which I find a bit unfortunate. There are many affordable choices around, but I am opting to go with CloudFlare Registrar, as it will integrate easily with CloudFlare. Hopefully getting all those security features turned on (soon) will not result in any downtime.

I must apologise to a few of my site’s dedicated readers – recently, they had informed me that they had persistent issues with incorrect nonce values preventing comments from going through. I know having your comments swallowed up by the system is really frustrating, especially if you’ve tried multiple times, but it was a problem that was tricky to debug. Part of the cause seems to be W3 Total Cache which I opted to go back to, from LiteSpeed Cache.

On its own, W3TC usually doesn’t fail me, but perhaps it’s the mix of W3TC and another security plug-in that is rotating nonces more frequently, that is causing the trouble. Add to that, it seems that after the server migration, WP Cron isn’t firing reliably … that may have been the perfect storm that created a runaway cache that consumed all 500,000 inode entries and broke the site just at the beginning of the year.

While I have fixed WP Cron now and it’s firing (more or less) regularly, I have disabled W3TC’s actual caching for now and comments seem to be working properly. I may bring it back later to assist with handling high-capacity days, but the host has sufficient resources to handle things without caching for now. Perhaps it was a broken WP Cron that was behind all these issues … but this is the “fragility” of running a WordPress site with third-party plugins that has been migrated through four different hosting set-ups.

DWD Christmas/New Year HF Fax

Thanks to reader Maksim for leaving a comment on this post and sending me an e-mail, I was alerted to the fact that DWD was sending out a special Christmas/New Year fax.

I decided to crank up my WebSDR code to try and grab some faxes. Because of an overhaul of my microservices at home, I had reinstalled virtually everything so some things that previously worked have broken – kiwifax.py for example was broken because I had no Python 2.x on the new install as it was depreciated and the code itself has some bugs with Python 3. My WebSDR recorder wasn’t entirely unscathed too, as it doesn’t work properly with the “Ubuntu Snap” containerised versions of Firefox as Selenium and Gecko WebDriver seem to have issues with loading the temporary profile, so I had to revert to a non-snap Firefox to make it work.

It was all done in the nick of time, having been advised about its existence so close to new year. On 31st December when I tuned in for the first time, I was able to catch an inverted fax that was misaligned just before the Christmas/New Year fax …

Unfortunately, the actual fax was rotated the wrong way. This is something the reader had informed me about – they were lucky enough to catch it the day before when it was correctly transmitted as landscape.

Thanks for letting me know – I don’t have the time to keep an eye on all the services, all the time, so any reports are always appreciated. Unfortunately, the next attempt seemed to have regular faxes … ah well.

Thoughts on Internet Shopping

Recently, I find myself buying less and less stuff. I don’t know if this is what it means to be satisfied, or whether this is what it means to have “peaked” in life, but I can browse many catalogues and walk through shops with no impulse to buy. I look at the prices, I tell the “fake news” sales from the real, I see little desire in chasing the “new” for the sake of novelty. In all, shopping is done more as an exercise to fulfill needs, rather than to cover wants … there’s little that I truly want, unless it is truly a bargain. That’s my weakness, I suppose.

But I am worried. Internet shopping, when it first came to being, was a utopia of the business-to-consumer model with no middle-man, offering lower prices, faster service, direct-to-door delivery at reasonable prices. For the most part, it has achieved the conveniences we have expected and COVID-19 only saw a greater shift towards online shopping. But the online shopping of now isn’t quite the online shopping of the past …

Now, it seems, online shopping is riddled with lots of silent kickbacks and referral marketing. Ever heard of cashback sites? Well, they work by “referring” you to a site you were going to buy from anyway and receiving the commission. Then, they pay a slice of this back to you in the form of a cashback. In essence, they present themselves to the store as a “funnel” to get customers for a particular commission, while simultaneously presenting themselves to the consumer as a “service” that gives them benefits of cash back. Affiliate links are much the same – but instead of you getting any of the commission, all of it is kept by the user of the affiliate program. They present to you that “it costs you nothing extra” … and when you check-out, you will pay the same amount.

Except, this is only true on the surface. Where does this commission get paid from? Obviously, the company has to pay this out and it’s real money. So where does the company get its money from? Of course, it’s you … the consumer. Everyone’s paying in the form of inflated pricing … but a few benefit from it. It’s the same with “free shipping” and “no surcharge” on credit card fees. There is no free lunch. If anything, the cut that Visa or Mastercard take ranges between 0.5-1.5% depending on the card … that’s your money that they get just to “move it around” for you. Using EFTPOS is less than 0.5% as it is a co-operation between banks, but I’ve seen some banks (e.g. Macquarie) actively remove EFTPOS functionality from their cards and others mandating a certain number of Visa Debit/Mastercard Debit transactions per month for bonus interest, purely because this lets the bank earn some money back on these fees. Again, no free lunch!

As someone who is willing to go the extra mile for a bargain, I’ve been using these services despite my reservations simply because it is a benefit to me. But I am cognisant that the cost is borne by someone else in the end … but it’s now getting even worse with the proliferation of gift cards with bonus cashback – now companies are incentivising you to buy into gift cards (in essence, loaning them money ahead of time in exchange for goods later) by offering you a discount on the gift card, leaving the consumer to shoulder some level of risk (e.g. future price hikes, company collapses) and adding some inconvenience. For some vendors, it makes sense – e.g. supermarket gift cards will always find a use. But it makes me feel sad when one can pay with a supermarket gift card and get 4% off while potentially double-dipping and earning some rewards points too, while those unaware are paying full price and likely subsidising the scheme. After all, most gift cards are issued through “networks” which themselves charge some overhead … with every step, there will be some money “taken”.

Another thing that really annoys me as a bit more of a professional reviewer is the fact that many smaller sites are being dishonest with reviews. To see a product with several thousand reviews, but zero reviews from 1-3 stars, is very unlikely. Many sites are quietly filtering out bad reviews in the name of “violation of review policies” while keeping only the good ones. Reviews on shopping sites are rarely truly honest – incentivised reviews on many sites see users leaving reviews when they haven’t even received the item so they get their “10c reward”. Others are more egregious, promising gift cards on evidence of an “organic” high-praise review – I’ve received such offers myself and have turned them down or reported them every time. Purchasers who rely on these reviews derive no benefit from these ratings, and may find legitimate reviews drowning in a sea of meaningless drivel. Worse still, large sites (e.g. Amazon), due to policy, reject reviews where there are URLs or links – so if I’ve bought a product and reviewed it on my own site, it’s not possible to link it in my review. I can understand this as taking users away from the shopping site is a big risk to the site in terms of revenue and safety. Because of this, I simply can’t be bothered reviewing it on their sites at all anymore and I can’t recommend that anyone takes the reviews left on shopping sites seriously at all.

Then there are the listings, and there are numerous ones, which use misinformation and scare tactics to sell. I’ve seen passive travel plug adapters claiming a silly number of protections which are not present – things like over-voltage, over-current, over-temperature, etc. I’ve seen listings of USB-C cables where eMarker chips are said to “stabilise the current” when they merely identify the type of cable attached and its permissible limits. Finally, I’ve seen renders of the internals of devices which are so obviously fake – using a picture of an Intel CPU as a charge controller, having capacitors all nicely arranged in a row … etc. Then, there’s also the “branding” of certain features using new, made-up terms, so they can say they have something that their competitors don’t have. It seems that marketing has taken over from being technically honest – it’s cringe to an engineer, but it seems consumers must be lapping this up and be vulnerable to this sort of exploitation, otherwise it wouldn’t be so damn common.

It seems the “utopia” that was online shopping has merely become a new battleground. What was product placement on shelves becomes altering product rankings on searches and promoted/recommended “slots” in results. What was promotions in-store becomes coupon codes and cashbacks online. What was once TV and radio advertising is now social media saturation – invading social media once intended for person-to-person communication, driven by giveaways. What was once a middle-man, is now referral marketing schemes, gift cards, credit card fees, rewards points and more cash-backs. Awareness helps, but it doesn’t stop the annoyance and the understanding that some of our money is being funneled away regardless, especially for those not willing to go the extra mile to save. But sometimes, I can’t help myself – likes and follows are free … and a little spam for the chance to win a shiny new product just seems like good value for someone who is mostly ad-blind, while a cash-back can be real money in the pocket. But I know that others aren’t … and that’s where I am afraid as this means the market isn’t a level playing field and that perhaps it’s the less-savvy that are having to shoulder the additional costs or are being duped into buying things that are sub-par, that they don’t want or need.

I guess the traditional economy won’t work without their “middleman” taking a cut … even if it’s for doing something that’s absolutely trivial.

Network Anomalies

Towards the end of 2022, my home network was suffering some anomalies. As I live in a two-storey house, there is equipment on both floors and a fair amount of data moves between floors. A key design choice was to have my LTE/4G WAN modem upstairs on a tall shelf to gain the best access to the mobile network signal and aid in obtaining carrier aggregation. My 3D printers and core router also resides upstairs, with my Dad’s bedroom computer. The Wi-Fi access point and the remainder of the computers and laptops are mostly downstairs – this was a choice made to reduce the noise pick-up of the Wi-Fi router and improve signal strength in the areas where it was needed most, while reducing needless signal beyond property boundaries that could cause interference.

To make all this work, a pre-made 30m stranded Cat6 cable was strung in the open, connecting between the core router’s GbE port and a smart switch GbE port. It carries several VLANs to keep the network partitioned for reliability.

Hit the Brakes!

This arrangement functioned perfectly fine for about three years, but then, during a Zoom meeting, I had a 20 second interruption and thought nothing of it. It was several weeks later before I noticed that the 3D printer webcam stream seemed to be a bit slow. Then, I noticed that my LTE download speeds had reduced too – no longer at the 200-400Mbit/s I frequently get.

Logging into my switch revealed that the port had connected at 100Mbit/s instead. Curious, I rebooted one end of the link and we were back at GbE rates … within 48 hours, it would be back at 100Mbit/s with a short (sub-1-minute) interruption. I wondered if this was a problem with the port on my decade-old smart-switch, so I swapped to a different port. The problem seemed to go away, until about three days later when it came back to 100Mbit/s … and stayed at 100Mbit/s.

I already knew from the symptoms that this would be a cable problem. It may even have to do with the fact that I laid it in the open with no care, in a way people could step on the cable from time-to-time. But this had never caused me any major grief in the past, but now, I wanted to know more. I tried using the cable test diagnostics on the switch – but they passed just fine, although the length was reported as 30-60m. Curious.

It turns out that at around the same time, I decided to embark on a PCB project that would allow me to build a RJ45 joiner and breakout, mainly intended to snoop in on signals running along RJ45 cables (e.g. serial, Ethernet, video, USB, etc) to satisfy my curiosity. It wasn’t designed with too much care, so I could hardly guarantee signal integrity, but it was designed to be universal – accepting sockets of different orientation and with LEDs. This would be a way for me to gain easy access to each wire of the cable.

I even designed a small 3D printed box for it, to turn it into a clunky joiner. I didn’t believe it, but Ethernet is so tolerant that the “stubs” formed by the header pins and my clumsy routing caused no problems – I chained four sections of cable with three joiners between GbE ports and maintained GbE connection and practically indistinguishable iperf3 bandwidth results. It was also a bit cheaper than buying commercial – a joiner intended for data usage costs about $10-20, while this one cost me $1.80 for the PCB, $2.40 for the jacks and $0.60 for the plastic for 3D printing. I can’t guarantee the compliance, but it proved handy for this problem.

I suspected one pair had probably broken …

… so I decided to more accurately test wire resistance using the Keithley 2450 SMU and a four-wire connection to the break-outs. Indeed, the bad cable showed two wires having high resistance compared to the rest.

For comparison, two shorter pre-manufactured cables were also tested. Those cables both seemed to have thinner conductors than expected, so their resistances were not as low as expected. Nevertheless, it shows that the deviation in resistance from wire to wire was significantly greater for this cable than the others. That was probably causing some sort of signal imbalance that would cause the link to fail at GbE rates, but be fine at 100Mbit/s as one of the affected wires is also used for 100BASE-TX.

As my backhaul trunk line was most important, I replaced it with a spare 25m Cat 5e cable I had lying around. That one was quite beat-up and previously used with split outer jackets. In the meantime, I decided to save this wonky cable by cutting it up and crimping new connectors to it and measuring segments to see where things went wrong.

For reference, this is the element14 Duratool D00125 crimp tool that can be had for AU$10, which I paired with some Multicomp Pro 7001-8P8C-R plugs for AU$15/100pcs. Having never crimped a modular connector before, I was surprised to see how easy it was to do – provided you can finagle the wires to the right channels in the plug. That’s the tricky part!

When all was said and done, I recovered about 24m of the 30m cable – a segment which had been walked upon and had a split jacket was discarded even though restively, it showed no deficiencies. It may fail in the future and the geometry of the cable was probably compromised. While the crimp and connectors cost about the same as a new cable, what I really wanted was to learn how to crimp the connectors so I could save other cables – especially when those pesky retention tabs are snapped off. Now, I’m glad to report that I can!

The failure point actually turned out to be a segment within 2m of the end point near my core router – at a place where a loop of slack was left and no stress was expected. I think this may just be the manifestation of a latent fault (i.e. maybe the cable was pulled or tripped upon and the strands had already broken), requiring many days and thermal cycles to make bad enough to cause link failure. Regardless, I didn’t waste most of the cable – but I did waste a few plugs in getting wires in the wrong order and in crimping to a bad segment of wire. Just for fun, I de-sheathed the 2m of bad cable and inspected each conductor carefully – I couldn’t identify any anomalies from the exterior. Whatever was the cause of this fault was not something the eye could easily discern.

Mobile Tethering Corruption

Readers may have also read that I had recently reflashed my phone with a different ROM. One of the things that was broken in my previous ROM was tethering – whether by Wi-Fi or by USB, it had a tendency to cause silent data corruption to data and this would be picked up on SSL connections especially.

Unfortunately, I can report the latest, and final, official ROM also seems to cause this problem. Given that the phone also occasionally has radio crashes that causes it to drop out entirely from Wi-Fi and/or mobile, I suspect a hardware fault perhaps in the modem IC that is causing this. Perhaps the hardware-acceleration for tethering is causing corruption. That being said, using data on the phone itself and downloading phones on the phone from mobile data has no corruption whatsoever – it happens only when tethered.

The phone is probably on its last legs – the screen also seems to be suffering from bad cases of afterimages (ghosting, burn that clears after about 15 minutes) – perhaps the LCD driver isn’t perfectly DC balanced, but it is extremely noticeable now. On the prior ROM, occasionally the display would behave as if the gamma was suddenly “stepped” and would only resolve on a full reboot, so perhaps this is yet another hardware anomaly. But if it doesn’t fail entirely … I’ll probably just keep flogging it.

Improving the Network

Over this period, I’ve been improving my network a little by consolidating quite a few microservices provided by several Raspberry Pis into a single low-power x86-64-based machine. This now takes over the work of four Raspberry Pi (or equivalents) which help keep my instruments busy automating SCPI runs, serves time to the network, runs a reverse tunnel to allow computer access from the outside, provides a small NAS, keeps my surveillance recordings, runs WebSDR/KiwiSDR recordings and more. It now also runs a few more services including two VMs, one of which runs the PBX hosting my “Sa(d)nta Hotline” and the other which runs a Ubuntu Server for me for some experimentation.

This arrangement makes it a lot easier to keep everything running, especially in the face of all those (potentially) unreliable power supplies and microSD cards, of which I’ve had a few failures last year. Genuine Sandisk Ultra cards are on the “ban” list for that reason alone – I lost three cards in a single year! The downside to the arrangement is “losing everything” when it has to be rebooted for software updates or if something goes wrong. Being x86-64 based does make it easier to work with though … it’s basically yet another ordinary PC.

It also seems to potentially save some power by using a more efficient processor and avoiding the overhead of all those power supplies and Ethernet connections. To that end, I’ve found myself migrating a lot of my day-to-day work away from my workstation and to my new Lenovo Legion 5 laptop. The single screen is perhaps a downside, but there is no denying that it is a lot more efficient than a large desktop with a fleet of spinning drives. That should help with keeping energy waste (and bills) down, contributing to a more comfortable room temperature such that this summer, I’ve not had to use the air conditioner at all. That being said, I’m happy that I don’t migrate between machines all that often – it can be a pain if you have a lot of special software and particular configurations.

Yongnuo YN-560 Flash Tube

Another tech casualty (and I don’t usually have many) was my aftermarket Yongnuo YN-560 flash. That unit is over 10-years old and has slowly suffered from a buzzer that wasn’t buzzing properly to having degraded recharge times and a slightly loose battery door. As a fully-manual flash, it’s been responsible for providing some fill light for product photos on the website for a long time.

Unfortunately, one day, it just stopped starting up at all. Before that, it would need many attempts or a hold of the power button to get it to stay running. I’m sure it was tired and I was tired of fighting with it. I was pretty sure I couldn’t make an easy repair on it, so I decided it would be scrapped. A decade is enough …

While I have replaced it with a spare YN-560II that I have on hand, I decided to take apart and salvage parts from the YN-560 for other projects. Not having much time, I didn’t document the destructive part of taking the unit apart, but I did notice the xenon flash-tube and thought that was worth looking closely at.

Looking at the tube is rather interesting – it isn’t clear like you might expect, but has noticeably darkened on the right compared to that of the left.

Looking closer, it seems the tube itself has been crazed from the inside due to the intense discharge, and that metal has sputtered itself into the tube from the inside causing the dark spots which will only accelerate the tube’s failure.

The other electrode is much clearer, although the cracks in the walls from the inside is clearly visible. The reason for the disparity is because of the fact that the tube has voltage applied in one polarity.

The trigger transformer probably uses the reflector as one electrode, and it seems this section nearest this end of the tube may be where the trigger is occurring. Or otherwise, there might have been some insulation failure resulting in some arcing to the back. Regardless of the cause, it seems the reflector has been burned through at this part.

Never having looked at a flash-tube that is anything but brand new, I didn’t realise just how discoloured and crazed they may appear. Given the age of the flash and the fact it’s been with me for so long, it probably wasn’t worth saving. The glance at the tube probably confirms this – but in its death, it still gave us some nice photos to look at.

Saving an HP Microserver N36L

Usually things are rather quiet for me, but this time, my brother had an issue with the storage server at their house – one that had been running for practically a decade without trouble. Upon remote diagnosis over the phone, it was clear that the power supply had let out the magic smoke, which was confirmed on its arrival at my house.

Unfortunately, the HP Microserver cubes, as cute as they are, use a proprietary form factor power supply with an ATX pin-out. Because of this, I had to get creative with the optical drive bay and duct tape to shoehorn a spare ordinary ATX power supply in its place.

As this was an “express pit-stop” service with 1-day turnaround, I didn’t have the time to do too much in the way of testing. But in the process of cleaning the machine up, I also removed 30 cockroach carcasses from the machine – those guys seem to have an infestation which may have been a contributing factor. Nevertheless, it bought the server back-up, even though it was still booting from its original Windows 7-based hard drive installation.

It did, unfortunately, come back for a round two of repairs just three months later, as it seems that HuntKey Green Star power supply I grabbed from the spares bin decided to pack it in – as expected, the culprit appears to be bad capacitors and I’m not sure if I’m going to bother repairing such an average power supply with known OCP “explosion” problems.

Anyway, I decided to swap it with a different, overpowered pull – a Corsair VS550. I tested the hardware thoroughly and found no issues – upgraded the box to 6GB RAM from 4GB, swapped in a 120GB SSD for booting from another decommissioned box and upgraded it to Windows 7. The existing hard drives had their data backed up, but the drives were still left in the box for some more service. The 500GB boot drive, which was a recent pull, had its data migrated to a Western Digital WD20EZRX 2TB pull, so they could have some more storage for their use (although reliability cannot be assured).

The two rather old drives inside are stellar – a Samsung HD204UI 2TB with 99,364h on the clock and no major issues, and a Western Digital WD30EZRX 3TB with 85,617h on the clock and no major issues either. They may fail at any moment being decade-old drives, but they are pretty much read-only archive stores, so that’s okay. As for the 2TB pull – I seem to have good luck with WD Green drives of that era, but anything could happen.

This time around, rather than use duct tape, I decided to opt for mounting tape. This gives it a slightly cleaner look …

… even though it is a pretty “hot-rodded” machine. It’s probably not a great thing to keep this machine around for 24/7 service as it’s probably not quite as power efficient as using a modern box and swapping all the drives out for a single 8TB+ drive. But that costs money up-front, and for a box that I don’t even use directly, I’ll leave that to my brother to decide when he finally decides to take my advice upgrade everything.

It finally made it back to my brother, and unfortunately, it seems to be randomly shutting down there. I wonder if there’s something wrong with the house … this will require further investigation but perhaps I’ll just replace it with a different box after all of this …

What About a Refurb?

I have been surfing the bargain sites a lot and it seems that there are many refurb machines available, sometimes for as low as $120 including postage. The price is sometimes extremely tempting when the coupons stack up and I am guilty of buying a few myself. They are a symptom of the “technology recycling” industry that partners up with companies and organisations to take the old technology from them at a token value, only to have them quickly sorted through, perhaps given a clean, reimaged and resold to consumers through eBay, etc.

Overall, it’s hard to be too enthusiastic about this, because it means sources of “free” computers and parts have all but dried up as organisations would rather recover $10-30 per machine in residual value rather than keep them around, or give them to staff/students. On the other hand, it may mean some of them don’t hit the landfills so quickly which may be beneficial and the “recyclers” may take care of the data properly, so leaks are less likely to occur. Some may, however, end up sending them overseas for them to be picked apart … which could lead to environmental trouble in the long-run.

Unfortunately, sometimes consumers knowing no better end up buying these refurbs which are many generations old being advertised unscrupulously as “i7” as if it were equivalent – 2nd/3rd gen Intel refurbs are still online and we’re seeing 13th gen in the stores – that’s decade old equipment! Prices are not always good either on the refurbs – sometimes the price of the equipment is so close to the cost of a slightly older-model brand-new machine that it would be a better choice to have the new machine for warranty support, battery life and energy efficiency reasons. It’s a case of buyer beware!

I suppose it’s nice to have a choice … but it’s also a bit depressing to know that this “choice” may also be taking away from sales volumes of new machines and make the market for new PC industry contract just a little. It may also be reflective of a market trend towards higher prices, leading to an “opening” which refurb vendors can exploit. It means we really aren’t getting as much for our money as we used to. Or perhaps it’s a realisation amongst many that they don’t need the latest and greatest, and that the less performant computers can still meet the needs of many non-demanding users.

Nevertheless, while ordinary desktops, laptops and SFF machines that are often seen on business desks are often found in the refurb catalogues, servers are pretty rare. I did consider buying an ordinary desktop and kitting it out with a few large drives … and I think that may well be the “Plan B” for this case.

Lenovo Legion 5 BIOS Update

Onto something that’s not broken – my “new” Lenovo Legion 5 laptop. I noticed that Lenovo Vantage was offering not one, but two BIOS updates since I had received it. While everything looked fine during the update with Vantage, the real scary part begins after you reboot from Windows.

The first step is that it boots into Insyde H20FFT to reflash the BIOS.

This part completes and you might think that things are over, but it’s not done just yet. It quickly runs into a second phase – the LCFC EC ROM update, which updates the embedded controller on the board.

From here, the utility says it will reboot the machine. The machine powers down, then the indicator lights up, fans come on and … black screen for almost a whole minute!

Then, it turns off … and on again on its own.

It seems that the update process does some sort of verification and then it proceeds to copy the updated BIOS to the backup location. Before this came up, I thought the update may have failed … but it was merely just progressing slowly with a black screen.

As a result, it pays to be patient with BIOS updates and not to be concerned if things take a bit to settle. After this completed, it booted into Windows and the new BIOS version was verified as being applied correctly. On the other hand, it would be nice if the upgrade was a little less scary.

Public Transport Random Observations

In-between postings, I’ve been travelling on public transport a little bit more since the COVID-19 lockdowns, with work approaching a four-day week at work. While there have been some observations, there’s also been plenty of situations where I missed taking a photo of interesting things … too busy thinking about work. Despite all this public transport – it seems I haven’t knowingly caught COVID-19 yet (touch wood) so it will be a surprise to me when it (inevitably) comes.

Looks like a bus driver was throwing out his rail-bus signs into the bin … but missed and scattered them about the exchange instead. Or maybe they sneezed … not a common sight.

This someone seems desperate for some companionship – the number has been censored. Graffiti on buses seems to be rather tame usually, but what is noteworthy about this one is the use of liquid paper type correction fluid – that’s something that has mostly fallen out of popular use now that we have been squeezing out the use of paper entirely.

The western regions have suffered from a bus driver shortage – I’ve seen timetable changes to hourly services at certain hours with gaps and sequential cancellations. It was horrible in late-October/early-September for our region. Things have been returning to normal though – but the bus driver shortage just seems to be a perpetual problem as the job itself is hardly a prestigeous nor comfortable one given how passengers treat them, and often it is seen as a career path towards driving heavy vehicles for logistics which may pay better. But thanks to real-time information, at least I could plan my journeys to minimise the disruption because of these changes.

Something strange happened to my credit card too. I suspect a sheared write or some corruption of the chip data had occurred, as the card was detected by the terminal on contactless but then requested it be inserted. Once inserted and PIN entered, the card “pretended” it had been removed from the machine. In both cases, trying on a top-up machine at Schofields and at Marayong, I had the system decline the transaction with code SYSTEM ERROR XX. I’ve never seen that before. Nevertheless, there was no magnetic stripe fall-back here, so I had to get a replacement credit card.

That did give me a chance to take a look at how much the top-up machines at Schofields are being used. I tend to use them often, so I note down the date, time and sales reference numbers from the receipts to see the trend over time.

It seems that the machine at Schofields averaged about 122 transactions per day throughout 2022, but the amount of usage has slightly increased probably as COVID-19 restrictions were entirely lifted and the return-to-working-normal seems to have been enforced from the top. The rate of use seems rather steady. As I don’t use other station machines often enough, I don’t have data for their popularity, but I suppose it will depend on the station’s patronage in general as well – Marayong, for example, may see quite a lot fewer transactions per day.

As a result of the return to normal, it’s become more common to see load indicators reach silly levels. Perhaps that’s a combination of train delays and social distancing capacity load calculations, but one thing that seems to have lingered from COVID-19 is the “unsocial” construct of wanting to reserve a whole row or pair of seats to yourself. In a packed-like-sardines train, some travellers still insist on this, while the meek (such as myself) are not willing to confront them about it. Unfortunately, in that instance, there’s no mistaking – that was not out of care for others, but care for their own comfort.

Of all places to find a (presumably) rail survey mark – on this wheelchair ramp cabinet at Seven Hills station, mounted on a light pole. I wonder just how stable it is, in terms of its position.

I haven’t travelled on the North-West metro in a while – operations now seem relatively smooth even if the frequency isn’t as high in the evenings as they originally planned. I spotted this feedback QR code on the barrier gates at Epping station – it encodes information about where it was scanned in the URL for their analytics.

At Westmead, the construction of the Parramatta Light Rail is continuing, although it seems to have been delayed in its opening by about a year. It was slated to open in 2023, but has been pushed back to May 2024. This is unfortunate for me, but also in the background, the ground for the metro station at Westmead continues to see work done to it as well.

I mentioned previously seeing equipment for Vodafone’s tower upgrade. It seems that not after a week after installation, the crews came back to perform some adjustments.

You know lift buttons take a beating now that people don’t want to touch them with their fingers. I see them being elbowed (my preferred approach), all the way up to being kicked. This one has been vandalised so much that they ran out of “B” buttons for buses, so they had to replace them with an “S” button, usually used for street.

A new initiative by Transport for NSW sees sunflower lanyards and wrist-bands available for free for customers to indicate they have a “hidden disability” and may need extra assistance. These can be collected from stationmaster offices at select stations or via online ordering through a system operated by Finsbury Green (called Shout). I think this is a great initiative and I’ve ordered some on behalf of my ageing parents and relatives to keep them safe while they use public transport. It’s nice to think they’re being looked out for and the design itself is pleasant, aesthetically pleasing and avoids stigmatizing the wearer.

Thoughts on AI – A Revolution In The Making …

I am definitely not an expert on AI and it’s been a while since I read the excellent book Artificial Intelligence: A Guide for Thinking Humans by Melanie Mitchell, but it seems that 2023 will definitely be a year for AI to shine. It seems the AI winter has thawed, the increase in computational capabilities has met with more sophisticated models, and interest in AI continues to bloom as it continues to amuse and impress the masses. Like it or not, even if you are not aware, AI is already in charge of making many decisions for you – whether it is directing your phone calls, deciding what products to recommend you or automatically analysing photos and medical imaging scans for signs of cancer.

It seems almost overnight that OpenAI’s ChatGPT became a big talking point. This model generates text responses to prompts and has been trained against a very large set of data. As a result, it can produce very plausible responses to prompts, even going so far as to understand requests to mimic the style of certain celebrities. It is even, at times, capable of generating code that may work. Anyone can try it – as long as they sign up for an account and hand over their phone number. People have even used it to write replies to recruiters, answer essay questions for homework and generate responses to prospective dating matches and successes are not rare. As a result, this is of great concern, especially in the academic space.

I, myself, have tried it. Throwing in question after question, I received my responses. But it didn’t take long for me to tire of “talking” with ChatGPT – it was astounding in the fact that it seemed to be able to answer so many questions phrased in many different ways, but it wasn’t engaging. It’s not like having a conversation with a human. In chatting with the model, I realised that I wasn’t really having a conversation, but I was more probing the AI to see where it would “break”. I was challenging the AI, and it was “returning serve” every time with text that was always grammatically accurate, ethically compliant with the addition of bookend disclaimers and completely emotionally-devoid. It had proven to me that it is able to parse most ordinary sentence constructs and generate responses – after all, an AI really is “Bayesian statistics on steroids” and computers have a memory far-exceeding ours. But ask it something more complex, something that happened beyond the dataset it was trained for, and it will keep repeating or remixing what it already has shown you … other times, pulling assertions that aren’t supported. Ask it follow-up questions and its limited contextual memory begins to show as it confuses itself. Expect it to understand sarcasm, and you’re going to have a bad time. While it is more useful than any AI model that has come before, it is not sentient and it is not the “holy grail” of artificial general intelligence which people have long hoped for. As a result, there have been rather numerous meme images circulating of ChatGPT coming to the wrong conclusion on simple math problems or brainteasers. Its not that ChatGPT responses are indistinguishable from human responses – GPTZero is one attempt to use AI to detect AI-generated text.

We’ve seen many other different AIs emerge – from those that help you interact with companies in the form of chatbots and interactive voice-response systems, to those which do video upscaling and generate art. Take for example, this clip that shows Rick Astley’s Never Gonna Give You Up upscaled to 4k with AI. At a first glance, it looks amazing, but look a little closer and how the AI works seems to expose itself. Clarity is improved in some instances, but the microphone doesn’t look the same at every zoom level. The clarity “pops in and out” as the scene changes … lines start to “wriggle”. While it is passable for general viewing, it cannot really accurately “recreate” something that wasn’t originally captured. Those who are enthusiastic about throwing grainy low quality surveillance footage to “enhance” it to the point of catching a criminal will find that it just doesn’t work like that. In watching that, I suppose our own intelligence is a little different – this is probably why we often “remember” things like old video clips as being “clearer” than they actually were. This is because we don’t perceive the video as individual frames, instead, we can conceptually understand and segment objects from the video, follow it around the screen and “integrate” information about the object as we see different angles of it over the dimension of time. The AI seems to be much more naive, as it’s not quite as capable … but that’s not to say that it won’t someday be able to do that.

Likewise many (traditionally) non-artists have relished in the availability of tools like Craiyon (DALL-E Mini), PicSo and Stable Diffusion which can create “art” from text prompts. Tools like Picsart’s SketchAI can even take outlines and turn them into full drawings. This has been used to the delight of many to create new, interesting and potentially unsavory content – deepfakes was only the tip of the iceberg. While some of the artwork is aesthetically appealing and could rival human efforts, this is only because countless failed attempts were discarded through the efforts of human curation. Most of the models have no understanding of the subject and a poor understanding of the expected output – humans with three arms and eyes looking in different directions are just fine for the AI as it has no “understanding” of what it’s creating, merely seeing what is the “best match” that minimises some internal metric of error, or maximises some internal metric of goodness.

If anything, this has ignited a large furor about what the difference is between AI generated output and human-generated output. In most cases, it seems that users are valuing genuine human output higher than AI-generated output, going so far as to ban AI-generated content on certain websites. At present, AI-generated works cannot qualify for protections afforded to human-generated content. In my opinion, while this is perhaps “correct” for now as most naive models just generate a lot of “garbage” which may serve to frustrate and confuse humans and AI alike, we may have reached a point where AI-generated works are indistinguishable from human works, so what is it exactly that makes us value human works more? Perhaps keeping the status quo is more a reaction out of fear and uncertainty – perhaps this is a conservative and safe choice that avoids potentially creating AI training loops that reinforce or perpetuate minor mistakes into something much more severe.

It’s perhaps more important to decide what makes us human, as it’s obviously not the ability to digest and process a large amount of information accurately. Perhaps it’s the ability to draw inferences and extrapolate with reasoning, but perhaps technology would be able to overcome this barrier too. We may value our experience, but medical AIs continuously show that they are able to match or better the average human’s ability. I can’t say that I know the answer to what makes us different – but I’d have to imagine it’s probably something to do with emotion and being able to “feel”, contextualise and understand subtleties such as sacrcasm and self deprecation. If I asked a human the same question in different ways over-and-over, they’d at least show some frustration. Although I’d probably be proven wrong soon enough when an expert AI that manipulates emotions comes out. Maybe there’s nothing special about being human after all – the more you look  at animals, the more you realise they too have many instincts, learned behaviours and communications capabilities that are adapted to fit their environmental niche. Perhaps we really are no different … but that doesn’t diminish our existence necessarily. It may mean that being a human is easier than we might have thought – there’s literally nothing to it.

Perhaps through developing AI, we will understand that consciousness is not as complex as first thought, even though we may be in denial about this for a long time. Perhaps we merely are governed by chemical interactions that are mathematically predictable, interspersed with just the right random initial arrangements that create “life”. Perhaps living and evolution is merely just a “class” of self-perpetuating arrangements. To some, this may be a very depressing revelation, but given of what I know about the way some people live their lives, I wouldn’t think this is out of the realm of possibility.

In the end, the AIs are still very specialised and work only on certain tasks. While it may have superhuman memory and capabilities in those areas, they are also very inefficient. Compared to straightforward algorithms, AI ones require significantly more computational resources both to train the model and to do inferences. The best-performing models may not be efficient enough to meet the needs of users, so often compromises are made in real-world scenarios. In saying that, just imagine that a human averages about 80W of energy consumption in total … or about the consumption of a laptop computer, and we can move about and process information in real-time with that. A computer has no chance (at present) of being anywhere near that efficient. I dare say, there will be many places where humans are still required – whether this is to create, drive and oversee the AI’s operation, or to take responsibility when the AI is out of its depth. The greatest benefit comes not from rejecting progress, but from making the best of the advantages of each – AI’s specialised/information processing capabilities and a human’s generalised processing/physical abilities. In that sense, will Tesla’s Full Self Driving ever get out of beta? Somehow I doubt it … but it doesn’t have to in order to be useful to drivers. It’s just that humans aren’t (currently) great at supervising automation and that we may be placing too much trust in some systems or being complacent by deliberately ignoring instructions and warnings. But this is an active area of research and humans are adaptive – I believe we will “co-evolve” to work together.

As a result, I think we are once-again, on the cusp of some potentially exciting developments in AI. Just as the telephone network started off small-scale, connecting just a few people, then a few towns, then a few states … with the progress of technologies, the scale-up can be exponential, given a perfect alignment of motivation, funding, interest and technological breakthroughs. Before you know it, you end up with a network where you can call anyone in the world from anywhere … then we move onto something else. I think the recent surges in GPU power and AI accelerators is the beginning of the infrastructure needed to enable larger, more complex models to be made. We may yet be at this exponentiation point …

Philosophically, we’re still not sure what we want an AI to be. Should it reflect humanity’s ideals, or should it reflect humanity as it is? How well does it have to perform to be allowed to “replace” a human? Who is responsible for an AI making a wrong decision? Will humanity be able to embrace AI’s capabilities without falling victim to AI’s brittleness? These are not easy questions to answer – but I think much of the fear around AI is not that it becomes omnipotent, that it surpasses humanity’s intelligence or that it destroys us. After all, it is only an algorithm at the end of the day …

Perhaps the fear of AI is simply that AI may take away jobs and endanger livelihoods. Technological progress often results in change and humanity isn’t exactly great at welcoming change, even though humanity is adaptable and has managed to accommodate over time. It’s been the case that certain industries grow and shrink over time with the progress of technology and that workers will have to “retrain” and adapt to maintain a living. I think it’s not a case of “if” AI takes away jobs, but more a case of “when” and “how quickly”. The better AI becomes, the more likely it will happen. The fear is likely driven by just how capitalism has managed to create such a large income inequality that the working class are too busy slaving away to service a mortgage and daily living expenses that they have no time to build any reserves, invest in their own future, consider what it means to live, or be a human. In such a tight situation, anything that threatens to tip the balance is something to be feared.

But imagine this – a highly specialised AI may be able to be cheaper than a human to deploy and may have better performance than a human at some simple task. Would it not make sense to give the job to the AI anyway? It would be a poor utilisation of a human to force them to do the job … at least, in an ideal sense. Perhaps this will accelerate big changes to the system of capitalism as we know it – perhaps universal incomes will become necessary, rather than just a concept. All the old “predictions for the future” had automation act as a way to reduce working hours and improve quality of life. Somehow, that didn’t seem to happen … but perhaps this will become another chance.

Every technology can be used for good, or for evil … the technology itself isn’t inherently good nor bad. So, I welcome our AI “overlords” and look forward to seeing just what it can do for us …

Conclusion

Sorry for this long, rambly and somewhat under-illustrated random post. I’m not surprised if it’s too long to consume in one sitting. I’ve had a lot of things on my mind, things to do and reflections to consider. But now that it’s off my chest, I feel a little better. This post contains quite a few opinions of my own, moreso than usual, so I hope that you can respect them.

Perhaps this post will be the motivation for me to do some of the things I said I would … but still haven’t. Or maybe it won’t. Only time will tell!

Here’s wishing everyone a great 2023!

Posted in Computing, Opinion, Travel, Uncategorized | Tagged , , , , , , , , , , , , , | 3 Comments

Notes: Restoring Android App Settings from a TWRP Nandroid Backup

It’s a bit funny, as a person that intimately works with technology, I often don’t have any compulsion to chase the latest technology. An example of this is my ageing Xiaomi Redmi Note 8T, a three year old phone which I purchased at a very reasonable price back in November 2019.

I’m not a big fan of the default Xiaomi Global ROM, so I’ve been a happy user of the Xiaomi.eu ROMs instead. The feature enhancements and debloating have been a big win, plus I always root and install TWRP recovery on all my devices just so I can get a few more tweaks in – things like HOSTS based ad-blocking and system-level proxying.

Stuck on a ROM

As the device has a codename of “willow” and seemed less popular, Xiaomi.eu had dropped support for the device in its ROMs for a time back in MIUI 11, leaving me stuck with Android 9.0 which was not a great release for those who wanted to do any Wi-Fi scanning due to a hard coded rate limit with no developer option bypass. I had the option of fiddling with the device ID and flashing the “ginkgo” (Redmi Note 8) ROM instead – that device was much more popular and well supported, but I would lose NFC which was not acceptable to me.

In the end, I decided to just hang on and live with the Android 9.0 ROM for a while. Recently, there arose a need for me to have Android 11 or greater to run a certain app. As I don’t want to needlessly buy a new phone, I looked for options. While ReloadedOS and Pixel Experience apparently could get me all the way to Android 13, the experience was apparently not bug-free and for a daily driver, this would not do and would necessitate a full wipe and possibly repartition due to the needs of Android 12 and above.

Then, I saw that Xiaomi.eu had a MIUI12 stable release ROM for willow, based on Android 11. It would be a risky direct upgrade, but I decided it was worth the risk as my present install had a few broken features because of previous dirty-flashes – weird quirks such as permissions dialogs crashing and Google Maps not having GPS access despite permissions being given.

An Upgrade Opportunity

Before upgrading, I took a full NANDroid backup of every partition as I usually do and then flashed the Xiaomi.eu MIUI12 Stable ROM, clearing cache as usual. Rebooting took almost an hour as it set everything back up. Previously noted quirks seemed to have disappeared too.

But alas, all was not meant to be. That version of ROM is built on the latest China ROM and based on other reports, it has a savage habit of terminating background processes. Apparently, it was rumoured that it didn’t happen as much on the Global ROM and is in part due to (poor) memory management and increased resource usage by Android 11 compared to Android 9. All of the ordinary fixes did nothing to quell the issue, which got so bad to the point that none of the apps expecting to receive push notification would work and swapping between apps causes a full reload every time.

I couldn’t live like this …

No Way Back …

I thought I’d roll myself back to my previous ROM by restoring everything from the NANDroid. It never occurred to me that in the intervening years since when I used to do this, that these new devices have anti-rollback in their bootloaders even when they are unlocked. As a result, I happily restored my NANDroid only to fail to boot and get kicked straight back into recovery. Oh dear.

At this point, I thought perhaps I’d really screwed the pooch on this one as I’d be stuck with whatever ROMs had an equivalent roll-back counter value. But then I thought I’d give the Xiaomi (ordinary) Global ROM a try instead – it may be bloated and somewhat spammy, but if it works, it’d be better than having no background processes whatsoever.

A dirty flash was attempted and despite the similarities between the Xiaomi.eu and Xiaomi Global ROMs, I just couldn’t complete the boot process at all. It seems some of the preferences may have clashed … so now I had the pain of wiping everything and starting fresh.

Too Late for a Titanium Backup

In the old days, one would probably use Titanium Backup to backup each app so that they could be restored on a fresh, rooted ROM of a dissimilar type. While this method may still possibly work, it was too late for me now that my anti-rollback counter was already incremented and the former system was not bootable.

Rather than carry over the cruft which may include various conflicts, I decided to install all apps from scratch from the Play Store or other latest sources, so as to have the most recent versions. Important and easy-to-configure apps were all set-up the ordinary way – by hand. This also involved some phone calls to iron out 2FA systems and reset them.

Avoiding Pain

There were, however, a few seemingly simple and important apps where my preferences would be very nice to migrate over. Things like Connectbot where I have my private keys and servers already set-up, or Tripview where I have my public transport trips set-up. Unlike other applications which involved more risk (e.g. banking applications), these applications seemed to belong to a class of trivial “either it works or it doesn’t” category – without the risk of causing even more drama.

The first step to this is to decipher the TWRP backup itself:

I usually make my backups either compressed or uncompressed with no password. As a result, I’ll have a bunch of files where the data partition is stored in sections named data.f2fs.winXXX with a matching .sha2 hash.

To my surprise, chucking this into 7-zip actually works and it is identified as an archive.

Specifically, the outer compression is gzip with a header size of 10.

Double-clicking on the data.f2fs file causes it to be unpacked and opened with 7-zip.

Surprise, surprise – it’s another archive, with a root folder displayed as “_”.

According to the properties, this is a tar file, with a header error that doesn’t seem to make much of a difference when it comes to extracting the files.

As a result, it seems each data.f2fs.winXXX file is merely a .tar.gz of about 1.6GB or less packed size. As a result, in Windows, if one adds .tar.gz to the file, even WinRAR will happily open the file in a single step without needing to extract the .tar from the .gz as 7-zip does.

From here, one must traverse each and every segment, navigating to \_\data\data to look for the folder corresponding to the app name they would like to restore. Extract this somewhere and copy it to the phone or somewhere accessible to the phone.

For the next process of restoring, I like to use MiXplorer as this is a powerful file manager with root and network capabilities. Be sure to grant the file manager root access permissions and navigate to /data/data folder. Restoring is easiest when the target app is already installed as that would create the necessary folder and user for that app.

Copy the original folder and paste it into /data/data, choosing to merge the two folders together. This will not be enough, as if you try to execute the app, it will probably force-close immediately.

The reason is that all the files that were restored will have the Owner and Group set to root (uid 0) which means that the app’s actual user won’t have privileges to read or write their own files!

To fix this, select the folder and navigate to properties. See Owner and Group – select each of them in turn …

Tick the recursive box and navigate to the user name/UID as shown in the properties to ensure all the files we just copied have the proper user set.

Once this is done, usually that is enough to get everything running again. If not, you may need to clear the cache subfolder in the app, in case something is significantly different between the ROMs.

Conclusion

The presence of anti-rollback is a big downer in this case, as testing a more upgraded ROM becomes a one-way street of praying that the new ROM is better than the old. In the case of the Xiaomi.eu’s MIUI 12.5 Stable ROM, I just couldn’t get background tasks to work at all despite all the suggested fixes and it proved to be unlivable. Moving across to the Xiaomi MIUI 12.5 Global ROM actually does allow some background tasks to survive, but the number of active apps is severely limited compared to the Xiaomi.eu MIUI 11 ROM I was previously running. It also loses some of the nice features of the Xiaomi.eu ROM like quick access to “locking” apps and call recording, although the move to mostly Google apps is perhaps not a bad thing. This one-way street did, however, mean that while I do have a safer OS, it is also less functional than the previous in some very important ways.

Nevertheless, because the OSes had some disagreement about the application data (perhaps to do with system apps), I ended up setting up the phone from scratch. Not having backed up apps individually, to avoid the pain of setting up from scratch, I managed to “fumble” my way through and “dig out” the data from the TWRP NANDroid backup and reinject it into my new installation. Once the permissions were sorted, everything worked well, so that is a relief. I wouldn’t want to have to set up all my SSH keys from scratch again …

Posted in Telecommunications | Tagged , , | 2 Comments