Skip to main content

Contrast Checker: How to Calculate Color Contrast in Python

· 6 min read
Serhii Hrekov
software engineer, creator, artist, programmer, projects founder

Designing a beautiful UI is pointless if half your users can't read it. Whether it's a person with a visual impairment or someone trying to check their phone on a sunny day, color contrast is the secret sauce of accessible design.

The WCAG (Web Content Accessibility Guidelines) provides a mathematical way to ensure text stands out against its background. Let's integrate a "Contrast Checker" into our Python toolkit.

How to convert colors in Python: A Comprehensive Guide to RGB, HSL, HWB, CMYK, and HEX

· 6 min read
Serhii Hrekov
software engineer, creator, artist, programmer, projects founder

Converting colors in Python is a fascinating mix of dictionary lookups (for names like "tomato") and coordinate geometry. While we can use the built-in colorsys module for some parts, we'll need the webcolors library to handle CSS names and some custom math to reach the more "exotic" formats like HWB and CMYK.

Detect Google AdSense on "Tough" Sites with Playwright

· 5 min read
Serhii Hrekov
software engineer, creator, artist, programmer, projects founder

When standard requests scripts fail with a 403 Forbidden or a Cloudflare "Verify you are human" challenge, it's usually because the website is looking for real browser behavior (like rendering JavaScript or moving a mouse).

Playwright is a modern browser automation library that acts like a real human using Chrome, Firefox, or Safari. It can bypass simple bot detection and see exactly what a user sees, making it the ultimate tool for AdSense detection on "tough" sites.

How to Detect Google AdSense on a Website with Python

· 5 min read
Serhii Hrekov
software engineer, creator, artist, programmer, projects founder

Detecting whether a website is running Google AdSense is a common task for digital marketers, SEO researchers, and competitive analysts. From a technical perspective, AdSense works by injecting a specific JavaScript library into the page, usually accompanied by a unique "Publisher ID" (formatted as pub-xxxxxxxxxxxxxxxx).

In Python, we can identify these markers by "scraping" the HTML and searching for the signature AdSense scripts.

How to Download YouTube Thumbnails in Python (Without Pytube)

· 5 min read
Serhii Hrekov
software engineer, creator, artist, programmer, projects founder

Downloading a YouTube thumbnail is a classic Python task that involves two main steps: extracting the unique Video ID from a URL and then fetching the image from Google's thumbnail servers.

Because YouTube uses a predictable URL structure for its images, you don't actually need the heavy pytube library just to get the thumbnail-standard requests will do the trick!

Pydantic for JSON Validation in Python

· 6 min read
Serhii Hrekov
software engineer, creator, artist, programmer, projects founder

In our last article(python simpleeval examples), we built a dynamic rules engine using simpleeval. But there is a golden rule in software engineering: Garbage In, Garbage Out.

If your rules engine expects a checkout cart to have a cart_total (a number) and a user_role (a string), but the frontend accidentally sends {"cart_total": "free", "role": null}, your engine will crash. Before untrusted JSON data ever reaches your core logic, it needs to pass through a strict gatekeeper. In modern Python, that gatekeeper is Pydantic.

Analyzing YouTube Comment Sentiment with Python

· 4 min read
Serhii Hrekov
software engineer, creator, artist, programmer, projects founder

Analyzing the "vibe" of a YouTube comment section is a fantastic way to use Python for data science. Since yt-dlp doesn't always handle large-scale comment scraping easily, we'll use the YouTube Data API v3 (the official way) and the TextBlob library to perform the sentiment analysis.

This script will tell you if the first 100 commenters are mostly happy, angry, or neutral.

Get Youtube Video Metadata with Python (yt-dlp)

· 5 min read
Serhii Hrekov
software engineer, creator, artist, programmer, projects founder

While simply grabbing a thumbnail only requires a basic URL trick, accessing a video's metadata-like its title, view count, and description-requires a tool that can "scrape" or "query" the actual page data.

In the Python world, the gold standard for this is yt-dlp. It is a faster, more frequently updated successor to the original youtube-dl. Unlike the official Google API, yt-dlp doesn't require an API key or complex project setup, making it perfect for quick scripts.

SimpleEval with Examples

· 5 min read
Serhii Hrekov
software engineer, creator, artist, programmer, projects founder

While simpleeval is great for basic calculators, its true power shines in production environments where you need to let users define their own logic-like setting up custom alerts, dynamic pricing discounts, or conditional triggers-without exposing your server to malicious code execution.

How to sign your commits with a GPG key so that "Verified" badge appears next to your name on GitHub?

· 5 min read
Serhii Hrekov
software engineer, creator, artist, programmer, projects founder

That "Verified" badge on GitHub isn't just for show-it's a cryptographic guarantee that the code actually came from you and hasn't been tampered with. Without it, anyone can technically spoof your name and email in a Git commit.

By using GPG (GNU Privacy Guard), you "seal" your commits with a private key that only you possess. GitHub then uses your public key to verify that seal.

Looking for more content?
Hrekov Blog contains 275 articles. Browse the blog archive or Explore the full timeline.