Autistic people are often seen as arrogant because they speak honestly about their strengths (and weaknesses), whereas normal people avoid speaking honestly about their strengths unless they are arrogant.
This is many times in my experience not the case, autistic people still have very strong biases hidden under a layer of seeming logic. Incorrect, very confidently held opinions (perseverance -- the trait) are things I see often in the community, I believe.
Bluntness != correctness.
We have the normal emotions and human flaws, they're just expressed differently.
We are also liable to mistake politeness and tact for incompetence or foolish "herd behavior." Something I've realized as I've aged as an autistic person is that I was quite obnoxious about this in my youth. Neurotypical people are typically much more aware of the social context of their words and actions than we give them credit for: they aren't stupid they are trying not to embarrass us or be cruel.
After thousands and thousands of years of evolution, without soap to clean our hands or understanding of bacteria, you would think that if eyes were so intolerant and sensitive to being touched we would have evolved to have other organs instead..
You can do that easily in modern Java--even for older JVMs, tools like Netty and later Vertx have been around forever. Or in Node, even more easily.
Elixir/BEAM do have some benefits that are worth considering for many projects. But they absolutely are not special in this regard, and that's the junior-developer trap about which the person to whom you replied was referring.
You may be enamored with the "nothing new under the sun" idea that "Turing complete is Turing complete, anything you can do in Python you can do in Brainfuck" but as someone who has written code professionally in about a dozen languages, no, you can't just as easily get the same kind of parallelism out of Java as you can Elixir. To assert otherwise is factually false.
Is it possible to get to the same result? Yes. It is not, however, anywhere in Elixir's ballpark of "easily". Do not discount the power of language-level, not just support, but encouragement. Especially when you're working with junior devs, if "the right thing" and "the thing the language wants you to write" are not in alignment, everything is much, much harder. Erlang and Elixir actively encourage easily parallelized code. Java activity encourages tangles of objects.
Java, kind of with Akka or similar, although even with that one always be aware of blocking. Loom should help. Node: not really unless something dramatic has changed. Using 32 cores is going to require 32 separate node (OS level) processes, and your on your own for providing communication between them, plus callbacks aren't near as intuitive as the BEAM process model (think green threads)
I mean sure, but given the topic at hand is getting performance out of your 32-core server, I'm not sure that's a super relevant observation. "I've been given way more hardware than I need" is an entirely different problem I think most of us would be happy to tackle.
I'm a seasoned Java and Node developer, but have never touched Elixir/Erlang. Could you spell out for me the benefits Elixir provides over Java concurrent code? Is it actually a performance gain, or simply a nicer syntax? I am a bit confused by the claims of this post and of the earlier comment. Thanks a lot
So, when you're working with Elixir or any language on the BEAM VM, you're in a world where data is immutable and processes are isolated. It's like having Akka's actor model but at the VM level, so it's super integrated.
The BEAM VM itself is a different beast compared to the JVM. It's more like its own mini-OS designed for real-time multitasking. Each process has its own garbage collection, and it's all non-blocking. So if one process goes belly-up, it doesn't take the whole system with it. Imagine a network of telephone switches; if one gets zapped by lightning, the rest keep chugging along. That's the level of fault tolerance Erlang and BEAM were designed for.
Now, speaking of fault tolerance, let's talk about how easy it is to mess up an Akka system if you're not careful. Say a new Java dev joins your team and doesn't get Akka's actor model. They might introduce shared mutable state between actors, which is a big no-no and can lead to all sorts of race conditions. Or they might do something like put a blocking operation inside an actor, which can hog resources and mess up the whole system's performance. Akka's great, but if you don't follow its principles, you can still shoot yourself in the foot.
So, the beauty of Elixir and BEAM is that a lot of these good practices are enforced by the VM itself. You get that fault tolerance and concurrency baked right in, without having to rely on every engineer knowing all the best practices.
I recently saw a talk on Youtube about "structured concurrency" in Java. It looked pretty interesting. But it seemed to me the way to achieve parallelism is by starting on a procedural code flow and as you come to a part that can be parallelised, you split into a bunch of tasks in a scope and that scope will monitor how those are executed. Once the results are accumulated, we go back into the procedural flow. This is similar to what is done in go IMO and is a pretty good technique.
In Elixir, on the other hand, you could create a module which is like a server process. You can start this server in a procedural flow, or you can "connect" it to a supervisor by giving it the startup information needed and a strategy to be used on how to restart the process in case it crashes for some reason.
A client process (or processes) with it's own module can then send messages to the server which will handle the incoming messages in its inbox sequentially. If you squint at it from an angle, modules look like classes in that they provide a way to separate code logically.
This way of doing concurrency takes getting used to and has a higher initial learning investment. But it feels cleaner and is less prone to user errors. In go for example you have to be careful of closures and shadowing which will result in shared memory and hard to debug errors, even though the initial investment in learning Go is much lesser.
For the record, given the substantial discussion, late notice, and fact that HN's mod had already engaged with the discussion without marking it a dupe, my initial point was largely advisory, and the issue mostly moot. I hadn't flagged the item myself.
That said, I was commenting without any snark at all that discussions within a year are typically noted as dupe, linked a prior comment by dang which states this for an instance with an eleven month prior mention, and was simply stating that flatly and factually.
You might want to de-tune your snark detector a bit.
The longest fantasy series ever written. Take all Stephen King books, throw in the entire Harry Potter series, and it's still shorter than the Wandering Inn.
I just gave up on the series after book 4. I felt the original main character wasn't getting enough screen time, and didn't really like the newer characters as much.
I should have also said I meant my quip mostly in jest, as well. I don't actually question why they would be doing something I know they aren't actually ever doing. :D
The price should be the price. Advertising any dollar amount less than what the customer actually has to pay should be fraud.
Even taxes should be included in prices.
And this has to be a top-down, legal thing, rather than something companies can opt-in to, because I think the business consequences of being the only one in your industry with transparent pricing would generally be lethal, and I've heard stories of restaurants going out of business due to including taxes in their prices. People want to pay less, and they'll go to the place they think will charge less. So this has to be enforced top-down.
Many people are dumb as bricks and hold insanely weird beliefs such as "if the displayed prices include tax, you will become desensitized and won't notice it if the government increases the tax rate!" or "I want to know exactly how much is going to the business and how much is going to the government!" Some US states have even codified this and explicitly ban tax-included pricing.
This is also why people will fight tooth-and-nail against very obvious methods to drastically simplify things, such as by having the IRS handle your taxes for you and simply send you an "is this correct or do you need to make changes?" form every year.
> "if the displayed prices include tax, you will become desensitized and won't notice it if the government increases the tax rate!"
Which is also a weird position to have, since nobody suggested getting rid of the price breakdown that gets shown at checkout. I'm sure companies would still love to show tax if half of their price is tax.
Do you personally know how much your employer pays in tax to employ you? I bet most people dont have any idea. I just had to look it up myself. I would never know if the rate changed provided I didnt read about it in the paper.
I can see it on my paystub, it has a nice breakdown of where everything goes.
I’d argue you could do the same with anything, in the case of restaurants just show the actual total on the menu and include a breakdown on the receipt so people who care can see how much is going to taxes and such.
Your paystub or W-2 show how much tax YOU are paying. Social security is two-sided, you pay half and the employer pays half, unless you know that already, the paycheck itself doesn't say so. There are also additional types of taxes, such as unemployment, the employer pays that aren't shown on your pay stub.
Cabs and car service existed long before Uber. Bars almost always have a list of car and cab services plus the bartender can call you a cab if you're too drunk to call yourself. Seen it plenty of times.
While true, recent studies show that ride-sharing apps reduced deaths due to intoxicated driving by over 6%, which amounts to hundreds of lives per year.
> I've always avoided Cabs (largely because of lack of trust), while Uber basically fixes cabs' problems for me.
I can say with confidence that I don't trust an Uber driver any more than a car/cab driver. Sure, ive been in sketch cabs and cars with intoxicated drivers or some dick who runs the meter up after you fall asleep - those are rare and I can count them on one hand.
Uber gives you the illusion of being abetter cab service while being markedly worse in some ways. Okay, you voted out a shitty driver with one star - there are a 1000 more waiting to fill that position. I've been in numerous filthy Ubers, drivers who are possibly intoxicated, drivers who got their license in a cereal box, and cars who's mechanical status is questionable (severely worn suspension, squealing brakes, etc.) You vote one out and another scurries in.
Don't get me wrong, I use Uber and Lyft mostly because its tough getting car service as many went out of business. But its no utopia and the safety and quality of the rides is not better in any way.
"Computer-dispatched" taxis would answer those questions when you called for a taxi in the times before Uber. Uber didn't invent those things, it just capitalized on them with better marketing.
I believe taxi in my city still has nothing like that. Or maybe some companies I don't know about? I also get to travel to other cities and researching local taxi companies is not an activity I'm looking forward to.
Some cities never got it or finding it was harder than it should be. Sometimes that was because of incumbent momentum or regulations. Some cities had good "radio-dispatch" laws that made sense at the times they were passed, but those then stymied "computer-dispatch" decades later as those improvements were made available.
There was a brief few years where a couple of big US taxi franchises had "computer-dispatch" labels and you could use that to select between alternatives.
Unfortunately, Uber disrupted the industry in so many wild and interesting ways. The most useful franchise I was aware of with "computer-dispatched" taxis in multiple cities I traveled between apparently broke apart competing with Uber and some of the franchise cities just outsourced the work to Uber or Lyft or other competitor or built entirely new names/brands separate from the old national franchises and figuring out which one is which is so much more challenging than it was for a brief few years in my experiences before Uber started up.
(In the mid-oughts, I used to have a "Yellow Cab" phone number memorized that was the same 7 digit number in multiple cities, you just swapped the local area code you were standing in. That number is basically out of service in one of those cities and goes to very different branded taxi companies in the rest, some of which then just have messages telling you to book them on Uber or Lyft or Some Random App.)
I got stuck once in the middle of the day in a million plus sized US city (not Dallas) where every single cab company I called just flat refused to get me anything within the next hour, and no promises after. Just nothing. No public transport that went where I needed to be, of course. Since I was there for work, I luckily had a phone number of a coworker (whom I never met before) that I had to call and beg to rescue me. Never had such situation once uber/lyft came up.
Cabs and car services were (and still are if we ignore Uber and Lyft) effectively non-existent in many small to medium sized towns. And where they existed, they were exorbitantly priced. Where I lived (while Uber and Lyft were becoming popular) the local taxi service had around a dozen cars for a community of around 250k people. The only other transportation services were catering to the elderly and infirmed and pretty much just drove to hospitals and clinics.
Uber and Lyft introduced an option there (and in many similar towns and cities) that did not, or effectively did not, exist at the time.
There you go. I have been visiting NYC for two decades now and could rely on cabs to a large extent. But haven't seen any reliable cab network like that in other parts of the US (SV, Austin, LA, Seattle, Denver-Boulder, ...).
> ubiquity of everyone having a button on their phone
I mean you just pressed a few more buttons and told the cab company where you were headed and they'd show up in a reasonable 15 min or so. I'm an NYC native and took a lot of cabs and car services - not saying it was perfect - but it wasn't a dystopia. I can only once recall having trouble getting a cab from park slope to ozone park - there were no cars around.
Waiting was simply due to the nature of the cab/car market back then - cabs were radio dispatched and yellow cabs only cared about Manhattan and JFK/LaGuardia leaving us outlier schmucks with a paltry selection of mom and pop car services with few cars.