1. 1

    Thinking about writing some Nim and Erlang. If anyone has any weekend project ideas, comment below

    1. 2

      Erlang is very suitable for databases. You can try to write a small one. I tried to do this a few times in the past. I think I have always failed but I learned a lot of things.

      1. 2

        thanks for the idea. I did have a simple KV store in mind

    1. 1

      Thinking about writing some Nim and Erlang. If anyone has any weekend project ideas, comment below

      1. 2

        I dont know a lot about Nim but it seems to be a fantastic language. 19 MB download [1]. Good standard library, for example has had async HTTP for several years [2].

        But I have never seen it in the top 100 [3], even though they do track it [4].

        [1] https://nim-lang.org/install.html

        [2] http://nim-lang.github.io/Nim/httpclient

        [3] https://tiobe.com/tiobe-index

        [4] https://tiobe.com/tiobe-index/programming-languages-definition

        1. 2

          Yup, its very underrated

        1. 2

          Interesting! Sadly doesn’t seem very maintained currently. In any case, if anyone is reading this, here’s the query find all currently open Mozilla internships: https://careers.mozilla.org/listings/?position_type=Intern

          1. 1

            thanks for the mozilla link. The list is not actively maintained but its still a useful resource so I thought I should share it.

          1. 7

            Ah good ole FOaaS! This brings back memories, as one of my greatest useless internet accomplishments was getting the Shakespeare route added. https://news.ycombinator.com/item?id=6069514

            Nice little project, good example of a Go CLI. Thanks for sharing!

            1. 2

              Oh, so that was you. The Shakespeare one is among my top 10s

              Thank you for your words. I wasn’t sure whether I should share this project or not but I have gotten really good feedback for it on reddit and now here. Means a lot and it just made learning Go more fun.

            1. 4

              There’s a bash script that does essentially the same thing: https://github.com/RaymiiOrg/foaas.sh

              1. 2

                I didn’t know about that script but I wanted to learn Go so I made this tool

                Thanks for the link anyway

              1. 1
                >in terminal
                >javascript
                

                But… but why?!

                1. 2

                  because that’s what the developer uses?

                  1. 1

                    I guess the question was about tags. Since the game is played on the terminal and is written in Javascript that’s why I added those tags.

                    1. 2

                      No he was referring to the fact that it’s a terminal app and you used javascript and they’re triggered about that for some reason.

                      1. 1

                        I’ll be fine with that if I could run such hipsterscript application as a portable static binary without additional 99 gigabytes of npm dependencies.

                        Unfortunately, I can’t.

                        …or, can I?

                1. 5

                  Take this as constructive criticism, but when I see “for all languages”, I’m immediately skeptical, and then annoyed when the languages I’m interested in aren’t supported. Saying “Linting and fixing code for tons of languages” sounds just as good, and is more honest.

                  1. 1

                    I do see your point but when coala was started the goal was to have one liter interface to unite them all. We are constantly working towards extending support for more languages by adding more linters to our list. If you don’t see the languages you want supported by coala then you can make an issue over here: https://github.com/coala/coala-bears/issues

                    Btw which languages did you not find support for?

                    1. 2

                      Just a data point: Quickly searching through the Languages section for “Lisp” (Common Lisp) or “Scheme” doesn’t turn up anything.

                      I’m somewhere in-between on the “all languages” thing. I prefer tools that cover a lot of ground while being good enough, but it’s hard to get to the good enough state.

                      1. 1

                        Thanks for bringing it to my notice, I’ll make an issue for scheme, lisp and racket bears.

                  1. 2

                    coala provides a command line interface to deal with various linter tools (known as coala bears) through a single configuration file for the whole project. This saves users time since they don’t have to learn how to configure multiple linters for their project. coala uses two kinds of bears

                    • Linter Bears that are python wrappers around external linter tools (for e.g. the bear for JavaScript Standard Style in coala is called as JSStandardsBear)
                    • Native Bear that are python implementations of a specific code analysis algorithms plugged into coala without using any external tools.

                    Another other aspect of coala that makes it a very exciting project to work with is the beginner-friendly community that makes it easy for amateur developers to get started with contributing to open source software.

                    To find out more visit the following link https://github.com/coala/coala

                    1. 2

                      If this method is more effective than others, I’d guess the mechanism of action abstracts to “solve a real world problem in the language to learn.” Open source is just a convenient source for real problems with the added benefit that your solution is code reviewed.

                      1. 3

                        It is the synthesis of “solves a real world problem”, “read code”, and “get someone who’s more experienced to review your code.”

                        1. 1

                          Some other benefits of open source over personal side projects (even though personal projects are a great way to learn a new concept/language) are:

                          • Your code is tested against a large test suite.
                          • Code quality guidelines help you pick up best practices specific to that language much faster than you would do usually do while working on your own projects.
                          • You get to interact with developers who have a lot of experience in that language which will also help you learn faster than a personal project where you code on your own isolated from other developers.

                          I agree with you that open source is just one of the ways of “solving a real-world problem” but for amateur developers, with little or no work experience it can prove beneficial and can get them up to speed with the best practices related to writing production quality code in a specific language(s).

                          1. 2

                            Oh, and your code is run against lots of machines and configurations. Personal projects can reflect the quirks of your machine if they don’t get out into the world.

                        1. 7

                          I’m not sure if this article has been submitted here before or not but I wanted to share it with the community or anyone who is interested in contributing to open source but is hesitant about starting. This is the article that got me to make my first PR. Sahil does a great job in presenting open source contributions from a new perspective, as a way of learning a new programming language. A must read.

                          1. 3

                            Meta point: the search functionality should help you out looking for previous submissions. Also, when you submit an article, if the URL is the same as a previous submission it usually tells you.

                            1. 1

                              Thanks for the info I completely overlooked the search tab.