HN user

justryry

43 karma
Posts0
Comments22
View on HN
No posts found.

This x1000. If you think Optional, Streams, and lambdas make Java close to Scala, you really don't know what you are missing. Some other big and small things off the top of my head:

- import aliases

- type members

- generic variance that doesn't make you want to gouge out your eyeballs

- generics over primitive types

- fully unified types

- an ecosystem that avoids nulls and exceptions

- pattern matching

- case classes

- everything is an expression

- immutable collections out of the box that most every library uses

- higher kinded types

- macros

Sure, maybe Java will get import aliases 20 years after they were due but I'm pretty sure half of that list will _never_ happen. Combined they are a huge deal for productivity, expressiveness, and safety. Java can't die due to the huge existing investments and continuing to improve the language is the right thing to do, but its really well past time for folks to consider more modern languages for new projects.

NFSv3 is very dead.

I like Kerberos a good bit and I think the complexity of running an LDAP/Kerberos infrastructure is greatly over estimated, but it is disappointing that none of the theorized alternatives ever really appeared. Last I read, LIPKEY was the only serious contender and there were some security concerns that got it nixed.

This is one my favorite features of the language and I believe to be fairly unique. It can make for some slick and safe state machine like code.

I do wish that we had reliable RVO so that this could come at zero cost.

Do cloud providers commonly float cores between VMs? I could see instances like the AWS T family (burstable) sharing, but I had always assumed that most instance types don't over-provision CPU.

If that's the case, my CPUs are likely pinned to my VM. I could still have evil userland apps spying on my own VM, but I would not expect this to allow other VMs to spy on mine.

While those primitives you mention make it possible to get a correct result, they require consistent and correct use from the programmers. While some of us may do this perfectly most of the time, bugs are inevitably created. This is reality.

Fearless concurrency means guaranteeing many of those problems cannot occur. That frees up brain cycles, eases maintenance, reduces bugs, and perhaps even opens up concurrency to a wider audience or set of use cases.

Interesting. I took a look and this is the only hypervisor specific piece of code I can find in the patches.

I have wondered what the impact would be on hypervisors. Xen seems like they patched it in a way that removes the need for guests to mitigate, but would guests of other hypervisors get hit with the penalty twice in some cases?

The larger problem on cross-platform KeePass was never Mono directly (aside from the FUD), but rather the WinForms UI. One could blame Mono for not having a visually pleasing implementation of WinForms, although .NET core has nothing at all.

Refactoring out a core and building multiple UIs would be an interesting and large project.

Funny, window switching is my favorite feature of Gnome 3.

I use alt-tab to change application, alt-` to change windows of the application. Quite easy to navigate IMO. It never occurred to me to use the arrow keys inside of the window switcher.

The one thing I do miss is a good tiling layout. There's a few plugins out there but not one I found actually works.