• 0 Posts
  • 21 Comments
Joined 5 months ago
cake
Cake day: June 10th, 2024

help-circle
  • I agree that they fit different niches! My point was that with modern CPU architectures, imperative languages make it much easier to write fast&efficient code just because the hardware was pretty much engineered with C in mind. IMHO Rust offers the best of both worlds when it comes to systems/low-level dev.


  • TBH Rust is pretty nice, it borrows (pun intended) a lot of ideas from the functional world (algebraic data types, traits, closures, affine types to an extent, composition over inheritance, and the general vibe of type-driven development), but it’s much easier to write fast, efficient code, integrate with decades of libraries in imperative languages, and the ecosystem somehow feels mature already.


  • So, here’s my attempt

    The first portion (^.?$) matches all lines of 0 or 1 characters.

    The second portion (^(..+?)\1+$) is more complicated:

    1. (..+?) is a capture group that matches the first character in any line, followed by a smallest possible non-zero number of characters such that (2) still matches (note that the minimum length of this match is 2)
    2. \1+ matches as many as possible (and more than 0) repeats of the (1) group

    I think what this does is match any line consisting of a single character with the length

    • divisible by some number (due to the more than 0 condition in (2), so that there have to be repeats in the string), that’s not
      • 1 (due to the note in (1), so that the repeating portion has to be at least 2 characters long), or
      • the length itself (due to the more than 0 condition in the (2), so that there is at least one repetition)

    Therefore, combined with the first portion, it matches all lines of the same character whose lengths are composite (non-prime) numbers? (it will also match any line of length 1, and all lines consisting of the same string repeated more than one time)







  • “NixOS project” did not call anyone nazis, there was no “purge”, this article is clickbait and ragebait. What one contributor, however prolific, says, doesn’t represent the entire project (even though I somewhat agree with him here - there are sadly some bigots in the community).

    Nobody forced Eelco (the founder of Nix) to “abdicate”, but there was indeed pressure to step down as the de-facto BDFL put on him by various people. He’s respected as an engineer, architect, maintainer and mentor, but his community management skills were perceived to be lacking, and there were other perceived issues in the community - which boiled down to the fact that a lot of contributors didn’t feel like they could influence the direction of the project. Note that he’s not expelled from the project in any way, he’s still a maintainer of Nix itself, which AFAIU from my interactions with him is what interests him the most, and he’s more or less happy to leave administrative/community stuff to other people.

    Then began a process to establish a new governance structure. Currently, we’re up to a stage where there’s now formal community values and a new constitution for the project. There’s an election happening right now, with all active contributors able to become candidates or vote (although the deadline for candidate nominations has passed, so now we can only vote).



  • UNIX was kinda designed to be an IDE (of its time) by itself. Desktop/Server Linux (whether GNU or non-GNU) mostly continues this tradition; you are provided with some powerful tools for text manipulation, development, debugging and deployment out of the box in most distros. As such, any modern Linux distro is pretty good for development even out of the box. However, you must learn to use this power, and I’m not claiming it’s easy (I still regularly look up various manpages despite doing development on Linux for 10+ years in various forms).

    With that said, I myself prefer NixOS. It really feels more developer-oriented that other distros, as you get the power of Nix out of the box, and integrated into the system. With Nix you get easy access to the biggest software repository in the world. You get per-project development shells, so that you never have to worry about different toolchain versions for different projects, or your system being contaminated with bloat you no longer need. You get the power of reproducible packaging, to eliminate a lot of (but unfortunately not all of) “Works on my machine”-type of problems. It’s also got a hell of a learning curve, but I think it’s worth it.


  • balsoft@lemmy.mltoMemes@lemmy.mlYour kids are gonna love it
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    2 months ago

    My understanding is that the Congress of Soviets was replaced with the Supreme Soviet, the democratic structure was changed but the Soviets remained, just shifted in form, and could still be used democratically, just not in all cases.

    I believe this is true, but I would argue that the fundamental change was that non-Party candidates were almost never allowed to run. As I noted, this is not due to a constitutional change but rather a change in electoral tradition. Anecdotally, as a result of this, all three my grandparents didn’t feel represented by their deputies/delegates, and welcomed that part of the Perestroyka changes, when the rules were relaxed and more alternative candidates appeared.

    A good analogy is that most local governments in the US run uncontested.

    I believe this to also be a non-ideal situation (especially given the two-party system where neither represents the working class). However, aren’t there at least party primaries, so that one can choose which candidate from the dominant party “runs” for the uncontested election? Whereas in USSR the candidates were chosen by the Party and not the electorate directly. (my understanding of the US electoral system is lacking, so I may be wrong here).

    That’s why I stressed reading Blackshirts and Reds, which dispels the mythology and takes a critical, nuances look at the USSR.

    Thanks for the recommendation! I’ve started to read it a while ago, and mostly agreed with the contents. I’ll have to pick it up again.


  • balsoft@lemmy.mltoMemes@lemmy.mlYour kids are gonna love it
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    2 months ago

    Soviets were de-facto abolished after 1936 (not due to the constitution itself, rather “by tradition”). While there technically were elections, in almost all cases there was only one candidate. The three of my grandparents that I grew up with (all proudly working-class - teacher, engineer and doctor, born in 1930s), never participated in elections with more than one candidate until Perestroyka (at which point the communist project was on its deathbed).

    Note that I’m not even anti-USSR, it’s still markedly better than the bullshit capitalist systems. There actually was plenty of workspace democracy, and some local democracy, but I don’t think we should glorify it as some bastion of democracy. There still unfortunately was a kind of ruling class - the Party and MGB/KGB (but I should note that it was much easier for a working-class person to join their ranks than it is in capitalist “democracies”). Rather, learn from what it got right, and fix what it got wrong.




  • telegram is not safe enough, but for some reason it is preferred by drug dealers. The lives of these people literally depend on the messenger.

    Most people are technically illiterate. On top of that, most criminals are idiots (otherwise they’d have calculated risk/reward ratio rather than only looking at the reward side of things). The reason it is used by drug dealers is (1) Telegram is convenient, (2) Telegram is not moderated so they accumulate there due to “moderation selection”, (3) Law enforcement didn’t care enough to do anything about that. Now that (3) has changed and (2) is on shaky grounds, I expect a lot of them will move elsewhere.


  • Signal chats can read messenger developers with basic hack (add one more person in chat and collect messages on disk)

    How exactly do you think that would work? To add a new recipient the client needs to explicitly encrypt messages with a key available to that recipient. What command in the Signal protocol would trigger that action without first establishing trust in the recipient? (FYI when adding a new device, there is a key-exchange and verification process, which requires access to some other device with keys already on it).


  • Tell me how Durov, or someone else get access to my one-to-one crypto chat, if I compile mtproto self from github?

    As a separate statement: they can’t (probably).

    In context of the discussion: they don’t need to, because secret chats are so inconvenient and fussy that they are seldom used. There is a lot of crime happening in public groups/channels, in “private” groups chats that can not be encrypted, or in 1-on-1’s that are not secret. Telegram has the ability to stop all of that with just some moderation, or turn messages over to the authorities, but they don’t. Which is precisely why Durov is in custody right now. If he actually made a messenger with good, convenient end-to-end encryption, he would be in the same situation with Signal authors, who have perfect deniability since they can’t read anything their users have sent up until this point.


  • Bullshit.

    If you want protect yourself for random network administrator on your network line, of course.

    Telegram and Signal both use TLS. They are identically secure from transport-level attacks.

    If you want protect from anyone (government for example), of course not.

    Of course yes. If you want a more private group chat, or an actually useful 1-on-1 encrypted chat that works across multiple devices, Signal is the only option (out of the two, there are way better alternatives like XMPP and Matrix). For 1 device-on-1 device E2E chats, Signal and Telegram are about the same level of security, except Telegram’s protocol sees less scrutiny from the crypto community.

    As telegram. If you think that some drug dealers create public chats with sell drugs, so… you are wrong. All work with darknet. In telegram all of them use only private one-by-one crypto chats.

    LOL. I see drug ads on the street all the time. The one time I checked, it pointed to a publicly available Telegram bot.


  • If Signal was to pull a MITM, it would have been noticeable as it requires active intervention in the protocol (it hasn’t been noticed yet), it would destroy all plausible deniability for them going forward, and it wouldn’t be possible on existing chats (once the key exchange between two parties happens, it’s impossible to do MITM). Telegram can just straight up read your messages, past, present and future, do whatever they want with them, with no way for anyone to check if that happens. It’s two different tiers of communication security.

    To quote another commenter,

    You clearly have no idea what you’re talking about.