Adventures & experiences in contemporary technology
TechnologyTales.com (“TechnologyTales.com“) operates TechnologyTales.com and may operate other websites. It is TechnologyTales.com’s policy to respect your privacy regarding any information we may collect while operating our websites.
Like most website operators, TechnologyTales.com collects non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, language preference, referring site, and the date and time of each visitor request. TechnologyTales.com’s purpose in collecting non-personally identifying information is to better understand how TechnologyTales.com’s visitors use its website. From time to time, TechnologyTales.com may release non-personally-identifying information in the aggregate, e.g., by publishing a report on trends in the usage of its website.
TechnologyTales.com also collects potentially personally-identifying information like Internet Protocol (IP) addresses for logged in users and for users leaving comments on TechnologyTales.com blogs/sites. TechnologyTales.com only discloses logged in user and commenter IP addresses under the same circumstances that it uses and discloses personally-identifying information as described below, except that commenter IP addresses and email addresses are visible and disclosed to the administrators of the blog/site where the comment was left.
Certain visitors to TechnologyTales.com’s websites choose to interact with TechnologyTales.com in ways that require TechnologyTales.com to gather personally-identifying information. The amount and type of information that TechnologyTales.com gathers depends on the nature of the interaction. For example, we ask visitors who sign up at TechnologyTales.com to provide a username and email address. Those who engage in transactions with TechnologyTales.com are asked to provide additional information, including as necessary the personal and financial information required to process those transactions. In each case, TechnologyTales.com collects such information only insofar as is necessary or appropriate to fulfill the purpose of the visitor’s interaction with TechnologyTales.com. TechnologyTales.com does not disclose personally-identifying information other than as described below. And visitors can always refuse to supply personally-identifying information, with the caveat that it may prevent them from engaging in certain website-related activities.
TechnologyTales.com may collect statistics about the behavior of visitors to its websites. TechnologyTales.com may display this information publicly or provide it to others. However, TechnologyTales.com does not disclose personally-identifying information other than as described below.
TechnologyTales.com discloses potentially personally-identifying and personally-identifying information only to those of its employees, contractors and affiliated organizations that (i) need to know that information in order to process it on TechnologyTales.com’s behalf or to provide services available at TechnologyTales.com’s websites, and (ii) that have agreed not to disclose it to others. Some of those employees, contractors and affiliated organizations may be located outside of your home country; by using TechnologyTales.com’s websites, you consent to the transfer of such information to them. TechnologyTales.com will not rent or sell potentially personally-identifying and personally-identifying information to anyone. Other than to its employees, contractors and affiliated organizations, as described above, TechnologyTales.com discloses potentially personally-identifying and personally-identifying information only in response to a subpoena, court order or other governmental request, or when TechnologyTales.com believes in good faith that disclosure is reasonably necessary to protect the property or rights of TechnologyTales.com, third parties or the public at large. If you are a registered user of an TechnologyTales.com website and have supplied your email address, TechnologyTales.com may occasionally send you an email to tell you about new features, solicit your feedback, or just keep you up to date with what’s going on with TechnologyTales.com and our products. If you send us a request (for example via email or via one of our feedback mechanisms), we reserve the right to publish it in order to help us clarify or respond to your request or to help us support other users. TechnologyTales.com takes all measures reasonably necessary to protect against the unauthorized access, use, alteration or destruction of potentially personally-identifying and personally-identifying information.
We collect all information that is sent to us as configured within your web browser including, where available, your IP address, operating system and browser type and may use this information to report aggregate information to our advertisers and any relevant third parties. This information is stored and managed anonymously and independently from your personal details. This information is statistical data about our users’ browsing actions and patterns and does not identify any individual.
Like many other websites, we use cookies on the TechnologyTales.com to obtain information about your general Internet usage. A cookie is a small piece of data that your Internet browser stores on your hard drive and is used when you visit the site to tailor your viewing and provide you with customised information. Only the information that you provide, or your preferences while visiting a website, can be stored in a cookie. For example, TechnologyTales.com cannot determine personal details, such as your email address, unless you choose to submit them.
If TechnologyTales.com, or substantially all of its assets, were acquired, or in the unlikely event that TechnologyTales.com goes out of business or enters bankruptcy, user information would be one of the assets that is transferred or acquired by a third party. You acknowledge that such transfers may occur, and that any acquirer of TechnologyTales.com may continue to use your personal information as set forth in this policy.
Full details of your rights set out in the relevant privacy notice provided to you, but you are entitled by law to ask for a copy of your personal information at any time. You are also entitled to ask us to correct, delete or update your personal information, to send your personal information to you or another organisation and to object to automated decision making. Where you have given us your consent to use your personal information in a particular manner, you also have the right to withdraw this consent at any time. To exercise any of your rights, or if you have any questions relating to your rights, please contact us. You should note that some of your rights may not apply as they have specific requirements and exemptions which apply to them and they may not also apply to personal information recorded and stored by us. However your right to withdraw consent or object to processing for direct marketing are absolute rights.
If you are unhappy with the way we are using your personal information you can complain to the UK Information Commissioner’s Office or your local data protection regulator. More information about your legal rights can be found on the Information Commissioner’s website. However, we are here to help and would encourage you to contact us to resolve your complaint first.
This website contains links to other websites. If you follow a link to any of these websites, please note that they have their own privacy policies and we do not accept any responsibility or liability for these policies.
Although most changes are likely to be minor, TechnologyTales.com may change its Policy from time to time, and in TechnologyTales.com’s sole discretion. TechnologyTales.com encourages visitors to frequently check this page for any changes to its Introduction. If you have a TechnologyTales.com account, you might also receive an alert informing you of these changes. Your continued use of this site after any change in this Policy will constitute your acceptance of such change.
This year has seen some optimisation being applied to my web presences guided by the results of GTMetrix scans. It was then that I realised how slow things were, so server loads were reduced. Anything that slowed response times, such as WordPress plugins, got removed. Usage of Matomo also was curtailed in favour of Google Analytics while HTML, CSS and JS minification followed. What had yet to happen was a search for a faster server. Now, another website has been moved onto a virtual private server (VPS) to see how that would go.
Speed was not the only consideration since security was a factor too. After all, a VPS is more locked away from other users than a folder on a shared server. There also is the added sense of control, so Let’s Encrypt SSL certificates can be added using the Electronic Frontier Foundation’s Certbot. That avoids the expense of using an SSL certificate provided through my shared hosting provider and a successful transition for my travel website may mean that this one undergoes the same move.
For the VPS, I chose Ubuntu 18.04 as its operating system and it came with the LAMP stack already in place. Have offload development websites, the mix of Apache, MySQL and PHP is more familiar to me than anything using Nginx or Python. It also means that .htaccess
files become more useful than they were on my previous Nginx-based platform. Having full access to the operating system by means of SSH helps too and should mean that I have fewer calls on technical support since I can do more for myself. Any extra tinkering should not affect others either, since this type of setup is well known to me and having an offline counterpart means that anything riskier is tried there beforehand.
Naturally, there were niggles to overcome with the move. The first to fix was to make the MySQL instance accept calls from outside the server so that I could migrate data there from elsewhere and I even got my shared hosting setup to start using the new database to see what performance boost it might give. To make all this happen, I first found the location of the relevant my.cnf
configuration file using the following command:
find / -name my.cnf
Once I had the right file, I commented out the following line that it contained and restarted the database service afterwards using another command to stop the appearance of any error 111 messages:
bind-address 127.0.0.1
service mysql restart
After that, things worked as required and I moved onto another matter: uploading the requisite files. That meant installing an FTP server so I chose proftpd since I knew that well from previous tinkering. Once that was in place, file transfer commenced.
When that was done, I could do some testing to see if I had an active web server that loaded the website. Along the way, I also instated some Apache modules like mod-rewrite using the a2enmod
command, restarting Apache each time I enabled another module.
Then, I discovered that Textpattern needed php-7.2-xml installed, so the following command was executed to do this:
apt install php7.2-xml
Then, the following line was uncommented in the correct php.ini configuration file that I found using the same method as that described already for the my.cnf
configuration and that was followed by yet another Apache restart:
extension=php_xmlrpc.dll
Addressing the above issues yielded enough success for me to change the IP address in my Cloudflare dashboard so it pointed at the VPS and not the shared server. The changeover happened seamlessly without having to await DNS updates as once would have been the case. It had the added advantage of making both WordPress and Textpattern work fully.
With everything working to my satisfaction, I then followed the instructions on Certbot to set up my new Let’s Encrypt SSL certificate. Aside from a tweak to a configuration file and another Apache restart, the process was more automated than I had expected so I was ready to embark on some fine-tuning to embed the new security arrangements. That meant updating .htaccess
files and Textpattern has its own, so the following addition was needed there:
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
This complemented what was already in the main .htaccess
file and WordPress allows you to include http(s) in the address it uses, so that was another task completed. The general .htaccess
only needed the following lines to be added:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.assortedexplorations.com/$1 [R,L]
What all these achieve is to redirect insecure connections to secure ones for every visitor to the website. After that, internal hyperlinks without https needed updating along with any forms so that a padlock sign could be shown for all pages.
With the main work completed, it was time to sort out a lingering niggle regarding the appearance of an FTP login page every time a WordPress installation or update was requested. The main solution was to make the web server account the owner of the files and directories, but the following line was added to wp-config.php as part of the fix even if it probably is not necessary:
define('FS_METHOD', 'direct');
There also was the non-operation of WP Cron and that was addressed using WP-CLI and a script from Bjorn Johansen. To make double sure of its effectiveness, the following was added to wp-config.php to turn off the usual WP-Cron behaviour:
define('DISABLE_WP_CRON', true);
Intriguingly, WP-CLI offers a long list of possible commands that are worth investigating. A few have been examined but more await attention.
Before those, I still need to get my new VPS to send emails. So far, sendmail has been installed, the hostname changed from localhost and the server restarted. More investigations are needed but what I have not is faster than what was there before, so the effort has been rewarded already.
Though my main home PC runs Linux Mint, I do like to have the facility to use Windows software from time to time and virtualisation has allowed me to continue doing that. For a good while, it was a Windows 7 guest within a VirtualBox virtual machine and, before that, one running Windows XP fulfilled the same role. However, it did feel as if things were running slower in VirtualBox than once might have been the case and I jumped ship to VMware Player. It may be proprietary and closed source but it is free of charge and has been doing what was needed. A subsequent recent upgrade of video driver on the host operating system allowed the enabling of a better graphical environment in the Windows 7 guest.
Instability
However, there were issues with stability and I lost the ability to flit from the VM window to the Linux desktop at will with the system freezing on me and needing a reboot. Working in Windows 7 using full screen mode avoided this but it did feel as I was constrained to working in a Windows machine whenever I did so. The graphics performance was imperfect too with screening refreshing being very blocky with some momentary scrambling whenever I opened the Start menu. Others would not have been as patient with that as I was though there was the matter of an expensive Photoshop licence to be guarded too.
In hindsight, a bit of pruning could have helped. An example would have been driver housekeeping in the form of removing VirtualBox Guest Additions because they could have been conflicting with their VMware counterparts. For some reason, those thoughts entered my mind and I was pondering another more expensive option instead.
Considering NAS & Windows/Linux Networking
That would have taken the form of setting aside a PC for running Windows 7 and having a NAS for sharing files between it and my Linux system. In fact, I did get to exploring what a four bay QNAP TS-412 would offer me and realised that you cannot put normal desktop hard drives into devices like that. For a while, it looked as if it would be a matter of getting drives bundled with the device or acquiring enterprise grade disks so as to main the required continuity of operation. The final edition of PC Plus highlighted another one though: the Western Digital Red range. These are part way been desktop and enterprise classifications and have been developed in association with NAS makers too.
Looking at the NAS option certainly became an education but it has exited any sort of wish list that I have. After all, there is the cost of such a setup and it’s enough to get me asking if I really need such a thing. The purchase of a Netgear FS 605 ethernet switch would have helped incorporate it but there has been no trouble sorting alternative uses for it since it bumps up the number of networked devices that I can have, never a bad capability to have. As I was to find, there was a less expensive alternative that became sufficient for my needs.
In-situ Windows 8 Upgrade
Microsoft have been making available evaluation copies of Windows 8 Enterprise that last for 90 days before expiring. One is in my hands has been running faultlessly in a VMware virtual machine for the past few weeks. That made me wonder if upgrading from Windows 7 to Windows 8 help with my main Windows VM problems. Being a curious risk-taking type I decided to answer the question for myself using the £24.99 Windows Pro upgrade offer that Microsoft have been running for those not needing a disk up front; they need to pay £49.99 but you can get one afterwards for an extra £12.99 and £3.49 postage if you wish, a slightly cheaper option. There also was a time cost in that it occupied a lot of a weekend on me but it seems to have done what was needed so it was worth the outlay.
Given the element of risk, Photoshop was deactivated to be on the safe side. That wasn’t the only pre-upgrade action that was needed because the Windows 8 Pro 32-bit upgrade needs at least 16 GB before it will proceed. Of course, there was the matter of downloading the installer from the Microsoft website too. This took care of system evaluation and paying for the software as well as the actual upgrade itself.
The installation took a few hours with virtual machine reboots along the way. Naturally, the licence key was needed too as well as the selection of a few options though there weren’t many of these. Being able to carry over settings from the pre-exisiting Windows 7 instance certainly helped with this and with making the process smoother too. No software needed reinstatement and it doesn’t feel as if the system has forgotten very much at all, a successful outcome.
Post-upgrade Actions
Just because I had a working Windows 8 instance didn’t mean that there wasn’t more to be done. In fact, it was the post-upgrade sorting that took up more time than the actual installation. For one thing, my digital mapping software wouldn’t work without .Net Framework 3.5 and turning on the operating system feature form the Control Panel fell over at the point where it was being downloaded from the Microsoft Update website. Even removing Avira Internet Security after updating it to the latest version had no effect and it was a finding during the Windows 8 system evaluation process. The solution was to mount the Windows 8 Enterprise ISO installation image that I had and issue the following command from a command prompt running with administrative privileges (it’s all one line though that’s wrapped here):
dism.exe /online /enable-feature /featurename:NetFX3 /Source:d:\sources\sxs /LimitAccess
For sake of assurance regarding compatibility, Avira has been replaced with Trend Micro Titanium Internet Security. The Avira licence won’t go to waste since I have another another home in mind for it. Removing Avira without crashing Windows 8 proved impossible though and necessitating booting Windows 8 into Safe Mode. Because of much faster startup times, that cannot be achieved with a key press at the appropriate moment because the time window is too short now. One solution is to set the Safe Boot tickbox in the Boot tab of Msconfig (or System Configuration as it otherwise calls itself) before the machine is restarted. There may be others but this was the one that I used. With Avira removed, clearing the same setting and rebooting restored normal service.
Dealing with a Dual Personality
One observer has stated that Windows 8 gives you two operating systems for the price of one: the one in the Start screen and the one on the desktop. Having got to wanting to work with one at a time, I decided to make some adjustments. Adding Classic Shell got me back a Start menu and I left out the Windows Explorer (or File Explorer as it is known in Windows 8) and Internet Explorer components. Though Classic Shell will present a desktop like what we have been getting from Windows 7 by sweeping the Start screen out of the way for you, I found that this wasn’t quick enough for my liking so I added Skip Metro Suite to do this and it seemed to do that a little faster. The tool does more than sweeping the Start screen out of the way but I have switched off these functions. Classic Shell also has been configured so the Start screen can be accessed with a press of Windows key but you can have it as you wish. It has updated too so that boot into the desktop should be faster now. As for me, I’ll leave things as they are for now. Even the possibility of using Windows’ own functionality to go directly to the traditional desktop will be left untested while things are left to settle. Tinkering can need a break.
Outcome
After all that effort, I now have a seemingly more stable Windows virtual machine running Windows 8. Flitting between it and other Linux desktop applications has not caused a system freeze so far and that was the result that I wanted. There now is no need to consider having separate Windows and Linux PC’s with a NAS for sharing files between them so that option is well off my wish-list. There are better uses for my money.
Not everyone has had my experience though because I saw a report that one user failed to update a physical machine to Windows 8 and installed Ubuntu instead; they were a Linux user anyway even if they used Fedora more than Ubuntu. It is possible to roll back from Windows 8 to the previous version of Windows because there is a windows.old directory left primarily for that purpose. However, that may not help you if you have a partially operating system that doesn’t allow you to do just that. In time, I’ll remove it using the Disk Clean-up utility by asking it to remove previous Windows installations or running File Explorer with administrator privileges. Somehow, the former approach sounds the safer.
What About Installing Afresh?
While there was a time when I went solely for upgrades when moving from one version of Windows to the next, the annoyance of the process got to me. If I had known that installing the upgrade twice onto a computer with a clean disk would suffice, it would have saved me a lot. Staring from Windows 95 (from the days when you got a full installation disk with a PC and not the rescue media that we get now) and moving through a sequence of successors not only was time consuming but it also revealed the limitations of the first in the series when it came to supporting more recent hardware. It was enough to have me buying the full retailed editions of Windows XP and Windows 7 when they were released; the latter got downloaded directly from Microsoft. These were retail versions that you could move from one computer to another but Windows 8 will not be like that. In fact, you will need to get its System Builder edition from a reseller and that can only be used on one machine. It is the merging of the former retail and OEM product offerings.
What I have been reading is that the market for full retail versions of Windows was not a big one anyway. However, it was how I used to work as you have read above and it does give you a fresh system. Most probably get Windows with a new PC and don’t go building them from scratch like I have done for more than a decade. Maybe the System Builder version would apply to me anyway and it appears to be intended for virtual machine use as well as on physical ones. More care will be needed with those licences by the looks of things and I wonder what needs not to be changed so as not to invalidate a licence. After all, making a mistake might cost between £75 and £120 depending on the edition.
Final Thoughts
So far Windows 8 is treating me well and I have managed to bend to my will too, always a good thing to be able to say. In time, it might be that a System Builder copy could need buying yet but I’ll leave well alone for now. Though I needed new security software, the upgrade still saved me money over a hardware solution to my home computing needs and I have a backup disk on order from Microsoft too. That I have had to spend some time settling things was a means of learning new things for me but others may not be so patient and, with Windows 7 working well enough for most, you have to ask if it’s only curious folk like me who are taking the plunge. Still, the dramatic change has re-energised the PC world in an era when smartphones and tablets have made so much of the running recently. That too is no bad thing because an unchanging technology is one that dies and there are times when big changes are needed, as much as they upset some folk. For Microsoft, this looks like one of them and it’ll be interesting to see where things go from here for PC technology.
The final release of the next version of WordPress is due out on Monday and, because there are sure to be security fixes included, I have been giving the release candidate a go on my offline blogs. 2.3 is another major release so I have been doing some preparation. In fact, WordPress have a blog entry dedicated to such things for this release. Thankfully, I think that my hillwalking blog should emerge unscathed by this upgrade; I still need to have a go with an offline version of this blog.
The special feature in the new release is tagging and it is good to see that it has had no impact on legacy set ups. I had the same reservations about 2.2 with its inclusion of sidebar widgets but the backward compatibility was enough to see me through without any hiccups. Tagging is not something that I see myself using with categories fulfilling much the same type of role; I am unconvinced by the idea of tag clouds, the type of thing that it powers. However, there are some useful extras here and the filtering of posts by edit status is one of these. Having pending review as a publishing status sounds like a tweak that I might use to allow myself a cooling off period before I publish a post for all of the world to see. Revisiting something with a fresher pair of eyes might stop typographical howlers from emerging into public view…
Update: Another 2.3 feature discovered! I have picked up on multiple category widgets by virtue of the fact that category styling disappeared with the upgrade of the offline version of this blog to 2.3 RC1. Adding "-1" to the relevant CSS class definitions soon sorted things out. It does support the idea of testing before implementation even if no other unexpected changes were spotted. I still am not sure why anyone would have multiple category listings, though.
This may seem esoteric for some but I like to be in control of the technology that I use. So, when Automattic included post revision retention to WordPress 2.6, I had my reservations about how much it would clutter my database with things that I didn’t need. Thankfully, there is a way to control the feature, but you won’t find the option in the administration screens (they seem to view this as an advanced setting and so don’t want to be adding clutter to the interface for the sake of something that only a few might ever use); you have to edit wp-config.php yourself to add it. Here are the lines that can be added and the effects that they have:
Code: define('WP_POST_REVISIONS','0');
Effect: turns off post revision retention
Code: define('WP_POST_REVISIONS','-1');
Effect: turns it on (the default setting)
Code: define('WP_POST_REVISIONS','2');
Effect: only retains two previous versions of a post (the number can be whatever you want so long as it’s an integer with a value more than zero).
Update (2008-07-23):
There is now a plugin from Dion Hulse that does the above for you and more.
Having been a WordPress for over four years, I have collected a number of useful places on the web that are useful to those who are using this pervasive publishing platform and those who develop for and on the thing. Of course, there are more out there than those that I have collected here, but a list has to start somewhere and I will continue to add to it as I find more.
Documentation and Tutorials
The first stop to check out for answers to any WordPress questions. Please bear in mind that it is a wiki and that makes it a work in progress. While that reality may mean that information could be incomplete (you could always offer to help…), it still remains very useful and it’s my first port of call when I need to know what a specific WordPress function does.
The contributions that you find here may be occasional yet you could find them useful.
An aggregation of news and usage information created by the people behind WordPress.
This topical website covers a whole load of news topics pertaining to WordPress and there have been a good few lessons that I have learned here.
It seems that lawmakers are getting their oar in when it comes to website operation, so this operation does no harm in a world where privacy policies and cookie disclosure appears to be the start of some kind of regulation. Certainly, a bit of website auditing done before Christmas 2014 left me with that impression.
As the name suggests, this is a beginner’s guide to WordPress. We all have to start somewhere and it looks as if this could grow with you along the way too.
There are times when I just need to share some links outside the fleeting environment of Twitter, and this is where they might appear. The practice is very much in the spirit of the original weblog idea when it was about link sharing and not about writing down one’s thoughts as it subsequently became before sharing of photos, videos and other multimedia content became a mainstay of (legal) sharing for some people.
17:34 January 21, 2024
17:32 January 21, 2024
17:33 January 16, 2024
17:59 January 15, 2024
17:58 January 15, 2024
17:58 January 15, 2024
13:23 January 15, 2024
18:44 January 14, 2024
22:33 January 8, 2024
22:20 January 6, 2024
13:32 January 5, 2024
21:47 December 23, 2023
How to stop websites from sending Bitdefender Safepay notifications
18:19 December 18, 2023
18:18 December 18, 2023
16:33 December 18, 2023
22:26 November 19, 2023
19:02 November 10, 2023
19:14 November 9, 2023
23:04 October 20, 2023
20:26 July 31, 2023
So you want to build your own open source ChatGPT-style chatbot…
16:42 July 31, 2023
16:37 July 31, 2023
16:33 July 31, 2023
19:52 July 4, 2023
09:32 May 12, 2023
16:30 March 17, 2023
13:42 March 15, 2023
19:35 March 14, 2023
13:15 March 10, 2023
Set Up SSH Two-Factor Authentication (2FA) on Debian 11 Server
13:51 March 9, 2023
10:25 March 6, 2023
WordPress 4.6 Admin Font Change Fix – How To Restore Open Sans Font?
10:24 March 6, 2023
20:14 February 24, 2023
20:11 February 24, 2023
14:35 February 24, 2023
01:31 February 20, 2023
01:31 February 20, 2023
Why is the Filter Gallery Greyed Out in Photoshop and How to Fix it
10:18 February 7, 2023
11:00 January 27, 2023
How to take a full-page screenshot with a hidden Chrome shortcut
14:53 January 23, 2023
15:52 January 19, 2023
10:15 January 12, 2023
10:12 January 12, 2023
18:08 January 10, 2023
18:08 January 10, 2023
18:07 January 10, 2023
18:06 January 10, 2023
17:12 January 10, 2023
Proton Mail Bridge Microsoft Outlook for Windows 2019 setup guide
08:07 January 4, 2023
22:39 December 4, 2022
10:50 December 2, 2022
21:48 November 22, 2022
10:00 November 21, 2022
09:59 November 21, 2022
14:29 November 18, 2022
14:08 November 14, 2022
15:17 November 1, 2022
19:51 October 29, 2022
How to Upload or Download Files/Directories Using sFTP in Linux
19:50 October 29, 2022
19:49 October 29, 2022
17:00 October 27, 2022
[FIX] Memory integrity due to Incompatible drivers cannot be enabled in Windows 11
19:20 October 25, 2022
How can I redirect and rewrite my URLs with a .htaccess file?
13:49 October 25, 2022
How to change the maximum number of IMAP connections in Mozilla Thunderbird
20:49 October 23, 2022
18:06 October 23, 2022
13:46 October 23, 2022
11:49 October 22, 2022
11:49 October 22, 2022
Secure Tutanota desktop clients for Linux, Windows and Mac OS
11:48 October 22, 2022
11:47 October 22, 2022
11:47 October 22, 2022
How to Access the Hidden Symbols on Your Android Phone’s Keyboard
08:43 October 22, 2022
10:31 October 13, 2022
Enable or Disable Automatic Sign-in at Startup in Windows 11
10:25 October 13, 2022
13:25 October 12, 2022
12:03 October 12, 2022
11:52 October 12, 2022
4 Ways to Embed User Privacy & Data Security in Your Business
11:48 October 12, 2022
11:47 October 12, 2022
11:47 October 12, 2022
11:47 October 12, 2022
11:46 October 12, 2022
11:45 October 12, 2022
11:45 October 12, 2022
11:44 October 12, 2022
11:44 October 12, 2022
11:43 October 12, 2022
11:42 October 12, 2022
11:40 October 12, 2022
11:40 October 12, 2022
11:39 October 12, 2022
11:38 October 12, 2022
11:37 October 12, 2022
11:37 October 12, 2022
11:36 October 12, 2022
11:33 October 12, 2022
09:46 October 12, 2022
09:30 October 12, 2022
Introducing Improvements to the Opt-Out Form Feature in Matomo
14:14 October 11, 2022
17:51 October 3, 2022
12:06 September 29, 2022
15:01 September 28, 2022
10:58 September 15, 2022
How to automatically decline meeting invites from specific people in Outlook
10:46 August 25, 2022
16:06 August 20, 2022
15:34 July 29, 2022
15:32 July 29, 2022
15:32 July 29, 2022
12:02 July 28, 2022
12:01 July 28, 2022
10:57 July 27, 2022
10:57 July 27, 2022
10:56 July 27, 2022
10:55 July 27, 2022
10:55 July 27, 2022
18:39 July 26, 2022
18:38 July 26, 2022
18:37 July 26, 2022
18:36 July 26, 2022
18:35 July 26, 2022
18:35 July 26, 2022
18:34 July 26, 2022
18:34 July 26, 2022
09:16 July 25, 2022
19:03 July 22, 2022
What is a Cloud-Native Application Protection Platform (CNAPP)?
17:43 July 21, 2022
17:40 July 21, 2022
14:20 July 21, 2022
17:47 July 20, 2022
How to set rsync speed limit from eating all bandwidth with ‐‐bwlimit option
17:47 July 20, 2022
09:20 July 14, 2022
09:03 July 11, 2022
09:05 July 1, 2022
09:00 July 1, 2022
14:05 June 29, 2022
14:05 June 29, 2022
11:05 June 29, 2022
16:43 June 26, 2022
13:26 June 26, 2022
How to Reduce Eric Jones Spam (and all the other Contact Form Spam)
12:43 June 26, 2022
12:42 June 26, 2022
12:41 June 26, 2022
12:40 June 26, 2022
19:36 June 25, 2022
17:13 June 24, 2022
15:32 June 20, 2022
14:13 June 14, 2022
Handling False Positives with the OWASP ModSecurity Core Rule Set
11:10 June 14, 2022
How To Use a Multimeter to Measure Voltage, Current and More
13:11 May 26, 2022
13:10 May 26, 2022
15:36 May 9, 2022
14:53 April 27, 2022
19:28 March 27, 2022
19:27 March 27, 2022
20:25 March 17, 2022
15:22 March 16, 2022
09:10 February 26, 2022
Show Amount Of Posts, Pages, Categories, Tags, Comments For WordPress Themes
09:09 February 26, 2022
How to Develop a WordPress Theme from Scratch – Beginners Guide
09:08 February 26, 2022
Count the number of posts in the custom post type in WordPress
09:41 February 23, 2022
09:41 February 23, 2022
20:59 February 22, 2022
18:54 February 22, 2022
10:19 February 22, 2022
21:24 February 21, 2022
21:24 February 21, 2022
18:52 February 18, 2022
18:51 February 18, 2022
18:51 February 18, 2022
18:50 February 18, 2022
How To Configure Apache HTTP with MPM Event and PHP-FPM on Ubuntu 18.04
16:45 February 18, 2022
Protecting WordPress with Open Source Web Application Firewall ModSecurity
14:35 February 16, 2022
14:35 February 16, 2022
09:32 February 16, 2022
09:26 February 15, 2022
18:56 February 14, 2022
How To Configure Nginx to Use Custom Error Pages on Ubuntu 14.04
09:24 February 14, 2022
19:42 February 13, 2022
19:42 February 13, 2022
19:41 February 13, 2022
13:02 February 13, 2022
08:55 February 13, 2022
08:54 February 13, 2022
08:53 February 13, 2022
How To Install Linux, Nginx, MySQL, PHP (LEMP Stack) on Ubuntu 18.04
09:03 February 11, 2022
09:03 February 11, 2022
09:02 February 9, 2022
20:35 February 8, 2022
20:34 February 8, 2022
20:33 February 8, 2022
10:02 February 8, 2022
09:59 February 8, 2022
09:57 February 8, 2022
09:57 February 8, 2022
09:56 February 8, 2022
09:55 February 8, 2022
09:54 February 8, 2022
09:54 February 8, 2022
09:53 February 8, 2022
Talkyard with Nginx as a reverse proxy and Letsencrypt for HTTPS
09:53 February 8, 2022
09:52 February 8, 2022
To Fix The Docker and UFW Security Flaw Without Disabling Iptables
09:51 February 8, 2022
09:47 February 8, 2022
09:47 February 8, 2022
09:46 February 8, 2022
09:46 February 8, 2022
Comments on a static website? That’s possible with utteranc.es!
09:39 February 8, 2022
09:37 February 8, 2022
09:35 February 8, 2022
09:29 February 8, 2022
09:29 February 8, 2022
15:35 February 5, 2022
15:34 February 5, 2022
Tutorial: How to Add Self-hosted Comments to Your Static Site
15:33 February 5, 2022
15:32 February 5, 2022
15:31 February 5, 2022
10:30 February 5, 2022
16:16 February 4, 2022
16:12 February 4, 2022
16:01 February 4, 2022
16:00 February 4, 2022
15:59 February 4, 2022
Build a Search Bar for Your Hugo Blog With a JSON Index and Some Vanilla JS
15:59 February 4, 2022
15:58 February 4, 2022
15:56 February 4, 2022
15:56 February 4, 2022
15:55 February 4, 2022
15:54 February 4, 2022
21:54 January 29, 2022
21:54 January 29, 2022
21:20 January 29, 2022
How the Bootstrap 4 Grid Works
This also helps with understanding Bootstrap 5 as well. That was something that I discovered while porting a website from WordPress to Hugo.
21:14 January 29, 2022
21:13 January 29, 2022
21:12 January 29, 2022
21:04 January 29, 2022
How to Open Link in New Tab with Hugo’s new Goldmark Markdown Renderer
21:04 January 29, 2022
21:03 January 29, 2022
21:02 January 29, 2022
21:02 January 29, 2022
21:01 January 29, 2022
21:00 January 29, 2022
Overview of the best commenting systems for your static website
11:55 January 27, 2022
11:54 January 27, 2022
11:52 January 27, 2022
11:50 January 27, 2022
11:49 January 27, 2022
11:49 January 27, 2022
11:48 January 27, 2022
11:48 January 27, 2022
11:47 January 27, 2022
09:00 January 24, 2022
18:16 January 23, 2022
18:16 January 23, 2022
18:15 January 23, 2022
18:14 January 23, 2022
08:36 January 23, 2022
How to upgrade Debian 10 to Debian 11 Bullseye using the CLI
08:32 January 23, 2022
15:51 January 22, 2022
15:17 January 22, 2022
11:13 January 22, 2022
11:12 January 22, 2022
11:12 January 22, 2022
11:11 January 22, 2022
11:11 January 22, 2022
11:06 January 22, 2022
11:05 January 22, 2022
10:48 January 22, 2022
11:07 January 20, 2022
13:00 January 19, 2022
15:14 January 18, 2022
13:55 January 16, 2022
18:22 January 13, 2022
13:17 January 8, 2022
18:12 January 2, 2022
18:12 January 2, 2022
18:11 January 2, 2022
17:59 December 24, 2021
17:04 December 10, 2021
16:56 December 10, 2021
10:07 December 9, 2021
10:05 December 9, 2021
13:47 December 7, 2021
11:36 December 2, 2021
15:11 November 30, 2021
14:44 November 30, 2021
18:55 November 29, 2021
[Postfix] – warning: mail_queue_enter: create file maildrop Permission denied
14:52 November 17, 2021
14:42 November 17, 2021
08:16 November 17, 2021
09:05 November 13, 2021
13:18 November 9, 2021
13:18 November 9, 2021
09:01 November 5, 2021
How to Enable clipboard and folder sharing in Qemu/KVM on Windows Guest
08:59 November 5, 2021
08:50 November 5, 2021
“Error 1067: The process terminated unexpectedly” on Windows 10, 7 & 8
16:38 November 4, 2021
Error: No CurrentVersion entry in Software/JavaSoft registry
10:00 November 4, 2021
20:40 November 2, 2021
20:38 November 2, 2021
20:37 November 2, 2021
20:37 November 2, 2021
13:43 November 2, 2021
How to Change the Default Browser in Windows 11, Even for Widgets and Search
How to Move the Taskbar to the Top in Windows 11
How to Replace the Start Menu in Windows 11
13:57 October 30, 2021
20:09 October 26, 2021
16:15 October 26, 2021
16:15 October 26, 2021
16:14 October 26, 2021
17:09 October 24, 2021
17:09 October 24, 2021
17:08 October 24, 2021
How To Convert VirtualBox Disk Image (VDI) and img to Qcow2 format
17:08 October 24, 2021
17:07 October 24, 2021
17:06 October 24, 2021
21:07 October 22, 2021
How to Enable HTTP/2 in Apache Web Server on Ubuntu and Debian
10:29 October 21, 2021
10:29 October 21, 2021
15:46 October 19, 2021
How to Run Windows 11 on a USB Drive (and Take it With You)
How to Bypass Windows 11’s TPM Requirement and Upgrade from Windows 10
13:12 October 12, 2021
15:31 October 8, 2021
15:30 October 8, 2021
15:29 October 8, 2021
Enable Virtualization-based Protection of Code Integrity in Microsoft Windows
15:28 October 8, 2021
18:25 October 5, 2021
17:05 October 5, 2021
11:47 October 2, 2021
11:46 October 2, 2021
19:21 October 1, 2021
13:26 September 29, 2021
14:48 September 28, 2021
15:14 September 25, 2021
Whitelist an IP using WAF -- ModSecurity Whitelisting IP addresses
10:59 September 25, 2021
14:56 September 24, 2021
14:56 September 24, 2021
09:03 September 24, 2021
09:03 September 24, 2021
09:02 September 24, 2021
09:02 September 24, 2021
13:07 September 23, 2021
13:06 September 23, 2021
13:06 September 23, 2021
09:10 September 23, 2021
09:09 September 23, 2021
17:09 September 22, 2021
17:08 September 22, 2021
17:07 September 22, 2021
17:07 September 22, 2021
09:12 September 22, 2021
16:22 September 21, 2021
08:35 September 20, 2021
Integrating AbuseIPDB with Fail2Ban -- Automatically Report Bad IPs
21:10 September 19, 2021
21:09 September 19, 2021
13:24 September 17, 2021
12:19 September 4, 2021
09:46 September 4, 2021
16:58 August 31, 2021
How to backup and load Cron Jobs from a File in Linux and UNIX? Crontab Command Example
16:58 August 31, 2021
14:19 August 27, 2021
14:19 August 27, 2021
08:46 August 18, 2021
18:26 August 17, 2021
18:26 August 17, 2021
18:25 August 17, 2021
Webmin: One big drawback to using this data centre management tool
10:32 August 13, 2021
18:09 August 12, 2021
18:05 August 12, 2021
How to prevent the “are you sure you want to leave this page?” prompt on Facebook?
18:05 August 12, 2021
Extending a Logical Volume on a Linux Virtual, Cloud or CloudNX server
11:41 August 11, 2021
11:41 August 11, 2021
11:40 August 11, 2021
18:00 July 27, 2021
17:59 July 27, 2021
17:59 July 27, 2021
19:07 July 24, 2021
11:03 July 23, 2021
Change user password in MySQL 5.7 with “plugin: auth_socket”
11:03 July 23, 2021
How to enable AMD Virtualization on the Aorus X570 Motherboard
09:30 July 15, 2021
08:04 July 15, 2021
18:09 July 13, 2021
08:16 July 13, 2021
13:58 July 11, 2021
08:36 July 8, 2021
08:35 July 8, 2021
15:40 July 6, 2021
09:28 July 3, 2021
09:06 July 2, 2021
10:13 July 1, 2021
How to install Windows 11 Insider preview on unsupported devices
14:55 June 28, 2021
13:30 June 24, 2021
23:47 June 5, 2021
16:38 June 3, 2021
13:27 June 3, 2021
10:02 June 1, 2021
11:00 May 28, 2021
10:59 May 28, 2021
10:58 May 28, 2021
10:58 May 28, 2021
10:57 May 28, 2021
dbxcli: A command line tool for Dropbox users and team admins
09:00 May 27, 2021
08:58 May 27, 2021
08:57 May 27, 2021
How to stop loading Microsoft Edge processes at startup on Windows 10
13:50 May 16, 2021
13:49 May 16, 2021
13:46 May 16, 2021
13:42 May 16, 2021
09:34 May 13, 2021
09:33 May 13, 2021
10:47 May 12, 2021
17:01 May 11, 2021
16:55 April 22, 2021
16:54 April 22, 2021
16:48 April 22, 2021
16:48 April 22, 2021
16:47 April 22, 2021
16:46 April 22, 2021
14:19 April 22, 2021
10:02 April 22, 2021
10:00 April 22, 2021
10:00 April 22, 2021
11:37 April 16, 2021
11:37 April 16, 2021
11:36 April 16, 2021
11:33 April 16, 2021
11:32 April 16, 2021
11:30 April 16, 2021
11:30 April 16, 2021
11:29 April 16, 2021
11:29 April 16, 2021
11:16 April 16, 2021
12:52 April 15, 2021
12:59 April 13, 2021
13:08 April 8, 2021
09:42 March 17, 2021
09:09 March 16, 2021
09:08 March 16, 2021
14:06 March 9, 2021
18:38 March 2, 2021
13:48 January 27, 2021
13:46 January 27, 2021
13:39 January 27, 2021
13:38 January 27, 2021
13:37 January 27, 2021
13:35 January 27, 2021
13:34 January 27, 2021
Connecting to Microsoft Exchange Calendar from Mozilla Thunderbird
13:03 January 27, 2021
11:10 January 10, 2021
11:09 January 10, 2021
11:08 January 10, 2021
11:07 January 10, 2021
11:07 January 10, 2021
09:26 January 7, 2021
09:41 December 17, 2020
Using mod_security2 with WordPress
WordPress – Mod_security problems with posts and comments fixed
17:59 December 14, 2020
17:46 December 12, 2020
20:54 December 6, 2020
20:53 December 6, 2020
14:51 November 23, 2020
How to force your computer to download the Windows 10 May 2020 Update
14:44 November 11, 2020
16:00 November 10, 2020
09:18 November 9, 2020
09:27 October 19, 2020
14:16 October 18, 2020
09:31 October 18, 2020
13:36 October 10, 2020
16:12 October 7, 2020
14:59 October 7, 2020
10:55 October 6, 2020
15:15 October 1, 2020
14:03 September 29, 2020
14:02 September 29, 2020
12:36 September 18, 2020
12:35 September 18, 2020
12:34 September 18, 2020
12:33 September 18, 2020
Everything you need to know about DNS -- Plus a list of free public DNS servers
12:27 September 18, 2020
Securing DNS across all of my devices with Pi-Hole + DNS-over-HTTPS + 1.1.1.1
10:47 September 18, 2020
16:11 September 17, 2020
17:04 September 11, 2020
Improve Firefox Performance on Linux by Turning WebRender On
16:46 September 9, 2020
How to Embed an External RSS Feed in WordPress Posts via Shortcode
13:43 July 31, 2020
19:03 July 18, 2020
13:43 July 13, 2020
17:51 July 4, 2020
09:33 June 16, 2020
Linux Mint 20 Blocks Snap App Installs, So Here’s the Workaround
09:30 June 16, 2020
08:11 June 10, 2020
09:31 June 4, 2020
13:48 March 8, 2020
17:11 March 2, 2020
14:27 February 29, 2020
17:05 February 26, 2020
14:55 February 23, 2020
14:51 February 23, 2020
10:35 February 20, 2020
Change User’s MySQL Password | Reset MySQL Root Password Guide
12:38 February 19, 2020
09:35 February 17, 2020
09:34 February 17, 2020
09:32 February 17, 2020
13:14 February 16, 2020
13:10 February 16, 2020
20:34 February 15, 2020
14:29 February 14, 2020
14:29 February 14, 2020
09:46 February 14, 2020
09:45 February 14, 2020
How to move docker data directory to another location on Ubuntu
09:45 February 14, 2020
The Complete Guide to “useradd” Command in Linux – 15 Practical Examples
09:43 February 14, 2020
09:42 February 14, 2020
20:30 February 12, 2020
How to Optimize and Compress JPEG or PNG Images in Linux Command Line
17:41 January 29, 2020
20:21 January 28, 2020
18:37 January 17, 2020
12:45 January 17, 2020
12:44 January 17, 2020
12:43 January 17, 2020
12:43 January 17, 2020
12:42 January 17, 2020
12:41 January 17, 2020
21:01 January 16, 2020
20:59 January 16, 2020
At the time of writing, this website uses an older version of TLS so you may see browser messages on visiting it. Hopefully, that will get sorted since it looks out for a security tool website.
20:57 January 16, 2020
12:19 January 15, 2020
12:17 January 15, 2020
The most important steps to take to make an Apache server more secure
12:17 January 15, 2020
How to Implement Security HTTP Headers to Prevent Vulnerabilities?
12:16 January 15, 2020
21:38 December 31, 2019
21:37 December 31, 2019
14:41 December 24, 2019
14:24 December 24, 2019
How To Protect an Apache Server with Fail2Ban on Ubuntu 14.04
This may refer to an older Ubuntu version but the advice contained in the article remains relevant to current ones. In fact, I have used it to harden some VPS systems that I have. Now, I only need to see what impact this action might have.
13:12 December 23, 2019
16:47 December 6, 2019
16:01 November 26, 2019
21:28 November 7, 2019
15:40 November 7, 2019
12:51 August 31, 2019
22:09 July 6, 2019
14:16 June 11, 2019
14:14 June 11, 2019
14:46 June 10, 2019
10:55 June 8, 2019
How to disable Sign-in screen acrylic (blur) background on Windows 10 May 2019 Update
11:47 May 22, 2019
11:39 January 30, 2019
Psensor – A Graphical Hardware Temperature Monitoring Tool for Linux
13:34 January 29, 2019
20:03 December 8, 2018
How to commit changes to a docker image
Five Ways to Slim Your Docker Images
09:59 December 8, 2018
09:58 December 8, 2018
14:04 December 6, 2018
15:53 December 5, 2018
Show the slide number and total number of slides on every PowerPoint slide
21:28 December 4, 2018
19:53 December 4, 2018
18:03 November 26, 2018
Configure Postfix to Send Mail Using Gmail and Google Apps on Debian or Ubuntu
18:02 November 26, 2018
Configure Postfix to Send Mail Using an External SMTP Server
18:01 November 26, 2018
18:01 November 26, 2018
18:00 November 26, 2018
11:09 November 26, 2018
11:07 November 26, 2018
How to Setup a Complete Mail Server (Postfix) using ‘SquirrelMail’ (Webmail) on Ubuntu/Debian
14:51 November 25, 2018
11:43 November 25, 2018
How to Configure WordPress to Use SMTP For Sending Emails Tutorial
11:42 November 25, 2018
11:41 November 25, 2018
11:41 November 25, 2018
11:39 November 25, 2018
11:38 November 25, 2018
11:38 November 25, 2018
11:37 November 25, 2018
10:51 November 25, 2018
10:45 November 25, 2018
20:31 November 24, 2018
20:30 November 24, 2018
17:44 November 24, 2018
17:37 November 24, 2018
Redirecting HTTP to HTTPS Using .htaccess File: Step by Step
21:45 November 22, 2018
21:43 November 22, 2018
12:10 November 17, 2018
12:08 November 17, 2018
apt-get install linux-image-extra getting “W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.”
12:04 November 17, 2018
15:40 November 4, 2018
Here are the 13 most useful Mac shortcuts that will help you do everything faster
11:02 October 21, 2018
09:05 October 13, 2018
11:48 September 22, 2018
16:12 September 20, 2018
Use an Easy PowerShell Command to Search Files for Information
12:20 September 19, 2018
10:06 September 9, 2018
21:18 August 5, 2018
13:42 July 22, 2018
17:27 July 21, 2018
14:27 July 15, 2018
16:27 July 13, 2018
10:13 June 25, 2018
11:35 June 21, 2018
17:17 June 8, 2018
12:24 June 8, 2018
15:13 May 31, 2018
15:13 May 31, 2018
20:48 May 29, 2018
20:47 May 29, 2018
11:02 May 28, 2018
10:26 May 28, 2018
09:54 May 28, 2018
16:02 May 25, 2018
Performance optimizations you can apply today to load the Matomo JavaScript tracker faster
16:01 May 25, 2018
Different ways of embedding the Matomo tracking code for faster website performance
11:24 May 16, 2018
23:18 May 13, 2018
23:15 May 13, 2018
23:13 May 13, 2018
11:02 May 12, 2018
10:59 May 12, 2018
10:52 May 12, 2018
10:32 May 12, 2018
10:30 May 12, 2018
10:27 May 12, 2018
21:42 May 5, 2018
12:23 April 18, 2018
How to troubleshoot the error code “SEC_ERROR_UNKNOWN_ISSUER” on secure websites
09:34 April 15, 2018
10:08 April 14, 2018
22:25 April 13, 2018
18:20 April 10, 2018
Write your best resume in Word with help from LinkedIn in Resume Assistant
09:59 March 29, 2018
16:37 March 28, 2018
15:58 March 28, 2018
14:12 March 28, 2018
14:00 March 28, 2018
10:35 March 27, 2018
10:33 March 27, 2018
14:03 March 26, 2018
14:05 March 17, 2018
14:01 March 17, 2018
13:59 March 17, 2018
11:11 March 17, 2018
13:53 March 7, 2018
10:17 November 25, 2017
10:17 November 16, 2017
Diving Into the New Gutenberg WordPress Editor (Pros and Cons)
19:11 November 15, 2017
19:09 November 15, 2017
16:44 October 31, 2017
23:34 October 25, 2017
The care and feeding of software engineers (or, why engineers are grumpy)
23:32 October 25, 2017
23:31 October 25, 2017
19:20 October 24, 2017
19:19 October 24, 2017
19:18 October 24, 2017
23:37 October 22, 2017
23:36 October 22, 2017
23:32 October 22, 2017
23:31 October 22, 2017
23:30 October 22, 2017
23:29 October 22, 2017
23:25 October 22, 2017
10:19 October 14, 2017
17:03 October 7, 2017
17:01 October 7, 2017
Get rid of those extra TIFFs & PSDs in your Lightroom Library fast!
11:57 September 15, 2017
09:47 September 11, 2017
09:45 September 11, 2017
17:11 August 13, 2017
14:21 July 22, 2017
12:13 July 8, 2017
20:03 July 1, 2017
18:58 June 21, 2017
17:03 April 24, 2017
12:01 April 2, 2017
Windows 7: Windows 7 Not Updating
Windows Update error “0x80070002” or “0x80070003”
Fix Windows Update errors by using the DISM or System Update Readiness tool
18:17 March 22, 2017
23:25 March 12, 2017
22:08 March 7, 2017
Review: Evoluent Vertical Mouse 4 (and how to make it work in Ubuntu)
11:14 February 25, 2017
18:38 February 16, 2017
18:34 February 16, 2017
10:35 February 5, 2017
00:45 December 3, 2016
16:02 July 18, 2016
18:21 June 9, 2016
15:22 May 13, 2016
15:13 January 15, 2016
Get rid of the annoying formatting pop-up when you paste in Word
11:15 December 5, 2015
16:23 December 4, 2015
14:08 December 3, 2015
14:07 December 3, 2015
22:16 November 12, 2015
11:08 November 12, 2015
Fedora 23/22/21 nVidia Drivers Install Guide
09:56 October 30, 2015
20:15 October 29, 2015
20:10 October 29, 2015
20:06 October 29, 2015
21:01 October 2, 2015
22:02 September 28, 2015
11:28 August 7, 2015
16:14 July 27, 2015
11:18 July 24, 2015
18:40 July 10, 2015
15:16 July 9, 2015
18:41 July 6, 2015
07:24 July 2, 2015
The Command Prompt is Outdated: 2 Command Prompt Replacements for Windows
6 Great Windows 10 Features You Can Get Today on Windows 7 or 8
07:35 June 23, 2015
20:12 June 18, 2015
12:08 May 8, 2015
20:00 May 4, 2015
20:00 May 4, 2015
11:07 May 4, 2015
10:51 May 1, 2015
10:44 April 16, 2015
10:39 April 13, 2015
09:45 April 12, 2015
09:45 April 12, 2015
15:04 April 11, 2015
12:42 April 6, 2015
14:01 April 3, 2015
How to fix “System program problem detected” error on Ubuntu
19:27 March 28, 2015
11:34 March 27, 2015
11:21 March 27, 2015
11:04 March 27, 2015
16:51 March 26, 2015
16:53 March 18, 2015
04:00 March 7, 2015
02:39 March 5, 2015
Google Translate CLI Lets You Translate Text From The Command Line
01:51 March 5, 2015
23:19 February 21, 2015
14:25 February 19, 2015
11:56 February 16, 2015
22:29 February 9, 2015
15:45 February 5, 2015
Switch Windows by Hovering the Mouse Over a Window in Windows 7 or Vista
10:32 February 4, 2015
15:30 January 30, 2015
10:17 January 21, 2015
12:56 December 31, 2014
10:05 December 11, 2014
17:05 December 9, 2014
16:22 December 6, 2014
18:45 December 5, 2014
The crop tool is stuck in a fixed shape. How can I make it work properly?
14:55 November 26, 2014
22:12 November 18, 2014
How To Install MATE Desktop on Ubuntu 14.04 LTS
Cinnamon 2.4 Debuts With New Features, Here’s How To Install It In Ubuntu
FSF-Endorsed Linux Distro ‘Trisquel 7.0′ Released
19:53 November 11, 2014
21:54 November 4, 2014
21:52 November 4, 2014
22:30 October 30, 2014
21:34 June 11, 2014
18:57 January 24, 2014
Archive area of old releases of Java for those who need them.
OWASP stands for Open Web Application Security Project, and it is an online community dedicated to web application security. They are well known for their Top 10 Web Application Security Risks and late last year, they added a Top 10 for
Large Language Model (LLM) Applications.
Given that large language models made quite a splash last year, this was not before time. ChatGPT gained a lot of attention (OpenAI also has had DALL-E for generation of images for quite a while now), there are many others with Anthropic Claude and Perplexity also being mentioned more widely.
Figuring out what to do with any of these is not as easy as one might think. For someone more used to working with computer code, using natural language requests is quite a shift when you no longer have documentation that tells what can and what cannot be done. It is little wonder that prompt engineering has emerged as a way to deal with this.
Others have been plugging in LLM capability into chatbots and other applications, so security concerns have come to light, so far, I have not heard anything about a major security incident, but some are thinking already about how to deal with AI-suggested code that other already are using more and more.
Given all that, here is OWASP’s summary of their Top 10 for LLM Applications. This is a subject that is sure to draw more and more interest with the increasing presence of artificial intelligence in our everyday working and no-working lives.
LLM01: Prompt Injection
This manipulates an LLM through crafty inputs, causing unintended actions by the LLM. Direct injections overwrite system prompts, while indirect ones manipulate inputs from external sources.
LLM02: Insecure Output Handling
This vulnerability occurs when an LLM output is accepted without scrutiny, exposing backend systems. Misuse may lead to severe consequences such as Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF), Server-Side Request Forgery (SSRF), privilege escalation, or remote code execution.
LLM03: Training Data Poisoning
This occurs when LLM training data is tampered, introducing vulnerabilities or biases that compromise security, effectiveness, or ethical behaviour. Sources include Common Crawl, WebText, OpenWebText and books.
LLM04: Model Denial of Service
Attackers cause resource-heavy operations on LLMs, leading to service degradation or high costs. The vulnerability is magnified due to the resource-intensive nature of LLMs and the unpredictability of user inputs.
LLM05: Supply Chain Vulnerabilities
LLM application lifecycle can be compromised by vulnerable components or services, leading to security attacks. Using third-party datasets, pre-trained models, and plugins can add vulnerabilities.
LLM06: Sensitive Information Disclosure
LLMs may inadvertently reveal confidential data in its responses, leading to unauthorized data access, privacy violations, and security breaches. It’s crucial to implement data sanitization and strict user policies to mitigate this.
LLM07: Insecure Plugin Design
LLM plugins can have insecure inputs and insufficient access control. This lack of application control makes them easier to exploit and can result in consequences such as remote code execution.
LLM08: Excessive Agency
LLM-based systems may undertake actions leading to unintended consequences. The issue arises from excessive functionality, permissions, or autonomy granted to the LLM-based systems.
LLM09: Overreliance
Systems or people overly depending on LLMs without oversight may face misinformation, miscommunication, legal issues, and security vulnerabilities due to incorrect or inappropriate content generated by LLMs.
LLM10: Model Theft
This involves unauthorized access, copying, or exfiltration of proprietary LLM models. The impact includes economic losses, compromised competitive advantage, and potential access to sensitive information.