All posts tagged "elixir"
Conway's Game of Life: A Functional Approach
featured
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/game-of-life-functional-programming
In this post I describe how to implement Conway's Game of Life using functional programming to be able to transform a set of cells into the next iteration.
Writing an Elixir/Phoenix based multiplayer Minesweeper game
featured
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/an-elixir-phoenix-based-multiplayer-minesweeper
How I wrote the minesweeper game, Mowing, you can play from the games menu.
Rewriting Strange Leaflet in Phoenix and LiveSvelte
featured
- Author: Stephen Ball
- Published:
- Permalink: /blog/rewriting-strange-leaflet-in-phoenix-and-livesvelte
Another rewrite of Strange Leaflet? Yes! Still with the power of Svelte but now with Phoenix on the backend.
Rewriting my Protohackers repo as an umbrella app
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/rewrite-my-protohackers-repo-as-an-umbrella-app
Commit a8bbfa9 from github.com/sdball/protohackers
Add more OTP implementation of Speed Daemon - sdball/protohackers
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/add-more-otp-implementation-of-speed-daemon
Commit dd3e855 from github.com/sdball/protohackers
More OTP solution for Protohackers Problem 5 - sdball/protohackers
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/more-otp-solution-for-protohackers-problem-5
Commit 6688ae8 from github.com/sdball/protohackers
Solving Protohackers Problem 6 - sdball/protohackers
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/solving-protohackers-problem-6
Commit aa7b04d from github.com/sdball/protohackers
Add MobInTheMiddleServer - sdball/protohackers
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/add-mobinthemiddleserver
Commit 3a61337 from github.com/sdball/protohackers
Rewrite ChatRoomServer to use active sockets - sdball/protohackers
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/rewrite-chatroomserver-to-use-active-sockets
Commit 83d2c6a from github.com/sdball/protohackers
Add UnusualDatabaseProtocolServer - sdball/protohackers
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/add-unusualdatabaseprotocolserver
Commit b5d001b from github.com/sdball/protohackers
Add ChatRoomServer - sdball/protohackers
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/add-chatroomserver
Commit bdcfbfc from github.com/sdball/protohackers
Reading the Bandit source code: Part 1
- Author: Stephen Ball
- Published:
- Permalink: /blog/reading-the-bandit-source-code
Bandit is a new HTTP library that isn't only written in Elixir, but written with readable source code. Let's see what we can learn!
Add AssetPriceServer - sdball/protohackers
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/add-assetpriceserver
Commit 9529786 from github.com/sdball/protohackers
Reduce the complexity of the IsPrimeServer - sdball/protohackers
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/reduce-the-complexity-of-the-isprimeserver
Commit 2e9fd17 from github.com/sdball/protohackers
Comprehensively redesign IsPrimeServer - sdball/protohackers
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/comprehensively-redesign-isprimeserver
Commit a72e300 from github.com/sdball/protohackers
Things I've learned deploying a Phoenix 1.7 app using Bandit to fly.io
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/deploying-phoenix-1.7-using-bandit-to-fly-io
Some issues I ran into deploying a Phoenix app using Bandit to fly.io and what I learned from them.
Getting AlpineJS to work with Phoenix 1.7
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/getting-alpinejs-to-work-with-phoenix-1.7
How to integrate AlpineJS with Phoenix 1.7
ElixirConf 2022 Talk: Livebook Smart Cells are Amazing
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/elixirconf-2022-talk-livebook-smart-cells-are-amazing
Want to see my ElixirConf talk?
GIFs from my 2022 ElixirConf talk: Livebook smart cells are amazing
- Author: Stephen Ball
- Published:
- Permalink: /blog/gifs-from-my-elixirconf-talk
GIFs I made for my 2022 ElixirConf talk
Strange Leaflet about Elixir - Page 8
- Author: Stephen Ball
- Published:
- Permalink: /blog/strange-leaflet-about-elixir-page8
Looping without mutable data means recursion
Strange Leaflet about Elixir - Page 7
- Author: Stephen Ball
- Published:
- Permalink: /blog/strange-leaflet-about-elixir-page7
Pattern matching is awesome
Strange Leaflet about Elixir - Page 6
- Author: Stephen Ball
- Published:
- Permalink: /blog/strange-leaflet-about-elixir-page6
How a GenServer process manages state
Strange Leaflet about Elixir - Page 5
- Author: Stephen Ball
- Published:
- Permalink: /blog/strange-leaflet-about-elixir-page5
Immutability and why it's awesome
Strange Leaflet about Elixir - Page 4
- Author: Stephen Ball
- Published:
- Permalink: /blog/strange-leaflet-about-elixir-page4
Using processes to handle asynchronous work
Strange Leaflet about Elixir - Page 3
- Author: Stephen Ball
- Published:
- Permalink: /blog/strange-leaflet-about-elixir-page3
How Elixir processes do
Strange Leaflet about Elixir - Page 2
- Author: Stephen Ball
- Published:
- Permalink: /blog/strange-leaflet-about-elixir-page2
What is the BEAM and why is it so awesome?
Strange Leaflet about Elixir - Page 1
featured
- Author: Stephen Ball
- Published:
- Permalink: /blog/strange-leaflet-about-elixir-page1
Elixir is a language of independently running processes
Let's query the GitHub GraphQL API from a Livebook smart cell
- Author: Stephen Ball
- Published:
- Permalink: /blog/lets-query-the-github-graphql-api-from-a-livebook-smart-cell
In which we write a Livebook smart cell to allow querying the Github GraphQL API
Let's write an Elixir Livebook smart cell
- Author: Stephen Ball
- Published:
- Permalink: /blog/lets-write-an-elixir-livebook-smart-cell
The basics of how to write an Elixir Livebook smart cell
Elixir Phoenix and "role postgres does not exist"
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/elixir-phoenix-and-role-postgres-does-not-exist
Ever hit that error? Let's fix it!
The Problem of State
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/the-problem-of-state
State is a hard problem to deal with. I say functional languages make it easier to handle because they force you to deal with it deliberately rather than have it happen accidentally.
Shrink your data into bitfields (and out again)
featured
- Author: Stephen Ball
- Published:
-
Tags:
- Permalink: /blog/shrink-your-data-into-bitfields
Some applications want to save every byte. Every last byte! Maybe they have memory constraints, maybe they're sending data over the network, maybe they just like saving bytes. This post goes into how bitfields allow us to shink complex data down into very small representations starting from arbitrary JSON and gradually transforming it down into a bitfield.