My First Year at DEV Recap
I heard about DEV a while back from a former colleague who was posting regularly back then. She won a...
找到 1675 篇相关文章
I heard about DEV a while back from a former colleague who was posting regularly back then. She won a...
If you've ever received a .pages or .numbers file on a Windows PC, you know the pain — you can't open it. No preview, no converter built in, and Apple's iCloud web tools are slow and clunky. So I built iworkviewer.com — a free, browser-based iWork file viewer and converter. No signup, no upload to any server. Everything happens in your browser. What it does Open .pages files → view them instantly, export to PDF or .docx Open .numbers files → view spreadsheets, export to .xlsx or PDF Open .keynote files → view presentations, export to PDF or .pptx Batch convert multiple iWork files at once The tech Built with Next.js, Cloudflare Pages, and pure client-side JavaScript. All file processing happens in the browser — your files never leave your computer. Zero server costs, zero privacy concerns. Why I built it I kept seeing Reddit threads and Quora questions: "How do I open a Pages file on Windows?" The answers were always the same — use iCloud.com (slow), download some sketchy converter (risky), or ask the sender to export as PDF first (annoying). I figured: if the browser can read a file, it can convert it. And it turns out, it can. Try it 👉 iworkviewer.com Open a .pages, .numbers, or .keynote file right in your browser. Free, forever, no account needed.
The problem every AI coding session hits You open Claude or Copilot, paste in your task, and immediately hit the wall: the codebase is too big. You either: Dump everything and burn 80% of your context window on irrelevant files Hand-pick files and miss the one import that breaks everything Pay for a bigger context window and repeat the problem at scale I got tired of this and built ContextOS — a local CLI that acts as an intelligent context layer between your repo and your AI agent. What it does pip install rm-contextos cd your-project contextos scan contextos pack --task "add rate limiting to the auth endpoint" --budget 8000 Output: a Markdown (or JSON) context pack with only the files that matter for that task — ranked by keyword match, import graph centrality, AST symbol overlap, and git churn. Secrets redacted automatically. Token savings report on every pack: Packed 12 files · ~6,840 tokens · saved ~47,200 tokens (87%) vs full repo How ranking works Five signals combine into a score per file: Signal What it catches Keyword match Files whose content/name overlap with your task Import graph centrality Files that everything else imports (critical shared modules) AST symbol overlap Function/class names, not just grep strings Git churn score Recently modified files are probably active code Secret penalty Credential files silently excluded No LLM calls. No cloud. Fully offline. MCP server (for Claude Desktop / Claude Code) pip install "rm-contextos[mcp]" contextos serve --stdio Register in claude_desktop_config.json and your AI agent can call pack_context , scan_repo , list_files , get_file , churn_report directly as tools — no CLI needed. What's shipped 980 tests, 96% coverage Apache-2.0, no telemetry, no accounts Python 3.11–3.13, Linux + macOS Export formats: Claude, Codex, Cursor, Aider, JSON Incremental scan cache — re-scans only changed files pip install rm-contextos pip install "rm-contextos[mcp]" # + MCP server pip install "rm-contextos[all]" # everything Git
One API to scrape, enrich, and extract the internet. Discussion | Link
You've got a rough draft. Bullet points, half-finished paragraphs, maybe some notes you pasted from a meeting. It needs to become a real document — but rewriting takes time you don't have. That's exactly where AI Assist comes in. What AI Assist Does AI Assist lives inside PaperQuire's editor. Select any text, right-click, and choose an action: Rewrite — Rephrase your selection for clarity and tone, keeping the meaning intact Expand — Turn bullet points or short notes into full paragraphs Summarize — Condense a long section into a concise summary Fix grammar — Clean up spelling, punctuation, and awkward phrasing Translate — Convert your text to another language Custom prompt — Tell the AI exactly what you want ("make this more formal", "add examples", "simplify for a non-technical audience") Every action works on your selection — you stay in control of what gets changed and what doesn't. Bring Your Own Key PaperQuire doesn't route your content through our servers. You plug in your own API key from any supported provider: OpenAI (GPT-4o, GPT-4o mini) Anthropic (Claude Sonnet, Claude Haiku) Google (Gemini Pro) Local models (Ollama, LM Studio — for fully air-gapped workflows) Your documents, your key, your choice. Nothing leaves your machine unless you explicitly configure an external provider. A Real Workflow: Meeting Notes to Executive Summary Here's a concrete example. You come out of a 45-minute meeting with this: - Q2 revenue up 12% vs forecast - APAC expansion delayed, regulatory issues - New pricing tier launching Aug 1 - Customer churn down to 3.2%, lowest ever - Engineering headcount: 3 open roles, 2 offers out - Board meeting moved to July 18 Select all, click Expand , and AI Assist turns it into: Q2 revenue came in 12% above forecast, driven primarily by enterprise upsells in North America. The planned APAC expansion has been delayed due to unresolved regulatory requirements in two target markets; the team is working with local counsel to clear the path for a
3 platforms, one queue, zero editorial control. That was the state of my content automation before I sat down to spec the dashboard. LinkedIn, X, and Threads each had their own generator, their own state files, their own publishing loop. Drafts got generated, passed a quality gate, and fired into the void. If the draft was mediocre or the timing was wrong, I found out after the fact. The problem is not the automation. Automation is why I can run three platform engines without spending two hours a day managing content. The problem is that zero editorial visibility means you cannot catch the bad ones before they post. What I wanted: see every draft before it goes out. Edit inline if needed. Post immediately or schedule for the next slot. Compose something manually when I have a specific take to push. Keep the comment automation untouched because that runs high frequency, low stakes, and babysitting individual replies defeats the point. The spec came out to three core flows. Review queue. Every pregenerated draft surfaces here with full context: platform, topic, generation timestamp, quality score. One click to edit inline, one to approve for the next slot, one to post immediately. The goal is a 30 second review per draft, not a full editing session. Manual compose. Sometimes I know exactly what I want to say. A text area, platform selector, and post button. No generation, no queue, just publish. This is the escape hatch for when something is happening in real time and the pregenerated queue is irrelevant. Schedule view. A simple calendar showing what is queued for which slot across all three platforms. The generator already handles slot logic and quiet hours. The dashboard just needs to surface the state so I can see gaps and move things around without touching JSON files directly. What I deliberately left out: comment automation. That pipeline runs separately, fires frequently, and does not benefit from human review on every reply. Adding it to the dashboard would cr
If you've ever done a timed C++ coding assessment on a platform like HackerRank or DevSkiller, you know the friction isn't really the algorithm — it's the loop . Download a zip with a weird filename, unzip it, hunt for the project root, configure CMake, build, run GTest, fix one failing test, repeat... and somewhere in there you've burned ten minutes of your one-hour window just fighting the harness instead of writing code. These platforms' in-browser editors are fine for quick problems, but for anything involving multiple files (headers, sources, a real test suite), I'd rather work in my own terminal and editor. The catch is that you still have to get the project out of the browser sandbox, build it locally with the exact same toolchain (CMake + GTest), and then package it back up in a way the grader will accept. So I wrote three small bash scripts to remove that friction entirely. Sharing them here in case they save someone else the same ten minutes. The workflow Download the project archive from the platform (zip or tar.gz, filename is whatever the platform gives you — often randomized) Extract it — script 1 handles this regardless of filename or archive type Iterate — script 2 configures CMake once, then repeatedly builds and runs GTest, optionally watching for file changes Package — script 3 strips build artifacts and any local helper scripts, then zips it back up under a name that won't collide with the original download, ready to re-upload Script 1: extract_and_setup.sh Most of these platforms hand you an archive with an unpredictable filename. This script extracts whatever you point it at ( .tar , .tgz , .tar.gz , or .zip ), figures out which directory it unpacked to by diffing the folder listing before and after, and drops the build script into it automatically. #!/usr/bin/env bash # extract_and_setup.sh # Extracts $fname (tar, tgz, tar.gz, or zip) into the CURRENT folder, # then copies run_build.sh into the directory that was created. # # Usage: # ./extrac
The California-based startup enters a crowded headphone market with a $399 chiseled-aluminum gamble.
A WordPress form builder for real workflows Discussion | Link
Last week we introduced Upsun Dispatch™: a platform for the agentic software development lifecycle, where workflow is the primitive , not the agent. Today, prerelease is open. Starting July 1, a founding cohort of design partners gets early access. This is not a traditional beta. We are looking for engineering teams already running AI workflows and hitting the limits of what individual tools can do: teams who want to help shape what Upsun Dispatch becomes, not just use what we ship. Design partners get direct access to the core team, real input on the roadmap, and charter terms that reflect a genuine partnership rather than a vendor relationship. Apply at upsun.com/dispatch . Read the full announcement: Upsun Dispatch™ is now open for prerelease Starting July 1, 2026, Upsun Dispatch™ is open to a founding cohort of design partners. Here is what joining early means and how to apply upsun.com
Your creative AI co-director Discussion | Link
The proactive GTM agent in Slack and Teams Discussion | Link
Collect your favorite things in real life Discussion | Link
Hi, I’m David. I’m close enough to middle age that I have no interest in pretending I discovered the future of software development in a week. What I did do was spend one serious week building a small local app with AI assistance, while trying to keep the project understandable. That turned out to be harder, and more interesting, than I expected. The coding agent could move quickly. Sometimes very quickly. It could generate code, refactor, write boilerplate, and help move the project forward. But it could also widen scope, preserve the wrong assumption, “helpfully” redesign something I wanted to keep boring, or act on context that was never meant to become implementation work. The main lesson I took from that week was simple: AI-assisted development is not only a coding problem. It is a context management problem. So I started using a lightweight loop: Task Brief -> think through the problem Codex Contract -> give the coding agent a bounded instruction set Final Review -> test, inspect, patch, and update project memory The result was not perfect AI coding. The result was reviewable AI coding. That distinction felt important enough to write down. The three articles I published three companion articles from that first week. They are meant to stand on their own, but together they describe the workflow, the memory system, and the objections I think are worth taking seriously. 1. Vibe Coding Done Right This is the accessible starting point. It explains how I used a lightweight, spec-driven workflow as a solo developer working with ChatGPT, Codex, VS Code, PowerShell, and a local LLM through LM Studio. The point is not the exact stack. The point is the separation: one place for thinking, learning, and review; another place for bounded implementation; documentation as the memory that keeps the next task grounded. 2. Documentation as Project Memory in AI-Assisted Development This is the more technical case-study piece. The part that surprised me most was documentation. Not
When I first started programming, I thought the best developers had one superpower. They remembered everything. Every function. Every method. Every API. Every piece of syntax. So I spent hours trying to memorize things. JavaScript methods. SQL queries. Regex. CSS properties. I thought that would make me valuable. I was wrong. The Day Everything Changed One day I watched a senior developer solve a difficult production issue. They opened Google. They opened the documentation. They searched Stack Overflow. They experimented. They tested. They failed. Then they fixed it. That's when I realized something. They weren't valuable because they remembered everything. They were valuable because they knew how to solve problems. Google Doesn't Make You Less of a Developer For a long time I felt guilty every time I searched for something. "Real developers shouldn't need Google." That's what I believed. Then I realized... Even experienced engineers search for documentation every day. Not because they're bad. Because technology changes constantly. Nobody remembers every detail. Syntax Is Temporary Think about the last five years. How many frameworks have changed? How many libraries disappeared? How many APIs were deprecated? Technology moves fast. Problem-solving doesn't. If you know how to think... You can learn any syntax. Companies Don't Hire Human Compilers Nobody pays you because you know where to put a semicolon. Nobody promotes you because you memorized every React hook. Companies pay developers who can: understand problems communicate clearly debug effectively make good decisions work with people deliver reliable software Those skills don't disappear when a framework becomes outdated. The Questions That Matter Instead of asking: "Do I know this syntax?" I started asking: Can I understand the problem? Can I break it into smaller pieces? Can I explain my thinking? Can I find reliable information quickly? Can I learn something new when I need it? Those questions changed the wa
The original Ninja Slushi has been replaced! The new best slushie machines chill faster and make soft serve.
Bitdefender VPN has an excellent starting price, even if it lacks the advanced features that privacy nerds may want.
Introduction I keep hearing the term loop engineering. It's all over my feed, every AI...
A few months ago I noticed something annoying about how I worked: I was spending more time collecting information than actually thinking about it. The pattern was always the same. Open a search engine, open a dozen tabs, skim past the SEO filler and cookie banners, copy the paragraphs that actually mattered into a doc, paste the whole mess into an LLM and ask it to make sense of things. Then, a week later, do it again because whatever I was tracking had changed. At some point I stopped asking "how do I do this faster" and started asking why I was doing it by hand at all. Why the obvious answers didn't work ChatGPT and Perplexity are fine for a single question. They're worse at the part I actually needed help with, which was repetition: running the same research loop on a schedule, keeping a record of what changed, and getting a notification when it did. Neither tool is built to sit in the background and check on a topic for you. Plain scraping scripts have the opposite problem. They get you raw HTML, not understanding. You still have to strip out nav bars and footers by hand, and the moment you point one at a list-style page like Hacker News instead of a blog post, it falls apart. And bookmarking is just deferring the problem. A folder of forty saved links isn't research, it's homework you haven't done yet. I wanted something in between: automated enough to skip the tab-hoarding, but still producing something I could read and trust, not just a black-box answer. So I built Focal Harvest It's a modular CLI that runs the whole research loop, search, scrape, clean, synthesize, report, on its own, and stays lightweight enough to run on a laptop with no GPU and no database. A single run looks like this: you give it a topic and a focus area (what you specifically want answered), it searches the web, pulls and cleans the pages, synthesizes a report, and writes it to disk. There's also a loop mode, so the same query can re-run every few hours and ping you on Discord or Teleg
OpenAI usage page, check spend. Anthropic console, check spend. Add it up in my head. Close both...