So, I’ve just ended the “basics” in Elixir and I’d like to test myself, or something like that, with some basic project, so that I know that I can continue. Does anyone have any project ideas?
PS: Please nothing to do with web, it’s just not my cup of tea and not my area of “enjoyment”.
You should choose something that you have fun doing, best thing would be that you can use it.
The project does not have to be too simple, you do not build the foundation of an empire, code that last for decades. So just make errors and stupid things.
Whats really fun and useful is something embedded:
Not sure if that’s what you’re looking for, but currently there is the Advent of Code where you have to solve small riddles daily. They are quite a fun way to test your brain and your Elixir knowledge without many “dependencies”.
(You can also work through them not daily and can also do past years.)
For the first project in a new language, I will port some of my old ones. So you don’t need to worry about domain knowledge and can focus on the implementation techniques.
Good advice. But beware: I did that with some python code that’s in production and has to stay there. And now I can’t stand working on the original, because the Elixir version is so much better.
I’m guessing that by port they mean, recreate a project you did in a familiar language.
A project that is fun and not that hard would be to send/print messages around in an Erlang cluster.
Also, decoding mp3 headers is very nifty (checkout joe Armstrong’s book). It sounds dorky but it’s basically applicable to any binary format.
Anything embedded is fun if you have a raspberry pi lying around with a couple of sensors (you can use the excellent book about the weather station even without the exact components they advise).
Apart from that there are quite a few great books that could inspire you such as “Elixir in action”, “real time phoenix” (a bit webby, but great), “genetic algorithms in elixir “ and many more. Erlang books (eg “designing for scalability with Erlang and otp”, and of course “Programming Erlang”) are great resources for inspiration.
Chris McCords book about macros is also filled with fun stuff.
I’d definitively stick to the components used in the book. Otherwise you need some experience with I2C. The project will be hard enough for a beginner.
If you’re taking the web out of the equation, Exercism’s elixir track is a good place to start. They’re not more complete projects in the way I think of those, like the weather station one mentioned earlier but the exercises are a good slow progression beyond the basics.
As a beginner, I found Elixir koans to be another good introduction to the language. The compiler error messages almost give you the answer sometimes but you can run through them very quickly. For me, they helped solidify the topics I covered in the docs.
Yes AoC is not for beginners. But if you like that kind of riddles take a look at Exercism. You can get a mentor there to help you and you can always get help here.
EDIT: two people recommending Exercism at the same time. Must be good.
Ah, maybe you’re right. I felt that for someone not too familiar with nerves but familiar with the pi and/or familiar with embedded in general it would not be that difficult to adapt with similar components, but yeah, depending on one’s background it might not be right.