AstonJ

AstonJ

Your topic ideas for bloggers

Inspired by what @tommica wrote:

I thought it could be nice to have a thread that might serve as inspiration for bloggers :blush: so, if there’s a blog post you’d love to see please say here - you never know, someone with the relevant experience on the topic might spot your post and write one :003:


For anyone interested, we have a similar thread for book authors, and for anyone interested in blogging, don’t forget you can get more exposure and help your SEO by posting via Devtalk (see this thread for details).

First 4 of 4 Posts Switch mode

AstonJ

AstonJ OP

I’ll start by adding that I’d love to see more blog posts about LiveView (and Surface) :sunglasses:

dorgan

dorgan

I have a couple ideas:

  • Functional data structures in elixir (queues, balanced trees, finger trees, zippers), mostly directed to people new to FP
  • Integrating phoenix and javascript in a framework agnostic way, basically something that says “phoenix doesn’t care about your js as long as it lands in priv/static”
  • Tailoring phx_gen_auth for your use case, with some example using Assent (for oauth2) or TOTP
  • Phoenix is not Rails/Phoenix is not magic, for the newcomers that are afraid of using Phoenix thinking it is bloated
  • Talking about Phoenix.Pubsub and how it can be used outside of phoenix and how it saves you from using Redis or whatever like you would need in other ecosystems
Sebb

Sebb

I propose a guide for (experienced) OOP-devs.

Stuff I think should be covered:

  1. use composition instead of inheritance

Don’t do what I did, implement inheritance with GenServers

defmodule Base do
  use GenServer

  def handle_cast(:foo, state), do: ...
  def handle_cast(:bar, state), do: ...
end

defmodule Derived do
  use GenServer

  def handle_cast(:foo, state), do: ...
  def handle_cast(:baz, state), do: ...

  # !!!
  def handle_cast(method, state), do: Base.handle_cast(method, state)
end
  1. Understand why immutability is great but comes at a cost - You give up mutability - I often miss this part in FP-introductions, which directly leads to …

  2. survival without mutability (understand, ideally implement yourself) map-reduce algorithms. Learn to structure data so that its easy to handle without mutability.

  3. learn to love pure functions (testability! understandable code!) which leads to

  4. functional patterns - starting with a simple pipe, then with, understand plug and maybe functional core, imperative shell (with proposing this pattern Sasa Juric vastly improved some code of mine here so I love it)

dimitarvp

dimitarvp

Development tooling, ideally written in compile-time static and strongly typed language like Rust, OCaml, Haskell, Nim, Zig. I am partial to Rust so I’ll give examples with it.

I am talking about series of posts here, not just a single post:

  • Long-term: rewrite Elixir compiler in Rust.
  • Mid-term: rewrite Elixir LS in Rust.
  • Short-/mid-term: efforts like Sourceror (manipulate Elixir code) Sourceror - Utilities to work with Elixir source code by @dorgan (thank you!)
  • Short/mid-term: Phoenix/Absinthe tailored tooling that can do stuff like “add a field to this model and everywhere the model is used” – controllers, queries / mutators, views, templates, you name it. I’d like to see more intelligent generation and manipulation of code. (If I become a millionaire tomorrow that’s one of the projects that I’m extremely likely to pick up in my free time!)
  • Short-term: basic GenServer wrapper that does away with boilerplate – or just codegen it. Maybe something like @pragdave’s component library?
  • Long-term: rigorously tested library bridges to amazing technologies like Sqlite, Redis and DuckDB.
— All posts loaded —

Where Next?

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 91561 914
New
byu
@chrismccord : I just saw the Extract AGENTS.md from Phoenix.new into phx.new generator commit to the phoenix project. My initial shotgu...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
AstonJ
Just a general thread to post chat/news/info relating to AI/ML stuff that may be relevant for Nx now or in the future. Got anything to sh...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
akoutmos
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New
bjorng
We want to introduce a new native datatype to Erlang: native records. Although replacing all tuple records with native records is not our...
New

We're in Beta

About us Mission Statement