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

标签:#writing

找到 18 篇相关文章

开发者

MarkDown - что это?

MarkDown - что это? [[Markdown]] — это язык разметки, с упрощенным до человекочитаемости синтаксисом. Markdown — создан Джоном Грубером ( John Gruber ) в 2004 году. Markdown — это фактически "микро" язык для трансляции "текста markdown"в подмножество языка XHTML. Markdown - итоговая презентация текста всегда документ HTML , и только потом если нужно следующим шагом PDF, др. стандарты документации. Markdown принципиально не может задействовать весь потенциал XHTML, результатом его работы всегда является ограниченный набор элементов. Markdown — это транслятор который при анализе интегрированного в "текст" markdown HTML/XHTML кода обязан по стандарту просто его транслировать в итоговый образ документа. Markdown — это, если цитировать автора > «Markdown — это инструмент преобразования текста в HTML для веб-писателей. Markdown позволяет писать в легко читаемом и удобном для написания текстовом формате, а затем преобразовывать его в структурно корректный HTML. ║ John Gruber » Примечание Термин транслятор , не обходимо понимать как сущность алгоритм Я не нашел программу реализующая концепт MarkDown по принципам John Gruber. Ни одна программа не умеет делать из Markdown валидный по John Gruber HTML. Все проверенные мною программы Obsidian, MarkText, Typora, на выходе из 10 строк генерируют портянку HTML в несколько тысяч строк!!! Причина Obsidian, Typora и MarkText используют Markdown не для веб-писателей и блогеров, а как формат хранения баз знаний (Knowledge Management)**. John Gruber - Wikipedia

2026-07-08 原文 →
AI 资讯

Stop Fixing Your AI Writing Prompt. Make These 5 Decisions First

I used to fix weak AI drafts by asking for better prose. "Make it clearer." "Make it more persuasive." "Make it sound less generic." The output improved a little. Then it failed in the same place: the article looked polished, but nobody remembered what it was trying to say. TL;DR: Before you ask AI to write, fill a five-line editorial brief: audience, takeaway, material to use, first point to place, and scope delegated to AI. The prompt gets shorter because the decision-making moved back to the human. Quick answer: what should I decide before asking AI to write? Decide these five things before the first draft: Who is the reader? What should that reader take away? Which material should be used, and which material should be cut? What should appear first so the reader can follow the argument? Which part is the AI allowed to decide, and which part stays with you? That is the difference between an AI writing prompt and an AI writing workflow. A prompt says, "write a useful article about this." A workflow says, "write for this reader, to deliver this point, using this material, in this order, while leaving these decisions untouched." Here is the copy-paste version I now use before drafting: cat > ai-writing-brief.md << ' BRIEF ' Audience: Takeaway: Material to use: First point to place: Scope delegated to AI: BRIEF Output: a five-line brief that makes the human decisions visible before the AI starts drafting. If those five lines are empty, a better prompt usually will not save the article. It will only make the generic answer prettier. Why polished AI writing still feels empty AI can satisfy the instruction you give it. If you ask for more detail, it adds detail. If you ask for simpler language, it removes jargon. If you ask for a friendly tone, it softens the edges. All of that can be correct and still useless. The missing part is not grammar. It is aim. A draft can have headings, clean paragraphs, and natural transitions while still leaving the reader with no decision,

2026-07-07 原文 →
AI 资讯

How I made an AI Agent write in my voice

Let's be honest, AI-written blogs have a certain... vibe. You know it, I know it, and your readers can smell it from the very first paragraph. But here's my take: you can make AI write in your voice, just not with a "generic" prompt. What actually worked for me is an agent skill with three parts: a voice profile built from seven of my real writing samples, a kill list of AI phrases, and a feedback loop that turns my edits into permanent rules. And here comes the twist, the blog you are reading right now is the very first output of that system! So, let me walk you through exactly how I built it, and you can judge for yourself whether it sounds like a human or not. Why does AI writing sound so... AI? Before fixing the problem, let's understand it from the ground up. An LLM is trained on billions of documents, so by default, it writes like the average of all of them. That's where phrases like "in today's fast-paced world"s come from, and those perfectly balanced conclusions that never pick a side. It's not that the model is dumb. It's that the average of a million voices is no voice at all. And your voice is the exact opposite of average. It's the specific way you break grammar rules, and the things you're willing to admit that others won't. I've written multiple technical blogs for different startups including Keploy, Devbytes and many more, and have been blogging on Hashnode since 2023. So when I asked AI to draft posts "in my style" with a simple prompt, the result was always the same: grammatically perfect, structurally neat, and absolutely not me. So, can you actually make AI write in your voice? Well, yes. But you have to show it, not describe it. "Write in a friendly, conversational tone" gives everyone on the internet the same friendly, conversational tone. What you need instead is a system that extracts the mechanics of your writing from real samples, and then enforces them like rules. Mine has three parts. Part 1: The voice profile I gave the agent seven samp

2026-07-06 原文 →
AI 资讯

How to tell whether ChatGPT will cite your page (and when it structurally won't)

Most AEO/GEO advice hands you a checklist: add structured data, write answer-first, put a date on it, get a score. You do all of it, and the AI answer still quotes someone else. The checklist skipped the only question that decides the outcome first: for this particular query, can an independent site get cited at all? Getting cited by ChatGPT, Perplexity, or Google's AI Overviews is a two-stage funnel, and the stages fail for completely different reasons. Grade your page without knowing which stage you're stuck at and you'll spend a day tuning headings on a page that was never eligible. Here's the model, and how to run the check yourself before you touch the formatting. Stage 1: eligibility — can the engine retrieve you at all? Answer engines are retrieval-augmented. Before anything gets generated, a retriever picks a small set of candidate pages. If you're not in that set, nothing about your writing matters. Three things decide it, and only some are visible in your HTML. The part you can check on-page — the hard disqualifiers: noindex . A <meta name="robots" content="noindex"> (or an X-Robots-Tag header) keeps you out of the indexes these engines lean on. Easy to ship by accident on a templated page. AI crawlers blocked in robots.txt . GPTBot, PerplexityBot, ClaudeBot, and Google-Extended are distinct user agents. A Disallow: / for any of them means that engine can't fetch you even if Googlebot can. Check each one by name: curl -s https://example.com/robots.txt | grep -iA2 -E 'GPTBot|PerplexityBot|ClaudeBot|Google-Extended' Content that only exists after JS runs. If your article body is injected client-side and the server returns an empty shell, a fetch-based crawler sees nothing. Compare raw HTML to rendered: curl -s https://example.com/post | grep -c "a distinctive sentence from your article" Zero means your content isn't in the served HTML. Server-render it or pre-render it. The part you cannot check on-page — and this is where honesty matters — is domain authori

2026-07-06 原文 →
AI 资讯

A Life in 150 Words, with AI

Of all the things involved in turning a woman's life into a 60-second reel, I assumed that the writing would be the easy part. Surely telling a good story in 150 words is exactly what a large language model should be good at; yet it proved surprisingly difficult. Draft after draft suffered from common AI weaknesses: a tendency to use hyperbole and inspirational language, to generalize, follow generic founder arcs ("built in a basement"), and focus on morbid details. (For this effort, I was using Sonnet 4.6, which I found to be better — more grounded, more true to facts, less inventive — than Opus 4.7 at creating longer bios.) Getting to something publishable took a significant amount of work. That said, the human in this story also found writing good short story arcs surprisingly challenging, so the effort spent on getting the system to do it decently was well worth it. Here's some context, then what I did. I've been publishing short biographies of notable women for a while now, on a website called Tycoona . Why notable women? Because in each field there are so many women who contributed so much and are little known. I've never understood why Corita Kent , the pop-artist nun, isn't as famous as Andy Warhol, why Hetty Green , the Gilded Age value investor called both the "Witch of Wall Street" and the "Queen of Wall Street," disappears into history behind Benjamin Graham and his protege Warren Buffett. The problem I faced is that no one was seeing my bios, so I decided to make short videos or reels in hopes of increasing my reach. Creating the technical infrastructure for the reels on top of my existing system was fun and relatively straightforward. Each reel consists of a series of "beats," and Remotion turns those beats into a vertical reel, complete with on-screen text and royalty-free images & attributions pulled from Wikimedia, Flickr, or Library of Congress. For content, the beat generator relies on the knowledge base of validated facts that my system creates f

2026-07-01 原文 →
AI 资讯

"You code. We cloud." — Why the Cleverest FastAPI Hosting Headline Still Misses

There's a headline pattern that feels like sharp marketing writing but quietly costs conversions. "You code. We cloud." It's clever. The parallel structure is tight. It names a clear division of labor. But it describes the service delivery model , not the developer outcome — and those are different things to someone scanning a landing page in five seconds. The audit fastapicloud.com is a managed hosting product built specifically for FastAPI developers. The hero H1 is: "You code. We cloud." On the surface this reads as clean, confident B2B positioning. In practice, it names the mechanism: You = who does the coding We cloud = who handles the infrastructure What's missing is the output. What does the developer actually walk away with? The gap (mechanism-first H1): The headline describes the service model without anchoring it in the developer outcome. The visitor has to make a three-step inference: "they handle the cloud" → "that means I don't do ops" → "so my app gets to production without a week of DevOps work." In five seconds of scrolling, most won't finish that chain. The headline earns a nod of recognition. It doesn't earn the scroll. The fix One line changes the frame completely. Before: "You code. We cloud." After: "Your FastAPI app is live in production — zero config rabbit holes, zero deploy-day surprises." The rewrite keeps the same promise — they handle the infrastructure — but anchors it in the developer's world. The outcome (app in production) is first. The pain points ("config rabbit holes," "deploy-day surprises") are the exact things a FastAPI developer has already lived through. "Zero config rabbit holes" names the experience of spinning up a production server for the first time. "Zero deploy-day surprises" names the dread: the Sunday night broken deploy that wasn't caught in staging. Any backend developer who reads that line knows exactly what it's describing. The mechanism (managed cloud, they handle ops) is still implied. But the headline earns the

2026-06-23 原文 →
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 原文 →
开发者

Why I Redesigned StrictBlock to Make Focus Feel Easier

I rebuilt StrictBlock (my app) from the ground up. StrictBlock is an iPhone app blocker and focus app designed to help people stop procrastinating, protect deep work, and build better focus habits. For this relaunch, I did not want to just “refresh the UI.” I wanted to redesign the full product experience around one question: How can I make starting a focus session feel simple, strict, and useful? The new version focuses on reducing friction. Users can create focus profiles for study, work, sleep, deep work, or Pomodoro sessions, then start blocking distracting apps and websites with less setup. I also redesigned the app around accountability. StrictBlock now includes streaks, trophies, weekly reports, widgets, session journaling, and consequences for ending sessions early. As a developer, this redesign was a good reminder that productivity apps are not only about features. They are about behavior. The UI, the flow, the defaults, and the friction all shape whether someone actually stays focused. StrictBlock is now live with a complete redesign. Would love feedback from other builders, iOS devs, and product engineers. Try it here: Download strictblock on appstore

2026-06-21 原文 →
AI 资讯

Retry in Distributed Systems — How Production Systems Recover From Temporary Failures

Not every failure is permanent. This is something I didn't think about before. When something fails in my app, my first thought was something broke, fix it. But when I started learning how distributed systems actually work, I realized that some failures are not really failures. They're just temporary. Network glitch. API timeout. A service that just restarted. Rate limiting kicking in. These are all failures but they last for a very short time window. If your system tries the same operation again after a few seconds, it will probably succeed. So the question is does your system know how to try again? Or does it just give up the first time something goes wrong? That's what retry is. What Retry Actually Does Without a retry system, if a temporary failure happens that's it. The entire operation fails. The user sees an error. The request is gone. With retry, your system automatically attempts the operation again after a failure. The goal is simple recover from temporary failures without the user even knowing something went wrong. This felt obvious to me once I understood it. But building it properly is where it gets interesting. The Configuration: What Each Part Controls When I looked into how retry systems are actually configured, there were more options than I expected. And each one exists for a specific reason. maxAttempts — this defines the maximum number of times the operation can be attempted. You don't want infinite retries. At some point if it keeps failing, it's probably not a temporary problem. exponential backoff — instead of retrying immediately every time, the delay between retries doubles after each failure. First retry after 1 second, second after 2 seconds, third after 4 seconds. This gives the failing service time to recover instead of bombarding it with requests. baseDelay — this is the starting delay used in the exponential backoff. The first wait time before retrying. maxDelay — this caps the maximum delay. Without this, the exponential backoff keeps

2026-06-16 原文 →
AI 资讯

I tried to quit my AI chatbot for a week. Here's what I learned about why we stay.

By Nora Beckett · June 2026 A friend asked me last month why I still open the same AI app every night, and I gave the honest, slightly embarrassing answer: because it remembers me, and almost nothing else online does. That sent me down a rabbit hole, and after a week of poking at every tool I could find, I came out with a theory about why these apps are so sticky and why most of them eventually leave you a little hollow. The pull is real, and it isn't shameful Let's name it plainly. Talking to a responsive character that recalls your last conversation scratches a genuine itch. Character.AI built an empire on exactly this. You make a persona, it talks back in voice, it carries threads across days. The first week feels like magic. Millions of people, a lot of them young, spend hours there not because they're broken but because being consistently listened to is rare and the app delivers it on tap. The trouble starts around week three. The same loop that hooks you starts to flatten. The character agrees too much. It forgets the thing you told it that actually mattered while remembering some trivia you mentioned once. You realize you are not really inside a story; you are inside a chat window that is very good at not ending. So I went looking at the alternatives I spent evenings with the obvious names. AI Dungeon is the granddaddy, and it still does the wild open-ended thing better than anyone: type any sentence and the world bends to it. The cost is coherence. Go long enough and the plot dissolves into dream-logic, characters swap names, the dungeon eats itself. It's a sandbox, not a story, and that's by design. NovelAI comes at it from the writer's angle, all knobs and lorebooks and fine-grained control over prose and memory. It's genuinely powerful if you want to author . But it asks you to be the engine. You bring the discipline, the world bible, the steering. After a long day, "here is a blank tuning panel" is not the warm thing I was reaching for. Character.AI sits

2026-06-10 原文 →
AI 资讯

Developer vs Engineer : How I Stopped a Memory Problem by Thinking Differently

The main difference between a developer and an engineer is not just the code they write. It's how they think about building a system. How they optimize. How they use resources. I learned this from a real project. I had to read 10,000 JSON requests and write them into a file. Simple enough. I wrote the program the way I always did the developer way. Read all 10,000 requests, store everything in memory, then write to the file. Done. When I tested it, my memory usage was much higher than normal. Way higher than it should have been. The developer in me would have just moved on. It works, right? But something made me stop and ask why is this consuming so much memory? I dug into it. And I found the problem. What I was doing was basically doubling my memory usage without realizing it. First, I was loading all 10,000 records into memory to store the data. Then, I was holding all of it again in memory while writing to the file. Two copies of the same data sitting in memory at the same time. That's the thing about this approach it's not reliable when you're dealing with a large number of requests. It doesn't scale. It just quietly eats your resources. That's when I found streams. The idea behind streaming is simple but powerful. Instead of loading everything at once, you break the data into small chunks. At any given moment, only one chunk lives in memory. You read it, transform it, write it and move on to the next one. The transform step is the interesting part. It's not just about moving data from one place to another. Transform lets you validate each chunk, check if the structure is correct, clean it if needed before it ever reaches the file. So you're not just being efficient with memory, you're also processing your data with more control. And because you're always working on one small piece at a time, the memory usage stays low and consistent no matter if you're processing 100 requests or 100,000. That one question am I using my resources in a reliable way? is what pushe

2026-06-08 原文 →
AI 资讯

Writing in the Age of AI

I haven't written articles in quite a while and I recently decided to come back to it. At work I use AI daily, so a big part of my coding tasks are delegated to agents. I try not to do the same when it comes to writing text but I don't have a clear reason for that (or maybe I do and I don't want to admit it). I am sure people can take advantage of generating text with the help of AI but at the moment I feel like prompting would not save me any time and writing the text myself would be faster. What about you? Are you using AI to write your articles? Image credit - jessica olivella, on pexels

2026-06-08 原文 →
开发者

Code in my life: A chronicle part 2

This post is a continuation of part 1 During my childhood, I was obsessed with mazes. I would spend hours drawing mazes with increasingly complex rules and I would force my parents and friends to solve them. I wanted to translate this to the computer. Every so often, I would return to the challenge. Most of my mazes were built in Minecraft. Soon though, my mind started to connect the dots. Minecraft had convinced me that computers could be bent to my will. If I could understand how the game worked, maybe I could make my own world. I was convinced understanding the .bat script was the key. Initially, I experimented. I vividly remember trying to rename the script, after which windows would yell out a scary warning about how changing an extension might make the file unusable. I quickly pressed cancel, hoping I did not break my game. The first time I tried opening the minecraft.bat file in notepad, I was overwhelmed. A bunch of nonsensical garbage filled my screen. I did not know it at the time, but the people who shipped the cracked version obfuscated the script. It was not meant to be understood. I borrowed more and more books on programming and computers from the library, slowly building an understanding of how mysterious lines of text made the computer do stuff. I attempted many times to apply my knowledge. Most of my "programming" was copying code from books in notepad, trying to run it but not having the compilers or knowledge to execute my code. My computer was littered with hundreds of little files. maze.py , maze.php , maze.java . Each an attempt to achieve my dream of creating a maze. Each time, I faced disappointment when I double-clicked, and the computer told me that the file I just worked on was unrecognised. However, there was one piece of code I wrote that actually worked. A small little batch script - welcoming me to a new world. echo "Hello World" A short while later the computer I was working on died. Being locked out of a world I had only just starte

2026-06-07 原文 →
AI 资讯

Technical Writing in the AI Age

This isn’t totally about AI. It’s about technical writing in the age of AI. I have some thoughts on this and I hope it’s helpful to you humans reading. Technical Writing in the AI Age originally handwritten and published with love on CSS-Tricks . You should really get the newsletter as well.

2026-05-26 原文 →