Bruce Tate Profile picture
Follow4 Elixir, prog langs, code insights. Founder: https://t.co/Bmhji40Zj4: Level up. Learn to learn. Author 7 Languages 7 wks. (he/him) @GigCityElixir & @LonestarElixir.
Andy Doddington Profile picture 1 subscribed
Sep 1, 2020 7 tweets 5 min read
After some time away after writing Seven More Languages, I spent some time with @JeffBezanson, a co-creator of @JuliaLanguage and could immediately see some of the reasons the language was successful.

Read this thread. Where am I right? What am I missing?

more -> The team has a firm grasp on what it takes to make a language successful, especially understanding the core audience. It's here where #JuliaLang shines. Here are four things that @JeffBezanson, @Viral_B_Shah, @StefanKarpinski, and @JuliaComputing (Alan Edelman) got right:
Jul 29, 2020 5 tweets 2 min read
Today I am working through the final written chapters for #ProgrammerPassport LiveView. Some of you have asked why we're covering so much Elixir in a program for programming language exploration

more > Programmer Passport exists to help developers accelerate their careers by guiding them to make intellectual breakthroughs in computer science.

Call it guided curiosity.

Developers who hunger to learn progress faster. We nurture that.
Jul 6, 2020 5 tweets 2 min read
Long @elixirlang / @elixirphoenix tweet... beware.

1- Layers

In the Workerbee book, we recommend layers for do-fun-things with big-loud-workerbees (boundary).

The data-functions-tests in the core are often wrapped in a boundary. 2- Mappings of services

In a typical @elixirphoenix app, the layers are:

Services separate a functional core (schema(s) and pure-ish module(s) in a context directory)

boundary is in a *context*.

Changesets get created in an ecto *schema* and applied in a *context*.
Nov 2, 2019 9 tweets 2 min read
Goose bumps.

I am preparing my talk for India's FP conf and ran across some quotes from Joe Armstrong passage. I read them avidly. Bear with me as I list a few of them. Tweaked slightly to fit the twitter format. “The next programmer we hire must read all of ‘A la recherche du temps perdu.”’
“All seven volumes?”
“Yes.”
“Will it make them better at punctuation and make them get their quotes right?”
“Not necessarily, but it will make them a better programmer. It’s a Zen thing....”
Apr 10, 2019 5 tweets 2 min read
Struct wizards Activate!

#elixirnewbie

1. The shorthand sigil syntax is great for structs.

defmodule User do
destruct ~w[name email]a
end

The ~w is a sigil with an array of words; the trailing a makes these atoms; the [] instead of () is a valid use of delimiters. 2. Structs are maps, with one extra key:

u = %User{}
-> %User{email: nil, name: nil}
Map.keys u
-> [:__struct__, :email, :name]
u.__struct__
-> User