1.  

    Yep, and this is the essence of the problem. Matrix is so complex and badly documented/specified that for most purposes, Riot is the only client. Perhaps this will change, but I’ve been waiting for that change for several years already and it’s starting to feel like it’ll never happen.

    1.  

      Are these stories published somewhere?

      Lots of developers are under the impression that civil engineers don’t have to deal with crazy requirements changes. Examples on orange site:

      And no civil engineer will ever have to deal with the update to Gravity 2.0 now even better at 10m/s2

      Also a civil engineer usually understands exactly what the bridge is supposed to do and how it is going to be used.

      there’s a mutual agreement that such change comes with significant cost, and it’s this part that is missing in the software world.

      Everything about a bridge is planned in extreme detail before work on the ground ever starts. This level of planning is absent in software.

      client needs are easy to transport into the mind of [a civil engineer]

      1.  

        There are tons of CV-MIDI modules out there for eurorack, and with MIDI 2.0 you can get the same resolution as Control Voltage

        No need to reinvent the wheel, no need to stack crapload of Raspberry PIs and Arduinos, no need to write the software conversion in NodeJS and so on

        1.  

          Even better, it is eurorack system which means that voltages are standardized! -5v to 5v for audio signals and -2.5 to 2.5 for control (CV) signals. There is ready made modules for computer interface already (usually in midi.. which doesn’t map entirely to CV control scheme), but making something totally custom shouldn’t be hard.

          1.  

            GP says it’s a volunteer organization. Then you say that someone volunteering to do the work is a risk.

            Is the mission of this organisation running a chat service? If not, even in a volunteer organisation, the prime goal is that volunteers can work on the mission.

            Running communications tools is about 20-40 hours per year. Can management not extract redundant commitments from reliable members to serve as someone’s understudy in the case of disaster?

            20-40 hours for a skilled person, especially if you have security standards. Finding someone to keep this server safe and secure and is on-call if it breaks is hard.

            There’s a reasons why even collectives that focus on making communication their mission, like system.li shut down their service on major demonstrations to inform people that they cannot be trusted to not be compromised on some level.

            1.  

              And how many users will do that? If privacy preservation is important to you and you want to be a trustable service provider, you can’t have any situation of “the user accidentally omitted that”. Especially as the user must be pre-informed of that behaviour and have the ability to draw this conclusion before using it.

              Also, I’m replying to a comment on Slack, so I don’t know what the point about the article is.

              1.  

                So, as I said: the development team has simply decided that figuring out how to play nice on servers with other things on it is not a priority. That’s their prerogative, but it doesn’t mesh with the infrastructure I’ve already got.

                I find that a reasonable constraint and am happy that they are upfront about it. You practically can’t support arbitrary systems. That indicates that it still runs on such systems, but they don’t provide support for it. A classic case there would be a distribution taking over the integration work.

                Especially Redis has nasty habits if you try to run multiple services on it.

                Finally, I would never consider running a communication product without a thick wall to all other services.

                1.  

                  It doesn’t really; my kneejerk way of doing this would look like:

                  for (let [key, value] of new Map(Object.entries(todayILearn))) {
                      if (key === '_id') output.set('id', value);
                      else if (key === 'created_at') output.set('createdAt', value);
                      else if (key === 'updated_at') output.set('updatedAt', value);
                      else output.set(key, value);
                  }
                  

                  Now I’ve written it out it’s no different from the author’s first “inelegant” solution :-)

                  1.  

                    The point of the ad-hoc find/grep was to figure out what exists - if you already know you have systemd you don’t have this problem.

                    Luckily, but to the dismay of some people, virtually every Linux distribution has switched to systemd ;).

                    1.  

                      Would turning off internet on your laptop for a specific time every day have the same effect?

                      1.  

                        For me, filesystem issues are a complete deal breaker. I have no OS options at work and can only use Windows and while its a decent work machine, I still feel that my Linux workstation and laptop at home run rings around it.

                        1.  

                          It’s facebook, it’s AI. The article is probably meant for people without specific knowledge of differential equations. Still, you make some good points.

                          1.  

                            Completely agree. At work, a lot of the stuff is written in C, 20 to 30 years old, and works like a charm. I’ve worked in more ‘modern’ environments too, where everything was written by juniors and bug-ridden. ‘Modern software’ is often an euphemism for “we don’t quite understand it yet, but we try” (hence the need for updates).

                            1.  

                              I do use ZNC behind WeeChat. But I’ve never gotten ZNC to work the way I like, which is per-client buffers. I hate that I connect with my phone, get missed messages and then when I connect on my desktop the messages are not there. Of course you can set the option to not clear the buffer, but then you will also get all messages repeated when you reconnect from the same client.

                              1.  

                                Someone has to irrationally pitch new technology and use it so that new paradigms get tested and formed.

                                Also, it might be not the lowest risk road but for me, choosing none mainstream technology has often worked very well. It gets to be a problem if you revisit your choices too often for too little cause.

                                1.  

                                  man systemd

                                  Once you know it’s systemd, that’s a good starting point. The presence of a bunch of sysv and upstart init scripts might confuse you.

                                  man systemd will even tell you that you SysV init scripts are also supported, so you can actually use either format (Perhaps that explains why I have both).

                                  Upstart format is not supported, though I have a few files in /usr/share/upstart too.

                                  Same with systemd, you do not even have to do some ad-hoc finding or greping:

                                  The point of the ad-hoc find/grep was to figure out what exists - if you already know you have systemd you don’t have this problem.

                                  1.  

                                    I tried a similar experiment in 2015, it’s definitely worth trying if never done before. I read more books that year than any previous year, and also more than any year since then. Unlike the author I didn’t have any special setup to supplement my offline experience, with the exception of a collection of Debian CD’s so that I could still install new software via apt.

                                    1.  

                                      In addition, a previous story about this with some more context on why reposurgeon was chosen: https://lobste.rs/s/ykr0ct/gcc_has_really_high_quality_git

                                      1. 15

                                        Also, the regex replacement is dangerous as the keys might appear in the values of a different object with the same shape. This really isn’t a good solution.

                                        1.  

                                          How does Map help?