<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Articles</title><link>https://aj-computing.co.uk/articles/</link><description>From Wordpress, Wifi and Custom PCs to our famous(?) Network South East Railway Clock - you may find a few interesting reads</description><lastBuildDate>Tue, 25 Mar 2025 20:12:13 +0000</lastBuildDate><item><title>Eight simple steps to better SEO</title><link>https://aj-computing.co.uk/articles/eight-steps-to-better-seo/</link><description>&lt;p&gt;This article is not designed as a comprehensive guide to SEO, more a few steps you, or someone one your behalf, can perform on with relatively low effort. &lt;/p&gt;&lt;p&gt;Reading this makes the assumption that you understand what SEO (Search Engine Optimisation) is, and why you need it (to get more visitors to your website). You will probably know there are many things that Google analyses on your website - from the way it is built, it's speed, and content. There is no magic trick to SEO and I am dubious of companies that claim they can guarantee to get you to page one (they can't without paid advertising). Getting the fundamentals right to give you a fighting chance of being ahead of your competitors needs not be terribly complicated. SEO is an ongoing process which once the fundamentals are there, needs to be reviewed and adjustments made. &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;Start with a comprehensive target key phrase list&lt;/h2&gt;&lt;p&gt;By this, I mean phrases that you think your target audience will actually search for via Google or another search engine. Try not to think in marketing terms but what a human would type in. 'Integrated Business Technology Solutions' might sound like a catchy marketing phrase on a team building day...but no one is going to search for that, much more likely will be 'my computer is broken'. If you are going to do one thing with this list, decide the primary target key phrase (the one you think your clients will search for most) for each page and decide where best to implement that. Gone are the days are stuffing keywords into the pages and html...Google is better than that - it needs to be more subtle. If you can think of two or three more target key phrases, that's great, try to work that into the pages, too. The target phrases you might have on a specific service or product page may, and likely should, be very different to your 'home page or about page.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;Is your website fast?&lt;/h2&gt;&lt;p&gt;Google will penalise you for having a slow website. You may well think it runs perfectly fine, but you are probably viewing it on a decent internet connection. Test it at Google PageSpeed Insights: &lt;a href="https://pagespeed.web.dev/" target="_self"&gt;https://pagespeed.web.dev&lt;/a&gt;: &lt;/p&gt;&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/144/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=c485e2584bab480d2b93" type="image/webp"/&gt;
&lt;source srcset="/library/144/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=ecd6b491af83d2770839" type="image/png"/&gt;
&lt;img alt="AJC 100 Google Score" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/AJC_100_Google_Score.png"/&gt;
&lt;/picture&gt;
&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;At the time of writing Google PSI also gives indicators on Accessibility, Best Practices and SEO all of which can improve your ranking. It even gives some ideas of how to fix them - some may be easy to rectify, others may need considerable work - nip off the low hanging fruit for a start and test again. At the least, you can use the results from GPSI and approach your web developer and ask to work towards fixes. It's something you can go back to after changes and notice differences, measurably. Start with your home page, resolve the issues and then check all the other pages. &lt;/p&gt;&lt;h3&gt;Get a decent web host if your website isn't performing&lt;/h3&gt;&lt;p&gt;It's common for websites to be bloated - WordPress an example where you have the core, theme, possibly a theme builder, and a whole ton of plugins slowing things down. We covered this in &lt;a href="https://aj-computing.co.uk/articles/wordpress-all-the-things/" target="_self"&gt;another article&lt;/a&gt;, and the more hardware you can throw at WordPress, the better. If your site is running on a shared server with limited resources and running slow and the budget permits, go to a decent host such as Kinsta (an example WordPress hosting specialist). Better is to have a website built in a way that it does not demand high resources in the first place - our website is on a basic server and runs ridiculously fast - the cost of such a site may be a higher outlay (hint: it's not WordPress) but long term with the lower hosting costs, it can pay for itself. &lt;/p&gt;&lt;p&gt;If running WordPress or another CMS, consider a caching plugin such as WP rocket. We've seen massive improvements using this plugin. Do check everything works OK afterwards - you may need to exclude some pages from caching and adjust a few settings - but it will hopefully be worth it. Remember to clear the cache if you make any changes to the site or update plugins.&lt;/p&gt;&lt;p&gt;Take stock of the plugins you have installed - do you need them all? We've spruced up websites where there have been multiple, heavy plugins performing menial tasks which were negated with a few lines of code. Also think...do I really need this function? If not, disable that plugin and see if it helps the performance. &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;Check your page headers&lt;/h2&gt;&lt;p&gt;Think of page headers a bit like how you would write a document - you have the main title of the document (Header 1/H1), sub headers (Header 2/H2) and sub-sub headers (Header 3/H3) and on it goes. You must only have one H1 (this is the most important header). Depending on the structure of the page, you may have multiple H2s, and H3s sitting under those. Pages that have limited content may not warrant having H2/H3, and therefore may not rank very well, or perhaps they aren't the sort of page you don't need to be ranked (such as a terms and conditions page). You want these headers in a logical order not only for ease of the reader but because Google cares about this - organise it in the same way you would write a technical document; for example you would not randomly have a larger header under a sub-sub header. One common issue is that many themes (and developers!) use headers for decoration purposes for easiness but that often results in junk headers which can dilute the 'real' headers.&lt;/p&gt;&lt;p&gt;Why am I mentioning page headers in this SEO article? Because Google reads these headers and compares to search requests - so you can use this to your advantage. You may well use one or more of your target key phrases in your headers where appropriate, for example you may want the primary target key phrase included on your H1. But make the titles make sense, don't stuff them with target key phrases for the sake of it.&lt;/p&gt;&lt;p&gt;This is a handy place to check your headers. It may be that your web designer isn't aware of the issue and with a few tweaks, you can improve your SEO: &lt;a href="https://www.seoreviewtools.com/html-headings-checker/" target="_self"&gt;https://www.seoreviewtools.com/html-headings-checker/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;Check your meta title and meta description content and length&lt;/h2&gt;&lt;p&gt;The page Title is different to H1 although often the text can legitimately be the same or similar - you can perhaps use a variation of your target phrases to 'catch' slightly different search queries. The page Title affects SEO as Google's algorithms use it to understand your content and rank your page. Google may well use it to display in search results for that page, like this, highlighted in red:&lt;/p&gt;&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/145/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=9bb77104bd07a681698c" type="image/webp"/&gt;
&lt;source srcset="/library/145/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=d88b12af8b67eceee6d9" type="image/jpeg"/&gt;
&lt;img alt="AJC Meta Title" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/AJC_Meta_Title.jpg"/&gt;
&lt;/picture&gt;
&lt;/p&gt;&lt;p&gt;There is no defined limit to how long your page title and meta description should be...but keeping it within widely accepted parameters means Google is more likely to display it than decide 'nah, I'll pick something else to display in search results instead'. As a minimum, if the page title/meta description is too long, it will truncate the results...so you don't end up displaying to your viewer what you want them to see. Be careful and precise in what your write for the page title. &lt;/p&gt;&lt;p&gt;The meta description can be a little more wordy. This is designed to entice your reader to click on the search result because it is relevant to them. It is this section:&lt;/p&gt;&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/146/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=3a247549e1d81d093527" type="image/webp"/&gt;
&lt;source srcset="/library/146/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=03221165f4edc1065cbf" type="image/jpeg"/&gt;
&lt;img alt="AJC Meta Description" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/AJC_Meta_Description.jpg"/&gt;
&lt;/picture&gt;
&lt;/p&gt;&lt;p&gt;While a good meta description may not improve your SEO, it can certainly improve the click through rate (CTR) which is what we're after. Use &lt;a href="https://totheweb.com/learning_center/tool-test-google-title-meta-description-lengths/" target="_self"&gt;this link&lt;/a&gt; as an easy guide for the length and how it displays in search results - you can adjust it and see the preview. Then go back to your website, edit and save. &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;Check that your images have alt attributes&lt;/h2&gt;&lt;p&gt;In the scale of all things SEO, image alternative tags are low down on the list, but can be a simple thing to rectify, so worth doing. Think of an alt attribute (or alt tag) as describing what the image is, or what it is trying to convey, to a user that is visually impaired or if the browser cannot display the image. It's primary purpose is for accessibility, and that is your main priority for alt tags. Google will penalise your accessibility score for not having alt tags, but can also use them to match search results as a side effect of decent accessibility. 'IMG-320145b' isn't particularly useful to anyone with accessibility issues whereas 'a cute dog next to a Wi-Fi router', is. Could you target some phrases in here too? Maybe. But think of it as a practical exercise first, and SEO as a handy side effect. Some images are decorative only so don't need an alt tag...give it a blank one.  &lt;/p&gt;&lt;p&gt;This site is handy: &lt;a href="https://www.seoptimer.com/alt-tag-checker/" target="_self"&gt;https://www.seoptimer.com/alt-tag-checker/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;Get more relevant backlinks&lt;/h2&gt;&lt;p&gt;Backlinks are websites that link back to your page, another thing Google analyses towards your SEO profile. If you can get websites to point back to your pages, that's great, but it's not the case of the more the merrier. For example a business directory page, with many other links on that page, will not carry as much weight as a page that has your link as one of only a few links on the page. Even better is your link is within relevant content. Sometimes the content will be so good on your website that people will organically link back, and that is zero effort on your behalf. If you aren't that lucky, perhaps you will need to get creative in ways to encourage people to back link to you. This is quite handy for checking backlinks although like most, the results are limited unless you pay: &lt;a href="https://www.seoreviewtools.com/valuable-backlinks-checker/" target="_self"&gt;https://www.seoreviewtools.com/valuable-backlinks-checker/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;Make sure your pages are indexed&lt;/h2&gt;&lt;p&gt;If your pages aren't indexed (trawled and added by Googlebot), Google isn't going to show them in search results. Your site should have a sitemap(s) (a file on your web host which lists your pages) which Google normally finds automatically but you can submit a sitemap if it doesn't. But having a sitemap does not guarantee all pages will be indexed for a number of reasons. A common example is where Google has trawled a page, knows it exists, but has decided not to index it anymore, possibly due to a page being stagnant for a while. In that case, you could think of ways to spruce up the wording to that page, perhaps expand on a few points (or take out unrequired fluff), update pictures, check the on-page SEO, tighten up the grammar or perhaps the information is outdated and could do with a complete re-write. Give changing the content a go, and then re-submit for indexing - you may get lucky and Google decides it will index it until it decides your page is boring again. &lt;/p&gt;&lt;p&gt;Another common problem is when a page existed at some point but has been removed/renamed and so when that old link is visited, it returns a 404 error. My understanding is that it does not *directly* affect SEO, but it's a pretty bad experience for a user to click on something and get no-where (especially if they do close your website, therefore dropping your page credibility). But also if you have that page backlinked, you will lose out on that. It is an unwise move when you no longer need a page, or it gets recreated with a new URL, to simply delete it. You should either create the new page with the same URL, or create a redirect to the new URL. We have seen on occasion where a new website has been created and all but the home page is a different URL which unsurprisingly resulted in a massive drop in traffic and effectively starting SEO from scratch with no prior reputation. If you are looking to build a new website, make sure you, or your web designer, keeps (or creates a redirect for) all the existing URLs.&lt;/p&gt;&lt;p&gt;Without having a tool to know what pages are indexed or not, you are in the dark. If you aren't already, sign up to Google Search Console as not only does it have the page indexing information, but a whole host of tools to track visitors. &lt;a href="https://search.google.com/search-console/" target="_self"&gt;https://search.google.com/search-console/&lt;/a&gt;.&lt;/p&gt;&lt;h2&gt;&lt;br/&gt;&lt;/h2&gt;&lt;h2&gt;CONTENT IS KING!&lt;/h2&gt;&lt;p&gt;Well written, relevant and unique content (text on your website) is by far the most important aspect for SEO and I cannot stress how much more important it is compared to fine tuning key phrases or pretty much anything else on this page. Our articles are the most popular pages on our website by a long way, drives some traffic to sales (and therefore we really should spend more time doing them). Look at your main pages for a start, and then consider are there other ways you could add more - articles, blog, case studies, things you are working on, product reviews, news and so on. Update your content regularly to keep them indexed.&lt;/p&gt;&lt;p&gt;If you know someone who is a superb wordsmith, or perhaps doesn't know they are yet but reads many books or articles, ask them to cast an eye on anything you put out there. I have 'a guy' who chooses to remain anonymous who has been a massively valuable resource over the years to ensure my articles are somewhat within the structures of the English language, convey the right tone and generally read well. My hat is over there, off to him, for supporting me. &lt;/p&gt;&lt;p&gt;There's a balance to be had especially if the website primary purpose is revenue generation. Time is money, and if assigning that time to gain sales is more successful in other forms of marketing, you may decide against content writing entirely. But if something interesting springs to mind, why not jot down a few words and turn it into an article? Like I have tonight. &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 25 Mar 2025 20:12:13 +0000</pubDate></item><item><title>Should I upgrade my older PC to an RTX40XX?</title><link>https://aj-computing.co.uk/articles/should-i-upgrade-my-old-pc-to-rtx40xx/</link><description>&lt;p&gt;How about an upgrade to a mid to high-end card such as the RTX 4070 Super? On a system built in 2019? Alex upgrades one of his previously built PCs and documents the thought process and benchmarks before and after. &lt;/p&gt;&lt;p&gt;Games are less CPU intensive these days. If you look at the minimum and recommended specs for games, while there are a few outsiders, modern PC games seem to be getting more GPU intensive than CPU intensive. What if you have an older system that's struggling a bit with newer games and you can't set the quality settings on moderate/high. Can you get away with just upgrading the video card to give a better experience?&lt;/p&gt;&lt;p&gt;There's a balance to upgrading any part of your PC but particularly with gaming PCs and upgrading the graphics card. If your PC falls below the recommended spec on your chosen games for the CPU and RAM, upgrading the GPU will help, but the CPU and RAM could end up as the bottleneck, not making full use out the spankly new video card. Checking the minimum and recommended specs and your expectations is therefore important. If your CPU is below the recommended specs, you might be better off saving up for a board/CPU/RAM upgrade.&lt;/p&gt;&lt;h2&gt;When looking for a new video card for your PC there are other considerations&lt;/h2&gt;&lt;p&gt;-Is the power supply up to it? Look at the recommended PSU for your new GPU, add 100W and you won't be far wrong unless you have a power hungry build with lots of mechanical drives or similar. It's not just about the wattage of the PSU - quality which brings stability is also important. On this upgrade we went from a Coolermaster MWE 700W to a beQuiet 850W Pure Power 12M which is more than enough. The 40XX cards aren't as hungry as some might think and there's no point in going for a 1000W PSU in this build, it would be a waste of money. If the budget permits, go for an 80+ Gold rated PSU. &lt;/p&gt;&lt;p&gt;- If going for a modern graphics card, you'd do well to get one that is PCIE Gen 5 compatible as it will have the correct power connector for GPUs need it. Most GPUs will come with an adaptor to convert the older style connectors to PCIe5 but adaptors make me wince a little, so spend the little extra on the right PSU in the first place as we have done in this upgrade. &lt;/p&gt;&lt;p&gt;-Will the GPU fit in the case? These RTX40XX cards, particularly the higher end ones, are *huge* (see comparison below of RX 5700 and 4070 Super). Not only can they take up three and a half back panels (as this 4070 Super does) but they can be long and some cases cannot accommodate them. Check the length of the card from the manufacturer before buying and compare to your case. Measure it yourself if you can't find the make/model of your case. You may need to move a PCie Wi-Fi card down a slot or two, or your case simply might not be big enough to house the GPU and you'll need to work a new case into the budget. &lt;/p&gt;&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/141/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=c767aa5e94294f1f8f20" type="image/webp"/&gt;
&lt;source srcset="/library/141/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=e81c4c599c1148043669" type="image/jpeg"/&gt;
&lt;img alt="Comparing RTX 4070 and RX 5700" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Comparing_RTX_4070_and_RX_5700.jpg"/&gt;
&lt;/picture&gt;
&lt;br/&gt;&lt;/p&gt;&lt;p&gt;-Is the cooling of the case up to it? If you are making a decent leap on your GPU, the more powerful cards can run hotter. If your case doesn't have good airflow you could end up with higher overall system temperatures. In the example of our CoolerMaster case, it has no front fans. Although we could probably get away without, it'll get 3 front chassis fans. &lt;br/&gt;&lt;/p&gt;&lt;h2&gt;Balancing your Gaming PC build&lt;/h2&gt;&lt;p&gt;It was suggested from someone in the trade that upgrading to a RTX 4070 Super on a 9th Gen i5 system demonstrates an inability to  build a balanced system and it would be a waste of time. I won't quote the source for obvious reasons. I would like to use this post to address that assumption that my client or I 'don't have a clue'. My client has a need to improve their graphical capability. Their games and needs aren't particularly CPU intensive and they want to use three screens on DisplayPort connectors without using adaptors. Everything considered, I suggested an upgrade from an AMD RX 5700 to a Gigabyte RTX 4070 Super would do the job perfectly. &lt;/p&gt;&lt;p&gt;I mandated a fresh install of Windows on a new M.2 SSD for the best gains as the M.2 drives have come down a lot in price since 2019 and are much faster than the older SATA SSDs. The notable specs on the PC are an Intel i5-9600K processor and 16GB of RAM which will be fine until a future upgrade if/when whatever new game takes their fancy is more CPU/RAM intensive. RAM would be an easy upgrade but at the point the CPU is below spec, it would probably be time for a new CPU/board/RAM combo.&lt;/p&gt;&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/142/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=31230423a0234f6660cd" type="image/webp"/&gt;
&lt;source srcset="/library/142/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=df82bf7e23a9db3da6ed" type="image/jpeg"/&gt;
&lt;img alt="Testing RTX 4070 Super" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Testing_RTX_4070_Super.jpg"/&gt;
&lt;/picture&gt;
&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;Let's see what gains our 2019 Core i5-9600K system can get&lt;/h3&gt;&lt;p&gt;I used the same 27" 2K screen @ 170hz on all tests. Because of the fresh install of Windows 11 and the faster new drive, the below tests aren't a perfect 'like for like' of old GPU versus new GPU, but does give a decent guide:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Graphics Test Furmark 2.3.0.0. Display option enabled: OSI&lt;br/&gt;&lt;/strong&gt;Benchmark P1080 RX 5700: (1920X1080) score: 6792 (113FPS) Test 2: 6810 (113FPS). Test 3: 6781 (112FPS) - Average 6794/113FPS&lt;/p&gt;&lt;p&gt;Benchmark P1080 RTX 4070S: (1920X1080) score: 15850 (265FPS) Test 2: 15732 (262FPS). Test 3: 15707 (262FPS) - Average 15763/263 FPS&lt;br/&gt;Increase performance = 132% benchmark / 133% FPS&lt;/p&gt;&lt;p&gt;Benchmark P1440 RX 5700: (2560X1440) score: 4240 (70FPS) Test 2: 4242 (70FPS). Test 3: 4238 (70FPS) - Average 4240/70FPS&lt;br/&gt;Benchmark P1440 RTX 4070S: (2560X1440) score: 11782 (196FPS) Test 2: 11729 (195FPS). Test 3: 11729 (195FPS) - average 11746/195FPS&lt;br/&gt;Increase performance = 177% benchmark / 179% FPS&lt;/p&gt;&lt;p&gt;As above but with BFC, Display OSI, Artefact Scanner, DXT5&lt;br/&gt;Benchmark P1080 RX 5700: 6820 (113FPS)&lt;br/&gt;Benchmark RTX 4070S: 15937 (266FPS)&lt;br/&gt;Increase performance = 134% benchmark / 135% FPS&lt;/p&gt;&lt;p&gt;Benchmark P1440 RX 5700: 4234 (70FPS)&lt;br/&gt;Benchmark P1440 RX RTX 4070S: 11706 (195FPS)&lt;br/&gt;Increase performance = 176% benchmark / 179% FPS&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Furmark 2 VK Graphics test:&lt;/strong&gt;&lt;br/&gt;P1080 RX 5700: 6266 (110 FPS)&lt;br/&gt;P1080 RTX 4070S: 16317 (272 FPS).&lt;br/&gt;Increase performance = 150% benchmark / 147% FPS&lt;/p&gt;&lt;p&gt;P1440 RX 5700: 4235 (70FPS)&lt;br/&gt;P1080 RTX 4070S: 11071 (184 FPS).&lt;br/&gt;Increase performance = 161% benchmark / 163% FPS&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Furmark 2 Knot (GL): &lt;/strong&gt;&lt;br/&gt;P1080 RX 5700: 1946 (32FPS) &lt;br/&gt;P1080 RTX 4070S: 5854 (97FPS).&lt;br/&gt;Increase performance = 201% benchmark / 203% FPS&lt;/p&gt;&lt;p&gt;P1440 RX 5700: 1227 (20FPS)&lt;br/&gt;P1440 RTX 4070S: 3979 (66FPS)&lt;br/&gt;Increase performance = 224% benchmark / 173% FPS&lt;/p&gt;&lt;p&gt;RX 5700 Heat test Furmark 2 GL, 2560X1440, fullscreen, ran for 5 minutes. Temp after 5 minutes: 85c (hotspot 99c)&lt;br/&gt;RTX 4070s: Temp after 5 minutes: 64c (hotspot 74c)&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Interestingly, but predictable for some, the new, much more powerful RTX 4070 S ran 20c lower than the RX 5700. The CoolerMaster chassis in this build did not come with any front fans, and it probably should now, so I fitted three 120mm Artic P12 PWM PST fans at the front. I went for these for ease of install as the 'PWM PST' means the three fans can share one motherboard header giving power and speed control. And admittedly because they were available on that very large website that ships parts next day and my trade distributors certainly can't get parts to me on a Sunday. Yes...we all do it.&lt;br/&gt;&lt;br/&gt;RTX 4070S with chassis fans after 5 minutes: 59c (hotspot 68c) --&amp;gt;Still 59c after 1 hour of benchmarking&lt;br/&gt;&lt;/p&gt;&lt;p&gt;So while the RTX 4070S wasn't running hot in the first place, the fans did bring the temp down by a reasonable 6c - it was a worthwhile upgrade. If you read further down, he chassis fans made almost no difference to the CPU temps, showing the old CoolerMaster air cooler still holds it's own. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Heaven Benchmark&lt;/strong&gt;&lt;br/&gt;Default settings RX 5700: 123.4 FPS, Score 3109, Min FPS 36.2, Max FPS 261.0&lt;br/&gt;Default settings RTX 4070S: 276.7 FPS, Score 6971, Min FPS 39.9, Max FPS 488.8. Increase in performance = 118% benchmark&lt;/p&gt;&lt;p&gt;Quality Ultra RX 5700: Tessellation moderate, Anti-aliasing 4X: 79.4 FPS, Score 2000, Min FPS 9.5 Max FPS 141.2&lt;br/&gt;Quality Ultra RTX 4070S: Tessellation moderate, Anti-aliasing 4X: 210.9 FPS, Score 5313, Min FPS 9.6 Max FPS 409.3. Increase in performance = 166% benchmark&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;Was the upgrade to the RTX 4070 Super a waste of time?&lt;/h3&gt;&lt;p&gt;As you can see, the gains are pretty huge, and not entirely pointless. While on the lower settings the gains were only (ahem) 135%, on the more intensive tests the gains are over 200%. Frame rates are way up meaning better game play in general. This will make a considerable difference to the gameplay and the settings which the client can now enable. No longer will he need to put intensive games down to medium or low settings, he can have them ramped up if he wishes. &lt;br/&gt;&lt;br/&gt;I'd love to have the time, but I am not a regular gamer myself, so I borrowed a teenager who's favourite game at the moment is Red Dead Redemption 2. Every setting on high, HDR and DLSS enabled, she let it rip for more than an hour and it was flawless. She remarked that it easily outperforms her more modern laptop which has a faster CPU (but a lower spec GPU).&lt;/p&gt;&lt;p&gt;Were all these tests and this post simply to prove a point to the fellow techie? No, but it certainly does help. For completion, I was curious to as to the CPU temps and the speed increase from the new M.2 drive...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Furmark CPU burn test:&lt;/strong&gt;&lt;br/&gt;Idle temp CPU: 20c. Temp after 10 minutes: 67c&lt;br/&gt;Furmark Test after installing front chassis fans: Idle temp 15c, after 10 minutes 66c&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Samsung Magician default benchmark&lt;br/&gt;&lt;/strong&gt;SSD 860 Pro: Sequential read: 557 MB/s, Sequential Write: 523 MB/s, Random Read: 62255 IOPS, Rando Write: 49072 IOPS&lt;br/&gt;SSD 970 Evo (new M.2 SSD): Sequential read: 3205 MB/s, Sequential Write: 2753 MB/s, Random Read: 302001 IOPS, Random Write: 206542 IOPS&lt;br/&gt;Increase read: 475%. Increase write: 426%&lt;/p&gt;&lt;p&gt;The new M.2 drive may not have made all that much difference to game play, but it will for loading the games and general use of the system. Goal achieved. Fancy beefing up your gaming PC? &lt;a href="https://aj-computing.co.uk/contact/" target="_self"&gt;Contact us&lt;/a&gt;. &lt;/p&gt;</description><pubDate>Tue, 03 Sep 2024 08:28:08 +0000</pubDate></item><item><title>The best data recovery company deserves the best website</title><link>https://aj-computing.co.uk/articles/the-best-data-recovery-company-deserves-the-best-website/</link><description>&lt;p&gt;We love &lt;a href="https://www.eadr.co.uk/from/aj-computing/" target="_self"&gt;East Anglian Data Recovery&lt;/a&gt;. We recommend EADR to every client of ours that needs data recovery; there's nothing they will not work on and their success rate is outstanding. We use EADR to fix our own drives when they take an early retirement, too. And we don't &lt;em&gt;just&lt;/em&gt; say that because we're biased by liking Steve and Allison (we are because we do). They &lt;a href="https://www.eadr.co.uk/blog/eadr-through-to-finals-of-tech-for-techs-awards-2023/" target="_self"&gt;win awards for this&lt;/a&gt;, as voted on by tech professionals across the country; EADR is &lt;em&gt;the&lt;/em&gt; data recovery company trusted by techies.&lt;br/&gt;&lt;br/&gt;So when we were offered the opportunity to build a new website for them, we jumped at it! And then we stopped jumping because that tired us out and wasn't helping their website, and then we built it. &lt;br/&gt;&lt;/p&gt;&lt;h2&gt;The old site&lt;/h2&gt;&lt;p&gt;The old site was built on WordPress. It had a custom theme, with a bunch of plugins to turn WordPress into something other than blogging software. There was much to like about it! Structurally the site was sound; we left the page structure almost entirely unchanged. Most of the content on the new site is the same content with a little polish. And there were visual elements that could have worked well, if they were implemented consistently. But it also exhibited the usual "WordPress-plus-a-pile-of-plugins" problems.&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;It wasn't fast&lt;/h3&gt;&lt;p&gt;On a desktop machine with a fast Internet connection, the old site was fine, though the page layout reflows were grating. On a phone with slow mobile data, it was glacial. Adding a caching layer in front of WordPress at least solved the time-to-first byte problem, though in our experience these caching layers end up creating their own sets of problems, such as randomly breaking the site. It was much harder to solve the vast amounts of JS and render-blocking CSS loaded on every page whether that JS and CSS was needed or not.&lt;/p&gt;&lt;h3&gt;It was inconsistent&lt;/h3&gt;&lt;p&gt;The downside to the Wordpress-plus-pile-of-plugins is that every plugin will have opinions about how certain things should look. Normally, a custom theme will then override these plugin's opinions with custom CSS to change their appearance. That works well until the plugin updates and changes a class name, causing your old CSS to not work anymore. Or, the theme just didn't account for every possible use of the plugin, which meant that there were some parts using the plugin's default styling.&lt;br/&gt;&lt;br/&gt;For example, there were:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;At least four different rectangular button styles &lt;em&gt;on a single page&lt;/em&gt;. Those were subtle differences; small differences in font, shape, and spacing.&lt;/li&gt;&lt;li&gt;Three different ways of implementing a section "text on one side, image on the another".&lt;/li&gt;&lt;li&gt;Three ways of styling a customer testimonial.&lt;/li&gt;&lt;li&gt;Two ways of styling a card for a news article. One had spacing inside and a border, some blended in to their background. One had a blue title, one had an orange title. One had the date on it, one did not.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We could go on with the trivial inconsistencies. Trivial they were! Yet, what it gave was a subtly unprofessional feel; the unquestionably-best data recovery company in the country deserves better than that!&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;It randomly broke from time to time&lt;/h3&gt;&lt;p&gt;This is a problem with any WordPress site with several plugins of varying quality; every update of the WordPress core or any of its plugins risked bricking the site. That came with costs. The most obvious is the development time spent to fix the breakage. The lost business that came from the site randomly not working is impossible to quantify. Every bit of downtime matters!&lt;/p&gt;&lt;h2&gt;Fixing the speed&lt;/h2&gt;&lt;p&gt;With one exception, there is not a single line of CSS or JavaScript code that was not written specifically for EADR's site. We don't believe in pulling in large amounts of third-party code that we may or may not need. We've always found that it's less effort in the long run to just write everything yourself.&lt;/p&gt;&lt;p&gt;For example, when a WordPress page builder needs icons, it usually pulls in the entirety of an icon font such as &lt;a href="https://fontawesome.com/" target="_self"&gt;Font Awesome&lt;/a&gt;, because it cannot know what icons you are going to want in your site, and because of how WordPress is structured it is &lt;em&gt;hard&lt;/em&gt; to dynamically build a subset of the things from the icon font that you are going to need on a given page. And then you add another plugin which &lt;em&gt;also&lt;/em&gt; needs an icon font and cannot (or does not care to) determine whether some other plugin has also loaded the same icon font, so it'll pull in the entirety of Font Awesome again.&lt;/p&gt;&lt;p&gt;In fact, the site pulled in Font Awesome &lt;em&gt;three&lt;/em&gt; times. Two of those were for Font Awesome in two different weights and the other was loading every Font Awesome brand icon so that it could get the Facebook, LinkedIn and Instagram links in the footer. This came to hundreds of kilobytes &lt;em&gt;just for the icons&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;We didn't need to do this! We knew what icons were going to be needed, because we wrote all the code. So we grabbed the SVGs we needed from &lt;a href="https://remixicon.com/" target="_self"&gt;Remix Icon&lt;/a&gt;, optimised them with &lt;a href="https://github.com/svg/svgo" target="_self"&gt;SVGO&lt;/a&gt;, and consolidated them into a single SVG sprite that weighs 4.9 kilobytes compressed and &lt;em&gt;does not block rendering&lt;/em&gt;.&lt;br/&gt;&lt;br/&gt;On the backend, we used Django, which is already fast - because, again, it requires you to write all the code for your application yourself. We added regression tests to ensure guards against &lt;a href="https://dev.to/herchila/how-to-avoid-n1-queries-in-django-tips-and-solutions-2ajo" target="_self"&gt;known performance pitfalls&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;And then came the micro-optimisations. We inlined all the stylesheets into the HTML, because that saves one HTTP request; this necessitated building a mechanism to ensure that we only inlined some subset necessary to render the current page. We then GZip compressed the HTML from the server because inlining the stylesheets was making the HTML uncomfortably large - and &lt;em&gt;that&lt;/em&gt; required writing our own middleware to avoid this becoming an exploit vector &lt;a href="https://breachattack.com/" target="_self"&gt;breaking HTTPS&lt;/a&gt;. Naturally, all static files are GZip compressed as well.&lt;br/&gt;&lt;/p&gt;&lt;p&gt;We are not great believers in caching to &lt;em&gt;solve&lt;/em&gt; performance problems; that is a subject of another article that we'll never get around to writing, but the short version is "you're going to be serving from a cold cache some day, and that is going to hurt, so fix the underlying problem". But that doesn't mean we should not use caching; we've got plenty of free memory and we might as well do something with it.&lt;/p&gt;&lt;p&gt;So we added caching such that most of the individual sections on those pages built of them - such as the homepage - would be rendered from memory much of the time. And if the database did have to be hit, there was a caching layer for queries there. And if those both those caches were cold, we &lt;em&gt;still&lt;/em&gt; had a time-to-first-byte of less than 100 milliseconds on most pages (plus network latency). We call it "opportunistic caching". If it can serve from memory, great! If it can't, the site is still fast.&lt;/p&gt;&lt;p&gt;And finally, we added a self-hosted copy of &lt;a href="https://instant.page/" target="_self"&gt;instant.page&lt;/a&gt; to make clicking around the site blazingly fast (the "one exception" mentioned above). It pre-fetches links on hover, so by the time you have clicked on it the page has loaded in the background. This is actually a reliable way to destroy a slow WordPress site; if your backend is slow then this kind of eager fetching of pages that may or may not be needed can make a server fall over! But we don't need to worry about that.&lt;/p&gt;&lt;p&gt;This, of course, all takes time; "hand-craft an SVG sprite sheet" takes more time than "stick some Font Awesome code in the header", and "write your own caching" takes a hundred times as long as "install some plugin that promises performance magic". And if there's a point to this article, it is that that if you want the fastest possible website you will need to spend some time up-front to write as much of it as you can yourself. There's no shortcuts there; code written to cover as many use cases as possible will be larger than something that does exactly what is needed crafted for your needs.&lt;/p&gt;&lt;p&gt;All of the above would be a pile of meaningless opinions about nothing if the end result wasn't actually fast. Was it?&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/137/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=090a88a1162f75f0b3ad" type="image/webp"/&gt;
&lt;source srcset="/library/137/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=2b9679f1c9acab11dd05" type="image/png"/&gt;
&lt;img alt="Screenshot of PageSpeed Insights showing a 99 out of 100 score." class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Screenshot_2024-01-04_at_22-02-20_PageSpeed_Insights.png"/&gt;
&lt;/picture&gt;
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Yeah, we'd say so.&lt;/em&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;Fixing the inconsistencies&lt;/h2&gt;&lt;p&gt;There wasn't really much to this. Most of the inconsistencies were fixed &lt;em&gt;by being lazy&lt;/em&gt;. You read that right (or maybe you didn't, and now you will go back and read it again)! When you are writing every piece of code yourself, you don't want to do more of it than is strictly necessary. You are not going to write a subtly-different button style for one section on a page on a site, because you already wrote one, and why would you want to do that again? You'll naturally want to re-use something that already exists instead. Or, why would you not just use &lt;em&gt;this&lt;/em&gt; style of text-next-to-an-image for something structurally identical? And so on.&lt;/p&gt;&lt;p&gt;Yet, while implementing the site we found a nice consistency to &lt;em&gt;add&lt;/em&gt;. That typing effect on the hero on the front page existed on the old site; we re-implemented it from scratch, of course, and by the way that is &lt;em&gt;much&lt;/em&gt; harder to get perfect than it would seem at first glance. Even the idea of a blinking cursor came from the old site, though we changed the appearance of the cursor. And then we realised we could roll with that blinking cursor effect as the motif across the whole site. We think it looks pretty slick!&lt;/p&gt;&lt;h2&gt;Fixing the problem of stuff randomly breaking&lt;/h2&gt;&lt;p&gt;Django, on which we built the site, is very stable. They generally don't introduce major breaking changes between releases, and those breaking changes are always throughly documented. It also does not have a history of security holes big enough to drive a truck through; when a security update comes out, we can decide whether to apply it or not by just looking at our code, &lt;em&gt;because we wrote all the backend code &lt;/em&gt;and know whether security problems apply to us or not. Yet, we like &lt;em&gt;knowing&lt;/em&gt; that the site is not going to break. So we wrote automated tests covering over 90% of the code written for the site, which run on every code change.&lt;/p&gt;&lt;p&gt;Finally, we do not have an error-prone process for making code changes. Pushing code changes to the site is automated; no more FTPing files around! And naturally, everything is kept in version control so we can easily roll back to an earlier version if we accidentally break something - which the testing should make very unlikely.&lt;/p&gt;&lt;p&gt;But if something &lt;em&gt;does&lt;/em&gt; break, we also have error reporting built in. A 500 error under some weird circumstance won't be something we discover months later when the thousandth person to discover a bug reports it (users almost never do this); it'll land in our inbox immediately and we can fix it before anyone else is affected.&lt;/p&gt;&lt;h2&gt;And there are some nice new features!&lt;br/&gt;&lt;/h2&gt;&lt;p&gt;A good chunk of EADR's business comes from other tech companies who are not experts in data recovery themselves, who know that attempting it themselves would result in an extra set of problems to solve, and who know that EADR are the best in the business. Like us! Previously, there was no reliable way to determine whether a referral came from one of these outside companies. So, in the simplest way that works, we added a feature that would allow partners such as us to get their own referral link and allow tracking of this attribution all the way through to the contact forms. &lt;a href="https://www.eadr.co.uk/from/aj-computing/" target="_self"&gt;Here's our link!&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Yet, we respect the users' privacy; some people might &lt;em&gt;not&lt;/em&gt; be comfortable having attribution tracked like this, and all forms have a very clear opt-out for this information being recorded, with the same prominence as any other field on the form. We think we found the perfect balance between business needs and user control.&lt;/p&gt;&lt;p&gt;Talking of opting out...you know those annoying cookie consent banners that appear on basically every website? Here's a hint: run &lt;a href="https://ublockorigin.com/" target="_self"&gt;uBlock Origin&lt;/a&gt; and you'll find that almost all of them do nothing! We had to implement one of those, but it is &lt;em&gt;not&lt;/em&gt; just about cookie consent (and cookies are only a very incidental part of the GDPR). The Facebook Chat widget and Google Analytics will only load if the user opts in; these can reveal your visits to Facebook and Google respectively. Most importantly, the option to opt in and out of all of them are given equal precedence, and even opting in to &lt;em&gt;some&lt;/em&gt; of them is easy as visiting &lt;a href="https://www.eadr.co.uk/privacy-options/" target="_self"&gt;this page&lt;/a&gt; linked prominently from the banner. Again, we think we found the right balance between what is useful for EADR and what is in the best interests of the user, by allowing the user to choose for themselves in a meaningful way.&lt;br/&gt;&lt;/p&gt;&lt;p&gt;That above feature took actual days of work to implement, by the way, for what most web designers consider a very incidental "pretend we comply with the GDPR" feature. Did we mention that &lt;em&gt;doing things right takes time?&lt;/em&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;What do you think?&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt; A huge thank you to AJ Computing who have worked incredibly hard on this project. Every single thing we asked for has been done, and so many extras we would not have thought of added in, to make the site and user experience the best it can be.&lt;br/&gt;-- EADR&lt;br/&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;We went to a lot of effort to make &lt;a href="https://www.eadr.co.uk/from/aj-computing/" target="_self"&gt;East Anglian Data Recovery's site&lt;/a&gt; one befitting the best data recovery firm in the country - a site with the professionalism, speed, reliability and consistency of EADR themselves.&lt;br/&gt;&lt;br/&gt;If you'd like to work with us on a project, &lt;a href="https://aj-computing.co.uk/contact/" target="_self"&gt;get in touch&lt;/a&gt;.&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 04 Jan 2024 21:47:31 +0000</pubDate></item><item><title>Is that gaming PC any good?</title><link>https://aj-computing.co.uk/articles/is-that-gaming-pc-any-good/</link><description>&lt;p&gt;It's the Primary Gifting Period (awful marketing phrase!) and some may be looking for last minute gaming PCs. Many people will end up disappointed. I see substandard and often overpriced PCs that do not match expectations coming into me in the New Year, every year. I feel strongly about computers are being sold as being something they are quite clearly not; this is preying on people who do not know any better.&lt;/p&gt;&lt;p&gt;Here are some things to consider when looking for a gaming PC, or perhaps when sourcing parts for your own build:&lt;/p&gt;&lt;p&gt;1) If it seems too good to be true, go with your instinct.&lt;/p&gt;&lt;p&gt;2) I tend to only build Intel based systems, so my article will bias Intel CPUs but the same logic can apply to AMD CPUs. Don't assume that a Core i5 or i7 will be fast. The 14th generation of Intel Core Processors has recently been released so ask what processor the advertised 'Fast i5 CPU' actually is. Get the model number! If you are given an i5-13600K, look up that model number of the CPU and you will find out its release date, and therefore the era of that generation of the PC. If the seller refuses, only quoting 'It's an i5 3GHZ', avoid as you do not know what you are purchasing. The motherboard and RAM will be of the same era as the CPU, so it could be an older PC in a flashy new "gaming" case.&lt;/p&gt;&lt;p&gt;At the time of writing, anything but the lowest budget new gaming PCs should have a 13th or 14th Gen Intel. Within each range (i3/i5/i7/i9) there are different models - the higher the number, the faster the CPU. There are also letters in the model of the CPU - &lt;a href="https://www.intel.com/content/www/us/en/processors/processor-numbers.html" target="_self"&gt;familiarise yourself&lt;/a&gt; with them when comparing potential buys.&lt;/p&gt;&lt;p&gt;3) Ask if the seller has configured the RAM as dual channel - and if they don't know what this means, walk away. An example: If the system has 16GB of RAM and only one stick of 16GB is supplied, it's not running in dual channel (expect 2 sticks of 8GB); this will degrade the performance of the RAM. All sticks of RAM should be exactly the same model for best compatibility. You could go further and check the RAM is on the QVL (Qualified Vendor List) of the motherboard, which is easily found on the manufacturer's website. That's not to say if it's not on the list it will not work, but gives some reassurance if it is. &lt;/p&gt;&lt;p&gt;Ask if the RAM is configured correctly with XMP (Intel) or EXPO (AMD) as it can make a considerable difference to the speed the RAM will operate. XMP/EXPO are modes that enable the RAM to run at it's full potential. For example, the spec sheet may say 5000Mhz as the speed but without XMP/EXPO enabled, it may be running at a much lower speed. You could ask for a screenshot of the BIOS showing the speed of the RAM. If XMP/EXPO isn't available it could be an incompatibility with the motherboard and the RAM.&lt;/p&gt;&lt;p&gt;4) Ask to see the inside of the PC with both sides off. If it's a mess, don't expect much effort has been put into the build. &lt;/p&gt;&lt;p&gt;5) What brand and model is the case? If it turns out to be cheap and (maybe) cheerful you may want to consider something better. You don't need to spend much to get a nice case with good airflow, reasonable quality with decent fans and the seller may have other options available to you. &lt;/p&gt;&lt;p&gt;6) The PSU is important to provide a stable system. It's not all about wattage; I'd far prefer a solid 750W PSU on a Seasonic platform than a 1000W from a questionable Amazon ALLCAPS brand. Think what future upgrades you may aspire to. Will that PSU handle a RTX 40XX you are aiming for in a year? It's better to spend a little more now than to spend twice or worse, end up with an unstable system. I'd rather have a decent quality PSU than a slightly higher spec GPU/CPU if the budget is limited. &lt;/p&gt;&lt;p&gt;7) Avoid builds that offer short warranties...does the builder not have faith in the system? Can you afford to replace it in 90 days when the warranty is over? Look for 1 year minimum, 3 years preferable on all parts. &lt;/p&gt;&lt;p&gt;8) Ensure the Windows license is genuine. You'll want a product key - some will be a digital license, others will come on a product key card, or a sticker attached to the PC - ask to see it. &lt;/p&gt;&lt;p&gt;9) Is that fancy-looking CPU cooler any good? It is common for builders to cut corners here. Ask for the model number. Research the price, reviews, noise levels and cooling abilities compared to other coolers and try to find out if it's suitable for the CPU in the system. Don't rule out air coolers on a limited budget as some can be very good, and preferable to a cheap all-in-one water cooler. &lt;/p&gt;&lt;p&gt;10) Beware for bog-standard office PCs that have been re-housed in a "gaming" case with an average-at-best graphics card being passed off as a gaming PCs. Some of these can be OK value and fine for basic gaming. Pay accordingly and set your expectations lower than a dedicated gaming PC. &lt;/p&gt;&lt;p&gt;11) What games do you intend to play? Look up the recommended specs for that game and if the PC only meets the minimum specs you may have lag, poor frame rate or have to lower the quality settings in the game. All depends on budget, of course - not everyone has the budget, and not everyone wants to spend money to put all the settings on high. That’s fine, too; just be sure that it is suitable for your needs.&lt;/p&gt;&lt;p&gt;12) What GPU does it have? Your graphics card will vastly affect gameplay. If you are paying decent money, expect a newer generation card. With NVIDIA for example the latest generation as of writing is RTX 40XX. The higher the model, the more powerful the card. So RTX 4080 is above RTX 4070. But...some of the older generation cards can be decent, for example a RTX 3080ti will outperform a RTX 4050. When you are choosing your PC, compare the GPU on benchmark sites to get an idea.&lt;/p&gt;</description><pubDate>Mon, 18 Dec 2023 22:27:00 +0000</pubDate></item><item><title>Rewriting a pile of ugly 2012 JavaScript</title><link>https://aj-computing.co.uk/articles/rewriting-a-pile-of-ugly-2012-javascript/</link><description>&lt;p&gt;Some time ago, we had a fun idea: re-implement the rapidly-disappearing Network SouthEast electro-mechanical clocks &lt;a href="https://aj-computing.co.uk/network-southeast-clock/" target="_self"&gt;in HTML and JavaScript.&lt;/a&gt; By the very early hours of the following morning, we had a working prototype. We bashed that out pretty quickly. And it kept working for over a decade!&lt;br/&gt;&lt;/p&gt;&lt;p&gt;In the time since, at intervals of a few years, our HTML5 Network SouthEast clock has done the rounds among railway enthusiasts. Actually, it might go around more often than that; it's still overwhelmingly the most popular thing on our website by every measure. But we know it's &lt;em&gt;really&lt;/em&gt; doing the rounds if it appears in our social feeds when we weren't looking for it. This happens often enough that it isn't even unsettling anymore.&lt;br/&gt;&lt;/p&gt;&lt;p&gt;On a couple of those occasions, we have seen photographs of it in use in &lt;em&gt;real world railway control centres&lt;/em&gt; (seriously!!). The second time that happened, we thought that we could enable this use case even better by adding a "distraction free" mode which would hide the text controls underneath the clock. And then we looked at the code we wrote in a caffeine-fuelled rush in 2012...and noped out, figuring that this was old and bad code that no human being should ever have to see again. Like that time we found an ISDN modem inside a false wall with the lights still blinking, we figured that some things are left best alone. &lt;em&gt;You keep trucking, little buddy&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;In a quiet moment a few weeks ago, we decided to attack that code in a big rewrite. It took a couple of days of our free time. It combined refurbishment, archaeology, and self-reflection. Here are some of the things we did, found, and learned.&lt;/p&gt;&lt;h2&gt;We are much better programmers than we were&lt;/h2&gt;&lt;p&gt;By the measure of number of lines changed, the biggest improvement was making the code &lt;em&gt;less bad&lt;/em&gt;. We could have done that without modernising a single line of it.&lt;/p&gt;&lt;p&gt;In 2012, we did not take JavaScript seriously as a programming language. This may not have been fully forgivable even 11 years ago. Gmail demonstrated that it could be used for serious web applications eight years before. Douglas Crockford demonstrated that JavaScript contained a kernel of goodness &lt;a href="https://www.oreilly.com/library/view/javascript-the-good/9780596517748/]" target="_self"&gt;in 2008&lt;/a&gt;, and arguably Crockford made the first demonstration of "good JavaScript" in 2004 with &lt;a href="https://www.jslint.com/" target="_self"&gt;JSLint&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;But, our attitude at the time was that JS was a toy language, and we employed it to build a browser toy. We saw no reason to care about the quality of that code any more than we'd go to extra efforts to make a cheese sandwich well-presented. That code continued to work because of web browsers' dedication to backwards compatibility, so we never touched it.&lt;/p&gt;&lt;p&gt;That was a mistake. The longer we left it untouched, the more we were reluctant to touch it. If it had broken as web browsers moved on, we may well have left it broken, or removed it altogether.  No bones about it, the code was &lt;em&gt;bad&lt;/em&gt;. It gleefully polluted the global window namespace. It might have had exactly one good idea which remains in the new code; that lone good part was buried under a pile of spaghetti and philosophical confusion. It was inconsistently formatted, too, which was probably the biggest barrier to understanding what we were thinking 11 years ago.&lt;br/&gt;&lt;br/&gt;We mentioned not taking JS seriously above. To the extent that we prefer our sites server-rendered with a sprinkle of JS for interactivity, some would argue that we &lt;em&gt;still&lt;/em&gt; do not. But that is no reason for the code to be unreadable nonsense. So, we've ensured that it is &lt;a href="https://eslint.org/" target="_self"&gt;statically analysed&lt;/a&gt; for problems (such as the global namespace pollution above). It uses ES6 features, to the extent those features are not bugs. There is now a consistent code formatting style. It should, at the least, not cause anyone with a solid knowledge of JavaScript to recoil in horror, and it does not actively discourage investigation.&lt;/p&gt;&lt;h2&gt;There is no more cross-browser nonsense&lt;/h2&gt;&lt;p&gt;2012 was, as any mathematician will tell you, eleven years ago. There are seasoned professional web developers working today who have no first-hand idea of the nonsense we had to deal with back in our day. This is demonstrated every time a seasoned web developer says that any browser other than Internet Explorer &lt;a href="https://www.google.com/search?q=%22is+the+new+internet+explorer%22" target="_self"&gt;is the new Internet Explorer&lt;/a&gt;. While we disagree, we can be thankful that those people have either never dealt with Internet Explorer or have forgotten how bad it actually was.&lt;/p&gt;&lt;p&gt;Eleven years later, Internet Explorer is dead. And the auto-updating nature of web browsers today means we no longer have to worry about old, bad browsers at all. Poking around this code gave us a pleasant reminder of just how much better things are these days. Here is a sample of the things we had to deal with back then:&lt;br/&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Opera, the &lt;a href="https://en.wikipedia.org/wiki/Presto_(browser_engine)" target="_self"&gt;Presto-engined&lt;/a&gt; version, did not implement `border-radius` properly. We had to specifically detect that browser and disable the subtle rounding of corners. That made it look subtly wrong, but that was better than looking terrible.&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Vertically centering things used to be hard! In fact, doing it reliably in CSS alone was impossible. We needed JavaScript for that.&lt;/li&gt;&lt;li&gt;Not all browsers supported the &amp;lt;audio&amp;gt; tag for playing audio, so we had to detect that case to avoid an exception being thrown.&lt;/li&gt;&lt;li&gt;Various still-extant versions of Internet Explorer did not support SVGs, so the little NSE logo "flash" was implemented as a PNG image embedded into the document as Base64.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;None of which we needed to bother with anymore! And to think that back &lt;em&gt;then&lt;/em&gt; we thought we had it good because we remembered the days of having to deal with incompatibilities between Internet Explorer and &lt;em&gt;Netscape&lt;/em&gt;. Things are far better these days.&lt;/p&gt;&lt;h2&gt;It no longer uses jQuery.&lt;/h2&gt;&lt;p&gt;As said, cross-browser compatibility used to be hard. jQuery was an invaluable JavaScript library which papered over the differences between them (and once again for anyone who has come into web development in the last decade: imagine not being able to depend on document.querySelector!). It did what it had to do for many years. Arguably, it &lt;em&gt;still&lt;/em&gt; has a nicer interface for interacting with the DOM than browsers do today; jQuery is still popular today for that reason. But, necessity no longer required us to use it, so we did not.&lt;/p&gt;&lt;p&gt;If the removal was gleeful, it was only because jQuery was to be celebrated for its enormous contribution to an era of web development. Thank you, jQuery!&lt;/p&gt;&lt;h2&gt;...and no longer uses any framework at all&lt;br/&gt;&lt;/h2&gt;&lt;p&gt;We considered rewriting the clock with a JavaScript framework such as Vue or Alpine. Certainly, our code would have been much simpler; it's currently &lt;em&gt;just about&lt;/em&gt; at the level of complexity that, in our view, would merit something to handle reactivity at least.&lt;/p&gt;&lt;p&gt;We didn't do that. We wanted to rewrite it for longevity. Remember that our clock predates the existence of React by a year and Vue by two years; in that time, both those frameworks have seen rewrites that have completely changed their APIs. We did not want to rewrite it every few years to keep up with framework changes, because we have real work to do.&lt;/p&gt;&lt;h2&gt;We added a couple of features, too&lt;/h2&gt;&lt;p&gt;Now that the code didn't actively resist modification, we added that "distraction free" mode we spoke of earlier.&lt;/p&gt;&lt;p&gt;We un-broke one more use case while we were there. In the past, we had noticed that people had embedded our clock on their site in an IFrame. We said "well, that's cool", then forgot about it, and we accidentally broke that use case at some point. We knew about that for a while, but the clock was confined to a "some things are best left alone" corner of our minds, and so we left it unfixed. The rewrite gave us a renewed attitude towards the clock's code. We unbroke embedding it in IFrames while we were there.&lt;br/&gt;&lt;/p&gt;&lt;p&gt;We also added a secret feature which you'll only find out by reading the source code. Have fun!&lt;/p&gt;&lt;h2&gt;What do you think?&lt;/h2&gt;&lt;p&gt;Go &lt;a href="https://aj-computing.co.uk/network-southeast-clock/" target="_self"&gt;have a look&lt;/a&gt;!&lt;br/&gt;&lt;/p&gt;&lt;p&gt;We went to efforts to ensure that the clock behaves exactly as it did before, so if you thought the old one was awesome you will think this is awesome too, and if you thought it was a waste of time before there's no helping you.&lt;/p&gt;&lt;p&gt;We were happy with the rewrite. We were happy with the result, we were happy to have learned things about ourselves, and we were happy for the reminder that web development is better these days than it has ever been. There might still be ways it can be improved. If you think of some, let us know!&lt;/p&gt;</description><pubDate>Mon, 08 May 2023 12:18:47 +0000</pubDate></item><item><title>AJ Computing is a finalist in the Tech for Techs awards</title><link>https://aj-computing.co.uk/articles/aj-computing-finalist-in-tech-for-techs-awards/</link><description>&lt;p&gt;We are excited to announce that AJ Computing has been selected as a finalist in the Tech Awards 2023 by &lt;a href="https://www.techfortechs.co.uk/" target="_self"&gt;Tech for Techs&lt;/a&gt;. This prestigious recognition acknowledges our commitment to innovation, excellence, and performance in the tech industry. We are honoured to be considered among the best in the field and to share this news with our valued partners, clients, and the local press.&lt;/p&gt;&lt;p&gt;We are proud to have got past the nomination stages, and we are now shortlisted in the final the 'Best Tech Website' award for &lt;a href="https://aj-computing.co.uk" target="_self"&gt;our website&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;The nomination for "Best Tech Website" is thoroughly reviewed and voted on by a wide range of tech experts, vendors, distributors and customers. This diverse group of voters ensures that the winners of the Tech Awards truly represent the best in the industry. We thank everyone who has voted to get us through to this final stage of the awards and of course our senior developer who created the AJ Computing website, demonstrating the very best of professional web design and engineering practices.&lt;/p&gt;&lt;p&gt;We are eager to attend the Tech Awards Ceremony on the 23rd of June 2023 at the Tech MAX 2023 Trade Event, which will take place at the Magna near Sheffield. This event offers an excellent opportunity for networking and celebration, and we are proud to represent AJ Computing, partners and customers on this significant occasion.&lt;/p&gt;&lt;p&gt;Thank you for being part of our success, and we look forward to celebrating this achievement with you. Stay tuned for updates on the Tech Awards 2023 and the results of the competition.&lt;/p&gt;</description><pubDate>Sat, 06 May 2023 12:23:30 +0000</pubDate></item><item><title>ChatGPT-generated articles are probably bad for your website</title><link>https://aj-computing.co.uk/articles/chatgpt-generated-articles-are-probably-bad/</link><description>&lt;p&gt;We're not good at writing articles. We think &lt;a href="https://aj-computing.co.uk/articles/" target="_self"&gt;the ones we write&lt;/a&gt; are great, but we've written about 15 so far, which averages just under one for each year of the existence of this website, and slightly more than one per year since we wrote the first article.&lt;/p&gt;&lt;p&gt;It is common for businesses to be advised that &lt;em&gt;content is king&lt;/em&gt;, and minus my irrational hatred for the word "content" I could agree. Our very occasional, when-we-feel-like-it writing of articles might look like poor performance; content as &lt;em&gt;court jester&lt;/em&gt; or maybe &lt;em&gt;terminally-indebted Earl of Someplace&lt;/em&gt; around these parts.&lt;/p&gt;&lt;p&gt;We have our reasons for that. The smallest of those is laziness; when we aren't writing articles it is rare that we are sitting on a beach sipping pina coladas or on a bench drinking White Lightning. Like any company whose business is not writing articles, one of the constraints is &lt;em&gt;time&lt;/em&gt;. Writing good articles requires time that we often do not have. The substitute for putting your own time into something is &lt;em&gt;money&lt;/em&gt;, which in this case would mean paying someone to write articles for us, but that (and we will go into this later) is a good way to buy someone else's very mild opinions written blandly.&lt;/p&gt;&lt;p&gt;You can believe our excuses if you like, but the upshot of this is that we don't get to write often, which probably means we don't get as many search engine hits as we could.&lt;/p&gt;&lt;p&gt;A few months ago, a text generating bot called ChatGPT was released. It can write mostly grammatically-correct and sometimes factually-correct articles given a writing prompt.&lt;/p&gt;&lt;p&gt;The obvious question is, then: what if you used ChatGPT to write articles for your site? It costs nothing (for now). It takes minimal time, especially if you automate the automated generation of articles. And having a steady stream of new articles is supposed to be good for your SEO, which means it's good for your business, which means it will make you money.&lt;/p&gt;&lt;p&gt;That has been floated both as a question by a couple of our clients and as a suggestion in the technical communities we hang around in. Our advice is: We don't write automatically-generated articles, and we suggest that you don't do it either. It does not generate good articles, it will probably be bad for your SEO in anything but the shortest term, and it will probably not make you any money.&lt;br/&gt;&lt;br/&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/128/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=c2d9c4e84e23afb090b6" type="image/webp"/&gt;
&lt;source srcset="/library/128/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=ab6dda30f4047e88a947" type="image/png"/&gt;
&lt;img alt="Us:  NOOOO YOU CAN'T JUST AUTOMATICALLY GENERATE ARTICLES. ChatGPT: haha article printer go brrrrr" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/b1e.png"/&gt;
&lt;/picture&gt;
&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;It might help your SEO - in the very short term&lt;/h2&gt;&lt;p&gt;We say this might help your SEO in the short term, because that is a hedge against the fact that nobody knows for sure. Going from a website with skeletal pages to one with some reasonably-fleshed-out pages might help it rank better in search engines. Being continually updated has some marginal chance of being a ranking signal too.&lt;/p&gt;&lt;p&gt;We don't know that for a &lt;em&gt;fact&lt;/em&gt;, because nobody who does not work at Google can tell you exactly how its ranking algorithms work, and many of the people who &lt;em&gt;do&lt;/em&gt; work at Google can't tell you that either. When deciding how to build pages for your website, it would be best to look at what Google says, and also to look at how it has behaved in the past.&lt;/p&gt;&lt;p&gt;The advice from Google has always been that if you write lots of high-quality pages, you will rank well in search engines. Sometimes, in the short term, this doesn't pay off. In the short term you often gain more from gaming Google's current algorithm than you do for trying your best to write interesting things, and then those shortcuts are cut off. In the meantime, people can make lots of money out of that traffic to their site...but we'll get to that later.&lt;/p&gt;&lt;p&gt;(Sometimes even in the &lt;em&gt;long&lt;/em&gt; term low-quality sites persist in search engine rankings. Why e.g. Pinterest maintains outsized influence of search results despite having literally no original content, and ranks despite ample user complaints about its weird dominance of search results, I do not know.)&lt;/p&gt;&lt;p&gt;Just over a decade ago, Google introduced &lt;em&gt;page quality&lt;/em&gt; as a ranking signal. This caused a significant traffic drop to websites with lots of low-quality articles. I was involved in one of those websites at the time. Because we had focused on quantity rather than quality in the years before, the all-hands-on-deck project to raise the overall quality of the articles &lt;em&gt;just to un-tank our Google rankings&lt;/em&gt; was Herculean and all-consuming.&lt;/p&gt;&lt;p&gt;You can be sure that Google is working on detection of articles written by ChatGPT (and whatever follows it), and so you can be sure that whatever gains are made in SEO (if there are any) will become a liability in the future. Maybe not tomorrow, maybe even not next year. If your business is getting &lt;em&gt;people to read your articles so you can get ad revenue now&lt;/em&gt;, then this might not matter, because you might make money in the short term, and that money will not disappear when your search engine rankings implode. If your business is &lt;em&gt;selling goods or services, and your website has articles on it&lt;/em&gt;, then you have to balance those (maybe imaginary) short-term gains against whatever efforts will be needed to fix your giant pile of low-quality articles in the future.&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;It does not write good articles&lt;/h2&gt;&lt;p&gt;Much is made of ChatGPT's factual accuracy, or lack of such. You &lt;em&gt;should&lt;/em&gt; care about misleading your website's visitors, and it is unwise to rely on text generated by it. I would rate the verity of ChatGPT's text roughly the same way and with the same words I would rate most of the journalists who have written about ChatGPT: It is often quite good at stating facts. It likes stating facts so much that it occasionally invents brand new facts to state, disregarding any correspondence of them to reality. If opinions leak into the text, they do so by accident and they are usually unadventurous.&lt;/p&gt;&lt;p&gt;No, ChatGPT's articles are bad because they are &lt;em&gt;boring&lt;/em&gt;. ChatGPT is trained on a vast variety of texts, as a blender can be trained on a wide variety of food. ChatGPT text has no style, no hint of a voice, and no sense of humour. it feels like the average of all writing styles, as the result of a blender is the average of its inputs. It is not special and it is not personal; it will write with the same bland voice as everyone else using ChatGPT to generate articles.&lt;/p&gt;&lt;p&gt;Even a regurgitation of facts can be interesting, if it is written well. But ChatGPT is - for now - incapable of the latter.&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;Using ChatGPT isn't as novel as you think&lt;/h2&gt;&lt;p&gt;Of course, the idea of machines inventing text is relatively new, and machines actually &lt;em&gt;doing&lt;/em&gt; so has only reached mass consciousness in the last few months. But its application here is a new tool applied to a bad solution to the wrong problem: you want articles, regardless of quality, so crank out as many of them as you can as cheaply as possible and with the least amount of effort.&lt;/p&gt;&lt;p&gt;I hinted at this earlier when I mentioned that Google introduced rankings based on quality, and of the panic it caused when it was first introduced. That was over a decade ago. It was possible to crank out vast amounts of articles regardless of quality &lt;em&gt;back then&lt;/em&gt;, by simply paying humans small amounts of money to write them. It is every bit as easy to do that now, and most major websites already do it. A search on, e.g. &lt;a href="https://www.fiverr.com/search/gigs?query=article%20writing&amp;amp;source=drop_down_filters&amp;amp;ref=gig_price_range%3A0%2C10" target="_self"&gt;Fiverr&lt;/a&gt; will bring up many people who will write SEO articles for £10 or less. We could pay for one of those per day by buying slightly fewer biscuits. If we did that at the start of AJ Computing we'd have over 6500 articles by now!&lt;/p&gt;&lt;p&gt;(And yes, ChatGPT is definitely going to make &lt;em&gt;cranking out mediocre articles for a living&lt;/em&gt; a bad business to be in. This was a business model that was crying out to be automated anyway, and I only &lt;em&gt;partly&lt;/em&gt; say that out of spite fuelled by distaste for low-quality filler.)&lt;/p&gt;&lt;p&gt;We never bought cheap articles because we care about quality. We care that it is us speaking in our voice, about the things we like and the opinions we have. We play the long game of doing the right thing at expense of short-term gain. The payoff might not be immediate, but we sleep well with a clear conscience.&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;Now what?&lt;/h2&gt;&lt;p&gt;Those, then, are the reasons we don't use ChatGPT. But what, then, for the small-to-medium business that feels they need &lt;em&gt;something&lt;/em&gt; on their site? How do you find the time and the inclination to write?&lt;/p&gt;&lt;p&gt;First, &lt;em&gt;it's OK&lt;/em&gt;. Sometimes you will be able to write things and sometimes you won't. The things that make you money should take priority, because money is why you are in business. Things that do not make money can be neglected. And let's be clear: it is &lt;em&gt;not&lt;/em&gt; clear that there really is a write-articles-to-making-money pipeline.&lt;br/&gt;&lt;br/&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/129/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=616fd58c628547b8c121" type="image/webp"/&gt;
&lt;source srcset="/library/129/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=f011cdae2e62df8d74d4" type="image/png"/&gt;
&lt;img alt="" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Underpants_gnomes.png"/&gt;
&lt;/picture&gt;
&lt;br/&gt;&lt;br/&gt;I do think there is value in writing for your website. But I understand any business owner who would prioritise immediately-money-making things above writing for their website. Where there is value, it is because it is fully &lt;em&gt;you&lt;/em&gt; writing. When we write here, we do so never because we are expecting a return on time invested. We do it because we like it. If you &lt;em&gt;just don't like writing&lt;/em&gt;, it's fine to not write!&lt;/p&gt;&lt;p&gt;Secondly, &lt;strong&gt;you probably have more to write about than you think&lt;/strong&gt;. This article came about as a consequence of a ten-minute telephone conversation between me and the AJ Computing founder - and that conversation ended with "I think there's an article in here somewhere...". The ideas were scribbled down, and then I wrote this whenever I had a bit of free time in the next few weeks. Other times, we've found ourselves saying the same thing to a lot of our clients; we &lt;a href="https://aj-computing.co.uk/articles/why-avoid-homeplug-powerline-equipment/" target="_self"&gt;wrote that down&lt;/a&gt; in part to crystallise our own thoughts. &lt;br/&gt;&lt;/p&gt;&lt;p&gt;Thirdly, &lt;strong&gt;stop diverting time into social media&lt;/strong&gt;. If the "articles-on-website-to-money" exchange rate is unclear, there is even less evidence for most businesses that keeping up some kind of regular posting on social media websites is worth the time invested. And if you post the same thoughts on your &lt;em&gt;own&lt;/em&gt; website, at least that is in your venue and on your terms. The amount of time freed up by not posting on social media that is probably larger than you think; my anecdata is watching people returning to serious, long-form writing after the apparent implosion of Twitter.&lt;/p&gt;&lt;p&gt;And finally, rolling out the biggest of all the cliches, &lt;strong&gt;be yourself.&lt;/strong&gt; If you don't like writing on a topic, don't write on it, because a reader can tell that you aren't interested. If you are interested in something, even if you think it is &lt;a href="https://aj-computing.co.uk/articles/care-and-feeding-of-old-laptops/" target="_self"&gt;boring and niche&lt;/a&gt; to anyone else, write about it. Share &lt;em&gt;your&lt;/em&gt; unique expertise, and build trust with the reader by writing in &lt;em&gt;your&lt;/em&gt; voice about the things &lt;em&gt;you&lt;/em&gt; care about.&lt;/p&gt;</description><pubDate>Tue, 28 Feb 2023 18:34:45 +0000</pubDate></item><item><title>Why I avoid HomePlug and PowerLine equipment</title><link>https://aj-computing.co.uk/articles/why-avoid-homeplug-powerline-equipment/</link><description>&lt;p&gt;It's not typical that business users come to me with this question, it tends to be home users. And that question is along the lines of: &lt;strong&gt;Can I use those HomePlug Wi-Fi Adaptors?&lt;/strong&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Yes. But don't.&lt;/p&gt;&lt;p&gt;Back in the olden-days (circa early 2000s) when I recall first coming across PowerLine equipment, I thought it was a great idea. No more Wireless Access Points (WAP) in extender mode that reduce the potential throughput on each "hop". Simply plug into a power socket and there you go, Wi-Fi in the exact place you need it. No more having to figure how to run Ethernet cables into locations where it's difficult to get Wi-Fi (where you can’t use extenders/mesh systems, for example due to thick walls or long distances).&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;How does PowerLine equipment work?&lt;/h2&gt;&lt;p&gt;Setting up PowerLine equipment is straightforward for anyone with minimal technical knowledge. You have the PowerLine base in a power socket near your broadband router, probably connected to the router with a network cable. This injects a signal through the power lines so that you can plug in one or more HomePlug access points wherever you need Internet/network access. HomePlug&lt;span&gt; equipment is available in Wi-Fi only, Wi-Fi and Ethernet, Ethernet only. &lt;/span&gt;&lt;span&gt;Nothing to configure, it should just work. They are also cheap starting at just £25 for a kit, with better ones costing around £50.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;HomePlug was great, until it wasn't&lt;/h2&gt;&lt;p&gt;It seemed brilliant and AJ Computing sold a fair few kits. Just like they say on the box, plug in and away you go. Sometimes I installed them, they worked perfectly, and the client never had any issues with speed or stability. On the other hand, some will simply refuse to work on certain power sockets; move to an adjacent socket and it might work. Some seem to work in a particular room, but then just every so-often, probably at the worst time, a HomePlug will drop out, or maybe all them will drop out. So you end up power cycling them and hoping they come back to life. Or you moved them to another socket and hoped for the best. Sometimes if you turned the HomePlugs on in specific order they will work (no doubt there’s a technical reason for this, but I don’t have the will to find out).&lt;/p&gt;&lt;p&gt;In other cases, I have had assumed "random'" drop outs of either part or the entire HomePlug system and could not figure out what was causing it, until I visit the client’s home. In one case, whenever the microwave was used it would flake out. Another installation would fail when someone used the power sockets in the shed to mow the lawn. Some I have never figured out the reason. PowerLine equipment can work perfectly but on the other hand can be absolutely awful and have problems that you may never figure out.&lt;/p&gt;&lt;p&gt;There's the claim that there is no loss of throughput (in other words, you should get the same Internet speed using HomePlug equipment compared to being connected directly to your Internet router). I have found this often not to be the case and instead often find a massive loss in speed as well as lag. If it was a considerable loss in speed &lt;em&gt;all of the time&lt;/em&gt; you could almost put up with it...but the issue for me is that the speed can go from being quite reasonable to "my TV is buffering" depending on inconceivable factors including what someone is having for dinner.&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;Sorry, not sorry, we're not selling HomePlug anymore&lt;/h3&gt;&lt;p&gt;For those reasons AJ Computing will &lt;em&gt;never&lt;/em&gt; sell HomePlug equipment again. The last set I gave away for free some years ago, accompanied with an apology/disclaimer. We don't want to recommend something that may, or may not, be unreliable. That can come back on the company's reputation. That is not a risk I am willing to take, despite the potential easy sale and initial profit it may bring.&lt;/p&gt;&lt;p&gt;But I will say:&lt;br/&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;if you need a network connection outside the range of your broadband router&lt;/li&gt;&lt;li&gt;your budget is £50 or less&lt;/li&gt;&lt;li&gt;running a network cable to the location is not possible&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;...try out HomePlug. But keep your expectations low, and keep all the packaging ready to get a refund. Have a look at the TP-Link range; you can't go too far wrong with them. &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;How else can I get Wi-Fi in a dead zone on the cheap?&lt;/h2&gt;&lt;h3&gt;Try upgrading your router&lt;/h3&gt;&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/127/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=9bed2f77264e5737ac4e" type="image/webp"/&gt;
&lt;source srcset="/library/127/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=a077db43e63c927c0266" type="image/jpeg"/&gt;
&lt;img alt="Cheesy Dog and Technology Picture" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Cheesy_Dog_and_Technology_Picture.jpg"/&gt;
&lt;/picture&gt;
&lt;br/&gt;(cheesy 'dog and technology' picture, Charlie is now immortalised)&lt;br/&gt;&lt;br/&gt;It is worth trying is a more powerful WAP near your broadband router. You can still use the broadband router mainly as it is (to provide the Internet connection) but connect, the WAP using a network cable. You'd disable the Wi-Fi on your broadband router so it doesn't interfere, and use the Wi-Fi on the more powerful WAP instead. You could instead remove your broadband router and replace  with a new router that provides both the broadband connection and the Wi-Fi but it becomes complicated if you need support from your ISP. One of the first things the ISP will blame if you have a flaky Internet connection will be your replacement router, and you’ll have to switch back to the ISP’s router.&lt;/p&gt;&lt;p&gt;The Tenda AC1200 Dual Band Wireless Router is a cheap and decent WAP. It retails at around £36 and provides excellent coverage. Configure it in Access Point mode. I have personally tried them in comparison with routers supplied by various ISPs and it can provide full Wi-Fi strength to rooms where otherwise there was barely a glimmer of a signal. I use a single Tenda AC1200 next to my router and it covers the entire house (and the garden, and parts of next door if I fancy it). Plus it looks like a spaceship but with tentacles, which is a bonus.&lt;/p&gt;&lt;br/&gt;&lt;h3&gt;Run an ethernet cable&lt;/h3&gt;&lt;p&gt;An alternative, cheap and reliable way to get Wi-Fi into an area is to run a network cable from the broadband router to a WAP (again, the Tenda AC1200 is great for this). It's not always possible to run a cable. For example, if you rent the property you probably will not be allowed to drill holes or clip cables to the wall. But where it’s feasible, go for it. You know where you stand with a cable, it won’t get interfered by Moss using the welder in the shed or Lewis microwaving tea, again. Someone with zero experience of networking but a little determination could tack a new cable to skirting boards, hide behind carpet, pop it through holes in the walls/floor, whatever is needed to get it to the location. You’ll need the correct length cable with an RJ45 connection on each end. If you need one feel free to get in touch. Buy full copper cable instead of Copper Clad Aluminium (CCA). &lt;/p&gt;&lt;p&gt;One issue is that RJ45 connectors are quite big (around 8mmX14mm) which can sometimes make the difference of not being able to run the cable through holes (without having to get a big drill bit out and making a mess of the place). You could try a local IT or electrical company and see if they would be willing to terminate the cable once you have run it, saving you labour costs. Total cost will be around £75 or less depending on the length of the run -  £36 for a WAP, £25 cable (that'll get you at least 40 metres) perhaps budget £15 for clips, zip ties and perhaps a bit of self-adhesive trunking. You can pick all of these up from your &lt;a href="https://aj-computing.co.uk/" target="_self"&gt;local IT company&lt;/a&gt; or hardware store.&lt;br/&gt;&lt;/p&gt;&lt;h4&gt;Keep it tidy&lt;/h4&gt;&lt;p&gt;Better than having a network cable with an RJ45 connector at the end is to terminate it in a wall box, and then use a patch cable between the wall box and the WAP. This way you won't have a loose cable whose end can get damaged (and re-terminating it could be a call to your local IT company). When you terminate at a wall box, the likely point of any damage is an easily replaceable patch cable. The other advantage of terminating in a wall socket is that if you decide you want your WAP elsewhere in the room, you can simply use a longer patch cable from the wall box. It looks tidy, too. A surface mount back box is only £1.50 from your hardware store, a faceplate (don't cheap out on the brand, I'd suggest EXCEL) perhaps £5.&lt;/p&gt;&lt;p&gt;Consider running two cables instead of one. It's barely more work, but gives you redundancy and easier expansion. We keep a range of networking hardware in stock and can make cables to set lengths. If you aren't sure what you need, &lt;a href="https://aj-computing.co.uk/contact/" target="_self"&gt;give us a call&lt;/a&gt; and we will chat it through. Or perhaps if you don't fancy installing network yourself, AJ Computing &lt;a href="https://aj-computing.co.uk/services/computer-networking/" target="_self"&gt;can sort that&lt;/a&gt;, too. &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3&gt;Mesh Wi-Fi&lt;/h3&gt;&lt;p&gt;If you are feeling flush and don't fancy cabling, go for a Wi-Fi mesh system. These are designed to be installed by home users without technical knowledge but product selection, placement and deployment can take a little thought. Explaining how a mesh system works is probably a whole article in itself so will stop at saying don't cheap out though or you may regret it - go for a decent brand. &lt;/p&gt;&lt;p&gt;I hope this helps to demonstrate that there are cheap, reliable alternatives to HomePlug. p.s. PLEASE DON'T DO IT! &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 12 Feb 2023 19:02:19 +0000</pubDate></item><item><title>Graphene OS is basically perfect</title><link>https://aj-computing.co.uk/articles/graphene-os-is-basically-perfect/</link><description>&lt;p&gt;I don’t like smartphones.&lt;/p&gt;
&lt;p&gt;I love the idea of having access to all the world’s information and cat photos wherever I am. I like the idea of having a computer in my pocket that is more powerful than the desktop computers of a few years ago (and with the junk machines I &lt;a href="https://aj-computing.co.uk/articles/care-and-feeding-of-old-laptops/"&gt;like&lt;/a&gt;, probably faster than the desktop computers I use &lt;em&gt;today&lt;/em&gt;). I do not like what smartphones have become.&lt;/p&gt;
&lt;p&gt;Smartphones have become portable dopamine-dispensers, maximising “engagement” above all else because a paperclip-maximising algorithm says that will bring in the money for the people who &lt;em&gt;actually&lt;/em&gt; have control over the software on your phone. They have become surveillance tools in which your social graph and your every movement is weaponised against you; tracked, traded and analysed in ways you are not allowed to control or understand, in order to sell you adverts better.&lt;/p&gt;
&lt;p&gt;It is a stranger barging in to your house showering you with bags of Haribo while paying too much attention to your furniture and possessions; any gratitude for the gifts should be vastly outbalanced by the complete disregard time for your time, your attention, and your privacy. It is a computing experience that hates you.&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/123/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=9dd6336921f2709d0237" type="image/webp"/&gt;
&lt;source srcset="/library/123/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=43a5058717c547ee9268" type="image/jpeg"/&gt;
&lt;img alt="" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/anyway.jpg"/&gt;
&lt;/picture&gt;
 &lt;/p&gt;
&lt;p&gt;I don’t think it was inevitable that things would be this way. After the release of the first smartphone-as-we-know-them, things settled into a certain user-hostile groove so quickly that it &lt;em&gt;feels&lt;/em&gt; like that was the only way things could have happened, but it was not. That was a set of decisions by people. That means &lt;em&gt;other&lt;/em&gt; people can choose to build a completely different world, &lt;a href="https://www.youtube.com/watch?v=iWfEIo-T8_8"&gt;independent and exempt&lt;/a&gt;. And that is what &lt;a href="https://grapheneos.org/"&gt;Graphene OS&lt;/a&gt; is doing. It's available now, for free, for anyone with a semi-recent Pixel phone.&lt;/p&gt;
&lt;h2 id="what-is-graphene-os"&gt;What is Graphene OS?&lt;/h2&gt;
&lt;p&gt;Graphene OS is built on Android. A small group of clever people take the open source Android code, rip out anything that could compromise your privacy, and add in a bunch of hardening features that make it much harder to break in to your phone. That is a massive over-simplification that certainly understates just how much work goes into Graphene OS.&lt;/p&gt;
&lt;p&gt;It means you get Android - and, with only a tiny bit of extra effort effort, it is capable of running almost any app Android is capable of running - but without any of the tracking, and with some advanced security features. It means you get just Android the operating system, not Android plus whatever half-baked apps your phone manufacturer decided to “add value” with, and not Android plus some electronics company’s user-interface &lt;a href="https://www.androidauthority.com/android-skins-945375/" title="The many flavors of Android: A look at the major Android skins (Android Authority)"&gt;unimprovements&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It is almost entirely open source, and developed in the open by people who put your interests and your privacy first.&lt;/p&gt;
&lt;p&gt;There is probably no more secure and private phone operating system in the world. But what caught and held my interest, and made me switch, was the &lt;em&gt;seriousness&lt;/em&gt; which the project exudes; there may be alternative distributions of Android, but none of them have conveyed to me the same laser-sharp focus that Graphene OS did. That’s subjective, but if you look at their &lt;a href="https://grapheneos.org/"&gt;website&lt;/a&gt; you might see what I mean.&lt;/p&gt;
&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;
&lt;p&gt;Graphene OS will only work on relatively-recent Google Pixel devices. Nothing else will even attempt to install, and Graphene OS has no interest in supporting anything else. I am using it on a Pixel 4a, because this was the cheapest way of trying it out. The 4a is also probably the last Pixel to have a 3.5mm headphone jack, the lack of which &lt;em&gt;I will never consider normal, by the way&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Installing Graphene OS is dead simple, if you are using one of the supported devices. It even has a simple clicky web-based (!) installer, which is what I used to install on my phone.&lt;/p&gt;
&lt;p&gt;I would only urge to read the installation instructions, and when you are done, &lt;em&gt;actually read the installation instructions&lt;/em&gt;, especially the bit about not using cheap cables. I did not read the part about cheap cables, until it refused to flash, and then I &lt;em&gt;still&lt;/em&gt; didn’t read the installation instructions carefully and thereby missed another operating-system-specific “gotcha” (specifically, that Ubuntu ships with a Chromium browser which has broken WebUSB). Don’t do that! Read the instructions, carefully!&lt;/p&gt;
&lt;h2 id="what-is-it-like-to-use"&gt;What is it like to use?&lt;/h2&gt;
&lt;p&gt;Graphene OS works flawlessly. I can think of no reason that anyone could not use this as their daily driver.&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/125/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=9caac05e480a893e2bf5" type="image/webp"/&gt;
&lt;source srcset="/library/125/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=c588e4cd9788c4abea11" type="image/jpeg"/&gt;
&lt;img alt="" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/DSCF8718_02_og.jpg"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;There are no user interface surprises to anyone who has used a smartphone in the last decade and a half. Android, but better. Because it is not loaded down with manufacturer or carrier nonsense, it works faster and feels faster than &lt;em&gt;Android-in-practice&lt;/em&gt; on almost any other phone. Though we’ve been encouraged to think of them as read-only media consumption devices, smartphones are in fact incredibly powerful portable computers, and Graphene OS is so snappy that you really &lt;em&gt;feel&lt;/em&gt; that fact.&lt;/p&gt;
&lt;p&gt;And best of all, the experience is &lt;em&gt;quiet&lt;/em&gt;. The only notifications you will see are of Graphene OS's regular software updates. There are no "on this day" notifications, or weird carrier upsells, or anything else to interrupt your day when you do not need to be interrupted. I find this important. My phone should work for me, and it does not grab my attention to make some number go up to meet someone's monthly engagement targets. Graphene OS is a &lt;a href="https://bootcamp.uxdesign.cc/what-is-calm-technology-45fe0266251c"&gt;calm&lt;/a&gt; experience.&lt;/p&gt;
&lt;p&gt;Graphene OS doesn’t really have many opinions on what you should do with your phone, and so it makes a conscious decision to not ship with many pre-installed apps. This is good! If you install the Play Store (which is heavily sandboxed under Graphene OS), almost all of your normal apps will work. Yet, there might be little point in installing a privacy-centric OS on your phone and then installing the usual set of &lt;a href="https://www.theguardian.com/global/2021/aug/22/how-digital-media-turned-us-all-into-dopamine-addicts-and-what-we-can-do-to-break-the-cycle"&gt;dopamine dispensers&lt;/a&gt; on it.&lt;/p&gt;
&lt;p&gt;Instead, here are some things I use, all of which are open source and thus can probably be trusted to not be user-hostile.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://signal.org/android/apk/"&gt;Signal&lt;/a&gt; for messaging, instead of that other well-known messaging program that sends your contact list to Facebook to be harvested for a social graph.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://f-droid.org/"&gt;F-Droid&lt;/a&gt;, the alternative app store, to install the rest of the programs on this list. It has its &lt;a href="https://privsec.dev/posts/android/f-droid-security-issues/"&gt;issues&lt;/a&gt;. It is still better than its alternatives.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://f-droid.org/en/packages/org.schabi.newpipe/"&gt;NewPipe&lt;/a&gt; for watching YouTube videos, which allows me to download videos at home where data is fast and reliable, and watch them on the train where data is neither of those things.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://f-droid.org/packages/com.fsck.k9/"&gt;K-9 Mail&lt;/a&gt;, &lt;em&gt;with notifications turned off to keep my life calm&lt;/em&gt;, for checking email.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://f-droid.org/en/packages/com.simplemobiletools.musicplayer/"&gt;Simple Music Player&lt;/a&gt;, so I can play MP3 files that I buy, rather than streaming music from services which might pull my favourite songs at any time (and are selling your habits to advertisers). It is a regression that the mobile computing experience &lt;a href="https://onezero.medium.com/the-death-of-the-computer-file-doc-43cb028c0506"&gt;no longer&lt;/a&gt; has &lt;em&gt;files that you work on&lt;/em&gt; and instead has &lt;em&gt;apps and services that you work in.&lt;/em&gt; "The app" is to "the file" as &lt;a href="https://www.youtube.com/watch?v=nA1tLxfdif4"&gt;AOL&lt;/a&gt; was to the Internet. Files are good! Files move between programs, files are yours forever, and files work even if your Internet connection is spotty.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://f-droid.org/en/packages/com.simplemobiletools.calendar.pro/"&gt;Simple Calendar Pro&lt;/a&gt;, from the same authors, &lt;a href="https://f-droid.org/en/packages/org.gege.caldavsyncadapter/"&gt;synchronising&lt;/a&gt; with a CalDAV server I pay for rather than with Google or anyone else that might be using my schedule as algorithm-fuel.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://f-droid.org/en/packages/com.simplemobiletools.notes.pro/"&gt;Simple Notes Pro&lt;/a&gt;, also from the same people, for ad-hoc writing down of things.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://f-droid.org/en/packages/com.termux/"&gt;Termux&lt;/a&gt;, for SSHing in to one of my needlessly-large squadron of servers when I am not near a full-size computer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All of that makes for a pleasant, tracking-free, advert-free, user-prioritising, owned-by-me experience. I would recommend it for anyone.&lt;/p&gt;
&lt;h2 id="almost-but-not-actually-perfect"&gt;Almost, but not actually, perfect&lt;/h2&gt;
&lt;p&gt;As said, Graphene OS works flawlessly for me. I’ve been using it for nine months and I cannot fault it on a single thing for the things it &lt;em&gt;does. &lt;/em&gt;I do not think it is perfect. I am not sure perfect is possible in the current environment; Graphene OS is the best mobile operating system given what options actually exist.&lt;/p&gt;
&lt;p&gt;My only gripe with Graphene OS is that its default browser is based on Google's Chrome browser, which does not support extensions on Android. That means it cannot support content filtering. According to the Graphene OS authors, it will support it soon. Whatever the risks of extensions like uBlock Origin may be - in particular, the risks of running an alternative, Gecko-based browser that supports them, which the Graphene OS people think you &lt;a href="https://grapheneos.org/usage#web-browsing"&gt;should &lt;em&gt;not do&lt;/em&gt;&lt;/a&gt; - I think they are vastly outweighed by having vast swathes of JavaScript code that are not being executed in the first place. Let that difference of opinion be what it is; I'll happily wait for Vanadium's content filtering to appear whenever it appears.&lt;/p&gt;
&lt;p&gt;Still, in the back of my mind somewhere, what I actually wish is that &lt;a href="https://tuxphones.com/"&gt;Linux phones&lt;/a&gt; were capable of providing a viable alternative for those of us who want a little more control over our phones. They are, currently, not. I ran a Linux phone as my daily for over a year. My complaints about it were not those of normal people, such as “it doesn’t run any mainstream apps”; rather, they were the gripes of someone did their best to like it and kept using it out of principle, such as “I did not reliably receive text messages” and “alarms stopped working for no particular reason”.&lt;/p&gt;
&lt;p&gt;It is a shame, because as under-resourced as they are, the Linux-on-phone projects care solely for their users. So does Graphene OS, but the Android open source project on which Graphene OS is based is built by Google. Android development will always follow the interests of Google. Those interests overlap with those of users only by accident. It is tempting to believe that Android’s open source nature might save us. We have precedent to indicate that this will not be.&lt;/p&gt;
&lt;p&gt;When Google’s interests (serving adverts) interfered with those of the users (blocking adverts) in their open source Chromium web browser, Google’s interests took priority, and thus we got &lt;a href="https://arstechnica.com/gadgets/2022/12/chrome-delays-plan-to-limit-ad-blockers-new-timeline-coming-in-march/"&gt;Manifest v3&lt;/a&gt; designed to &lt;a href="https://github.com/uBlockOrigin/uBlock-issues/issues/338#issuecomment-452843669"&gt;neuter&lt;/a&gt; full-spectrum content blockers. One might be nominally free to fork the Chromium browser and add those features back in. In reality, maintaining such a fork is beyond the capabilities of an organisation much smaller than the Google Chrome team, because browsers are huge and complex pieces of software.&lt;/p&gt;
&lt;p&gt;So it is with Android, but more so. Alternative Android distributions have not yet reached the adoption that would pose a threat to Google, as uBlock Origin and other content blockers have. That day may yet come. When it does, we can assume that Google will do their utmost to break alternative distributions. As such, privacy-focused Android distributions are safe from Google insofar as they currently fly under the radar.&lt;/p&gt;
&lt;p&gt;Still. None of that is a certainty, so let's not worry about that future. And should that come to pass, Graphene OS has bought us a few years until some other user-respecting OS is ready.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;If you have a Pixel 4a or newer kicking around, and want to take back a little control of your life and happiness, Graphene OS is a very good start.&lt;/p&gt;
&lt;p&gt;If you want to experiment with alternative Android distributions but do not own a modern-ish Pixel phone, &lt;a href="https://divestos.org/"&gt;DivestOS&lt;/a&gt; might be worth looking at.&lt;/p&gt;
&lt;p&gt;If nothing else, maybe this article might help you think about who is in control of your portable computing experience, and how you could think about taking some of it back, even if it is a little piece (an app, a thought, a file) at a time.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;em&gt;The opinions in this article are those of an AJ Computing technical consultant &amp;amp; guest writer, not those of AJ Computing, and may indeed not be the views of any reasonable person at all.&lt;/em&gt;&lt;/p&gt;</description><pubDate>Sat, 07 Jan 2023 09:45:18 +0000</pubDate></item><item><title>A custom PC won't install Windows and then died :(</title><link>https://aj-computing.co.uk/articles/custom-pc-wont-install-windows-then-died/</link><description>&lt;p&gt;This is a short tale of a job that was meant to be a quick callout and ended up in something a little more involved.&lt;/p&gt;
&lt;p&gt;This PC is a full fat &lt;em&gt;beast&lt;/em&gt; of a system. ASUS Noctua RTX3080 video card, 64GB of RAM, Ryxen 9 5900X, Asus X570 ROG Crosshair VIII impact board, 2X 2TB Samsung EVO NVME drives, custom water loop in a Lian Li chassis - the sort of gaming PC most of us wouldn't even think of splashing out on, being well north of £3000 for the tower alone. &lt;/p&gt;
&lt;p&gt;It has a ton of RGB stuff, as you might imagine, but the customer is well past that phase after having many computers over the years. He prefers static white lights. &lt;br/&gt;&lt;br/&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/121/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=7ec46737557c2cd20bfc" type="image/webp"/&gt;
&lt;source srcset="/library/121/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=2d1167375cb9b168440f" type="image/jpeg"/&gt;
&lt;img alt="Custom Gaming PC not AJ Computing" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Custom_Gaming_PC_not_AJ_Computing.jpg" title="Custom Gaming PC not AJ Computing"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;This computer was not supplied by AJ Computing. It was supplied by a very well-established specialist custom PC builder (and, lest the tone of this article be understood, I consider them a very good one). My task was to install Windows 10, drivers, updates etc, because the customer preferred a technician near to Peterborough for that stage of the build. I was happy to oblige especially on this beast!&lt;/p&gt;
&lt;h2&gt;Install Windows 10&lt;/h2&gt;
&lt;p&gt;Standard procedure is that I have latest version of Windows 10 on a USB stick ready. Boot from that and off we go. I knew I didn't need to check the BIOS for the correct settings as the PC builder had sorted that. But there was the problem - where the installer would normally prompt for a disk to install onto, it listed no disks. Now sometimes this does happen...if there needs to be a certain driver for it to detect them. But this does not have RAID. It's just a plain 2 disk system.&lt;/p&gt;
&lt;p&gt;I look at the BIOS...no boot devices available to select. This is not too abnormal, because sometimes a BIOS will not show a device as bootable if it isn't actually bootable (i.e if it does not have a bootable partition and instead is a blank disk, which these were). So I skipped onto the NVME drive section and it's not detecting in there either. Uh oh...did he actually not order drives with the build?&lt;/p&gt;
&lt;p&gt;But he did order drives. They are in a special slot above the video card (if you look at the picture above you will see it standing off the board). But what's this! It's loose in the slot; no wonder they are not detecting. I push the board containing the drives back firmly into the motherboard. The clip feels pretty weak, so it probably came loose in transit. This is not something you'd normally expect from NVME drives as they are usually screwed down directly to the motherboard. But this stand-off gives another failure point. Thank goodness, we'll carry on shall we!&lt;/p&gt;
&lt;h2&gt;And now the PC won't boot&lt;/h2&gt;
&lt;p&gt;Plug back in, turn on...not booting. The fans are spinning up but there is no boot at all and no picture on the screen. So I check I haven't dislodged the video card, check the HDMI cable, try a different HDMI port and so on - nope...nothing. Ohhhh no, has it died?&lt;/p&gt;
&lt;p&gt;I found that it would only boot with one particular stick of RAM, in either slot. Could it be that there's a faulty RAM module...but why would that happen all of a sudden when it's booted many times before?&lt;/p&gt;
&lt;p&gt;Not wanting to be beaten and leaving the client disappointed, I called the system builder and explained the issue on the telephone. They were very knowledgable of the build and it turns out it will *only* boot with two sticks of RAM once the custom BIOS profile is set (timing and voltage settings specified for the RAM - seems it's quite finnicky even though I was told the RAM is on the Qualified Vendor List). I would guess that fitting the drive prompted the BIOS to think "hardware change = BIOS reset".&lt;/p&gt;
&lt;p&gt;I restored the custom profile in the BIOS, refitted the second stick of RAM and we were away - now able to install Windows 10, updates, drivers and a few applications specific to the motherboard.&lt;/p&gt;
&lt;h2&gt;Why is a chassis fan not spinning?&lt;/h2&gt;
&lt;p&gt;It didn't quite end there. One of the chassis fans was not spinning at all but that was easy - the fan cable had become disconnected at a join. Again, the connector wasn't that sturdy, so it would be quite easy for it to be shaken out in transit.&lt;/p&gt;
&lt;p&gt;This is absolutely no fault of the system builder. The only way you could stop components becoming loose is to glue every single one in place which is thankfully not something I have seen for a good few years. It’s why I am very hesitant in passing over custom PCs to couriers; putting effort into a build for it to arrive seemingly dead is always a huge disappointment for the customer. The client in Peterborough was very happy with the result and got straight to work (or play?) on it.&lt;/p&gt;
&lt;p&gt;Are you taking delivery of a &lt;a href="https://aj-computing.co.uk/products/"&gt;custom/gaming PC&lt;/a&gt; and want us to check it over for you or install Windows? Feel free to &lt;a href="https://aj-computing.co.uk/contact/"&gt;get in touch&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Sat, 17 Sep 2022 17:24:34 +0000</pubDate></item><item><title>Economically vs ecologically viable: refurbishing an Acer V5-571P Laptop</title><link>https://aj-computing.co.uk/articles/economically-vs-ecologically-viable-refurbishing-acer-v5-571p-laptop/</link><description>&lt;p&gt;In its day, the Acer V5-571P (Model MS2361) was an adequate machine for those wanting a touchscreen 15.6" laptop on a fairly tight budget. It ticked enough boxes: Core i3-3337U processor, 4GB of DDR3 RAM, and a 750GB hard drive. The screen, while not comparable to modern offerings, is absolutely fine, including the touch response. While its specifications do not make it the brightest candle in the pack, it is what you expected at that price point. Not likely in its design is a long lifespan and this laptop was released in 2012 which I am sure we all remember as the year when David Cameron managed to leave his eight-year-old daughter in a pub. She can now/soon visit the pub without David, so that must be a bonus.&lt;/p&gt;
&lt;p&gt;This laptop came in with a charging fault. The power socket was a little floppy in the chassis and it would not power on. Common procedure to reduce delay is to order the power socket before the laptop arrives, fit a new socket - problem solved. The client mentioned that the laptop had been dropped so the plastics were not in good shape. On investigation, I found the reason for the looseness of the socket is the plastics that hold it in place had been bashed to bits, so the socket was able to move around. Purchasing the socket wasn't a bad decision as they are cheap enough and the power cable was a bit loose inside the socket anyway. &lt;/p&gt;
&lt;p&gt;Acer V5-571P cracked screen:&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/115/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=9e6d3d8c090bb80d79e8" type="image/webp"/&gt;
&lt;source srcset="/library/115/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=a044cbe9a5cfa67b59d4" type="image/jpeg"/&gt;
&lt;img alt="Acer V5-571P Cracked Screen" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Acer_V5-571P_Cracked_Screen.jpg" title="Acer V5-571P Cracked Screen"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Mild ingenuity can sometimes secure the power socket in place. Unfortunately, that was not the only damage. Either through impact or from plastic fatigue, the lugs that secure the left screen hinge to the base plastics had completely ripped out, meaning the screen had to be opened with a lot of care as it was putting pressure on places that shouldn't have and ultimately this led to a cracked screen. It didn't end there - the top cover has several broken clips and some aesthetic damage and all the screws from the underside were missing.&lt;/p&gt;
&lt;p&gt;So, what we have is a laptop that needs a touchscreen assembly, base plastics (which means a complete strip down of the laptop), power socket and either a repair or a new top cover. In all but a high-end laptop this makes it beyond economically viable when you consider the age of the machine, cost of parts and labour and that, at the time of writing, you can pick up the same model on eBay for £140. But this is not what the customer wanted - being ecologically minded, she wanted to make the best use of the parts she had and replace what was required. &lt;/p&gt;
&lt;p&gt;Laptop stripped and base plastics above ready for the transfer:&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/114/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=a19ddfff2945b01d0349" type="image/webp"/&gt;
&lt;source srcset="/library/114/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=4421f1a79cf209b0677b" type="image/jpeg"/&gt;
&lt;img alt="Acer V5-571P New and Old Chassis" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Acer_V5-571P_New_and_Old_Chassis.jpg" title="Acer V5-571P New and Old Chassis"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Onto the challenge of finding more parts. The screen assembly was easy to find - there are plenty of graded screen assemblies from reputable places. You &lt;em&gt;can&lt;/em&gt; replace the digitiser alone, but it's easier to swap the entire assembly. Hinges and other bits were swapped over and the screen was put back in the box while awaiting other parts.&lt;/p&gt;
&lt;p&gt;The next challenge was the base plastics. These are no longer made by Acer, of course, but there was a UK seller that had the base plastics and specifically said it was for the 571P - the 'P' denoting the touchscreen model. It was new-old-stock and a decent price so I ordered it. But when ordering parts, it's best not to keep hopes up until the part arrives. This time, it was the wrong part - I suspect it was for the non-touch model of the V5-571 which has very different base plastics and not interchangeable. Back on the hunt again! After some time and many enquiries, I sourced another new set of base plastics, confirmed suitable for this model but I had to wait for it to arrive from China - which it did in 3 weeks or so.&lt;/p&gt;
&lt;p&gt;Some of the broken bits, most of which were lurking inside the laptop:&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/117/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=b3a2ae359bccfd55a43e" type="image/webp"/&gt;
&lt;source srcset="/library/117/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=548b44b1301f2585de71" type="image/jpeg"/&gt;
&lt;img alt="Acer V5-571P Broken Bits" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Acer_V5-571P_Broken_Bits.jpg" title="Acer V5-571P Broken Bits"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;While waiting for the base plastics, I repaired the aesthetics and functionality of the top cover by gently bending in places back to a normal shape, gluing some of the clips back on and re-securing the hinge cover. It's certainly not perfect, but does the job required, and is what the client wanted rather than a replacement top cover. &lt;/p&gt;
&lt;p&gt;Side to side and it was clear that this was the correct set of base plastics. I took many pictures throughout the disassembly, which is something I thoroughly recommend if there's a chance of waiting for parts - where exactly &lt;em&gt;did&lt;/em&gt; that cable route? Why have I got &lt;em&gt;this&lt;/em&gt; screw with an odd head left over? It's much easier when you have a pictorial trace. The speakers and cable get fitted first, then the Wi-Fi antenna cables, then the motherboard, hard drive and then general re-assembly.&lt;/p&gt;
&lt;p&gt;I tend to leave the top cover simply 'placed' on top of the base and leave the base unscrewed until it boots up fully into Windows and devices tested - is could be very irritating to find that a cable has made bad contact only to have to undo all the screws and clips again. All of the screws were missing from the base upon arrival which was a little odd, so I replaced those.&lt;/p&gt;
&lt;p&gt;It all worked (of course, we're experts don't you know!). It was pretty sluggish, as expected for an old laptop with a mechanical drive (it would benefit from an SSD massively but it's had enough surgery for now). I removed many items from start-up, removed some malware (!) and installed all pending Windows updates. I ran a RAM and hard drive test for good measure.&lt;/p&gt;
&lt;p&gt;To complete the base plastics, I transferred what I could of the stickers - I recommend getting them warm with a hair dryer before trying to lift them up with a pick. There is normally enough 'stickiness' left that they can be placed back on the new base, but keep an eye on it for a while in case they start to lift. And of course, I could not resist cleaning the laptop with Amberclens. That is a product that gives me so much joy it deserves its own article. &lt;/p&gt;
&lt;p&gt;The end result is a laptop rebuilt with some refurbished parts, some new, and a fair bit of effort. From a financial angle it might not make much sense unless you can find a good used base cover and perform the labour yourself. From an environmental perspective, getting a few more years out of this laptop must surely be better than purchasing a new one. If it lasts until Windows 10 is end-of-life in October 2025 it would have done very well. I see lots of old laptops come and go and I wouldn't get attached to one, but I can also see the reasoning behind wanting to keep something going.&lt;br/&gt;&lt;br/&gt;Rebuilt Acer V5-571P laptop:&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/118/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=7eb94a4d74db7e2361ef" type="image/webp"/&gt;
&lt;source srcset="/library/118/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=fb2729dda1b1e05cf755" type="image/jpeg"/&gt;
&lt;img alt="Acer V5-571P Repaired" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Acer_V5-571P_Repaired.jpg" title="Acer V5-571P Repaired"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Could this be a trend as people become less willing to dispose and replace? The disposable culture is partially to blame for our current situation. It cost her £200 all in for the parts and repair - that could have been put towards a new laptop. But if this occasional-use laptop takes her through to 2025 I'd say that's pretty good from an environmental perspective. A quick scan on the web tells me that the average laptop lasts 3-5 years and typically on the lower end of that scale for lower-end laptops. If this laptop lives to 13 years it would have a far better environmental footprint than the average laptop - and an average laptop is all this is.&lt;/p&gt;
&lt;p&gt;I am writing from an HP ProBook 450 which was up-cycled with an SSD and a RAM upgrade which would have otherwise been binned. It gets thrown in my bag most days and when not, whirrs away as my daily workhorse. It goes onto building sites, fields, plant rooms, balanced on fences and I don't need to be precious about it. Perhaps clients find it odd that the 'Computer Repair Man' doesn't use the latest, slimmest, lightest, fastest laptop? One of my top developers (who built this website and others) works from an old Lenovo brick that most would pass as relic - not because he has to, but because he likes the way it feels. And his desktop? A 9 year old heap that we drag along and upgrade when absolutely necessary, which isn't often.&lt;/p&gt;
&lt;p&gt;Perhaps I can help with a laptop repair for your trusty faithful laptop that now needs a spruce-up, new lease of life or a repair? I'll be upfront about costs, expectations and timescale. I cover local areas such as Stamford, Oakham, Bourne, Grantham (I'm based in Corby Glen) but can stretch further afield or national by mail. Screen replacements, base plastics, top covers, speeding up Windows or in some cases, all of the above! &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parts/tools used: &lt;/strong&gt;&lt;br/&gt;60.M48N1.001 - Lower Cover assembly (new, shipped from China!)&lt;br/&gt;DC Jack Power Cable (socket including wire, no soldering required)&lt;br/&gt;60.M48N1.003 Touch Screen Assembly inc Digitizer LCD HD &lt;br/&gt;Several new screws (I have a handy assortment box)&lt;br/&gt;Superglue&lt;br/&gt;Pliers (to bend back metal bracket sections of the top cover)&lt;br/&gt;IFIXIT Electronics Essentials Toolkit&lt;br/&gt;Hairdryer&lt;br/&gt;Ambersil Amberclens Anto-Static Foam Cleaner&lt;br/&gt;&lt;br/&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/119/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=2106ea2e68635c21d27f" type="image/webp"/&gt;
&lt;source srcset="/library/119/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=d979711f8f431672ca59" type="image/jpeg"/&gt;
&lt;img alt="Tools of the Trade" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Tools_of_the_Trade.jpg" title="Tools of the Trade"/&gt;
&lt;/picture&gt;
&lt;/p&gt;</description><pubDate>Fri, 22 Jul 2022 20:36:00 +0000</pubDate></item><item><title>A tale of data recovery: Netgear ReadyNas Duo V2</title><link>https://aj-computing.co.uk/articles/tale-data-recovery-netgear-readynas-duo-v2/</link><description>&lt;p&gt;Requests to obtain data from a broken hard drive or NAS are not terribly unique but this example I thought I'd write about as it demonstrates thinking a little outside the box (pun intended...NAS...box...OK I'll stop).&lt;/p&gt;
&lt;p&gt;After sucessfully migrating data for a local client in Castle Bytham, Lincolnshire from an old Mac Mini server to a Synology NAS including implementing secure backup to rsync.net and configuring VPN, I was offered up an old NAS to obtain the data from. To my knowledge it had sat for a while because it didn't work - that was about as much information as I could gather, other than the user/pass to login and that it &lt;em&gt;might&lt;/em&gt; have a habit of munching power supplies.&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/110/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=b85caec5699c724cafc6" type="image/webp"/&gt;
&lt;source srcset="/library/110/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=f43cc1d4ce7e4657def0" type="image/jpeg"/&gt;
&lt;img alt="Netgear ReadyNAS Duo V2" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Netgear_ReadyNAS_Duo_V2.jpg" title="Netgear ReadyNAS Duo V2"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Meet the Netgear ReadyNAS Duo V2 or model RND2000v2 – for those that aren’t aware NAS stands for Network Attached Storage – see them as a hard drive, but accessible over your network (rather than being attached or inside your computer). The ‘Duo’ refers to it having two drive bays, which can be setup on RAID (a mirror of the drives, so if one drive fails, you have a backup).&lt;/p&gt;
&lt;p&gt;The drives were not plugged into the NAS when I received them, so I assume they had been taken out to attempt data recovery to no avail - not the best of signs. Since I didn't know if the NAS was dead or if one or more of the drives were iffy I had to start the task with no assumptions. I mounted the drives to the caddies, inserted them into the NAS and attempted to power on. On doing so, noted that the power supply is a non-genuine one...hmm this could be interesting - a cheapo no-brand PSU in a NAS with a habit for eating them. On inserting the power supply into the back of the NAS I feel it's not particularly tight...it's a bit wobbly too (the actual socket on the NAS), but it does power up, so that's something.&lt;/p&gt;
&lt;p&gt;Unless you know the IP address of these ReadyNAS, which I didn't, an easy way to find and connect to one once plugged into the Network is by using the utility Netgear RAIDar - it'll list any Netgear NAS on your network, their name, IP address and status, so it's quite handy. You can find all the Netgear NAS utilities on their website.&lt;/p&gt;
&lt;p&gt;Result: the NAS lists on the RAIDar utility with an IP address and a name...at least it's alive! And the utility provides a link to the admin page so that's handy so click through...but...problem...it will not open in Chrome, Edge or Firefox and gives an error. It's easy to assume 'ah well, the NAS is dead' at this point but reading the error message, it's an SSL mismatch. Not having used these ReadyNAS for a while now (this one was dated 2011, I think) Google was my friend and found that it will not work in modern browsers because the browsers don't 'trust' the NAS. That's OK, open up Internet Explorer...except you can't, because with recent updates, even if you click on your Internet Explorer icon, it'll open Edge anyway. Thankfully there is a compatibility mode in Edge which is a little flaky at times, but does work to open the admin page, most of the time. So this is your first step to access to your ReadyNas Duo V2 - open the admin page using the Internet Explorer Compatibility Mode in Edge - instructions can be easily found.&lt;/p&gt;
&lt;p&gt;And then without warning, the NAS cuts out. Oh no! I power it back on again and it appears to come on...could this be the PSU issues coming to the surface as the client suggested? I refresh the RAIDar app and the NAS is not showing as available and see that the 'busy' light on the NAS is continually blinking so I leave it for a while thinking perhaps it's recovering from the sudden power outage and testing the disks. A few hours later and it's doing the same thing and my instincts tell me to put my ear to the drives. If you haven't worked with hard drives, it is difficult to describe the noises that a drive makes when it's trying to spin up and failing, or hitting bad sections but I will try: Vrrrrrrrrrrrrp click. I try inserting only one drive at a time and it appears to be drive #1 making the bad noises and possibly the reason why the NAS is failing to boot. &lt;/p&gt;
&lt;p&gt;Drive #1 removed, powered up and no bad noises, so that's a good sign. I also try the bad noise in the other slot just to make sure it's not something odd with that slot rather than the drive but nope, it fails in both positions. A few tests to confirm this and yes, the drive is not happy, and nor will the NAS boot with it inserted anymore - or perhaps it might eventually, but I don't want to wait nor do I want to have the drives powered up for any longer than I need because the longer they are powered up, the higher the chance of failure if they are heading that way.&lt;/p&gt;
&lt;p&gt;Boot up with Drive #2 only inserted and the NAS *should* function with access to the data as long as it was setup with RAID. But then another issue - the RAIDar utility detects the NAS, but as a random name, and Drive #2 not detected - I try a few more times and get a different names and sometimes a 'Firmware Corrupted' message. I put my ear back to the NAS to listen to the drive but cannot hear anything at all which was a little alarming - maybe I have two dead drives as well as a dodgy NAS? At this point I thought about removing the drive and connecting it to a PC (but that's not without its complications because of the filesystem on these drives) but then, without touching the NAS, it powered off again by itself.&lt;/p&gt;
&lt;p&gt;What I found was that although the PSU would supply the NAS enough to power up, it would sometimes provide power and the NAS would boot with a message of faulty firmware (and sometimes not) and other times, would not power up the hard drive. I considered obtaining an original power supply and perhaps a new power socket for the NAS but I found an angle for the PSU in the probably dodgy power socket (or perhaps dodgy power supply, or both) which would both power up Drive #2 and the NAS correctly.&lt;br/&gt;&lt;br/&gt;I was then able to get onto the admin of the NAS and noted that SMB (Server Message Block - a Microsoft created protocol for providing shared access to files and printers across a network...not related to the SMB used in slang which I won't repeat here, but ends in 'Balls'). That one change could have easily have been the reason why the client no longer had issues with accessing the files or perhaps it's a side-effect of the NAS booting up badly and the the SMB issue was unrelated, who knows. Removed permissions on the shares so a user/pass wasn't required for access as it may make data transfer easier.&lt;/p&gt;
&lt;p&gt;The customer handily supplied a known-good USB drive to transfer the data so created a backup job with a small portion of the files as a test - it completed the backup job but when I accessed the USB drive after plugging into my laptop, there is nothing on it, just an empty folder. I was glad I did a test job or I'd have wasted considerably more time to have an empty folder. Double checked that the settings were correct and tried a few more times just in case but despite the ReadyNAS informing me the transfer was complete, there was no data on the USB drive. &lt;/p&gt;
&lt;p&gt;Suspecting that this NAS has less than the nine lives of a cat, and could be on it's last I did not want to power off the NAS, take the hard drives out or anything else that involved touching the NAS physically as this may be the chance of getting it powered up. Instead I opted to transfer the data over the network to the USB drive connected to my laptop - not ideal and quite slow, but it'll do as a last resort and it'll be faster than transferring to a server online.&lt;br/&gt;&lt;br/&gt;If you attempt to access the shares on the drive via Windows in the normal way (by IP address or share name) you'll meet an error saying the drive does not exist. First thing to check is that you have SMB 1.0 enabled because if not you'll not get very far - so that's your second tip of this article if you are trying to recover data from a ReadyNas Duo or access to the shares in general. Slowly copied over the 2TB of data to the USB drive and voila, data returned to the customer.&lt;br/&gt;&lt;br/&gt;The client asked of they could use this NAS and explained that while you could, it would never be reliable even with only one drive and has issues with both admin and share access - it's time let this one go to computer heaven. &lt;/p&gt;
&lt;p&gt;It goes to show that sometimes you meet wall after wall of ‘nope’ but armed with information and gaining a little more, using the correct utilities and applying a logical approach those walls can be taken down one a brick at a time.&lt;/p&gt;
&lt;p&gt;As a note to processes above of figuring out the multiple issues; if the data was &lt;em&gt;really&lt;/em&gt; important and I suspected the drives were in bad shape, I would not have had the drives powered up for anywhere near as long as I did. For this client, the data was personal and was a case of "it would be nice if we could get it back to see what's on there if it’s not going to cost too much". And so they were warned that the more I try to get the data off, the higher the chance of the drive(s) failing. As it happens there was a whole ton of videos and pictures that they do not have the originals of elsewhere – and that meant a happy client.&lt;/p&gt;
&lt;p&gt;If the data was critical and the budget permitted I would (after a brief inspection) sent the drives off to &lt;a href="https://eadr.co.uk"&gt;East Anglian Data Recovery&lt;/a&gt; (EADR) who do a brilliant job at data recovery far beyond the facilities we have at AJ Computing. EADR come highly recommended from most in the tech industry - use the direct link above rather than searching for "EADR"because there are some imitators out there that will attempt to lead you astray. &lt;/p&gt;
&lt;p&gt;Perhaps you have an old NAS, hard drive, laptop or desktop that you would be keen to get the data off but you are not sure how? AJ Computing would be happy to help. We are based near Grantham/Bourne/Peterborough/Stamford but we also welcome projects nationally – tell us about your issues and we will work something out.&lt;/p&gt;</description><pubDate>Fri, 17 Jun 2022 14:10:25 +0000</pubDate></item><item><title>Where are the RTX 3060/3070/3080/3090 video cards?</title><link>https://aj-computing.co.uk/articles/where-are-the-rtx-video-cards/</link><description>&lt;p&gt;There has been a shortage of all video cards for quite some time now - mainly the higher spec models such as the RTX30XX series, but also the lower end cards. There are countless news and other articles to why this is the case and you can pick your villain; blame a massive demand for high end cards for cryptocurrency mining, the global shortage of silicon chips, a ship going sideways for a while, Brexit, or the video-card-eating-monster - they may have all contributed to some degree.&lt;/p&gt;
&lt;p&gt;The shortage of the RTX30XX cards has also lead to people making do with older cards such as the RTX20XX. Even cards such as the 1660/1060/1050 are fetching some surprising prices.&lt;/p&gt;
&lt;p&gt;Then there are scalpers who swipe up the bulk of video cards leaving less for consumers, wherein bots monitor stock and buy up as soon as they come available - leaving us mere mortals sitting on websites refreshing the page, hoping that the stock levels will change and to be quicker than a computer at buying them. Some humans will get lucky but is very frustrating for the rest, who then see the cards on eBay shortly after for double the price. &lt;/p&gt;
&lt;p&gt;There is not much me or I can do about factors out of our control, so now we have to put up with much higher prices than RRP - I have seen video cards (I will not name the retailer, but they are a large one that everyone knows) sell a card that should be around the £450 mark sell for £4000. That's right, I didn't make a typo...£4500 for a mediocre video card. &lt;/p&gt;
&lt;p&gt;Sometimes you can get lucky when a new model comes out such as when NVIDIA release the FE (Founders Edition) cards and are at RRP or close to it - I saw this recently with the release of the 3070ti and 3080ti cards. There are some websites that offer a sort of raffle where you might be one of the lucky ones to get an opportunity to buy a video card at a reasonable price. Maybe buy a second-hand card that has been burnt out by cryptomining and then refurbished. It's that or take a punt on eBay and go full-send like a moth on a lighbulb with a last-minute bidding frenzy. Or have a friend that knows a friend that can get a card and there's some sort of dodgy feeling about it. When I type this, I feel like I'm writing for a sci-fi novel where RTX video cards are the currency to stay alive and people will clasp at them through barbed wire just at the chance of touching a box to give them hope. &lt;/p&gt;
&lt;p&gt;It was just before Christmas where I was merrily building gaming systems with RTX cards without a thought to the stock problem, buying and selling RTX30XX cards at reasonable price. Then &lt;em&gt;*whack*&lt;/em&gt; it all changed and has not been the same since. This may come as a surprise to you but trade prices are often double or more of what the RRP should be so it simply is not possible to sell them at RRP - if I could, I would. &lt;/p&gt;
&lt;p&gt;Things are slowly improving at the moment with how much stock is available. AJ Computing have a very good distributor (in particular of Inno3D and Gigabyte cards) and over the last month or so we have had a trickle of cards available to us. At the point of writing I have a Gigabye RTX3060 Eagle OC 12GB next to me waiting dispatch, an Inno3D RTX3070ti ear-marked for someone and this week I have an opportunity to order more cards. Previously I have only been able to order of each type of card at a time (and even that usually involvs sitting on the distrubtors page pressing the F5 key, hoping you get there before your competitors) but more recently I have had the opportunity to buy in relative bulk.&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/108/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=1346a611e4789d7d6988" type="image/webp"/&gt;
&lt;source srcset="/library/108/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=ea9cba5555feeb89a674" type="image/jpeg"/&gt;
&lt;img alt="RTX Video Cards on Green BMW" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/RTX_Video_Cards_on_Green_BMW.jpg" title="RTX Video Cards on Green BMW"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;I point blank refuse to get into the game of making a quick buck out of these cards which I have supply of. As I see it, AJ Computing could easily take advantage of the supply versus demand and make the massive margins that some are but what impression does that leave in the eye of the client? I would not say particularly favourable when a company has cashed in on the desperation of needing something badly that you will pay over the odds for it. Would they come back for future orders when they need something else? I doubt it. Would they recommend us to a friend? Hmm. &lt;/p&gt;
&lt;p&gt;What AJ Computing can offer however is NVIDIA RTX cards at a &lt;em&gt;reasonable&lt;/em&gt; price. I won't say a &lt;em&gt;good&lt;/em&gt; price because that would suggest we can supply them at or near RRP. There's no chance can we do that, because even we cannot buy them near RRP. I check prices every week and we are consistently cheaper than almost everywhere that has stock in the UK. You can collect from us (near Stamford/Grantham/Bourne, Lincolnshire) or we can happily post by courier. That's about as far as I will push the sales pitch on this article so please feel free to contact us if you are looking to purchase a card - if we don't hold stock of the exact card you need, get on our waiting list and you will probably have it in a few weeks. &lt;/p&gt;
&lt;p&gt;Edit 26/11/21: Currently have stock of Inno3D RTX3060 X2 £625.00, Inno3D RTX3070 iChill X4 £820, Inno3D RTX3070ti iChill X4 £930.&lt;/p&gt;</description><pubDate>Wed, 14 Jul 2021 19:15:33 +0000</pubDate></item><item><title>Reviving an Acer TravelMate 5760 laptop</title><link>https://aj-computing.co.uk/articles/acer-travelmate-5760-laptop-refurbishment/</link><description>&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/104/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=db6f9038cd3185f10dd5" type="image/webp"/&gt;
&lt;source srcset="/library/104/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=b0419f5bebea43aa58df" type="image/jpeg"/&gt;
&lt;img alt="Acer TraveMate 5760 Broken Keyboard" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Acer_TraveMate_5760_Broken_Keyboard.jpg" title="Acer TraveMate 5760 Broken Keyboard"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Previously, we spoke about whether it is &lt;a href="https://aj-computing.co.uk/articles/care-and-feeding-of-old-laptops/"&gt;worth reviving old laptops&lt;/a&gt;. Today's laptop service gave us an excellent case study.&lt;/p&gt;
&lt;p&gt;The ACER TravelMate 5760 is a humble, understated, un-special, run-of-the-mill workhorse laptop. It was put together quite nicely from the factory. The plastics were decent, which is why it is not falling apart at every corner. A common trait of laptops then, and now, is that plastics tend to get loose, slight knocks turn into cracks, black plastics turn to grey and they look generally worn out. After some light refurbishing, it might as well be a new laptop! OK, that is taking it a bit far - it's nothing like a modern laptop other than it being a rectangular computer. Sitting this next to a new laptop is like parking up next to a modern car in an old, boxy Volvo. What I am trying to say, is that with a clean-up, it looks very presentable and isn't a wreck. This laptop has stood the test of time.&lt;/p&gt;
&lt;p&gt;This is why I tend to recommend, where the budget permits, to go for the "business" series of laptops rather than the "consumer" variety. With ACER, go for the TravelMate over the Aspire. With Dell, buy the Latitude over the Inspiron. For HP, prefer a ProBook over whatever is a "special offer" for £399 that day, and so on. On paper, the business laptops have similar specifications to the consumer grade laptops, while being slightly more expensive. Looks are in the eye of the beholder (some prefer the bells and whistles look of the consumer models) so you can’t necessarily go on what looks "nice". You will only notice the quality of the business laptops when you use them. You can &lt;em&gt;feel&lt;/em&gt; the business models are of a better grade.&lt;/p&gt;
&lt;p&gt;Something just seems &lt;em&gt;right&lt;/em&gt; about them; the key strokes, the feel of the plastic, less flex, nicer hinge action  - it’s difficult to describe unless you have been around many over laptops of different brands (and in my case since the 1990s).&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/105/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=43542453297b7a307385" type="image/webp"/&gt;
&lt;source srcset="/library/105/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=e4fd1fe322b7f5a6f5cf" type="image/jpeg"/&gt;
&lt;img alt="Acer TravelMate 5760 Keyboard and stickers" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Acer_TravelMate_5760_Keyboard_and_stickers.jpg" title="Acer TravelMate 5760 Keyboard and stickers"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;My evidence may be anecdotal. I would like to think my anecdotes over this many years count for a lot. I have more consumer-level laptops coming in with broken hinges and cracked chassis. And when it comes to upgrade time down the line, more business laptops come back. This clearly tells me which laptops last longer, stand the test of time, and are worth spending money on.&lt;/p&gt;
&lt;p&gt;Anyhow, back to the Acer in question. It came in as a laptop that had been sitting in a cupboard for some time - it had been slow for a while and before it was housed in a cupboard, it was passed around as a last resort for anyone that needed a temporary laptop for whatever task they had to do that moment. It had sticky tape holding down 3 of the broken number keys, but that wasn't what forced it's retirement. That was a little more severe: Plugging the laptop into the mains resulted in instant tripping of fuse-boards. Many would consider this laptop as well and truly "dead".&lt;/p&gt;
&lt;p&gt;But this wasn't the end for this laptop. It still had potential in my eyes despite issues beforementioned (and that is not to mention to the couple of insects behind the screen which we know as "thrips" and those of you in the US will know as "thunderbugs"). The power issue could have been numerous, very bad things, but it was caused by a mere C5 power lead - which was a cheap fix. The slowness...well...it’s a Core i5 Gen 2 so will never be lightning fast compared to modern processors, but changing out the mechanical drive for a small SSD and a fresh copy of Windows 10 solved that to a degree (it had been upgraded to W10 for free at some point in its life).&lt;/p&gt;
&lt;p&gt;It has 4GB of RAM. That's enough for most tasks, although 8GB would give it another boost. Boot up time and general usability was massively improved by the SSD. I could go on about SSDs until people get bored but I won't, other than to say &lt;em&gt;your old laptop really needs an SSD&lt;/em&gt;. The keyboard could have been left as it was, with the broken keys, but replacing it seemed the right thing to do. A month wait for the keyboard from China and a few minutes to fit and this laptop is now a nice thing to own, and use. And of course finished off with a rub down with Ambersil Amberclens with a clean micro-fibre cloth. More on that later.&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/103/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=f4948f98b43045a68e9b" type="image/webp"/&gt;
&lt;source srcset="/library/103/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=98c5db0db1551ce920c4" type="image/jpeg"/&gt;
&lt;img alt="Acer TravelMate 5760 SSD Fitted" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Acer_TravelMate_5760_SSD_Fitted.jpg" title="Acer TravelMate 5760 SSD Fitted"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;But is it worth it? I would say a strong "YES". A small SSD was £30, power cable £5, keyboard £30, labour £70. £135 may seem a fair bit to spend on a 10 year-old laptop but ask yourself: what could you get for that new? Nothing. Or even second-hand? Not a lot. £135 plus VAT and you have a responsive, nice to use, sturdy laptop that should give a good few years’ service yet. I’ll forgive it for having Thrips in the screen – perhaps that’s a hidden story to tell. &lt;/p&gt;</description><pubDate>Wed, 17 Feb 2021 20:59:31 +0000</pubDate></item><item><title>A new look for AJ Computing</title><link>https://aj-computing.co.uk/articles/new-look-aj-computing/</link><description>&lt;p&gt;If you're reading this, you're seeing the new-look AJ Computing site! If you're not reading this, you've caused a paradox. Yep, we &lt;em&gt;finally&lt;/em&gt; found time to redesign and rebuild our website from scratch.&lt;/p&gt;
&lt;h2&gt;A little bit of history&lt;/h2&gt;
&lt;h3&gt;AJ Computing: A New Hope (2005)&lt;/h3&gt;
&lt;p&gt;AJ Computing started in 2005. Sixteen years ago! It's nearly old enough to drive. Of course, being a business that did things with computers (it was &lt;em&gt;not&lt;/em&gt; a given that every business would be on the Web back then!), it gained a website a short while later.&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/83/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=76672a70f79c0dc8a416" type="image/webp"/&gt;
&lt;source srcset="/library/83/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=86b29ccb3729e2d947ff" type="image/png"/&gt;
&lt;img alt="Screenshot_2021-01-24 A J Computing -- the way computers were never meant to be (1)" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Screenshot_2021-01-24_A_J_Computing_--_the_way_computers_were_never_meant_to_be_1.png" title="Screenshot_2021-01-24 A J Computing -- the way computers were never meant to be (1)"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;That website was entirely a thing of its time (well, maybe two years before its time). We regret nothing; it did what it had to do for many years.&lt;/p&gt;
&lt;p&gt;In 2012, with our 2005 site looking a little dated, we gave it a complete refresh.&lt;/p&gt;
&lt;h3&gt;AJ Computing: Reloaded (2012)&lt;/h3&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/84/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=d6db7349d135675e49ac" type="image/webp"/&gt;
&lt;source srcset="/library/84/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=13ed26552df9c631af38" type="image/png"/&gt;
&lt;img alt="AJ computing - 2012 screenshot" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Screenshot_2021-01-24_A_J_Computing_--_Computer_Support_Sales_Stamford_Oakham_Peterborough_Grantham_Nationwide_.png" title="AJ computing - 2012 screenshot"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Which...well, was still a thing of slightly before its time too, as witnessed by the cliches like rounded buttons, gratuitous use of gradients, and the fact that it was fairly terrible on mobile. OK, we knew about smartphone browsers at the time, and not all sites of the era were terrible on mobile, so we don't entirely have an excuse for that. Still, we did not see the massive increase in mobile browsing that would follow, and we got rather too busy to build a new website, so it stayed that way, for quite a while.&lt;/p&gt;
&lt;p&gt;Which is to say, &lt;em&gt;nine years later...&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;AJ Computing: Return of the King (2021)&lt;/h3&gt;
&lt;p&gt;You're looking at it now. Nice, isn't it?&lt;/p&gt;
&lt;h2&gt;Designing our new look&lt;/h2&gt;
&lt;p&gt;We chose the dominant typeface for the site (as used in headlines), and worked backwards from that. We chose &lt;a href="https://rsms.me/inter/"&gt;Inter&lt;/a&gt;, in 700 and 800 weights. We love it! The tall x-height is &lt;em&gt;gorgeous.&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;Everything followed naturally from the trusted, authoritative look of Inter. Inter, in those strong weights, rewards strong headings, solid blocks of colour, and strong imagery. Even the little right-arrows you see all over the place followed naturally from the font.&lt;br/&gt;&lt;br/&gt;The site is also now fully responsive. It works great on mobile (and if it doesn't, that's a bug and you should tell us!), but also looks glorious on massive monitors, and everything else in between. Mobile-friendly does not mean desktop-unfriendly!&lt;br/&gt;&lt;br/&gt;Because we know how quickly things date, we've deliberately steered away from &lt;em&gt;any&lt;/em&gt; kind of contemporary design trends. We want something that is going to look as good in 10 years as it does now. And not just because that's probably how long it's going to take for us to get around to redesigning our site!&lt;/p&gt;
&lt;h2&gt;Need for Speed: High Stakes&lt;/h2&gt;
&lt;p&gt;Both of our previous sites were static HTML, which meant they were blazingly fast (if you use the metric of time to first byte). Our new site runs Django on the backend. Django is wonderful, and can be very performant, but there was a risk that we could performance to drop compared to our old site. That would have caused a big drop in search engine rankings!&lt;/p&gt;
&lt;p&gt;So, we pulled out all of the stops to make this new site fast. It meant a couple of very late nights.&lt;/p&gt;
&lt;p&gt;First, we ensured that the site was making as few database queries as possible. Then, we added a query cache layer so that identical queries would be fetched from memory rather than the database. And &lt;em&gt;then&lt;/em&gt; we added code to ensure that most of the &lt;em&gt;rendered HTML&lt;/em&gt; would be fetched from memory most of the time, too.&lt;/p&gt;
&lt;p&gt;We also inlined the &lt;em&gt;entire&lt;/em&gt; stylesheet of the site in the head of the document to remove one blocking HTTP request from the render path. The entire stylesheet is about 49 kilobytes, minified, which is large enough to be a non-trivial overhead. So we now &lt;a href="https://en.wikipedia.org/wiki/Gzip"&gt;gzip&lt;/a&gt; compress the HTML. That reduces overhead to a mere 7 kilobytes, which is entirely acceptable.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Yes, techies, we know about the BREACH attack, and we're not vulnerable to it because we never reflect user input in HTTP response bodies.)&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;So what do you think?&lt;/h2&gt;
&lt;p&gt;Of course we love our new website, because we made it. How about you? Do you love it or do you hate it? You should &lt;a href="https://aj-computing.co.uk/contact/"&gt;tell us what you think&lt;/a&gt;!&lt;/p&gt;</description><pubDate>Sun, 31 Jan 2021 01:00:00 +0000</pubDate></item><item><title>Care and feeding of old laptops</title><link>https://aj-computing.co.uk/articles/care-and-feeding-of-old-laptops/</link><description>&lt;p&gt;At AJ Computing, we are often asked whether it is worthwhile repairing &amp;amp; upgrading older laptops. The reasoning goes: This laptop is some number of years old. One can pick up a brand new Windows laptop or Chromebook for a few hundred pounds. In that light, is it even worth it?&lt;br/&gt;&lt;br/&gt;Our obligatory disclaimer here is that we have a financial interest in claiming that it is; profit margins on new laptops are as miniscule as they are for any other consumer electronics, whereas our margins on labour costs are precisely 100%. But we also pride ourselves on giving our customers the best advice, even when that might cost us high-margin work.&lt;br/&gt;&lt;br/&gt;But, it is not for entirely selfish reasons that we think that repair &amp;amp; upgrading is worth it more often than not.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;First&lt;/strong&gt;, repair can be much cheaper than you think. This is especially so with near-decade-old laptops; rarely are consumable parts soldered or glued in place. Thus, a professional, like AJ Computing's Alex, can have one of these apart, fixed, upgraded, cleaned and re-assembled in &lt;a href="https://en.wikipedia.org/wiki/Speedrun"&gt;speed run&lt;/a&gt; time.&lt;br/&gt;&lt;br/&gt;Parts are rarely difficult to obtain, and are certainly not expensive. Common failed parts like screens &amp;amp; batteries are available brand new for almost any laptop that is still usable today.&lt;br/&gt;&lt;br/&gt;I disbelieve that our suppliers enjoy having these parts in their inventories. I am inclined to believe those parts are kept on inventory simply because keeping them costs less than disposing of them. Either way, the suppliers certainly do not believe they are sitting on computing's Fabergé Egg. Parts are priced for what they are: niche items that will soon have zero practical use (and non-trivial electronic waste disposal costs thereafter). They are not expensive, and rarely does finding them require much hunting.&lt;br/&gt;&lt;br/&gt;In short: Repair is fast if you know what you are doing (we do). Parts are cheap and not necessarily hard to find. Even if you pay someone else to do it (we like money), a repair could cost far less than you think.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong&gt;Secondly&lt;/strong&gt;, older laptops can often do things better than cheap newer ones. They may not be as good-looking, depending on your taste. They will almost certainly not be as thin. Quite likely, they will be superior in ways that you'll appreciate when you have to use one every day.&lt;br/&gt;&lt;br/&gt;Here's a fun fact: Sea otters &lt;a href="https://www.thedodo.com/sea-otters-hold-hands-1727255897.html"&gt;hold hands while they sleep to stop each other drifting apart&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/71/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=68ecc6711ce65df63f68" type="image/webp"/&gt;
&lt;source srcset="/library/71/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=24ec71df3fc8cb0f6e08" type="image/jpeg"/&gt;
&lt;img alt="Sea otters holding hands" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Sea_otters_holding_hands.jpg"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Here's a fact that isn't fun: as I write this in 2021 I've been using a 2011 ThinkPad X220 as my daily driver for the best part of two years now, and I think it might be the best laptop ever made. In fact, this article &lt;em&gt;started&lt;/em&gt; as a love letter to the X220, then I realised there was a wider theme about the viability of old laptops.&lt;/p&gt;
&lt;p&gt;But...let's do that love-letter thing really quickly. How do I love this laptop? Let me count the ways&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The keyboard rules!&lt;/strong&gt; It is truly a desktop-class keyboard that never gets uncomfortable. It has &lt;em&gt;dedicated&lt;/em&gt; volume and mute buttons (none of that nonsense wherein it is shared with function keys via a modifier key), &lt;em&gt;dedicated&lt;/em&gt; keys for going back and forth in your web browser, a full-sized Enter/Backspace/right-Shift combo, and a proper PgUp/PgDn/Delete/Home/End group. And right below the keyboard, there are &lt;em&gt;three&lt;/em&gt; dedicated individual mouse buttons (because of &lt;em&gt;course&lt;/em&gt; it has a dedicated middle button), rather than that nonsense wherein hitting some unmarked part of your trackpad &lt;em&gt;might&lt;/em&gt; do what you want it to.&lt;br/&gt;&lt;br/&gt; I want to call this the best laptop keyboard of all time. It might just be, but there &lt;em&gt;was&lt;/em&gt; that dope ThinkPad 701C butterfly keyboard thing...&lt;br/&gt;&lt;br/&gt; &lt;div class="wys-Intrinsic"&gt;&lt;a allowfullscreen="" frameborder="0" href="https://www.youtube-nocookie.com/embed/nRVJCtREW38" loading="lazy"&gt;[Embedded media]&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;It has a TrackPoint!&lt;/strong&gt; I know, I'm weird, but I think the TrackPoint is a vastly superior pointing device to any touchpad, if you need to work with any kind of precision &lt;em&gt;and&lt;/em&gt; you need to sweep the entire screen. Combined with the outstanding keyboard, the ergonomics are, as was once written about the programming language ALGOL, &lt;em&gt;"not only an improvement on its predecessors, but also on nearly all its successors"&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;There are ports!&lt;/strong&gt; Lots of them. There are three USB ports, one DisplayPort, a hole for an Ethernet cable, an SD card slot, some giant slot I've never used, and of course a headphone jack. No dongles required!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;It has a tiny touchpad!&lt;/strong&gt; This is a feature, not a bug. You don't need one when you've got a TrackPoint, and a tiny touchpad means there's more room for the keyboard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nobody wants to steal it!&lt;/strong&gt; Because who wants an ancient matte black laptop which is half a foot thick? In fact, I hear that if thieves see you using an X220, they'll give &lt;em&gt;you&lt;/em&gt; money because they feel sorry for you.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;p&gt;Not long after the X220 era, Lenovo, in envy of Apple, went the direction of all the other PC manufacturers, which was to attempt superficial copies of Apple laptops, perhaps with the misguided belief that &lt;em&gt;anyone at all who bought an Apple computer&lt;/em&gt; would consider buying a laptop from anyone else.&lt;br/&gt;&lt;br/&gt;The Wintel PC market copied everything bad about Apple - the terrible durability, the poor cooling, the lack of upgradeability, and those awful keyboards with no travel and no feel. But of course, they don't copy anything that is &lt;em&gt;good&lt;/em&gt; about Apple, like having probably the best consumer operating system of all time, their beautiful displays, and the fact they &lt;em&gt;actually just work&lt;/em&gt; (when you don't subject them to the tiniest hint of moisture, but that's true of all the PC manufacturers these days too).&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;So, back to what this article is really about, which is about whether this is worth it, and if it is, how you can make an old laptop viable so that it can accommodate modern workloads.&lt;br/&gt;&lt;br/&gt;Here's a secret: &lt;em&gt;For most people, technology has not actually moved on that much in the last 10 years.&lt;/em&gt; From the early 90s to about 2010 we saw massive improvements every year in computing horsepower. We have seen big gains since too, and if you're a gamer or video producer you'll understand &amp;amp; appreciate those gains.&lt;br/&gt;&lt;br/&gt;But if you are using your laptop to write, to code, and to watch cat videos, the gains of the last decade are marginal, not game-changing; for those use cases, there is very little difference between a well-tuned machine from 10 years ago and a brand-new Mac or almost any new Windows machine short of hot-rod gaming laptops.&lt;/p&gt;
&lt;p&gt;What we're getting at, is that tech from early last decade can be &lt;a href="https://www.seangabb.co.uk/starve-the-system-feed-yourself-the-joys-of-buying-second-hand-2019-by-sean-gabb/"&gt;every bit as good&lt;/a&gt; as something you can buy new, with some cheap or free upgrades to your setup.&lt;/p&gt;
&lt;p&gt;Let's talk about those upgrades!&lt;/p&gt;
&lt;h3&gt;Upgrade 1: Starve the beast!&lt;/h3&gt;
&lt;p&gt;If you are doing web browsing, which you almost unquestionably are, &lt;strong&gt;install uBlock Origin&lt;/strong&gt;. It's free! You can get it for Google Chrome &lt;a href="https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm?hl=en-GB"&gt;here&lt;/a&gt; and for Firefox &lt;a href="https://addons.mozilla.org/en-GB/firefox/addon/ublock-origin/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;uBlock Origin is sometimes called an "ad blocker", but what it actually does is remove junk that you don't want or need, or what its author calls "wide-spectrum blocking". It will make your browsing faster, it will keep your laptop cooler, and it will also help to stop your browsing habits being tracked and traded in ways you &lt;a href="https://www.ghostery.com/study/"&gt;are not allowed to understand and cannot control&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Upgrade 2: Go solid state!&lt;/h3&gt;
&lt;p&gt;Next, &lt;strong&gt;buy a solid state drive&lt;/strong&gt; (SSD). This is the &lt;em&gt;single most important&lt;/em&gt; upgrade you can make to an older machine; most usage of a PC is bottlenecked by writing to and from disk, not by CPU or RAM. Even when it is bottlenecked by RAM, the vastly faster write speeds of an SSD can help you when you head in to swap space.&lt;br/&gt;&lt;br/&gt;SSDing the X220 makes it feel like a new machine. It'll make &lt;em&gt;any&lt;/em&gt; computer that has a spinning-rust hard drive feel like a new machine. I recall that we did a moderately-well-specced desktop build back in 2008, that we upgraded with an SSD and a beefier cooler in 2019, and to this day boots almost instantly and works superbly.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Cost:&lt;/strong&gt; As of early 2021 - and this will age very quickly, as storage gets cheaper every year - a good-sized SSD from a good brand can cost you less than £65 (the current Amazon cost of a 500GB Samsung EVO). You can go even cheaper than &lt;em&gt;that&lt;/em&gt; if you don't mind a little less storage.&lt;/p&gt;
&lt;h3&gt;Upgrade 3: Max out the RAM.&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Upgrading the RAM&lt;/strong&gt; is so cheap these days that there's little reason to &lt;em&gt;not&lt;/em&gt; do it. Crucial's &lt;a href="https://www.crucial.com/upgrades"&gt;"upgrade my laptop" page&lt;/a&gt; page is a good start, though an eBay search might be better for those on a budget.&lt;/p&gt;
&lt;p&gt;The X220 is entirely receptive to upgrading; it doesn't even require much disassembly. The X220's RAM can be &lt;a href="https://www.youtube.com/watch?v=UBjxSMmA45o"&gt;replaced&lt;/a&gt; with nothing more than a screwdriver. But most older laptops, even when they weren't &lt;em&gt;designed&lt;/em&gt; to be easily upgraded, &lt;em&gt;could&lt;/em&gt; be upgraded because they did not ordinarily have the RAM soldered to the board. &lt;br/&gt;&lt;br/&gt;Old laptops often have an &lt;em&gt;official&lt;/em&gt; limit to how much RAM they can take, and a &lt;em&gt;real&lt;/em&gt; limit that hackers and tinkerers have discovered. Listen to the people who have done it, and not to the specs! For example, my X220 can only officially accept 8gb, but the excellent people who play with this sort of thing for fun have worked out that it can accept a whopping 16gb!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cost:&lt;/strong&gt; expect to pay about £50. If you've already got 8GB of RAM, you've already got more than enough to run a real operating system.&lt;/p&gt;
&lt;h3&gt;Upgrade 4: P-p-p-pickup a Penguin!&lt;/h3&gt;
&lt;p&gt;That is to say, &lt;strong&gt;ditch Windows and install Linux.&lt;/strong&gt; It's free! I like &lt;a href="https://ubuntu-mate.org/"&gt;Ubuntu Mate&lt;/a&gt;, because its interface is very close to the interface I first used in Ubuntu 8.04 -- an interface that I don't think anyone has improved on for &lt;em&gt;getting actual stuff done&lt;/em&gt; rather than looking pretty (there's a theme here, isn't there?).&lt;br/&gt;&lt;br/&gt;I've been using Linux since forever, but I'm still amazed at how blazing fast this machine is with Linux, uBlock Origin, an SSD, and a RAM upgrade. For the work I do, it's &lt;em&gt;faster&lt;/em&gt; than my decade-newer i7 Windows laptop which I am forced to use sometimes, and has about the same battery life too. It boots in seconds and almost every program loads so close to instantly that I don't need to think about it.&lt;br/&gt;&lt;br/&gt;As with most older hardware on Linux -- and, in fairness to Ubuntu, much modern hardware too -- everything works perfectly on the X220 on the first boot, with no fiddling.&lt;/p&gt;
&lt;h2&gt;Things I don't like about the X220&lt;/h2&gt;
&lt;p&gt;I said this article wasn't really about the X220, but it also is about the X220. And the problems below are common to many other old Windows laptops, too, so this is not &lt;em&gt;just&lt;/em&gt; about the X220.&lt;/p&gt;
&lt;p&gt;The TFT display that my X220 came with is bad. The low (1366x768) resolution doesn't bother me. I could even live with the comically shallow viewing angle. The colours being objectively &lt;em&gt;wrong&lt;/em&gt; does bother me. Most ThinkPads to this day are as bad, sometimes in different ways, and this has been A Thing since the IBM days too. If you are reviving an X220 and your budget is flexible, you should certainly consider an IPS panel upgrade. I did (part number: &lt;em&gt;LP125WH2(SL)(B3)&lt;/em&gt;). It is night-and-day different to the TFT display. It has great colours and much nicer blacks.&lt;br/&gt;&lt;br/&gt;The built in speaker is bad. This doesn't bother me much. If I am in public, I wear headphones (please don't be &lt;em&gt;that&lt;/em&gt; guy), and if I am at home, I have a Bluetooth soundbar nearby.&lt;/p&gt;
&lt;h2&gt;Was the hot-rod X220 worth it?&lt;/h2&gt;
&lt;p&gt;I think so. My X220 has cost me about £300 - but that includes the cost of the machine as well as purchasing the upgrades. Your upgrade will certainly cost less than that! And while I know I could buy a new laptop for that much money, ergonomics are more important to me than raw computing horsepower and &lt;em&gt;infinitely&lt;/em&gt; more important than how closely my laptop resembles a MacBook. I now have a machine that has all the good bits of older ThinkPads and almost all the real-world performance of a brand-new machine. So, for me, this has been worth every penny.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;em&gt;The opinions in this article are those of an AJ Computing technical consultant &amp;amp; guest writer, not those of AJ Computing, and may indeed not be the views of any reasonable person at all.&lt;/em&gt;&lt;/p&gt;</description><pubDate>Fri, 22 Jan 2021 22:14:55 +0000</pubDate></item><item><title>Gaming PC for £1000 - is it possible?</title><link>https://aj-computing.co.uk/articles/gaming-pc-for-1000/</link><description>&lt;p&gt;A typical question from a client:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;I’m looking to buy a PC but I'm not confident enough to build it myself and pre builds are usually bad so I was wondering if you could maybe build one for me with a budget.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I’m looking for a PC that is good for gaming and general use like YouTube and Netflix and also college work. Could the case have a see through panel with either little RGB or full black interior case. I will have a budget around £1000.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alex @ AJ Computing response:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You are right! Pre-builds from the likes of HP/Dell/Acer/etc, although excellent at the tasks for which they are designed, are often not entirely suitable for gaming.They are also sometimes quite difficult to upgrade; they often come in small cases or have power supplies that aren't up to the job of having a powerful video card. Then there’s the cooling issues of having a powerful video card in a small chassis (if it even fits), perhaps a motherboard with few or non-standard connectors, or the wrong connectors for a video card upgrade. It could void your warranty by opening up a pre-build (or 'off-the-shelf') computer and upgrading components. Fitting a regular sized PSU to cope with the extra power demands may not even be possible.&lt;br/&gt;&lt;br/&gt;Buiding a custom PC in a decent chassis with carefully chosen components is often the best way for a gaming PC, and is definitely something AJ Computing build and supply.&lt;/p&gt;
&lt;p&gt;What sort of games do you want to play? You may be aware the video card plays a large part in the performance of gaming and cost anywhere from £125 for something considered as entry level to £LOTS depending on how serious you want to get - so it can take up a considerable part of the budget.&lt;/p&gt;
&lt;p&gt;Any decent PC will be able to do YouTube/Netflix and general work so that’s not really a consideration here – the main is gaming. I would recommend the latest generations of Intel Core i5 Processors and even better an Intel Core i7 if the budget permits. 16GB of RAM as a minimum and an SSD as the system drive will give you decent performance for most tasks.&lt;/p&gt;
&lt;h2&gt;Cases&lt;/h2&gt;
&lt;p&gt;I tend to stick to well-known brands like Antec and Cooler Master avoiding cheap-and-not-so-cheerful lower end ones which often lack in quality. Where the budget is strict, I would put case quality over fanciful lights and aggressive designs with lots of plastic. Personally I am not too fussed about RGB - I prefer the sleek and black look with a few LED highlights - but it's personal preference of course.&lt;span&gt;  &lt;/span&gt;&lt;span&gt;Below is a selection of some of the cases I have available - perhaps we can use that as a starting point. I have listed them in price order, starting from around £45 to around £100 to give you an idea.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Antec NX300 Mid Tower 1 x USB 3.0 / 2 x USB 2.0 Tempered Glass Side Window Panel Black Case with Addressable RGB LED Fan and Light Strip &lt;a href="https://antec.com/product/case/nx300-black.php" rel="noopener" target="_blank"&gt;https://antec.com/product/case/nx300-black.php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cooler Master MasterBox MB520 Mid Tower 2 x USB 3.0 Edge-to-Edge Acrylic Side Window Panel Black Case with Red Trim &amp;amp; Dark Mirror Front Panel &lt;a href="https://www.coolermaster.com/catalog/cases/mid-tower/masterbox-mb520/" rel="noopener" target="_blank"&gt;https://www.coolermaster.com/catalog/cases/mid-tower/masterbox-mb520/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Antec NX600 Mid Tower 1 x USB 3.0 / 2 x USB 2.0 Tempered Glass Side &amp;amp; Front Window Panel Black Case with Addressable RGB LED Fans &lt;a href="https://antec.com/product/case/nx600.php" rel="noopener" target="_blank"&gt;https://antec.com/product/case/nx600.php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cooler Master MasterBox TD500 Mesh Mid Tower 2 x USB 3.0 Crystalline Tempered Glass Side Window Panel Black Case with Addressable RGB LED Fans &lt;a href="https://www.coolermaster.com/catalog/cases/mid-tower/masterbox-td500/" rel="noopener" target="_blank"&gt;https://www.coolermaster.com/catalog/cases/mid-tower/masterbox-td500/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cooler Master MasterCase H500 ARGB Mid Tower 2 x USB 2.0 / 2 x USB 3.0 Tempered Glass Side Window Panel Iron Grey Case with Addressable RGB LED Fans &lt;a href="https://www.coolermaster.com/catalog/cases/mid-tower/mastercase-h500-argb/" rel="noopener" target="_blank"&gt;https://www.coolermaster.com/catalog/cases/mid-tower/mastercase-h500-argb/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Motherboards&lt;/h2&gt;
&lt;p&gt;Many the motherboards are black, which will complete the look inside the PC. You'll need to decide if you want to stretch the budget to the latest generation Intel Core i5/i7 CPU (Gen 10: socket 1200) or the generation before (Gen 9: socket 1151), and if you want RGB, which typically costs a little more for the same board without RGB. I tend to use Gigabyte or ASRock boards at the moment, as stock is good from these reputable brands. I prefer ATX boards at a few pounds extra rather than Micro ATX (smaller); this gives expandability, and I don't like how a Micro ATX board looks lonely in an ATX chassis.&lt;/p&gt;
&lt;h2&gt;PSU&lt;/h2&gt;
&lt;p&gt;Continuing the theme, most PSUs are black nowadays too so that will go towards your look. PSU choice is quite critical for a stable system and for the look you want from the PC. Much of the choice nowadays comes down to having modular or semi modular cabling. Simply put, fully modular means you only attach the power cables to the PSU that you need - keeping the 'clean' look inside the PC but also helping airflow a little. Semi modular strikes a balance, with some of the power cables being detachable. Non modular none of the power cables are detachable, so you have to attempt to hide them out the way tidily where you can in the chassis. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Non Modular: Xilence Performance A+ III 650W 120mm Red Silent Fan 80 PLUS Bronze PSU around £58.00&lt;/li&gt;
&lt;li&gt;Semi Modular: Xilence Performance X 750W 135mm Silent Fan 80 PLUS Gold Semi Modular PSU around £80.00&lt;/li&gt;
&lt;li&gt;Fully Modular: Xilence Performance X 1050W 140mm Silent Fan 80 PLUS Gold Fully Modular PSU around £145.00&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;...so depending on what you want power- and looks-wise, the PSU can take quite a chunk out of the budget.&lt;/p&gt;
&lt;h2&gt;RAM&lt;/h2&gt;
&lt;p&gt;16GB of RAM is considered about right for gaming (double the price if you want 32GB but you can easily add more RAM later if needed) Kingston HyperX Fury RGB 16GB Black Heatsink (2x8GB) DDR4 2666MHz DIMM System Memory around £80.00. Also, this variant is black, which is the look you want.&lt;/p&gt;
&lt;p&gt;So far a few things to think about, then of course there is to see what budget is left for the processor, hard drive, video card, operating system (assume you need to buy Windows 10?) and anything else you might need.&lt;/p&gt;
&lt;p&gt;So, to answer the question...&lt;/p&gt;
&lt;h2&gt;Is it possible to build a gaming PC for £1000?&lt;/h2&gt;
&lt;p&gt;Yes, but you will have to decide, or have guidance, on how you want to spread your budget.&lt;/p&gt;
&lt;p&gt;Let’s say we go for a decent £75 case, £80 on 16GB of RAM. For a medium to high end 9&lt;sup&gt;th&lt;/sup&gt; Generation Core i5 processor paired with a Gigabyte H370 AORUS Gaming 3 WIFI RGB Intel Socket 1151 ATX Motherboard - £330.00. We’re at £485 so far.&lt;/p&gt;
&lt;p&gt;We need a hard drive and on this budget probably best to opt for a small SSD for the system drive (SSD being much faster than mechanical drives but more expensive per GB) and a larger storage drive for pictures, downloads and other things we don’t access regularly - 512GB SSD and a 2TB mechanical drive at around £115 would be about right. A *GENUINE* Windows 10 Home License, add £100. Optical drive for CDs and DVDs? Most people don’t use them anymore, so let’s skip having one, particularly as many cases don’t have support for them anymore. It’ll keep things sleeker inside the chassis too – I’ve not forgot you want a clear side panel. Nudging towards £700 now.&lt;/p&gt;
&lt;p&gt;So that leaves £300 for a decent video card, and any finishing items like extra fans (and labour costs, if you're not doing it yourself). Would that class as a gaming PC? Yep, just about - it would play modern games at a decent rate. Would it be a high end gaming PC? Not even close – it’s quite the norm to spend £400 on a video card and spend easily an extra £150 on the processor to get the latest generation Core i7. Want to upgrade the fan for the CPU which assists the option of overclocking (as well as looking cool), a few extra chassis fans and that fully modular PSU? You are going to be way over your £1000 budget.&lt;/p&gt;
&lt;p&gt;Hmm. It’s easy enough to upgrade the video card later if you have a decent base to start with including a PSU that can cope with the extra draw from a powerful video card. So you could play with your entry level gaming video card and upgrade later when a new game comes out that demands more or when you want the current games to have a better frame rate. Or sacrifice some of the other components to a lower grade…or spend a little more to get the video card you actually fancy. See what I mean? It is a balance to strike, unless your budget is limitless.&lt;/p&gt;
&lt;p&gt;If you prefer me just to say "here's what you can have for £1000" and make my own guesses about what you need, I am absolutely fine to do that, too. But a conversation about what you want to get out of the PC, what look you want to go for and where you want to spread your budget will certainly help you to get the perfect PC for you budget.&lt;br/&gt;&lt;br/&gt;If you already have a suitable keyboard, mouse and screen, great! Otherwise some thought will need to be put into those, too.&lt;br/&gt;&lt;br/&gt;Does the above resonate with you? &lt;a href="https://aj-computing.co.uk/contact/"&gt;Contact us&lt;/a&gt; and we are more than happy to talk things through and find a gaming (or other) PC that suits your budget - we have the time and patience and never rush a sale.&lt;/p&gt;</description><pubDate>Sun, 30 Aug 2020 12:10:00 +0000</pubDate></item><item><title>A wireless installation in a lodge park</title><link>https://aj-computing.co.uk/articles/wireless-lodge-park/</link><description>&lt;p&gt;Our client is &lt;a href="http://www.strettonlakes.co.uk/" rel="noopener" target="_blank"&gt;Stretton Lakes&lt;/a&gt; who have six luxury lodges in their park near Oakham which looks like a fantastically relaxing place to stay. Stretton Lakes contacted us with their need to add wireless internet to the lodges and perhaps the outside areas. The reason being that nowadays people expect to be able to get online wherever they are – perhaps more so with the business clients that attend the lodges but of course the individuals who want to stay in touch with home and so on; they certainly do not want clients going somewhere else simply because of the lack internet access.&lt;/p&gt;
&lt;p&gt;We had a few restraints. Number one they &lt;strong&gt;did not have an internet connection at or near the lodges&lt;/strong&gt;. A satellite connection was considered but due to the latency issues expected, browsing would be quite painful - and that's not to mention the considerable cost-  so it had to be a broadband line. Eighteen months later and finally BT had put in a broadband line. At the time of writing it was still quite flaky which needs investigating with BT - no surprise there.&lt;/p&gt;
&lt;p&gt;Another restraint is that it's clear that we were not going to get a fast internet connection. Currently they get 10MB down at the house nearby, but at the moment only getting 5MB on the new line near the lodges. So clearly there needs to be an option of &lt;strong&gt;restricting each user or each lodge &lt;/strong&gt; to the amount of bandwidth available to them to be fair to all residents.&lt;/p&gt;
&lt;p&gt;There were more considerations that had to be taken into account when deciding on which hardware to recommend. In an ideal world, I'd run a cable to each lodge from the main internet connection and a wireless access point inside each lodge - job done. In reality, there is a lake between the broadband connection and four of the lodges, and there was no good route to run cables to the lodges closest to the BT connection. Add hedges, different heights of lodges and aesthetically pleasant nature of the park and you begin to get a picture of the average issues that we face as installers of hardware - it's not all just about sitting in front of a computer screen bashing out code.&lt;/p&gt;
&lt;p&gt;The supplier of hardware was a no-brainer. Having used &lt;a href="http://www.solwise.co.uk/" rel="noopener" target="_blank"&gt;Solwise&lt;/a&gt; before and with a wide range of equipment knowing their support is second-to-none I wouldn’t go anywhere else. AJ Computing supply all of the Solwise product range at retail prices. You can view the entire range on their website. Cables not possible, the best wireless solution had to be decided.&lt;/p&gt;
&lt;p&gt;Picture it if you can, there are two lodges on one side of a lake and four lodges the other side of the lake. It would have been possible to transmit a signal directly from the main equipment shelter (aka the "Shed") and the furthest lodges directly if it wasn't for the slight issue of some rather large hedges being in the way of one lodge. Better in this scenario a mid-point to act as a backbone back to the "Shed" and as luck would have it, there was a handy point just over the other side of the lake aka the "Power Socket". So that decided the wireless backbone and the hardware was decided on - a pair of Engenius ENH220EXT 2.4Ghz long range, high capacity outdoor access points. These were setup in WDS access point mode with a bridge between the two.&lt;/p&gt;
&lt;p&gt;This would mean that not only would the "Power Socket" access point bridge on to the main AP but also meant that those within range of either access point in the park can also get access to the internet. The restriction for those outside the lodges wanting a connection to the internet is not the powerful access points - they can go for miles - it's more the range of the devices attempting to connect. The main "Shed" access point would also serve the lodges closest to the "Shed"&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The "Shed"&lt;/strong&gt;&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/53/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=585f2562b788cd78a8d3" type="image/webp"/&gt;
&lt;source srcset="/library/53/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=dbf1a2e7431e5db89020" type="image/jpeg"/&gt;
&lt;img alt="main-access-point-at-the-shed" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/main-access-point-at-the-shed.jpg" title="main-access-point-at-the-shed"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The "Power Socket"&lt;/strong&gt; (you can see the "Shed" in the distance the other side of the river)&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/54/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=300cbea760b8729c75a6" type="image/webp"/&gt;
&lt;source srcset="/library/54/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=5a545fa329a4f7c54ff6" type="image/jpeg"/&gt;
&lt;img alt="power-socket" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/power-socket.jpg" title="power-socket"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Right, so that's the &lt;strong&gt;wireless backbone&lt;/strong&gt; sorted. Next up is getting wireless to each lodge. At a stretch (a big stretch) you could hope that clients devices would communicate from within the lodges directly do the main access points. I gave this a go - my HP laptop was quite happy in most parts of the lodge if I was in sight of a window - but my Samsung Phone - forget it - and I would assume this would be the case for many devices. There isn't much point advertising that the park has wireless as a feature if you are going to get numerous calls to the office saying they can't connect or it randomly drops out. Sense says in this case it is better to have a strong link from outside of each lodge back to the nearest main access point. EnGenius ENH202 External 2.4Ghz access points were chosen and setup in client bridge mode to the corresponding main AP. To get wireless inside the cabin, an external grade CAT5E cable was ran to a basic wireless AP - EnGenuis EST1221n.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EnGenius ENH202 External 2.4Ghz access point&lt;/strong&gt;&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/55/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=fbd7ed62b53c0bc77a83" type="image/webp"/&gt;
&lt;source srcset="/library/55/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=52b78a123bcc525d05aa" type="image/jpeg"/&gt;
&lt;img alt="engenius-enh202" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/engenius-enh202.jpg" title="engenius-enh202"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;So this gave a scenario where people outside of the lodges could get access while they are fishing and generally enjoying the outdoors via the main access points and people inside on a rainy day can get access via the internal access points. Sorted.&lt;/p&gt;
&lt;p&gt;But of course it's not as simple as that. You can't just have anyone logging onto the wireless and using it - an open network gives &lt;strong&gt;no accountability for miss-use &lt;/strong&gt;.A wireless code to log in perhaps? Again, if you give it out to everyone it's difficult to restrict anything or prove who it was if OFCOM get on your case. What was really needed was a way of restricting bandwidth, keeping an eye on who's connected and having everything logged. The device just for the job was the Guest Internet Solution WAS-R2. This provides a login page with access codes as an intermediary between the Internet connection and the wireless devices attached to it. It provides simple administration and everything required in this scenario.&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/56/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=d0e74ae40feb0dd54343" type="image/webp"/&gt;
&lt;source srcset="/library/56/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=ca193154b0ef346fcfb3" type="image/jpeg"/&gt;
&lt;img alt="guest-internet solutions-was-r2" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/guest-internet_solutions-was-r2.jpg" title="guest-internet solutions-was-r2"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Before heading out it's the routine to check all equipment works, update firmware and set it all up - it's not much good doing your testing with devices attached to the side of buildings and then realising you have made a big error of judgement.&lt;/p&gt;
&lt;p&gt;Day of the install and in typically English fashion it was chucking it down and likely to be doing so until the afternoon. No point in milling about so had to crack on (again - not all IT guys just sit behind a desk!).&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/57/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=9fb773254651674d61c5" type="image/webp"/&gt;
&lt;source srcset="/library/57/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=58aba8deb4af658d149a" type="image/jpeg"/&gt;
&lt;img alt="wireless-install-rainy-day" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/wireless-install-rainy-day.jpg" title="wireless-install-rainy-day"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Everything installed and went swimmingly. The equipment performed brilliantly with no noticeable lag or difference in upload/download speed or latency issues. It had to be said that the client was remarkably helpful and resourceful - even making a home brewed water-resistant box for the "power socket". Now that they have Internet access the lodges look even more tempting for a nice break.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Range Rover&lt;/strong&gt;, proving it's practicality as the choice for IT providers with its split tailgate and high work surface.&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/58/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=b2edc9ea1a17cf31750c" type="image/webp"/&gt;
&lt;source srcset="/library/58/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=ed3bfc9bb753538e1796" type="image/jpeg"/&gt;
&lt;img alt="range-rover-classic-workbench" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/range-rover-classic-workbench.jpg" title="range-rover-classic-workbench"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;We are confident that we can provide and support a wireless system for holiday parks, camping and caravan sites and anywhere else that requires a well thought out wireless system. If you would like a wireless installation at your site or perhaps just to chat through options feel free to &lt;a href="https://aj-computing.co.uk/contact/"&gt;contact us&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What a lovely place to stay - now with Wi-Fi Internet Access&lt;/strong&gt;&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/59/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=230ebbc6710f8878518e" type="image/webp"/&gt;
&lt;source srcset="/library/59/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=9224d996704afae322d8" type="image/jpeg"/&gt;
&lt;img alt="what-a-lovely-place-to-stay" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/what-a-lovely-place-to-stay.jpg" title="what-a-lovely-place-to-stay"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;-- Alex Collard&lt;/p&gt;
&lt;h2&gt;Components used&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Wireless Backbone:&lt;/strong&gt;Engenius ENH220EXT 2.4Ghz long range, high capacity outdoor access points&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;External Access Points:&lt;/strong&gt; EnGenius ENH202 External 2.4Ghz&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Internal Access Points:&lt;/strong&gt; EnGenuis EST1221n&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Internet Gateway (for codes, restricting access and so on):&lt;/strong&gt; Guest Internet Solutions WAS-R2&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cabling:&lt;/strong&gt; External Grade CAT5E Cable and standard CAT5E Cable&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Other:&lt;/strong&gt; 20" J-Pole mounts, various clips and so on&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tools required:&lt;/strong&gt; Ladders, screwdrivers, hammer, Range Rover, drill and bits, a practical farmer as a helping hand&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 19 Apr 2016 15:15:20 +0000</pubDate></item><item><title>Why we don't advocate WordPress for everything</title><link>https://aj-computing.co.uk/articles/wordpress-all-the-things/</link><description>&lt;p&gt;We're reasonable people, and we advocate using the right tool for the job rather than just throwing out invective-fulled bait. As much as it might seem like we hate WordPress (the software, not the service powered by it), we can boil what we really feel down to this:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;If you need a blogging tool and a website with a few pages, WordPress might be a good idea. If your data model is substantially different from posts with title and text, then it's probably a bad idea.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;And because we're fair and balanced, we'll start out by talking about all the reasons we think WordPress is great:&lt;/p&gt;
&lt;h2&gt;It is here and it is good enough.&lt;/h2&gt;
&lt;p&gt;Which means that it is an infinitely better proposition anything which is not here.&lt;/p&gt;
&lt;h2&gt;WordPress is a de-facto standard.&lt;/h2&gt;
&lt;p&gt;The implications of this are probably bigger than they might appear; "everyone else uses it" is a poor excuse to use anything. But consider.&lt;/p&gt;
&lt;p&gt;For one, &lt;em&gt;any web host that does not have the facilities to run WordPress is a dead web host&lt;/em&gt;; you may as well try and run a petrol station with a four-foot height barrier on the entrance. Oh, for sure, there &lt;em&gt;is&lt;/em&gt; &lt;a href="https://en.wikipedia.org/wiki/Ford_GT40"&gt;some custom&lt;/a&gt; there, but that's a heck of a niche. The result is that hosting WordPress is &lt;em&gt;cheap&lt;/em&gt; and available everywhere.&lt;/p&gt;
&lt;p&gt;What's more, &lt;em&gt;it is really really easy to find WordPress developers.&lt;/em&gt; A one-off custom CMS, or a more obscure CMS, will leave you in a really unpleasant place if you fall out with the developers of your site.&lt;/p&gt;
&lt;p&gt;(We avoid this risk of lock-in by &lt;em&gt;not being bad;&lt;/em&gt; should a client choose to migrate away from us we will always offer a complete copy of the source code and their site's database, with documentation for developers. You can avoid this risk by &lt;em&gt;always getting a commitment in writing&lt;/em&gt;. And we are professionals at migrating data from companies that try to hold their clients' data hostage, even if that means writing tools to recreate years of e-commerce order history by scraping HTML from the admin backend of a site. Hey, &lt;a href="https://aj-computing.co.uk/contact/"&gt;hit us up&lt;/a&gt;, we're &lt;em&gt;awesome&lt;/em&gt;.)&lt;/p&gt;
&lt;h2&gt;WordPress Duplicator is fantastic.&lt;/h2&gt;
&lt;p&gt;This ties in with the hosting-as-commodity thing above: WordPress Duplicator is a real miracle of a plugin, that makes migrating from one host to another almost painless (and if you have access to a fast upstream pipe you can take out the "almost" from that sentence). What it does is &lt;em&gt;commoditise your web hosting&lt;/em&gt;; it makes it almost as easy to migrate your site to another host as it would be if your site was a bunch of static HTML files.&lt;/p&gt;
&lt;p&gt;With a fast pipe, migrating your site from one host to another is a process that takes a two-digit number of &lt;em&gt;minutes&lt;/em&gt;, rather than several hours and tears. The simplicity of Duplicator combined with the plentiful hosting is that &lt;em&gt;you can treat web hosting as any other commodity&lt;/em&gt; – and commodity markets in which no provider has a lock-in &lt;em&gt;always&lt;/em&gt; work out best for consumers.&lt;/p&gt;
&lt;h2&gt;The WordPress admin is rather lovely.&lt;/h2&gt;
&lt;p&gt;Much effort has gone into making the WordPress admin backend as slick as possible, and it &lt;em&gt;shows&lt;/em&gt;. It's not an overstatement to say that it is &lt;em&gt;beautiful;&lt;/em&gt; it requires just about zero technical skill for someone to post stuff on their website.&lt;/p&gt;
&lt;p&gt;That is superb and we have only good things to say about it.&lt;/p&gt;
&lt;h2&gt;See?&lt;/h2&gt;
&lt;p&gt;We have good things to say about WordPress. Hooray for WordPress, insofar as we don't have to develop for it. You can safely ignore any of the rest of this piece if you have a small blog or a website with a few pages running under WordPress.&lt;/p&gt;
&lt;p&gt;With that said, &lt;em&gt;we don't like the Wordpress architecture&lt;/em&gt;. It started out as a simple blog script and &lt;a href="http://weblogtoolscollection.com/archives/2008/07/14/evolution-of-wordpress-b2cafelog-to-wordpress-10/"&gt;grew into a content management system&lt;/a&gt; which got mistaken for a web development platform. None of this is to detract from WordPress being a good enough tool for blogging, just like a shed works great for holding tools. But nuclear weapons shelters are held to a much higher standard.&lt;/p&gt;
&lt;h2&gt;It is usually slow, and load will kill it.&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Speed isn't a minor concern.&lt;/em&gt; It's well-documented that search engines will de-rank sites that load slowly, and it is also well-established that a large proportion of users will hit the "Back" button if a site takes more than a couple of seconds to load. If your business is selling stuff online then a little attention to speed will dramatically improve your sales, which is another way of saying &lt;em&gt;slow load times will kill your business.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We've also learned from experience that in the real world of pile-em-high-sell-em-cheap shared hosts, &lt;em&gt;your speed bottleneck is almost invariably on database access.&lt;/em&gt; Thus, queries should be as few as possible, and those queries should to the maximum possible extent be simple reads. (Ask us about that time someone thought it was a good idea to put a hit counter on each page. &lt;em&gt;Hint:&lt;/em&gt; that writes to the database every time a page is accessed...)&lt;/p&gt;
&lt;p&gt;And yet, we've seen WordPress sites with very few plugins doing really basic tasks which have a &lt;em&gt;baseload&lt;/em&gt; of over 30 SQL queries (for contrast, we have written two e-commerce sites which have a baseload of &lt;em&gt;8&lt;/em&gt; and only exceeded 20, in total, on two URLs).&lt;/p&gt;
&lt;p&gt;The result is that WordPress sites on shared hosts or cheap VPSes tend to explode as soon as they encounter any substantial load. Oh, there are plugins that will help you out there, which &lt;em&gt;should not be necessary&lt;/em&gt;; a simple blogging engine should not hit databases so hard that a modest traffic spike will get you kicked off of your shared hosting account.&lt;/p&gt;
&lt;p&gt;That WordPress plugin and theme developers tend to treat database queries as free greatly exacerbates this. That's a cultural problem, made worse by...&lt;/p&gt;
&lt;h2&gt;Post as Mother of All Things&lt;/h2&gt;
&lt;p&gt;WordPress's core data type is the Post. This is, to simplify massively, a database table that has few columns, the most critical of which are the type of the entry ("page" for a page and "post" for a blog post), the title, the date added, the text of the entry, and one or two other things you don't care about. The rest is metadata, joined from a second database table.&lt;/p&gt;
&lt;p&gt;This works great in the sense that you can treat these things interchangeably; in particular, it means whatever search you are using can work across every kind of post (whether that's a page, a post, or a custom post type) for free. As we've said, &lt;em&gt;WordPress works great for things that fit into the post-with-title-and-text model&lt;/em&gt;, and this applies to WP's custom posts architecture, too.&lt;/p&gt;
&lt;p&gt;The downside is that every page load that displays anything other than "post" title, text, and time requires an extra trip to the wp_postmeta table. If you want to display an image with each post (what WordPress calls "featured image"), that is a trip to &lt;em&gt;two&lt;/em&gt; database tables; one to join a "meta" field identifying the ID (number) of the featured image, the other to join another database table with the image by that ID.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Multiply that by 5 or 10 or however many things you have on a page, and you're gonna have a bad time&lt;/em&gt;, at least when you get an unexpected traffic spike.&lt;/p&gt;
&lt;p&gt;If you want a practical lesson to take away from this: WordPress e-commerce plugins are usually a terrible idea. We've seen many of them and absolutely none of them were done well; it was less pain to write e-commerce systems from scratch than it was to try and restore these to some kind of sanity.&lt;/p&gt;
&lt;p&gt;Talking of which...&lt;/p&gt;
&lt;h2&gt;Plugins tend to be terrible&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Because in general [database transactions] are not needed and they add extra overhead&lt;/p&gt;
&lt;p&gt;Also transactions are not supported on all table types and you might want to use a different table type for performance reasons&lt;/p&gt;
&lt;p&gt;You would do better looking in to what corrupted the table and how you could have detected that.&lt;/p&gt;
&lt;p&gt;Transactions would have only helped you identify you had a problem sooner not fixed the problem!&lt;/p&gt;
&lt;p&gt;— What Plugin Developers Actually Believe&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We could complain about the plugin architecture, but...oh, let's do that anyway: it &lt;em&gt;is&lt;/em&gt; ugly and requires far too much boilerplate. But meh: that's a developer's problem and not yours, and we're not programmers who complain about having to do some programming. The problem with WordPress plugins is that m&lt;strong&gt;ost of them are really bad.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We've seen popular plugins that have added an extra &lt;em&gt;twenty&lt;/em&gt; SQL queries &lt;em&gt;just to load and do nothing else&lt;/em&gt;. We've seen one add &lt;em&gt;fifteen&lt;/em&gt; JavaScripts to the start of &lt;em&gt;every single page&lt;/em&gt;, enough to obliterate all the efforts we put into making the site load quickly. The worst of them, Advanced Custom Fields (filed under "brilliant idea with poor execution"), hits databases so hard that one site we looked at was taking &lt;em&gt;eight&lt;/em&gt; seconds to start spitting out HTML, &lt;em&gt;running solo on a quad-core Xeon server&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Meanwhile, as the WordPress team have worked hard to secure the core of WordPress, it seems that plugin developers are trying their hardest to ensure that WordPress websites are still trivially easy to break into. Thanks for carrying the flame, chaps.&lt;/p&gt;
&lt;p&gt;"Well, it's PHP so what do you expect" is not a good answer to this. Yes, it's easy to write bad PHP code, but it's equally easy for a good developer to write &lt;em&gt;solid, stable, fast PHP code as well&lt;/em&gt; once she understands the language's quirks.&lt;/p&gt;
&lt;p&gt;So when someone suggests "well, we'll just use WordPress with plugin X" to solve your problems, &lt;em&gt;start asking questions about how that will impact the site's load time&lt;/em&gt;, and demand metrics for it. And do look through the plugin's release history; if it reads something like "fix obvious security problem" repeated a dozen times then &lt;em&gt;your site is going to be turned into something you did not at all intend&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;The templating system is not a templating system&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Retrieves the information pertaining to the currently logged in user, and places it in the global variable $current_user.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://codex.wordpress.org/Function_Reference/get_currentuserinfo"&gt;— This Is Your Brain On WordPress&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Let's get our objection clear: &lt;strong&gt;PHP is not a templating language. It is a fully-fledged programming language with some weird string literal syntax.&lt;/strong&gt; Many things have been written about PHP &lt;em&gt;itself&lt;/em&gt;, some fair, most pretty unfair. (Hint: you don't get to complain about inconsistent function naming and two minutes later advocate writing in Python, because well, &lt;a href="http://docs.python.org/3/library/index.html"&gt;how big is &lt;em&gt;your&lt;/em&gt; laundry pile&lt;/a&gt;?)&lt;/p&gt;
&lt;p&gt;This is what real templating engines do:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Inheritance.&lt;/strong&gt; include() and get_header and get_footer do not count here. Real templating languages allow you to define a base template and then selectively override parts of it. So you want a custom CSS file on one of your pages and &lt;em&gt;only&lt;/em&gt; that page: Simple:&lt;br/&gt;
&lt;pre&gt;{% extends "pages/default.html"%}
{% block extra_css %}&amp;lt;link rel="stylesheet" type="text/css" href="special-stuff.css" /&amp;gt;{% endblock %}
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auto-escaping.&lt;/strong&gt; In a real templating language you should have to explicitly declare which variables contain trusted data (like HTML) and everything else is treated as untrusted, and should not be printed without escaping (in the context of HTML, that means being printed with angle brackets and quotes converted into HTML entities).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Limited logic.&lt;/strong&gt; That means that you should &lt;em&gt;not&lt;/em&gt; be able to do operations that have side-effects like writing data. Which is to say, real template languages fit into architectures which &lt;em&gt;enforce&lt;/em&gt; a clear distinction between back-end heavy-lifting and presentation logic. WordPress as it stands encourages far too much logic to be written into templates. We know all about this; deadlines are what they are and so even we are guilty of this on some of the WordPress websites we've worked on (if you want to read this page as "Why These Guys Suck at WordPress Development", feel free).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you're wondering what a real template language looks like, there is a &lt;a href="http://www.h2o-template.org/"&gt;PHP port of Django's templating engine&lt;/a&gt;. Actually, it's so good that there are &lt;a href="http://twig.sensiolabs.org/"&gt;two&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The implications of an awful template engine are bigger than you might think; many of the awful things in WordPress (like &lt;a href="https://codex.wordpress.org/The_Loop"&gt;The Loop&lt;/a&gt;) are just outgrowths of a really bad not-a-templating-system-at-all template system.&lt;/p&gt;
&lt;h2&gt;URL routing is pain&lt;/h2&gt;
&lt;p&gt;But writing excessive amounts of logic into a template is sometimes &lt;em&gt;necessary&lt;/em&gt;, because WordPress doesn't have anything like a proper URL router. What we really want to do is say "pass all requests with a path matching &lt;em&gt;this&lt;/em&gt; to &lt;em&gt;this function&lt;/em&gt;. Out of the box, WordPress has nothing suitable. Oh, it's doable, but good luck jumping through &lt;a href="http://www.hongkiat.com/blog/wordpress-url-rewrite/"&gt;those hoops&lt;/a&gt; and whoops, you only get to do that kind of URL routing by routing your custom URL to render a certain page, &lt;em&gt;and then you can put your code in a template&lt;/em&gt;. Great.&lt;/p&gt;
&lt;p&gt;There are plugins out there to help you with that. You know our feelings about adding plugins, and if WordPress is going to position itself as a solution to Everything, &lt;em&gt;this stuff should be in the WordPress core&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;It randomly screws with input data. It shouldn\'t.&lt;/h2&gt;
&lt;p&gt;The big shocker when we started WordPress development was this: &lt;strong&gt;WordPress inserts backslashes before quote marks in HTTP POST and GET data.&lt;/strong&gt; Hey, it took us a while to figure &lt;em&gt;that&lt;/em&gt; one out because we blamed PHP and drove ourselves nuts for half an hour wondering why &lt;a href="http://uk3.php.net/magic_quotes"&gt;a thing that was removed in our version of PHP&lt;/a&gt; was somehow, magically working in our version of PHP.&lt;/p&gt;
&lt;p&gt;The reasoning here is that old versions of PHP did this, and plugins might still be expecting backslashes in input data, i.e. plugin developers are not very clever and are &lt;em&gt;still, in 2014&lt;/em&gt; shoving random variables into SQL strings without sanitising them. Yes, that does actually mean that you have to use stripslashes() on any user-supplied data as if it's 2001, and that WordPress is single-handedly keeping alive the old tradition of seeing random backslashes before.&lt;/p&gt;
&lt;p&gt;No, we're not complaining about calling a function. But the response of any sane developer to this kind of behaviour is &lt;strong&gt;who on Earth thought this was a good idea&lt;/strong&gt; and you can listen to the justifications for it and they all sound reasonable, just as your crazy uncle &lt;em&gt;sort of makes a point from time to time&lt;/em&gt; and then you remember he's actually explaining how the world is run by a secret cabal of pan-dimensional super-lizards and you're all&lt;/p&gt;
&lt;p&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/3/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=c37199916ec8a5f9dbb4" type="image/webp"/&gt;
&lt;source srcset="/library/3/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=feafbba8797c7889d830" type="image/jpeg"/&gt;
&lt;img alt="Wat" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/wat.jpg" title="Wat"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PHP stopped mangling input data for a reason, fully expecting that code written by incompetent people would break.&lt;/strong&gt; They stopped because it is &lt;em&gt;really&lt;/em&gt; rude to randomly screw with input data in order to defend against one attack vector (and ignoring all the others). If you're not smart enough to use prepared statements (or even stuff like &lt;a href="http://php.net/mysqli_real_escape_string"&gt;escaping your strings&lt;/a&gt;) to avoid SQL injections, &lt;strong&gt;you are not smart enough to write code that other people depend on.&lt;/strong&gt; Think of it as "you must be at least this high to ride the software development".&lt;/p&gt;
&lt;p&gt;(Should you think that contradicts the above about auto-escaping HTML output being a feature of good templating engines: It doesn't. Escaping data for use in a specific context, such as "don't allow variables containing HTML tags to be shown on HTML pages" is a very different thing to "assume any user-supplied data will be shoved into a database by code written by really, really bad developers".)&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Non-developers won't need to care about much of this. For many sites, which fall into WordPress' data model, do not see large loads and do not install many plugins, &lt;em&gt;WordPress works pretty well&lt;/em&gt;. Just get it behind a &lt;a href="https://www.varnish-cache.org/"&gt;Varnish cache&lt;/a&gt; on a &lt;a href="https://www.digitalocean.com/"&gt;cheapo VPS&lt;/a&gt; and you'll be fine.&lt;/p&gt;
&lt;p&gt;And some better ideas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Is your data model substantially more complicated than that of a blog (articles displayed in reverse chronological order)? &lt;em&gt;Consider not using WordPress&lt;/em&gt;. A hatchback does fine for going to the shops, but you don't make an off-roader out of it by welding it to a Range Rover, and you don't make a fast off-roader by towing &lt;em&gt;that&lt;/em&gt; with a Ferrari. Use the right tool for the job!&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Will a bunch of static files do?&lt;/em&gt; You techies have no excuse for having websites with one or two pages running on WordPress; write some damn HTML like a real gender-neutral noun and save yourself some headaches.&lt;/li&gt;
&lt;li&gt;And the obvious plug: We &lt;a href="https://aj-computing.co.uk/services/web-design/"&gt;write custom web sites&lt;/a&gt;, both big and small, for sensible budgets. Many of them even use WordPress! Do &lt;a href="https://aj-computing.co.uk/contact/"&gt;get in touch with us&lt;/a&gt; to discuss your needs.&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Fri, 29 Aug 2014 14:42:49 +0000</pubDate></item><item><title>A custom PC build</title><link>https://aj-computing.co.uk/articles/custom-pc-build/</link><description>&lt;p&gt;&lt;em&gt;If you would like us to build you a custom PC for gaming, CAD design, graphical work or any other task for which off-the-shelf isn't good enough, then please &lt;a href="https://aj-computing.co.uk/contact/"&gt;contact us&lt;/a&gt;. Our custom computers are built in Lincolnshire and we supply to local areas such as Stamford, Oakham, Grantham and Peterborough and nationwide. All AJ Computing systems come with a full warranty.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The requirements for this particular build was simple: &lt;strong&gt;Build a powerful computer for general office use which can support up to 4 monitors&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;You could buy a computer from trusted brands such as Acer or HP, but all of them to some extent trade off quality for bill-of-materials cost. And you could buy a decently-specced pre-built computer and upgrade it to sort the video requirements. But then would the chassis and cooling be adequate? You might be able to find a pre-built with a decent processor and RAM - but how about a decent spec hard drive as well? Moreover, will it void the warranty of a mass-produced system if you start adding parts?&lt;/p&gt;
&lt;p&gt;This is where custom built systems come into their own: you can build to exactly the correct specification.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Processor&lt;/strong&gt; choice was easy: it either had to be a high-end Intel Core i5 or an Intel Core i7. The budget allowed for the &lt;a href="http://ark.intel.com/products/61275/" rel="noopener" target="_blank"&gt;&lt;strong&gt;Core i7 i2700&lt;/strong&gt;&lt;/a&gt; (Socket LGA1155, 3.5GHz, 8MB Cache). Not the highest spec Core i7, but certainly no slug.&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/34/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=d7a4275256753c2c7a1e" type="image/webp"/&gt;
&lt;source srcset="/library/34/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=f498f3e93824317162af" type="image/jpeg"/&gt;
&lt;img alt="Intel i7-2700K" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Intel_i7-2700K.jpg" title="Intel i7-2700K"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;As all custom builders know, the PSU choice is critical to the stability of the build. There are lots of manufacturers out there and many of them will over-claim the output, have shady voltage stability and questionable reliability. On this occasion the &lt;strong&gt;OCZ ZT Series 650W&lt;/strong&gt; (part #OCZ-ZT650W) was chosen - modular design and 80 plus bronze certification as you would expect at this price range, and backed up with a 5 year warranty.&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/35/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=a96417e89a72478b0864" type="image/webp"/&gt;
&lt;source srcset="/library/35/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=4e50ebcb1a5b62dec573" type="image/jpeg"/&gt;
&lt;img alt="OCZ ZT 650W PSU" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/OCZ_ZT_650W_PSU.jpg" title="OCZ ZT 650W PSU"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;chassis&lt;/strong&gt; is never something to be overlooked. I have seen many shoddy cases over the years and they are a real bug-bear for me. Aesthetics are a lesser consideration; for me, important factors are quality of the build, ease of installation and thermal design. Also, because I am the person assembling it, I appreciate the little things like no sharp edges, sides that go on nicely, bits that don't vibrate, the quantity and selection of screws/fittings that come with the package and so on.&lt;/p&gt;
&lt;p&gt;Unless space is a particular constraint I prefer the Midi Tower chassis size. As a regular builder of Zalman cases both past and present I opted for the &lt;a href="http://www.zalman.com/global/product/Product_Read.php?Idx=423" rel="noopener" target="_blank"&gt;&lt;strong&gt;Z9&lt;/strong&gt;&lt;/a&gt;, which is packed with many features you would often expect from a more expensive chassis.&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/36/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=83001d63a90d578d23b0" type="image/webp"/&gt;
&lt;source srcset="/library/36/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=6a4e8ba62162d5b007dc" type="image/jpeg"/&gt;
&lt;img alt="Zalman Z9 Inside" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Zalman_Z9_Inside.jpg" title="Zalman Z9 Inside"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/37/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=baf92fe5a478254634b5" type="image/webp"/&gt;
&lt;source srcset="/library/37/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=589a5715b3720f544708" type="image/jpeg"/&gt;
&lt;img alt="Zalman Z9 USB" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Zalman_Z9_USB.jpg" title="Zalman Z9 USB"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;For the &lt;strong&gt;motherboard&lt;/strong&gt;, reliability was the key here whilst of course supporting all the hardware required, with scope for upgrading in future. It had to be full size ATX; it would seem daft to put a Micro-ATX board into a Midi-ATX chassis but also it gives the client more scope for upgrading. &lt;strong&gt;The Gigabyte GA-Z77-D3H&lt;/strong&gt; was selected as a tried and tested product, from a trusted manufacturer who I have used since the late 90s with very few issues. It is not the fanciest board available but it's certainly up to the job of this build.&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/38/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=b875477c680b8b79bd5b" type="image/webp"/&gt;
&lt;source srcset="/library/38/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=1e4bdfbd333e4b7ff750" type="image/jpeg"/&gt;
&lt;img alt="Gigabyte GA-Z77-D3H" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Gigabyte_GA-Z77-D3H.jpg" title="Gigabyte GA-Z77-D3H"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/39/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=8d5186bfd7357e9f8cbe" type="image/webp"/&gt;
&lt;source srcset="/library/39/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=bbb4bbaac47d16a854d4" type="image/jpeg"/&gt;
&lt;img alt="Gigabyte GA-Z77-D3H ports" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Gigabyte_GA-Z77-D3H_ports.jpg" title="Gigabyte GA-Z77-D3H ports"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;cooler and heatsink&lt;/strong&gt; combo shipped with the Intel i7 processor is perfectly adequate, but the client remarked that they wanted to keep noise as low as possible. Changing the CPU cooler is a clear choice. I selected the &lt;strong&gt;Zalman CNPS 9900 Max&lt;/strong&gt;. Having used this same cooler and others of the "Super Flower" design, I am able to vouch for the quietness of operation (it shifts a lot of air and you can hear that, but most prefer that to the high pitch of a standard fan), good cooling capacity and strength of grip to the CPU. .&lt;/p&gt;
&lt;p&gt;The Zalman is a bit of a beast, and some would say a little tricky to install. Here's the stock Intel cooler versus the Zalman:&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/40/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=eedfddac505cbf32dcf3" type="image/webp"/&gt;
&lt;source srcset="/library/40/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=5530bbf7225d906ee524" type="image/jpeg"/&gt;
&lt;img alt="Zalman CNPS9900 Max versus Intel" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Zalman_CNPS9900_Max_versus_Intel.jpg" title="Zalman CNPS9900 Max versus Intel"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;And a bunch of parts to put together - some you will discard depending on the instructions.&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/52/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=1c5af8750fd837c89f53" type="image/webp"/&gt;
&lt;source srcset="/library/52/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=9c1a3972e2e3f48dcb5f" type="image/jpeg"/&gt;
&lt;img alt="Zalman CNPS9900 Max parts" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Zalman_CNPS9900_Max_parts.jpg" title="Zalman CNPS9900 Max parts"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Essentially though, it is a case of fixing some clips to the main plate that goes on the reverse of the mainboard, pushing the supplied clamp into correct holes on the mainboard, apply heat transfer compound (plenty of which is supplied with the Zalman cooler) to the heatsink correctly and then clamping it all down. Not forgetting to install the processor of course!&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/41/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=d4ea6efff2ae2654ab6d" type="image/webp"/&gt;
&lt;source srcset="/library/41/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=6100c1c4d142f9190df6" type="image/jpeg"/&gt;
&lt;img alt="Zalman clamp on board" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Zalman_clamp_on_board.jpg" title="Zalman clamp on board"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/42/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=65d69cd4e28019779f5a" type="image/webp"/&gt;
&lt;source srcset="/library/42/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=4361c652dae820ce5658" type="image/jpeg"/&gt;
&lt;img alt="Zalman CNPS99900 Max on board" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Zalman_CNPS99900_Max_on_board.jpg" title="Zalman CNPS99900 Max on board"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;The Zalman Z9 is configured with the PSU at the bottom. This seems odd to those who have built computers "the right way round" in the past, but in many ways it does make sense. Installing a black PSU to a black case (also painted black inside, which many cases are not) with black screws clearly makes no difference to the performance, but is a nice touch to the build:&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/43/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=43306f9d49693ebfcabe" type="image/webp"/&gt;
&lt;source srcset="/library/43/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=85da5ddaa2e72020362b" type="image/jpeg"/&gt;
&lt;img alt="PSU installed" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/PSU_installed.jpg" title="PSU installed"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hard Drive:&lt;/strong&gt; A typical pre-built computer will have a standard SATA hard drive - a great cheap way of storing data. However as times has moved on it has been accepted that if you want a fast system &lt;strong&gt;Solid State Drives&lt;/strong&gt; (SSDs) are the way to go, particularly for the operating system and programs. However, this client has quite a chunk of data, so a compromise was made - I installed a SATA hard drive as a secondary drive, because to get 1TB of storage on SSD would cost a small fortune.&lt;/p&gt;
&lt;p&gt;SSD drives come in 2.5" format, while a typical SATA hard drive for desktop computers is 3.5" wide, so to install the SSD Hard Drive some form of tray is often required. The Zalman Z9 already has the converter for 3.5" to 2.5" hard drives which is a bonus. OCZ are a leader in SSD drives and again chosen for their reliability. Here is the &lt;strong&gt;OCZ Vertex 3&lt;/strong&gt; tucked away in the chassis:&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/44/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=67a8899f9aa1a9384d39" type="image/webp"/&gt;
&lt;source srcset="/library/44/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=16a6219817754194d411" type="image/jpeg"/&gt;
&lt;img alt="OCZ Vertex 3 SSD" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/OCZ_Vertex_3_SSD.jpg" title="OCZ Vertex 3 SSD"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;And I chose a &lt;strong&gt;Seagate Barracuda 1TB&lt;/strong&gt; for general data. I quite like the design of the "tool-less" installation. It's tool-less in the fact you do not need to remove screws to get the hard drive out. It's not-so-tool-less in the fact you have to screw bits to the hard drive. It all fits together nicely, though, with a reassuring "clunk".&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/45/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=dfee1f3c2e97d9cf26f0" type="image/webp"/&gt;
&lt;source srcset="/library/45/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=ee22f4f1bb9331796ad6" type="image/jpeg"/&gt;
&lt;img alt="Seagate Barracuda with screws" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Seagate_Barracuda_with_screws.jpg" title="Seagate Barracuda with screws"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p class="pic"&gt;&lt;br/&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/46/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=efe6f5cb6b4909e2ab4a" type="image/webp"/&gt;
&lt;source srcset="/library/46/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=e5d2d9af85aff88811e5" type="image/jpeg"/&gt;
&lt;img alt="Seagate Barracuda into Zalman Z9" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Seagate_Barracuda_into_Zalman_Z9.jpg" title="Seagate Barracuda into Zalman Z9"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;One of the main points of this build was so that the client could view up to 4 screens at the same time. There are various ways of doing this including an external box as a sort of splitter, or using two or more regular video cards inside the computer. I opted for a simpler approach - one internal video card to do everything. I chose a &lt;strong&gt;Sapphire Radeon HD7950 Flex&lt;/strong&gt;. Although this card is very capable compared to those you would normally find in a pre-built system, we didn't go over-the-top; powerful gaming was not required from this build.&lt;/p&gt;
&lt;p&gt;As you can see it has two DVI ports, an HDMI port and two DisplayPorts. In the package are a host of leads and adaptors - one of which an HDMI-to-DVI adaptor which was used for the third screen. A DisplayPort-to-HDMI adaptor lead was additionally purchased to utilise a fourth screen. Clearly due to the size of the card a decent size chassis is required - it takes up a lot of room and is a good idea to have a decently cooled chassis.&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/47/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=42405e8592046a75a75f" type="image/webp"/&gt;
&lt;source srcset="/library/47/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=78860669cf877c7f0653" type="image/jpeg"/&gt;
&lt;img alt="Sapphire Radeon HD7950 Flex Ports" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Sapphire_Radeon_HD7950_Flex_Ports.jpg" title="Sapphire Radeon HD7950 Flex Ports"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/48/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=c22d2dc7de6adb39e64a" type="image/webp"/&gt;
&lt;source srcset="/library/48/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=49c0fb8efdad49d679d2" type="image/jpeg"/&gt;
&lt;img alt="Sapphire Radeon HD7950 Flex Ports" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Sapphire_Radeon_HD7950_Flex_Ports_H34gjgM.jpg" title="Sapphire Radeon HD7950 Flex Ports"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;With the RAM, DVD drive and everything plugged in it's ready to start the install of Windows - in this case &lt;strong&gt;Windows 7&lt;/strong&gt;, as it was known to be compatible with the client's fairly unique software. Of course this is not the definitive way to measure performance, but a quick test after installing Windows shows it is along the right lines - 7.6 scored out of a potential 7.9.&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/49/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=4d946b5e8f68ffde3b27" type="image/webp"/&gt;
&lt;source srcset="/library/49/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=ff9e5e7767094d8e7ca1" type="image/jpeg"/&gt;
&lt;img alt="Installing Windows 7" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Installing_Windows_7.jpg" title="Installing Windows 7"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/50/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=993f2a069c68b2d3e372" type="image/webp"/&gt;
&lt;source srcset="/library/50/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=a0f4cd132b9ed76aab2f" type="image/jpeg"/&gt;
&lt;img alt="Windows Performance Results" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Windows_Performance_Results.jpg" title="Windows Performance Results"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;We like to keep cables as neat as possible. Of course all cables should be secured and out of the way of the cooling fans, but we also consider airflow. It also looks more professional and that a bit of effort has put in if it looks right. Not the final revision but this was getting there:&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/51/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=261e0aec162a12b6b50b" type="image/webp"/&gt;
&lt;source srcset="/library/51/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=fb889b49206b285303df" type="image/jpeg"/&gt;
&lt;img alt="Custom PC Cables partially tidied" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/Custom_PC_Cables_partially_tidied.jpg" title="Custom PC Cables partially tidied"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;So there we have it: an example of a custom build PC from AJ Computing. If you would like us to quote for a custom built computer or perhaps you want to pick our brains on something, feel free to &lt;a href="https://aj-computing.co.uk/contact/"&gt;contact us&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Alex Collard&lt;br/&gt; System Builder&lt;/p&gt;
&lt;h2&gt;Specification of above build&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Chassis:&lt;/strong&gt; Zalman Z9&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PSU:&lt;/strong&gt; OCZ-ZT650W-UK ZT Series 650W 80+ Bronze Fully Modular&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mainboard:&lt;/strong&gt; Gigabyte GA-Z77-D3H&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Processor:&lt;/strong&gt; Intel Core i7-2700K 3.50GHZ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Processor cooler:&lt;/strong&gt; Zalman CNPS 9900 Max&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RAM:&lt;/strong&gt; Kingston 16GB HyperX Red (2 X 8GB) KHX16C10B1RK2/16 1600MHZ DDR3 NON-ECC CL10&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Video card:&lt;/strong&gt; Sapphire RADEON HD 7950 3GB GDDR5 FLEX PCI-E 2XDVI HDMI 2XM-DP + Sapphire Active DisplayPort to SL DVI Cable (for fourth screen)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hard drives:&lt;/strong&gt; OCZ Vertex 3 VTX3-25SAT3-90G SATAIII 90GB Solid State Drive&lt;br/&gt; Seagate Barracuda ST1000DM003 1TB SATA 3.5IN 7200RPM 64MB 6GB/S&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optical drive:&lt;/strong&gt; LiteOn IHOS104-06 4x Internal BD-ROM Blu-ray&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Operating system:&lt;/strong&gt; Windows 7 Professional 64-Bit&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Sun, 01 Dec 2013 17:42:25 +0000</pubDate></item><item><title>How to replace the keyboard of the Acer Aspire One A110</title><link>https://aj-computing.co.uk/articles/acer-aspire-one-a110-keyboard-replacement/</link><description>&lt;p&gt;Replacing the keyboard of the Acer Aspire One A110 is very simple. It takes five minutes and does not require any special tooling. While we're showing you how to do it, we'll also give you a trick to work around a design flaw that often causes Aspire One keyboards to stop working in the first place.&lt;/p&gt;
&lt;p&gt;These instructions and photographs are for the original A110, but it should also work just fine with the ZG5, AO751H and many, many other Aspire Ones.&lt;/p&gt;
&lt;h2&gt;The how-to&lt;/h2&gt;
&lt;h3&gt;Step 1: Find the keyboard retaining clips&lt;/h3&gt;
&lt;p&gt;There are three clips just above the keyboard. One is above the F2 key, one is above F8, and one is above the Pause/Break and Insert keys. They're arrowed here:&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/60/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=b58766c626d4008b4da6" type="image/webp"/&gt;
&lt;source srcset="/library/60/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=3433cf8bc8ad883f7780" type="image/jpeg"/&gt;
&lt;img alt="acer-aspire-one-orig" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/acer-aspire-one-orig.jpg" title="acer-aspire-one-orig"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Push these clips in with a small, thin flat object; a flat-bladed precision screwdriver will do very well, if you have one. As you do this, you should notice that the top of the keyboard will pop loose.&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/61/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=f6bf60d3d57fd412df57" type="image/webp"/&gt;
&lt;source srcset="/library/61/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=1583987cff569cae1122" type="image/jpeg"/&gt;
&lt;img alt="keyboard-clip-1" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/keyboard-clip-1.jpg" title="keyboard-clip-1"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Other Aspire Ones may have four clips; we know the AO751h does&lt;/p&gt;
&lt;h3&gt;Step 2: Liberate the keyboard&lt;/h3&gt;
&lt;p&gt;Once the top of the keyboard is free, you should be able to lift the keyboard away from the case (you still have a ribbon cable underneath to undo, so don't yank it away too hard!).&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/62/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=caaa4ca616b7a376424d" type="image/webp"/&gt;
&lt;source srcset="/library/62/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=35f8c3d34a8324db966b" type="image/jpeg"/&gt;
&lt;img alt="removing-keyboard" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/removing-keyboard.jpg" title="removing-keyboard"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;There are what appear to be two clips on the side that you don't need to undo; the inherent flex of the keyboard will ensure that these won't interfere with removing it. Here's one of them:&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/63/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=0fcbc73320382487d283" type="image/webp"/&gt;
&lt;source srcset="/library/63/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=8952d3eade842ceedfca" type="image/jpeg"/&gt;
&lt;img alt="side-clip-1" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/side-clip-1.jpg" title="side-clip-1"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;h3&gt;Step 3: Remove the ribbon cable&lt;/h3&gt;
&lt;p&gt;The ribbon cable for the keyboard is latched in place. Here's the clip:&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/64/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=5cb7824c1d6674ccf531" type="image/webp"/&gt;
&lt;source srcset="/library/64/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=48da675c4dfc9e725298" type="image/jpeg"/&gt;
&lt;img alt="keyboard-ribbon-clip" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/keyboard-ribbon-clip.jpg" title="keyboard-ribbon-clip"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Lift the black part of the clip; it's hinged and it rotates along the length of the clip. Remove the ribbon cable, and your keyboard will now be free.&lt;/p&gt;
&lt;p&gt;You might want to keep your old keyboard in case one of your new keys breaks off and get lost.&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/65/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=de4296885dfb9083864a" type="image/webp"/&gt;
&lt;source srcset="/library/65/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=c4c1815b81853f72a716" type="image/jpeg"/&gt;
&lt;img alt="two-keyboards" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/two-keyboards_PRSo9PO.jpg" title="two-keyboards"/&gt;
&lt;/picture&gt;
&lt;br/&gt; Top: old keyboard. Bottom: New one.&lt;/p&gt;
&lt;h3 id="cardtrick"&gt;Step 4: Card Trick!&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Here is the secret trick to get more life out of your keyboard!&lt;/strong&gt; We'll discuss why this works &lt;a href="#flaw"&gt;later&lt;/a&gt;, but for now, you need to cut out a square piece of thin card (UK train ticket thickness is fine), a little bit wider than the width of the keyboard ribbon. It should look something like this:&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/66/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=14fee650436d006f3b41" type="image/webp"/&gt;
&lt;source srcset="/library/66/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=cc0d355da4b012504267" type="image/jpeg"/&gt;
&lt;img alt="card" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/card.jpg" title="card"/&gt;
&lt;/picture&gt;
&lt;br/&gt; Subtle &lt;a href="https://aj-computing.co.uk/"&gt;plug&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;It should cover the edge of the gap in the casing (silver) over which the ribbon cable passes to get to its clip.&lt;/p&gt;
&lt;h3&gt;Step 5: Fit your new ribbon cable&lt;/h3&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/67/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=4abeae3d410c7ca59db3" type="image/webp"/&gt;
&lt;source srcset="/library/67/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=a39434168b408f9e65bc" type="image/jpeg"/&gt;
&lt;img alt="relocating-ribbon" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/relocating-ribbon.jpg" title="relocating-ribbon"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;No surprises here; slide the ribbon cable of your new cable into the slot and push the black clip down to hold it in place. This is a zero-insertion-force slot, i.e. it should require &lt;em&gt;no force at all&lt;/em&gt; to slide into place if the black clip is undone. (Check your new keyboard's ribbon for protective tape on the tip!)&lt;/p&gt;
&lt;h3&gt;Step 6: Fit the new keyboard&lt;/h3&gt;
&lt;p&gt;You want to slide the bottom of the keyboard in place first. There are four notches in the casing, with matching protrusions on the keyboard. Here's one of the notch/protrusion pairs:&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/68/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=174ff88abadf0bbf1012" type="image/webp"/&gt;
&lt;source srcset="/library/68/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=ec325c81e67efedf5b70" type="image/jpeg"/&gt;
&lt;img alt="relocation-clip" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/relocation-clip.jpg" title="relocation-clip"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;Once the bottom of the keyboard is in place, simply push the top of the keyboard down and it'll clip into place.&lt;/p&gt;
&lt;p&gt;You're done! Enjoy getting many more years of life out of your A110!&lt;/p&gt;
&lt;p&gt;Sometimes, due to wear or previous removals of the keyboard, one or more of the clips at the top will refuse to clip in place. If so, just put some double-sided sticky tape underneath that part of the keyboard to hold it in place, and put a weight on top of it for an hour or so to ensure that it's stuck firmly in place. (If this sounds crude: It is! But did you know that this is how iPads are held together? We found this out the fun way!)&lt;/p&gt;
&lt;h2 id="buy"&gt;Where do I buy a keyboard?&lt;/h2&gt;
&lt;p&gt;eBay!&lt;/p&gt;
&lt;p&gt;As of early 2013, the keyboards for the A110 are readily available brand new, and very cheap; they are less than £10 shipped in the UK from eBay. For those of you in the UK, a little digging through &lt;a href="http://www.ebay.com/sch/i.html?_trksid=p5197.m570.l1313&amp;amp;_nkw=acer+aspire+one+a110+keyboard&amp;amp;_sacat=0&amp;amp;_from=R40"&gt; this search&lt;/a&gt; will find you one.&lt;/p&gt;
&lt;h2 id="flaw"&gt;The design flaw&lt;/h2&gt;
&lt;p&gt;A design flaw with the A110, and other Aspire Ones including the AO751, is that the keyboard ribbon gets creased against the gap in the housing (the gap which gives you access to the slot into which the keyboard ribbon goes). You can see the crease that forms in this photograph:&lt;/p&gt;
&lt;p class="pic"&gt;
&lt;picture class="image"&gt;
&lt;source srcset="/library/69/width:1024/height:auto/fmt:webp/color:auto/q:default/crop:none/?signature=27a46fce366edc01ef9b" type="image/webp"/&gt;
&lt;source srcset="/library/69/width:1024/height:auto/fmt:source/color:auto/q:default/crop:none/?signature=f6ae40a3d3d1b46ab14b" type="image/jpeg"/&gt;
&lt;img alt="creased-ribbon" class="image__image" loading="lazy" src="https://aj-computing.co.uk/media/uploads/files/creased-ribbon.jpg" title="creased-ribbon"/&gt;
&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;This will only become apparent after either very heavy use or many removals of the keyboard (in our case, it's a combination of both), but eventually &lt;em&gt;this will cause the keyboard to stop working properly&lt;/em&gt;. A symptom of this is that some keys will work and others will not. Sadly, you cannot replace the ribbon cable by itself. Sometimes using a plastic splint and sellotape remedies this, for a time.&lt;/p&gt;
&lt;p&gt;This was the purpose of the piece of card earlier; it provides a smoother "ramp" for the ribbon to rest against. This should give you many years of extra use out of your keyboard!&lt;/p&gt;
&lt;h2&gt;Plug&lt;/h2&gt;
&lt;p&gt;As well as &lt;a href="https://aj-computing.co.uk/services/computer-diagnostics-repairs/"&gt;repairs &amp;amp; diagnostics of old laptops&lt;/a&gt; (and anything else you care to throw at us), we do many other things like &lt;a href="https://aj-computing.co.uk/services/web-design/"&gt;web design&lt;/a&gt; and other &lt;a href="https://aj-computing.co.uk/services/"&gt;IT services&lt;/a&gt;. Don't hesitate to &lt;a href="https://aj-computing.co.uk/contact/"&gt;contact us&lt;/a&gt; with your queries.&lt;/p&gt;
&lt;h2&gt;Copyright&lt;/h2&gt;
&lt;p&gt;Copyright © 2013, AJ Computing.&lt;/p&gt;
&lt;p&gt;Permission is granted to copy and/or modify the text and pictures of this article for any purpose, provided that a link to this page is given.&lt;/p&gt;</description><pubDate>Thu, 29 Mar 2012 14:28:08 +0000</pubDate></item><item><title>About our HTML5 Network SouthEast Clock</title><link>https://aj-computing.co.uk/articles/html5-network-southeast-clock/</link><description>&lt;p 0="" 1em="" 700="" bold="" font-size:="" font-weight:="" inter="" larger="" margin-bottom:="" margin:=""&gt;&lt;a href="https://aj-computing.co.uk/misc/clock/"&gt;Click here to go to the Network SouthEast Clock!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The HTML Network SouthEast Clock is intended to be a reasonably-faithful rendition of the iconic mechanical-digital railway clocks used in the South East region of British Rail, which have almost entirely disappeared from the network since privatisation.&lt;/p&gt;
&lt;p&gt;&lt;div class="wys-Intrinsic"&gt;&lt;a allowfullscreen="" frameborder="0" href="https://www.youtube-nocookie.com/embed/pSaxIoHXNjY?rel=0" loading="lazy"&gt;[Embedded media]&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;If you're too young to have ever seen one of these in action, &lt;/em&gt;&lt;em&gt;&lt;em&gt;or you come from the wrong part of the country or world, &lt;/em&gt;here's a video!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;These are fondly remembered because they were &lt;em&gt;huge&lt;/em&gt;; 1.5 metres wide and visible from enormous distances. If you have £750, &lt;del&gt;you can actually buy one over here&lt;/del&gt; [link dead as of 2021]. Failing that, please &lt;a href="https://aj-computing.co.uk/misc/clock/"&gt;enjoy our Javascript re-creation&lt;/a&gt; for free!&lt;/p&gt;
&lt;h2&gt;Faithfulness&lt;/h2&gt;
&lt;p&gt;We've tried to keep this relatively faithful to the size, dimensions, and colours of the Network SouthEast clocks. True historical accuracy is made more difficult (and sometimes undesirable) by a couple of factors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We've been working from photographs as references; schematics were not available in the early hours of the morning when we first started work on this. :)&lt;/li&gt;
&lt;li&gt;There was no &lt;em&gt;single&lt;/em&gt; Network SouthEast clock. There are many variants; we've just picked elements we like from the variants.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Implementation&lt;/h2&gt;
&lt;p&gt;This uses nothing but Javascript, CSS, plus one very small embedded SVG image. The embedded image gives the NSE colour stripes at the bottom of the clock; it was just the easiest way to do it.&lt;/p&gt;
&lt;p&gt;Audio is compressed in Ogg Theora and MP3 for browsers with native HTML5 &amp;lt;audio&amp;gt; support.&lt;/p&gt;&lt;h2&gt;Bugs&lt;/h2&gt;
&lt;p&gt;The iOS (iPhone, iPad) browser won't allow sounds to play except in response to (further down the call stack than) a user-generated event. This stops audio from playing uninvited, which is good, but it also means you cannot have a sound play every second, as we do here. So the clicking sound is disabled on iOS devices.&lt;/p&gt;
&lt;h2&gt;Credits&lt;/h2&gt;
&lt;p&gt;The clicking sound was recorded by John Piper from a &lt;a href="https://www.youtube.com/watch?v=f6AsGDHLJp0"&gt;real Network SouthEast clock&lt;/a&gt;, rescued from London Bridge railway station by the &lt;a href="http://www.networksoutheast.net/"&gt;Network SouthEast Railway Society&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The ambient sound is a combination of &lt;a href="http://www.freesound.org/people/Noise%20Cuisine/sounds/47236/" rel="noopener" target="_blank"&gt;this&lt;/a&gt; (which was recorded, appropriately, at Liverpool Street Station) and &lt;a href="http://www.freesound.org/people/Bram/sounds/11701/"&gt;this&lt;/a&gt; (which was not).&lt;/p&gt;
&lt;p&gt;The train horn sound is &lt;a href="http://www.freesound.org/people/acclivity/sounds/18686/"&gt;this&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Copyright&lt;/h2&gt;
&lt;p&gt;Copyright © 2012 AJ Computing and others.&lt;/p&gt;
&lt;p&gt;Permission is granted to copy and/or modify this code for any purpose, provided a link is given back to this page where possible.&lt;/p&gt;
&lt;h2&gt;Comments or questions&lt;/h2&gt;
&lt;p&gt;Do &lt;a href="mailto:info@aj-computing.co.uk"&gt;email us&lt;/a&gt;; we'd love to hear your comments and questions.&lt;/p&gt;
&lt;h2&gt;Plug&lt;/h2&gt;
&lt;p&gt;We do a lot of &lt;a href="https://aj-computing.co.uk/services/"&gt;other things&lt;/a&gt;, most of them more serious than this, such as &lt;a href="https://aj-computing.co.uk/services/web-design/"&gt;web development&lt;/a&gt; and &lt;a href="https://aj-computing.co.uk/services/computer-diagnostics-repairs/"&gt;computer hardware diagnostics &amp;amp; repairs&lt;/a&gt;. Do contact us for more information.&lt;/p&gt;</description><pubDate>Sun, 22 Jan 2012 21:20:22 +0000</pubDate></item></channel></rss>