1. 5

    Back to looking at Elm alternatives (I got distracted last week. Purescript looks promising).

    Slowly start looking for a proper job again. https://angel.co I find useful to find interesting companies. Any other tips for that?

    1. 1

      Dont Forget to look at the Lobsters Linkedin group ;) You might find nice job descriptions there too!

      1. 1

        Linkedin? Lobsters? I’ll go search.

        1. 2

          https://www.linkedin.com/groups/8646069/jobs ;) Just ask to join if you’re not in the group!

          1.  

            I signed up a few days ago, but the status is still ‘pending’.

    1. 5

      Based on this writing, it seems that we are yet again separating dev from prod. Use ubuntu/debian base for dev, but build special for production.

      I thought one of the main points of Docker was being able to run the same container in production. Seems that’s still not going to happen with Docker either. Dev just has to run long enough to make the next commit, and needs gobs of debug built-in. Prod has to run forever and be secure.

      Seems the only upside you really get with the Docker workflow is similar tooling between dev and production.

      1. 2

        From my experience, the difference from dev/prod is not the biggest issue, as long as you have the same images for testing/staging and production.

        Some teams do not even use Docker images for development and that’s not a big issue as long as you have good CI (at least that’s been a very long time we didn’t have the “that’s work on testing and not in production”.

        1. 1

          Use ubuntu/debian base for dev, but build special for production.

          You can use the same images for development/testing, though? You might install a few extra packages into your dev environment (gdb, …) with the same base Dockerfile.

          1. 1

            If testing becomes production, I think the goal would be having production and testing IDENTICAL, or as identical as you can make them. Otherwise what’s the point?

          2. 1

            You’re right, you should strive to keep containers immutable. Having two Docker images for the same code defeats the benefit of having a CI pipeline with promotion across environments. The article doesn’t shed much light on what’s best practice when it comes to packaging applications for dev/prod. But the author seems to suggest that there’re better ways to debug containers than attaching to it. I suspect he’s referring to health checks for readiness & liveness and a proper logging library to record logs. Also, it’s generally slower and more tedious developing an application within a Docker container. Usually, it’s much easier to work locally on the code and then let CI package the immutable container. The Docker image is akin to a jar or a deb file. You don’t build those differently for dev or prod.

            1. 1

              I would think monitoring, metrics and logging would be the way to debug production in most cases. In general you just want the starting inputs and the output errors, so you can replicate the issue in dev to fix. If you can’t replicate it, then you have to break out dtrace and friends and get serious, which is super annoying.

              Well you might build your jar or deb file differently, you might strip out debugging symbols in production, it’s pretty common actually.

              I agree developing INSIDE a docker container is way annoying. I think the dev answer for Docker is to run all the extra crap your code depends on in development. I.e. my code needs Redis, a PG instance, etc to to work right, so I’d run Redis and PG in Docker for dev, but still do main code locally, if possible. Harder to do if you are writing *nix apps on Windows for instance, but :)

          1. 5

            Work:

            • Speed up deployments of teams so we can spend less time on it
            • Work on an interface to let devs deploys with some kind of semantics

            Perso:

            • Continue studying Haskell on CIS194, I really like the exercises, they a bit challenging, exactly what’s needed to actually have to spend a bit of time on it.
            1. 8

              Single-page-apps are one reason the Web is such a terrible place. They do not belong on the Web.

              I have a few side-projects I’m releasing soon that have zero JavaScript, just to show people that it can still be done. Not only that, it’s faster and more accessible.

              1. 1

                Just to drill down here; so there is no type of application you feel can benefit from spa approach? For example the “one page with many possible views” like an email client? You are saying the best way to view emails in such an app is on page per email, in your estimation?

                1. 2

                  If it doesn’t run nicely without JavaScript, it doesn’t belong on the Web. It’s like trying to write a book with oil paint. Use the right medium.

                  1. 2

                    And how do you back that claim?

                    1. 1

                      Have you been on the Internet lately? It’s a wasteland. Our computers have got much faster, but the Web has only got slower and more bloated. This is why.

                      1. 1

                        If you see this solely from the performance or accessibility point of view, then yes, the web as it is today is bloated.

                        On the other end, if you see this in term of evolution (what you can do nowadays on the web) then I don’t mind.

                        1. 1

                          It’s a devolution, one that you note is at the the expense of performance and accessibility. The Web and JavaScript have set back the field by 20 years.

                    2. 1

                      I’m pretty sad to disagree with you on this one.

                      The web solves distribution in a way that no other platform does. If it’s for-profit, the returns are much better when you ‘write a book with oil paint’ instead of trying to convince people to download and install software (see eg patio11’s writeup of doing SAAS vs a native app).

                      It certainly sucks that there’s no better way.

                1. 4

                  I find it alarming that despite the large reaction against this bar, either from people blocking it as a spam or just protesting against, the bar is kept here.

                  To be honest, if the argument for the bar is that some users are not regular visitor, then I doubt that irregular visitors will bother to contribute for an emoji.

                  1. 3

                    We haven’t had a large reaction against it. Twice as many people have donated than upvoted this post, and they did a lot more than click an arrow. The minority of folks who don’t want to participate can easily remove or ignore it.

                    1. 5

                      Donation and voting against are not mutually exclusive.

                  1. 8

                    Now that we’ve passed $1K - can we beat the $5K?

                    1. 6

                      If we’re trying to shoot for 5k we should at least let Maine know.

                      1. 6

                        As a European, I honestly prefer us to have it :)

                        1. 5

                          I’d say we go for it, and offer them to take over the gold spot for a 10k donation to Unicode instead. :-)

                      1. 5

                        Most problems are not solved by cutesy writing either. This is an opinion piece that disguises itself as an analysis.

                        1. 1

                          I really feel that many problems are solved, but not well documented, or at least the books and articles are still very obscure.

                          1. 2

                            Yep, I posted the ad there too! But I don’t think many people will see it there, group seems kinda dead already.

                          1. 5

                            For this week: make a toy project using Miso (Haskell framework), to see how it holds up compared to Elm.

                            1. 1

                              Have you tried ReasonML in the way of trying Functional languages for front end?

                              1. 2

                                ReasonML

                                Thanks!, I had a look before, but it seems to target people living in the npm world. But I like how Reason seems to try to make readable code.

                                1. 1

                                  Perhaps this will interest you: https://redex.github.io/

                            1. 10

                              Helpful hint: you can turn slack notifications off.

                              1. 9

                                When I did this my coworkers got super mad I wasn’t answering things promptly.

                                1. 3

                                  Do they get mad when you try to negotiate for “Do No Distract” times in the day?

                                  1. 4

                                    We didn’t have a culture where people actually followed that. You could have a do not disturb time but people would interrupt you anyway. A couple of us started making fake meetings just to get some time to code.

                                    1. 3

                                      Ouch. It’s telling when things get that bad.

                                      1. 2

                                        A couple of us started making fake meetings just to get some time to code.

                                        It’s a good trick, I’ve been doing this for years so I could make sure I got lunch and time to do work.

                                        1. 3

                                          Wow. These comments, and the recent thread about maybe not working long hours, paint a bleak picture of current work practices in the US.

                                    2. 4

                                      get better co-workers

                                      1. 1

                                        I actually got the different answer. I was using slack as a message queue, when I saw a coworker that I wanted to distract, I’d slack them (via the app) and wait for an answer, but they actually prefered me to come to talk to them and bother them.

                                        I found this weird but complied…

                                      2. 7

                                        If you read the article, notifications are only a very small part of the problem. The author was speaking about wide scale effects happening at the organization level.

                                        1. 3

                                          This. So much this. I know that the discussion can take different forms and sometimes there are also larger organizational issues at play. But with that said, I think people often forget that they can disable notification on devices. I’ve seen co-workers across two companies leave notifications on for every single message in a channel (yes, you read that correctly) and with sound nonetheless. It baffles me.

                                          macOS comes with a built-in Do Not Disturb mode. Slack lets you configure your notifications so that you’re not getting notifications for each single message across a bajillion channels.

                                          [Slack] normalizes interruptions, multitasking, and distractions, implicitly permitting these things to happen IRL as well as online. It normalizes insanely short reply times for questions. In the slack world people can escalate from asking in a room to @person to @here in a matter of minutes. And they’re not wrong to – if your request isn’t handled in 5 minutes it’s as good as forgotten.

                                          Somewhere along the way we forgot that interruptions are toxic to real work. It wasn’t always this way. On day 1 of my first trading job the only instruction I received was ‘when the market is open, mute your phone.’ The subtext was ‘or else’. If someone said this to me today I’d give them a hug, and I’m not a hugger.

                                          I think people need this reminder today. Outside of work I see people with group chats on their phones (be it Facebook, Twitter, Hangouts, whathaveyou) that bleeps and bloops without rest. I can’t imagine living in that world.

                                        1. 22

                                          I really like where this article goes but, I would really be a bit harder on myself about this ans be a bit more selfish.

                                          Just accept the fact that you’re exchanging your time against money, if you work more but aren’t paid more, you’re giving away your time, which is a resource supposedly VERY valuable to you, and moderately (or not at all) valuable to to others.

                                          Employers usually make sure that you don’t exploit them, be sure that you’re not exploited too!

                                          1. 6

                                            Work:

                                            • Finished migration from Ansible 2.3 to 2.4, sing now a vendored Python for remote execution of Ansible scripts (so we have the same python version and packages everywhere)
                                            • Will probably work on our Kubernetes cluster to solve some challenges on it

                                            Perso:

                                            • Starting week2 of CIS194.
                                            • Try to take time to do some PR for lobsters-ansible repo.
                                            1. 5

                                              @bytemyapp can I have your feedback on this? From your book and talks, you seem to have a good experience on Haskell and teaching it. This seem to be relevant to any Haskell leaner.

                                              1. 5

                                                Probably meant to ping @bitemyapp.

                                              1. 3

                                                @JordiGH: Since this link is not working and you probably won’t link the youtube one, I recommend linking at least to this one: https://video.fosdem.org/2018/

                                                1. 1

                                                  Hm, it was working when I posted it. Now this seems to work?

                                                  https://video.tedomum.net/videos/search?search=fosdem18

                                                  1. 1

                                                    yes, working again :) There was a double post because it wasn’t yesterday.

                                                1. 4

                                                  Work:

                                                  • I can’t talk about it.

                                                  Personal:

                                                  1. 2

                                                    Awesome ! I’m also reading this learn Haskell from Chris, I’ve started the CIS194.

                                                    Thanks for H99, that should be a nice complement if I want more exercises.

                                                    Are your sharing your learning experience anywhere?

                                                    1. 1

                                                      I’m not sure what I’d share in my learning experience, to be honest. Most of what I’ve learned is tricks that are succinctly shown in the challenge solutions.

                                                  1. 6

                                                    Work:

                                                    • Migrating Ansible 2.3 to Ansible 2.4 (modules API changed so lot of Python to rewrite).
                                                    • Continue improving tooling/servicing for the dev team (this week will probably been again on improving logging)

                                                    Perso:

                                                    1. 6

                                                      Employers think the elder employees have families and want more work-life balance, so they won’t work over-time without complaint like fresh graduates.

                                                      It’s true. I’m 34 and I do care more about getting a weekend hike in or working on my book than rendering additional hours, for free, unto capitalism. Even in terms of career investment, I’m generally more adept at investing in my own career than some duplicitous corporate manager who says he has my back but is really out for himself.

                                                      Older people know more. They’ve made their bad decisions already. (Some of us have made more than enough for two or three lifetimes.) All that stuff makes us better at everything… but harder to take advantage of.

                                                      The reason the pre-20th-century geniuses like Keats and Galois peaked so early is… they died. Before 1900, the age of 50 was fairly old and you were very lucky if you got to 60 with your health intact. (It happened; it wasn’t common.) We live in a different era and the intellectual peak seems to be quite late– at least 30, probably around 50– with the decline being extremely slow (if not nonexistent) in people who stay in good health.

                                                      1. 9

                                                        As a 24 year old, I hate the fact that enough people my age work long hours such that it is almost expected of me. Everyone is free to do what they want, but I can’t imagine not having enough hobbies so you willingly fill time doing work. Even with my strict 8 hour schedule I feel like I don’t have enough time to do what I want!

                                                        Also, almost every young programmer I’ve seen put long hours to “impress” bosses has failed. Software doesn’t work like that and most spend the extra time tabbing in and out of Reddit anyway.

                                                        1. 3

                                                          Everyone is free to do what they want, but I can’t imagine not having enough hobbies so you willingly fill time doing work.

                                                          :( as a 25-year old who doesn’t have enough hobbies and fills his time sometimes doing work, ouch.

                                                          1. 4

                                                            I relate to that (as a 26yo that was doing +12h/day). I read some books about work life balance (Off Balance) and others (Dream Manager, The Rythm Of Life) from Matthew Kelly, and then tried to apply.

                                                            When I changed job recently, I decided to add a challenge and directly told my future manager that I won’t work more than the legal 8 hours per day. He was comprehensive and even if he overworks a lot, I don’t feel pressured to do the same.

                                                            At the beginning coming home earlier was a pain, I wondered what to do, and spent hours reading HN/Lobsters/The Guardian, watching YouTube/Netflix etc…

                                                            Then I started to cook a bit more complex stuff and challenged myself to impress my girlfriend with it, I started to contribute on Github (very small things but I cleared myself from computers at home so I do my PR from and iPad now!), I’m reading more than ever, I now sleep much better, probably because I’m out of screens earlier, so I can wake up at 6 and go to the gym…

                                                            I really think that if you try to un-focus from work, you’ll find things to do. Play a musical instrument, help a local community, or if you still want to dev, dev for yourself or the community !

                                                            1. 1

                                                              He was comprehensive and even if he overworks a lot, I don’t feel pressured to do the same.

                                                              That’s an interesting choice of words.

                                                              1. 2

                                                                Oh sorry, got messed up in the translation! I meant understanding!

                                                      1. 1

                                                        That’s an excellent article! Thanks for posting it!

                                                        Definitely can have the DevOps tag!

                                                        1. 1

                                                          “there will be less comment deletion when users become inactive by deactivating or being banned”

                                                          This is a great improvement since we’ve had some great comments deleted as a side effect of deactivation. Since you said you didnt undelete, does that mean the comments “removed by author” or whatever it says are still there where they could be restored if account owner chose? Or am I misunderstanding?

                                                          1. 2

                                                            Yes, users can undelete comments unless they were deleted by a moderator. Lobsters does “soft” comment deletion via a boolean is_deleted on the comments table.

                                                            1. 1

                                                              Would it be possible to make the removed by author delete hide the username as well?

                                                              1. 1

                                                                Yes, but overwriting the data prevents a lot of very easy-to-make future bugs that present it.

                                                                1. 1

                                                                  Does’t have to be overwritten from the database. Just has to show [deleted] or something on the frontend.

                                                            2. 0

                                                              there will be less comment deletion when users become inactive by deactivating or being banned

                                                              At least for the being banned part I dislike the decision. A ban expresses the wish that someone should no longer be part of the community, this should include all of his statement. For one because most bans will most likely happen because of comments and secondly I think this to be good style to not use the work of someone with whom I don’t want any interaction. At the very least the non-deletion should be an opt-in feature so the banned user can decide about the fate of his contributions.

                                                              1. 7

                                                                The rationale behind here (I guess) is that when comments are deleted (even bad ones) context for comments around is lost. Some users (like me) are reading lobsters comments weeks after the last comment has been posted, by removing some comments, the threads start to be a big mess and you have to become and expert at guessing what’s missing.

                                                                I totally agree that if someone has been banned, it’s probably because of his comments, but as you’ll note, when such bad comments are written, there is often very good replies that are often very informed and really nice for the threads.

                                                                There are some pros and cons about it and, to me, when there is a doubt, better to keep more information than to trash it.

                                                                1. 2

                                                                  Ha! Thank you for better expressing my thoughts than I was able to do myself 😀

                                                                2. 2

                                                                  That sounds like an all or nothing decision. Nuance would require considering that a person might do good or bad things (in eyes of community) on a site with ours concerned about getting rid of the bad things. The good things they do, esp in terms of insightful comments, can still have benefit for people at that time and future readers. @pushcx previously said something along the lines of this site becoming a treasure trove of discussions worth archiving, sharing, or Googling. That’s what I hope as well. His seems to be supporting that goal by only throwing out the trash (negative scores) of banned users while keeping the treasure (neutral or good scores).

                                                                  On top of this, you might also not want to use those comments in light of your preference to avoid further interactions with such people. I can see the sense in it. Them just being here without the person being here is probably not going to hurt us in general case, though. Far as opt-in to non-deletion, two things come to mind:

                                                                  (a) That’s giving extra privileges and developer time for codebase to someone we’ve already decided to punish severely. Are they even worth the time? And do we want to let them take back any good stuff they gave after they’ve annoyed us enough for a ban? As in, we’d get nothing versus something out of whatever time we put into them.

                                                                  (b) Copyright Law. Depending on country (esp in US though), whoever publishes something has rights to how their content is shown and distributed. There may be some copyright consideration here. A preemptive solution would be modifying the site’s terms so that all comments are Creative Commons by default. Whatever is most permissive. It would be on invite page with a notice to current Lobsters that it applies from now on and retroactively to all comments. People leaving for legal reasons could fully delete their comments.

                                                                  1. 2

                                                                    All or nothing it is but I am in favor of keeping them all if the banned user is ok with it because:

                                                                    o I think it is fair after being banned to have a say in this. I don’t think this gives somebody power over something besides his own contributions. Also it’s easy to do, all you need is a single SQL statement to flip the is_deleted flag mentioned by @pushcx above or am I misunderstanding something? Also there is zero dev time, an e-mail from the banned user to the sysop if he feels like it’s ok to keep his comments should suffice

                                                                    o only deleting negative comments is also harmful as it removes context and it might lead to stories being only told by the winners. Especially as I didn’t see a threshold being mentioned. So -1 is enough to be eradicated…

                                                                    o I don’t think a single ban happened because of the majority of the community requested a ban. I also don’t think a single comment got the majority of votes from the users following the chosen tags. Most people are quiet. So I find it hard to justify the decision with “it’s better for the community”

                                                                    If I have to choose between keeping or deleting my actual preference would be to keep all unless law forbids to or the banned user asks for deletion of all of his comments. This would mean that all voices are being heard and we are adults and should be able to deal with unpleasant stuff.

                                                                    I hope banning is something that’s happening very seldomly and I’d rather deal with the blanks than starting to make arbitrary decisions about good and bad.

                                                                    1. 1

                                                                      If this site is going to become a treasure trove of good conversations worth archiving, I’d like to see what some of the good threads we’ve had so far are.

                                                                      1. 1

                                                                        I consider those anything where I see something really interesting or well-explained here that I usually don’t see elsewhere that’s worth passing on. I’ve seen quite a few over the year you’ve been here. You really haven’t learned anything or saw a unique comment you enjoyed here?

                                                                        1. 1

                                                                          I probably phrased that poorly.

                                                                          I’ve seen and enjoyed a lot of conversations here. What I’m wondering about is being able to discover said conversations as a new user, or after the fact. A “Best of Lobsters”, if you will. They don’t happen quite every day, and I’m not aware of any lists of those. I’ll probably start tracking them in my wiki, but yeah.

                                                                          The fact that your ability to dig into the history of your threads only goes back a couple of months, for example, keeps me from being able to reminisce without basically writing a program to scrape the whole site.

                                                                          I do think this site can be a treasure, but I’d kinda like a map. :)

                                                                          1. 1

                                                                            “What I’m wondering about is being able to discover said conversations as a new user, or after the fact. A “Best of Lobsters”, if you will.”

                                                                            I see what you mean now. I’ve been wondering same thing recently. It would probably have to be us curating the best that we post somewhere over time. HN added a feature for it at the site level called “favorites” where you just click that button on a story or comment to add it to your favorites page. For our site, lists might be made for each user, integrated from many users, or even done on a per tag basis. I don’t have a specific recommendation for now past bookmarking/saving good stuff to hand to people later when appropriate.

                                                                            “The fact that your ability to dig into the history of your threads only goes back a couple of months, for example, keeps me from being able to reminisce without basically writing a program to scrape the whole site.”

                                                                            (@pushcx might find this interesting, esp second paragraph)

                                                                            Oh yeah, that’s a great point that reminds me of something. It is hard versus some other sites to find an older conversation due to limits of how far I can go back. On HN, I’ve been able to help people who replied late (i.e. work/family reasons) by opening a chain of older posts in new tabs that I quickly use “Find” on. I found our conversation in just a few minutes that way. There probably should be no limit past a rate limit either in general or when the site has significant activity. Basically, one user not DDOSing another.

                                                                            Now, one might say just search for the info. That doesn’t work. The site search is very unreliable for me. That would be OK given I usually do a site-specific search on DuckDuckGo or Google for these sites that gets close to conversation I need. Even worse, those either find no threads or only a few since they don’t seem to index Lobsters at all. I mean, even Google doesn’t know much of this site exists. I’m not sure why since web tech and SEO isn’t my thing. If this is to be an archive, then it’s imperative that be fixed because something invisible to Google is asking to be overlooked or forgotten over time.

                                                                            In my case, there were actually people asking for my comments or mini-essays on certain topics. I also wanted to revisit some from others. I couldn’t find them in Lobsters search or Google. One gave me threads with little relevance. One gave me “no results.” So, I just gave up on those prior writings until Google indexes the site or some other solution is found.

                                                                1. 1

                                                                  Is Elasticsearch light enough to run on a cheap vps with 1 GB of ram?

                                                                  For game servers I monitor logs and run commands in real-time for certains events. Can I do something similar with Elasticsearch? It would be simpler if I’m already using it.

                                                                  1. 6

                                                                    The ELK stack is pretty heavy from my experience. If your usage is simple and Andy to get your hands dirty, I’d really advise your to look at https://github.com/oklog/oklog !

                                                                    1. 1

                                                                      Thanks!