Programming · AI · Crypto · Kali Linux

Decode tech.
Build what's next.

Hands-on guides, tutorials and honest insights on programming, artificial intelligence, cryptocurrency and ethical hacking with Kali Linux.

Latest articles

Sunday, 25 October 2026

Python Variables, Strings and Numbers Explained

Python Variables, Strings and Numbers” showing a code window with name, age and height variables, a warning against adding text and a number, and the note “Type it, run it, then change it”.

Every program works with data: names, ages, prices, messages. In Python you store that data in variables, and it comes in different types, mainly text (strings) and numbers. Understanding these basics is the foundation for everything else you will build.

This guide assumes you have Python installed and can run a file. If not, read my guide on writing your first 10 lines of Python. Type each example yourself and compare the output with what you see here.

Variables: labeled boxes

A variable is a name that holds a value. You create one with the equals sign:

name = "Sam"
age = 20
height = 1.75
print(name, age, height)

Output:

Sam 20 1.75

The = sign does not mean "equals" like in maths. It means "store the value on the right in the name on the left".

Naming rules

  • Use letters, numbers and underscores, and don't start with a number.
  • Names are case sensitive: age and Age are different variables.
  • Use clear names like user_name instead of x, and use lowercase with underscores.
  • You cannot use Python's reserved words, such as if, for or class.

The three types you will use most

print(type(name), type(age), type(height))

Output:

<class 'str'> <class 'int'> <class 'float'>
  • str (string): text, written in quotes, like "Sam".
  • int (integer): whole numbers, like 20.
  • float: numbers with a decimal point, like 1.75.

Working with strings

Joining text

greeting = "Hello, " + name + "!"
print(greeting)
print(f"{name} is {age} years old.")

Output:

Hello, Sam!
Sam is 20 years old.

The second line uses an f-string: put an f before the quotes and place variables inside curly brackets. It is the easiest way to mix text and values.

Useful string tools

print(len(name))
print(name.upper())
print(name.lower())
print(name[0])
print(name[1:3])

Output:

3
SAM
sam
S
am
  • len() counts the characters.
  • .upper() and .lower() change the case.
  • name[0] gets the first character. Python starts counting at 0, not 1.
  • name[1:3] is a slice: it starts at position 1 and stops before position 3.

Working with numbers

print(7 + 3, 7 - 3, 7 * 3)
print(7 / 2)
print(7 // 2)
print(7 % 2)
print(2 ** 5)

Output:

10 4 21
3.5
3
1
32
  • +, - and * add, subtract and multiply.
  • / divides and always gives a decimal result (3.5).
  • // divides and keeps only the whole part (3).
  • % gives the remainder (1). It is handy for checking whether a number is even or odd.
  • ** raises to a power (2 ** 5 is 32).

Converting between types

Text that looks like a number is still text. Python will not multiply it until you convert it:

price = "10"
total = int(price) * 3
print(total)

Output:

30

Without int(), "10" * 3 would repeat the text three times instead of doing maths. The functions to remember are int(), float() and str(). Remember that input() always returns text, so convert it when you need a number.

Changing a variable

age = age + 1
print(age)
print(round(3.14159, 2))

Output:

21
3.14

A variable can be updated at any time. round() rounds a number to a chosen number of decimal places.

Common beginner mistakes

  • Mixing text and numbers. "Age: " + 20 causes an error. Use an f-string or str(20).
  • Forgetting quotes around text, or putting quotes around a variable name you want the value of.
  • Starting counting at 1. The first character of a string is at position 0.
  • Using unclear names. x1 and temp2 will confuse you next week.
  • Assuming / gives a whole number. Use // if you want one.

Practice tasks

  1. Create variables for your name, age and favourite number, and print a sentence using an f-string.
  2. Print your name in uppercase and its length.
  3. Ask the user for two numbers with input() and print their sum. Remember to convert them.
  4. Check whether a number is even using the % operator.

Final thoughts

Variables, strings and numbers appear in every Python program you will ever write. Practice them until they feel natural, and don't worry about memorizing everything. Looking things up is part of programming. Once you are comfortable, the next steps are decisions, loops, lists and functions.

Which task was the trickiest for you? Tell me in the comments, and follow the blog for more guides on programming, AI, crypto and Kali Linux.

Saturday, 24 October 2026

Wireshark for Beginners: See What’s on Your Own Network

Wireshark for Beginners” showing display filters (dns, tcp.port == 443, ip.addr) with a warning never to capture without permission, and the note “Capture your own traffic first”.

When you open a website, send a message or run a scan, data travels across the network in small pieces called packets. Wireshark is a free program that lets you capture those packets and look inside them. Network engineers use it to fix problems, security teams use it to investigate incidents, and students use it to finally see how networks really work.

In this guide you will learn what Wireshark does, how to capture your first packets safely, and how to use a few simple filters to make sense of the noise.

Golden rule: capture only traffic on your own computer or on a network you own or have clear permission to monitor. Capturing other people's traffic without permission is illegal in many places, even if it is "just to look".

What does Wireshark actually do?

Wireshark listens to a network interface, such as your Wi-Fi or Ethernet connection, and records the packets passing through it. For each packet it shows:

  • Time: when the packet was captured.
  • Source and destination: which address sent it and which one receives it.
  • Protocol: the type of traffic, such as DNS, TCP, HTTP or TLS.
  • Info: a short summary of what the packet is doing.

Before you start

Wireshark is included in Kali Linux. You can open it from the applications menu, or type wireshark in a terminal. On other systems, download it from the official site, wireshark.org.

If you haven't built a lab yet, read my guide on setting up a safe Kali practice lab first.

Step 1: Choose an interface

When Wireshark opens, you will see a list of network interfaces with small activity graphs. In a Kali virtual machine, the interface that shows moving lines is usually the one you want, often named eth0. Double-click it to start capturing.

Step 2: Create some traffic

The capture will be empty if nothing is happening. Open a terminal inside your VM and generate some simple traffic:

ping -c 4 example.com
nslookup example.com
curl http://example.com

These commands send a ping, ask for the website's address through DNS, and request a plain web page. All three are harmless. Then click the red square button in Wireshark to stop the capture.

Step 3: Read the packet list

Click any row. Wireshark shows details in the middle and bottom panes:

  • Packet list (top): one line per packet.
  • Packet details (middle): the layers of the packet, from Ethernet up to the application data. Click the arrows to expand them.
  • Packet bytes (bottom): the raw data in hexadecimal.

Step 4: Use display filters

A busy network produces thousands of packets in seconds. The display filter bar at the top lets you show only what you need. Type a filter and press Enter:

dns
icmp
http
tcp.port == 443
ip.addr == 192.168.56.101
  • dns shows only DNS lookups, where your computer asks "what is the address of this name?".
  • icmp shows ping traffic.
  • http shows plain, unencrypted web traffic.
  • tcp.port == 443 shows traffic on port 443, which is used by HTTPS.
  • ip.addr == 192.168.56.101 shows packets to or from one address. Replace it with an address from your own lab.

The filter bar turns green when the filter is valid and red when it is not.

What you can learn from a capture

  • DNS in action. You can see your computer ask for example.com's address, and the answer coming back.
  • The TCP handshake. Look for packets marked SYN, SYN/ACK and ACK. That is how two computers start a connection.
  • Why HTTPS matters. With the http filter you can read the request and the page content in plain text. With HTTPS traffic you see that a connection exists, but the content is encrypted.

Why this is useful for security

Seeing real packets makes security ideas concrete. It explains why unencrypted logins are risky, why Nmap scans leave a trail in network logs, and how defenders spot strange behaviour. A good exercise is to run an Nmap scan against your own lab machine while Wireshark is capturing, then look at the packets that scan created.

Common beginner mistakes

  • Capturing without permission. Stay on your own machine or lab.
  • Getting lost in the noise. Use display filters early and often.
  • Expecting to read everything. Most modern traffic is encrypted, so you will not see passwords or page content on HTTPS connections.
  • Forgetting to stop the capture. Long captures create huge files. Stop, then save with File → Save As if you want to keep one.
  • Choosing the wrong interface. If nothing appears, check you selected the one with activity.

Final thoughts

Wireshark turns invisible network activity into something you can read. Start by capturing your own traffic, learn three or four filters, and ask yourself what each packet is doing. After an hour of practice, topics like DNS, TCP and HTTPS will make much more sense.

Which would you like next: a guide to protecting your own accounts, or setting up a vulnerable practice VM? Tell me in the comments, and follow the blog for more guides on Kali Linux, programming, AI and crypto.

Friday, 23 October 2026

How to Write Better AI Prompts: 7 Simple Rules

Write Better AI Prompts” showing a checklist of what a good prompt has (clear task, context and audience, format and limits) and the note

When you open a website, send a message or run a scan, data travels across the network in small pieces called packets. Wireshark is a free program that lets you capture those packets and look inside them. Network engineers use it to fix problems, security teams use it to investigate incidents, and students use it to finally see how networks really work.

In this guide you will learn what Wireshark does, how to capture your first packets safely, and how to use a few simple filters to make sense of the noise.

Golden rule: capture only traffic on your own computer or on a network you own or have clear permission to monitor. Capturing other people's traffic without permission is illegal in many places, even if it is "just to look".

What does Wireshark actually do?

Wireshark listens to a network interface, such as your Wi-Fi or Ethernet connection, and records the packets passing through it. For each packet it shows:

  • Time: when the packet was captured.
  • Source and destination: which address sent it and which one receives it.
  • Protocol: the type of traffic, such as DNS, TCP, HTTP or TLS.
  • Info: a short summary of what the packet is doing.

Before you start

Wireshark is included in Kali Linux. You can open it from the applications menu, or type wireshark in a terminal. On other systems, download it from the official site, wireshark.org.

If you haven't built a lab yet, read my guide on setting up a safe Kali practice lab first.

Step 1: Choose an interface

When Wireshark opens, you will see a list of network interfaces with small activity graphs. In a Kali virtual machine, the interface that shows moving lines is usually the one you want, often named eth0. Double-click it to start capturing.

Step 2: Create some traffic

The capture will be empty if nothing is happening. Open a terminal inside your VM and generate some simple traffic:

ping -c 4 example.com
nslookup example.com
curl http://example.com

These commands send a ping, ask for the website's address through DNS, and request a plain web page. All three are harmless. Then click the red square button in Wireshark to stop the capture.

Step 3: Read the packet list

Click any row. Wireshark shows details in the middle and bottom panes:

  • Packet list (top): one line per packet.
  • Packet details (middle): the layers of the packet, from Ethernet up to the application data. Click the arrows to expand them.
  • Packet bytes (bottom): the raw data in hexadecimal.

Step 4: Use display filters

A busy network produces thousands of packets in seconds. The display filter bar at the top lets you show only what you need. Type a filter and press Enter:

dns
icmp
http
tcp.port == 443
ip.addr == 192.168.56.101
  • dns shows only DNS lookups, where your computer asks "what is the address of this name?".
  • icmp shows ping traffic.
  • http shows plain, unencrypted web traffic.
  • tcp.port == 443 shows traffic on port 443, which is used by HTTPS.
  • ip.addr == 192.168.56.101 shows packets to or from one address. Replace it with an address from your own lab.

The filter bar turns green when the filter is valid and red when it is not.

What you can learn from a capture

  • DNS in action. You can see your computer ask for example.com's address, and the answer coming back.
  • The TCP handshake. Look for packets marked SYN, SYN/ACK and ACK. That is how two computers start a connection.
  • Why HTTPS matters. With the http filter you can read the request and the page content in plain text. With HTTPS traffic you see that a connection exists, but the content is encrypted.

Why this is useful for security

Seeing real packets makes security ideas concrete. It explains why unencrypted logins are risky, why Nmap scans leave a trail in network logs, and how defenders spot strange behaviour. A good exercise is to run an Nmap scan against your own lab machine while Wireshark is capturing, then look at the packets that scan created.

Common beginner mistakes

  • Capturing without permission. Stay on your own machine or lab.
  • Getting lost in the noise. Use display filters early and often.
  • Expecting to read everything. Most modern traffic is encrypted, so you will not see passwords or page content on HTTPS connections.
  • Forgetting to stop the capture. Long captures create huge files. Stop, then save with File → Save As if you want to keep one.
  • Choosing the wrong interface. If nothing appears, check you selected the one with activity.

Final thoughts

Wireshark turns invisible network activity into something you can read. Start by capturing your own traffic, learn three or four filters, and ask yourself what each packet is doing. After an hour of practice, topics like DNS, TCP and HTTPS will make much more sense.

Which would you like next: a guide to protecting your own accounts, or setting up a vulnerable practice VM? Tell me in the comments, and follow the blog for more guides on Kali Linux, programming, AI and crypto.

Thursday, 22 October 2026

Bitcoin vs Ethereum: What's the Difference?

"Bitcoin vs Ethereum Explained" showing a quick comparison (BTC as digital gold, ETH as smart contracts, both very volatile, no guaranteed profit) with a note that this is education, not financial advice.

Bitcoin and Ethereum are the two biggest names in crypto, and beginners often treat them as the same thing. They are not. They were built for different jobs, they work differently, and understanding that difference helps you read crypto news without getting lost.

In this guide you will learn what each one is, how they differ, and the common mistakes beginners make when comparing them.

This post is general education, not financial advice. Crypto prices can swing wildly, you can lose all the money you put in, and nobody can promise you a profit.

The quick answer

  • Bitcoin was created as digital money that works without a bank. Many people describe it as "digital gold", something to store and send value.
  • Ethereum was created as a platform. Besides its own coin, it lets developers run programs called smart contracts on its network.

A simple way to remember it: Bitcoin is mainly a coin, while Ethereum is a computer network that also has a coin.

What is Bitcoin?

Bitcoin launched in 2009. It was created by a person or group using the name Satoshi Nakamoto, whose real identity is still unknown. Its goal was to let people send money directly to each other over the internet, without a bank in the middle.

  • Limited supply: only 21 million bitcoins can ever exist. This fixed limit is one reason people compare it to gold.
  • Proof of work: computers called miners compete to add new blocks of transactions to the chain, and the winner is rewarded with new bitcoin. This uses a lot of computing power and electricity.
  • Halvings: roughly every four years, the reward for adding a block is cut in half, which slows the creation of new bitcoin.
  • Simple by design: Bitcoin is deliberately limited in what it can do, which many fans see as a strength for security.

What is Ethereum?

Ethereum launched in 2015, and Vitalik Buterin is its best-known co-founder. Its big idea was to make a blockchain that can run programs, not just record payments.

  • Smart contracts: these are programs stored on the blockchain that run automatically when conditions are met. They power many apps, such as decentralized exchanges, NFTs and lending platforms.
  • Ether (ETH): the coin used to pay fees (often called "gas") for using the network.
  • Proof of stake: in September 2022, Ethereum switched from mining to a system where participants lock up ("stake") their ETH to help validate transactions. This change cut the network's energy use by a very large amount.
  • No fixed cap: unlike Bitcoin, ETH does not have a hard limit on total supply.

Bitcoin vs Ethereum at a glance

FeatureBitcoin (BTC)Ethereum (ETH)
Launched20092015
Main purposeDigital money and store of valuePlatform for apps and smart contracts
SupplyCapped at 21 millionNo fixed cap
How it is securedProof of work (mining)Proof of stake (staking)
What the coin is used forSending and holding valuePaying network fees and running apps
FlexibilitySimple and limited by designProgrammable and flexible

Are they competitors?

Not exactly. Because they do different things, many people see them as complementary rather than rivals. Still, the crypto world has strong fans on both sides, so be careful of anyone who says one is "guaranteed" to beat the other. Nobody knows the future.

Common beginner mistakes

  • Judging by price alone. A coin with a lower price per unit is not "cheaper" in a meaningful way. What matters is the total value of all its coins (the market cap), not the price of one.
  • Buying because of hype. Social media and "influencers" can push you to buy at the worst moment.
  • Putting in more than you can lose. Only use money you can afford to lose completely.
  • Ignoring security. Use strong passwords and two-factor authentication, and never share your seed phrase. My guide on crypto scams explains this in detail.
  • Believing "guaranteed profit" promises. Anyone promising guaranteed returns is lying or running a scam.

Questions to ask before you ever buy any crypto

  1. Do I understand what this coin or project actually does?
  2. Can I afford to lose every cent I put in?
  3. Am I buying because of research, or because of fear of missing out?
  4. Do I know how to store it securely?
  5. Am I using a trusted, regulated platform, not a link someone sent me?

Final thoughts

Bitcoin is best understood as a scarce digital asset and payment network, while Ethereum is a programmable platform with its own coin. Knowing that difference is the first step to understanding every other project you will read about. Learn first, start small if you ever decide to invest, and protect your accounts.

Which would you like me to explain next: how a blockchain works, or the difference between hot and cold wallets? Tell me in the comments, and follow the blog for more guides on crypto, programming, AI and Kali Linux.

Wednesday, 21 October 2026

Python for Absolute Beginners: Your First 10 Lines of Code

Your First 10 Lines of Python" showing a code window named first.py with print, input and if statements, a warning about forgetting the colon, and the note

Python is one of the best first programming languages. Its code reads almost like plain English, it is free, and it is used for websites, data analysis, automation and AI. The hardest part is simply getting started.

In this guide you will install Python, write a real program in just 10 lines, run it, and understand what every line does. No experience needed.

The best way to learn is to type the code yourself instead of copying and pasting. Your fingers and brain learn together.

Step 1: Install Python

Download Python from the official site, python.org, and install it. On Windows, tick the box that says "Add Python to PATH" during setup. Kali Linux and most Linux systems already include Python 3.

Check that it works by opening a terminal (or Command Prompt) and running:

python3 --version

On Windows the command may be python --version or py --version instead. You should see something like Python 3.12.x. Any recent Python 3 version is fine for this guide.

Step 2: Create your file

Open any plain text editor (Notepad, VS Code, or Mousepad on Kali), and create a new file called first.py. The .py ending tells your computer it is a Python file.

Step 3: Type your first 10 lines

print("Hello, world!")
name = input("What is your name? ")
print("Nice to meet you,", name)
age = int(input("How old are you? "))
if age >= 18:
    print("You are an adult.")
else:
    print("You are under 18.")
for i in range(1, 4):
    print("Counting:", i)

Note that lines 6, 8 and 10 start with four spaces. That space at the beginning is called indentation, and Python uses it to know which lines belong together.

Step 4: Run it

In your terminal, go to the folder where you saved the file and run:

python3 first.py

(Use python first.py or py first.py on Windows.) The program will ask for your name and age, then print a message. If you enter the name Sam and the age 20, you will see:

Hello, world!
What is your name? Sam
Nice to meet you, Sam
How old are you? 20
You are an adult.
Counting: 1
Counting: 2
Counting: 3

What does each line do?

Line 1: print

print("Hello, world!") shows text on the screen. The text goes inside quotes, and the quotes mark it as text, which programmers call a string.

Line 2: variables and input

name = input("What is your name? ") asks the user a question and waits for an answer. The answer is stored in a variable called name. Think of a variable as a labeled box that holds a value.

Line 3: print with a variable

print("Nice to meet you,", name) prints the text and the value stored in name. Notice there are no quotes around name, because we want its value, not the word "name".

Line 4: numbers

input() always gives you text, even if the user types digits. The int() function converts that text into a whole number, so Python can compare it. Without it, the next line would fail.

Lines 5 to 8: making decisions

if age >= 18: checks a condition. If it is true, Python runs the indented line below it. If not, it runs the lines after else:. The colon at the end of if and else is required.

Lines 9 and 10: repeating

for i in range(1, 4): is a loop. It repeats the indented line below it, with i taking the values 1, 2 and 3. The range stops before the last number, so range(1, 4) counts 1, 2, 3, not 4.

Errors are normal (and helpful)

Try running the program again and type the word abc as your age. Python will stop with an error that ends like this:

ValueError: invalid literal for int() with base 10: 'abc'

This is not a failure. Read the last line of any error, because it tells you what went wrong. Here Python is saying it can't turn "abc" into a number. Every programmer sees errors every day, and reading them is a core skill.

Common beginner mistakes

  • Missing quotes. print(Hello) fails because Python thinks Hello is a variable. Text needs quotes.
  • Forgetting the colon. if, else and for lines must end with :.
  • Wrong indentation. The line under a colon must be indented, and lines that belong together must use the same amount of spaces.
  • Case sensitivity. Print is not the same as print, and Name is not the same as name.
  • Wrong quotes. Use straight quotes ("), not curly "smart" quotes copied from a document.

Try it yourself: 4 small challenges

  1. Change the program so that it also asks for your favourite colour and prints it back.
  2. Change 18 to 21 and see how the result changes.
  3. Make the loop count from 1 to 10.
  4. Print the age the user will be next year (hint: age + 1).

Try each one on your own before searching for the answer. If you get stuck, you can ask an AI assistant to explain the error, but ask it to explain rather than write the solution for you.

What to learn next

You have now used the four building blocks of almost every program: output (print), variables, decisions (if) and loops (for). Next, learn more about strings and numbers, then functions and lists. That path will carry you to your first small projects.

Final thoughts

Ten lines may look small, but you just wrote a program that talks to the user, makes a decision and repeats an action. Everything else in programming builds on these ideas. Keep the file, change it, break it and fix it. That is how every programmer learns.

Did your program run on the first try? Tell me in the comments, and follow the blog for more guides on programming, AI, crypto and Kali Linux.

Monday, 19 October 2026

Linux Commands Every Kali Beginner Should Know

Dark cover titled “Linux Commands for Kali Beginners” showing a terminal window listing ls, cd and grep with a warning that rm has no undo, and the note “Take a snapshot, then practice freely”.

Kali Linux is full of powerful tools, but almost everything you do with it starts in the terminal. If the black window with a blinking cursor feels intimidating, this guide is for you. You don't need to memorize hundreds of commands. About fifteen of them cover most of what a beginner does every day.

Every command below is safe to try in your own Kali virtual machine. If you haven't set one up yet, read my guide on building a safe Kali practice lab first, and take a snapshot before you experiment.

Golden rule: the terminal does exactly what you type, with no "Are you sure?" for most commands. Read a command before you press Enter, especially if it contains sudo or rm.

How to read a command

Most commands follow the same pattern:

command  -options  target

For example, in ls -l /home, ls is the command, -l is an option that changes how it behaves, and /home is the target. If you ever forget how a command works, ask the system itself:

man ls
ls --help

Press q to leave the manual page.

1. Where am I, and who am I?

pwd
whoami

pwd ("print working directory") shows the folder you are currently in. whoami shows which user you are logged in as. Check these whenever you feel lost.

2. Look around: ls

ls
ls -l
ls -la

ls lists the files in the current folder. -l shows details such as size, owner and permissions. -a also shows hidden files, which start with a dot (like .bashrc).

3. Move around: cd

cd Documents
cd ..
cd ~
cd /
  • cd Documents goes into the Documents folder.
  • cd .. goes up one level.
  • cd ~ goes to your home folder.
  • cd / goes to the root of the whole system.

Tip: press Tab to auto-complete file and folder names. It saves typing and prevents typos.

4. Create folders and files

mkdir lab
cd lab
touch notes.txt

mkdir makes a new folder, and touch creates an empty file.

5. Read files: cat, head, tail, less

cat notes.txt
head -n 5 /etc/passwd
tail -n 5 /etc/passwd
less /etc/passwd
  • cat prints a whole file.
  • head and tail show the first or last lines.
  • less lets you scroll through a long file. Press q to quit.

6. Write text to a file: echo

echo "My first note" > notes.txt
echo "A second line" >> notes.txt
cat notes.txt

A single > replaces the file's contents, while >> adds to the end. Mixing them up is a classic beginner mistake that erases your notes.

7. Copy, move and rename

cp notes.txt backup.txt
mv backup.txt old-notes.txt
mv old-notes.txt ~/Documents/

cp copies a file. mv moves a file, and it is also how you rename one.

8. Delete with care: rm

rm old-notes.txt
rm -r lab

rm deletes files, and -r deletes a folder and everything in it. There is no recycle bin in the terminal, so deleted files are gone. Before you delete, run ls to check exactly what you are about to remove. Never run a command that combines rm -rf with sudo unless you fully understand what it does.

9. Search inside files: grep

grep "kali" /etc/passwd
grep -i "error" notes.txt
grep -n "root" /etc/passwd

grep finds lines containing a word. -i ignores upper and lower case, and -n shows line numbers. It is one of the most useful commands for reading logs and tool output.

10. Find files: find

find ~ -name "notes.txt"

This searches your home folder for a file called notes.txt.

11. Combine commands with a pipe

The pipe symbol | sends the output of one command into another:

ls -l /etc | less
cat /etc/passwd | grep "kali"

This is the idea that makes the terminal powerful: small commands chained together.

12. Permissions: chmod

Every file has permissions for reading (r), writing (w) and executing (x). See them with ls -l. To make a script runnable:

chmod +x myscript.sh
./myscript.sh

Avoid giving everything to everyone with commands like chmod 777. Give only the access that is needed.

13. Admin rights: sudo

sudo apt update
sudo apt full-upgrade -y

sudo runs a command with administrator rights. Use it only when a command needs it, such as installing software or changing system files, and never paste a sudo command from the internet without understanding it first.

14. Check your network: ip a

ip a

This shows your network interfaces and IP addresses. You will use it often to find your lab machine's address before running tools like Nmap on your own network.

15. Clear the screen and reuse commands

  • clear cleans the terminal (or press Ctrl+L).
  • Press the Up arrow to bring back previous commands.
  • Press Ctrl+C to stop a command that is running.
  • history lists the commands you typed earlier.

Practice exercise (10 minutes)

Try this in your own Kali VM to put everything together:

cd ~
mkdir practice
cd practice
echo "hello kali" > first.txt
echo "learning linux" >> first.txt
cp first.txt second.txt
ls -l
grep "kali" first.txt
cat first.txt | grep "linux"
cd ..
rm -r practice

Before you run it, predict what each line will do. Then check whether you were right. That habit of predicting first is the fastest way to learn.

Common beginner mistakes

  • Typing commands you don't understand. Look them up with man or the official documentation first.
  • Running everything as root. Use a normal user, and add sudo only when needed.
  • Forgetting that Linux is case sensitive. Notes.txt and notes.txt are different files.
  • Using rm carelessly. There is no undo, so check with ls first.
  • Not taking snapshots. A snapshot lets you undo a mistake in your VM in seconds.

Final thoughts

You don't learn the terminal by reading about it. You learn it by typing. Spend ten minutes a day in your Kali VM with these commands and they will become second nature, which makes every security tool easier to understand later, because those tools are just more commands.

Which should we cover next: Wireshark or a guide to protecting your own accounts? Tell me in the comments, and follow the blog for more guides on Kali Linux, programming, AI and crypto.

Sunday, 18 October 2026

How to Spot Fake AI Content: Text, Images, Voices and Video

Dark cover titled “How to Spot Fake AI Content” showing a verify checklist (check the source, reverse image search, call back to confirm, never act on urgency) and the note “Pause. Check the source. Then share.”

A voice message from "your boss" asking for an urgent payment. A photo of a celebrity endorsing a crypto giveaway. A news article that reads perfectly but cites nothing. A few years ago these were easy to dismiss. Today, AI can produce fake text, images, audio and video that look and sound convincing.

The good news: you don't need special software to protect yourself. Most fake content falls apart when you slow down and ask a few simple questions. This guide shows you what to check for text, images, voices and video, and a short routine you can use every time.

No single trick catches every fake. AI improves quickly, and old "tells" (like strange hands in images) disappear. Checking the source works better than judging how the content looks.

Why fake AI content matters

Fake content is not only a nuisance. It is used for scams (cloned voices asking for money, fake investment videos), misinformation (invented quotes and events), and harassment. Slowing down for ten seconds before you believe, share or send money is the most effective defence you have.

1. Fake AI text

AI-written text is usually fluent, which makes it hard to spot by style alone. Look for these warning signs instead:

  • Confident claims with no source. Real articles name where numbers and quotes come from.
  • Invented details. AI can make up statistics, studies, book titles and even links that don't exist. Search for any source it mentions.
  • Vague, generic wording. Lots of general statements, but no specific examples, names or dates.
  • No author or history. Who wrote it? Does the site have a real "About" page and other credible articles?

A word of caution about "AI detector" tools: they are unreliable. They can flag human writing as AI and miss real AI text, so don't treat their score as proof. Checking facts is more trustworthy.

2. Fake AI images

  • Run a reverse image search. Upload the picture to Google Lens or TinEye. If it is claimed to be a news photo, real outlets will usually have the original.
  • Look closely at details. Check text on signs and clothing, jewelry, teeth, reflections, background crowds and shadows. Errors here are common, though newer tools make fewer of them.
  • Check for context. Who posted it first? Is there a caption, location or date that can be confirmed?
  • Look for content credentials. Some images carry "Content Credentials" metadata that shows how they were made. Its absence proves nothing, but its presence can help.

3. Cloned voices and fake audio

With a short sample of someone's voice, scammers can create audio that sounds like them. A common trick is a call or voice note from a "family member" or "boss" in trouble who needs money right now.

  • Hang up and call back on the number you already have saved, not the one that called you.
  • Agree on a family code word that only real family members know, for use in emergencies.
  • Be suspicious of urgency and secrecy. "Don't tell anyone" and "do it in the next 10 minutes" are classic scam pressure.
  • Ask something only the real person would know and that can't be found online.

4. Fake videos (deepfakes)

  • Check the source first. Did the person's official account or a trusted news outlet publish it?
  • Watch the face and mouth. Lip movements that don't match the words, odd blinking or blurry edges around the face can be signs.
  • Be extra careful with videos that promise money. Famous people "doubling your crypto" is always a scam.
  • Search the claim. If a shocking video were real, major outlets and fact-checkers would be reporting on it.

A 4-step routine for anything suspicious

  1. Pause. Strong emotion (shock, fear, excitement) is how fakes get shared.
  2. Check the source. Who published it first, and are they trustworthy?
  3. Look for a second source. Search for the same story on reputable sites or a fact-checking service.
  4. Verify before acting. Never send money, passwords or personal information based on a message, call or video alone.

Final thoughts

You will not always be able to tell a fake by looking at it, and that is fine. What protects you is the habit of pausing, checking the source and confirming through a second channel. These habits work against today's fakes and against the better ones that are coming.

Have you seen a fake AI image, voice or video recently? Tell me in the comments what gave it away, and follow the blog for more guides on AI, programming, crypto and Kali Linux.