Fleshing out URLs with Elixir
Step one of crawling a web page is getting a fully fleshed out URL pointing to that page. The problem is that people usually think of URLs in fuzzy, incomplete terms. Thankfully, fleshing out the missing details is simple with Elixir.
Benchmarking guard clauses
I used to think that because length/1 was slow in guard clauses and could easily be replaced by pattern matching, that all guard clauses should be replaced by pattern matching. Turns out, some of those guard clauses are really quite quick!
Looking for feedback about stdlib Logger improvements!
Posted a new proposal to the mailing list, please take the time to read over it and let me know your thoughts! As new features can only be added if they’re supported on the mailing list, it’s vital that thoughts make it there :)
https://groups.google.com/forum/#!topic/elixir-lang-core/q-2pUCWwHAE
Three tutorials covering deploying Phoenix apps to Google Cloud
For those interested in deploying an Elixir/Phoenix app to Google Cloud, I’ve posted three getting-started tutorials on Google’s community site:
- Deploying to App Engine for spinning up an app with a minimum of work
- Deploying to Kubernetes Engine to get on board with containers
- Deploying to Compute Engine if you want complete control over your cloud resources
#TIL: mix hex.docs open ecto
I love that mix hex.docs open ecto opens Ecto’s docs in my Browser. I’d love to have something like mix hex.readme open plug to open README.md files just as easy.
SpawnFest Registration Deadline extended
Given the current rage in team registrations (we have 28 already 😱), we decided to extend the registration deadline for @spawnfest one more day! #erlang, #elixir, #lfe devs… you have until tomorrow to register your team at https://spawnfest.github.io/registration and win some awesome prizes!
IntelliJ Elixir v6.7.0
-
Elimination of accidentally quadratic/maybe exponential, Data and Chart, negative-look-ahead in stab (
doorfnbody) parsing that led to slow parsing and slow reparse on hitting Enter.
Released: A major update to the Honeybadger Elixir client!
Hey all, we recently released a major update to our error reporting client for Elixir at Honeybadger. Check it out!
Check out PlugCheckup
https://github.com/ggpasqualino/plug_checkup
PlugCheckup provides a Plug for adding simple health checks to your app
Compatibility macros for child specifications
https://github.com/whitfin/child-spec-compat
Provides compatibility macros for Supervisor.child_spec/2 inside libraries which support Elixir versions older than v1.5. Minimal, but it works!
observer_cli 1.2.1(visualize erlang nodes on the command line
All observer_cli Users are encouraged to upgrade to version 1.2.1.
- Add application status UI.
- Improve the rendering of UI(More efficient).
- Rearrange the UI and adjust the color(Easier to understand).
- Automatically adjust the row of the UI.
- Upgrade recon to 2.3.4.
Atom Elixir Formatter 0.4.4
Atom Elixir Formatter has received several improvements in the last month:
- Preserves document metadata (bookmarks, folds, etc) across formatting
-
Supports conditional formatOnSave based on
.formatter.exsfile presence in project - Dismisses outstanding notifications automatically on format success
- Full support for Windows
Phoenix & Elm landing page (pt.1)
I have started a new tutorial series in which we will be covering the following topics:
- Create a new Phoenix project.
- Add a new Phoenix context for marketing leads.
- Add an API endpoint to insert a lead’s data into the database.
- Build the landing page template using Phoenix and Bulma as our CSS framework of choice.
- Add Elm to the project and build a subscription form that points to the API endpoint described previously.
- Add Google’s reCAPTCHA widget to the Elm subscription form, and how to render it and how to handle a visitor’s reCAPTCHA response.
- Build an HTTP client using HTTPoison to verify the token received by the reCAPTCHA widget against Google’s reCAPTCHA API from our backend.
- Build another HTTP client to subscribe leads to an email marketing service such as MailChimp.
- Add tests covering the subscription process using mocks for the HTTP clients.
http://codeloveandboards.com/blog/2017/12/02/phoenix-elm-landing-page-pt-1/
I hope you enjoy it and happy coding!
The journey of solving an Elixir exercise on Exercism and how that led me to look beyond the impostor syndrome
This articles talks about a journey that started with an intention to better understand some of the concepts in Elixir via learning by doing and it takes one through the roadblocks I faced along the way and how I found ways of getting unstuck that lead me to reflect about things beyond Impostor Syndrome and how the overall learning experience helped me to be a better programmer in general.
IntelliJ Elixir v6.6.0
-
EEx support
- Lexer for EEx format
- Parser for EEx format
-
EEx as a Template Language
-
Any file with
.eexas the final extension will be treated as EEx. To determine the Template Data Language, the.eexextension will be stripped and any remaining extension will be looked up to get the File Type and its associated Language. For example,*.txt.eexwill be EEx with Plain Text (.txt) as the Data Template Language. Likewise,*.html.eexwill be EEx with HTML as the Data Template Language. There’s no need to register*.txt.eexor*.html.eexor any other*.DATA_TEMPLATE_LANGUAGE_EXTENSION.eexpattern explicitly: the nested extension will be looked up using the normal extension setup.
-
Any file with
-
Decompile
LocTchunk for private macros and functions and the derived names of anonymous functions. -
Parse
HEAD-<SHA1>as0.0.<SHA1>for sorting versions from homebrew homepath. It will almost always be last unless there is an unknown version, which uses0.0.0. -
Ensure any unparsable version sorts as
0.0.0(UKNOWN_VERSION).
Benchee 0.11.0 released
Recently released benchee (the benchmarking library of your choice ;) ) in version 0.11 including a bugfix and optionally more statistics!
Turning a chat application cloud native
https://www.youtube.com/watch?v=JEXT-qaeeyg&t=15s
How do you deploy your application? Is Docker necessary, or even useful? What about service discovery, configuration and testing. Let’s take a simple chat application and make it scalable, fault-tolerant and available.
A primer on Elixir Stream
A brief introduction to Stream, talks about the similarity with lists and the kind of transformations that could be done on streams.
nerves_neopixel v0.3.2 released
nerves_neopixel v0.3.2 has been released, primarily to add support for Raspberry Pi Zero and Zero W. Support for RGBW NeoPixels is not included but coming soon in a v0.4.0 release! https://hex.pm/packages/nerves_neopixel
