anoma-blog-writing-guide

tl;dr

Table of Contents (TOC)

Acknowledgements and Feedback

Thank you to @graphomath and @cwgoes for early feedback, discussion and review.

Please provide feedback. Once feedback is collected, adjustments will be made. See Future improvements below.

The comprehensive guide to writing blogposts

Blogposts are important for communicating research ideas to different sets of target audiences. In this article, you’ll learn how to write an effective blogpost and help your reader get the most out of their experience. Blogposts help us communicate research. They provide an opportunity to share our work in a legible yet digestible format for the community of academics, researchers, builders, engineers, hobbyists, etc. that are interested in our ideas.

Introduction

Our guide decomposes into three sections. In section one we ask what are blogposts? We answer the question, then discuss types of blogposts and some differences between blogposts and formal communication. Next, in section two we review methods and techniques for writing an effective blogpost. We enumerate the steps to success, taking the reader from idea to published blogpost. Thereafter, in section three we discuss additional best practices for writing a blogpost, navigating the process of writing, and dealing with writer’s block.

What are blogposts?

According to Wikipedia, a blog is an informational website consisting of discrete, often informal diary-style text entries (posts). Posts are typically displayed in reverse chronological order so that the most recent post appears first, at the top of the web page.

How often have you read a paper or report and forgotten about the nuances or key insights? Blogposts provide readers a “short-cut” or API to access an idea that otherwise requires more time and effort to conceptually decipher. Simply the act of writing blogposts is also beneficial to the author, as it forces them to articulate a particular concept in a clear and concise fashion.

In the cryptocurrency industry blogposts are primarily used for breaking down technical or abstract concepts into a legible format that retains rigor but makes the content accessible for a target audience. Examples of blogposts authored by stakeholders in the cryptocurrency research community;

Types of Blogposts

There are three common types of blogposts. Indeed, there maybe more types than what is presented below. Although, these types in particular are the most common.

Blogposts should all in one form or another relate to research you do for Anoma. This means that each article requires either a short blurb in the introduction or explicit thematic references throughout the post. For the first two types the allusion to Anoma will either be in the title or a major theme of the article. For Community-oriented posts the allusion should be placed early on in the article to provide the appropriate context for the “Anoma blog reader”. For example here is an excerpt taken from Anthony Hart’s masterful article Logic Programming with Differential Equations;

You may wonder how this post relates to Anoma. I mentioned this method near the end of my survey on constraint satisfaction. This is a general and heavily parallelizable method for incomplete constraint satisfaction, which Anoma is interested in for applications to distributed intent solving. In the survey, I give further pointers to related material, explain formulations of intent solving, and explain how to generalize to approximate solving domains, such as MaxCSP.

Here is another example from Tobias Heindel’s excellent blogpost The 1996 Nobel Prize, the Second Price Auction, and Elixer;

The second price auction—the most down to earth aspect of Vickrey’s Nobel prize—is a splendid example for a protocol that one can easily implement in Elixir. If all you care about is Anoma, note the following:

  1. Anoma is a protocol.
  2. Anoma is being implemented in Elixir.
  3. Auctions are one typical application of Anoma.

So, the main topic is actually protocols. However, they are pretty complex in general. Hence we consider the second price auctions as an illustrative example and provide a hands on implementation in Elixir that you can experiment with.

Difference between a blogpost and formal communication

Blogposts need not be formal. They can use both colloquial and formal language. Though it is acceptable to use only colloquial language. For example in Christopher Goes’ article Towards an intent-centric topology he highlights both a colloquial and mathematical definition of intents.

Intents can be understood colloquially as commitments to user preferences over the state space and mathematically as atomic information flow constraints.

The goal of the blogpost is to connect with your target audience first and foremost. If your target audience is academic for example, you may choose to include LaTex or code blocks to support your argument and speak to this reader. For example, here is a code block from Logic Programming with Differential Equations

import jax.numpy as jnp
from jax import grad

def V1(x):
    return x**2 * (x - 1)**2

def descend(x0, V, dt, n_steps):
    x = x0
    for _ in range(n_steps):
        x -= dt * grad(V)(x)
    return x

On the other hand, if the post is targeted at “the Ethereum research community” you may also include relevant memes and or diagrams to convey your message, for example from the Towards an intent-centric topology;

image

Methods and techniques for writing blogposts

There are several techniques for writing effective blogposts. Each author may have slightly different approaches. In general, there are common themes that all good methods or techniques share. Let’s discuss the steps to success.

Steps to success

  1. Clearly choose a topic to write about.
    • This may sound trivial, but it is probably the most important part of the writing process.
    • If you do not have a specific topic, the reader will not understand your intent.
    • Commit to writing the blogpost by assigning an issue on the promise graph with a customer and performer.
  2. Create an outline. This can be thought of as your table of contents (TOC), which is a list found on a page before the start of a written work, of its chapter or section titles or brief descriptions with their commencing page numbers.
    • The outline informs how you will write about the chosen topic.
    • If you do not have an outline, it will make the process more difficult and perhaps send you back to step 1.
  3. Write your first draft. There are three components to note here
    • Take good notes. If you have notes on the topic you are writing on, you can begin. If you need to get up to speed, it starts with the note-taking process while researching the appropriate reference materials
    • Try to work section by section through your outline. The process will uncover if the outline is correct and also what additional information you’d like to discuss that perhaps you overlooked. Each section should have a start middle and end, almost like a mini-blogpost within a blogpost. For shorter summary type of blogposts there may not be enough depth for subsections
    • Read the post top to bottom. Check for cohesion, syntax, and spelling errors. Include diagrams and links to references in the draft, as it will help the reviewer of your draft provide helpful feedback.
  4. Seek peer feedback. Once you are ready, submit a draft to your customer for review, as well as colleagues and other friends.
    • Typically it is helpful to have members of your target audience both internal and external review the post prior to publication. The research forums are also a great place to seek feedback on posts while the ideas are still cooking.
    • When seeking feedback be explicit in what you want; e.g., scrutiny over a particular section, check for logical consistency, or general feedback. It helps to be explicit!
  5. Make changes and prepare the blogpost for publication.
    • Incorporate feedback from reviewers - can always ask for another check after feedback is adressed.
    • Add any final art or diagrams. All blogposts should have cover art which is descriptive of the blog. Art can be generated with various AI assistants like DALLE 3 or Mid-Journey.
    • Link and call out any explicit references to other work that is cited in the blogpost.
    • Reread the post again to check that the intended message is apparent.
  6. Submit the draft for publication.
    • Upload the blogpost draft to anoma.ghost.io and ask for review from the customer on the promise graph.
    • Work with apriori on scheduling publication and distribution, including producing a twitter thread
  7. Publish blogpost.
    • Distribute to friends and colleagues via social channels like Telegram, Farcaster, or Twitter.
    • Publish the blog from the Anoma.ghost interface - review in preview format first to ensure that any images, LaTex, or diagrams render appropriately.
    • Congratulate yourself on a job well done!

Best Practices for well written blogposts

Getting unstuck: overcoming writer’s block

Unfortunately, when writing a blogpost sometimes the author “gets stuck”, meaning they struggle to progress. This is also known as a mild form of Writer’s block - a condition in which an author is either unable to produce new work or experiences a creative slowdown. Writer’s block has various degrees of severity, from difficulty in coming up with original ideas to being unable to produce work for years. The best way to overcome this is;

Publish effective blogposts

In our guide we provided a comprehensive overview of how to write an effective blogpost. First we defined what blogposts are spending time discussing the different types of blogposts. Next we thoroughly examined the steps to success, pipelining from idea to publication. Thereafter, we discussed best practices, navigating the writing process, and how to overcome writer’s block. Indeed, I hope this guide is helpful for future blogpost authors who wish to publish on the Anoma blog.

References

Future improvements