Conversational AI: Exploring Product Ideas Leveraging GPT-4 as a Core Component
Curiosity piqued by GPT-4 and its implications for product development? đĄ
Check out the blog post that takes you through potential products that could harness GPT-4âs powerful AI capabilities. đ https://curiosum.com/blog/exploring-product-ideas-leveraging-gpt-4-as-a-core-component
ExUnit. It's an app!
I imagine many think ExUnit just does some scripting to run tests.
But itâs actually a full Elixir app! I think thatâs awesome đ
Check it out đ
Flop Part 1
In episode 167, weâll use the fantastic Flop library to add pagination and sortable tables to an application.
đ„ Build a real time instagram clone with LiveView!
A lotâs changed since Chris McCordâs fantastic LiveView twitter clone video!
I wanted to showcase whatâs happened in LiveView since then, including:
- Live file upload
- Streams
- phx.gen.auth improvements
- LiveView Core Components
See the full video: https://youtu.be/4cnmyQJToKM
Walkthrough of the Adapter Pattern
This blog post discusses a safer way to build the adapter pattern in Elixir applications. It also provides guidance around the when to use and not use the adapter pattern.
https://aaronrenner.io/2023/07/22/elixir-adapter-pattern.html
Thinking Elixir 161: Lexical LS and Elixir Dev UX
Episode 161 of Thinking Elixir. Language Servers underpin the language specific support we rely on in modern code editors. Lately, there have been new efforts in this area in the Elixir community. We talk with Steve Cohen about his project Lexical LS to learn about his new Elixir Language Server, how long heâs been at it, and what it can do today. We learn about some of the technical challenges when creating a tool like this, and why thereâs still room for new projects in this area. Steve explains how Lexical LS is architected and that it is a goal to be easy to contribute to and work on the Lexical project itself. Time to give it a try!
A Breakdown of HTTP Clients in Elixir by Andrea Leopardi
Andrea Leopardi (@whatyouhide) breaks down the HTTP clients in Elixir! I personally reach for Finch but Iâve been hearing a lot about Req. Find out the difference and then some! https://andrealeopardi.com/posts/breakdown-of-http-clients-in-elixir/
DoIt - Elixir Command Line Interface Framework
With DoIt you can generate nice CLI tools in Elixir. You have two ways two package your CLI:
- escript: Generate an executable to run in any machine that has Erlang/OTP installed.
- burrito-elixir: Generate a single binary with all dependencies.
Paraxial.io case study series
This is our first case study in a series of exploring a real-world usage of the Elixir.
Read it here: https://curiosum.com/blog/paraxial-elixir-case-study
Paraxial.io case study series
This is our first case study in a series of exploring a real-world usage of the Elixir.
Read it here: https://curiosum.com/blog/paraxial-elixir-case-study
Elixir is (Still) Safe
A recently published paper makes some misleading claims about Elixir security. How do they hold up?
Elixir for Ruby developers: the three most important differences
Many developers who learn Elixir come from a background in Ruby. This is hardly surprising: Elixirâs creator, JosĂ© Valim, was formerly a prominent Ruby developer, and Elixir has been attracting Rubyists since the very beginning!
But while Elixirâs syntax looks like Ruby at a glance, youâll quickly realise that these similarities are skin-deep. The two languages are very different in their underlying designs, and Elixir often requires you to structure your code in a way that looks nothing like the equivalent Ruby. Certain aspects of Elixir will feel very unfamiliar to a Rubyist, and will take some getting used to.
This series will give a brief introduction to Elixir for developers who already know Ruby. But before we get into the details of Elixirâs syntax, itâs worth reviewing some of the higher-level differences between the two languages. In particular, here are the three most important differences between Elixir and Ruby:
https://phoenixonrails.com/blog/elixir-for-ruby-developers-the-three-most-important-differences
Autocontext: Lets DRY your Ecto contexts.
Yeah, for some, this could be an Ectoâs heresy, but Iâve built a lib that provides ActiveRecord-like callbacks, simplifying database operations management. This includes [before | after]_save, [before | after]_create, [before | after]_update, and [before | after]_delete functions.
Also, thanks to the Elixir community I have also added some configurability that is (yet) inaudit on ActiveRecord land. This is:
- Support for optional transactions on the operation. Behind the scenes the operation is wrapped in a Ecto.Multi
-
Support for multiple configurations that may involve different Changesets over a Single Schema or even different Changesets over different Schemas.
Example:
This is Just a way to abstract the functions you would write anyway on your contexts, Behind the scenes it uses the typical Ecto calls, it just saves writing and repeating the same code every time. Imo having to write the same every time does not make sense. Of course for the 1% of the times when it does you can overwrite the functions at your will.
Make your Ecto contexts fun! https://github.com/michelson/autocontext
Creating infinite sequences with Stream.unfold/2
Want to learn how to create infinite sequences in Elixir?
We can do it with Stream.unfold/2 đ€Ż
Check out how we use it to generate a finite sequence, an infinite sequence, and the Fibonacci sequence. đ
đ„ https://elixirstreams.com/tips/creating-infinite-sequences-with-unfold
Library authors hate this one weird trick!
I think my head hit the keyboard when I learned how much time I had wasted when debugging Elixir dependencies.
No more mucking with path deps or its ilk. mix deps.compile is your friend! See more at:
SQL Injections vs Elixir
Letâs keep building safe, robust applications with Elixir. Happy coding! đđ Take a moment to read it here: https://curiosum.com/blog/sql-injections-vs-elixir
#Elixir #WebSecurity #SQLInjection
Turn maps (and keyword lists) into structs
One nice way of turning a map or keyword list into an existing struct is to use struct/2 or struct!/2.
What about attributes that arenât defined in the struct?
-
struct/2will drop them đ -
struct!/2will raise an error đ„
Check it out! đ
đ https://www.elixirstreams.com/tips/turn-maps-into-structs-with-struct
Thinking Elixir 160: LiveView Async Pattern and Admin Tools
Episode 160 of Thinking Elixir. After experience with a LiveView âanti-patternâ, Andy Glassman developed an âAsync Patternâ for loading data into a LiveView. Andy shares the problem this helps solve and we discuss when itâs a good fit. We also talk with Andy about the current state of âadmin toolsâ in Elixir and he shares his feelings on the importance of building admin tools from the start in our projects.
Observe Your Phoenix App with Structured Logging
Letâs configure a Phoenix LiveView application to use a structured logger and monitor the app with AppSignal: https://blog.appsignal.com/2023/07/18/observe-your-phoenix-app-with-structured-logging.html
Instilling a passion for functional programming in developers - Elixir Meetup #19
Itâs for those who are interested in becoming a better programmer, who has a better and more clear understanding of not only functional programming but programming in general.
Check the MikoĆaj Kubera presentation: https://www.youtube.com/watch?v=ZL4gH2WwcBw
