Hacker News new | past | comments | ask | show | jobs | submit | pwdisswordfish6's comments login

Fortunately, although it is pay-to-play, it's not pay-to-win. Oracle (or any other well-heeled player) can spend half a million or more in legal fees trying to go after a small company, but that doesn't mean that company has to match costs.


Strong disagreement from here.

I don't want that kind of stuff in bug reports for the same reason that I don't want to have to deal with "hello", "good morning", from coworkers in messenger applications, and I will assume that for your sake you don't want to deal with it either, unless you explicitly say so.

So if this is a requirement for writing and responding to bugs, then you should "say it in words" that that's what you want.


The baseline expectation of social niceties is the lubricant upon which our human systems run. That you don't personally find them necessary, or even perhaps find them aggravating, does not mean that they should not be by-default valued in the recognition that the person at the other end of the line is a fellow human being with feelings and needs.

It does not take much effort to be nice in the general case. Your desire for efficiency does not supersede respect for others' humanity. And, frankly--resentment at a coworker for saying "good morning"? Yikes.


There's a difference between having niceties and content in one message:

> Good morning! When I foo the bar, I expect it to baz, as per documentation at <link>, but it seems to be drizzling instead. Could you please tell me if it's me doing something wrong, or there is a bug in bar that prevents me from fooing it? Thank you!

Compare this with the typical annoying IM exchange that happens across multiple timezones (EU ↔ India seems to be the worst):

  <Mar 01 2021 05:59> Them: Hi
  <Mar 01 2021 10:00> Me: Hi, what's up?
  <Mar 02 2021 04:03> Them: Do you have a moment?
  <Mar 02 2021 10:00> Me: Yeah, what's your concern?
  <Mar 03 2021 04:20> Them: I have a question
  <Mar 03 2021 10:00> Me: What's the question?
  <Mar 04 2021 04:54> Them: I'm trying to foo the bar and it doesn't work
Grrrrgggh! Four days! FOUR days pass and they are only starting to ask the damn question!

Okay. Sometimes it's not so bad. Sometimes it's only two days wasted.


There absolutely is a difference between inefficient and efficient communication, and you're right to highlight it. There is no gap between efficient and pleasant communication, though, and attacking pleasantry as if its sin is inefficiency is pretty messed up.

Like you say, that exchange is no less pleasant, and of course way more efficient, if it's one message with better information density. That takes some coaching, but the answer (and to be clear I don't think you're advocating for it) absolutely isn't "be a grouchy turd in the name of efficiency".

(And arguably that should then be an email, but most folks have forgotten that email exists, so, yeah.)


Two straightforward questions. You already dodged one when it was framed as an observation; I'll repeat it again as an explicit question.

1. Do you think that your comment https://news.ycombinator.com/item?id=26628064 is nice or shows "respect for others' humanity"?

2. What about your message, or any of the other messages here, exempt them from requiring the sorts of obligatory pleasantries ("good morning"; politeness and courtesy that should be "[written] in words"; etc) that you're so strenuously arguing for as a "baseline expectation"?

(I'm going to pre-emptively call bullshit on any "giving a taste of one's own medicine" response to the latter question. I'm not interested in dishonest answers.)


Ooof, never seen it that bad, but that would be really annoying and you shouldn't tolerate it.

My rule is if the help I need isn't so urgent that it requires chat, then I'll send an email.

Also if I'm doing something in response to their request then I'll always say what I'm doing when I do it, so they at least know that their request is being worked on. Kinda like Mav: Switching to guns Goose: Ok Mav: Firing! Goose Ok, hit? Mav: No - trying it again as sudo ...


Yeah, this is a really annoying habit in instant messangers, even without the long delays in response. I've just taken to not responding to messages like 'hi'. Either state what you want or I'm not going to interrupt my workflow to ask. (that said, I don't mind (and may appreciate) pleasentries included along with useful questions or information, even on bug reports, just don't add more round-trips for the sake of them).


"Good morning" in chat is not a pleasantry. It is a demand for the other person to switch to synchronous communication and attend to their conversation ahead of everything else the other person has to deal with. Respect for others' humanity implies respecting their time first of all.


I'll note that you didn't start your response here with pleasantries, and no one else has, either. By leaping at the opportunity to condescendingly explain human behavior, you've slipped into attacking a strawman. Take your passive aggressive yikes elsewhere.

Being delayed by a "good morning" from an oblivious coworker? More than just annoying. (Obligatory "pleasantries" from coworkers who otherwise take glee in making you miserable and obstruct you for sport? Much, much worse.) We're not friends--we're coworkers, at least nominally, and I probably have a stack of shit this high to deal with--that you may or may not be the cause of. How about this for being "nice": don't force me into dealing with your bullshit, against my wishes. Where's your recognition that I'm a human with feelings and needs?


You're unable of living in real life if you can't exchange pleasantries. It's kinda sad for some of us introverts out there, but the reality is that these things can do a lot for even simple things like job mobility in the subconscious sense. You may get mad at someone for interrupting your work for instance, but saying hello and goodbye and thank you does wonders for getting people to like you more, being able to tell someone to stop bothering you when you need it, and even in what people perceive as personality.


So you're doubling down on condescendingly explaining how to human. Cool.

Consider this: I have a high emotional IQ and acutely understand whatever lesson you think you're imparting here, I just don't have the kind of bullshit budget required in this context.

Here's the obvious consequence that no one ever seems to get, even with having it explained to them: if I'm going to have to start dropping things on the floor and make some people unhappy, guess who I'm going to choose to be the recipient? All the people most responsible for squandering the resources that were available.


Are you sure you're not dealing with a lot of burnout right now?

Your call, your problem, I've no stake in it either way. I don't need an answer here, although don't let me stop you if you feel the need. I'm just saying, is all, because the kind of analysis you're describing reminds me of the way I tend to get thinking when I'm too burned out to have realized yet how burned out I am.

Maybe I'm wrong to make the comparison, and in fact I kind of hope I am, because you sound like you're in a bad way.


> Consider this: I have a high emotional IQ

Given that you felt the need to say that, you might want to reconsider whether your powers of self-diagnosis are as accurate as you previously thought.

> I just don't have the kind of bullshit budget required...

> ...if I'm going to have to start dropping things on the floor...

...then you've already failed. The goal is to never get to that point in the first place. Perhaps if you spent some of your "bullshit budget" sooner, it wouldn't have even occurred to you to make plans for throwing a tantrum.

Civility is incredibly cheap and has a multiplier effect on most other human resource metrics—such as productivity, enthusiasm and loyalty.


> Given that you felt the need to say that, you might want to reconsider[...]

You're responding to an anonymous comment on a message board with zero IRL context. Consider your own ability to diagnose here.


I didn’t offer a diagnosis.


The remark "you might want to reconsider whether your powers of self-diagnosis" is not using "consider" in the same sense that I used it in the comment you're replying to. You are not really asking me to consider anything. You are mirroring the word choice, but the thrust of your comment is an argument that my comment is probably not true, and that it is almost self-invalidating.

Perversely, you are doing exactly the thing that the statement "Consider this: I have a high emotional IQ" is exhorting you not to do, which is to tunnel vision your way to one of the possible outcomes--the one where it isn't true--and then try to reflexively use it to justify the starting position that leads to that outcome. You are failing to consider the counterfactual.


You wrote all that to tacitly admit that you had failed to convey your point effectively. Cool.


That marks attempt #3 here at begging the question.


If you can describe how what I said fits the informal fallacy of begging the question, I'll concede all disagreements, accept that you're correct in everything and donate AU$500 to a charity of your choice.


I don't see how I'm being condescending or doubling down?


I suspect they mistook you for the last poster, eropple.


> how to human


That's not a quote from me? I think you're just proving my point.


You're right, it's my quote--where I gave an inline description about what was condescending about it. Since you asked, I repeated it.


But I never said that? I was asking what part of my description was condescending, not what part of your description was condescending.


> I never said that

I know. I said it. Why am I having to repeat this?

> what part of your description was condescending

What? I'm not saying my description was condescending. It is a description of your reply. It pinpoints what was condescending about that reply. You are "leaping at the opportunity" to explain "how to human". This is condescending. It would be like if I launched into an explanation about why it's a good idea to shower and maintain good hygiene, as if you needed to be told that body odor can be unpleasant for other people and might make them not want to be around you.


Hi, good evening, you seem like a dick. Bye now.


24k rep on HN, you should know that's not how we converse here, regardless of whether or not you agree with GP.


I stand by my assessment of GP, but that's beside the point. You're right, and I apologise.


I wouldn’t apologise. I strongly respect the social rules of hacker news but they are by no means perfect and tend to break down in the face of a well calibrated troll.

This particular variant is the verbose non sequitur anti-pattern. It’s effective because it generally can’t be identified at a glance. It requires a lot of contextualised reading. This means it gets few down votes, the canonical sign of disapproval here.


> I'll note that you didn't start your response here with pleasantries, and no one else has, either.

There are obvious differences between expressing an opinion and asking others to do something for you. Understanding that distinction makes this apparent contradiction entirely explicable.


Actual problem: not understanding the distinction between a bug report and form meant for "asking others to do something for you".


Actual problem: believing that the distinction between those two is relevant.


This is the second instance of an attempt on your part to use circular reasoning so that it might be impossible to argue with you. It's clear now that you're just here for the conflict, and not (sound) resolutions. This is a dead end.


If you can describe anything about my argument which soundly qualifies as circular, I'll concede all disagreements with you, accept that you're correct in everything you have said and I'll even donate AU$500 to a charity of your choice.

> It's clear now that you're just here for the conflict

Says the person who thinks that basic, pro forma civility requires a "bullshit budget."


You know all those jokes that people like Linus make about Real Programmers—the ones who have hair on their chests, etc—you know those are all jokes, right? Jokes in the laughing-at-them sort of way, the way Colbert did it—not something that you're supposed to unironically buy into.

> If someone interested in a compiler doesn't download it, it's not a excuse, it's a filter. Or a warning sign.

You're so invested in gatekeeping that you're confusing the point of research with technofetishism.

Here's what Joe Armstrong had to say in "The Mess We're In":

"I downloaded this program, and I followed the instructions, and it said I didn't have grunt installed! [...Then] I installed grunt, and it said grunt was installed, and then I ran the script that was gonna make my slides... and it said 'Unable to find local grunt'."

Looks like someone needs to go dig up Joe and let him know that the real problem is that there was a mistake in letting him get past the point where he was supposed to be filtered out.


Write a compiler in a strongly typed language, and then remove all the type annotations. This may come as a shock, but this is what a compiler (or any codebase) could look like when developed in a weakly typed language.


> Write a compiler in a strongly typed language, and > then remove all the type annotations.

Help! That's what I did. I chose to write the compiler in OCaml, a language that's already ~30 years old by now. But I can not find any type anotations! What should I do? I'm stuck!


No, you're done.

> language that's already ~30 years old by now

Relevance?


ocaml is statically typed, it just uses type inference for 99% of cases. So your're wrong in this case, he got all the advantages from static typing. Errors ade found at compile time.


You're confusing strong and static typing (javascript has neither). In more sophisticated languages such as scala, C# or haskell you can let the compiler infer the types for you, and you can then ask your IDE which type that is. This way you don't need to type out all the boilerplate, you get to see what a functions signature is, and you get compiler errors rather than runtime errors.


Welcome to TypeScript.


That doesn't work if you're using types for anything beyond correctness-checking. Type-driven dispatch, for example, which tends to be used heavily in big compiler and interpreter projects. And tagged unions (or algebraic datatypes), a natural fit for representing ASTs, become more unwieldy without type-directed features like pattern matching.


> Type-driven dispatch

Smalltalk and everything since then would like a word with you.

> And tagged unions (or algebraic datatypes) [...] type-directed features like pattern matching.

Erlang and Prolog would like to have a chat, too.


I'm talking about language implementation, not features of languages implemented.


Sounds like a double standard and possibly moving the goalposts. There are strongly typed languages that don't have those features, and compiler codebases that don't use that kind of architecture. Do they get a pass or not?


I'm directly responding to the claim that you can "write a compiler in a strongly typed language, and then remove all the type annotations", and that's what compiler architecture looks like in a "weakly typed language". Compiler projects built in languages with richer typing can and do use it for purposes beyond correctness checking, and the idea that you can simply erase all the types and expect the code to work the same is a misconception.


You're pointing to cases to invalidate the claim as if that claim was supposed to be interpreted to be bracketed by a universal quantifier. It wasn't, and arguing in that way is not particularly insightful.

"You can write a compiler in a weakly typed language that resembles a compiler in a strongly typed language." Happy now?

The point, which you have ignored, is that there are strongly typed languages where the features you're relying on are not present. In fact, this is true of a bunch of the compilers that are among the most widely used in the world--ones that people are using to build projects written in C and C++ and things like the language support baked into IDEs for Java, C#, etc. So the relevant factor is not "strong vs. weak?" but rather those features (structural matching, etc) that you are relying on.

And let's be real, the original comment ("I'd rather put my hand in boiling water than develop a compiler in a dynamic weak typed language"; now flagged) was no more than a drive-by insult.


> "You can write a compiler in a weakly typed language that resembles a compiler in a strongly typed language." Happy now?

Sure, that's a better claim.

> The point, which you have ignored, is that there are strongly typed languages where the features you're relying on are not present.

There sure are! I don't think I was ever trying to say otherwise.

> In fact, this is true of a bunch of the compilers that are among the most widely used in the world--ones that people are using to build projects written in C and C++ and things like the language support baked into IDEs for Java, C#, etc.

Sorry, I'm having trouble parsing this. Are you referring to compilers of C/C++ here, or compilers written in those languages? The architectures of compilers I've worked with that were built in C++ were specifically on my mind when I wrote my comment.

> And let's be real, the original comment... was no more than a drive-by insult.

I think you're maybe reading too much into me here? I didn't write that comment you're referring to. I responded very narrowly to a claim in the light of a common misconception about how type systems factor into software architecture (namely, that they're don't do anything as long as your code is "correct"). I'm picking up a lot of hostility that I don't think I've earned.


By type-driven dispatch do you mean dynamic dispatch on more than 1 parameter? Most statically typed languages do not have this and you have to write a bunch of boilerplate to get them to pretend that they do.


No, I'm referring to things like specialization, which you'll see used in any large language runtime built in C++, for example.


So "type driven dispatch" meant only dispatch that can be decided at compile time? Is it even called dispatch at that point?


Yeah, static dispatch.


You are limited to one *.neocities.org site, otherwise it's $60 per year.


I have unlimited neocities subdomains and pay $0 a year. I must be on a discontinued plan, but at one time there was a $100 lifetime offer.


Sounds like the perfect plan. How many of the companies mentioned in this thread will be around in 10 years? I'd bet on neocities.


What makes you think neocities stands out and above?


From what I understand the motivation behind neocities is more political (humanist) than commercial. Also it's fully open-source (the data could easily be hosted anywhere else for cheap). You can read more about their stance on their blog: https://blog.neocities.org/


> I swear I didn't see factories-making-factories-making-factories until that thing was published

No? That's a pretty good description of the sort of metaprogramming that Lisp gives you, and Lispers are really enthusiastic about that kind of thing. People will dispute the parallels, but the real difference comes down to:

- non-Lisp languages being significantly less powerful

- Lisp's veneer of respectability

... which shouldn't be all that odd, considering the person who gave us "design patterns" was Dick Gabriel, a Lisper.

At least the "SingletonFactoryWorkerVisitor" programmers use a nomenclature that reflects the ontology the object is supposed to fit into.


My guess is that LISP programmers are largely a self-selected group of pretty decent hackers. I'm basing this on some exposure to Lisp Machines in the 1980s, and some Common LISP stuff in the 90s. Generally adults. LISP is my favorite language I'll never ship a product in (well, okay, after SmallTalk :-) ).

The Gang-of-Four-driven stuff I saw in C++ and Visual Basic (late 90s and early 00s) still gives me the shivers. Like, "Hey, factories are cool, let's make a bunch of them for no reason because we might need the flexibility someday." Sigh.


There is an effect where some things work well on some languages, but fail completely when translated to others because of superficially unrelated features.

Compile and run time code generation seem to be one of those things. Having a mostly pure language (even when there aren't guarantees) makes them much saner.

1 - Pre-compile time generation, by its turn seems to never work very well. And if there is developer interaction between the code generation and compiling, than it's always a disaster.


but lisp has homoiconicity so lisp factories create 1st class objects at runtime, including new 1st class lisp factory factories.


Google Reader ≠ RSS.


Hacker News was never good.


That’s right. I use an 18-year-old laptop.


> "crook" [...] Better to just not say anything if you're only parroting buzzwords.

The buzzword of 2020/2021 appears to be "grifter" and its variations.

On topic with the article and related to this is the word "dogwhistle". (The funny thing is that "dogwhistle" can itself be a dogwhistle.) It doesn't get used as much in my experience as "grifter", though, which is so wantonly thrown about nowadays that it may as well have no meaning.

I avoid using both of these words. There are better ways to say it.


Dogwhistle is one of those phrases that has been so overused in the past year that it's largely lost its original meaning.

It's like "gaslighting", which people seem to now use as a synonym for any kind of abuse. Or how people say "humblebrag" for regular brags.


'Dogwhistle' has drifted in its invocation in subtle but important ways. Originally it referred to the notion that some people would interpret coded language in the choice of phrasing or a hear a different connotation that the author did not intend.

Then it was used as a descriptive accusation by outgroup members to claim that the speaker deliberately used coded language to appeal to an ingroup.

Then it was used to describe the deliberate tactic of crafting word choice to appeal to a group while maintaining plausible deniability and avoiding alienating those not in the know.

Then it was used to disparage certain groups by claiming that the group's writers and readers were communicating in coded language by tacit agreement, to affirm among each other positions the critics considered reprehensible.

And finally it achieved self-reference by becoming a word some feel is being used as coded language by other groups to disparage them.

It's unfortunate because each shade of meaning is a useful concept that would benefit from a succinct descriptor, but 'dogwhistle' has been churned through the semantic drift to where it's a word of subjective vitriol and not an objective descriptor of anything in particular.


The use of "gaslighting" is the one that bugs me the most.

Is this entity intentionally and repeatedly lying to you in a way to make you doubt your own sanity and rely on them for determining what is real or not

......or are they just disagreeing or disputing?

Doesn't matter, if you call something gaslighting you get to be the victim and the other side can be labelled an abuser and who wants to side with an abuser?


It's also a disservice to people who have actually been gaslit, because the term is no longer descriptive for what they experienced. People just use it for any form of lying, deception, or abuse now. Or sometimes just disagreements, like you said.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: