These are my notes on setting up VSCode for my programming platform for now and the future. This software is always being imporved and is used by so many developers and with a vast array of extensions I cannot see this changing any time soon.
- The terms Folder, Root Folder, Project Folder and Workspace are all interchangeable and just mean the root folder of your project. It does not mean you can only have one folder with only files in it.
- Use the term Workspace when referring to folder your project is in, most people will understand what you mean.
c:\Users\<yourusername>\AppDataRoaming\Code\User\settings.json
This is a list of the plugins I use. The list was correct when I started and should be a god list for other people who do no now where to start. You don't need to install them all, just the ones that will be useful to you.
- Adding 2 or more extensions that doe the same thing (i.e. IntelliSense for PHP or Bracket Pair Colorisers) might cause issues with stability and certainly functionality as the extensions fight with each other.
- If you have Visual Studio Code installed and opend, the easiest way to install these plugins is to click on the links below and then the install button on that page which will open the correct plugin in VC Code ready for you to click the install button there.
.drawio
file extension to be recognised as a suitable Draw.io project.class
attribute based on the definitions found in your workspace or external files referenced through the link
element.id
and class
attribute completion.z-index
declarations using small values with confidence."editor.formatOnSave": true
executes this extension on save formatting your code automatically.paste_and_indent
.Editor: Linked Editing
only works for HTML files..gitignore
files.console.log
output and runtime errors directly in your editor from your running browser or node application. It's like your browser dev tools console tab or terminal output from your node app, but instead of having to context switch, values are connected to your code and displayed ergonomically in your editor.console.log(or any function name)
by word or selectionconsole.log()
function for logging.debugpy
. Python Debugger provides a seamless debugging experience by allowing you to set breakpoints, step through code, inspect variables, and perform other essential debugging tasks. The debugpy
extension offers debugging support for various types of Python applications including scripts, web applications, remote processes, and multi-threaded processes.
These are my notes I used to help me decide what IDE or Text Editor I should use for future project. Up until now I was using NetBeans so I though I would have look and see if this was still the best.
TL;DR = Use VSCode
- Netbeans is great for Java and does PHP. Limit language support.
- VSCode does all the languages, is far more popular, it can be a pain to setup everything using plugins but once that is done you have a powerful IDE.
These are the softwares you recognise that people use for programming, however it is not always the case.
Just because they are called a Text Editor does not mean they do not offer the full gamut of features an IDE does but rather to add these features you need to use plugins. However text editors like Nano are not included in the list because that is all they do.
Filtering content is an important thing to do nowadays if you have a family for all the major platforms such as YouTube, Bing, Google, DuckDuckGo and more. In this article I will outline the different methods to restrict content and show you how to apply them.
There are a few different ways to restrict content on the internet:
- When using the DNS options it is important to make sure you do full DNS Hijacking on your local network to ensure the DNS requests are all sent through your router.
- You should always make the changes on your router/network level so you do not have to visit each device and you cannot change the DNS settings on every device as required such as a Firestick.
Instructions
- Here we ping the CNAME, get the IP and use that instead of the CNAME.
- The basic procedure below can be used for all of the platforms that use a SafeSearch VIP system (i.e. like below)
restrict.youtube.com
Notes
There are some casting notes here: My Meta Quest 3 Notes | QuantumWarp
Xbox controllers (most of them) come with thumbsticks that use potentiometers that change resistance so the controller knows how far you have moved the stick. This technology is well tested but the potentiometers wear out because the wiper is a piece of metal that is run against a carbon strip and because of the friction over time these will fail. Hall effect Sensors are a new technology that use magnets and as such there is no physical touching between surfaces so they do not wear out. Below I have done a table of the pros and cons of each of the technology whilst having my 1708 Xbox controller in mind, although most of the principles will be the same no matter what controller you use.
Pros | Cons | |
Potentiometer (POT) |
|
|
Hall Sensor |
|
|
Conclusion
So in conclusion hall effect sensors are a good thing if decent sensors that do no suffer from jitter and that they will not interfere with the rest of your controller (i.e. triggers on the xbox controller) or you could get ones that come with an additional circuit board that prevents interference and jittering.
Using the standard potentiometers are what your controller was designed for and just swapping like for like is not a bad thing. If you keep wearing out the sticks out frequently then you should use hall sensors.
Over time the resistance values in a potentiometers change over time (unless you are using hall effect ones) and so re-calibration can fix the problem but also when you swap parts in your thumbsticks these might not have the perfect values and again calibration is required.
Notes
There are several steps to swapping your harddrive depending on whether you want to move your data across. some of these tutorials assume you have stripped your Xbox apart and can access both hard drvies.
This is list of my microscope kit and collection of my related notes.
I have written these instruction while trying to diagnose and fix washed out colours on my Dell U2414H monitor attached to my Dell E6540 laptop which uses the Intel HD Graphics 4600 GPU however the solutions and logic will apply to al lot of setups.
Some of these options might not realise unless you restart your PC.
These are a reference for my monitors but if you have a Dell U2414H you might as well use them.
There are a few ways to recover music from Sony Minidiscs and these will vary between devices:
This article is dedicated towards digitally downloading tracks direct from the Walkman with no sound quality loss.
This YouTube tutorial covers everything from grabbing tracks using Method 1 to converting the .aea files to a more useful format.
- Transferring MiniDisc recordings via USB tutorial (Web MiniDisc Pro) - YouTube - This method of transferring MiniDiscs is faster than realtime, and seemingly as close to the original recording as one can get. Didn't see a tutorial on this so I figured I might as well make one in case this helps someone.
Homebrew Mode Ripping in Main UI
Enter Homebrew Mode
CANCEL/CHG
button this will stop the disc spinning and allow you to swap the disc without restarting "Web MiniDisc Pro" but this does not always work.ffmpeg -i input_audio_file_supported_by_ffmpeg -f au - | atracdenc -e atrac1 -i - -o out.aea
This article is based on the server running cPanel/WHM, the website CMS is WordPress with Divi as it's template, but the logic will most likely apply to a lot of other platforms.
I have a contact form that will not send the emails when the submitted details contain a free email address even though the contact form says the message was sent.
The failed emails do not appear in "Track Delivery" in cPanel so I have nothing to inspect and figure out what is going on.
If you do not manage your emails locally then an emails that are sent but are bounced will be returned to the server defined in the MX entry.
<reply-to>
header.system
mailbox in cPanel, they are never passed to the MTA (Exim).spamd
.system
mailbox might look something similar to this:### Title ### Mail failure - rejected by local scanning code ### Message Body ### A message that you sent was rejected by the local scanning code that checks incoming messages on this system. The following error was given: This message was classified as SPAM and may not be delivered ------ This is a copy of your message, including all the headers. ------ .....
These are some solutions an workarounds, pick which ever best suits your needs, which ever you pick you should monitor the situation for a while to make sure the changes you implement are working as expected.
NB: 8.5 = Default Threshold + PHP_SCRIPT + KAM_COUK
You can reduce the SPAM score by disabling or cancelling out certain tests, but this requires a lot more time to setup.
mail()
function on returns True or False.## wordpress/wp-includes/PHPMailer/PHPMailer.php 'instantiate' => 'Could not instantiate mail function.', --> mailPassthru($to, $subject, $body, $header, $params) --> $result = @mail($to, $subject, $body, $header, $params); --> mail() # This is a wrapper for sendmail --> sendmail # cpanel sendmail is blocking gmail addresses --> sendmail returns true or false
sudo nano /etc/mail/spamassassin/local.cf
# Set the threshold at which a message is considered spam (default: 5.0) # # required_score 5.0
warn condition = ${if forany{<, $recipients}{!match_domain{${domain:$item}}{:+relay_domains}}} set acl_m_outbound_recipient = 1 warn condition = $acl_m_outbound_recipient condition = ${if <={$message_size}{1000K}} condition = ${if !eq{$originator_uid}{0}} condition = ${perl{spamd_is_available}} set acl_m_spam_scan_enabled = 1 deny condition = $acl_m_outbound_recipient condition = $acl_m_spam_scan_enabled spam = cpaneleximscanner/defer_ok message = This message was classified as SPAM and may not be delivered log_message = "SpamAssassin as cpaneleximscanner detected OUTGOING not smtp message as spam ($spam_score)" warn condition = $acl_m_outbound_recipient condition = $acl_m_spam_scan_enabled log_message = "S
warn condition = $acl_m_outbound_recipient condition = ${if <={$message_size}{1000K}} condition = ${if !eq{$acl_c_authenticated_local_user}{root}} condition = ${if !match{$authenticated_id}{\N^__cpanel__service__auth__[^+%:@]+$\N}} condition = ${perl{spamd_is_available}} set acl_m_spam_scan_enabled = 1 deny condition = $acl_m_outbound_recipient condition = $acl_m_spam_scan_enabled spam = ${if eq{$acl_m1}{}{cpaneleximscanner}{$acl_m1}}/defer_ok message = This message was classified as SPAM and may not be delivered log_message = "SpamAssassin as ${if eq{$acl_m1}{}{cpaneleximscanner}{$acl_m1}} detected OUTGOING smtp message as spam ($spam_score)" warn condition = $acl_m_outbound_recipient condition = $acl_m_spam_scan_enabled log_message = "SpamAssassin as ${if eq{$acl_m1}{}{cpaneleximscanner}{$acl_m1}} detected OUTGOING smtp message as NOT spam ($spam_score)"
To find the rules, search for them in the following format: describe KAM_DMARC_STATUS
PHP_SCRIPT 2.5 - Sent by PHP script
FREEMAIL_FORGED_REPLYTO 0.1 - Freemail in Reply-To, but not From
KAM_COUK 0.85 - Scoring .co.uk emails higher due to poor registry security.
KAM_DMARC_STATUS 0.01 - Test Rule for DKIM or SPF Failure with Strict Alignment
T_SCC_BODY_TEXT_LINE
URIBL_BLOCKED
small - ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
http://wiki.apache.org/spamassassin/DnsBlocklists\#dnsbl-block for more
information.
## Default rules, but these will be replaced upon upgrade /usr/share/spamassassin ## Rules seem to be here /etc/mail/spamassassin/
/etc/mail/spamassassin
(if you use spamD, be sure to restart)./etc/mail/spamassassin/KAM.cf
Sep 1 13:56:08 srv spamd[414141]: spamd: connection from localhost [127.0.0.1]:43490 to port 783, fd 6 Sep 1 13:56:08 srv spamd[414141]: spamd: setuid to cpaneleximscanner succeeded Sep 1 13:56:08 srv spamd[414141]: generic: trusted_networks doesn't contain internal_networks entry '0/0' Sep 1 13:56:08 srv spamd[414141]: spamd: checking message <XXXXXXXXXXXXXXXXZldVRrQX6dyBuRHk9yR9jnJNGRM@www.example.co.uk> for cpaneleximscanner:992 Sep 1 13:56:18 srv spamd[414141]: spamd: identified spam (5.9/5.0) for cpaneleximscanner:992 in 10.3 seconds, 3794 bytes. Sep 1 13:56:18 srv spamd[414141]: spamd: result: Y 5 - FREEMAIL_FORGED_REPLYTO,KAM_COUK,KAM_DMARC_STATUS,PHP_SCRIPT,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED scantime=10.3,size=3794,user=cpaneleximscanner,uid=992,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=43490,mid=<XXXXXXXXXXXXXXXXZldVRrQX6dyBuRHk9yR9jnJNGRM@www.example.co.uk>,autolearn=no autolearn_force=no,shortcircuit=no
## This adds the score /var/lib/spamassassin/3.004006/updates_spamassassin_org/20_freemail.cf ## This is the list of the Freemail domains /var/lib/spamassassin/3.004006/updates_spamassassin_org/20_freemail_domains.cf ## An old list /var/lib/spamassassin/3.004006/updates_spamassassin_org/20_freemail_mailcom_domains.cf
/var/log/maillog
file. This can be used to determine what rules are being triggered by the message.
/usr/local/cpanel/logs/spamd_error_log
I got this from my VPS provider:
SpamAssassin’s internal spam score is calculated by summing the scores of various matched rules.
Rule Description Score HTML_MESSAGE Email contains HTML 1.0 BAYES_99 Bayesian filter suggests 99% spam probability 3.5 RCVD_IN_SPAMHAUS Sender's IP is in the Spamhaus blacklist 2.0 DKIM_VALID Email has a valid DKIM signature -1.0 Total Score 5.5
X-Spam-Score: 40
These are a collection of my notes for the Meta Quest 3
SW1 1LF
and not SW11LF
By ticking this box and clicking the Confirm button, you agree that the content will immediately begin downloading onto your device, and you acknowledge that you will thereby lose any statutory right of withdrawal (EU/EEA) or cancellation (UK). Learn more You will be charged £59.99, including tax, when this free trial ends on 26 Feb 2025 and every year when this subscription is automatically renewed until you cancel. Cancel at any time in your account settings at least 24 hours before the end of this free trial or the next billing date to avoid future charges.By selecting Confirm, you agree to the Meta Quest Store Terms.
You can pair your Xbox controller on your Quest for using with games.
random thing to look at later, I have not made a descicion and do not know the quality of the brands, this is more an idea holders
This call accesses the User ID platform feature, which requires certifying through the Oculus Data Use Checkup program. Please visit this page for more detail: https://developer.oculus.com/distribute/publish-data-use/. If you have already completed a Data Use Checkup, please ensure that all compliance issues are resolved by visiting the Compliance Dashboard: https://developer.oculus.com/resources/publish-compliance-dashboard/.
These are my notes on rebuilding my pond