HNHacker News
TopNewBestAskShowJobs

gabereiser

5,056 karma · joined March 2, 2020

I’m not the droid you’re looking for, move along.
submissionscomments
gabereiser··on Gokrazy is cool
In all honesty, if you write go programs, provided you don’t need CGo, you can write bare metal services that can bootstrap and run as pid 0. Try doing that with .Net or Java (ok, you technically can, but it’s a challenge). Go + Linux Kernel and maybe musl is really all you need to run a go web service. I wouldn’t recommend for production but it will get you to 5mb image sizes.
gabereiser··on JDK 21 Release Notes
Yes, Oracle JDK, the default one you are directed to at oracle.com. Java.net provides OpenJDK.
gabereiser··on JDK 21 Release Notes
Some people would beg to differ. There are some organizations that have Java desktop apps, some that have kiosks and appliances that run JRE-like environments. There are some that are still on Java 8.
gabereiser··on JDK 21 Release Notes
People have been burned too many times by Oracle “true-ups”. And no, it’s not FUD. Their license explicitly states that JEE/SE (not JRE) is covered by their commercial license, not their open source license. This year, in 2023, Oracle introduced the enterprise-wide metric license model. So if you use Java for anything in your organization, they charge you based on your organization size. (All or nothing model).
gabereiser··on Snowden leak: Cavium networking hardware may contain NSA backdoor
and more beatings.
gabereiser··on A bus driver killed a man, the city blamed tech
Hey now, telling me I’m more aware sounds an awful lot like “woke” /s. Logic to the illogical. I do think you are right however, I think the standards have dropped as far as what makes above-the-fold news. Maybe that’s a sign that everything is benign and @TerryXPickleCaster is breaking news. Or that we have become desensitized to the war that is raging currently? I very much think they are current news. I also know in this always online world of 25/7 news, you can talk in circles (hi fox), but I do see a decline in journalistic integrity. Questions being asked of officials on camera that should never be asked during a live broadcast. The question to the sheriff of PA over that manhunt. “Little rascals style”. Questions to WH press secretary. Questions to parliamentary figures. It’s like people just want to troll people for jokes instead of asking serious journalistic questions. I know what you’re saying though. There was always the National Inquirer.
gabereiser··on A bus driver killed a man, the city blamed tech
It’s not journalism anymore, it’s visits to your ad riddled pages. Regardless of what truth you post. That’s what it’s become now. That’s web journalism. “I heard it on TikTok” is next.

There are a few institutions trying to keep it dignified but it’s become a bazaar.

gabereiser··on How Jeff Geerling almost broke MrBeast's 1-100 video [video]
so you can solve this one of two ways. 1) implement what they did and solve the hardware signal issue of bound (the right way). 2) implement an irq in your software reading it to poll every few ms and hope you don't read in the trough. Registering extra button clicks should not be the problem of the implementor. It's a hardware failure. However, in this case, he also is the firmware implementor so the firmware needs to be able to fire "onClick" once when the button is pressed once, regardless of bounce.
gabereiser··on Making architecture easy
Hummus. The futures market is in Hummus.
gabereiser··on Demo of megatextures running on n64 hardware
I’m always in awe of folks who have not only the understanding but the dedication to pull projects like this off. I consider myself a good engineer and have written some graphics stuff in the past but nothing like this. This is awesome.
gabereiser··on AWS IPv4 Estate Now Worth $4.5B
>”So every owner of a ipv4 would get, say, an entire 32 bit space that routes over existing IPv4 infrastructure.”

So… NAT.

gabereiser··on Java 21 makes me like Java again
I work on really large go codebases
gabereiser··on Java 21 makes me like Java again
I’ll just leave this with you. 0.1 difference may not seem like a lot until you start hitting 100M invocations.

https://mikhail.io/serverless/coldstarts/aws/languages/

gabereiser··on Java 21 makes me like Java again
Google invented Go.

Netflix uses Java and Rust and Go.

Twitter used to use Scala.

GitHub uses Ruby on Rails.

EpicGames uses C++.

Instagram uses Python.

Everybody uses something.

Now, if you have building on top of your organizations previous 10 years of engineering, you’re probably going to be writing Java and it’s probably going to be complicated. I’ve been there. I wrote Java for 15 years. I won’t anymore. I’m in love with the simplicity and speed of Golang. I’m in love with the robustness and correctness of Rust. I’m in love with docker pull scratch:latest and putting your binary inside to run on an empty metal container. No need to waste 250MB of ram on a JVM. Use nano size instances and it’s just as fast as c5’s (async based workloads).

gabereiser··on Java 21 makes me like Java again
AWS Lambda is the once place where you should never use Java. You have specific thresholds for how fast your function responds, jvm prevents that and requires more memory.

AWS Lambda’s documentation shows how to accept a Request and send a response. You don’t need a package for that. For making zips from s3, again, AWS’s sdk. It’s one of the most commonly asked questions on SO. Here’s one implementation for you that could have saved you days:

https://stackoverflow.com/questions/38633577/create-a-zip-fi...

gabereiser··on Java 21 makes me like Java again
no inheritance but there are interfaces to be able to provide alternate implementations. Similar to traits in Rust. If it quacks like a duck, has feathers like a duck, swims like a duck…

Go just assumes if you satisfy the interface, you’re good.

gabereiser··on Java 21 makes me like Java again
Except I’m over here serving 10x the traffic with 10x less cloud spend on CPU and Memory for hosts.
gabereiser··on Java 21 makes me like Java again
Rust isn’t thread safe either. It’s borrow checker will attempt to correct you but you can still run Rust unsafely.
gabereiser··on Java 21 makes me like Java again
It is for sure the wagoneer when it comes to getting things done in the enterprise, if it was 2005.

It’s not a sports car, it’s not a dune buggy, it’s not even pretty in its wood paneling and drab paint scheme. But it got your family to Wisconsin for the holidays.

In 2023, we have better options.

gabereiser··on Java 21 makes me like Java again
Golang or Rust. If it’s a web service or microservice: Golang hands down. If it’s a desktop software or game engine, rust. If you just want to typescript your way to success, deno and vite. If you’re too introverted for Rust, Zig.

Java, whether it be spring, micronauts, jee, whatever, is wasting CPU and Memory in the cloud costing you and/or your enterprise money.

gabereiser··on Java 21 makes me like Java again
At work, I have a different context. What is the common denominator of what people know. Personally, the “write once, run everywhere” notion of Java has been replicated with much more productive languages.
gabereiser··on Java 21 makes me like Java again
>” None of the memory problems of C++”

I’m sorry, I’m calling BS here. You can still leak memory in Java.

gabereiser··on static-server: an HTTP server in Go for static content
Just check a header for a secret key you generate when you startup. Easy peasy. This keeps you able to call it for testing (granted you read from stdout or passed the key to tests as a variable). Then some scripto ransomware User from Omgodisztan doesn’t shutdown your server from the tent he’s camped in with Starlink.
gabereiser··on static-server: an HTTP server in Go for static content
You’re right, however, due to the nature of the go ecosystem, someone will use it - host their react app with it - and expose an endpoint that could shutdown their server. I think that warrants being called out for.
gabereiser··on static-server: an HTTP server in Go for static content
Where are you hosting your client-side code? Let me see if I can shut it down…
gabereiser··on static-server: an HTTP server in Go for static content
While I love Go, have we gotten this lazy that we need a package for this? Go does this in 3 lines minimum, like you describe in your blogpost. However, in your package you expose the ability to kill your server [0] without any security. That’s a huge vulnerability. I know you’ll say “It’s just a static server, meant for serving static stuff” but it will be indexed by pkg.go.dev, people will use this outside your intent. It is the way. At the very least, use a secret token.

[0] https://github.com/eliben/static-server/blob/3ce83524ed54298...

gabereiser··on Unity’s new pricing: A wake-up call on the importance of open source
Did you read it? It clearly backs what I just said. Godot open source doesn’t support consoles because console sdks are closed source, but there’s nothing stopping you from publishing on consoles. They literally list a company who is doing that, more are following. There’s no restriction at all other than you having access to the SDKs which you get when you sign a contract to publish your game on their platform.
gabereiser··on Unity’s new pricing: A wake-up call on the importance of open source
Consoles no longer require specialized hardware to develop for. There are test kits for ps5 but you can compile on your PC. Where are you getting your information from? The only requirement is a header or two and a code sign. Godot OSS can’t support consoles because the SDK (those headers) are closed source, but there’s nothing stopping you from implementing the half dozen header functions in Godot source yourself. There’s some companies trying to provide that support. I’m sure Godot* (the company) will as well.

To dismiss Godot because you, a solo hobby dev, can’t target PS5 is hilarious.

gabereiser··on GlassFish Embedded – a simple way to run Jakarta EE apps
Just goes to show, if you start a software project, by the time it turns 10, an entire ecosystem around it will form. By the time it turns 20, people will forget why it was started in the first place, knowing it only as their Tao.
gabereiser··on GlassFish Embedded – a simple way to run Jakarta EE apps
Yes, platform/vendor lock in is a staple of the Java ecosystem. Why @Get when you can @RequestMapping? I actually prefer Spring's style here as the annotations in JEE are too generalized to be of use in a large codebase without having type conflicts due to naming.
← PreviousPage 3 of 34Next →