• 0 Posts
  • 22 Comments
Joined 1 year ago
cake
Cake day: May 8th, 2023

help-circle
  • A1kmm@lemmy.amxl.comtoAsklemmy@lemmy.mlAre you a 'tankie'
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    3
    ·
    1 month ago

    No

    On economic policy I am quite far left - I support a low Gini coefficient, achieved through a mixed economy, but with state provided options (with no ‘think of the businesses’ pricing strategy) for the essentials and state owned options for natural monopolies / utilities / media.

    But on social policy, I support social liberties and democracy. I believe the government should intervene, with force if needed, to protect the rights of others from interference by others (including rights to bodily safety and autonomy, not to be discriminated against, the right to a clean and healthy environment, and the right not to be exploited or misled by profiteers) and to redistribute wealth from those with a surplus to those in need / to fund the legitimate functions of the state. Outside of that, people should have social and political liberties.

    I consider being a ‘tankie’ to require both the leftist aspect (✅) and the authoritarian aspect (❌), so I don’t meet the definition.


  • I looked into this previously, and found that there is a major problem for most users in the Terms of Service at https://codeium.com/terms-of-service-individual.

    Their agreement talks about “Autocomplete User Content” as meaning the context (i.e. the code you write, when you are using it to auto-complete, that the client sends to them) - so it is implied that this counts as “User Content”.

    Then they have terms saying you licence them all your user content:

    “By Posting User Content to or via the Service, you grant Exafunction a worldwide, non-exclusive, irrevocable, royalty-free, fully paid right and license (with the right to sublicense through multiple tiers) to host, store, reproduce, modify for the purpose of formatting for display and transfer User Content, as authorized in these Terms, in each instance whether now known or hereafter developed. You agree to pay all monies owing to any person or entity resulting from Posting your User Content and from Exafunction’s exercise of the license set forth in this Section.”

    So in other words, let’s say you write a 1000 line piece of software, and release it under the GPL. Then you decide to trial Codeium, and autocomplete a few tiny things, sending your 1000 lines of code as context.

    Then next week, a big corp wants to use your software in their closed source product, and don’t want to comply with the GPL. Exafunction can sell them a licence (“sublicence through multiple tiers”) to allow them to use the software you wrote without complying with the GPL. If it turns out that you used some GPLd code in your codebase (as the GPL allows), and the other developer sues Exafunction for violating the GPL, you have to pay any money owing.

    I emailed them about this back in December, and they didn’t respond or change their terms - so they are aware that their terms allow this interpretation.


  • The government just has to print for the money, and use it for that

    Printing money means taxing those that have cash or assets valued directly in the units of the currency being measured. Those who mostly hold other assets (say, for example, the means of production, or land / buildings, or indirect equivalents of those, such as stock) are unaffected. This makes printing money a tax that disproportionately affects the poor.

    What the government really needs to do is tax the rich. Many top one percenters of income fight that, and unfortunately despite the democratic principle of one person, one vote, in practice the one percenters find ways to capture the government in many countries (through their lobbying access, control of the media, exploitation of weaknesses of the electoral system such as non-proportional voting and gerrymandering).

    instead of bailing out the capitalists over and over.

    Bailing out large enterprises that are valuable to the public is fine, as long as the shareholders don’t get rewarded for investing in a mismanaged but ‘too big to fail’ business (i.e. they lose most of their investment), and the end result is that the public own it, and put in competent management who act in the public interest. Over time, the public could pay forward previous generations investments, and eventually the public would own a huge suite of public services.



  • A1kmm@lemmy.amxl.comtoLinux@lemmy.mlopen letter to the NixOS foundation
    link
    fedilink
    English
    arrow-up
    70
    arrow-down
    21
    ·
    3 months ago

    I wonder if this is social engineering along the same vein as the xz takeover? I see a few structural similarities:

    • A lot of pressure being put on a maintainer for reasons that are not particularly obvious what they are all about to an external observer.
    • Anonymous source other than calling themselves KA - so that it can’t be linked to them as a past contributor / it is not possible to find people who actually know the instigator. In the xz case, a whole lot of anonymous personas showed up to put the maintainer under pressure.
    • A major plank of this seems to be attacking a maintainer for “Avoiding giving away authority”. In the xz attack, the attacker sought to get more access and created astroturfed pressure to achieve that ends.
    • It is on a specially allocated domain with full WHOIS privacy, hosted on GitHub on an org with hidden project owners.

    My advice to those attacked here is to keep up the good work on Nix and NixOS, and don’t give in to what could be social engineering trying to manipulate you into acting against the community’s interests.


  • Most of mine are variations of getting confused about what system / device is which:

    • Had two magnetic HDDs connected as my root partitions in RAID-1. One of the drives started getting SATA errors (couldn’t write), so I powered down and disconnected what I thought was the bad disk. Reboot, lots of errors from fsck on boot up, including lots about inodes getting connected to /lost+found. I should have realised at that point that it was a bad idea to rebuild the other good drive from that one. Instead, I ended up restoring from my (fortunately very recent!) backup.
    • I once typed sudo pm-suspend on my laptop because I had an important presentation coming up, and wanted to keep my battery charged. I later noticed my laptop was running low on power (so rushed to find power to charge it), and also that I needed a file from home I’d forgotten to grab. Turns out I was actually in a ssh terminal connected to my home computer that I’d accidentally suspended! This sort of thing is so common that there is a package in some distros (e.g. Debian) called molly-guard specifically to prevent that - I highly recommend it and install it now.
    • I also once thought I was sending a command to a local testing VM, while wiping a database directory for re-installation. Turns out, I typed it in the wrong terminal and sent it to a dev prod environment (i.e. actively used by developers as part of their daily workflow), and we had to scramble to restore it from backup, meanwhile no one could deploy anything.


  • As if telling Reddit, Facebook, or Google what to put on their roadmap as an ordinary consumer would actually work.

    At least with FLOSS if you want something, and if it is a good thing the developers like, you can likely get it merged. If not, you can fork and still have the feature locally. Good luck getting that freedom with a closed-source product.

    For software I develop, I do find it is helpful if people making feature suggestions tell developers what is useful for them and why, but that doesn’t entitle them any of my time to demand what features I prioritise. The alternative is “I gave you something you like for free, so now I owe you to make it even better for you”, which is obviously nonsense.


  • I think doing a good analysis of strategy here will depend on a lot of factors.

    Firstly, before coming up with a strategy, it is good to have a clear idea of your goals / the strategic problem you are trying to solve. I see or could infer a few possible ones: you want to work in an environment where you don’t feel bullied, you want to ensure others aren’t bullied, you want to see bullies punished, to maintain positives in the company and want to enjoy those without the negatives of being bullied, or perhaps that you believe in the goals of the company or have some stake in it, and want it to succeed. Different goals might lead you to a different course of action.

    Next, you would want to diagnose what’s really going on. Are there just a few bullies, in a company mostly full of professional people, or are the bullies the majority? Are senior leaders in on the bullying, or is it only lower level employees? Why do you think the bullies were hired in the first place - is it because bullying is considered okay in the company, or is it not considered okay but they slipped through? Why do you think the bullying hasn’t been addressed already? Is it because senior managers don’t know? Are the bullies friends / relatives of senior leadership? Are the bullies high performers that the company really would want to keep around, or do they get barely get anything done? Also, are the bullies even aware they are being bullies? Are they unaware they are being insensitive, and likely to change if made aware, or are they actively being malicious and well aware of the impact?

    Next, consider the direction you want to take, and analyse the likely impact on your goals. You could find another job - how easy that is would depend what the job market looks like for your role, and how good the terms of your current job are. It wouldn’t achieve goals around making it better for others. You could try talking to the bullies if you think that they might just be unaware of the impact of their behaviour and that they might change. If that doesn’t work, you could try talking to a manager / HR member, perhaps either to arrange mediation, or for them to take action. You could also just try ignoring the bullying if it isn’t having much impact.

    To choose from the many possible directions, it might help to think from the perspective of the company shareholders, senior leadership, and HR department. What would you do in their shoes if you learned of the bullying? If it is the majority of the company doing the bullying, then something like replacing all the bullying staff is going to be an instant non-starter. The best possible would be to slowly roll out training, policies, and new hiring practices to try to improve the culture over time. If it is a few people who, it now turns out, are the reason for high staff turnover and lower profits, then they might be quite happy to take action. Although probably not if the bullies are the senior leaders.


  • There are a few different types of blockchain, differing by how they stop you just making up your own alternative chain and saying that is the real history:

    • Proof of Work - prove you wasted lots of energy to add to the chain, making it prohibitively expensive to make your fake alternative chain - but also causing lots of emissions / wasting lots of energy.
    • Proof of Stake - adding to the chain requires participation of the people with the most total coins in the cryptocurrency already. Essentially ‘one dollar, one vote’, and ‘the rich get richer’ brought to crypo.
    • Proof of Humanity / Proof of Personhood / Proof of Identity - adding to the chain requires the participation of the most people. Attempts to bring “One person, one vote”, and Universal Basic Income to crypto. There are various attempts - some require submission of photos and videos, and have an adjudication scheme built in to detect duplicates (which might fall to AI-generated faces relatively soon). Others (see Worldcoin) require a trusted central party to produce hardware which scans faces and verifies they are real and unique (and have already had data leaks from participants involved in verification). The other option is to trust governments / other existing infrastructure to verify identities (which is probably the most sensible option if you are trying to genuinely just disrupt banking, but many crypto people hate because they also have a cyberpunk fantasy of accelerating crypto-anarchy, and actually want crypto to be used for tax evasion and without the cooperation of governments).

    So there are alternatives to environmental impact, but there is currently no perfect crypto. Stack that on top of the number of scammers out there riding the crypto buzz, and it is certainly not that hard to see the reasons behind the hate.


  • Programming is the most automated career in history. Functions / subroutines allow one to just reference the function instead of repeating it. Grace Hopper wrote the first compiler in 1951; compilers, assemblers, and linkers automate creating machine code. Macros, higher level languages, garbage collectors, type checkers, linters, editors, IDEs, debuggers, code generators, build systems, CI systems, test suite runners, deployment and orchestration tools etc… all automate programming and programming-adjacent tasks, and this has been going on for at least 70 years.

    Programming today would be very different if we still had to wire up ROM or something like that, and even if the entire world population worked as programmers without any automation, we still wouldn’t achieve as much as we do with the current programmer population + automation. So it is fair to say automation is widely used in software engineering, and greatly decreases the market for programmers relative to what it would take to achieve the same thing without automation. Programming is also far easier than if there was no automation.

    However, there are more programmers than ever. It is because programming is getting easier, and automation decreases the cost of doing things and makes new things feasible. The world’s demand for software functionality constantly grows.

    Now, LLMs are driving the next wave of automation to the world’s most automated profession. However, progress is still slow - without building massive very energy expensive models, outputs often need a lot of manual human-in-the-loop work; they are great as a typing assist to predict the next few tokens, and sometimes to spit out a common function that you might otherwise have been able to get from a library. They can often answer questions about code, quickly find things, and help you find the name of a function you know exists but can’t remember the exact name for. And they can do simple tasks that involve translating from well-specified natural language into code. But in practice, trying to use them for big complicated tasks is currently often slower than just doing it without LLM assistance.

    LLMs might improve, but probably not so fast that it is a step change; it will be a continuation of the same trends that have been going for 70+ years. Programming will get easier, there will be more programmers (even if they aren’t called that) using tools including LLMs, and software will continue to get more advanced, as demand for more advanced features increases.


  • If you have control of the domain, you can also get an X.509 certificate from any CA (e.g. for free from LetsEncrypt). Then you can put up a new server on that domain with a valid cert. If that server supports ActivityPub, it can provide new public keys for private keys you control for all users on the server, and can use the corresponding private keys to sign messages from any user on that server to any community those users are still subscribed to. In addition, any users on other servers still posting to / interacting with communities on that server would cause their server to send that to the inbox on the new server.

    This means any usernames or communities on queer.af should no longer be trusted.


  • I think it would be a real shame, and would fragment the fediverse as a whole - some of Beehaw’s communities are some of the best on the Fediverse (and I really appreciate the work of the mods of communities on Beehaw), but the Fediverse / Lemmyverse is a lot bigger than just the Beehaw instance, and I really like being able to participate in communities from all over. Having to create accounts separately on lots of walled garden instances is probably not worth it, so I think it would make both Beehaw and the rest of the Fediverse weaker.

    Overall I’d be sad about it, and discourage, but I’m sure the fediverse would live on despite it, in a weakened form.

    Perhaps the real question is why would you consider doing that? It seems like a lose/lose for everyone. Would you be able to elaborate on what the exact problem you are trying to solve is? Perhaps the community could help you come up with a better solution.


  • I’d pick an irrational number, say pi, and ask for every decimal digit of it. Then, I have infinite time to walk around the world in explore mode (i.e. I can’t die, and hence don’t need to eat etc…, and am effectively an infinite energy source, and can interact with objects) while time is frozen. This effectively makes me a god, but only for one point in time, with the ability to create a discontinuity in the world state at that point. I’d travel around the whole world (even if it involved swimming oceans) and try to make it so that the infinite sum of each action I take while the world is frozen converges on a world that is in a much better state infinitesimally after the moment compared to infinitesimally before.


  • Games where I have perfect knowledge of the state of play, and where one player moves first, I don’t enjoy much. For each of these games, there provably exists a strategy where the first player that moves can only win or draw

    That doesn’t seem quite correct for any game meeting those criteria (I’d also add that the game is deterministic - no true randomness in the game either, since that is distinct from state - otherwise the outcome could trivially depend on random events). There are two other possibilities for a deterministic game: that optimal gameplay by both players will always end in the second (or another player if more than two) winning, or that optimal gameplay by both players will result in a game that never ends (impossible for games with a finite number of states, and rule that the game ends in an outcome if the same state recurs too many times - like chess).

    A trivial example of a (poor) game that would meets your criterion but where the first player loses under optimal strategy: Players take turns placing a counter anywhere in the play area from an infinite supply of counters. Players cannot skip a turn. If there are an even number of counters on the board after a player’s turn, the player who placed the counter can optionally declare victory and win. Not a game I’d play, but it does prove there exist deterministic open state games where one player moves first where the first player will not win or tie.

    In a 3+ player deterministic open state game, the actions of a player who goes on to lose could impact which of the remaining players win (they are essentially just a different source of non-determinism).

    I think it is correct to say that any two-player deterministic open-state game which can only end in a draw, win, or tie, for any fixed initial conditions, there exists a strategy for one of the two players that will ensure that one of the three outcomes occurs: the game continues forever, that player draws, or that player wins. That can be proved by contradiction: either one or more move in the strategy decision tree can be improved to make the player win, which contradicts the strategy not existing, or the other player can rely on the strategy not existing for the first player to devise a strategy, which also contradicts no strategy existing for either player.


  • Probably more likely they dial more calls than they can scam on the basis that a silent hang up call costs them only the cost of connecting the call, but their scammer’s wages cost them more if not enough people answer and there is no one for the scammer to speak to.

    It’s essentially putting the cost of uncertain numbers of people answering onto the victims rather than the scammer - selfish, but so is scamming people!

    Telemarketers do the same thing, although at least they often have to fear their local regulators in many countries if they do it too much, while scammers are criminals who are going to break the law anyway, so I suspect most silent calls are probably scammers.


  • more is a legitimate program (it reads a file and writes it out one page at a time), if it is the real more. It is a memory hog in that (unlike the more advanced pager less) it reads the entire file into memory.

    I did an experiment to see if I could get the real more to show similar fds to you. I piped yes "" | head -n10000 >/tmp/test, then ran more < /tmp/test 2>/dev/null. Then I ran ls -l /proc/`pidof more`/fd.

    Results:

    lr-x------ 1 andrew andrew 64 Nov  5 14:56 0 -> /tmp/test
    lrwx------ 1 andrew andrew 64 Nov  5 14:56 1 -> /dev/pts/2
    l-wx------ 1 andrew andrew 64 Nov  5 14:56 2 -> /dev/null
    lrwx------ 1 andrew andrew 64 Nov  5 14:56 3 -> 'anon_inode:[signalfd]'
    

    I think this suggests your open files are probably consistent with the real more when errors are piped to /dev/null. Most likely, you were running something that called more to output something to you (or someone else logged in on a PTY) that had been written to /tmp/RG3tBlTNF8. Next time, you could find the parent of the more process, or look up what else is attached to the same PTS with the fuser command.



  • I once worked for a small ISP that decided to enter the calling card business. I built them a voice prompt system on top of Asterisk that made received PSTN calls over PRI and made outbound VoIP calls, all metered to cards with a unique number and a balance, and a UI to activate them. The business got boxes of physical cards printed, with a plan to sell them to convenience stores.

    They hired a salesperson (AKA worst coworker) to sell the boxes of cards. This coworker then sold many boxes of activated cards to many small stores at an unauthorised discount (below the level of profitability), for cash rather than the approved methods for retailers to buy them, and then apparently spent said cash at the casino. The business had to honour the cards (i.e. not deactivate them) at a big loss to avoid ruining their reputation, since the buyers apparently did not know the deal was dodgy. His tenure was, suffice to say, not long, but in his short time there, he managed to put the business under financial strain and it eventually went into liquidation.


  • I think it is more a drip pricing scam to increase revenue for the airline, especially when it is for things that don’t have an incremental cost for the airline. Can’t compete with other airlines? No problem, advertise a lower price than your competitors, but then dream up things your competitor offers as included that almost ever customer wants (and perhaps even try to create problems for customers but charge to make them go away). Now you get customers in the door for the lower initial price, but almost all customers end up paying more than if they had just gone with the competitor.

    It is not beneficial to the customer because it reduces the efficiency of the market (and hence competition) by making it harder to quickly compare prices and get the best overall offer.

    Other industries do the same - insurers with exclusions, retailers trying to make warranties an optional extra (where regulations allow them to do it), ISPs trying to drip price extra charges.

    If a business has absolute upfront honesty about all extra charges, but they genuinely have a reason to charge extra for some customers doing things that cost them significantly more, then that is a different matter, and not necessarily bad for their customers. But the second they try to conceal part of the price and progressively reveal it, it really is a form of scam.