🌍 Dev.to

The same job is posted on three boards. Here's how to deduplicate job listings properly.

Search any regional job board for a role and you will meet the same position three times, under three slightly different titles, from three sources. The company entered it once. The boards each reformatted it. If you are aggregating listings, you now have a deduplication problem, and it's harder than it looks: the naive fixes either merge two genuinely different jobs or fail to merge two copies of the same one. Why exact matching fails The same posting, as three boards render ...
🌍 Dev.to

How to build a hiring intent score that doesn't lie to you

You have a list of companies and their open roles. You want one number per company: how hard is this company hiring, right now? That number is easy to compute and easy to get wrong in ways that look plausible. Here's a design that survives contact with real data, and the specific mistakes that inflate every naive version. The three inputs Volume. How many roles are open. The most obvious input and the least interesting on its own, because it scales with company size. Ten ope...
🌍 Dev.to

Scraping bilingual data: the Arabic/English traps that quietly corrupt your dataset

Most scraping advice assumes one language. Build for a bilingual market and you meet a category of bug that never throws an exception: the request succeeds, the HTML parses, and every field you wanted comes back empty. Here is what I learned building job datasets that have to work in both Arabic and English. The bug that returns null instead of failing I was fetching job detail pages and extracting the stated seniority and employment type. The parser looked for the labels the ...
🌍 Dev.to

From Idea to Production: How AI Agents Helped Me Build a Real Product

Artificial intelligence is often presented in extremes. Some people believe it will replace software developers, while others dismiss it as an advanced autocomplete tool. After spending several months building GamesMom , a platform with more than 50 browser based educational games , my experience landed somewhere in between. AI never designed the product, made architectural decisions, or understood the needs of my users. What it did exceptionally well was reduce the time spent on repetitive wo...
🌍 Dev.to

LibreFang 2026.7.21 Released

LibreFang 2026.7.21 Released 61 PRs from 4 contributors since v2026.7.11. What's New This release brings critical security improvements , multi-user isolation fixes , and powerful credential management — all while expanding MCP integration and shipping quality-of-life wins across the dashboard. 🔐 Security & Multi-User Data Isolation If you're running LibreFang with multiple users or on shared infrastructure, pay close attention here. Per-user LL...
🌍 Dev.to

The meta-repo as AI multiplier

When I introduced the meta-repo to the team, the goal was a true agentic coding setup: a shared doc set, shared skills, shared rules, all loaded automatically no matter which platform repo you had open. Onboarding got easier and setup went from three commands to one as a side effect of that. Several months later, that's still true — structuring a codebase for AI context turns out to be a different problem than structuring it for human developers. This isn't a pattern we roll out on every p...
🌍 Dev.to

I’m Building an Open-Source Alternative to Intercom’s AI Assistant

Most modern SaaS products eventually need the same thing: A way for users to ask questions and get help without leaving the product. The traditional solution is a customer-support widget connected to a support team. But with LLMs, I started wondering: What if the support widget itself could understand your product, answer questions, and handle repetitive support requests? That idea became InteraOne . What is InteraOne? InteraOne is an open-source AI assistan...
🌍 Lobsters

What are you doing this week?

What are you doing this week? Feel free to share! Keep in mind it’s OK to do nothing at all, too.
🌍 Lobsters

On AI

Comments
🌍 Lobsters

lobste.rs has a js-error: here is a mitigation

Introduction https://lobste.rs – at the time of writing – has a javascript error on load for logged in users: Uncaught ReferenceError: qS is not defined at new _LobstersFunction (user-c27ac03d.js:144:34) at user-c27ac03d.js:665:17 This error is causing much of the site functionality to not work, an easy way to check is to try and [preview] a comment, if that does not work – most likely you have an error in the js-console. If you provide the missing definition for qS and ...
🌍 Dev.to

31.8x Speedup by Changing One File: Async Embedding Calls on AWS Bedrock

I was testing a RAG ingestion pipeline and noticed something painful: ingesting a single document took nearly 50 seconds. Checking the metrics revealed that the CPU was doing almost nothing. The app wasn't compute-bound — it was simply sitting idle, waiting for sequential HTTP network round-trips to return. By converting the blocking embedding module into an asynchronous workflow, processing time dropped from 49.61 seconds to 1.56 seconds with zero infrastructure changes. ...
🌍 Dev.to

"/usr/bin/env: 'python2': No such file or directory — Amazon Linux 2023 has no Python 2"

You moved an instance, AMI, or launch template from Amazon Linux 2 to Amazon Linux 2023, and something that used to run cleanly now fails on first boot: /usr/bin/env: 'python2': No such file or directory Or, if the script called the interpreter directly: -bash: /usr/bin/python2: No such file or directory dnf works, the instance is healthy, but any script with a #!/usr/bin/python2 shebang, a python2 script.py invocation, or a tool that shells out to ...
🌍 Dev.to

One Unbounded Channel, 188 MB of Regret

Every producer/consumer queue I've written in the last few years sits on System.Threading.Channels , and nearly every one starts with Channel.CreateUnbounded . It's the overload that asks no questions. No capacity to pick, no full-queue policy to design, WriteAsync never waits. Last week I caught myself typing it into yet another background worker and realized I'd never measured what that convenience costs when the consumer falls behind. So I built the smallest pipeline that could embarra...
🌍 Dev.to

The Algorithm Is the Last Decision You Make in Machine Learning

Every delivery manager I've worked with runs a prediction model on Monday morning. It's called dread. Open the portfolio, scan 30 projects, and your gut sorts them: these five worry me, those twenty are fine, and that one — that one is going to blow up this month. No math. But it's a real model: inputs (velocity, escalations, that PM who's gone quiet), weights (learned from years of pain), and an output (who gets your attention today). I spent 10 years in SRE and DevOps building that kind ...
🌍 Dev.to

Automating Business Workflows with n8n: From Simple Triggers to Multi-Agent AI

As applications grow and business logic becomes more complex, teams often find themselves spending dozens of engineering hours writing glue code: syncing CRMs, processing webhooks, parsing documents, or triggering notification pipelines. While platform-as-a-service tools like Zapier or Make offer quick visual builders, they frequently fall short for technical teams due to strict execution limits, vendor lock-in, and privacy/compliance concerns regarding sensitive data. Enter n8n (pronoun...
🌍 Dev.to

Building an AI Support Inbox for How WhatsApp Teams Actually Work

Building an AI Support Inbox for How WhatsApp Teams Actually Work Most customer-support software starts from an email-shaped assumption: messages arrive one at a time, belong to one person, and wait patiently in a queue. WhatsApp does not work like that. A customer may send a photo, then a voice note, then three short follow-ups. A team may need to jump between direct messages and busy groups. Someone has to take over a conversation without asking the customer to repeat everything. And...
🌍 Dev.to

Anatomy of the Data Access Contract: Protect Your Domain from Framework Leaks (Chapter 3)

In almost every modern Java textbook, data persistence is introduced with a dangerous shortcut. You are told to create an interface, extend JpaRepository<Product, UUID> , and call it a day. The result? Without even noticing, you have tightly coupled your entire application to Spring Data and Hibernate. The moment a junior developer leaks Pageable or Specification from Spring into your clean @Service layer, or worse—directly into your REST controllers (as we discussed in Chapte...
SQLazy:Conditional Running Total with Reset
🌍 Dev.to

SQLazy:Conditional Running Total with Reset

Problem Description Conditional running total with reset: restart accumulation when logic is 't'. An event table table_t1 records event sequences with three fields: id (sort key), logic (condition flag, values 't' or 'f'), and val (numeric value for accumulation). A computed column output needs to be added: when logic equals 't', output is set to 1; otherwise output equals the previous row's output plus the current row's val. This is a conditional running total that resets and restarts accum...
🌍 Dev.to

100 Days of DevOps and Cloud (AWS), Day 18: MariaDB's Secure Install, and Why 'Read-Only' Needs More Than ec2:Describe

The most secure version of a fresh install is the one with its convenient defaults stripped back out. New database software ships open enough to get you started fast, which is exactly the state an attacker is hoping to find. Day 18 was about closing that gap on MariaDB, then granting its mirror image on AWS access so narrow it can only look. One Linux task, one AWS task. Install MariaDB and secure it, then write a read-only IAM policy for EC2. The tasks come from the KodeKloud Engineer platfo...