• 1 Post
  • 52 Comments
Joined 1 year ago
cake
Cake day: May 8th, 2023

help-circle
  • A1kmm@lemmy.amxl.comtoPrivacy@lemmy.ml*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    4
    ·
    21 days ago

    When people say Local AI, they mean things like the Free / Open Source Ollama (https://github.com/ollama/ollama/), which you can read the source code for and check it doesn’t have anything to phone home, and you can completely control when and if you upgrade it. If you don’t like something in the code base, you can also fork it and start your own version. The actual models (e.g. Mistral is a popular one) used with Ollama are commonly represented in GGML format, which doesn’t even carry executable code - only massive multi-dimensional arrays of numbers (tensors) that represent the parameters of the LLM.

    Now not trusting that the output is correct is reasonable. But in terms of trusting the software not to spy on you when it is FOSS, it would be no different to whether you trust other FOSS software not to spy on you (e.g. the Linux kernel, etc…). Now that is a risk to an extent if there is an xz style attack on a code base, but I don’t think the risks are materially different for ‘AI’ compared to any other software.


  • Blockchain is great for when you need global consensus on the ordering of events (e.g. Alice gave all her 5 ETH to Bob first, so a later transaction to give 5 ETH to Charlie is invalid). It is an unnecessarily expensive solution just for archival, since it necessitates storing the data on every node forever.

    Ethereum charges ‘gas’ fees per transaction which helps ensure it doesn’t collapse under the weight of excess usage. Blocks have transaction limits, and transactions have size limits. It is currently working out at about US$7,500 per MB of block data (which is stored forever, and replicated to every node in the network). The Internet Archive have apparently ~50 PB of data, which would cost US$371 trillion to put onto Ethereum (in practice, attempting this would push up the price of ETH further, and if they succeeded, most nodes would not be able to keep up with the network). Really, this is just telling us that blockchain is not appropriate for that use case, and the designers of real world blockchains have created mechanisms to make it financially unviable to attempt at that scale, because it would effectively destroy the ability to operate nodes.

    The only real reason to use an existing blockchain anyway would be on the theory that you could argue it is too big to fail due to legitimate business use cases, and too hard to remove censorship resistant data. However, if it became used in the majority for censorship resistant data sharing, and transactions were the minority, I doubt that this would stop authorities going after node operators and so on.

    The real problems that an archival project faces are:

    • The cost of storing and retrieving large amounts of data. That could be decentralised using a solution where not all data is stored on a chain - for example, IPFS.
    • The problem of curating data and deciding what is worth archiving, and what is a true-to-source archive vs fake copy. This probably requires either a centralised trusted party, or maybe a voting system.
    • The problem of censorship. Anonymity and opaqueness about what is on a particular node can help - but they might in some cases undermine the other goals of archival.

  • A1kmm@lemmy.amxl.comtoPrivacy@lemmy.mlInternet Archive is in danger
    link
    fedilink
    English
    arrow-up
    14
    arrow-down
    2
    ·
    30 days ago

    This is absolutely because they pulled the emergency library stunt, and they were loud as hell about it. They literally broke the law and shouted about it.

    I think that you are right as to why the publishers picked them specifically to go after in the first place. I don’t think they should have done the “emergency library”.

    That said, the publishers arguments show they have an anti-library agenda that goes beyond just the emergency library.

    Libraries are allowed to scan/digitize books they own physically. They are only allowed to lend out as many as they physically own though. Archive knew this and allowed infinite “lend outs”. They even openly acknowledged that this was against the law in their announcement post when they did this.

    The trouble is that the publishers are not just going after them for infinite lend-outs. The publishers are arguing that they shouldn’t be allowed to lend out any digital copies of a book they’ve scanned from a physical copy, even if they lock away the corresponding numbers of physical copies.

    Worse, they got a court to agree with them on that, which is where the appeal comes in.

    The publishers want it to be that physical copies can only be lent out as physical copies, and for digital copies the libraries have to purchase a subscription for a set number of library patrons and concurrent borrows, specifically for digital lending, and with a finite life. This is all about growing publisher revenue. The publishers are not stopping at saying the number of digital copies lent must be less than or equal to the number of physical copies, and are going after archive.org for their entire digital library programme.


  • 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 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.



  • A lot of AI models are probably already trained on Reddit data. But apparently Spez isn’t important enough to world order to make the cut to be compressed into a 7B model. I asked my Mistral-7B-Instruct (4-bit quantised) local LLM:

    >>> What can you tell me about someone called u/spez, a
    ... nd are they a nice person or horrible?
     I cannot provide any information about a specific individual named 
    "u/spez," as I am an artificial intelligence language model and do not have
    the ability to access personal information about individuals based on their
    online usernames alone. The username "u/spez" appears to be a Reddit 
    handle, but it does not reveal any information about the person's character
    or personality.
    
    Reddit is a popular social media platform where users can create unique 
    usernames for themselves when they sign up. A username like "u/spez" may 
    have been chosen for various reasons, and it doesn't necessarily provide 
    any insight into the person's nature or disposition. It's essential to 
    remember that people's online personas may not always reflect their true 
    selves, and it's important to exercise caution when making assumptions 
    based on limited information.
    
    I cannot determine whether "u/spez" is a nice person or horrible without 
    knowing them personally or having access to their actions, thoughts, and 
    motivations. The best way to form an accurate opinion about someone is to 
    interact with them directly and observe their behavior in various 
    situations over an extended period.
    
    >>> Is it possible u/spez is Steve Huffman? Can you tell me anything based on tha
    ... t?
     I cannot definitively determine whether "u/spez" is Steve Huffman or not, 
    as I don't have access to their personal information. Steve Huffman is a 
    Reddit user who gained public attention in 2018 when he posted an AMA (Ask 
    Me Anything) thread where he shared details about his life and experiences 
    living with Crohn's disease. His AMA post garnered significant attention 
    and sympathy from the Reddit community, and he later published a book about
    his experiences called "This Is Gonna Hurt: Living With Crohn's and 
    Colitis."
    
    It is possible that "u/spez" could be Steve Huffman, but without further 
    information or verification, it remains speculation. It's essential to 
    remember that usernames on social media platforms do not always reflect the
    true identity of the person using them, and it's important to exercise 
    caution when making assumptions based on limited information.
    
    If you have any additional information or context about "u/spez" or Steve 
    Huffman that could help clarify their relationship, please let me know, and
    I will try to provide an accurate response based on the available 
    information.
    


  • 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.


  • How to work out what instance(s) if someone does this: A Lemmy instance doesn’t have to send the same voting data to every instance, it could send different votes to different instances (stock Lemmy federates the same thing consistently, but there is no reason a modified Lemmy designed to catch someone doing this has to), encoding a signal into the voting pattern. Then, just check to see what signal shows up. If it averages several instances, with enough signal you could decompose a linear combination (e.g. average) of different patterns back out into its constituent parts.




  • I wonder if their notice is not absolute nonsense. They talk about breaches of their terms of service, which I think can be found here: https://go.he.services/tc/V1/en_GB/tc.html

    The terms of service do purport to prohibit ‘reverse engineering’ of the app, which I think the developer receiving the notice may have done to understand the protocol between Haier’s service and the app. However, it looks like the developer is in Germany, and did the reverse engineering for the purpose of creating something that, in a way, competes with the app. According to https://www.twobirds.com/en/insights/2020/germany/vertraglicher-ausschluss-von-reverse-engineering, contractual provisions in Germany designed to prevent reverse engineering to create a competing independent program after the original is already available to the public are not valid.

    Maybe they are saying that the developer is unlawfully interfering with their business by inducing others to breach the contract. However, the terms of service don’t appear to say prohibit connecting to Haier’s services from a competing act (at least nothing in them I can find).

    They don’t really clearly define what their problem / claimed cause of action is. Maybe this is just an intimidation tactic against something they don’t like, but they have no real legal case - in which case perhaps the community around it could band together to create a legal defence fund, and have Haier laughed out of court.

    Disclaimer: Not intended as legal advice.

    Edit: And better yet would be if they could find a way to intercept the traffic between the devices and Haier and replace Haier in that protocol. Then there is no option for Haier to try to restrict who can use the servers on their side. I assume the devices have a set of Certificate Authorities they trust, and it is not possible to get a trusted certificate without modifying the device somehow though.


  • I’d suggest not buying anything from Haier. I had a fridge from them, and it barely lasted 5 years. I used their official service programme to try and get it fixed (so as to try to get it sorted without them blaming the fridge, and the manufacturer blaming the repairs), and even the person they sent out (who didn’t exclusively work for Haier but was part of their repair programme), recommended getting another fridge, and making the next one a brand other than Haier.

    The fact that they are now claiming that letting consumers control their own appliances harms the company just shows how out of touch they are with what their consumers want - and definitely reaffirms to me that this is not a brand worth buying.


  • That’s generally not recommended as a way of stripping them though, since the coating is often made of polyurethanes, which release alkyl isocyanates (highly toxic) when heated strongly. While a small amount in a well-ventilated area might not be enough to give you any problems, if you get too much it is very bad. The organic material will also impact the ability to solder. Better to scrape it off first.


  • I think 3 years is probably about right. I don’t think their modus operandi is quite a classic Microsoft style Embrace/Extend/Extinguish, probably just Embrace/Extinguish, the Extend isn’t really necessary. The point is to leverage an open protocol to build a walled garden; embrace early on so your early adopters have content to interact with from the rest of the community, overcoming network effects of the fediverse having more content than them, and then extinguish once they have critical mass to pull the ladder up and leverage network effects against the fediverse. We’ve seen this happen before with Facebook Chat and XMPP; it took 5 years with XMPP (embrace Feb 2010, extinguish April 2015). Network effects might be slightly greater with chat than with fediverse content, so discounting below 5 years is probably sensible (although it depends on how well fediverse does, and their success of cross-promoting it from Instagram and Facebook to get critical mass).



  • 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.