Forwarded from Machine Learning with Python
π Download 10 Python books for FREE:
1. Think Python β OβReilly
https://t.co/X7y3pX68IW
2. The Big Book of Small Python Projects
https://inventwithpython.com/bigbookpython/
3. Data Structures
https://opendatastructures.org/ods-python.pdf
4. Data Science Handbook
https://t.co/9aOLdiAbim
5. Data Analysis
https://wesmckinney.com/book/
6. Data Science
https://t.co/TusyBWGfrx
7. Machine Learning
https://t.co/7veOwESe8q
8. Statistics
https://t.co/waWDQylQpY
9. Think Bayes
https://allendowney.github.io/ThinkBayes2/
10. Clean Code in Python β Packt
https://t.co/OHhVgF1L65
#Python #FreeBooks #Programming #DataScience #MachineLearning #Coding
β¨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
βοΈ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
1. Think Python β OβReilly
https://t.co/X7y3pX68IW
2. The Big Book of Small Python Projects
https://inventwithpython.com/bigbookpython/
3. Data Structures
https://opendatastructures.org/ods-python.pdf
4. Data Science Handbook
https://t.co/9aOLdiAbim
5. Data Analysis
https://wesmckinney.com/book/
6. Data Science
https://t.co/TusyBWGfrx
7. Machine Learning
https://t.co/7veOwESe8q
8. Statistics
https://t.co/waWDQylQpY
9. Think Bayes
https://allendowney.github.io/ThinkBayes2/
10. Clean Code in Python β Packt
https://t.co/OHhVgF1L65
#Python #FreeBooks #Programming #DataScience #MachineLearning #Coding
β¨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
βοΈ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
β€6π₯1
Forwarded from Machine Learning with Python
https://substack.com/@husseinsheikho?utm_source=share&utm_medium=android&r=3hwnr8
Follow me to more posts and useful content
Follow me to more posts and useful content
Substack
Hussein Sheikho | Substack
AI and Machine Learning Blogger | Computer Vision & Image Processing | Python Developer. Sharing practical tutorials, innovative projects, and insights into deep learning and artificial intelligence.
β€1
π° 15-Hour "Python for Data Science" Course
β‘οΈ Learn Python for Data Science
https://enghusseinsheikho.substack.com/p/15-hour-python-for-data-science-course?r=3hwnr8&utm_campaign=post&utm_medium=web&showWelcomeOnShare=true
#Python #DataScience #Coding #Tech #Learning #FreeCourse
β¨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
βοΈ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
β‘οΈ Learn Python for Data Science
https://enghusseinsheikho.substack.com/p/15-hour-python-for-data-science-course?r=3hwnr8&utm_campaign=post&utm_medium=web&showWelcomeOnShare=true
#Python #DataScience #Coding #Tech #Learning #FreeCourse
β¨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
βοΈ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
π2π2β€1
π₯ Free IT & Dev Study Kits β 2026 Prep, No Signup
If youβre prepping for cloud, dev, or AI roles this year, these free kits cover the gaps most people skip β cert basics, hands-on labs, and mock exams. No signup traps, no hidden fees.
π Cert E-Book β covers Cisco & AWS fundamentals, good for first-time cert takers
β https://bit.ly/4yrk1Ti
πͺ Online Free Course β structured path, works as a refresher before exams
β https://bit.ly/4hUprRP
βοΈ Free AI Materials β LLM basics to fine-tuning practice notebooks
β https://bit.ly/4yt1iXy
π Cloud Study Guide β cheat-sheet style, handy for interview prep
β https://bit.ly/4el4Eod
π§ Free Mock Exam β test yourself before booking the real thing
β https://bit.ly/4sbWlkl
π Save this or forward it to your dev/study group β good resources are worth sharing. πͺ
π Community: https://chat.whatsapp.com/CS7VOvQCLZG5BJPazBGm1v
π² Personalized help: https://wa.link/xd2fu6
#Python #Cloud #AWS #Cisco #AI #MachineLearning #DevOps #ITCertification #FreeResources #TechCareers
If youβre prepping for cloud, dev, or AI roles this year, these free kits cover the gaps most people skip β cert basics, hands-on labs, and mock exams. No signup traps, no hidden fees.
π Cert E-Book β covers Cisco & AWS fundamentals, good for first-time cert takers
β https://bit.ly/4yrk1Ti
πͺ Online Free Course β structured path, works as a refresher before exams
β https://bit.ly/4hUprRP
βοΈ Free AI Materials β LLM basics to fine-tuning practice notebooks
β https://bit.ly/4yt1iXy
π Cloud Study Guide β cheat-sheet style, handy for interview prep
β https://bit.ly/4el4Eod
π§ Free Mock Exam β test yourself before booking the real thing
β https://bit.ly/4sbWlkl
π Save this or forward it to your dev/study group β good resources are worth sharing. πͺ
π Community: https://chat.whatsapp.com/CS7VOvQCLZG5BJPazBGm1v
π² Personalized help: https://wa.link/xd2fu6
#Python #Cloud #AWS #Cisco #AI #MachineLearning #DevOps #ITCertification #FreeResources #TechCareers
β€4
image.jpg
1.7 MB
Python is the #1 language in AI. π
But you donβt need to learn all of it. (save this) π
#Python #AI #Programming #DataScience #MachineLearning #Tech
β¨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
βοΈ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
But you donβt need to learn all of it. (save this) π
#Python #AI #Programming #DataScience #MachineLearning #Tech
β¨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
βοΈ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
β€5
In Python 3.15, a single asterisk replaces nested loops. πβ¨
Previously, to flatten a list, you would write:
Now, you can simply use:
A double asterisk merges dictionaries: π¦
When keys overlap, the last value wins β this is convenient for combining settings from multiple sources. βοΈ
Unpacking removes one level of nesting. In Python 3.14, this syntax within comprehensions will raise a
https://peps.python.org/pep-0798/
#Python #Python315 #Programming #CodingTips #TechNews #Developer
β¨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
βοΈ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
Previously, to flatten a list, you would write:
rows = [[1, 2], [3], [4, 5]]
flat = [x for row in rows for x in row]
Now, you can simply use:
flat = [*row for row in rows]
# [1, 2, 3, 4, 5]
A double asterisk merges dictionaries: π¦
configs = [
{"debug": False, "timeout": 10},
{"timeout": 30},
]
config = {**part for part in configs}
# {'debug': False, 'timeout': 30}
When keys overlap, the last value wins β this is convenient for combining settings from multiple sources. βοΈ
Unpacking removes one level of nesting. In Python 3.14, this syntax within comprehensions will raise a
SyntaxError. π«https://peps.python.org/pep-0798/
#Python #Python315 #Programming #CodingTips #TechNews #Developer
β¨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
βοΈ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
Python Enhancement Proposals (PEPs)
PEP 798 β Unpacking in Comprehensions | peps.python.org
This PEP proposes extending list, set, and dictionary comprehensions, as well as generator expressions, to allow unpacking notation (* and **) at the start of the expression, providing a concise way of combining an arbitrary number of iterables into one...
β€7
Forwarded from Machine Learning with Python
π¨ SURPRISE ALERT! π¨
Stop paying full price on Udemy. Seriously. πΈ
I built a bot that hunts down 100% FREE Udemy coupons 24/7 β while you sleep, eat, or scroll. π―
Here's the magic:
π Mini App catalog β every active free coupon in one place
π Auto-push β new courses land straight in your chat
π’ Live channel β never miss a deal
Why it matters?
Most people pay $200+ for courses you can grab for $0 β if you know where to look. Now you have a bot that does the looking for you. β‘
π Try it now: https://t.me/UdemySybot?start=adsun
Your future self (and your wallet) will thank you. π
Stop paying full price on Udemy. Seriously. πΈ
I built a bot that hunts down 100% FREE Udemy coupons 24/7 β while you sleep, eat, or scroll. π―
Here's the magic:
π Mini App catalog β every active free coupon in one place
π Auto-push β new courses land straight in your chat
π’ Live channel β never miss a deal
Why it matters?
Most people pay $200+ for courses you can grab for $0 β if you know where to look. Now you have a bot that does the looking for you. β‘
π Try it now: https://t.me/UdemySybot?start=adsun
Your future self (and your wallet) will thank you. π
Telegram
Free Courses Bot
The first bot in the world of Telegram that offers free courses, free certificates.
β€1
Forwarded from Machine Learning with Python
π 500+ Cheat Sheets on Machine Learning
This repository contains materials on virtually everything: from basic algorithms and mathematics to neural networks, transformers, and advanced Deep Learning.
Each cheat sheet includes theory, formulas, Python examples, and tips on how to apply them.
β You can find it here
https://github.com/gurovic/MLCheatSheets
#MachineLearning #DeepLearning #Python #DataScience #NeuralNetworks #AI
β¨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
βοΈ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
This repository contains materials on virtually everything: from basic algorithms and mathematics to neural networks, transformers, and advanced Deep Learning.
Each cheat sheet includes theory, formulas, Python examples, and tips on how to apply them.
β You can find it here
https://github.com/gurovic/MLCheatSheets
#MachineLearning #DeepLearning #Python #DataScience #NeuralNetworks #AI
β¨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
βοΈ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
β€1
π Django 6.1: Loading related data on demand, cascading deletion handled by the database, and a new email configuration.
The release was made on August 5th. Three major changes:
1. New Field Loading Modes π
In this example, Django executes two queries: one for the books and one for their authors.
The
2. Deletion at the Database Level π
For
Note:
3. Multiple Email Backends π§
The
Before upgrading, check your database versions: you need PostgreSQL 15+, MySQL 8.4+, MariaDB 10.11+, or SQLite 3.37+.
π https://www.djangoproject.com/weblog/2026/aug/05/django-61-released/
#Django #Python #WebDevelopment #Django61 #Backend #TechNews
β¨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
βοΈ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
The release was made on August 5th. Three major changes:
1. New Field Loading Modes π
FETCH_PEERS retrieves data for related objects from the same QuerySet when accessing an un-loaded field. This helps combat the N+1 problem:from django.db import models
books = Book.objects.fetch_mode(models.FETCH_PEERS)
for book in books:
print(book.author.name)
In this example, Django executes two queries: one for the books and one for their authors.
The
FETCH_RAISE mode raises an exception instead of performing an implicit query β useful for detecting unexpected database accesses.2. Deletion at the Database Level π
For
ForeignKey.on_delete, the options DB_CASCADE, DB_SET_NULL, and DB_SET_DEFAULT are now available. The logic is handled directly by the database using SQL ON DELETE.Note:
DB_CASCADE does not trigger pre_delete and post_delete signals.3. Multiple Email Backends π§
The
MAILERS configuration allows you to define different connections using a dictionary, and you can select the desired connection when sending emails using the using parameter.Before upgrading, check your database versions: you need PostgreSQL 15+, MySQL 8.4+, MariaDB 10.11+, or SQLite 3.37+.
π https://www.djangoproject.com/weblog/2026/aug/05/django-61-released/
#Django #Python #WebDevelopment #Django61 #Backend #TechNews
β¨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
βοΈ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
Django Project
Django 6.1 released
Posted by Jacob Walls on Aug. 5, 2026
β€2
Why regular expressions can hang on a simple string
Even a short string can cause a regular expression to take seconds or minutes to execute. The reason is catastrophic backtracking, where the engine tries a huge number of matching possibilities.
Let's look at an example:
Output:
The expression
The number of possibilities grows rapidly with the length of the string. Let's check the execution time:
The time depends on the processor and the version of Python, but for this pattern, you'll see an exponential increase in execution time as the number of
If you need to check if a string consists only of
Output:
But not every problematic pattern can be simplified so easily. Starting with Python 3.11, the
They prevent the engine from backtracking inside a successfully matched group to try other possibilities:
Output:
The group
In Python 3.11, possessive quantifiers are also available:
Output:
Here,
However, possessive quantifiers can change the matching result:
Output:
A regular
Let's compare the performance of all three options using
Here, the total time for ten runs of each pattern is measured. It's useful to test strings that almost match the expression but contain an incorrect character at the end.
π₯ Ambiguous nested repetitions can cause exponential growth in execution time. Atomic groups and possessive quantifiers help limit backtracking, but only if their use preserves the necessary matching logic.
Even a short string can cause a regular expression to take seconds or minutes to execute. The reason is catastrophic backtracking, where the engine tries a huge number of matching possibilities.
Let's look at an example:
import re
pattern = re.compile(r"(a+)+$")
text = "a" * 18 + "!"
print(bool(pattern.fullmatch(text)))
Output:
False
The expression
(a+)+$ looks simple, but the problem lies in the nested quantifiers (a+)+. When the engine encounters the !, the match fails. However, before giving up, it tries various ways to distribute the a characters among the repetitions.The number of possibilities grows rapidly with the length of the string. Let's check the execution time:
import re
from time import perf_counter
pattern = re.compile(r"(a+)+$")
for size in (10, 12, 14, 16, 18):
text = "a" * size + "!"
start = perf_counter()
pattern.fullmatch(text)
elapsed = perf_counter() - start
print(size, f"{elapsed:.6f} ΡΠ΅ΠΊ.")
The time depends on the processor and the version of Python, but for this pattern, you'll see an exponential increase in execution time as the number of
a characters increases. This is dangerous when processing user input or external data.If you need to check if a string consists only of
a characters, nested repetitions are not necessary:pattern = re.compile(r"a+")
print(bool(pattern.fullmatch("aaaa")))
print(bool(pattern.fullmatch("aaaa!")))
Output:
True
False
But not every problematic pattern can be simplified so easily. Starting with Python 3.11, the
re module supports atomic groups (?x).They prevent the engine from backtracking inside a successfully matched group to try other possibilities:
import re
pattern = re.compile(r"(?x)a+!$")
print(bool(pattern.fullmatch("aaaa")))
print(bool(pattern.fullmatch("aaaa!")))
Output:
True
False
The group
(?x)a+ fixes the captured sequence of characters. The engine can no longer redistribute them within the group, which eliminates catastrophic backtracking in this example.In Python 3.11, possessive quantifiers are also available:
*+, ++, and ?+. They do not release captured characters during backtracking:pattern = re.compile(r"(a++)+$")
print(bool(pattern.fullmatch("aaaa")))
print(bool(pattern.fullmatch("aaaa!")))
Output:
True
False
Here,
a++ is equivalent to (?x)a+, so nested repetitions no longer cause exponential backtracking.However, possessive quantifiers can change the matching result:
import re
print(bool(re.fullmatch(r"a+a", "aa")))
print(bool(re.fullmatch(r"a++a", "aa")))
Output:
True
False
A regular
a+ might return one character for the last a. The quantifier a++ does not allow this.Let's compare the performance of all three options using
timeit:import re
import timeit
text = "a" * 18 + "!"
patterns = {
"nested": re.compile(r"(a+)+$"),
"atomic": re.compile(r"(?x)a+!$"),
"possessive": re.compile(r"(a++)+$"),
}
for name, pattern in patterns.items():
elapsed = timeit.timeit(
lambda: pattern.fullmatch(text),
number=10
)
print(name, f"{elapsed:.6f} ΡΠ΅ΠΊ.")
Here, the total time for ten runs of each pattern is measured. It's useful to test strings that almost match the expression but contain an incorrect character at the end.
π₯ Ambiguous nested repetitions can cause exponential growth in execution time. Atomic groups and possessive quantifiers help limit backtracking, but only if their use preserves the necessary matching logic.
β€1