Thanks to the mods for moving my post to this thread.
NimbleOptions is a small but very powerful library that I think everyone should be aware of. It allows you to define powerful validation definitions to use with Keyword List options, and I have found it to be great!
Check out my latest blog post, where I share some advanced techniques that helped me when writing EXGBoost!
LiveView 0.20.0 is here - along with async assigns!
Meet your new friends assign_async
and async_result
– How to use them and how they work under the hood
Not sure how useful this is, but I wrote about my first few steps configuring ExAws to (a) use Req instead of Hackney and (b) use Storj (https://storj.io) instead of S3. Maybe this will help others in the future.
How to use Sobelow on real world Elixir projects
I appreciate this article as I also rolled my own blog with some of the similar tooling. Do you have more articles on the way?
If anyone is interested in decision tables and application configurations, I hope this new blog post of mine can be helpful.
I was having fun the other day at work adding a custom client side binding for LiveView and I thought I’d take the time to put it down in writing. Hope you enjoy it!
Wrote my first blog post about types in Elixir. Hopefully the first of many!
https://corporate.fm/blog/elixir-four-horsemen-typeocalypse
I also probably had a bit too much fun building the blog itself, but I suppose that’s the charm of personal blogs. It’s a Phoenix app that renders markdown files (stored in the repo) into articles, similar to nimble_publisher (which I did not know about when I started…) but using a bespoke Markdown parser instead of Earmark (because why not).
You can see the source of the parser here if you’re curious. Keep in mind it’s messy (it was just a first pass) and definitely not CommonMark compliant. Markdown as it turns out is actually very annoying to parse, and I found existing resources on the topic to be almost completely useless, so I kinda just winged it. I’m surprised it works at all…
The Road to LiveView Native v0.2
In this post I discuss the challenges we’ve had to overcome with building the LiveView Native project. Going into detail on our current path for getting the release out the door that everyone can finally use. Part 1 takes on the topic of how we’re modeling SwiftUI modifiers and why this wasn’t such a straight forward solution. Part 2 will discuss how we will be more tightly integrating LVN with Phoenix’s own conventions.
Do you know what’s bottlenecking your database?
Hunt down and eliminate slow queries in your app by utilizing Telemetry:
The Road to LiveView Native v0.2 Part 2
Recently did a blog post on my adventures integrating WebAssembly with Elixir in LiveState. The extism project made this really easy, kudos to those guys. Love to hear other peoples thought. I think WebAssembly is going to be big for extending all kinds of software in a language agnostic way.
New Blog Post
If you connect your Phoenix application to an external read-only database, it becomes difficult to write tests for it. This blog post explains how to recreate the external database locally and how to populate it through ExMachina.
We will embark on a journey to address common challenges faced by software engineers when dealing with external services using the Elixir programming language.
After quite some time - part II
Here is the log of an exploration of Plug.Conn.send_file/5, from Plug’s source, through cowboy, then erlang/otp until the C NIF containing the final syscall. It is quite well known that send_file/5 can be efficient, but it is also a frequent topic online, and it never hurts to go through some code .
I wrote down some thoughts I’ve been having about learning and education for programmers: Math Not Required :: The Programmer's Stone