Threads for lerax

  1. 1

    Rest in Peace…. Maybe. And continue to work on https://dnaya-org.github.io

    1. 2

      It helped me in the past. Three times.

      1. 1

        Yeah, but I don’t think that was the author’s points. When I was recruiting for the company I worked for (as a developer) and people put their github profile there of course we looked at it and sometimes it could be a big plus. That said I didn’t do this for very long and so I might well be the outlier as compared to a non-developer HR department.

        But the main takeaway is that it’s neither needed nor that it will have an impact statistically. Probably doesn’t hurt on the off chance someone does look at it. Or you’re trying to work for a company who knew your name through contributions to some software they maintain/wrote anyway.

      1. -1

        JS injection is the new design pattern. Oddly, it’s an anti-pattern by itself.

        1. 3

          This link (Merkle Tree) may be helpful and complements the topic about Markle Tree.

          1. 1

            Book looks very interesting, will read it since it doesn’t look like a lengthy read. Thanks!

          1. 17

            There’s no reason you have to choose one of them up front. Why not learn both to an elementary level and then choose one to focus on based on that experience?

            And FWIW, Lisp-1/Lisp-2 and macros aren’t worth worrying about as a beginner (IMO). They don’t make much practical difference as long as you know which one you’re using, and each has trade offs.

            I personally use Common Lisp, and think it’s great. It’s very fast, there are a lot of libraries available (and easily installable with Quicklisp), and I like the development environment (Slime and Emacs).

            Another thing I like is that with Quicklisp and Slime it’s very easy to jump to library code, make changes, and reload, and I’ve ended up contributing several small changes to different projects after initially experimenting with bug fixes this way.

            1. 4

              Why not learn both to an elementary level and then choose one to focus on based on that experience?

              Do people really have that sort of extra time in their hands? I’m envious.

              1. 9

                I would say everyone who hangs on the net forums does, it’s a matter of priorities.

                1. 1

                  Depends on their pattern of access. If, as a completely made-up example, someone checks on lobste.rs while on conference calls, it’s probably using a lower cognitive load than learning new programming languages.

                2. 1

                  In my experience (raising two young kids and working), you can do it if you are mentally and physically well and choose to focus on it.

                  1. 1

                    Yes, I should probably work on those latter items you mentioned :)

                  2. 1

                    If you plan to invest in learning a piece of technology, you’re better of spending 4-8 hours each with different options you’re considering, and picking one that suits you best afterwards, rather than investing hundreds or thousands of hours in a single one to come to the conclusion that you chose poorly.

                    I guess it depends on what you plan to do with the language.

                  3. 1

                    I’d imagine because to become productive in a new language, you have to spend some time exclusively with it. One of the worst things you can do from a productivity standpoint is learn two similar languages at once. (Also goes for natural languages – my semester of simultaneous Italian and Spanish was a set-up for failure.)

                    1. 1

                      Yes. Focus it’s important. First one, later another. Context-switching has a high cost for learning; even better if happens too often.

                  1. 8

                    Common Lisp, for sure. I am extremely biased here.

                    FWIW most CL libraries do seem to be complete, albeit undocumented.

                    1. 2

                      I’m curious to know why you are extremely biased if you don’t mind sharing.

                      1. 3

                        Well, I am a maintainer of the CL cookbook, and run the Articulate Lisp intro site for CL. :)

                        Common Lisp is a language to Get Stuff Done in, with only a few nods towards theoretical soundness or purity. Its libraries are high quality, the users & developers of the CL implementations are experts, and it works extremely well as a unityped/run-time typed language. In the situation where competitors are Python, Perl, and Ruby, CL is strictly more powerful than the others, with an advantage of great stability and deep native speed.

                        Most of my unpaid work these days is either OCaml or Scala, due to my developed preference for strong types for the kinds of work I do. But I consider CL to be the dynamic language par excellence.

                        1. 1

                          I guess because he give some enormous amount of effort to common lisp but no the same to racket. The bad documentation it is one of the reasons to need more effort to learn Common Lisp. It’s a detetive jobs sometimes.

                          1. 5

                            This only concerns some of the libraries. The language itself, the major implementations and core libraries are thoroughly documented.

                      1. 6

                        I studied both. I liked more Common Lisp because:

                        • Better tooling (Emacs + Slime cannot be compared to Dr. Racket or geiser)
                        • More optimized for practical purposes
                        • More liberal about Paradigms constructions

                        I really liked Racket, I think it’s more easier to learn and more consistent. But well, sometimes we need to focus on something,

                        1. 15

                          Click-bait. It’s obvious stuff and most of the time related to JS things. Not so interesting.

                          1. 4
                            1. 1

                              Not so interesting, but well, discussion with some new info for someone xD I’m just tired about that issues around Hexstream and Xach. That weird type of love is not for us. Let’s keep the guy free to talk/think what he wants to believe.

                            1. 1

                              please add nationality or(and) meybe human language

                              1. 1

                                Nationality may helpful, but indeed the main human languages that the person talks helps much more.

                                1. 2

                                  remember, one person can speak many human languages

                              1. 1

                                Wonderful!

                                1. 6

                                  On top of good info, I love the styling of your web site. Minimalist and accessible with a touch of color. And fast! :)

                                  1. 8

                                    Thanks! I’ve been trying to make this website really really stinkin fast. https://hackcss.egoist.moe is the CSS framework I use. I have the colors tuned towards Gruvbox https://www.github.com/morhetz/gruvbox because I think it looks nice.

                                    1. 3

                                      Thanks for the link. Saving it in case anyone finds it useful.

                                    2. 1

                                      Indeed! Lovely site. I’d like to see more sites like this.

                                    1. 9

                                      Remember when frontend was fun?

                                      Unfortunately no… :[

                                        1. 3

                                          Old school Times New Roman webpages are popular right now! I sure wish this had some better formatting though.

                                          I must admit that I was ignorant of many of these… guess I really don’t keep up with the People of numbers.

                                          i^i was a fun one.

                                          1. 1

                                            i^i was a fun one.

                                            A not rigorous and not even so formal proof: https://i.imgur.com/PtxOCVc.jpg

                                            1. 4

                                              M-expressions are just.. ugly. Though I’m surprised the mathematical notation is not more common.

                                              This is just gorgeous: x ↦ x*x I wonder why no programming language uses it.. It beats scrap out of haskell’s \x -> x*x -thing.

                                              1. 7

                                                I wonder why no programming language uses it

                                                …because it’s not particularly easy to type “” I think is the obvious answer. As far as I understand the backslash in Haskell’s lambda syntax is meant to resemble a lambda symbol, so as to approximate a lambda calculus term, and you can also get closer to the example you’ve highlighted using a font with ligatures like Hasklig.

                                                I think syntax using these kinds of special characters is more common in Agda as well, e.g. https://github.com/copumpkin/categories/blob/00e385d442073c2343145cfefa58dae63d58877e/Categories/Functor/Product.agda#L52h (random example I found by searching through github).

                                                1. 4

                                                  Church is reported to have intended to use ^ rendered as e.g. x̂ or ŷ but the typesetter couldn’t manage it and wrote ^x instead. The story goes that looked enough like λ that influenced the next typesetter to try something else…

                                                2. 1

                                                  Agda has support for some special characters.

                                                  Some examples: https://plfa.github.io/Lambda/

                                                  1. 1

                                                    k/q uses M-expressions, but allows operators to be used infix, so:

                                                    set[`square;{[n] *[n;n]}]
                                                    

                                                    can also be written as:

                                                    square:{[n] n*n}
                                                    

                                                    But a really cool trick is to observe “x” is the default first value:

                                                    square:{x*x}
                                                    

                                                    which is hard to beat!

                                                    APL (specifically Dyalog) also deserves some note. It doesn’t use M-expressions, uses ← for assignment instead of colon, and ⍵ as the right-hand argument, which is the same in some ways, but perhaps a little more beautiful:

                                                    square←{⍵×⍵}
                                                    
                                                    1. 1

                                                      I don’t like JS, but lambda arrows remembers this perfectly.