SunPoke04

SunPoke04

Projects for a Beginner

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”.

Most Liked

Sebb

Sebb

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. :grimacing:

unsek

unsek

I saw your Reddit post and you shutting down a lot of the suggestions. Seems to be the same thing over here.

Also let me help you a little bit: specify what confuses you so that people can adjust accordingly.

Just saying

isn’t exactly helpful.


You’re also going to need to work on this otherwise it’ll be impossible for you to work with other people. If you don’t ever intend to work with others, I guess you could forget about what I said. But being able to read other people’s code is also a valuable skill that makes you a better programmer, so at least try to not give up after reading for 5 seconds.

Another thing: even Jose Valim (the guy that created the language you want to learn about) reads other people’s code. During Advent of Code he looked through someone else’s solution that used Nx, and he learned new things from it. He didn’t say, “ugh this is too hard, I give up! I don’t know how to read other people’s code and I don’t want to!”. He just read it and took the time to understand it. Even if you don’t want to work with others, being able to read and being comfortable with the process means you could improve.

So this

Erm…

I just don’t understand other people’s code and their logic around it… I just don’t understand it.

means you’re too impatient to go through the learning process, which is necessary as a programmer. You won’t always be spoonfed answers and you will have to find answers by going through existing codebases to learn how they implemented what you were looking for. You’re missing out on an essential process. If you don’t want to do this then maybe progressing past being a beginner programmer isn’t what you want? This doesn’t just apply for Elixir after all.

If you want to learn how you process code in your brain, you can read about “The Programmer’s Brain” (The Programmer's Brain). This teaches you how to read code, and how your brain processes it. If you don’t even want to read this, nobody can help you because you’re making it impossible to be helped.

What I got from this thread is that you found a lot of basic stuff difficult. So what good does aiming for a harder project do? You also admitted it in your Reddit post:

I’m kinda bad in Elixir, but I remember that it has a builtin date-time library…

And what can I do with the number package? I’m kinda lost, sorry.

I’m really bad when it comes to creativity.


Only you know what things you enjoy making, and only you know what level of understanding you have. Since you’re also picky, I don’t know how good asking others for suggestions would do. I could suggest to make a CLI-based text adventure style game (like a visual novel except without the visual stuff) but in your Reddit comment you didn’t know what a CLI was. If you say you’re not creative then just make something extremely uncreative like an inventory system you interact with through the CLI. If you don’t even want to learn to make CLI tools, web front-ends to your app, or even the mere interacting with a web API (doesn’t even mean you’re making a website), you’re making it impossible for you to do anything.

crispinb

crispinb

You’re being very hard on yourself, but at the same time seem to be protecting yourself from any challenges. It’s a common paradox, but an unhelpful one. Each time you say “I’m bad at …” it would be worth probing that a bit rather than assuming there’s an absolute barrier in your way. Being “bad at reading other people’s code” isn’t a fixed characteristic like having blue eyes. It just means there’s a skill waiting for you to attain (by practising it).

Programming is hard enough as it is (for almost everyone). You’ll slow your own progress by retreating from every aspect of it you find difficult. Believe me, many other programmers find it much harder than it might seem from the outside. People vary in how sensitive they are to this, and in how open they are about expressing it, but it’s just a hard thing to do, and comprises many skills which have to be gained painstakingly and with much frustration.

It might help people here to help you if you reframe your situation a bit. Tell us a bit more about your experience to date. If you don’t like web stuff, what do you like? Is there anything you’d love to make? What do you find hard about the docs, specifically. Which docs? What Elixir did you cover (and where from)? I’m not suggesting you answer all those questions exactly. Just give people a bit more to go on - as I think you can see in this thread, they want to help

unsek

unsek

Also since people are recommending to watch Jose’s Advent of Code streams, recently I’ve been working on compiling the important bits of his streams into shorter videos. So you don’t have to manually scrub through hours of footage because I have spent countless hours doing just that for you.

I have done Day 1 to 6 so far, and I’m working on Day 8 right now.

I upload them here: https://www.youtube.com/channel/UCUa0_AVebTfZzyzXjfB4dJQ/featured. If anyone is interested, you could subscribe since I’ll be uploading his streams whenever I’m done with the editing.

The playlist is over here:

If you give it the time, Jose usually reveals what he’s thinking. So yeah, great to watch.

derek-zhou

derek-zhou

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.

Where Next?

Popular in Questions Top

JDanielMartinez
Hi! May someone helps me, please! I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
sabri
Can someone explain the settings of pool_size of Ecto in config file? and what is the recommend size? Thanks
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New

Other popular topics Top

pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
beno
I will often find my self writing things similar to: case some_value do nil -> something() "" -> something() _ -> someth...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New

We're in Beta

About us Mission Statement