• 5 Posts
  • 123 Comments
Joined 2 年前
cake
Cake day: 2023年5月8日

help-circle
  • And apparently enforcement of foreign judgements in the US is state-by-state, and the US state doesn’t need personal jurisdiction over the person. So any US state court can decide to recognise a foreign jurisdiction, under local state laws, and all other states will recognise it. So if OFCOM can find one state that will recognise the judgement, then they are in trouble.


  • I am not sure why anyone would use an AI code editor if they aren’t planning on vibe coding.

    Vibe coding means only looking at the results of running a program generated by an agentic LLM tool, not the program itself - and it often doesn’t work well even with current state-of-the-art models (because once the program no longer fits in the context size of the LLM, the tools often struggle).

    But the more common way to use these tools is to solve smaller tasks than building the whole program, and having a human in the loop to review that the code makes sense (and fix any problems with the AI generated code).

    I’d say it is probably far more likely they are using it in that more common way.

    That said, I certainly agree with you that some of Proton’s practices are not privacy friendly. For example, I know that for their mail product, if you sign up with them, they scan all emails to see if they look like email verification emails, and block your account unless you link it to another non throw-away email. The CEO and company social media accounts also heaped praise on Trump (although they tried to walk that back and say it was a ‘misunderstanding’ later).


  • IANAL, but it is an interesting question to consider whether it would be illegal in Australia (if anything, as a test to see if the right laws are on the books to block this kind of thing). The laws are likely different in the US, and it might vary from state to state.

    The Fair Work Act 2009 (Commonwealth), s325 provides that:

    An employer must not directly or indirectly require an employee to spend, or pay to the employer or another person, an amount of the employee’s money or the whole or any part of an amount payable to the employee in relation to the performance of work, if:

    (a) the requirement is unreasonable in the circumstances; and

    (b) for a payment—the payment is directly or indirectly for the benefit of the employer or a party related to the employer.

    I think you could imagine the employer arguing a few lines:

    • The employee is not required to spend, it is only a factor in promotions and not retaining the same role. OP said you can “get in trouble for not using this” - countering this defence perhaps depends on proving what kind of trouble to show it is a requirement. In addition, under s340, employers are not allowed to take an adverse action against an employee for exercising or proposing to exercise a workplace right, and adverse action includes discriminating between and employee and other employees of the employer.
    • That the employee is not required to pay any particular person, they can choose what to buy as long as the select from a prescribed list. However, I think that could be countered by saying this is an indirect requirement to spend, and the “or another person” attaches to the “pay” part, so I don’t think that argument would fly.
    • The the requirement is reasonable - however, that could be countered by arguing the privacy angle, and the fact that this is for personal shopping, far outside the reasonable scope of an employment relationship.
    • That the payment isn’t for the benefit of the employer. I think that could be countered firstly by arguing this is a requirement to spend not pay, and event if it was to pay, it is indirectly for the employer’s benefit since it allows them to attract and retain clients. The way they are pushing it could further prove this.

    So I think it would probably be contrary to s325 of the Fair Work Act in Australia.

    Another angle could be the right to disconnect under s333M of the Fair Work Act:

    An employee may refuse to monitor, read or respond to contact, or attempted contact, from an employer outside of the employee’s working hours unless the refusal is unreasonable.

    If someone has a work and a personal phone, and has the app on the work phone, but refuses to use take the work phone or install an app on their personal phone so they can respond to tracking requests from the employer, then maybe this also fits.

    I also wonder if in Australia this could also be a form of cartel conduct - it is an arrangement of where purchases (other than those the company should legitimately control) are directed centrally under an arrangement by an organisation.

    Under s45AD of the Competition and Consumer Act 2010,

    (1) For the purposes of this Act, a provision of a contract, arrangement or understanding is a cartel provision if: (a) either of the following conditions is satisfied in relation to the provision: (i) the purpose/effect condition set out in subsection (2); (ii) the purpose condition set out in subsection (3); and (b) the competition condition set out in subsection (4) is satisfied in relation to the provision.

    So the purpose condition has several alternatives separated by ‘or’, one of which is:

    (3) The purpose condition is satisfied if the provision has the purpose of directly or indirectly: … (b) allocating between any or all of the parties to the contract, arrangement or understanding: (ii) the persons or classes of persons who have supplied, or who are likely to supply, goods or services to any or all of the parties to the contract, arrangement or understanding; or

    It sounds like there is a solid argument the purpose condition is met - they are allocating where people who are part of the arrangement (employees) shop.

    They’d also need to meet the competition condition for it to be cartel conduct. For this to be met, the arrangement might need to include the clients of the company:

    (4) The competition condition is satisfied if at least 2 of the parties to the contract, arrangement or understanding: (a) are or are likely to be; or (b) but for any contract, arrangement or understanding, would be or would be likely to be; in competition with each other in relation to: … © if paragraph (2)© or (3)(b) applies in relation to a supply, or likely supply, of goods or services—the supply of those goods or services in trade or commerce; or

    So it could be argued that this is a cartel arrangement between the company, its clients, and its employees, and so attract penalties for cartel conduct.


  • It is possible for all of the following to be simultaneously true:

    • The Israeli War Cabinet are war criminals and terrible people for slaughtering civilians in Palestine and Lebanon.
    • The Houthis are war criminals and terrible people for targeting civilians in Israel.
    • The US Trump Administration are war criminals and terrible people for killing civilians in Houthi-controlled areas.
    • Hamas are war criminals and terrible people for targeting civilians.

    While all of the above crimes are of roughly the same type (albeit for different reasons), they do differ in extent - the Israeli War Cabinet is responsible for the most suffering by a wide margin.

    I think it is a morally consistent position to condemn all of the war crimes above, although perhaps to prioritise efforts condemning the bigger ones.



  • As an experiment / as a bit of a gag, I tried using Claude 3.7 Sonnet with Cline to write some simple cryptography code in Rust - use ECDHE to establish an ephemeral symmetric key, and then use AES256-GCM (with a counter in the nonce) to encrypt packets from client->server and server->client, using off-the-shelf RustCrypto libraries.

    It got the interface right, but it got some details really wrong:

    • It stored way more information than it needed in the structure tracking state, some of it very sensitive.
    • It repeatedly converted back and forth between byte arrays and the proper types unnecessarily - reducing type safety and making things slower.
    • Instead of using type safe enums it defined integer constants for no good reason.
    • It logged information about failures as variable length strings, creating a possible timing side channel attack.
    • Despite having a 96 bit nonce to work with (-1 bit to identify client->server and server->client), it used a 32 bit integer to represent the sequence number.
    • And it “helpfully” used wrapping_add to increment the 32 sequence number! For those who don’t know much Rust and/or much cryptography: the golden rule of using ciphers like GCM is that you must never ever re-use the same nonce for the same key (otherwise you leak the XOR of the two messages). wrapping_add explicitly means when you get up to the maximum number (and remember, it’s only 32 bits, so there’s only about 4.3 billion numbers) it silently wraps back to 0. The secure implementation would be to explicitly fail if you go past the maximum size for the integer before attempting to encrypt / decrypt - and the smart choice would be to use at least 64 bits.
    • It also rolled its own bespoke hash-based key extension function instead of using HKDF (which was available right there in the library, and callable with far less code than it generated).

    To be fair, I didn’t really expect it to work well. Some kind of security auditor agent that does a pass over all the output might be able to find some of the issues, and pass it back to another agent to correct - which could make vibe coding more secure (to be proven).

    But right now, I’d not put “vibe coded” output into production without someone going over it manually with a fine-toothed comb looking for security and stability issues.


  • The awkwardness here actually works in favour of abolishing tips and replacing them with the pay being factored into higher prices.

    No one wants to be the sucker - human nature is that people are generous if they think everyone else is generous, but if they feel that others are not ‘pulling their weight’ on generosity and are instead taking advantage, that’s the fastest way to dry up other people’s generosity. Right-wing media use this fact to undermine support for social welfare - e.g. if 0.001% of welfare payments are fraudulently taken, they set editorial policy that makes it seem like beneficiaries are rorting the system instead of being truly needy.

    But when it comes to tipping, the dynamic actually works the other way - people feel generous by tipping, even though it is harmful long term. If a few people ahead of someone in the line don’t tip, should they be the sucker who does tip? And for the employee, you want them to be the advocate on the inside for forcing people to pay their share instead of taking advantage - by having the displayed price be the total upfront price that includes the compensation for employees, instead of an optional tip.


  • There is a minimum amount of total money the employee could make before they’d go and work somewhere else instead. So if, hypothetically, everyone in a country where tipping is common even for non-exceptional service just stopped paying tips, hospitality employers would be forced to pay more to stay competitive with other non-customer-facing industries.

    Of course, a drastic shock to the economy like that would probably cause a lot of upheaval, as some employers struggle to accept the new norm.

    However, the same thing would work even if the change was slower - e.g. if 5% of people didn’t tip, and did it very obviously and vocally, and then the practice spread as it reached 10% and so on.

    Obviously it sucks for the employees who get hit by the first few non-tippers, but over the long term it would be for the better for worker rights. So I could absolutely see it working.

    That said, I say this from a country where tipping is not the norm (except maybe the occasional ‘keep the change’ for exceptional service), and the law and expectation is that the most prominent displayed price is the total price you pay - and people react very negatively towards businesses seen as trying to bring in American style tipping culture.





  • But don’t you see the benefit - the data on your flushes helps our Trusted FlushMe Partners ® provide more relevant service to you, and also helps us partially offset the cost of our running our flush servers, allowing us to provide service to you for only $29.99 monthly††!

    †: All FlushMe partners have undergone creditworthiness checks. ††: Limited time one month introductory offer. FlushMe may, but is not required to, provide you with a personalised monthly price for renewal of the service.



  • By population, and not land area, certain more remote geographic places are well known but have quite a low population. ‘Everyone’ is a high bar, but most adults in Australia would know the following places (ordered from smaller population but slightly less known to higher population):

    • Wittenoom, WA - population 0 - well known in Australia for being heavily contaminated with dangerous blue asbestos (which used to be mined there until the 60s), and having been de-gazetted and removed from maps to discourage tourism to it.
    • Coober Pedy, SA - population 1437 - well known in Australia for its underground homes and opal production.
    • Alice Springs, NT - population 25,912 - well known for being near the centre of Australia in the rangelands (outback) - most larger population centres in Australia are coastal.

  • Stargate SG-1, Season 4, Episode 6 has a variant of the loop trope, but everyone (including most of the protagonists, and everyone else on earth) don’t remember what happens, while two protagonists remember every loop until they are able to stop the looping.

    They debrief the others who don’t remember at the end (except for the things they did when they took a loop off anyway!) - but they didn’t miss too much since everyone else on earth missed it.

    Another fictional work - a book, not a movie / TV show / anime - is Stephen Fry’s 1996 novel Making History. The time travel aspect is questionable - he sends things back in time to stop Hitler being born, but no people travel through time. However, he remembers the past before his change, and has to deal with the consequences of having the wrong memories relative to everyone else.




  • Modems also make noises when connected. However, the noise of them connecting is more distinctive because they go through a handshake where you can hear distinct tones, but then negotiate a higher baud rate involving modulation of many different frequencies, at which point to the human ear it is indistinguishable from white noise (a sort of loud hissing). If you pick up the phone while the modem is connected at a higher baud rate (post the handshake), you’ll hear the hissing, and then eventually you picking up the phone will have caused too many errors for the connection to be sustained (due to introducing noise on the line), causing both ends to hang up. You’ll then hear the normal tone you hear when the called party has hung up the line.