Underjord.io - lawik's blog

How dare you? Now I require you to read at least two more and share the best one :wink:

They are open source, so no worries. I’ll let the designer I worked with know. I can’t take much credit on the current design.

Glad you liked the design :slight_smile:

That is a fair price. I will share a good one.

1 Like

Long time no posting here. I’ve been scheduling my time a bit too tightly to continuously post here when I publish things. Rest assured, Underjord.io is still quite active.

Most recently I’ve done a few videos and live streams that are both on the site (in the blog) and on my YouTube channel.

More than that, we launched BEAM Radio a while back. A podcast on all things BEAM with a sweet crew of hosts (previously seen on Elixir Mix).

And for something a fair bit wider than Elixir I’ve recently pulled together some time to talk programming in general by producing the podcast Regular Programming (regprog.com).

Figured I’d give this bulk update as I don’t expect to improve my publishing distribution workflow quite yet :slight_smile:

And if anyone missed it, I write blog-post length reflections every week on Elixir, software development and what I’m generally up to in my newsletter and people seem to appreciate it, so if you’ve liked my stuff in general I’d sub to that. More blog posts will keep coming too.


I think many developers have bought themselves a Raspberry Pi, full of ambition and potential. Often it gathers dust. I’ve recently started putting some of mine to good use again and I figured I’d share what has worked for me and the good word on a fantastic open source project: Nerves



I’m running a giveaway where three people can win Elixir in Action by Saša Jurić. Manning were nice enough to provide a few copies.



So I gave a stab at summarizing the two most useful thinkings I’ve absorbed on working with Contexts in Phoenix and Elixir.

Hope it is helpful to those who’ve found Contexts a bit challenging.



I do regular live streams on Elixir programming. This time we’ll be looking at an Actor that is not performing the way I want to to and fixing it. A bit of FP, some IoT and likely som TGIF. This friday at 15.00 CEST so should be attendable even for many Americans.

Today I feature a guest post from an active Nerves community member that have been a delightful acquaintance. Alex McLain writes about the usefulness of Elixir as a cross-cutting language for your entire stack. I hope you enjoy it, I did: Underjord | Guest post: Cross-cutting Elixir in Teams

1 Like

Wrote a post about my experience using Elm coming from Elixir.

It has been a ride to get familiar with that language the last year. It would have been a very different post at two weeks, 2 months and 6 months compared to now.


A post was split to a new topic: Underjord’s videos/screencasts

New blogpost :slight_smile:

Is LiveView Overhyped?

I don’t think so but I think it’s worth discussing with some nuance still.


I have to say that I’m not yet sold on going 100% LiveView for my apps.

On the other hand, having LiveView on forms for displaying validations and other specific features like a notification bar or something like that is really nice.


It’s a weakness of the human brain that it by default looks for silver bullets. As @cpgo notes, there are some very valid cases where LiveView is indispensable but I know I’ll use it very sparingly.

Adding technology pieces to a project inevitably brings complexity. A cost-benefit analysis must always be made.

1 Like

Yeah, I’m estimating I’ll use it a fair bit given the type of web work I often do. Certainly not a silver bullet, it optimizes for certain things and makes those easier and for me the cost side is mostly things that don’t matter very much.

In cases where the downsides are a big part of what you need you definitely benefit from making another choice.

Currently consulting on an app that was built offline first without a server. When the server was introduced it made sense to use Channels. The whole thing predates LiveView and my involvement.

LiveView has found a place in the admin backend though.

Greenfield I’d use LiveView for many cases but certainly not all.

I read your blog post the other day, so I spent way too much time writing my experiences with it over the past three years. The only issue I’m having is the offline application part. In every other aspect, Liveview has improved performance. It’s not even remotely a contest.

In Liveview, if you cache the page, I believe the CSRF will get stale and the websocket connection will fail. Not sure about that at all or if anyone has done any work on that for PWA’s.

One idea I had was to have an offline one-time token with a much longer lifetime that rotates per user that refreshes when they are back online. Then it would just be required to mess around with the socket connection code.

I’m very curious. How did you solve the connection authorization problem on the socket/channel from an offline page securely?


Ah, this app isn’t offline in the sense of offline-first. It was built … offline … at first.
So it is now online-only :smiley:

Aww, damn it. I guess I got to muck around with things when I get a chance. I see that liveview just grabs the csrfToken via javascript from the page, so there’s probably something that can be done.

A new post:

I wrote up my experience at Code BEAM in Stockholm this year.

I really enjoyed it :slight_smile:


Just because I don’t think I’ve mentioned it here. There is a newsletter where I publish an “essay” weekly. My blog posts have been a bit rare recently so if you enjoy my writing, do consider signing up: Underjord | The Underjord Newsletter

I track nothing and have no analytics but people say that they enjoy it. If you sign up you will usually get the latest issue as a back-issue. This most recent one was on publishing and putting your thoughts out into the world with a focus on common things I see stopping people.

Cool. I keep wanting to post things but I got a severe case of analysis paralysis when it comes to picking up a static site generator. Thanks for writing on a similar topic.

1 Like