Calling all BEAM Bloggers!

This update’s just for you :003:

Edit:

See new blog post posting info here: New dedicated Blog Posts and Podcasts sections :icon_biggrin:


You can post links to your blog posts or podcasts either in one of the Official Blog Posts threads or the Elixir Podcasts thread, or, if you want a dedicated thread for each blog/podcast, via Devtalk.com.

If you post via Devtalk we will automatically cross-post your blog post here for each blog post or podcast (so one thread for each) so long as you have an account with the same username and primary email address on both forums. We also remove the rel-nofollow attribute when your link appears on our homepage on Devtalk, so great for your SEO! :icon_wink:

If posting via Devtalk be sure to:

  • Ensure your account on Devtalk.com has the same username and primary email as your account here.

  • Initiate thread creation in one of the Blog Posts/Podcasts sections (for Elixir/Phoenix that may be in the Backend category, or for LiveView it could be the Frontend category).

  • Make sure the last link in your post is to your blog post as this is the link that will get featured on Devtalk (you can however override this by pasting the URL of your blog post or podcast in the TITLE field on thread creation, however you will need to be at Trust Level 1 to do that).

  • Include a short summary of your blog post or podcast then post the link on a separate line (here’s an example)

  • Include the Elixir and blog-post (or podcast) tags (as well as Phoenix, Nerves, LiveView etc if applicable). Don’t include the tags for Erlang or any other BEAM language as the system will instead post your blog post on to the Erlang Forums (unless that’s what you want).

It will then create a thread on Devtalk and then automatically cross-post here under your account :003:


/Please note some of the below may now be out-dated/

Writing blog posts can be incredibly rewarding, but it’s also a lot of hard work, and, often after the initial bit of exposure bloggers get, their blogs become subject to the whims of search engines.

So while thinking about ways to widen Elixir’s reach beyond our immediate community channels, we also wondered how we could give bloggers (and other content creators) additional exposure too - but also in a way where they can remain visible for significantly longer and on a broader platform too.

Before we outline these new features, let’s first review how we’ve been accommodating blog posts to date. Essentially, there were two ways to post blog posts here:

  1. In one of the official blog post threads (eg, Elixir Blog Posts)
  2. In a single thread for all of your blog posts. Eg, “Julia’s Blog Thread”, or, a single thread for a large series.

We implemented this to make it easy for members to subscribe to or mute threads.

However we found that a fair number of people posted threads for individual blog posts which meant a moderator would need to either rename or merge them - and when they were missed this wasn’t fair on everyone else. Ideally, we’d have a system where people can post a thread for each blog post BUT everyone else can subscribe, or in some cases more importantly for them, mute threads about blogs they may not be interested in (there could be a number of genuine reasons for this, such as the content being at a level or frequency that is too high/low for that particular reader). Our new system makes this possible, while also gives bloggers exposure on multiple platforms and multiple Twitter accounts. How? By posting via the Elixir portal at Devtalk. (Haven’t heard of Devtalk? It’s the new multi-language platform brought to you by the same team behind the Elixir Forum :003:)

How the new system works

Firstly, bloggers will still be able to post in one of the official blog post threads here like they always have (or in an existing thread for their blog if they already have one) however, for those who would like additional exposure, you’ll be able post via Devtalk and the following will happen:

  • When tagged with elixir (or phoenix, erlang, gleam, etc) your blog post thread will show in Elixir’s (or Phoenix’s/Erlang’s/Gleam’s) portal on Devtalk
  • The thread is tweeted via Devtalk’s Twitter account
  • The thread is automatically posted here via the user’s Elixir Forum account if they have one
  • The thread will be prefixed by type (eg: “Elixir Blog Post:”)
  • The thread here will automatically have a user’s blog tag added, eg “blogs-by-username”
  • If the thread was posted by someone who doesn’t have an account here (or their details don’t match), it will be posted here via the @Devtalk account and a special via-devtalk tag will be added (allowing users here to mute all such threads should they wish to)
  • The thread will be tweeted by the @elixirforum Twitter account with the prefix intact, allowing people on Twitter to quickly see what the thread might be about.

We’ll do similar for screencasters and published books.

Apart from the advantages above, of getting exposure on multiple platforms and allowing users to easily watch/mute such threads, by posting via Devtalk you will also help Elixir remain visible on a multi-language platform - both in terms of Elixir related content and Elixir itself remaining high up in the list of ‘top portals’.

A key feature is that you won’t just be posting once, getting some initial exposure and then being forgotten about - if you’ve written a blog post that people like or comment on, it could get continuous exposure all year round via Devtalk’s trending lists on the homepage and/or Elixir’s portal :003: All these additional links could help with your SEO too :023:

We love blogs and we want to support people blogging via their own platforms rather than them have to rely on the now commonplace blogging platforms to get exposure - hopefully we can help self-hosted bloggers get on an equal footing and perhaps even see a resurgence.

For those not interested in specific blogs, or items posted with the via-devtalk tag, you can simply mute the tags that don’t interest you.

How to ensure your accounts are linked

Simply sign up to Devtalk with the same username and primary email that you are using here. If you want to use a different username on Devtalk, simply PM the @Devtalk account here with your Devtalk username and we’ll get them linked for you.

Summary

  • If you’re not interested in this service you can continue to post your blogs here in one of the official blog post threads (or an existing blog thread if you already have one)
  • If you’d like more exposure, skip the above and simply sign-up to Devtalk with the same username and primary email address and post via any of the blog post sections on Devtalk, tag it with any of the BEAM language tags, and we’ll automatically cross-post here on your behalf (only use the Phoenix, Erlang, Gleam or LFE tags if the thread is primarily about those - if they exist in addition to the Elixir tag, they will take precedence and we’ll assume your thread is primarily about them)
  • Screencasters wanting the same: use any of the ‘learning resources’ sections and include the screencast tag and we’ll automatically cross-post to the screencasts section here
  • Those not interested, can simply mute the tags that don’t interest them

Like most things we try, this feature is on trial - we’ll monitor and tweak it as we go, but we hope you’ll agree this is a really nice addition for bloggers and screencasters and something that will also help get Elixir noticed in wider circles too :purple_heart:


Edit: This now works for podcasts too - just ensure all the details match as above then post in one of the podcast sections on Devtalk and include the ‘podcasts’ tag :023:

Edit: Please note you will need to be at TL1 over at Devtalk (usually takes about 15 minutes of browsing) for the link being pasted in the title bar to work - however if you PM @AstonJ he will manually bump you up to TL1 :023:

24 Likes
Podcast: ThinkingElixir 049 - Pushing for Modularity with Maciej Kaszubowski
ExUnit.Callbacks
Programming Phoenix LiveView (PragProg)
Screencast: [ElixirCasts] Introspecting Ecto Schemas
Elixir Blog Post: What happens when a linked process dies
Podcast: ThinkingElixir 052 - IOList and Postgres with Nathan Long
Phoenix Blog Post: Content Security Policy configuration (in Phoenix with LiveView)
Screencast: Surface - ElixirCasts
Elixir em Foco - New Elixir Podcast (in Portuguese)
Podcast: #054 AST Parsing using Sourceror with Lucas San Román
Podcast: ThinkingElixir 065 - Meet Core Team Member Aleksei Magusev
Your topic ideas for bloggers
Nerves Blog Post: Making friends and influencing nodes, with multicasting
Podcast: ThinkingElixir 066 - Tracing Production with Kai Wern Choong
Elixir Blog Post: Death, Children, and OTP
Erlang Blog Post: Spot the Difference
Phoenix Blog Post: Failing Big with Elixir and LiveView - A Post-Mortem
Podcast: Thinking Elixir - 63 SMS Texting in Nerves with Peter Ullrich
Elixir Blog Post: Conditional guard for structs of an explicit type
Erlang Blog Post: Detecting Oxbow Code in Erlang Codebases with the Highest Degree of Certainty
Elixir Blog Post: Conditional context for macros
Podcast: Podcast: Thinking Elixir 059 - How Elixir Came to Spotify with Joel Kemp
Elixir Blog Post: Replace conditionals with pattern matching
Elixir Blog Post: The many and varied ways to kill an OTP Process
Elixir Blog Post: Setting up an elixir development environment using Docker
Podcast: ThinkingElixir 055 - Learning from Failure with Philipp Schmieder
Elixir Blog Post: Announcing Delta – Operational Transform in Elixir
Podcast: ElixirMix 145 - How Far Can You Push a GenServer ft. Brian Underwood
Podcast: Podcast: ElixirMix 139 - Gleam and Typing ft. Louis Pilfold
Screencast: Clustering Elixir with Gigalixir - ElixirCasts
Podcast: ThinkingElixir 62 - Chris McCord joins Fly.io and Phoenix 1.6
Podcast: Thinking Elixir 057 - Scaling Live Chat with Cade Ward
Elixir Blog Post: Wolf, Goat, Cabbage… and Elixir
Elixir Blog Post: Dynamic Nested Function Call with Macro
Live streaming technologies with Elixir / Phoenix
Elixir Blog Post: Live video streaming from iOS devices made simple with Elixir & Membrane Framework
Screencast: ElixirCasts - Using Phx.Gen.Auth for Phoenix Authentication
Elixir Blog Post: O tempora, o mores!
Podcast: ElixirMix 141 - Domo and Type Validations ft. Ivan Rublev
Podcast: ElixirMix 140 - How to Become a Top End Developer
Elixir Blog Posts
Phoenix Blog Posts
Erlang Blog Posts
Nerves Blog Posts
Blog Posts: Evangelising Elixir
Elixir Blog Post: How we split Plug.SSL to control SSL redirection
Elixir Blog Post: Livebook is a secret weapon for documentation
Phoenix Blog Post: Using binary WebSocket messages with Elixir & Phoenix
Screencast: [Elixircasts] Admin Pages with Torch
Erlang Blog Post: Formatting your Erlang code in Visual Studio Code
Podcast: ElixirMix 142 - Building PWA’s in Elixir and Phoenix ft. Tej Pochiraju
On Demand talk videos from Code Mesh V, the alternative tech conference
Elixir Blog Post: Reserved Backward Compatibility
Elixir Blog Post: Blogging with LiveBook
Exploring Graphs with Elixir (PragProg)
Screencast: UUID Primary Key with Ecto - ElixirCasts
Erlang Blog Post: Stay on top of your Erlang deps with our latest rebar3 plugin - NextRoll
Elixir Blog Post: Finite Automata with Tarearbol
Screencast: Phoenix LiveView LiveComponent - ElixirCasts
Industry vs Academia - Francesco Cesarini & Simon Thompson at Lambda Days 2021
Screencast: Hands-on Elixir & OTP: Create a cryptocurrency trading bot - Ep. 16 - Add end-to-end tests
Podcast: ThinkingElixir 060 - Compile Faster with Marc-André Lafortune
Podcast: Thinking Elixir 061 - Elixir's Recent Brex-it
Erlang Blog Post: Galicia ❤️ The BEAM
Podcast: ThinkingElixir 058 - News and Livebook for Business Intelligence
Podcast: ThinkingElixir 064 - OTP Certificate Woes with Bram Verburg
Podcast: ElixirMix 144 - Pluralsight, Courses, and Elixir the Big Picture ft. AJ Foster
Elixir Blog Posts
Elixir Blog Posts
Podcast: ElixirMix 143 - Miss Elixir ft. Fernando Hamasaki
Elixir Blog Post: How to set-up a Ruby and Elixir dev environment on macOS (2021)
Elixir Blog Post: Test Driving OTP - creating a registry with expiring entries
How to use the Blogs Section
Concurrent Data Processing in Elixir (PragProg)
Podcast: ThinkingElixir 051 - Live Auctions with Alex Loukissas
Build a Weather Station with Elixir and Nerves (PragProg)
Erlang Blog Post: How do List Functions Fail in Erlang?
Podcast: ThinkingElixir 056 - Fly-ing Elixir Close to Users with Kurt Mackey