Sounds like they can do predicate pushdown to the storage nodes now. And...mainly beneficial for medium-to-highly selective scans of mostly uncached tables?
HN user
shub
I am a dataologist, even if my title says software something something. Commercial software development is about getting data from point A to point B more than anything else. There's a little bit of logic, a little bit of munging, but almost all of what could be called an algorithm is done by a library or some other system--probably a database. It's maybe once a year that doing something algorithmic, e.g. reduce a regex to a hand-coded FSM, or write an exponentially decaying counter, is actually the best thing I can do to solve the problem at hand.
IOCP doesn't do it[1]. Well, if it does then it's not documented. You can post custom completion packets so at first glance it looks easy to make open/close be async...I think there is probably a good reason why NT won't do that for you.
That's pretty awesome though, that you have to worry about latency of open().
[1] https://docs.microsoft.com/en-us/windows/desktop/fileio/i-o-...
Reminds me of an IBM technical bulletin I found, somehow, about 10 years ago. It advised that if you were moving from this z9 hardware configuration to that one, you would have 30 minutes of downtime. Implying that other changes required no downtime, which I inferred wasn't stated because it wasn't insanely awesome to mainframe guys, adding CPUs and RAM to a running system was just how things worked.
I was in college at the time and looked at job postings for mainframe programmers because I wanted to work on that. Never found one that required less than 5-10 years experience, not then and not when I've checked every couple years after that. Too bad; I quite liked the idea of working in an ecosystem that starts from "let's make this work every single time" instead of "let's make this work well enough to keep customer complaints to a dull roar".
If you're using Spark's built-in scheduler then the cluster manager is a SPOF. Hadoop docs say you can get active/standy ResourceManager, not that I've tried it. Spark can also use k8s and nomad to schedule executors, and those have HA modes as well. I assume Mesos does HA.
You're still boned if the driver dies. I am pretty sure that the driver keeps some important state in RAM so if the node hosting it goes down you have to restart from the beginning, even if the cluster manager restarts the driver.
In addition, a lot of the techniques used to write high-performance Java boil down to "write it like C". Avoid interfaces, avoid polymorphic virtual calls (as you can't avoid virtuals entirely), avoid complex object graphs, avoid allocating as much as possible...it's not nearly as nice as naive Java. Still nicer than C IMO. If your process segfaults you can know for certain that it's a platform bug.
You're really stretching to find negative consequences there.
The short excerpt you can read for free says this is more about stuff like the two minutes between clocking out at closing time and locking the door on your way out. It might be wage theft in some sense but isn’t the same thing as requiring hours of unpaid overtime. On the other hand, I suspect the part of the article you can’t read for free is about an employer who tried to cover a substantial amount of work under this exemption and now the court has to ruin things for everybody to prevent abuses.
Why, on the off chance one flies into someone’s open mouth and the surprise triggers a swallowing reflex? I wouldn’t have a lot of sympathy for an adult who ate the homemade pills a guy threw at him and then suffered serious side effects.
Hanlon's razor?
That's why I took 102. They give you the straight dope there.
I always thought that force would work pretty well to build a dystopian hellscape.
Spicy. The fundamental problem is that a lot of people have jobs that pay a lot of money, I take it. You seem very upset about this.
On the other hand, I live far away and the YouTubes would be entertaining. Please do this, Google.
I guess they got the name back when smelling bad and smoking pot was progressive.
Gaslighted. Moonlighting is a different thing.
Oh my God, people use Slack without changing the "Notify me about" setting to "Direct messages, mentions, and keywords"? I work on a 100% remote team and would rapidly go insane without that.
Yeah, that sounds about right.
Deep learning! It does everything really well, especially reducing complex problems to a single number. It's well known that anything which doesn't fit in the reals isn't really real, if you know what I mean.
I'll go with twelve.
Yeah, if you’re pushing to prod automatically without a really good test suite then I would say the problem isn’t with the person who wrote a bug.
There's nothing about git that requires you to use it like the kernel does. Centralized version control is just a special case of decentralized, if you're using git. You still get the benefits of your repo being a peer of the master repo, like local branches.
Like you said, their intent is just to add a new option, and it ought to have no extensional changes in behavior, but it still ends up behaving subtly different. The next morning, all your services end up broken as a result.
Someone makes a commit to library code and production magically breaks? How does that happen?
Thank you (seriously) for the detailed explantion.
JITs already do this, to my mind. What else are you going to call it when HotSpot sees bytecode for a loop initializing an array and replaces it with a call to memset? Special-casing instruction patterns is applicable whether or not you're doing native codegen. The big difference is that you have these VMs which have decided not to JIT so they need to fix their perf problems somewhere else, because (and Nock is especially bad about this) a naive interpreter is unacceptably slow.
I was using "intrinsic" inappropriately, I think, to mean both substitution of method calls and substitution of bytecode patterns. Yeah, the JVM already does the second thing. It's not roses for them, either[0]. The thing that I've been looking for in all this discussion is acknowledgement that the JVM team has been doing this, has encountered engineering challenges to the point that they're willing to change javac to simplify a jet, and an explanation of how these weird VMs are so different that none of that matters and using a shitload of jets is perfectly fine.
Windows likes local time on the RTC. Way back when DOS 1.0 was released (every story about Windows begins with this) there was one way to set the system clock: the user would type in the time. They would use the local time, of course. Consistency with other systems didn't mean diddly squat on a PC/XT with 256 KB of RAM, a floppy drive, and a keyboard. Fast forward a million tech years and we all live with the legacy.
Um yes JIT intrinsics do that. Well, the JIT is recompiling as needed (or more often), but your bytecode isn't changing.
They're not that different, either. It's been a long time since high-performance cores were executing the instructions as fetched and not translating into µops. The stuff Intel does on their chips works on ARM too. People are doing it, and it's working[0]. That makes a hell of a lot more difference on throughput than what ISA is implemented.
[0] https://fuse.wikichip.org/news/1316/a-look-at-caviums-new-hi...
By your description, a jet is an intrinsic written by people who don't know about intrinsics. Plus the bonus of "if you don't trigger the intrinsic it literally costs you money" which is the kind of language-gotcha innovation I would expect from crypto-whatever.
That has bugged me since the first time I read about Nock. JITs use intrinsics to work around inefficiency of generated code when the maintenance burden of the intrinsic is worth the performance boost, and the grand plan is to make a VM so terrible that you need a shitload of intrinsics for programs to terminate before the heat death of the universe? Years later I still haven't gotten past that initial bafflement. It just makes no sense at all.