1. 2

    What messengers does everyone else use? I’ve got actually a good amount of my contacts using Signal, and I hesitate to make the attempt at migrating yet again, but if the benefits are significant enough I might be able to be convinced.

    1. 9

      You should consider submitting that as an Ask Lobsters. It probably deserves its own thread. Ask’s on Lobsters are usually pretty interesting with lots of good ideas and setups.

      1. 2

        Fully agree (unless we can politely ask moderators to split this into its own thread, if that’s actually a thing)

          1. 1

            Sweet!

        1. 8

          IRC is still one of my main messengers. weechat makes it so nice.

          Other than that, I have quite a few friends and family using telegram, which is a great client with questionable crypto.

          1. 1

            weechat is a bit annoying to use on mobile. I got a proper weechat relay setup and use the official weechat Android app. However, it really likes using a ton of battery. Do you experience the same problem?

            1. 2

              Are you referring to weechat-android? If so, I use the same setup.

              I leave it on all the time and haven’t noticed any significant battery drain. According to the battery stats, it’s about 1% of today’s usage. Compare that to syncthing, which counts for 9%.

              1. 1

                Ironically I found XMPP to be the best way (for me) to use mobile IRC. Thanks to biboumi, a very reasonable bridge. And you can also connect biboumi to your Irssi or WeeChat IRC relay

            2. 5

              We shouldn’t dismiss XMPP yet. It comes pretty good off in that matrix above there, and with Conversations and ChatSecure has good mobile support. Some criticise it’s distributed nature, which I believe to be a strength. And the chaos in the implemented features often cited from Matrix side can be seen in another matrix wr.t the publicly operated servers thanks to the “XMPP Compliance Tester”

              • Another plus is that you do not need to share your phone numbers or upload your phone book
              1. 3

                I’ve been looking into XMPP in response to both this post and Librem’s desire to support it in their phone. I was quite disappointed that XEP-0313 isn’t supported well on Desktop.

                Mobile is doing fantastic, but it’s hard for me to get excited when I don’t feel like there’s a large range of clients. Even for Windows to chat with my SO.

                1. 2

                  You may be interested in movim.eu https://github.com/movim/moxl#xmpp-support

                  or Dino https://dino.im/

                  Gajim is also ok.

                  Edit: may also be interesting: https://conversejs.org/#features

                  Personally I have not enabled MAM on my server at all, Carbon copies seems enough (I rarely need a coherent history on all devices). Another thing you can do is open a “group chat”, which has it’s own way to record the most recent history.

                  If you are using terminal based clients, you may find they are running on a server 24/7 anyway and thus do not need explicit MAM either

                  1. 1

                    movim is interesting, but looked like it was a social network rather than an IM software? Maybe I’ve misunderstood though. Dino looks great, except that it hasn’t had a release yet. Gajim doesn’t have a UI that I think my partner would like, saying that, I don’t want it to change, because I quite like it.

                    Converse.js is rather neat, especially inverse. That would probably provide a good experience for desktop use for my partner.

                    I personally could get by with the carbon copy stuff, but my partner could not. I have to convince her that XMPP is superior to other things. Being able to randomly open/close the desktop application is part of her workflow, even where it may not be part of mine.

                2. 1

                  Check out the note on XMPP towards the end of this post https://blog.torproject.org/sunsetting-tor-messenger

                3. 3

                  I went from irc in the old days (never a heavy user) to msn (around 2006), Skype (from 2004 until they were bought by Microsoft), Hangouts (my mind is a bit fuzzy), WhatsApp (early adopter and huge fan until Facebook bought it and made it “free”), Telegram (again, huge fan until I realized there are actual problems with the crypto, still use it).

                  Considering transitioning to Signal or Matrix but I’ll think twice about it before I migrate my family to a new messenger service. They are really stubborn, like more stubborn than I am :-P

                1. 2

                  There used to be a MacOS-specific section on EFF’s site, but this will do for now: https://ssd.eff.org/en/searchapi?keys=macos

                  1. 3

                    I go to a local shared office space (aka “co-working” space). I like it. Gives me more of a structured routine and more natural light than my basement. My office mates are also in tech so they’re respectful and quiet.

                    1. 1

                      Do you have to pay monthly for access to the space? I looked into some in my area, but most of them were decently expensive last I checked.

                      1. 2

                        Yes, there is a monthly fee depending upon which tier you select. There is a “floating desk” where you choose whatever is open, the dedicated desk, which I chose, and the private office. And since I’m commuting to a city area, there is also a cost for parking. However, the total amount is worth it if you can write it off on your taxes or your company is gracious enough to cover it for you.

                      1. 1

                        Open plan offices aren’t going away as long as they’re cheap and the company can still recruit employees to work in them. I don’t see a way to make real estate cheap unless you move your company to a cheap area or promote remote work. As long as employees are willing to work in such spaces, companies have little incentive to change.

                        1. 1

                          Data like this appearing in abundance, and is showing a direct connection to cost increases. That sounds like incentive to me.

                        1. 1

                          We cache the compiled CSS by placing it in localStorage

                          This is exactly what service workers are for, though.

                          1. 2

                            OP: Do you know the history of this project? First I’ve heard of it.

                            1. 8

                              From the Wikipedia

                              Waterfox is an open-source 64-bit web browser, with an aim to be speedy, ethical, and maintain support for legacy extensions dropped by Firefox, from which it is forked on 27 March 2011.

                              Waterfox differs from Firefox in a number of ways by:

                              • Disabling Encrypted Media Extensions (EME)
                              • Disabling Web Runtime
                              • Removing Adobe DRM
                              • Removing Pocket
                              • Removing Telemetry
                              • Removing data collection
                              • Removing startup profiling
                              • Allowing running of all 64-bit NPAPI plugins
                              • Allowing running of unsigned extensions
                              • Removing of Sponsored Tiles on New Tab Page
                              • Addition of locale selector in about:preferences > General
                              • Defaulting to Bing as the search engine instead of Ecosia, Google or Yahoo![7]

                              IMHO it should default to DuckDuckGo search instead of Bing.

                              1. 5

                                I am okay with Bing default if it funds Waterfox development. I can easily change the default search engine myself, but maintaining those features require real resource.

                                1. 1

                                  Wow, I had no idea! Thanks for the detailed response!

                                  1. 1

                                    Welcome ;)

                              1. 2

                                “JavaScript code” is too broad. Can you provide some more concrete examples?

                                1. 1

                                  Would it help to say that I’m interested in arbitrary, but relatively small, amounts of code? Refactoring within functions, for example.

                                  I can imagine something like (contrived, but sadly this kind of thing isn’t out of the question in this codebase)

                                  function originalFunction(listOfInts1, listOfInts2) {
                                   this.something = listOfStrings.map(function(value) {
                                      return value + 1;
                                   }
                                   this.something = listOfInts2;
                                  }
                                  
                                  function refactored(listOfInts2) {
                                    this.something = listOfInts2;
                                  }
                                  

                                  And a tool which can tell me that this code is equivalent. But now that I type this out, I can see how it would be pretty hard. In this case it’s obvious to me, because I know how map works, and I can see the inner function code is pure, but how could such a tool know that listOfStrings.map, or the function that is provided to map, didn’t have some kind of side-effect that is no longer happening.

                                  1. 2

                                    Indeed, this would be difficult if not impossible, however, perhaps you should try this from another angle. A tool like ESLint could help by flagging or not flagging each piece of code. If you put the “new” code next to the old, and ESLint flags one, there’s a good chance they’re not doing the same thing. You mentioned “side-effects”, so maybe a rule set like this would be of use:

                                    https://github.com/jfmengels/eslint-plugin-fp

                                    In any case, the only true way to test code like this is to write unit tests. Karma, Ava, Jest: these can help. Check out egghead.io or similar sites to help there.

                                    Good luck!

                                1. 1

                                  Hm. I can only access this site when my VPN is off. Not cool.

                                    1. 1

                                      Do not try to load this on a mobile device.

                                      1. 1

                                        Why wouldn’t you use a VPN at home? You trust your ISP?

                                        1. 4

                                          I am not the author, but you need to trust some network, don’t you? Because who runs your VPN? And if you do it yourself, where does it exit?

                                          By using a solution like the author you can at least establish a trusted LAN or layer 2 network by using your own router behind your ISPs up-link. You’d need to carry a portable router with you to do the same at a coffee shop or so.

                                        1. 2

                                          That read like an IBM ad and didn’t actually address why devs shouldn’t have to a complicated deploy process.

                                          1. 2

                                            Because it is most likely an ad in disguise.

                                            1. 3

                                              I love how it claims to be based on “reason” and still resorts to “bs” to get things done. Political commentary as code.

                                              1. 3

                                                Reason is a syntax for OCaml. BuckleScript is the compiled bridge to JS.

                                                1. 1

                                                  Yes. I just like the way the names play out.

                                              1. 3

                                                Wow, this is impressive. Super fast, too. Excellent concept and execution.

                                                1. 1

                                                  Thank you. ?

                                                  1. 1

                                                    Not sure why this is a question.

                                                1. 4

                                                  “If a pure function mutates some local data in order to produce an immutable return value, is that ok?” – Rich Hickey

                                                  https://clojure.org/reference/transients

                                                  1. 3

                                                    LOVE this quote:

                                                    “It doesn’t matter how often you have stand-up meetings, when it comes to the central method of communication, long-running branches represent dead silence. Long-running branches are the worst.”

                                                    1. 10

                                                      How is it a popularity contest? I mean, I think they are good metrics, they simply don’t measure popularity. Furthermore, I think that you rarely get to see other people’s karma, since it is not displayed in regular conversations, but in profiles.

                                                      I’m specially shocked by the “competition” part. Are we going to do a ranking in Christmas? No one is going to bash you because of your karma, just relax and enjoy the conversation :)

                                                      1. 5

                                                        Furthermore, I think that you rarely get to see other people’s karma, since it is not displayed in regular conversations, but in profiles.

                                                        I didn’t even realize it was possible to see it for other users.

                                                        1. 8

                                                          Then let me blow your mind: https://lobste.rs/u?by=karma

                                                          1. 2

                                                            Ok so there was a ranking after all. Dammit.

                                                            1. 1

                                                              Great now I have that Eve/Gwen Stefani song stuck in my head…

                                                              1. -1

                                                                It’s the usual distribution these things have

                                                                ********************************************************************************
                                                                ****************************************************************
                                                                ****************************************************************
                                                                ******************************************************
                                                                **********************************
                                                                ******************************
                                                                ***************************
                                                                **************************
                                                                **************************
                                                                **********************
                                                                *********************
                                                                *****************
                                                                *****************
                                                                ****************
                                                                ****************
                                                                **************
                                                                **************
                                                                *************
                                                                ************
                                                                ************
                                                                ************
                                                                ************
                                                                ************
                                                                ************
                                                                ************
                                                                ***********
                                                                ***********
                                                                ***********
                                                                ***********
                                                                **********
                                                                **********
                                                                **********
                                                                **********
                                                                *********
                                                                *********
                                                                *********
                                                                *********
                                                                *********
                                                                *********
                                                                *********
                                                                *********
                                                                ********
                                                                ********
                                                                ********
                                                                ********
                                                                ********
                                                                ********
                                                                ********
                                                                ********
                                                                ********
                                                                ********
                                                                ********
                                                                *******
                                                                *******
                                                                *******
                                                                ******
                                                                ******
                                                                ******
                                                                ******
                                                                ******
                                                                ******
                                                                ******
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                *****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ****
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                ***
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                **
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                *
                                                                
                                                                1. 4

                                                                  Looks almost like a Zipf-Distribution…

                                                                  Quite interesting, maybe someone should study this a bit (or apply Machine Learning until study pops out).

                                                                  1. 3

                                                                    It would be nice to post long tail posts like this externally on a paste service like gist.github.com. I know you wanted to visualize the distribution but it just makes all of us scroll a lot of screen estate for little benefit.

                                                                    1. 1

                                                                      Ok, I’m sorry if it bothered you, but I felt the act of scrolling really gives a feel for the long tail.

                                                            1. 1

                                                              If you look past the headline, this is really cool technically as well. They implemented a general string-wise sequential CRDT library https://github.com/atom/teletype-crdt. I wonder what other cool projects one could hack together with this as a base.

                                                              1. 1

                                                                It appears to be based on protobufs, which is a really interesting binary messaging format: https://grpc.io/