HNHacker News
TopNewBestAskShowJobs

invalidname

1,770 karma · joined June 21, 2012

submissionscomments
invalidname··on 'The tyranny of apps': those without smartphones are unfairly penalised
Any banking or a specific bank?

If any banking whatsoever then sure, this is a problem like cashless society. But if it's from a set of specific banks that makes sense. I use a smartphone only bank and pay lower costs as a result. That makes sense.

invalidname··on 'The tyranny of apps': those without smartphones are unfairly penalised
If it does you aren't forced to use it. You can ignore the service or use a different service. That's the point.

Apps give discounts and there is a tradeoff. We can't demand similar benefits without paying the same price.

invalidname··on 'The tyranny of apps': those without smartphones are unfairly penalised
Why?

It's a tool. Do you complain when the bank requires you to sign something with a pen?

We require computers today for many things. Why not force websites to provide phone service with exactly the same pricing. Guess what the effect will be? Higher prices.

The same is true with apps, some things make no financial sense without them.

invalidname··on 'The tyranny of apps': those without smartphones are unfairly penalised
That's like saying the tyranny of credit cards prevents me from enjoying discounts in some venues. Or that the tyranny of educational system prevents me from working as a doctor.

No, I don't like installing apps for every stupid parking lot or restaurant. But calling it "tyranny" is clickbait and bad journalism. I pay more for my sons bus pass because I don't want him to have a smartphone.

That's a choice I made. My solution isn't to make everyone else pay more because the same discount can't be given without a smartphone. I see why businesses would want to reward me when I let them send me push notifications. Again, not even remotely tyranny. If anything this is tyranny of bad writing.

invalidname··on DOGE employees don't understand the basics of SQL
Yes. But an important key fact here is that this is true as long as the USD is the world currency. It's the world currency since the US is the global super-power both in international support and military strength.

By cutting spending on foreign countries the US is forcing these countries to turn elsewhere for aid which will come in the currency of the new provider and with strings attached. This can cause a domino effect which will significantly weaken the USDs standing and force the US to take up "real" debt.

DOGE could very well bankrupt the USA if they aren't careful. They don't seem careful or self-aware.

invalidname··on One year after switching from Java to Go
All k8s operators are written in Go. It's really unsurprising that Java doesn't fit there. Java has huge advantages for typical web applications (observability, deployment flexibility, deep toolchain beyond IDE etc.). I've seen companies trying to use Go in the environment where the JVM excels, then breaking down the problem to thousands of small microservices which end up making something simple into shards of complexity.

Java is a general purpose application development language. Go is a system language that isn't as deep as Rust. They are very different things and comparing them doesn't make any sense. Like the people comparing Rust to JavaScript, these are not interchangeable.

invalidname··on Appeasement at Munich
I very specifically separated Hamas and didn't say Palestinians. I would argue that the biggest victim of Hamas are the Palestinian people.
invalidname··on Appeasement at Munich
Pretty true. But I generally describe it as religious a*holes are crazy.

Israel is actually mostly secular. The deep settlements are very religious in contrast to the rest. Hamas is just a religious suicide cult.

invalidname··on Appeasement at Munich
Israel is a democracy. It also probably has nuclear weapons and doesn't need US support. However, without US support things would get much uglier.

Unfortunately, your type of thinking led to this. US involvement forced Israel to withdraw unilaterally from Gaza in 2005 and take a hands off stance as Hamas kept building up its base and digging tunnels. Had Israel stopped it back then we wouldn't have had Oct 7th and Palestinians might have taken the Israeli offer for statehood. People often confuse appeasement and peace, they are opposites.

invalidname··on iOS indie app development looks like
It doesn't have the same level of traction for sure. But it's still popular enough and has support unlike PhoneGap which was discontinued. There are advantages to working with smaller companies where you "know" the individual contributors.

It also came out way after PhoneGap and wasn't backed by a huge company with a huge marketing budget.

invalidname··on iOS indie app development looks like
Why is Codename One lesser than Flutter?

Plenty of companies/people use it. It's open source with commercial backing. It's free for commercial use. It existed well before flutter. Uses a language people actually use (Java) as opposed to Dart.

Why would people use flutter which is constantly in danger of being spring cleaned by Google since it makes absolutely no commercial sense. Without Google's support it becomes an unsustainable over engineered brick of code.

invalidname··on JetBrains Fleet drops support for Kotlin Multiplatform
That doesn't work and is a major problem for me. I have a Java project with C++ native code. Using a devcontainer so the C++ dependencies are installed seems like the right thing to do... Unfortunately, I need to use Idea for the devcontainer and can't use both it and clion. Separating it to two projects defeats the purpose as the Java code depends on the C++ code which will be in a different container.

VSCode supports multiple languages in one container just fine. My hacky solution is to use a hybrid container with IntelliJ for the Java code and then connect VSCode to it for doing C++. That means I will be forfeiting my CLion license. I contacted their support (which is reasonably responsive), they say they're working on a solution but I don't know when it will be practical for me.

invalidname··on WASM will replace containers
Yes. It doesn't provide the roughly 20 years of advancements in JVM technology either. Modern observability and JVM scale is at a different level. The trend was to get the maximum use of hardware. Specifically get away from virtualization to containers. This bucks the trend for absolutely no tangible benefit.
invalidname··on WASM will replace containers
Exactly. It's like the JVM circa 2004. Without all the observability and features we have today and half the performance/reliability/security.
invalidname··on A Coup Is in Progress in America
I'm a Jew (atheist). I don't think it's correct to compare well meaning idiots with people who literally kill people.
invalidname··on A Coup Is in Progress in America
I'm not a fan of DEI so this isn't in defense of that policy. But are you really comparing it to the KKK?

Seriously?

invalidname··on Ask HN: Programmers who aren't front/back end/web developers, what is your job?
At the moment I'm working for an observability company building an observability agent. That includes aspects of backend but it's a bit like writing a computer virus. It's a bit like hacking.
invalidname··on Only 1 in 10 Oracle Java users want to stay with Big Red
> And yet the care and feeding (tuning) of the GC consumes countless millennia of human time per year.

This is a feature not a bug. When I write C++ code I need to make a lot of decisions in terms of memory behavior that would deeply impact performance. I can benchmark locally but production is the part that matters and I'm mostly blind there. An observability solution might be able to detect problems if I used the default C allocator under the hood, but in that case my performance would also be terrible to begin with.

Java lets me detect production performance issues and even pinpoint them to specific objects in a shipping application. This can translate to feedback to developers that could be very valuable. But it also allows me to tune GC behavior in production to get better performance with zero code changes.

Furthermore, the object deletion cost is deferred so if your app works in performance peeks it can be very efficient assuming it has enough memory allocated to it.

The downside is that Java will probably always need more RAM than non-GCd languages (the amount varies). That's a reasonable tradeoff for most since RAM is still cheaper than CPU/GPU.

> But we've been promised the ultimate compacting pauseless GC for decades, and yet I see outage after outage of huge systems root caused to "look, we found a brand new way that the GC can explode (or just thrash) on us.

There is no "one size fits all". Java has such GCs but right now the default JVM ships with several GCs since every workload has different requirements. This means you need to tune it which is a challenge.

If you see bad performance and don't know what to do then I would blame your observability provider. Good ones actually provide recommendations on how to improve a thrashing JVM.

> One can make the case for which is better (well, least bad) of Java or C++ error messages, but neither can come close to Rust error message quality and cleanliness.

Rust is great. But it is a young language with less baggage. It has no binary compatibility to deal with and it doesn't offer many of the language features Java (or for that matter C++) have. Those are all good things for Rust, but I wouldn't build the type of apps I build in Java using Rust.

> Like I said I'm impressed that Java managed to make error messages worse than C++, but you can disagree.

I just spent 20 minutes the other day looking at 100 errors in std::vector which I didn't touch at all due to closing brackets appearing in the wrong place... C++ error messages are at a different level compared to Java. Maybe I'm too used to Java but I never spend time on these things and the IDE is fantastic at handling 98% of the stuff.

> Go is not my favorite language, but here I think it's better than Java. RAII beats defer, but at least defer makes the programmer add the cleanup at resource acquisition, not four pages further down, possibly behind a null pointer check in case the finally clause triggers before the resource acquisition.

Go was built for simple quick solutions at the system level. Typically in such cases you would need to handle the error as it happens.

Java was built for libraries/frameworks/APIs. E.g. if Spring runs into an error it can't handle it since it doesn't know whether you want to show the error to the user, recover, log etc. Throw is the only reasonable option. This lets me build a nesting doll of libraries and dependencies that can defer decision making and even add a systemic solution that eventually handles that. E.g. in Java I can define a recovery policy (retry/circuit breakers etc.) with an annotation and the system would handle all of that for me.

In a typical Java backend application I don't write catch at all. You let the exceptions propagate and then write error handlers at the top level to define behaviors for the system/user. This also makes tracking issues in production much easier as you get a clean stack trace that includes all the details you need to fix most issues.

invalidname··on Only 1 in 10 Oracle Java users want to stay with Big Red
Actually that post is very much a mistake. Everything in it is wrong.

OOP is great for big applications which is where Java is still a leader. If you have statics all over then you have a problem.

Heap was the right decision when Java was made. Newer JVMs are fantastic at allocating and releasing it in a way that beats C performance for some cases. There are edge cases where it can't do that which is why we're getting Valhalla which will solve that edge case.

The file API you're referring to is out of date. NIO access has been around for ages.

I agree that generics have a lot of issues, but Java has some of the cleanest error messages around. You dug up a single problem there which plagues pretty much any language that has a complex type system. The alternative is untyped languages that have their own problems.

Bytecode is fantastic. You're confusing historic VM implementation (the Pascal VM) which were inspirational but unrelated. The value Java provides there is amazing, first modern JVMs provide a level of performance that rivals native code. But the biggest benefit isn't in performance: it's observability and extensibility. Thanks to the stability of bytecode developers have built debugging and observability tools for Java that are both performant and powerful. Having worked in this industry I can tell you that no other language comes close to that power. This isn't even a contest, it's Java then everything else. It also opened the gate for many other languages that run on the JVM and interoperate with Java fantastically well.

Modern Java uses UTF-8 for Strings and for internal representation of Strings when applicable.

I suggest reading a bit about modern GCs. Xms/Xmx are important but modern heap allocation and the things done by the newer GCs is at a completely different level.

Misuse of checked exceptions in some cases is a pain point for me too. I'd also add that when Lambdas were added the designers didn't do the work required to solve the issue with checked exceptions there. Which is indeed a shame. Having said that, this is a wide problem in pretty much every language. Exceptions make a lot of sense in terms of performance/flow.

I disagree about finally though. It's a powerful control flow tool that allows us to remove code duplication. No, it doesn't look great. But the alternatives (e.g. Go) look worse.

invalidname··on Only 1 in 10 Oracle Java users want to stay with Big Red
We test on all of them since we build observability solutions. We run a ridiculous amount of tests on every commit. There are minor differences, but not stuff you would notice when you build an app. If you do notice it then you have a bug in your code. IBM is probably the biggest difference since they do a lot of work on their JVM and have the most changes.
invalidname··on Only 1 in 10 Oracle Java users want to stay with Big Red
About the GC we can agree to disagree. But about the runtime check out GraalVM which compiles Java to fully native standalone executables.
invalidname··on JReleaser: quick and effortless way to release your project
Did you look at https://www.jdeploy.com/ ?
invalidname··on MIT Shuts Down Internal Grant Database Used to Research School's Israel Ties
Do these students spend the same amount of time digging into money from Qatar? MIT is trying to save ignorant students from making a mistake by blocking them. Unfortunately, educating them seems to be out of the question as they carry a false narrative that is too deep. Facts have become irrelevant.
invalidname··on Homes Withstood the LA Fires. Architects Explain Why
We also build with concrete. In the USA wood is very cheap and it's easier to work with, so you end up with a larger house at half the price of a concrete house. Also wooden houses have a "warmth" that is missing from bricks.

The way Americans look at it is: I can get a house twice as big for less. I'll just get insurance with the money I save.

invalidname··on Chatham House Rule is suddenly everywhere in the Bay Area
> Pretending racism is not racism and enabling racism and enabling it does not make these people less racist either

Again. Not what I said.

I think what you heard me say is appeasement. Which is VERY MUCH not what I said. I said you should avoid instant judgement which goes against the basic process of persuasion.

I said talking to people and not judging them immediately. Asking instead of confronting. If you start by calling someone a racist his shields go up and he won't listen to you. What did you accomplish by the attack?

Nothing. You didn't change his mind. You preached to the quire. People who hear you either agree with you and people who disagree with you think you're an ahole. Everyone digs deeper into what they already believe and become more entrenched/hostile.

If your goal is to keep people in their positions and prevent change then sure, that would work. You can virtue signal and position yourself as the "good guy".

My goal is to understand people and communicate with them. Even people who might be "bad" or uninterested in communicating/changing their mind. To do that I try to interact without being too judgemental. That's hard sometimes when I read some pretty horrible stuff from some people. E.g. I had a recent debate where a guy implied that me and all of my family should be dead or homeless (I'm an Israeli) so that's hard to reconcile and indeed we didn't reach a reasonable understanding because I feel he wasn't open to another point of view. He was just looking to prove his point (which is pretty insane if his point is I should die).

But it's still a conversation worth having. Understanding what drives a person to a racist position and asking the right questions can sometimes help them along the path of better understanding.

Around 2014 a friend of mine was running from Gazan missiles every night with his kids. His son started bedwetting again and his kids were very scared. They lived in the south very close to Gaza and it is indeed a dangerous area. Back then iron dome wasn't as good and the alarm times are very short. He exclaimed that as far as he cares the IDF should bomb the hell out of Gaza. Fck them for coming after his kids.

If you would have confronted him as a racist he would have become more enraged and probably would have moved to the right.

I asked him how a Palestinian father in Gaza would feel about that. He initially gave some kickback on that so I stressed the difference between Hamas and the civilian population which made him see that his statement was of rage that doesn't represent who he is.

I'm not saying you should tolerate racism. I'm saying you should understand people, listen to their motivations and logic. Talk to them individually and understand where they are coming from. Snap judgements are very problematic and overly simplistic.

invalidname··on Chatham House Rule is suddenly everywhere in the Bay Area
No. The other approach is to talk about it. Not make things more extreme. E.g. https://en.wikipedia.org/wiki/Daryl_Davis

This is the only effective way to end racism and hate. The problem is that you pool too many people together as "racist" which eliminates the power of the word and sends them into a position of "I'll be hated by the left no matter what I do so I'll go full on".

This strategy has objectively not worked. More Latinos voted for Trump in this election even though his rhetoric got MUCH worse. He wants to deport 18M people and revoke citizenship. Yet, they still voted for him in much larger numbers. Women whose rights were denied voted for him. Why?

You can say they're all stupid and indeed there are quite a lot of those. But the fact is that saying to a person that he, all his friends, family and community are evil and racist doesn't bring that person to your side. It pushes them further down that bad path. It might be satisfying to confront a person in a "good vs. evil" scenario, but that doesn't fix the problem and makes everything worse.

invalidname··on Chatham House Rule is suddenly everywhere in the Bay Area
You said this:

> If I were to guess, the types of conversations that happen in these places that aren't gutter racism (they're eating the dogs etc) are going to be eugenics-adjacent, "enlightened" scientific racism instead. At least, that's what I've noticed among rationalists online.

I responded without talking about Eugenics at all... My problem was with this phrase of yours:

> "If I were to guess, the types of conversations that happen in these places"

That's a pretty problematic phrase. You're "guessing" what they're saying then judging them to be guilty based on your imagination.

Notice you're blaming me for that in this thread even though my response didn't mention that in any way. You chose to interpret that as me supporting Eugenics. That's projection. That isn't me.

That is a problematic way to look at life and at people in general.

invalidname··on Chatham House Rule is suddenly everywhere in the Bay Area
> Meh. I have seen these debates long enough to see that there is a lot of truth in that judgement.

There are fair cases of dog-whistle racism. But that is the person who is indeed racist and not necessarily everyone who falls to the whistle or happens to be next to that person. The problem is that this approach creates divisive politics.

Typically division would make sense if you're cutting off the terrible people. Unfortunately, current western politics is cutting off half of the population with a blunt instrument.

A lot of these snap judgements block our ability to self reflect. How can you tell if you're in a cult or an echo chamber?

How do you know your confirmation bias isn't lying to you?

invalidname··on Chatham House Rule is suddenly everywhere in the Bay Area
When did I defend eugenics? What specifically did I say?
invalidname··on Chatham House Rule is suddenly everywhere in the Bay Area
> As a person that would be considered dysgenic, yes, I think eugenics is bad, I guess you got me there.

Implying that I support Eugenics because I want to listen to people and not pre-judge them is pretty much the exact thing I'm complaining about.

← PreviousPage 3 of 34Next →