Hacker Newsnew | past | comments | ask | show | jobs | submit | ecdavis's commentslogin

NakedMUD (and probably SocketMUD) uses a temporary file during copyover.

https://github.com/avidal/nakedmud/blob/fcab059439515be9ad93...


> blocking handsets because they can't access 000 anymore

As the article explains, many handsets which can access 000 are being blocked.

My iPhone XR can't make calls anymore, for example.


I think this comment oversimplifies gambling addiction. Yes, chasing losses is a behaviour common to many gamblers, and yes, winning money provides an incentive to gamble in the first place, but many (most?) gambling addicts have different motivations.

Here are some quotes from _Addiction by Design_, by Natasha Dow Shüll -- a book I highly recommend if you're interested in this subject:

> Julie explains: "If it's a moderate day - win, lose, win, lose - you keep the same pace. But if you win big, it can prevent you from staying in the zone." [...] "You're not playing for money," says Julie, "you're playing for credit -- credit so you can sit there longer, which is the goal. It's not about winning, it's about continuing to play."

> [Pete says:] After sitting at the machine for fourteen hours, so tired I can barely keep my eyes open, no money in my pocket, no gas in my car, and no groceries at home, I still can't leave because I have four hundred credits in the machine. So I sit there for another hour until it's all gone, praying for me to lose: "Please God take this money so I can get up and go home." You might ask, "Why didn't you hit the cash out button?" That never occurred to me -- that was not an option.

I don't think the importance of the monetary payout is particularly clear-cut. The payin is what does the financial damage, by moving money out of the player's control. The incentives and reinforcement are what get the player hooked -- but perhaps those don't have to be financial? I won't discount the importance of the payout entirely; maybe it's critical to get hooked in the first place? But I also wouldn't be surprised if gambling addiction can arise in games which don't provide to ability to cash out.


If you reject the necessity of a monetary payout then near to all modern tech becomes gambling. Maximizing "engagement" has always been little more than a euphemism for addiction after all. And social media "engagement" is certainly destroying far more lives than gambling, not only in raw numbers but also as a percent of its users.

So many people claim to be unhappy or at least dissatisfied with social media, yet continue to spend hours per day on it, chasing those highly exploitative little dopamine rushes that drive addiction to it. And of course it regularly gets much darker than just wasting vast amounts of time. Even in a casino the overwhelming majority of people will at least tell you they're having fun. And in video games the overwhelming majority of people will not only be having fun with what they're playing, but also spending next to nothing on it.


Maybe that’s why china bans Facebook, limits TikTok usage to 1h per day, and video games to 1 hour per day on weekends and public holidays only.

What addictive software system isn’t banned in china? maybe software development..


I really do think software development can be at least somewhat similar to video game addiction. So many personal projects are just useless obsessions. I'm not sure why people don't treat them more like video games and only spend the amount of time you would be comfortable spending in counter strike.

I guess pursuit of simplicity, and supposed educational benefits (which are real, but these personal projects are different enough from commercial software, and often don't really push the boundaries of anyone's skill or involve any new technologies likely to be used outside of a hobby) make it seems worth the 10+ hours a day people can spend?


To be fair, the people quoted in the book don't seem to be having that much fun. But yes, most of modern tech seems to be exploiting the same mechanism, generating addiction.


"credit -- credit so you can sit there longer, which is the goal. It's not about winning, it's about continuing to play.""

My emotions are muted and it's horrible. Because of this I felt the most excitement in my life when I was gambling. When I lost it was disappointing, when I won I was happy, but when I was waiting to find out I had a visceral reaction similar to being a child waking up on Christmas morning. They were the most intense feelings I've ever experienced and when you go through life feeling very little it's wonderful.

I wonder now if that kind of excitement other people experience elsewhere in life, like when meeting a friend or riding a rollar coaster. If that's true I'm just fucked.


I used to play poker pretty seriously (not necessarily super well, but let's say break-even on the game itself over about 2 years going to a casino at least once a week)

The moments between going all-in and before the showdown (where the pot is decided) were pretty exciting, but not nearly as exciting as outdoor rock climbing


Physical activity doesn't make me feel good. At best running on a treadmill for around 30mins gives me energy that feels good physically but doesn't really translate to mentally.

I've tried intense hikes and other activities but it really doesn't do much. I have ADHD and on and off depression. Maybe borderline personality disorder as well. I did try anti depressants once but it only removed whatever little emotions I experienced, not worth it.


Rock climbing is great for people with ADHD (speaking from personal experience) because you're mentally engaged, all-brain-cells-on-deck, gears turning at full capacity in what can feel in the moment like a life or death situation.

But it's actually a clever brain hack; if you're following best practices regarding safety, and choosing routes which are also safe, there's very little danger


Out of curiosity, have you tried "extreme" sports like skydiving or downhill biking? I have a theory that people into extreme sports have often muted emotions compared to ordinary folks.


Mountain biking is generally not extreme but can be super joyful (in retrospective maybe only the downhill segments are joyful).


Treadmills are boring. Try strength training. Can do it at any gym, low barrier to entry, good for health and provide more neurostimulation.


> So, if the plaintiff can prove the content was pirated, then the use of that content downstream is tainted.

Has that been tested in court?

This is quite an interesting case.

Obtaining the book in the first place[0] appears to be quite a clear case of copyright infrigement.

The question of whether a work derived from the book is infringment is pretty complex, and there's a wide range of tests that get applied to determine that.

But is it necessarily true that if you obtained the original work via copyright infringement and then created an otherwise non-infringing derived work, your derived work is nevertheless infringing due to the provenance of your copy of the original work?

[0] https://news.ycombinator.com/item?id=36659041


Cool talk to watch:

Guarding Against Physical Attacks: The Xbox One Story — Tony Chen, Microsoft

https://www.youtube.com/watch?v=U7VwtOrwceo


This page is informative: https://www.oaic.gov.au/privacy/notifiable-data-breaches/not...

> Just over half (54%) of cyber incidents involved malicious actors gaining access to accounts using compromised or stolen credentials.

My experience has been that most attacks are not that sophisticated and tend to target poor practices within organisations.


What you're arguing for are more accessible immigrant visas ("green cards").

AFAIK there is nothing currently stopping a US company from hiring a person, sponsoring them for an immigrant visa, and then waiting for that immigrant visa to be issued before the person relocates to the US. The main issue with this approach is that it takes many years for immigrant visas to be issued and companies want people to relocate right away. If an individual could use a current I-140 to get an infinitely-renewable non-immigrant visa I feel like that would resolve most complaints that we see about the H-1B here on HN.

If the H-1B visa was changed like you describe above I think it would leave a gap in available US non-immigrant visas. I think that gap would end up being filled by a new type of non-immigrant visa functionally very similar to the current H-1B. The H-1B visa serves an important purpose[0] which has been wildly distorted by tech companies using them for permanent employees on the pathway to permanent residency.

[0] Its intention was to provide US firms unable to find specialist workers locally with a means to fill vacancies with temporary workers.


I've used this for many real applications that I would characterise as small (biggest being ~10KLOC excluding tests, types, etc.). I've applied the pattern across entire codebases and to specific components within much larger codebases which follow other patterns. I tend to combine it with some of the ideas in Mitchell Hashimoto's talk Advanced Testing with Go[0] - particularly small interfaces and defining test stubs alongside real implementations.

In practice my imperative shell tends to have two layers. The inner layer is responsible for executing the imperative logic, while the outer layer is responsible for initialising configuration and dependencies, invoking the inner layer, and adhering to any sort of external interface that it may need to satisfy. Everything from the inner layer down through the functional core can be comprehensively tested using stub objects only -- no need to patch anything.

Unfortunately everything I've applied this pattern to is proprietary, so I can't share any code examples.

[0] https://www.youtube.com/watch?v=yszygk1cpEc


I also did it for a Go app recently exactly like that.

It was mostly about putting the "imperative" part closer to main.go and putting business rules and things like that in the other files: Routing, serialization, validation, business rules, data transformation, command line argument parsing, configuration parsing, they all go in the "functional" part. Instantiating the HTTP server, reading argv, files and reading/writing to the database goes in the "imperative" part.

The major hurdle for me is frameworks and libraries that often want to be used in an imperative way. Some routers, for, instance could be purely functional, but they often want to instantiate the HTTP server themselves. Not a big issue in practice in Golang, though.

Also: the database. To keep purity in a simple way, you gotta wrap the imperative parts and use callback-ish structures. This part is often where I cheat. But with a proper abstraction it's great. I hate to say the forbidden word here, but a "monadic" abstraction you can have your cake and eat it. I never did it in Golang and I have no idea whether it would work, but, I did it in C# and it was a breeze.

I agree with your assessment about testing. In the end it was incredibly easy for me to get 100% coverage on the functional part.


Would love to see an example of your monadic database abstraction


If you're familiar with Node.js promises, you already know how it works. I just pass a hollow "DB" object to my controllers that can perform queries and commands, but instead of returning data imperatively, I use JS-like "promises" to chain the next steps. On the "success" callback you have the result of queries. At the end I will just return this "chain of statements" that wasn't executed yet. I only really run everything at the "imperative" layer, within a database transaction.

  return DB.Query(...).ThenCommand(res => ...).ThenHttpSuccess(res => ...);
That's also similar to how Haskell IO works. If you desugar the "do" syntax, you get something like this. Of course I said "monadic" between quotes above because it doesn't follow the functor/monad laws, it's just a Fluent interface promise-thing tailor-made for that very small app.

A big issue is that this was in very small project. Promises are not exactly pretty, and the code is not the easiest to maintain if you don't know how they work, which is why I "cheated" on the Golang app. I think someone else smarter might be able to figure this problem out too, though :)


> In practice my imperative shell tends to have two layers.

Doesn't that boil down to a hexagonal design, ports & adapters, that is also mentioned at the end of the Boundaries video?


I agree with the parent and grandparent comments.

That said, when I was sponsored for an E-3 visa by a US company the recruiters made it clear that my position was permanent (subject to performance) and that the company would sponsor me for a Green Card.

These representations were contradicted by the legal documents I presented in my interview at the US consulate.

Nonetheless, I can imagine some employees on these sorts of visas might take their employer at their word and plan their lives accordingly.


The one doesn't excuse the other; if you're required to keep this data you should be treating it with the respect it deserves.

That said, yes: government legislators and regulators have been zealously telling private companies to hoover up sensitive PII for years. Here's ACMA's rules for customer auth for telcos: https://www.acma.gov.au/customer-identity-authentication-rul...

There are efforts underway to enable complying with these rules _without_ hoovering up data, but they are not progressing nearly as fast as they need to.


> The one doesn't excuse the other; if you're required to keep this data you should be treating it with the respect it deserves.

It kind of does. If Optus hires worlds most competent security person, the first comment on this subject would be "there is no commercial or technical upside to storing this data, and massive risks if it leaks. We should delete it immediately".

If the government swoops in and bans them from fixing the problem, it is a bit weird for the government to also penalise them for not fixing the problem. Optus is legally barred from putting an engineering solution in place to remove this risk.

Literally the only two outcomes here for Optus are:

Option 1 - wasted storage fees.

Option 2 - international scandal.

They aren't allowed to pick any other option. It isn't fair to get angry at them for a rather predictable outcome of spreading PII around. Sure with hindsight they could have done a better job of sticking to the first outcome, but seriously if they had the choice it would have been option 3 - take money, ask no questions. Maybe store a credit card number, maybe just use Paypal like a normal merchant.


They're not barred from transferring the data to an offline archive after a week.


But they do have to make it available to be accessed quickly and cheaply. Plus maybe the police have requirements that it can be accessed in bulk quickly and cheaply.

Anyway, point being, this is demanding Optus be good at something they never signed up for, don't want to be good at. It really sits with the government to decide how the data should be stored and to taxpayers to stump up the money to store it. Optus shouldn't be lumped with this sort of silly responsibility. They don't want it, don't need it and apparently aren't good at dealing with it.


> But they do have to make it available to be accessed quickly and cheaply.

Define quickly, what does the rule say? Is a day not fast enough?

> Anyway, point being, this is demanding Optus be good at something they never signed up for, don't want to be good at.

They already should be good at protecting data. This is making them protect somewhat more important data than they otherwise would, but it's not demanding any new skills.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: