Threads for amuc

  1. -10

    Money quote:

    Why are you leaving? Little bored. Not learning as much as I used to. I’ve been doing the same thing too long and need a change. […] I want to build something new again. I don’t want to get stuck in a comfortable rut.

    I hope the author, who has so far worked on Go at Google, reignites his learning through something relatively more sophisticated like Rust or Haskell.

    1. 61

      This is an incredibly patronizing thing to say.

      1. 27

        Agreed, I usually downvote and ignore such comments, but I can’t help but point this out in light of the recent “Lobsters Is Better than Hacker News thread” [1] (which I also found to be “low effort”)

        The comments on this same article on HN are significantly more enjoyable and positive to read than this thread:

        It reminds me of the “low effort” framing here regarding open source participation.

        Leaving aside the fact that the comment is patronizing (and IMO should just be deleted), it just has so little effort behind it that it contributes nothing.

        I try to ignore the many low effort / tribal comments on, but sometimes the noise overwhelms the signal. I think the relatively aggressive HN moderators have done a good job. I understand why people dislike the site, but that’s because it’s big and the bad stuff jumps out at you.

        Anyway I write this in hopes that people will put some more effort into their comments. I didn’t submit my last 7 blog posts here and it wasn’t a loss. One post was submitted to HN yesterday and that was plenty of feedback – at least 80% of it not “low effort”.


        1. -1

          I didn’t submit my last 7 blog posts here

          With all due respect, personally I havent missed it. I admire what youre trying to do with the Oil project, but its not of personal interest to me and I havent found a way to filter it out. To be candid it feels as if you use Lobster as a advertising platform sometimes. I think it would be better if you posted more non-Oil topics. Looks like 12 of last 15 were Oil Shell:

          Good luck to you.

          1. 37

            I hate advertising as much as the next guy, but this is very unfair to Andy. For one, the pieces aren’t just about Oil shell. Most of them are about topics inspired by Oil shell, things like motivations, facets of the system, different techniques used to implement it. He’s also written tons of comments on other people’s submissions. He’s a good-faith member of the community.

            1. 13

              I agree he definitely interacts more than simple link dumping and while Oil isn’t interesting to me, so are a lot of other technologies that I can’t filter out. I think he should be welcome to share his links so long as they contain new information and not a repetition of existing information. For example I probably would be interested in how he stays so productive and how he manages tasks, and how he decides what to work on next. I hate to admit it but I’m probably more likely to click it if a product name isn’t in the title ;).

            2. 18

              Disagree strongly. @andyc’s blog posts are exactly the kind of content that should be submitted to lobsters. Please don’t stop Andy!

              1. 13

                Strongly disagree. If @andyc content is not for lobsters, what is? Each of the posts is technically sound, and I learned many things from them, even tho I’m not interested in Oil per se.

          2. 19

            Interestingly, a sentence immediately below, which however didn’t make its way into above “money” quote, is:

            It’d be nice to primarily work in Go rather than work on Go.

            1. 19

              How good of a programmer does one have to be before they can reject Haskell or Rust have it reflect something other than their own ignorance?

              1. 4

                Sorry, I don’t understand your question/statement. Could you please rephrase it, English is not my mother tongue. I’m not sure if you ask about the skill level one has to have to be able to reject Haskell or Rust on a non-ignorance base without prejudice of other developers, or something completely different?

                1. 5

                  Some fervent proponents of programming languages will imply that programmers that like or use other languages simply do not understand the unique benefits they convey. Paul Graham wrote a whole article that may be the root of some of this thinking.

                  Rust and Haskell stereotypically attract these followers more than many languages. But other languages are not immune to this criticism; I’m a Lisp weenie and as we all know, Lisp is still #1 for key algorithmic techniques such as recursion and condescension.

                  I read cgag’s comment (and upvoted it) as a tongue in cheek joke: a fervent follower of language X will always consider a criticism of X or a desire to not use X as a position rooted in ignorance of X’s capabilities.

                  1. 3

                    Some fervent proponents of programming languages will imply that programmers that like or use other languages simply do not understand the unique benefits they convey. Paul Graham wrote a whole article that may be the root of some of this thinking.

                    This is true a lot of the time. It’s certainly possible for two people who have both used language X to disagree on whether the style of programming that language X facilitates or encourages is good; but a lot of the time a person who likes language X is making the case that language X is good to programmers who haven’t used it and don’t care to (which is fair enough - it takes a decent amount of time and effort to learn a novel programming language well enough to have an informed opinion about it, and it’s reasonable to decide that you don’t care about forming an informed opinion about a language and doing something else with your time instead).

                    1. 1

                      Oh, I think you and pg make a good point: sometimes there really are advantages that you can’t see when you look up from blub to language X, and the only real way to get it is to learn X. But I think it’s important to think about looking down the ladder too.

                      When I’m in X slinging macros to build a DSL that makes my life easier, I’m making a decision that forces the next programmer to look at my code to deeply understand my DSL and all the decisions therein. What multiplies my productivity might quarter theirs.

                      Sometimes you look down and the forced simplicity of blub looks OK :)

              2. 8

                I spent a little bit of time on both Rust and Go and I learned a lot more with Go. Rust is pretty standard and sane, calling into libc, using LLVM. Go goes wild and does its own thing everywhere, it even does its own linking. It’s a lot of fun.

                1. 4

                  I believe I understand what you meant, Go has a goal of simplicity, Rust and Haskell are more feature rich. Working on the Go compiler as a result can feel like polishing the same thing over and over, spending tremendous effort to make small improvements. The way you phrased it though appears as though you think Rust and Haskell are “smarter” or “superior” in some way. Implying some language is “smarter” or “more sophisticated” is a good way to make everyone hate that language.

                  1. 6

                    Implying some language is “smarter” or “more sophisticated” is a good way to make everyone hate that language.

                    I would only ask that while some fans of other languages can become overly zealous that we try to not anthropomorphize the language itself by applying a label of hate to it. I think we can all agree that the GP comment is of poor quality.

                    1. 3

                      I can see that. I doubt anyone truly “hates” a language any more than they hate broccoli or brie. I love broccoli and I love brie, but I have heard some people hold strong negative opinions before.

                    2. 1

                      I think he just means Go isn’t that great of a language. I don’t really blame him for having that opinion. Go reminds me a lot of Java, it got adopted because a giant tech company “sponsored” it

                      I mean just replace “Go isn’t that good” with “C++ isn’t that good” or “Java isn’t that good” and it suddenly becomes way less controversial.

                      1. 4

                        i first played with go before it was 1.0, and immediately liked it because it got so many things right, even back then. easy compilation, easy definition of packages without additional magic files, binaries that can just be copied. it’s just optimized for sanity if you want.

                        so, imho: it got adopted because smart, experienced people got as much time as they wanted to carefully build something.

                        1. 2

                          Yea from what I’ve heard/experienced, the Go tooling is incredible (just like the Java tooling was incredible). I think what people have a problem with is Go the language.

                          Full disclosure though, I’ve never used the language in any serious capacity (other than adding a 5-line patch to the backend code at work here and there) so I don’t have much to say. I have an irrational distaste for the language that I can’t put my finger on. I’m not sure if it’s the weird syntax or what. Tooling seems great though. I’ve been meaning to install 9front on one of my computers.

                          1. 1

                            most, if not all of the weird choices were made deliberately, the faq explains some of them. imho these things make the language great. for example, the “backward” declarations really feel natural for me, compared to c style declarations.

                            the rest of the language is really boring, but the single features really work well together. that’s what makes it great. maybe it’s like watching a anthony bourdain episode where someone cooks a great meal in a single wok over a wood fire outside. it’s about how the tools are used, not how complicated the tools are :)

                            1. 1

                              Hm maybe I should check it out then. I really like Lua and C for the same reasons you like Go

                  1. 2

                    I tried enabling Markdown highlighting for an editor I use [1], but I realized that its using an incomplete and old version of Scintilla, so I would essentially need to write a new lexer. Another editor [2] I have used already has Markdown highlighting, and recently fixed some highlighting problems with YAML, so I started using it.

                    1. 1

                      I discovered this yesterday when trying to solve this problem:


                      I use Cygwin myself, so I probably couldve just used the Cygwin package. But this is neat because unlike Cygwin its a “native” package, which means the gcc.exe produces a Windows native executable instead of a Cygwin executable. Also its small, only 99 MB.

                      Finally its up to date. The Cygwin version is still at GCC 7 (LOL?) while this is current AFAIK at version 9.

                      Special mention to another project I found recently:


                      1. 2

                        It seems that despite being in development for 16 years:


                        Only one other project is using it:


                          1. 3

                            I am going to try to implement MarkDown syntax highlighting for an editor that I use:


                            1. 13

                              I find shellcheck to be invaluable when writing bash scripts. The amount of little gotchas you need to be aware of is staggering and the documentation links it spits out are pretty good as well.

                              1. 3

                                ShellCheck is a great tool. However I realized that for me, the problem wasnt checking my large Shell scripts. The real problem was having large shell scripts. Shell scripting is such a hard thing to get right, by that I mean POSIX portable. So I ended up rewriting many scripts in PHP or other languages.

                                1. 2

                                  shfmt as well for making scripts look the same.

                                  EDIT: Fixed incorrect command name.

                                  1. 1

                                    Interesting, can you link it? I found, but that seems to be include a different formatter than the one you mentioned.

                                    1. 2

                                      That’s the one!

                                1. 2

                                  Do you have a link to it?