Elixir Blog Posts

I wrote a small walkthrough of the new Neural Network smart cell in Livebook 0.8. It’s simply amazing that you can run these models locally in Elixir now! :exploding_head:

2 Likes

I wrote a blogpost/tutorial around how to build a nest form with LiveView for editing a one-to-many parent schema including all its children. There’s a lot of good reasons why people are strugging with those forms in LiveView, so I hope this is helpful in showing how things can work, but also providing insight into the underlying reasons for how the involved parts work.

9 Likes

This is part 2 of the “Build a Roles and Permissions system for Phoenix” series. It covers how to restrict all Ecto queries and prevent many PII leaks.

5 Likes

Elixir/Phoenix Security: Denial of Service Due to Atom Exhaustion

Wrote a blog post about why creating atoms at runtime is a bad idea, and how to prevent this in your own Phoenix apps.

A while ago, I asked a question about splitting strings on unicode word boundaries. Since then, I actually went on to solve the problem and it turned to be more interesting than I originally thought (spoiler: it ended up involving Rust and a NIF).

This is the end result, in case you are interested: Chunking strings in Elixir: how difficult can it be?

1 Like

@aochagavia, really enjoyed your post and your findings. As you may recall from our conversations at the time you were looking at unicode_string, the fact that it barfs on invalid UTF8 is definitely an irritant and due to the fact that the unicode break algorithms (line, word, grapheme) are all regex-based. This probably also is the reason the performance is not linear to the length of the string.

Now I feel challenged (in a good way) to do better. And over coffee this morning think I worked out it won’t be too hard to hand-compile the regexes into Elixir pattern matches with sub-binary optimisation. This should make matching more resilient, more performant and more linear.

I’ll report back after I run some experiments!

4 Likes

Great to hear! And thanks again for the library :wink:

This one is about how to build forms dynamically without writing a single line of HTML by using JSON Schemas. Just define your form as JSON file and BOOM! It’s live✨ If you have many forms that differ just slightly, this one is for you!

4 Likes

Wrote a blog post about leveraging Google Secret Manager to increase security in Elixir applications, and how to deploy them in a kubernetes context.

3 Likes
4 Likes

Wrote up an article on using litestream with Elixir/Phoenix

https://silbernagel.dev/posts/distributed-sqlite-with-elixir

2 Likes

Did you know that you can build a remote control car from scratch using #Elixir? From the car itself to the app on your phone to control it, check out how our Americas office used Elixir’s fullstack capability to build a remote control car.

1 Like

Hello Everyone,

i am using Panic’s Nova.app for Elixir and Phoenix development, and started to document this journey on Dev.to. Since this is my first blog post in many many years, i tried to keep it short and to the point, pointing out which Extensions you want to install.

Thanks for reading!

Using Panic’s Nova.app for Elixir and Phoenix Development

2 Likes

Published an article on Hex dependency security. Two common sources of confusion are the Mix docs vs the Hex docs for finding relevant commands, and how Sobelow technically scans for vulnerable dependencies, but why you shouldn’t use it for that purpose. Also has an index of relevant mix commands.

I published this post yesterday about how to use head and tail. It’s fairly basic stuff, but I tried to cover it as in-depth as possible.

How to use verified routes in Phoenix 1.7+

1 Like

Saw this from my Rust news feed and thought it was pretty nice intro to rustler:

Learn how to listen to changes in your database right from your Elixir app using Postgres Triggers!

This is handy if you can’t use PubSub to broadcast changes, for example, if another app changes your database.

2 Likes

I wrote about a library that Evadne Wu released last year which has escaped the attention of the Elixir community so far.

Shun keeps your HTTP secrets safe

A post was merged into an existing topic: Blog Post: Elixir for JavaScript developers: first impressions