Posts

Compress a Folder of Images with Python

Compress a Whole Folder of Images with Python (Resize + Subfolders + Smart PNG→JPEG) If you keep images for a blog, documentation, or a project folder, file size becomes a problem fast. Big images slow down pages, take space, and make sharing annoying. This script automates the cleanup: it walks through a folder (and subfolders), optionally resizes images to a max width, compresses JPEGs, compresses PNGs, and can convert PNG to JPEG when it actually makes sense. When this is useful Before publishing: shrink images for faster blog load times. Docs + screenshots: reduce size without manually exporting every file. Photo folders: compress camera images and keep a clean “compressed” copy. Automation: run it after exporting images from tools like Snipping Tool, Photoshop, or PowerPoint. What it does Walk subfolders automatically and keeps the same folder structure in the output. Resize to a max width (keeps aspect ratio, never upscales). Compress JPEG us...

Testing with Pytest

Image
Pytest fixtures: clean tests without the ceremony Pytest makes testing feel less like a chore and more like a safety net—especially once fixtures enter the picture. Meta description suggestion: Learn how Pytest fixtures and markers help you write clean, isolated tests that scale—from simple unit tests to large CI pipelines. Quick jumps Why Pytest clicks The testing problem Using fixtures the right way Markers for test control Pros & cons Wrap-up Why Pytest clicks Pytest is one of those tools that feels obvious after you’ve used it for a bit. Tests are just functions. Assertions read like normal Python. And when you need context—database sessions, config, mock data—you reach for fixtures instead of duct tape. The big idea Pytest fixtures handle setup and teardown for you, so eac...

Generate a PDF Invoice from a Web Form with Flask + WeasyPrint

Generate a PDF Invoice from a Web Form with Flask + WeasyPrint If you already collect invoice details in a simple web form, the next step is usually: generate a clean PDF and download it. This Flask + WeasyPrint setup does exactly that. User submits a form, Flask renders an HTML invoice template, and WeasyPrint converts that HTML into a PDF you can download right away. Typical use cases Quick internal invoices (freelance, side projects, small business) Generate PDFs from structured form data (quotes, receipts, reports) Create consistent PDFs using HTML/CSS instead of “drawing” PDFs manually Install pip install flask weasyprint Note: WeasyPrint may require OS-level libraries depending on your system (common on Linux). If install fails, check the WeasyPrint docs for your OS. Improved script (safer, cleaner, returns PDF download) Changes from the original: Returns the PDF as a download instead of saving a fixed invoice.pdf on disk Basic input cleanup + ...

How to Insert Code Blocks in Blogger (Blogspot)

How to Insert Code Blocks in Blogger (Blogspot) If you write about Python, SQL, PowerShell, or anything technical, you’ll eventually need clean code blocks that don’t break formatting. Blogger doesn’t have a perfect “code block” button by default, but you can get reliable results with a few simple patterns. Method 1: The simple, built-in way (<pre><code>) This is the most common and reliable method. You write your post normally, switch to HTML view , and wrap your code with <pre><code>...</code></pre> . Open your post in Blogger. Switch the editor to HTML view (look for an HTML / <> toggle or dropdown). Paste your code wrapped like this (example below). Example (Python): import requests from selectolax.parser import HTMLParser import re def extract_emails(url): response = requests.get(url) tree = HTMLParser(response.text) emails = set(re.findall(r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}", t...

SSRS Font Weight expressions

Image
Recently I was tasked to edit an old SSRS report, the report has multiple columns and I need to change the font weight to BOLD based on a specific value. It's so simple but annoying that it needs to be done manually to all the columns that you need the expression to check. which was 25 columns in my case! Steps: Right-click on the column and select "text Box Properties" Select "Font" from the left menu Next to BOLD click on the expression menu In the expression screen; write the expression based on your column and the condition. =IIF(Fields!JB.Value > 0, "Bold","Normal") So here I'm setting the Property "FontWeight" of the textbox to be "Bold" when the value is greater than 0, otherwise, you're setting it to "Normal". hope that helps!

Splunk - Mini Blog - Why learn Splunk after the age of 40! my Journey from MSBI to Splunk certified!

Why would you learn Splunk! Why particularly I choose Splunk! In today's world, data is king! we know that as a BI developers already !!  and cybersecurity is a critical component of every organization's IT infrastructure. As a business intelligence and data scientist developer, you may have heard of Splunk, a powerful software platform used for analyzing and monitoring machine-generated data. If you are looking to enhance your career and be open to new opportunities in the new hot trend of cybersecurity, learning Splunk and getting certified can be a game-changer for you, you still also can write dashboards, reports and alerts in Splunk! Yep!! So, why should you learn Splunk and get certified in it? Let's take a closer look at some of the reasons why Splunk is the future of cybersecurity. Splunk is a Leader in the Cybersecurity Industry Splunk is one of the most widely used cybersecurity tools in the industry. It has been recognized as a leader in the Gartner Magic Quadran...

Splunk - Mini Blog - How to learn Splunk after the age of 40! my Journey to get Splunk certified!

Learning Splunk, or any new technology, can be challenging at any age, but it's never too late to start. In this series I'll blog and document my personal experience at age of 40 to learn about Splunk to get certified to further enhance my career Here are some tips that can help you learn Splunk quickly and effectively: Start with the basics: Familiarize yourself with the Splunk architecture and its core concepts, such as indexing, search, and reporting. Why? How? When? Get hands-on experience: Splunk is a tool that can be learned best by doing. Create your own instances and practice with sample data to get a feel for how it works. How? Cost? When? Take online courses: There are many online courses and tutorials available that can help you learn Splunk quickly. Consider taking an online course to get a comprehensive understanding of the tool. Where? Cost? When? Join the Splunk Community: The Splunk community is a great resource for learning and getting support. Join the Splunk ...