Where can I learn about modern Java like you describe? I only remember Java from the days of "enterprise factoryClassFactoryFactoryClassFizzBuzz architectural cancer" and I hate the language due to that old memory, but I'm willing to try again. A lot of companies are using it in the industry I'm in, and it would be worthwhile to learn, but searching Google for Java resources is as much cancer as the enterprise stuff is.
I haven't used it myself, but I've heard good things about Spring Boot.
For other stuff I usually just write in a dialect I like to use, and be very selective about libraries and other bits I use. It's fortunate that the standard library isn't very ClassFactory and is pretty batteries included so you can get a lot done without too much fuss.
In many ways it's not terribly dissimilar to how one might approach using C++ or Perl or any other big language with lots of different ways to do things that you can pick and choose from.
Good things eh? The simplest Spring Boot program (assuming you can handle maven after this). The fact that Spring Boot is the end result of lot of de-FactoryFactoryization of Java shows how god awful standard programming in Java is.
package com.example.hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
//controller file
package com.example.hello;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api")
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, World!";
}
}
Exactly. I've been using Java since 2000, and I haven't once written an AbstractFactoryFactoryService. To be fair, I skipped over early versions of Spring.
The Java ecosystem is vast and there is very little you can say about it generally.
It's trivially easy to write Java programs without (ab)using inheritance. It's trivially easy to write Java programs in a functional style. There are countless libraries that will provide just about any programming interface you like, the only hard part is picking.
Peanut gallery comment is C# because while you can do the old "enterprise factoryClassFactoryFactoryClassFizzBuzz architectural cancer" it doesn't fight you when you try not to.
Want to pass a pure function that takes structs as arguments around, sure.
I tend to play games with high commitment like these in a binge for a few weeks or a month, playing it for maybe hours a day (a night actually because of the kiddos) until I've basically done everything fun the game has to offer, then I stop. Sometimes I play again a few years later in a similar way, then stop again. Recent games I've played like this include Rust, Project Zomboid, and Timberborn.
I bought it at launch and I'm satisfied. They fucked it up, then they fixed their fuckup for free. Sure, we can all complain and whine that they released a bad game, and they did, but they apologized and then worked hard to fix the problem. I think humans need to have more understanding for things like this, especially or something as objectively not-important as a video game. If this were the THERAC-25 I would obviously have a much different opinion, but it's entertainment so there's no sense in holding a grudge against them.
Mix in wetter conditions, and salted roads in winter, and you have a recipe for disaster - the components experience all of the weather, but none of the "cleaning" force of actual braking. Anecdotal evidence, every single electric car owner I personally know has complained about brake rust here in Latvia. Even those with small 50km range plug-in hybrids, when used mainly for daily commuting within electrical range.
Seems like a Streisand effect case to me, but I'm not Maury Blackman so I can't say whether or not his arrest for domestic violence in Mission Bay in 2021 will be more well-known now that he's bullying and suing a reporter about it and trying to make it disappear. I can't believe that he might be successful, too, the USA is at some sort of crossroads where if we're not careful the most important freedoms that we have, those we can use to fight un-democratic trash, will vanish.
He was suing to remove the report from google results so FUTURE employers do not find it. so yes, the effect mattered to him. now even if he wins that case there will be dozens others that have reported this and will be impossible to remove them all.
To an extent. Most times, it isn’t necessary to look them up. In this case, the person used a full email box, and I wanted to see if I could get them word about it. Our app is about helping folks, suffering challenges. If they are legit, then we could probably be a big help.
We Serve a small, specific demographic, and privacy is pretty important. I’d much rather not do that kind of thing. I just want to avoid admitting obvious bad actors.
We get a lot of scammers that try to sign up. We have probably let in a ringer or two, but they won’t find the app especially fruitful. It’s pretty locked-down. Facebook would be a much better hunting ground.
Also, said demographic is exactly the type that might get hit pieces posted, so it is actually an argument in favor of them being the “real deal.”
Definitely, but in this case, it may be a Streisand Effect with a $25 million payout attached.
it is unclear to me whether US law and precedent has the idea of "half-truths" being defamatory. In this case, I'd imagine that would apply if it can be applied; the plaintiff was technically arrested, but legally the arrest itself was expunged. So telling people he was arrested is a truth that definitely isn't telling the whole truth.
A judge had said that it's as if the arrest had not occurred and ordered the record sealed. Without reporting the whole story, they're certainly not telling the "truth."
In this case, the effect would not be to merely bring the arrest to light. Anyone who comes across the arrest now, is likely to come across the whole story, which is that it has been expunged and he was not guilty.
The whole story is also what the report says, which was that his partner was bloodied and cut and only recanted her story after he was being arrested, which is common in domestic abuse cases. His arrest was sealed after the charges were dropped, but he wasn't found "not guilty" or "guilty" in this case.
Also, the "effect" could be to ruin an independent reporter, not just hide or explain the arrest.
Do you not see the problem? Despite a judge discharging him without conviction, you feel as though you have the full story and he's absolutely guilty and irredeemable. You leave no room in your analysis for information the judge may have had which you do not.
No, I don’t see the problem, judges get bought all the time. Appealing to the judges decision is one of the strongest appeals to authority. I’d prefer his arrest record was public, with the case laid out, and if he was innocent and was arrested without cause then everyone could see that.
I see, so the justice system we’ve all agreed as a society to defer to, including the detectives that worked this case, don’t have the right answer but Internet Guy with 0 first hand knowledge does.
What kind of a comment or question is that? Do you have a point? I'm arguing this dude shouldn't be suing a reporter for reporting facts, you are willfully ignoring the fact that wealthy CEO-types often use money and high-powered lawyers to hide their misdeeds, who knows if this was the case here, and I am not saying it was, but how is this defamation? The guy was arrested for domestic violence, the statement by the officer states the woman was injured, what am I doing wrong here by repeating these same facts I just read in an article? Your comment is useless as-is, it's just appeal to authority.
I thought my point was obvious — you’re declaring someone guilty of a crime when you have no knowledge of the case or more generally have no idea what you’re talking about.
No I’m saying transparency is more important than some asshole who is suing a guy trying to bully him into removing information. This dude got arrested, whether he’s deemed guilty or not doesn’t matter to me, I think it’s more important to have transparency as a society. I don’t give a shit about this guy’s innocence or guilt.
Obviously you're being sarcastic, but this is pretty much how things function in 2025.
Faith in the justice system is almost zero, and widespread skepticism of mass media means that “Internet Guy online with 0 firsthand knowledge” is often viewed as just as credible as major news outlets.
I don't have an answer, but it is a sad state of affairs that people aren't incorrect to embrace.
Streisand effect is for when someone is trying to intentionally hide something from the public eye. Here the case is already in the public eye and they are suing for damages. It seems less about hiding it anymore and more about seeking damages for what’s already been shared in the public.
> first gen of Steam controllers, which were created by Valve themselves
The best goddamn controllers ever made, too, I still have one in a box somewhere around here and I won't use it because it's so awesome I don't want it to break. Pretty dumb eh? The two touchpads were the absolute best, I've never had control like that in an FPS and to this day I can't play any FPS with a stick because I was ruined on the Steam Controller.
It's the absolute worst controller I've ever used (Joy-Cons are a close second).
I didn't use it because I hated it so much, put it straight back in the box after a few days of trying to use it and eventually I sold it for as much as I paid, and I was glad to see the back of it.
The size/shape of the controller as a whole was fantastic but I just really hated only having touchpads instead of sticks, and that made it unusable.
I struggled with keeping my thumbs on the pads properly, probably needed sensitivity adjustment too but I just couldn't get myself to _want_ to try harder with it.
Sticks work really well for me in terms of controllers, I just wish we weren't being shafted by stick drift all the time when manufacturers could be using hall-effect sticks; I've got 2 PS5 controllers and 3 PAIRS of Joy-Cons with drift, while I also have my original 2 x PS1 controllers from my childhood, neither of which has drift.
100% agree. I still can't believe it didn't become a long running product that everyone uses.
I've never been a console/controller gamer, but I remember the first time I saw it - it was an early fake, that looked and felt very similar to the end product but inside it just had a metal weight and no actual electronics, and it seemed like such an exciting product, it was genuinely hard to keep that secret...
(And come to think of it, I think I misremembered when writing my last comment - I might be wrong, but I think the Alienware Alpha that launched with Windows actually shipped with an Xbox controller, and the steam controller was only available once the proper Steam Machine version was out. Not 100% sure, maybe we just needed the Xbox controllers for the press sessions before launch...)
Close in a lot of ways, better in a few ways, like haptics. Steam Controller haptics are not great, and the physical click is loud and echoes within the controller. Deck haptics are fantastic, but there's something about the large circular trackpads that feels better. Maybe it's just the larger touch area.
I would hope that these days the popular extension devs would know about this type of attack and would guard against it by perhaps selling the extension code but shutting down the original extension page under their control so users have to choose to install the new company's extension. As a matter of fact, why won't Google/Mozilla prevent this by making an extension and a person's account inseparable, and have legal language in the ToS that says they can't sell the extension as-is with the install base to a new company? It would prevent so much.
The offer would be $10k for the extension page, or $10 for just the code.
Google/mozilla don't add legal language because legal language doesn't make something illegal. They can say "we'll remove your extension if we find out you've sold it", but they way they'd find out would be that the extension now serves malware anyway.
That'd be interesting, but imagine how poorly it'd work given how often medium/large companies change hands. Heck, when Google itself became a subsidiary of Alphabet, it didn't require everyone to create new "Alphabet" accounts and replace Google Chrome with Alphabet Chrome.
Although...I'm not necessarily opposed to that. Companies can change names and ownership a little too easily. Making it painful might help some things.
I remember reading somewhere that, in times long past, if a company name was of the form “Johnson and Sons” (for example), it would be considered fraud to sell that company outside of the named family.
I personally think you’re on to something with tying companies to the reputation of specific natural persons, but I don’t think that is where we are going anytime soon.
>why won't Google/Mozilla prevent this by making an extension and a person's account inseparable
This can be gotten around easily by making a separate Google account for the extension. It would require using gmail rather GSuite (without transferring over the entire GSuite domain.)
That would be the right thing but browsers are not interested in adding friction to an ecosystem that already has its own rules. Extensions offer a lot of value to users witjout any effort from the browser companies
What types of actions can you do to correct and prevent this class of errors? I think you could probably enforce deployment and shutdown checklists, perhaps, or have automated DNS checking software to see if any of the issues exist (I bet you guys have a solution for that) but there are so many human-error problems in manufacturing, and I kinda consider the large-scale deployment of apps to have similar issues and failure modes on the human side.
We have an inventory of everything running, and where they are supposed to be running. If service X does not respond on resource Y the team responsible get an ticket. Check is on IP and names, and some other services. There are no good ways to do this other than being meticulous IMHO. Getting dumps of what is running where from all services is rather hard but more or less doable.
Azure has options when you use their DNS that they tie resource, Public IP, Azure WebApp and other to DNS. If resource is deleted, the record will be NXDomain. AWS probably has something for Route53.
Otherwise, good IaC can help but even in larger companies, I see more ClickOps then I should.
- Stay within the cloud provider's ecosystem as much as possible, including for domain registration and DNS. All records then should be pointing to resources that include your account id in them and can't be taken over by others. If you delete the entire account, there'd be nothing to take over.
- Do everything with Infrastructure as Code, including DNS. If a single "terraform apply" creates everything, then a single "terraform destroy" deletes it all, leaving nothing dangling, provided of course that it is setup correctly and doesn't error out midway through a run.
Otherwise, it's a matter of being thorough. Automate what you can, including creating and deleting resources, if not through a single cloud provider API or some standard IaC product, then roll your own software to do it, but have software do it. Regularly roll out and tear down entire test installations of full systems, including valid DNS records. When you intend for them to be gone, ensure they are really, truly gone.
If you can't automate it, then yeah, checklists.
It's one of those things that is simple but not easy. It takes an organization that respects the tedious and time-consuming nature of ops, plans for it, and doesn't push people to cut corners for the sake of speed when the first time trying to do something takes much longer than someone's uninformed first guesstimate.
Really, automate. At a small enough scale, it doesn't matter, but if you're Mastercard doing this kind of thing thousands of times over the course of decades, humans will inevitably make mistakes. Software will make mistakes, too, but at least when you test software, it will do the same thing every time it is tested. Humans do not provide that guarantee, even if they have checklists.
Edit: Note the above is not true for LLMs, so when I say use software, I mean classical deterministic software. Don't have AI do it for you, because LLMs can and will produce different responses every time you make the same request. Don't devolve to making software that is just as flaky as humans.
> Stay within the cloud provider's ecosystem as much as possible, including for domain registration and DNS
Alas, if you follow this advice to mitigate this particular risk, you're completely hosed if your cloud account gets taken down or compromised. Which is why the standard advice is to do exactly the opposite and make sure your domains and DNS are separate from your cloud provider.
What if you have your domain registered outside of your cloud provider, but have your nameserver on your cloud provider's infra.
You can have another cloud platform configured with a duplicate nameserver, then go to your registrar and change the nameserver for your domain.Your replacement nameserver would then control any subdomain provisioning.
I think that would deal with the risk somewhat, though could be missing something.
> your cloud account gets taken down or compromised
In risk assessment this risk should be resolved as „avoid“, because loosing DNS will be the secondary concern. Data is even more important. I agree that domains should be registered elsewhere and it’s good idea to have the backup of the zone.
reply