HNHacker News
TopNewBestAskShowJobs

crimsonalucard1

-2 karma · joined May 15, 2020

submissionscomments
crimsonalucard1··on Ask HN: If you could work remote where would you live?
It's kind of an aspect of the tragedy of the commons. If you yourself haven't done anything to contribute towards a solution then likely it's also what's going on for everyone else.

Basically everyone (me included) is just completely baffled why nothing is improving and just sitting there waiting for something to be done.

I recommend the south bay if you want to escape the poverty, it's not as bad down there.

crimsonalucard1··on Ask HN: If you could work remote where would you live?
My issue is mainly with making friends and integrating with the locals. There's always a barrier here despite being able to get by with just english.
crimsonalucard1··on Ask HN: If you could work remote where would you live?
Really? I heard that the sun really burns in the summer... so much so, that even people of African descent get sun burns. Are these places exceptions?
crimsonalucard1··on Org Mode – Organize Your Life in Plain Text
That's great but is there anything that has the best of all worlds? Low barrier to entry and maintenance of a fast workflow after years of notes?
crimsonalucard1··on Ask HN: If you could work remote where would you live?
What places?
crimsonalucard1··on Ask HN: If you could work remote where would you live?
>Considering homelessness to be a serious problem and considering homeless people to be a problem are very different (and to some extent opposed) things.

What doesn't solve problems is creating a false BS dichotomy between "homelessness" and "homeless people" as if there are two major groups of people who are actively combatting two different problems. It's ridiculous. If the people who view "homeless people" as a "problem" aren't advocating helping "homeless people" as solving the problem what exactly are they advocating?? How do you solve the "homeless people" problem without helping "homelessness?" Don't be stupid, these things are one and the same problem with the same solutions.

This is a play on words inserting false malice where there was originally and obviously no malice intended.

Instead the origin of the malice is @dragonwriter intending to use a play on words to start a witch hunt.

I think ultimately a lot of the negative stuff I said about San Francisco pissed off some people who love the city. I wasn't trying to paint San Francisco in a bad light. I was trying to shave off some of the excessive and illusory positivity of the initial post because San Francisco as great as it is, is a city with deep issues and deep problems. To solve these issues and to solve these problems one has to first admit that they exist. Acceptance is hard for many, especially those who have lived here all their lives, and I think this attack was just an aspect of that.

crimsonalucard1··on Ask HN: If you could work remote where would you live?
Either, I've been in California all my life. Looking for a change but also down for any suggestions in California but outside of major cities.
crimsonalucard1··on Ask HN: If you could work remote where would you live?
My parents are actually from Taiwan and taiwanese, but me being born and raised in CA, I would still hesitate to live in Taiwan due to the language barrier.

I'm curious why someone like you, who likely speaks even less mandarin than me would want to live there?

crimsonalucard1··on Ask HN: If you could work remote where would you live?
>I realized that everything I want to do and which is important to me is connected with the place I happen to be.

The grass is greener on the other side for me. I always feel someplace else is better than here.

crimsonalucard1··on Ask HN: If you could work remote where would you live?
I mean that's great but you left out a lot of the bad parts. Human feces everywhere, homeless people, broken needles, expensive rent...

I think south bay you get less of the above with better weather.

crimsonalucard1··on Ask HN: If you could work remote where would you live?
What place has California weather, can get by with English and his cheaper than California?
crimsonalucard1··on No Brilliant Jerks
I think you touched upon a good topic.

I feel Jerks tend to be people with little empathy for peoples feelings and high affinity for reality and the truth at the expense of everyones emotions.

While most people don't officially define a "Jerk" with the definition above, I feel that the personalities most people perceive as Jerks fit the definition above perfectly.

It's just people are unable to see past the "lack of empathy." They are unable to see that the while some actions lack empathy, they are also in line with truth and reality.

That is the ultimate question... What kind of company do you want to build or work for. Do you want a company full of yes men and people who respect others? Do you want a company where people lack respect and lay the god awful truth on the table? Or do you want something in between?

I feel to get something in between you need a few Jerks within the organization.

crimsonalucard1··on No Brilliant Jerks
Jerks exist because they've been selected by Natural Selection.

Either the existence of a Jerk helps the Jerk himself survive and propagate his genes or the existence of a Jerk within a group helps groups that contain jerks survive.

If you think about it at a very surface level. Everyone hates Jerks so why does a Jerk even exist at all? Everything a Jerk does will lower his individual chances of survival by making people hate them. Humans are social creatures and an anti-social person likely will not survive if the group hates them.

Group dynamics of humans will ultimately select out Jerks. That is unless the Jerk has something to offer beyond making everyone hate them.

Obviously Jerks exist in our world, so their continued existence must offer something beneficial to the group. What would that be?

So imagine this situation. There's a software engineer at a company who's well liked. He's super nice, friendly, good-looking BUT he's ultimately not a very good software engineer. His skills are well below average, his boss knows it, everyone who's worked with him knows it, the only people who don't seem to know it is he himself and people who haven't directly worked with him. His skills are so poor that he would be fired if he wasn't so well liked.

Therein lies the problem. His Boss likes him but is unable to be honest with him about how his skills are so horrible that he'll be fired if everyone knows about how shitty his skills are. The person is so nice and well liked that not only is his career getting protected but his feelings are being protected as well because nobody wants to be a Jerk and hurt those feelings by telling him the reality.

Then a real Jerk of a person is suddenly assigned to work with this nice guy. The Jerk immediately sees the problem and reveals the truth to everyone. The Jerk regularly says things along the lines of: "This guy is useless, he doesn't know shit, the guy can't even code properly. His code is complete garbage." The Jerk publicly says these things and reveals to everyone the reality of the situation.

These are very toxic words that introduce aggression into the workplace.

But the Jerk introduces truth into the workplace. The Jerk was the only person who tells things like it is at face value. If the Jerk wasn't there, the well liked person would continue to be in that role and function as a parasite with the person himself and most of the company oblivious to the reality of the situation.

The cost of empathy is a mask placed over reality.

If your organization doesn't have Jerks then I almost guarantee that there is very likely to be huge issues within the organization that are masked by etiquette. The Jerk is essentially telling the truth and revealing big issues at great cost to himself. It's almost a form of self sacrifice.

In my my mind the Jerk exists because he benefits the group, but his actions come at great cost to his individual survival because Jerks aren't well liked.

Additionally I would argue that the term "Jerk" is a misnomer. Someone who is explicit about the truth should not be called a Jerk, especially when the truth comes at such a high cost.

The real Jerk is someone who deliberately covers up the truth. A manipulative person is never called a Jerk. A company without a single Jerk, a company where people have nearly perfect etiquette and friendly communication is also a company with a high number of manipulative people and likely deep problems that aren't discussed.

I don't know about you, but I'd rather deal with an oblivious Jerk than a well liked manipulator.

crimsonalucard1··on No Brilliant Jerks
>“Often the board does not act sufficiently suspicious. Only a small percentage of directors are good at pushing back. They tend to trust the CEO too much”

It's not about trust. It's about politics. They may not actually trust the CEO but to keep their position and good standing they have to pretend to trust the CEO.

crimsonalucard1··on Examples of Incorrect Abstractions in Other Languages
Hold on. Instead of saying "some people" you should be more direct in what you mean. You should say, YOU and refer to me directly and have your words be inline with your intentions.

Now that being said. Go looks to me, to indeed be made by someone who doesn't know that a sum type exists. In my link Rob Pike himself admits that he didn't know about structural typing.

Additionally Rob seems to be in general not up to date on type theory. Please follow and read the link above to see what I'm talking about.

Now, that being said. Never EVER did I dismiss Rob Pikes background. He's done great things. Now I will say something exactly in line with my intentions: You have told an utter lie where you accused me of dismissing Rob Pikes reputation. I have done NO such thing.

Additionally one question. What site are you using to run a background check? doesPikeKnowWhatASumTypeIs.com? Sometimes people make mistakes. I admit the possibility that I'm wrong, but limbo is kind of an obscure programming language. It's not easy to given that they use the term discriminated union type rather then the "sum type."

I would argue that although this type is included in limbo, Rob likely didn't use it too much or know about its use case to bring errors into the type system as he could have easily used it in Go. I could be completely wrong here but one thing is not wrong:

>Some people are ridiculously daring at dismissing others's reputations without the most basic of background checks.

Accusatory language like this even disguised with "Some people" and that are additionally utter lies are not an acceptable way to start a discussion.

crimsonalucard1··on Examples of Incorrect Abstractions in Other Languages
Languages with Algebraic Data Types will help you get practical knowledge on how to use these types. Basically types share an isomorphism with algebra allowing certain types to share properties with algebra, hence the name sum types and product types.

Bool has a cardinality of two. True and False. A Product type (essentially a tuple) of two bools represents a bool and another bool and has a cardinality of 4. (True, True), (True, False), (False, False), (False, True). The cardinality of a product type is essentially the product 2 * 2 of the cardinality of both individual types. Product types represent the concept of AND: a bool AND another bool. The product type in itself is a type evaluated as the product of two (or more) types. In most languages this concept is represented as a struct or a tuple.

To remove confusion for sum types let us create a type with a cardinality of 4. FuzzyBool. It has 4 instances: VeryTrue, SortaTrue, SortaFalse, VeryFalse. A sum type represents the concept of OR. Let's see a sum type of a Bool OR a FuzzyBool (Bool + FuzzyBool). The new type can either be one of: (True | False | SortaTrue | SortaFalse | VeryTrue | VeryFalse). The cardinality is 4 + 2. Hence the term sum type.

Languages are typically asymmetric in types due to the lack of the explicitly offering the user the ability to combine types to form a sum type.

The Golang return value for functions is actually the opposite of a sum type. It is a product type. Rob Pike was likely unaware that you can create a type that is either (File* or Error) and instead utilized ((File* | null) && (Error | null)) to attempt to keep error handling within the type system. It results in IO functions having a return type with Cardinality of greater than 4: (File, nil), (File, err), (nil, nil), (nil, err) and they just expect you to ignore (File*, err) and (nil, nil) and assume it will never occur even though the type system does not restrict it from occurring.

If you want to learn this stuff imperatively I would recommend Rust, however you could miss the big picture with Rust due to the borrow checker and the option to do typical C-style programming that avoids utilizing the ADT's to the full extent of their power.

I would recommend diving into something like Haskell and getting to know algebraic data types and exhaustive pattern matching. You can avoid fully understanding Monads if all you want to understand is Sum types. Haskell will force you to utilize sum types very early on via exhaustive pattern matching.

crimsonalucard1··on Examples of Incorrect Abstractions in Other Languages
Don't forget about Go:

    func Open(name string) (file *File, err error)
Your basic Optional/Maybe monad would have worked better here.

There is a lot of evidence supporting the fact that Rob Pike and company when inventing Go were not aware of Sum types indicating that this special Tuple return type (that can never be reused anywhere and must be pattern matched immediately after it returns) was created because of lack of knowledge and not as a design choice.

See this thread as evidence: https://news.ycombinator.com/item?id=6821389

crimsonalucard1··on Examples of Incorrect Abstractions in Other Languages
It's incorrect because of consistency issues. Sum works with every overloaded + operator. This is not a Haskell thing nor is it a "personal definition" of correct. People expect a definition to be consistent, this is a generally prevalent notion that transcends the boundaries of "personal" as the general population agrees with this notion.

Due to this, under a general definition of "correct" without the context of Haskell such a thing is still classified as generally incorrect. Instead it is more accurate to phrase it as "this is Guido's personal definition of correct." Not that there's anything wrong with that but this is generally unusual and opinionated behavior encoded into python and I wish people will acknowledge that.

← PreviousPage 3 of 3