Threads for pubkey

    1. 6

      The problem is that for WebRTC to work, you need a signaling-server anyway which would then again run over websockets, SSE or WebTransport. This defeats the purpose of using WebRTC as a replacement for these technologies.

      This is dismissive and incorrect. Firstly: websockets, SSE, and webTransport are not required for signaling server, you can use a few http requests/polling instead. Second and most importantly: a WebRTC connected client itself can act as a signaling server. After the bootstrap any client can now be part of your mesh of servers. Services also gain more load balancing, failover and routing capabilities. You may want to reconsider your standing here.

      Cool overview on the rest though.

      1. 5

        After the bootstrap any client can now be part of your mesh of servers

        This is just in theory. Do you have any example of anyone doing this in the real world?

        1. 1

          None that I want to show off atm, so no. Maybe later this year I’ll be more comfortable.

          1. 1

            So you were incorrect because all signaling servers out there use at least one of the 4 technologies.

            1. 1

              all signaling servers out there

              So? Make your own. ICE doesn’t require much code. To me it seems like you’re confusing bootstrapping and signaling though, maybe start there?

        2. 1

          a WebRTC connected client itself can act as a signaling server

          I am very curious about WebRTC from a practical perspective. Do you have any good guides, resources, projects, or libraries that discuss the above? More generally, what is the best way to establish real-time connections between browsers these days?

        3. 1

          Although this is promoting a commercial product, I think it’s worth considering a quite different point of departure for designing web apps.

          1. 1

            It is promoting RxDB because the article is published inside of the RxDB docs. But it is by no means a commercial product. There is nothing you can buy or pay.

          2. 2

            Is this like materialized views, but in the application instead of the database?

            1. 1

              Is that how materialized views work? I haven’t touched them for years.

              1. 2

                I’m not sure about the implementation, it just sounded to me like the problem they’re addressing is very similar.

                1. 2

                  Hi. I added some FAQ to the readme where there is also an answer to the difference between materialized views.

                  1. 1

                    This gives a two-sentence idea of how a materialized view is created and refreshed.

                    1. 2

                      Thanks! Sounds like a materialized view, at least for this version of postgresql is like a table copy, that can later be refreshed. If so, I don’t think this algorithm is similar at all.

                2. 4

                  Working on a really fun project that I hope to present at a conference this summer (I’ll post something here if that comes to pass). The project is for work, but we’ll be open-sourcing it.

                  Without giving too much away, it involves efficient evaluation of potentially enormous sets of boolean functions with predicates of different costs, where predicates can be shared among functions. The goal is to find all of the functions that match a given set of predicates while minimizing the cost function.

                  (All of this is to massively speed up the primary product that I work on, which ends up solving a lot of decision problems in a soft-real-time environment.)

                  On the personal side of the house, I’m thinking about removing the ncurses dependency in mtm by creating a lighter-weight terminal abstraction library that assumes it’s running on a fairly recent terminal. I’ve been tinkering more with sam as well, though it’s getting to the point that 30 year old code just isn’t cutting it…I think the terminal part is going to have to be completely rewritten.

                  1. 1

                    (All of this is to massively speed up the primary product that I work on, which ends up solving a lot of decision problems in a soft-real-time environment.

                    I was going to say that a NIDS could use that but I figured you were ahead of me there. Fascinating project. :)

                    1. 2

                      Given what I’ve seen you post here (and your username), I have a feeling you and I do a lot of similar work. Actually, given how small the industry is, I wouldn’t be surprised if we know each other or are at most like one degree of separation away.

                      1. 2

                        I appreciate it. I’m not currently in the industry, though. Most of the jobs I was offered in industry were about doing security on paper in companies that don’t really care. That’s just not me. I do this stuff on the side of my main job that’s more business and service oriented. I work with people all day, do deep programming and security R&D at night. Or vice versa depending on scheduling. It did buy me a chance to survey, study, and do activist work with thousands of people over time. Learned and experienced a lot the security jobs wouldn’t have taught me.

                        I’m thinking of switching into paid R&D soon, though. I want to try to build my Brute-Force Assurance concept in case it’s useful to people in your position. Plus cuz someone needs to build something like it. Maybe also try injecting high-security into commercial and FOSS products in way that maintains competitiveness and minimizes cost. If things go well, you’ll probably run into me in person at a conference eventually. :)

                    2. 1

                      I need this. I thought about making something like that for a long time to optimize some code if have.