今日精选
HOTCompression is prediction
Nvidia Nemotron 3.5 Lightning and NeMo Switchyard
Woman pulled over twice after Flock-linked software connected her to homicide
Why Go Is an Ideal Language for AI-Assisted Software Engineering
England set to be one of the first countries to eliminate hepatitis C
最新资讯
共 30667 篇You probably don't need event-driven architecture
submitted by /u/ukanwat [link] [留言]
Nobel laureate John Jumper is leaving DeepMind for rival Anthropic
Jumper isn't the only big name leaving Google DeepMind.
Show HN: StartupWiki – A Free Alternative to Crunchbase
I've been building StartupWiki, a free startup database designed to make it easier to discover and research companies. The original motivation was frustration with how difficult it can be to find information on early-stage startups. Most databases need accounts, or subscriptions, ro just feel too cluttered. I wanted a website that felt like Wikipedia, no accounts, no subscriptions, no weird metrics, just go in, the info is on the page. The project is still very early, but currently includes: Sta
Designing a Reliable Sync Engine for Multi‑Channel SaaS Platforms
A sync engine is one of the most critical components in any SaaS platform that integrates with external services. Whether you manage bookings, payments, messages, or inventory, the system must stay consistent across multiple channels without losing data or creating conflicts. Why sync engines fail Most sync issues come from predictable technical problems: API rate limits. Slow or unstable external endpoints. Conflicting updates from different sources. Missing retry logic. Lack of idempotency. When these issues accumulate, the platform becomes unreliable and difficult to scale. Key principles of a reliable sync engine A well‑designed sync engine follows several core principles: Event sourcing to track every change. Message queues to handle spikes in traffic. Idempotent operations to avoid duplicates. Timestamp‑based conflict resolution. Retry and backoff strategies for unstable APIs. These patterns ensure that the system remains consistent even when external services behave unpredictably. Real‑world example Platforms that manage short‑term rental operations rely heavily on sync engines. Calendar updates, pricing changes, and new bookings must be processed in real time. A good example of an event‑driven sync model can be seen in modern PMS systems. For instance, the approach used in event‑driven property management architecture is similar to the one implemented in PMS.Rent Conclusion A sync engine is not just a background process — it is the backbone of any API‑driven SaaS platform. When designed correctly, it ensures reliability, scalability, and predictable behavior across all integrated channels.
Your repo has whitespace problems you can't see — I built a zero-dep CLI that finds and fixes them all
Whitespace problems are the ones you can't see until they bite. A pull request where half the "changes" are trailing-space diffs. A shell script that breaks in CI because someone's editor saved it CRLF. A .env with a UTF-8 BOM that makes the first variable name mysteriously not match. A file with no final newline that turns one-line changes into two-line diffs forever. None of it shows up on screen. All of it shows up in git blame . Today, catching this takes three or four tools stitched together — and I got tired of that, so I built wssweep : one zero-config command that finds all the common whitespace smells and, with --fix , cleans them in place. $ npx wssweep src/app.js (2) 14: trailing-whitespace trailing whitespace - missing-final-newline no newline at end of file config.yml (1) - mixed-eol mixed line endings (CRLF×3, LF×1) ✖ 3 whitespace issues in 2 files (mixed-eol=1, missing-final-newline=1, trailing-whitespace=1) $ npx wssweep --fix # clean them It checks seven things: trailing whitespace, mixed CRLF/LF line endings, lone CRs, a missing final newline, extra trailing blank lines, a UTF-8 BOM, and tabs mixed with spaces in one indent. Non-zero exit on findings, so it's a CI gate. pip install wssweep gets the same tool in Python — byte-for-byte identical output and fixes. Why not editorconfig-checker / pre-commit / prettier? Because each does part of it: editorconfig-checker reports — but you have to author an .editorconfig first, and it can't fix anything. pre-commit 's trailing-whitespace / end-of-file-fixer / mixed-line-ending hooks do fix, but only inside the pre-commit framework, and they're three separate hooks. Nobody runs them ad-hoc on a fresh checkout. prettier fixes whitespace only as a side effect of reformatting all your code, and won't touch files it can't parse. dos2unix does line endings and nothing else. wssweep is the one npx / pip command, no config and no framework, that does the whole set at once and drops into any CI regardless of toolch
5 Cookie Tricks for Debugging Auth Issues in Chrome (No More Creating Test Accounts)
Debugging authentication in web apps is painful. You need to test the same flow as five different user types — new visitor, returning user, admin, expired session, logged-out — and the easiest way is to constantly create new accounts or clear all your cookies and start over. There's a faster way. These five techniques use direct cookie manipulation to simulate any auth state without touching your database or creating dummy accounts. I use CookieJar for most of this — a free Chrome extension built natively on MV3 that gives you a proper UI for cookie editing. But I'll show you the underlying Chrome DevTools method too, so you understand what's actually happening. 1. Simulate a Logged-Out State Without Clearing Everything The naive approach: clear all cookies and reload. The problem: you just nuked your dev server session token, your local storage flags, your Stripe test mode cookie, and everything else you carefully set up. The targeted approach : identify and delete only the session/auth cookie. Most session cookies are named session , sid , auth_token , _session_id , or something close. In DevTools: Application → Cookies → [your domain] → find the session cookie → right-click → Delete With CookieJar: open the extension, search session , click the trash icon next to just that cookie. Your dev environment stays intact. The user state resets to logged-out. 2. Test the "Returning User" vs "New User" Path Without a Second Account Session cookies tell the server you're authenticated. But many apps use separate cookies to track whether a user has seen the onboarding flow, completed setup, or visited before. Look for cookies like onboarding_complete , setup_done , first_visit , or custom flags in your app code. To test the new user experience: Export your current cookies (CookieJar → Export → JSON format, or copy from DevTools) Delete the specific onboarding/first-visit flag cookie Reload and test the new user path Re-import or re-set the cookie to restore your state This
7 years in. Still learning. Here's what actually matters.
Hey everyone 👋 So I just hit my 7-year mark as a developer and... honestly? I wish I could go back and tell my younger self some things. When I started, I thought being a good developer meant knowing every framework. React? Vue? Angular? I learned them all. I stayed up late building side projects, grinding LeetCode, thinking that's what would make me "senior." Turns out, I was wrong. What actually happened: I spent years building stuff. Like, a LOT of stuff: Enterprise platforms that handle thousands of users E-commerce sites processing payments at 3 AM (because of course they break at 3 AM) Real-time dashboards that had to update faster than my coffee could brew Mobile apps that somehow worked on my phone but crashed on everyone else's And you know what I learned? The framework doesn't matter as much as you think I've built the same dashboard in React, Vue, and Next.js. Guess what? They all work. The code structure matters. The database design matters. How you handle errors matters. But whether you use Tailwind or Bootstrap? Honestly, clients don't care. Timezones are brutal. Here's my reality: I'm in Japan. Most of my potential clients are in Europe or the US. Do you know what it's like to do a sales call at 2 AM your time? It sucks. I'm great at building things. I'm terrible at pretending to be awake and enthusiastic when it's the middle of the night. That's why I'm looking for a partner. Here's the deal: I need someone in Europe who can: Talk to clients during normal human hours Handle sales calls and project scoping Be the "face" of our little operation I'll handle: All the coding (React, Next.js, Node.js, Flutter - you name it) Architecture and database design Deployment and DevOps stuff Making sure the thing actually works We split the profits. Simple. What I'm actually good at: Frontend: React, Next.js, TypeScript (I've made peace with TypeScript) Backend: Node.js, Express, some Python when I need to Mobile: Flutter (because writing code once > writing it tw