🔥 faroukbmiled / RyukGram - RyukGram, The Instagram tweak for iOS power users.
GitHub热门项目 | RyukGram, The Instagram tweak for iOS power users. | Stars: 367 | 11 stars today | 语言: JavaScript
GitHub热门项目 | RyukGram, The Instagram tweak for iOS power users. | Stars: 367 | 11 stars today | 语言: JavaScript
GitHub热门项目 | Private AI platform for agents, assistants and enterprise search. Built-in Agent Builder, Deep research, Document analysis, Multi-model support, and API connectivity for agents. | Stars: 18,112 | 50 stars today | 语言: Python
GitHub热门项目 | Jenkins automation server | Stars: 25,805 | 179 stars today | 语言: Java
GitHub热门项目 | Amnezia VPN Client (Desktop+Mobile) | Stars: 13,587 | 515 stars today | 语言: C++
The massive seed round was led by Index Ventures and Ribbit Capital, with participation from Sarah Guo's Conviction Partners.
Starting with Spotify, Snapchat users will be able to link their accounts, choose who can see their listening activity, and see what their friends are listening to in real time.
Johannes Schickling explores how he moved beyond the traditional three-tier web stack to a local-first approach. He shares his experience transitioning from Prisma to developing Overtone—a music curation app leveraging client-side event sourcing and SQLite. The discussion highlights the trade-offs between event sourcing and CRDTs. By Johannes Schickling
This week's Java roundup for July 20th, 2026, features news highlighting: two JEPs proposed to target for JDK 28; new JEPs 540 and 541, Simple JSON API (Incubator) and Deprecate the macOS/x64 Port for Removal, respectively; the July 2026 Critical Patch Update; the GA release of Embable 1.0; Azul Payara 7.2.0; and Helidon 4.5.1. By Michael Redlich
Canon's EOS R6 V is a video-focused hybrid camera that's outstanding for vlogging.
How a dormant HTTP status code and a $500 billion valuation fight tell the same story: money is finally becoming native to the internet. For three decades, the HTTP specification carried a status code that did nothing. Code 402 — "Payment Required" — was reserved in the 1990s for a future in which the web would have money built in. That future never arrived. Payments were bolted on instead: card forms, PayPal buttons, checkout redirects, subscription walls. On July 14, 2026, that changed formally. The Linux Foundation announced the operational launch of the x402 Foundation , the open-governance body that now stewards the x402 protocol — the standard, contributed by Coinbase, that turns HTTP 402 into a live payment negotiation layer. Forty organizations have joined. The premier member list reads like a peace treaty between industries that spent a decade fighting each other: Visa, Mastercard, American Express, Stripe, Adyen, Fiserv, Google, AWS, Shopify, Coinbase, Circle, Cloudflare, Ripple, MoonPay , plus the Solana, Stellar, and Monad foundations. When card networks, cloud providers, and crypto issuers all sign the same governance charter, something structural is happening. That something is AI agents — and the question of how they pay for things. From press release to protocol The x402 story started in September 2025, when Coinbase and Cloudflare announced their intent to create a foundation around a simple idea: if AI agents are going to consume APIs, data, compute, and content autonomously, they need a payment method that works the way machines work — inside the HTTP request itself, with no account signup, no card form, and no human in the loop. The mechanics are deliberately boring. A client, typically an AI agent, requests a paid resource. The server responds with status 402 and a machine-readable header describing what it wants: the amount, the asset (usually a stablecoin like USDC), the network, and the payment scheme. The agent signs a payment authorization,
Why Claude Code runs on Bun: runtime tradeoffs in TypeScript CLI tooling Anthropic recently shipped Claude Code — their agentic CLI coding assistant — on Bun instead of Node.js. For most product announcements, the runtime choice would be a footnote. Here it's worth unpacking, because the tradeoffs Anthropic navigated are exactly the ones you hit when building or evaluating TypeScript-heavy developer tooling: startup latency, bundling strategy, native module compatibility, and what "good enough" dependency management actually looks like in 2025. This isn't a Bun vs. Node benchmarking post. It's an examination of why the decision makes sense for a CLI tool specifically, what it signals about the broader ecosystem, and where the tradeoffs still bite you. Why runtime choice matters more for CLIs than for servers For a long-running server process, Node.js startup cost of 50–150ms is irrelevant — you pay it once. For a CLI invoked dozens of times per development session, cold-start latency is a first-class UX concern. Bun's startup time is consistently in the 5–15ms range for a simple script. Node.js lands closer to 50–80ms before your first line of application code runs. That delta is imperceptible in a single invocation. Run a CLI 30 times in a session and you've saved a couple of seconds — more importantly, you've removed the subjective sense of lag that makes a tool feel heavy. This is the same reason Deno has gained traction in scripting contexts despite losing the server-side battle to Node. Fast startup is a feature, and for AI-assisted tooling where the human is waiting in a tight feedback loop, it matters. Bun's bundler as a distribution primitive Bun ships a first-party bundler. For a CLI, this is significant. The standard Node.js distribution story for a TypeScript CLI involves: Compile TypeScript with tsc or esbuild Bundle with esbuild or rollup to collapse the dependency graph Either ship node_modules (large, fragile) or use a tool like pkg or nexe to produce
News breaks. Spot prices move. Polymarket lags for a few seconds to a few minutes. My bot monitors external data feeds and Polymarket order books in parallel. When a confirmed event has already moved the true probability but the market hasn’t caught up, it jumps in. This works on crypto 15-minute markets and politics/sports/news markets. Speed + clean data = one of the highest-edge strategies in the $130k profit journey. https://github.com/cryptomoonday/polymarket-arbitrage-bot
Not every arb opportunity is simultaneous. My bot uses a “legged” approach: it buys one side when it’s heavily underpriced, then waits for market sentiment to shift and buys the other side later for a total cost under $1.00. This strategy shines in volatile non-crypto markets (elections, sports playoffs, news-driven events). Careful inventory and timing controls turned it into a consistent contributor to the bot’s $130k+ track record. The sample source is in https://github.com/cryptomoonday/polymarket-arbitrage-bot
The same parser, four times Over the last year I kept running into the same shape of problem: A docs site generator that wanted Markdown chapters turned into navigation JSON. A RAG ingestion script where each Markdown file needed to become a list of text chunks plus its frontmatter metadata. An n8n flow that took Markdown emails and extracted only the tasklists. A static-site backend that accepted user Markdown and needed to validate structure before persisting. Each one is small on its own. But every time I reached for a different library — remark here, gray-matter there, marked once, a hand-rolled regex once too many — and every time one of them broke on the same edge cases: Nested GFM tasklists where the checked state was silently lost YAML frontmatter that included quoted booleans (parsed as strings, not booleans) Tables whose headers contained spaces (regex parsers treated them as one key) Code blocks containing Markdown — re-parsed as Markdown instead of fenced code So I built one endpoint that does it once, properly. What it returns POST /v1/parse takes a Markdown body ( text/markdown ) or a JSON envelope ( application/json ) and returns one stable JSON shape: { "success" : true , "data" : { "title" : "Project Alpha" , "frontmatter" : { "title" : "Project Alpha" , "status" : "shipping" }, "headings" : [ { "level" : 1 , "text" : "Project Alpha" , "id" : "project-alpha" } ], "sections" : [ { "heading" : { ... }, "children" : [ ... ], "content" : [ ... ] } ], "lists" : [ { "ordered" : false , "items" : [ "ship MVP" , "write README" ] } ], "tasklists" : [ { "items" : [ { "text" : "ship MVP" , "checked" : true } ] } ], "tables" : [ { "headers" : [ "Module" , "Status" ], "rows" : [{ "Module" : "API" , "Status" : "Done" }] } ], "codeBlocks" :[ { "lang" : "js" , "value" : "..." } ], "links" : [ { "text" : "..." , "url" : "https://..." } ], "paragraphs" :[ "..." ], "ast" : null } } The sections tree is the part I care most about. It's not just a flat list of headings
I keep a shelf. Rules I haven't earned the pain for yet go on it — because my own rule says a rule is born from an incident, not from someone else's "best practice." Import a rule you haven't bled for, and you'll be the first one to route around it. On the shelf sat a rule with its trigger condition written down, word for word: The first merged PR with a green DoD checklist and a flow that doesn't actually work. I put it there a couple of weeks ago, thinking "this'll come in handy someday." It came in handy two days after I published an article about this very method. The trigger fired. Word for word. What happened The PR merged. CI green. Every DoD box checked. And the flow didn't work — not for one second, not in a single real stack. Three bugs in a cascade, and every one of them invisible to CI by construction. One. A module read a JSON registry from a shared/ folder at import time, on app startup. Works in CI — full checkout there, shared/ is present. But the production image is built from a narrow context that doesn't include that folder. The container crash-looped on its very first start. And you know the best part? CI never ran the image at all. It ran the tests on the host. Green. Two. Two migrations merged the same day and got the same version. And the version is the primary key in the applied-migrations table. A local db reset died on the second row: duplicate key . Columns never got created. CI didn't see this one either — it runs migrations through a bare psql loop, no duplicate check. Three was just a consequence: no columns, endpoints return 500. Every check was honestly green. All three bugs would've been caught by one attempt from a live human to hit the endpoint on a running stand. One. The lesson, one paragraph Deterministic checks catch structure: the test file exists, the status is set, migrations are listed, the linter is clean. What they can't see, by construction, is whether the flow works in the stack where the product actually lives. Green C
Every service I've worked on eventually grows the same scar tissue: a retry loop copy-pasted into six files, a circuit breaker bolted onto the payment client after an outage, a timeout wrapper someone wrote at 3 a.m. Each one slightly different. None of them talking to each other. And when things go wrong, nobody can answer the only question that matters during an incident: what is the resilience layer actually doing right now? Java solved this years ago with resilience4j . .NET has Polly . Node.js... has pieces. The gap I evaluated what the ecosystem offers before writing a single line: opossum is the best-known circuit breaker, mature and well maintained. But it's only a circuit breaker — retry is rudimentary, there's no bulkhead, no composition. Metrics need a plugin. cockatiel is the closest thing to Polly: retry, breaker, timeout, bulkhead, composition. I genuinely like its design. But observability is where it stops — no native metrics, no pipeline-wide correlation — and maintenance has slowed. The Sindre micro-libs ( p-retry , p-timeout , p-limit ) are excellent at exactly one thing each. But resilience is a system : a retry that doesn't know the circuit is open will happily sleep through backoff to hammer a dead dependency. Isolated pieces can't coordinate. And there was one thing nobody documented properly, which became the reason I finally started typing: Ordering is the whole game Take four policies: retry, circuit breaker, timeout, fallback. The same four, nested in two different orders, produce two very different systems: retry ( circuitBreaker ( timeout ( fn ) ) ) // A circuitBreaker ( retry ( timeout ( fn ) ) ) // B In A , every attempt flows through the breaker, so the breaker sees the dependency's true failure rate — and when the circuit opens mid-retry, the retry finds out immediately. In B , the breaker sees one outcome per retry cycle : three real failures against the dependency count as a single failure. The circuit opens far later than the depe
Cloud migration used to be a simple pitch: move off your servers, save money, scale on demand. For Indian enterprises today, the decision is more layered. Compliance rules have tightened. Cloud bills have grown unpredictable. And the assumption that a global hyperscaler is automatically the right fit is being questioned more often, especially by mid-size companies with real workloads and real budgets on the line. If your organisation is planning a migration, here's what actually matters before you sign a contract. Start with why you're migrating Most migrations get justified with one of three reasons: cost, scale, or compliance. Rarely all three at once, and the reason should shape the plan. If cost is the driver, look closely at your current spend. Bandwidth charges, storage tiers, and auto-scaling fees add up in ways that rarely match the sticker price teams budgeted for. If scale is the driver, the question is whether your workload actually needs the breadth a hyperscaler offers, or whether you're paying for hundreds of services you'll never touch. If compliance is the driver, data residency and audit requirements should be the first filter, not an afterthought. Data residency and compliance For Indian businesses, DPDP Act requirements, along with RBI and SEBI guidelines for regulated sectors, increasingly dictate where data can legally sit. This isn't a checkbox. It determines your shortlist of providers before pricing even enters the conversation. Confirm three things with any provider: where the datacentres physically are, whether the billing entity is India-registered, and whether the provider can produce compliance documentation on request, not just a marketing claim. A provider that can name the datacentre city and the entity name without hesitation has usually done the legwork. One that answers in generalities probably hasn't. The real cost of a migration Sticker price is the easiest number to compare and the least useful one. The real cost includes egress