n8n alternatives

I recently discovered that there are a few solid, self-hosted alternatives to n8n. Here’s a quick comparison of their GitHub stars and key features (as of Nov. 26, 2025):

Platform GitHub Stars Self-hosted Focus / Best Use Case
n8n 159k ✅ Yes General-purpose workflow automation with powerful code node. Ideal for complex multi-service automations and ETL tasks.
Activepieces 19.3k ✅ Yes Low-code/no-code automation with occasional custom JS support. Good for lighter, simpler workflows.
Windmill 15.2k ✅ Yes Developer-centric automation using scripts (Python/TypeScript/Go). Great for internal tools and backend workflows.
Automatisch 13.4k ✅ Yes Simplified Zapier-style automation. Best for small, straightforward tasks when ease and self-hosting matter.

Summary: n8n remains the most powerful and versatile, while Activepieces and Windmill offer lighter or more code-centric alternatives. Automatisch is best if you just need simple self-hosted automations.

WordPress Lost Its Soul

What happened to WordPress?

The whole ecosystem—themes, plugins, and even the support culture—has turned into a marketplace. Everywhere you go, there’s an upsell. Basic features sit behind paywalls. And if you just want to build a straightforward blog, the experience is frustrating.

Finding a minimalist theme with a clean two-column layout, no widget blocks, no theme blocks, no Gutenberg clutter, and no upgrade prompts used to be easy. Now it feels like searching for something that shouldn’t be rare. Most themes are bloated with builders, bundled features, and aggressive pro-version hooks.

The open-source spirit that made WordPress welcoming has given way to commercial noise. WordPress is still free at its core, but the culture around it has shifted. For someone who simply wants a clean, honest blogging theme, it’s hard not to feel like WordPress has lost its soul.

Navigating the Challenges of Mobile Payments: A Lesson from GCash Spam SMS

Paying bills has never been easier, thanks to the advent of mobile payment solutions like GCash and Maya. However, my recent experience with GCash highlighted a significant issue that needs addressing.

The Issue with Spam SMS

Recently, I was paying for my Globe Postpaid plan and decided to use GCash for the transaction. However, in the past few days, I’ve been inundated with spam marketing SMS from GCash. The frequency and irrelevance of these messages were frustrating, so I decided to block GCash in my Google Messages app.

The Unintended Consequence

When I attempted to pay my bill via GCash, I didn’t receive the OTP (One-Time Password) required to complete the transaction. It quickly dawned on me that GCash was blocked, preventing the OTP from coming through. I unblocked GCash temporarily, but the OTP still took too long to arrive. This delay was unacceptable, especially when trying to complete a time-sensitive transaction.
Continue reading Navigating the Challenges of Mobile Payments: A Lesson from GCash Spam SMS

Embracing Text-Based Content: Efficiency and Clarity in Digital Learning

In a digital landscape dominated by videos, sometimes simplicity and speed are all you need. Leo Laporte, the Tech Guy, once lamented the frustration of clicking on a video only to wade through minutes of unnecessary intros and prompts to like, subscribe, and hit the bell icon.

Consider scenarios where you’re in a quiet environment or simply prefer to read instructions quickly. Opening a video might not always be practical or preferred. This blog focuses solely on text-based content, ensuring you can access information swiftly and without distraction. Continue reading Embracing Text-Based Content: Efficiency and Clarity in Digital Learning

Why You Should Avoid Installing Obsidian via Snap on Ubuntu

If you’re an Ubuntu user and have installed Obsidian, the popular note-taking app, using the Snap package, you might have encountered an unexpected inconvenience: when opening links from your notes, they launch in a separate browser profile labeled as ‘Profile 1’. This profile is distinct from your default browser profile, complete with its own set of cookies, bookmarks, and extensions.

This behavior can be frustrating, especially if you’re used to seamlessly integrating your browsing experience with your notes. Here’s why this happens and what you can do about it:

Understanding the Issue: Snap Package Peculiarities

Snap packages are known for their sandboxing approach, which aims to enhance security by isolating applications and their dependencies from the rest of the system. While this isolation can be beneficial for security reasons, it also means that applications installed via Snap may behave differently compared to their counterparts installed via other methods like Flatpak or .deb packages.

One notable difference is how Snap handles application interactions with the system, such as opening external links. In the case of Obsidian installed via Snap, opening links from within your notes triggers the opening of your default browser in a separate profile. This ‘Profile 1’ is independent of the profile you typically use for your browsing activities, resulting in a disjointed user experience. Continue reading Why You Should Avoid Installing Obsidian via Snap on Ubuntu

House of the Dragon Season 1 Recap: Everything You Need to Know Before Season 2

Introduction

As we eagerly anticipate the release of “House of the Dragon” Season 2, it’s essential to revisit the intricate and dramatic events of Season 1. The series, a prequel to the acclaimed “Game of Thrones,” plunges us into the tumultuous history of House Targaryen, nearly 200 years before the rise of Daenerys Targaryen. Season 1 masterfully sets the stage for the epic civil war known as the Dance of the Dragons, a conflict that threatens to tear the Targaryen dynasty apart. Through political intrigue, personal betrayals, and spectacular dragon battles, the first season captivates and prepares us for the storm that is about to unfold. Continue reading House of the Dragon Season 1 Recap: Everything You Need to Know Before Season 2

Understanding SharePoint Indexing: When Does SharePoint Automatically Index Columns?

SharePoint automatically indexes columns in several instances:

  1. Primary Key Columns: When you create a list, SharePoint automatically indexes the primary key column (ID field) for faster retrieval.

  2. Unique Columns: Columns marked as unique are automatically indexed to enforce uniqueness.

  3. Lookup Columns: Columns used as lookup columns in other lists are automatically indexed to optimize lookup queries.

  4. Managed Metadata Columns: SharePoint automatically indexes managed metadata columns to enhance performance when filtering or sorting by these columns.

  5. Indexed Columns in Views: Columns included in indexed views are automatically indexed to improve view performance.

  6. Indexed Columns in Large Lists: In large lists, SharePoint automatically indexes frequently used columns to improve performance.

  7. Date and Time Columns: Columns with date and time data types are automatically indexed to optimize date-based queries.

These automatic indexing features help improve performance and efficiency in SharePoint lists and libraries.

UITF Historical NAVpU Data – Making them Readily Accessible

The Trust Officers Association of the Philippines (TOAP) maintains a comprehensive website at uitf.com.ph, which is a valuable resource for anyone interested in the performance and Net Asset Values per Unit (NAVpUs) of various Unit Investment Trust Funds (UITFs) managed by banks and financial institutions. The site provides up-to-date NAVpU data, usually available by the next banking day, alongside detailed profiles of each fund and their historical NAVpUs, albeit protected by a reCAPTCHA.

For analysts and investors like myself who require historical NAVpUs for deeper analysis, it would be ideal to have an API or a JSON format feed for seamless data retrieval. Unfortunately, TOAP has not yet provided such a feature, which adds a layer of complexity to data collection.

To address this gap, I have developed a PHP script that automates the downloading of these pages from various banks and financial institutions daily. The script then saves the data in JSON format on a server, making it readily accessible. Currently, I’ve focused on banks where I have UITF accounts (BPI, BDO, MBTC, RCBC, and SBC), but this can be expanded based on utility and demand. Continue reading UITF Historical NAVpU Data – Making them Readily Accessible

Encoding and Decoding Data: CSV vs. JSON

In general, CSV (Comma-Separated Values) is more efficient in encoding a table compared to JSON (JavaScript Object Notation). This is because CSV is a simpler and more lightweight format designed specifically for tabular data.

CSV files are easy to read and write, and they typically consume less storage space compared to JSON due to their minimalistic structure. On the other hand, JSON is designed to store and exchange structured data in a more verbose and human-readable format, which includes key-value pairs and nested structures.

If the primary goal is to store tabular data or exchange data in a format optimized for tables, CSV is usually the more efficient choice. However, JSON provides more flexibility and features for handling complex data structures beyond simple tables. Continue reading Encoding and Decoding Data: CSV vs. JSON