Recent submissions

Comment · 5 years ago
The language server protocol is diametrically opposite to the way that IntelliJ works. For each language, IntelliJ builds its own internal representation (PSI) of the source code. There are a lot of language specific things, but there are also a lot of commonalities between languages.

I have no idea how you would morph (say) IntelliJ's Java support to use a LSP without basically throwing everything away and starting over.

Caveat: I never worked at Jetbrains, but I did work for two years supporting Android Studio and IntelliJ at Google, which involved a lot of work in its internals.

Comment · 5 years ago
This proposal is fundamentally different from C++ templates as they exist today. You don't just chuck a type in there and let the compiler have a go at it, SFINAE style.
Comment · 5 years ago
The major difference is the first proposal separated interfaces from concepts, later proposals (very wisely) unified them. Only concepts could be used in type constraints.

They also switched from parenthesis () to square brackets [], thankfully.

Comment · 5 years ago
Australian minimum wage is about 15 USD per hour, which is a wage that can sustain people if they do not spend excessively. The economy is not tanking, the same type of jobs exist. Are you claiming that the Australian standard of living is generally horrible as a result of this? That it would otherwise be better for everyone if there were no minimum wage?
Comment · 5 years ago
Yeah fair point. At Google a lot of these non-deterministic rules are either banned through "date" just not existing on remote execution machines, or through determinism tests that ensure rules behave. Maybe in real-life scenarios it's not as easy as I claim, as you suggest.
Comment · 6 years ago
My full time job was to make Bazel more efficient for about 1.5 years. The answer is: it really depends.

If you are executing 100,000 novel parallel C++ actions, then compilation for that might be I/O bound? If these actions are all cached though you would likely be CPU bound instead, as the build system works hard to discover that all the work is already done.

Comment · 6 years ago
I haven't had many issues with non-determinism when using Bazel/Blaze? Especially when you use remote execution or sandboxing it's pretty hard to avoid being hermetic.
Comment · 6 years ago
That depends on the strength of the puzzle? I find them pretty difficult once you get above 2000 or so.
Comment · 6 years ago
I lost my Pixel 3 recently and upgraded to a Pixel 4 (but had a Pixel 1 as well). You skipped right to the worst incarnation - no fingerprint unlock, mediocre battery life.
Comment · 6 years ago
You have to work extra hard and give up language niceties to reduce allocations, more so than certain other languages that are more value oriented.

You want an List<T> of objects? It's now a list of pointers to individual allocations. You want a Path class instead of just passing strings around, for type safety? One extra allocation per object.

Comment · 6 years ago
My current and last positions both involve(d) writing (mostly) Go code, so it's definitely possible to find Go jobs within Google.
Comment · 6 years ago
You need to be able to switch directly from workspace #1 to #8 (eg.), not hitting ctrl-windows-arrow 7 times. I use AutoHotKey for this purpose.

I agree with the grandparent poster that the Windows situation is very bad compared to something like i3.

Comment · 6 years ago
Make sure you visit Sydney specifically though, it's a bit different from the rest of Australia. It's not everyone's cup of tea, though you may well end up loving it.
Comment · 6 years ago
Parent comment possibly meant "10^25 neutrinos with an energy level indicating they were produced by the CNO process".
Comment · 6 years ago
You can do whatever you want if it has no commercial value. Google would not bother asserting their rights because your experiments will not grow into a competitor they would care about.

This is for serious side ventures, like you creating a self driving car company on the side. Use common sense, fault on the side of disclosure, and you'll be alright.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton