navyad

navyad

Hi,

I am new to elixir community.
I would like to know which would be a appropriate place to get feedback for on-going side project (WIP) which i started to lean elixir ?

Someone can have a look at the code, if something can be improved on, I am sure there will be many things.
In terms of features which can be added or anything genuine feedback
I am thinking to evolve more this project to cover as much as elixir.

Thanks

Showing Posts 1 to 10

Laymer

Laymer

Hi,

Here is a great place to get feedback & advice in general :slight_smile:
But what do you specifically mean by on-going side project?

Best

navyad

navyad OP

by on-going side project I mean it’s under development.

zpeters

zpeters

Do you have it on github or a similar service?

Laymer

Laymer

Sure then :slight_smile: as @zpeters said simply provide a repo or snippet :slight_smile:

navyad

navyad OP

rodrigues

rodrigues

Hi @navyad, nice stuff! Maybe I’ll use your code in the future, didn’t know about yts! :grin:

A couple of points:

  • When you used with, you probably wanted to use <- instead of =, both are possible, the with docs explains well the difference :slightly_smiling_face:

  • in mix.exs:17, you define applications, but you usually shouldn’t do it, we let Elixir figure that out for us, here more about it

navyad

navyad OP

Thanks @rodrigues. Surely will take into consideration.

zpeters

zpeters

I’m not big into torrents but it would be interesting if you could integrate a torrent downloader into the library.

Another thing that you may want to do is look into GitHub - rrrene/credo: A static code analysis tool for the Elixir language with a focus on code consistency and teaching. · GitHub

navyad

navyad OP

@zpeters Interesting one. yts endpoint additionally provide the following info

 %{
            "date_uploaded" => "2019-01-13 00:22:59",
            "date_uploaded_unix" => 1547335379,
            "hash" => "277D29D3EBB4FCA40A3E185EF0753A667DB3BD09",
            "peers" => 39,
            "quality" => "720p",
            "seeds" => 422,
            "size" => "1.22 GB",
            "size_bytes" => 1309965025,
            "type" => "web",
            "url" => "https://yts.am/torrent/download/277D29D3EBB4FCA40A3E185EF0753A667DB3BD09"
          },

It has the torrent download url, which can be used.

Laymer

Laymer

I have just had a short amount of time to take a look at the code and didn’t have the chance to actually test it out, so I will not allow myself to get critical anyhow.

Based on my very superficial overview, I have not spotted any catastrophic flaw that could destroy earth in your repo.

The only thing I might suggest is to take a look at HTML parsing and JSON encoding/decoding libraries and see if one of them fits your use case, so that you are not required to validate and benchmark your own procedures for these features. Who knows, maybe José Valim has already written some components that you could reuse, and that would provide you some SOLID building blocks and you would not have to bother about it.

Also, I would suggest a very strict (really very strict) set of rules when fetching web content. Currently, the ECMAScript standards and the V8 documentation are surprisingly full of features that, in my own non-web developer opinion, contain functions that enable behaviors that might not be desirable for a client. For instance, the DOM and it’s associated resources can be manipulated using a plethora of functions that make it seamless, yet have considerable side effects.

I would also suggest giving a read to the CORB specifications, and actually anything related to best practices for a safe handling of web content, and privacy preservation. JavaScript for one is an extremely powerful tool, and as such comes with great responsibility. And since it is not always taken into account on the service provider’s side, that responsibility might end up being yours.

As far the Elixir implementation is concerned, I think the more experienced members that have answered will be currently much more helpful for that matter.

Hope this helps :slightly_smiling_face:

Best,

Igor

Where Next? Top

Trending in Questions Top

stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New
Blokh
Hey guys, I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly Do you guys have any suggestions what is the best prac...
New
roeland
Kia ora, We have been using elixir-google-api to connect to Google Drive. However, with the updates to Tesla due to CVEs this is now bro...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
Onor.io
I have what I’ve heard referred to as a “lookup table” in my database. This is a way of assigning codes to common values. One common lo...
New
jaybe78
Hello, I’m developing a online persistent chat system (what’s app) like using elixir/dynamodb/aws for a mobile app(flutter). The diffic...
New
Trolleger
What approach to take when sending live updates to “random” users Hi! I have a question, I have a little chat app, and when I create a DM...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge &amp; Solve. They are GUI (Emerge) and State management (S...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews