今日已更新 252 条资讯 | 累计 24209 条内容
关于我们

标签:#art

找到 1401 篇相关文章

AI 资讯

Precision Loss and Rounding Exploits in Financial Smart Contracts

A smart contract does not need an overflow, reentrancy bug, or broken access-control check to lose money. Sometimes, the exploit is hidden inside an ordinary division: uint256 result = amount * rate / SCALE; The expression looks harmless. It may even produce the expected answer in every unit test. But financial smart contracts operate with integer arithmetic. Fractions are discarded, rounding direction changes who receives value, and an error of one unit can be repeated across thousands of transactions. In a financial protocol, rounding is not merely a mathematical implementation detail. Rounding is a value-transfer policy. Every division should therefore answer three questions: Which direction does the calculation round? Which party benefits from that direction? Can the rounding advantage be repeated or amplified? This article examines the most dangerous precision problems in Solidity and the engineering patterns used to prevent them. Solidity Does Not Have Native Fixed-Point Arithmetic Most financial formulas use fractions: interest = principal × rate × time fee = amount × fee percentage shares = assets × total shares ÷ total assets collateral value = token amount × oracle price Solidity primarily performs these calculations with integers. For unsigned integers: uint256 result = 5 / 2; The result is: 2 The fractional component is discarded. For positive values, this behaves like rounding down: 2.5 → 2 This appears insignificant until the result represents: vault shares; debt; collateral; protocol fees; interest; rewards; liquidation bonuses; exchange rates; token prices. The lost fraction does not disappear economically. One party receives less value, while another party retains the remainder. Precision Loss Is Not Always Small Consider a protocol calculating a percentage: function calculateFee( uint256 amount, uint256 feeBps ) public pure returns (uint256) { return amount * feeBps / 10_000; } For a 0.3% fee: amount = 100 feeBps = 30 fee = 100 × 30 ÷ 10,000 fee =

2026-06-22 原文 →
AI 资讯

"Bro we should open a bar", don't be this guy

Somewhere right now a guy at a bar is making a stranger sign an NDA on a napkin. For an app idea. Just sit with that. That napkin is going in a drawer. The drawer is a graveyard. Quick tour. Exhibit A: bro we should open a bar Two beers in, you're suddenly a hospitality mogul. Picking a name. Arguing about taco night. By the time the check comes, the bar is already dead. It died of "let's talk about this again soon," which never happens. Exhibit B: bro we should start a band A guitar shows up at a party. Someone says "we should actually start something." One rehearsal happens. In a garage. A neighbor complains. The band dies before it has a name or a single original song. RIP. Exhibit C: the app idea, may it rest in your Notes app The big one. Open your Notes app, it's a cemetery. "App that reminds you to text people back." Dead. "Tinder but for gym buddies." Dead. These ideas didn't fail. They never even got born. Why none of these make it out alive The ideas aren't even bad. Some are genuinely good. The problem is ideas are free and easy to say out loud. Building one makes it real, and real things can fail in public with your name on them. Saying "we should open a bar" costs nothing. Actually opening one costs $400,000, a liquor license, and every Saturday for five years. Guess which one people actually do. Building also got way easier, which makes this worse. You don't need a technical cofounder anymore. You can describe an app to a chat box and watch a prototype show up before your coffee's cold. The wall that used to stop people is mostly gone. People are still standing where it used to be, out of habit. A small ceremony for the ones we lost HERE LIES: "the app idea I had in the shower" born: tuesday died: tuesday, when I got out of the shower HERE LIES: "our band" born: one guitar, one party died: one noise complaint HERE LIES: "the bar we were gonna open" born: 1:47am died: 1:48am, checked the bill Two graves that still have a heartbeat Here's the part nobody

2026-06-21 原文 →
AI 资讯

How Roomba started a robot revolution

If you had a Roomba, especially in the early days of the robot vacuum, it was in many ways a fairly unsophisticated machine. It would just bump around your house, looking for something to suck up, until its battery died or its (way too small) tank filled up. Not that it mattered, though. You probably […]

2026-06-21 原文 →
AI 资讯

Shipping one Flutter codebase to 6 platforms: what I learned building Tuneline

I spent the last several months solo-building Tuneline , a cross-platform media player, from a single Flutter codebase that ships native apps to macOS, Windows, Linux, Android, Google TV, and iOS . No Electron. Here is the stack and a few things that bit me. The stack Flutter 3.38 / Dart 3.10 — one codebase, six targets. media_kit for playback — libmpv on desktop, ExoPlayer on Android. Avoiding per-platform video plugins was the single biggest sanity win. Riverpod for state, Hive for local storage, Dio for HTTP. Node.js + Prisma backend for the cloud-sync layer, so your library, favorites, and settings replicate across devices. GoRouter with a single-route, tab-driven shell so the same layout reflows from a phone to a 10-foot TV UI. Things that bit me TV is its own design language. A 10-foot, focus-based UI is not a big phone. D-pad focus traversal, larger hit targets, and a separate Google TV store listing were all non-trivial. Per-platform video quirks. Desktop (libmpv) and mobile (ExoPlayer) disagree on enough edge cases that a shared abstraction over media_kit earned its keep. Sync is a distributed-systems problem in disguise. "Set up once, never rebuild it" sounds simple until two devices edit the same data offline. Keeping one canonical decoder for both the socket sync-down and the REST pull saved me from a whole class of drift bugs. One codebase is not one design. Window management on desktop, picture-in-picture per platform, and safe-area handling on mobile each needed platform-specific care even with a shared core. The product Tuneline is a bring-your-own-content player, like VLC — you supply your own playlists and it does not host anything. Every viewing feature is free on one device, and the only paid tier is cloud sync plus multi-device. No subscriptions. Site: https://tuneline.app — happy to answer any Flutter or cross-platform questions in the comments.

2026-06-21 原文 →
AI 资讯

Venture capital

Il venture capital con progetti a 4-5 anni incarna perfettamente la tensione tra la teoria di Manso e la filosofia di Taleb. È un orizzonte temporale che suona contro-intuitivo: troppo lungo per la logica del "fail fast" da incubatore, troppo corto per la pazienza della ricerca fondamentale. Eppure è proprio qui che si gioca la partita dell'innovazione dirompente. Il problema strutturale I fondi VC operano tipicamente su cicli di 10 anni. Un progetto a 4-5 anni occupa il cuore del fondo: non è un esperimento rapido da liquidare, ma nemmeno un investimento da tenere per un'intera generazione. Manso ci dice che il contratto ottimale per l'innovazione richiede tolleranza nel breve termine e ricompensa nel lungo. Ma cosa significa "breve" e "lungo" quando il progetto stesso dura 4-5 anni? Qui emerge un paradosso. Il VC tollerante — quello che Manso celebrerebbe — potrebbe essere tentato di mantenere vivo un progetto che sta fallendo, perché il fallimento prematurato distruggerebbe il valore dell'opzione. Ma Taleb ci avverte: l'antifragilità non è la persistenza a oltranza, è la capacità di trarre beneficio dallo stress. Un progetto che assorbe risorse per 5 anni senza generare informazioni utili non è antifragile: è semplicemente costoso. La soluzione di Manso: il contratto come orologio Per Manso, la risposta sta nella struttura contrattuale. Il contratto ottimale per un progetto a 4-5 anni non è lineare: non è un flusso costante di finanziamento legato a milestone arbitrarie. È qualcosa di più sofisticato. Il principale (il VC) deve commettere a un livello di finanziamento iniziale che copra la fase esplorativa — i primi 12-18 mesi — senza richiedere risultati misurabili. Questa è la fase di "tolleranza eccezionale per il fallimento" di cui parlava Holmström. Poi, a intervalli predeterminati, il VC ha l'opzione — non l'obbligo — di continuare. Ma la soglia di abbandono deve essere più bassa del livello ottimale ex-post. In altre parole: il VC deve essere disposto a co

2026-06-20 原文 →
AI 资讯

The post-purchase problem nobody builds for: receipts, serials, and warranties

Everyone optimizes the buying experience. Almost nobody builds for what happens after checkout. Every appliance, device, and tool you buy comes with records that matter later: the receipt, purchase date, model number, serial number, the manual, and the warranty terms. Most people have no system for keeping those together — they're scattered across email, a kitchen drawer, screenshots, and random cloud folders. So when something breaks, the warranty claim dies on a single question: "Can you send proof of purchase and the serial number?" That's the gap we're building SnapRegisters for. The simple version of the fix (works with any notes app) The day anything substantial arrives, capture four things: The product The receipt The model / serial label (it fades — grab it early) The warranty card or manual Organize them by product, not by document . Instead of "where's that receipt," it becomes "open the dishwasher record." When support asks for details, it's a 10-second lookup instead of a 20-minute hunt. Where AI actually helps after the purchase The interesting part for builders: the post-purchase layer is a great fit for AI. Point a camera at a receipt and you can extract the model, serial number, and purchase date, then track the warranty automatically — turning a tedious filing chore into a 5-second snap. It's not flashy AI, but it's the kind that quietly saves people money (most warranty coverage goes unused simply because the paperwork is gone). If you've ever eaten a repair bill for something that was technically still covered, you've felt this problem. Curious how other builders think about the "boring but valuable" software gaps like this one. 📲 SnapRegisters is free on iOS: https://apps.apple.com/app/id6757603213

2026-06-20 原文 →
AI 资讯

SwitchBot’s Standing Circulator Fan is worth fighting for

I can't remember the last time I got excited about a fan. Normally, I just buy whatever Vornado or Dreo model fits my budget, but that was before I started testing the battery-powered Standing Circulator Fan from SwitchBot. As the name indicates, the SwitchBot fan is a 3D circulator - a fancy way of saying […]

2026-06-20 原文 →
AI 资讯

I Built a Client Intake and Invoicing Tool for Freelancers — Here’s Why

Why I built GigVorx, a SaaS tool to help freelancers and agencies manage client briefs and invoices more professionally. Freelancers and small agencies often have one messy problem: Client details are everywhere. Some requirements come through WhatsApp. Some come through calls. Some are sent as voice notes. Some are inside Google Docs. Some are buried in old messages. At the start, this feels normal. But later, it creates problems. You forget important requirements. You ask the client the same question again. Invoices are created manually. Project details are not organised. The whole process looks less professional. That is the problem I wanted to solve with GigVorx . What is GigVorx? GigVorx is a client intake and invoicing tool for freelancers and small agencies. It helps users: Collect client requirements professionally use ready-made brief templates organise client details create professional invoices avoid scattered WhatsApp chats, calls, and docs The goal is simple: Help freelancers and agencies manage client intake and invoicing from one dashboard. Who is it for? GigVorx is mainly for: web designers developers graphic designers video editors SEO freelancers social media agencies digital marketing agencies small service businesses These people usually talk to many clients and need a better way to collect requirements before starting work. Why I built it I noticed that many freelancers lose time before the project even starts. They ask questions manually. They collect details in random chats. They create invoices separately. They do not have one organised place for client information. This makes the work slower and sometimes confusing. So I wanted to create a simple tool that gives freelancers a more professional workflow. Current status GigVorx is already live in early access. Right now, I am not focusing on making it perfect. I am focusing on getting real users' feedback and improving the product based on what freelancers actually need. What I am learning Bui

2026-06-20 原文 →
开发者

To people doing their own thing

Whether you are building SaaS, running an agency, some shop, and struggling with your hard work - you have my highest respect. The ups and downs of working on your own is a killer man, it feels great on some days and just crazy on others. It's not for every one - if someone told me about this side of building startups 12 years ago (when I started my agency), I would have given it a bit more thought tbh. Keep building and shipping, and hopefully all your work will be rewarded in a way that feels rewarding to you.

2026-06-20 原文 →
AI 资讯

How to actually name a SaaS startup in 2026 — a practical 40-minute method

You don’t have a naming problem. You have a 40‑minute decision problem. Here’s a practical, timer-based method to name your SaaS in 2026, without spiraling into a 3‑week Notion rabbit hole. Ground rules for 2026 A few constraints you can’t ignore: .com is crowded. There are around 157 million .com domains registered globally as of 2026, so the obvious one-word .com you want is almost certainly taken or expensive. What is .com domain Domains cost real, recurring money. Typical 2026 guides put standard TLDs at about $10–18/year to register and $14–20/year to renew for .com , and $12–18 / $14–20 for .net/.org . Domain name statistics How much does a domain name cost? Good .coms are often not $10. Clean, short, brandable .com resales routinely land in three to five figures , which is why many early SaaS founders default to modified names or non-.com extensions. How much does a domain name cost? AI-era TLDs are legit now. Investors report 69% positive sentiment toward .ai and 64% toward .io , so those are no longer “hacky” domains; they read like normal startup brands. A look at who invests in domain names .ai is basically a global startup extension. It’s widely described as a “global AI branding extension” and used by SaaS far beyond Anguilla now. .ai TLD explainer The domain space is huge. Roughly 386.9 million domains were registered worldwide by end of 2025, up ~6.2% YoY. Most popular TLDs Your first idea is probably used somewhere. Prices are drifting up, not down. ICANN raised its per-domain fee from $0.18 to $0.20 in mid‑2025, and that cost is now baked into 2026 retail pricing. Domain name market trends So: stop hunting for a perfect single-word .com at $12. Optimize for speed and defensibility , not romance. Set a timer for 40 minutes. Follow this. Minute 0–5: Positioning, not poetry Open a blank doc. In 5 minutes, write three bullets : Who you’re for (ICP in one line). What painful outcome you fix. What “shape” of product you are (API, analytics tool, ops dashb

2026-06-19 原文 →