September 26th, 2025 admin
After creating a bootable USB stick, you can use it to run Linux or other software directly on your computer. Follow these steps:
Step 1: Insert the USB Stick
Plug the bootable USB stick into an available USB port on your computer.
Step 2: Access the Boot Menu or BIOS/UEFI
You need to tell your computer to boot from the USB instead of the hard drive.
- Restart your computer.
- Immediately press the key to enter the Boot Menu or BIOS/UEFI. Common keys include: F12, F10, F2, Esc, Del. Check your computer’s manual if unsure.
- Some computers show a short message like “Press F12 for Boot Options” when starting up.
Step 3: Select the USB Drive
- In the Boot Menu, look for your USB stick in the list of devices.
- Select the USB stick and confirm.
- If you’re in BIOS/UEFI, change the boot order so the USB drive is first, then save and exit.
Step 4: Boot from the USB
- Your computer should now start from the USB stick.
- If it’s a Linux Live USB, you can try the OS without installing it.
- Follow the on-screen instructions for installation or testing.
Tips
- On newer systems with UEFI, you may need to disable Secure Boot for some Linux distributions.
- If the computer still boots from the hard drive, recheck the boot order or use the Boot Menu key.
- Always double-check that you’re selecting the correct USB device to avoid accidental data loss.
Posted in Hardware, Linux, Windows | Comments Off on How to Boot Your Computer from a USB Stick
September 26th, 2025 admin
- Buy a USB stick — 8GB is usually enough.
- Download your preferred Linux OS (or another program).
- Download and install Balena Etcher
(available free for Windows, Mac, and Linux).
- Open Balena Etcher and follow the prompts, making sure you write to the correct USB stick.
- When done, you have a bootable USB stick and can boot your computer from it.
(How is that done?)
Posted in Hardware, Linux, Windows | Comments Off on How to Create a Bootable USB Stick
September 26th, 2025 admin
It has come to my attention that Microsoft is stopping support for Windows 10 in October 2025.
However, there are ways out of having to buy a new Windows 11 machine.
- Possibility: Flyby11.com will let you upgrade your Windows 10 computer to Windows 11 even if Microsoft’s own tool will not. This is not sinister or illegal. Microsoft allows it. Even though it is not encouraged (for obvious reasons).
- Risk: It may not work.
Option 2: Move Away From Microsoft Products
This is only viable if you are not dependent on specific Microsoft software. Most non-corporate and non-business people are not dependent, because for every Microsoft product, an equivalent exists under Linux:
- MS Office → LibreOffice (can create and edit MS Office files)
- OneDrive → Nextcloud, ownCloud, pCloud, MEGA, Dropbox
- Outlook (Mail + Calendar) → Evolution, Thunderbird (+ Lightning Calendar), KMail
🔗 See a longer comparison list here.
Many popular apps — Libre Office, Firefox, Thunderbird, Brave, Chromium browser and others — run on both Windows and Linux. So even if you upgrade to Windows 11 you can get a benefit from the many free, open source programs available today, that do exactly the same as the for fee programs.
Why Consider Linux?
If you’re fed up with being:
- coerced to upgrade to a new computer when yours still runs well (sustainability)
- constantly asked to pay more monthly or upgrade fees
- monitored so big tech can sell your behavioral data for profit
…then you can take charge of your computing by upgrading to a community-supported Linux system.
Generally, the programs are free of charge and open source (the code can be reviewed and is constantly updated and bugs are fixed by a wide community of volunteer programers. Thank you for your generousity).
My Linux Recommendations
I have personally reviewed these systems:
⭐ Top Recommendation.
A complete and well-supported OS with access to all Linux software.
A sleek, slim OS ideal for older computers.
I tested it on a 10-year-old laptop — it worked great thanks to efficient configuration, providing nice graphics or great functionality. Everything you would expect from a modern computer.
Another strong, well-supported OS, on par with Linux Mint.
A hot contender if you want a look and feel close to Windows 11.
It can run some Windows programs — but don’t expect every game to run smoothly out of the box.
How to Try Linux Without Changing Windows
You can test Linux on your current computer without altering your Windows installation:
- Download the OS you want to try. Click the OS headings above
- Create a bootable USB stick with that Linux version. (How is that done?)
- Restart your computer and boot from the USB stick. (How is that done?)
- Explore Linux in “Live Mode” — no changes are made to your Windows system.
Once you are happy that Linux Mint (or one of the other OS) is good for you you can install it either side-by-side or in replacement of your Windows install.
ALWAYS BACKUP YOUR IMPORTANT FILES BEFORE DOING THIS.
Installation is described in the respective OS’s documentation. How is that done? or do your own search or I use ChatGPT for a lot of these projects to cut down on the amount of information I need to get through and let ChatGPT just give me the essence.
Posted in Linux, Windows | Comments Off on Microsoft Ending Windows 10 Support – What Are Your Options?
May 13th, 2020 admin
squid.conf
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
# Choose the port you want. Below we set it to default 3128.
http_port 3128
Then on the command line add your user:
htpasswd -c /etc/squid3/passwords username_you_like
and restart squid
service squid3 restart
service squid3 restart
Posted in Linux | Comments Off on Basic squid authentication
May 13th, 2020 admin
Smart recipes
I use the following handy recipe to forward puzzles that any friend sends to me, while I keep a copy of it myself. That is, I have to perform two tasks at the same time. Here’s how you can go about it:
# forward puzzles to a friend
#and also keep a copy
:0
* ^Subject:.*(puzzle)
{
:0 c
! myfriend@buddy.com
:0
puzzle
}
Here we use a nested block (enclosed in braces) instead of an action line. This block allows us to put multiple recipes within it, which are used only if the parent recipe is true.
In both the recipes in the block, we don’t have any condition statements. In the first action, the c flag is used to copy the message. Typically, a message will only run through the first recipe that is true. That is, if we don’t use the c flag, we can’t run the mail through the second recipe. The bang (!) before the email address indicates we want to forward the mail. The second recipe in the block delivers the mail to the puzzle directory.
Posted in Linux | Comments Off on Procmail recipe – smart recipes
July 27th, 2015 admin
These iptables rules will limit the exposure to brute force and dictionary attacks on port 22 SSH.
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 2 -j DROP
iptables -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 -j DROP
# And remember to save the new set of iptables:
/usr/libexec/iptables/iptables.init save
service iptables save
Posted in Linux | Comments Off on Rate limit ssh port 22 access
May 16th, 2012 admin
Export
mysqldump -u username -p database_name > dbname.sql
Import
mysql -p -u username database_name < dbname.sql
Replace username with the database username
Replace database_name with the name of the database
Condition of the above working is, that you are logged into the Linux server (by ssh or console) that runs the MySQL database and that you have the password relevant to the database user.
Posted in Linux | Comments Off on MySQL command line import/export
January 10th, 2012 admin
Sending an auto reply while on vacation
PATH=/bin:/usr/bin:/software/common/bin
MAILDIR=$HOME/mailroom #you’d better make sure it exists
LOGFILE=$MAILDIR/procmail.log #recommended
# Vacation work-alike (3/6/98) Accurso
#
# This is an annotated and slightly modified version of the
# vacation work-alike example given in “man procmailex”.
# The use of ^TO is the significant modification.
# See also “man procmailrc”.
#
# First we must decide whether to send an auto reply.
# All the egrep conditions (* lines) must be satisfied.
# If so, headers (h) of the current message are fed to
# formail which checks the vacation.cache to find out
# if the sender has already received an auto reply.
# We will lock vacation.lock while processing this
# recipe to avoid clashes when updating the cache.
#
# This recipe waits (W) for a return from formail.
# Without the (c) procmail would stop processing
# after completing this recipe because it is
# a delivery recipe, it delivers headers to formail.
#
# The conditions ^TO and ^FROM_DAEMON are more than
# meet the eye.
#
# ^TOzz1demo is satisfied if zz1demo
# appears in any recipient header To: Cc: Bc:.
# This avoids sending auto replies to messages that
# were addressed to an alias or maillist, but not
# explicitly to zz1demo.
#
# !^FROM_DAEMON makes sure we do not auto reply to
# messages from any of a wide variety of daemons.
#
# “!^X-Loop: zz1demo@ieng9.ucsd.edu” avoids replying
# to our own auto reply, notice below that this X-Loop
# header is inserted into the auto replies we send out.
SHELL=/bin/sh # for other shells, this might need adjustment
:0 Whc: vacation.lock
* ^TOzz1demo
* !^FROM_DAEMON
* !^X-Loop: zz1demo@ieng9.ucsd.edu
| formail -rD 8192 vacation.cache
# Due to (e) recipe below is executed if the preceding one
# returns an error status. In this case it is not really
# and error, it is just the signal from formail to go
# ahead with the auto reply. Notice that if in the
# preceding recipe the egrep conditions are not met
# and that causes the formail cache check to be
# skipped, procmail is [somehow] clever enough to skip
# this recipe.
#
# The headers (h) of the current message are fed to the
# formail in this recipe in order to construct the
# headers for the auto reply.
#
# The (c) in this recipe causes the whole
# current message to be processed after this recipe.
# Typically that means it will be processed with no
# further recipies and that is how you get a copy in your
# mailbox. There is no need for a lock while executing
# this recipe so none is used.
:0 ehc # if the name was not in the cache
| (formail -rA”Precedence: junk” \
-A”X-Loop: zz1demo@ieng9.ucsd.edu” ; \
echo “I received your mail, but I will be away”; \
echo “from the office until Monday Dec 15th.”; \
echo ” “;\
echo “If this is an urgent matter, please call my office XXX-XXXX “;\
echo ” “;\
cat $HOME/.sig \
) | $SENDMAIL -oi -t
Automatically discarding or returning unwanted mail
Return to sender with “reject” notice (not for spam!)
# This procmailrc will automatically reject and bounce mail from
# certain addresses. NOTE: DO NOT USE THIS FOR SPAM! Only use it for
# folks that you know have a valid return address.
#
# This file can be dropped into your home directory as ‘.procmailrc’, or
# inserted into your existing ‘.procmailrc’, with or without the
# comments.
# -zz1sn 2/18/98
#
# The :0 is the start of a rule. Note, blank lines in a rule are NOT
# happy. Don’t insert any blank lines between the :0 and the line with
# $SENDMAIL, or the rule won’t work. Also, don’t put any comments
# within the rule, either.
#
# The *^From:.*example.*nuisance
# line indicates the string you want to match. If the From
# header in the e-mails you want to match looks something like
# From: Block Head <llarry@ancientgames.com>
# you can use a rule like: *^From:.*llarry.*ancientgames
# or perhaps something like *^From:.*Block Head
# (Remember, case is important – capitals are different from lowercase!)
#
# You want to be as specific as possible, but general enough to
# catch the person’s e-mails. The ‘*^From: bit ensures that the
# rule only matches on the ‘From:’ header, and the ‘.*’ sequence
# is a wildcard (match 0 or more occurrences of any character).
#
# Replace ‘example.*nuisance’ with your expression; otherwise, this
# rule won’t do a thing.
#
# If you want to reject mail from more than one source you can
# repeat the whole rule (from the :0 line to the SENDMAIL line)
# as many times as necessary in your .procmailrc file. Put
# a blank line between rules.
#
# This rule bounces the mail. First, it pipes through a series of
# commands that generate a new e-mail. ‘formail’ takes the old e-mail
# and generates a response; we replace the ‘From:’ line with
# ‘devnull@ucsd.edu’ (which silently discards all mail) to prevent
# mail loops caused by ricocheting bounces.
#
# We then pipe the result through $SENDMAIL -oi -t, which tells
# sendmail to ignore dots as end-of-file markers, and to grab the
# sender/recipient info from the message body.
#
# Note syntax; anything that should be in the message needs to go in
# an ‘echo’ statement inside the parentheses. It should be
# double-quoted, and should not contain funny characters (*, $, etc.).
# The ‘ \’ (space-backslash) needs to be at the end of each line
# except the last to indicate that technically the entire rule belongs
# on one line.
#
:0
*^From:.*example.*nuisance
|( formail -rI”From: Responses will be automatically discarded <devnull@ucsd.edu>”; \
echo “Your mail has been administratively rejected.”; \
echo “It was NOT received.” \
) | $SENDMAIL -oi -t
Discard/block e-mail messages (without return to sender)
# This procmailrc will automatically reject and discard mail from
# certain addresses.
#
# This file can be dropped into your home directory as ‘.procmailrc’, or
# inserted into your existing ‘.procmailrc’, with or without the
# comments.
# -zz1sn 3/09/98
#
# The :0 is the start of a rule. Note, blank lines in a rule are NOT
# happy. Don’t insert any blank lines between the :0 and the line with
# $SENDMAIL, or the rule won’t work. Also, don’t put any comments
# within the rule, either.
#
# The *^From:.*example.*nuisance
# line indicates the string you want to match. If the From
# header in the e-mails you want to match looks something like
# From: Block Head <llarry@ancientgames.com>
# you can use a rule like: *^From:.*llarry.*ancientgames
# or perhaps something like *^From:.*Block Head
# (Remember, case is important – capitals are different from lowercase!)
#
# You want to be as specific as possible, but general enough to
# catch the person’s e-mails. The ‘*^From: bit ensures that the
# rule only matches on the ‘From:’ header, and the ‘.*’ sequence
# is a wildcard (match 0 or more occurrences of any character).
#
# Replace ‘example.*nuisance’ with your expression; otherwise, this
# rule won’t do a thing.
#
# This rule silently discards all mail containing the matched From:
# address. If you want to discard mail from more than one address,
# duplicate the entire 3-line rule, from :0 to /dev/null (changing the
# wildcard expression appropriately)
#
#
:0
*^From:.*example.*nuisance
/dev/null
Posted in Linux | Comments Off on ProcmailRC recipes
November 18th, 2011 admin
By far the simplest way to transfer/copy/move instanaces between AWS regions is to use the Ylastic interface.
It is US$20 and when you transfer there are costs for traffic and a temporary control instance (which you also will have with the method below). However Ylastic makes this a 5 minute understand and setup process. And it works even for Windows instances.
Preparation:
In AWS web console
- Stop instance to move to another region
- Make snapshop (you can restart your original instance and put it back in production)
- Make new volume of snapshot
- Start another instance
- Attach the volume from the snapshot to the newly started instance
- (on the temp instance in the source region) Mount the volume to the instance
- Start an instance in the target region
- Create a volume of the same size as your source volume in the target region in the same availability zone as your target instance.
- Attach the just create volume to the target instance
- (on the target instance) Format the attached volume with the same file system as the source instance.
- (on the target instance) Mount the target instance
- (on the target instance) make sure you can access the temp instance in the source region via SSH – disable any keys and change ssh_config in the temp instance in the source region etc, if you have to.
- (on the target instance) Copy files from the temp instance the source to the mounted volume on the target with rsync:
rsync -PHAXaz -e ssh ec2-107-22-76-156.compute-1.amazonaws.com:/mnt/sdf1/ /mnt/sdf1
- (on the target instance) Unmount the volume
- Detach the volume
- make a snapshot
- make an image
- start the instance. DOESNOT WORK. Don’t know why.
Posted in Linux | Comments Off on Amazon AWS EC2 – Move instance to other region
August 20th, 2011 admin
Install dd_rescue (not ddrescue – although that might also work)
copying everything to a file:
dd_rescue /dev/hda1 target-file.img
Mounting the file:
losetup /dev/loop0 target-file.img
mount /dev/loop0 /home/you/dir
or
mount -o loop target-file.img /home/you/dir
Posted in Linux | Comments Off on Recover information from a disk otherwise unreadable or unmountable