skysight-inc/HackerNews huggingface dataset:
Ask HN: What are the most important factors to consider when moving jobs?
I work at the east coast office for a large tech company as a software engineer. I was recently offered a gig with them in the Bay Area where I'd be working within a brand new machine learning research group as an engineer. Such a job sounds amazing from a tech and career development perspective, but I'm weighing the pros/cons and finding it increasingly difficult to justify a move. My current team is also new, and I enjoy working with my teammates/manager. Furthermore, this is my first time on the East Coast and I'm enjoying the social atmosphere, have a lower COL than the Bay, and don't need to purchase expensive things like a car. The only compelling reason I can find to move is that on the new team, I'll be working directly with PhDs whom I can hopefully ask for strong letters of recommendation when I apply to graduate school (most likely a Master's Degree) in the near future.

My questions to HN -- (1) Is one more strong PhD letter of recommendation (I already have one) and experience working with researchers that much more valuable to graduate schools to justify the downsides of moving? (2) What else do people take into account when they jump ship to a new team?
There are several differences between the two:

- Vending machines don't stop displaying what they sell to show ads

- Vending machines that were not designed by monsters show you things that are not in stock anymore, this thing does

- Vending machines often aim at impulse buying in locations where you don't really have alternative. Here, we're talking about actual stores, to which people often go several times a week. That, at least to me, make it twice as frustrating when it does not work as show in the tweets.
Swift can reduce the “max time to compile a complex expression” indefinitely to force programmers to write simpler-to-compile code. /s
Here is my rather straightforward practice. I consider myself addressing both the sysadmin and the hardware-software of my existence when I speak to anyone doing this.

I generally do it at the same time of day, though sometimes I make an exception and do it earlier or later, when I feel that my presence elsewhere is important for good.

I developed it after several years of studying several different meditation traditions, attending churches, and reading religious texts.

Ideally, I do this in a quiet room, sitting by myself, but that is not always possible, and I do not demand it. It can be done internally without altering anything in the physical.

For prayer, I tend towards a three-step process of gratitude-forgiveness-petition. First, I express gratitude for all my gifts and privilege throughout the day that I can think of.

Second, I ask for forgiveness for anything regretful... Missing out on acknowledging someone. Laziness in performing a necessary task. Allowing myself to ruminate or think negatively.

Then, it is time for requests. I ask for guidance and to see clearly into my intentions to ensure that they are joyful and good. And then I express them the best I can, being mindful to not be too specific, nor too attached to any particular outcome, because I cannot see the big picture.

After this, comes the other important part. Listening for a reply. Our existence is infinitely more complex than our language and human-human interaction allows, and so it may be hard to understand or even see the message. After all, you are taking on the role of an ant asking for help from a human, except infinitely more removed from each other. It is not always peaceful, sometimes it is overwhelming and I cry.

All this knowledge repeats again and again in texts both old and new, and if you allow yourself to consider the possibility that maybe, just maybe, people who lived more than 100 years ago were not complete buffoons and idiots, it can bring peace, joy, satisfaction, amazement, marvel... Even that feeling of "time slipping away faster every day" will recede. Take it from me, I was depressed through and through for a good 15-20 years straight almost without respite.

Good luck, and I'd love to hear your experiences.

May this knowledge help you and bring you joy!
Maybe it's not all volcanoes, just the ones on ley lines.
They are seemingly small upgrades, but the logical assignment operators and visual separation of numbers are really nice to have - two things I definitely miss from Ruby.
Technically, probably yes, but the math could get ridiculous. Essentially you want to go into solid ground, and if you're in the ocean, solid ground might be miles below sea level. And reclaimed land doesn't change that. Also, if the material higher up shifts, your supports need to be able to survive the ground shifting around it, which means you need not just depth, but girth.
disable javascript for nytimes.com and you can read every article for free
Know any good apps to gamify weight training? Strava really worked for me for running, now I'd like to replicate the experience with strength training.
Where is the actual report? The referenced article does not contain a link. Where is it?
I thought it might be a patent expiration, but while searching for what that might be I stumbled across: Betsy GPU texture

https://godotengine.org/article/betsy-gpu-texture-compressor

It seems likely that the games now ship a small fraction of supported textures, and transcode at load for any unsupported devices?
Sentdex for anything python related
https://youtube.com/c/sentdex
America really shouldn't have squandered its unipolar moment as badly as it did.
I'm learning that condo associations are essentially monetizing the structure as it was built how ever many years ago, and have just about no interest in long-term maintenance or value.
The chance that "the community" will create patches and users will somehow find and install those unofficial patches is very low. We need to set our sights higher than this.
the terms actually do come from an intuitive place if you look at the underlying math. it's called a functor because it does something function-like - mapping arrows in the domain category to arrows in the codomain. in programming, we think of this as a higher-order function that lifts a function on a category (of types) to a function on a different category (of types). it's only when you try to elide that explanation that the name appears to come from nowhere.

similarly, monads bear a strong resemblance to monoids - in fact, it's the same relationship as functions and functors and it's quite precise. these intuitions only become available to you with the math, though, and programmers have a strange aversion to mathematics for people who do it day in and day out.
Tinder has completely messed up dating in terms of spontaneously meeting people. The only chance normal guys have for dating now is via their friend groups and with girls who don't use Tinder (which is still a surprising percentage in certain circles of 'nerdier' girls)
Please explain a parser monad in terms of flat map.

To be concrete, I'm talking about the kind with the semantics that if `Parser X` parses an `X`, and `Parser Y` parses a `Y`, `>>` between them parses an X then a Y. I propose that you must explain that in terms of flatMap in order to say that this is a correct understanding of monads.
why cant we set a system wide cache limit on apps? i don't need to keep 5 billion page cache on browser or reddit or youtube or whatever. for people who have fast internet, or even those who don't, cache does not work because these apps "assume" you are always connected so they break the flow if it detects no internet so cache is worthless then.
other than that, i have been requesting app devs on github, foss apps at that to have a cache limit inside so if i set to 100mb or even 0, that works
> Doesn't this mean that semantically you are using an I-beam cursor?

No. "I-beam cursor" is a description of a visual phenomenon; semantics are a separate concern.

You can render an I-beam on the right of its square just as easily as you can do it on the left.
Mechanical assistance, medical assistants. We have been doing this for decades and everyone signs a waiver regarding the “risks”
The problem is not even just safety. You can write safe C, if you are careful (and you need to be careful also for C++, smart pointers do not just magically make everything right). The point is that OP makes the point that C requires to write less code, and this doesn't even seem true: you have to remember, each time some non-trivial object goes out of scope, to call its destructor/deallocator, which results in a lot of code (which can at times hard to read, especially if you have not completely linear control flow). Looking at just the declaration is a small part of the issue.
I don't know why just saying the following block of text combined with walking through a bunch of examples and how each of the examples fulfills those properties, wouldn't be sufficient :
'
If F is a functor,
then for any A,B,C,f,g, such that f : A -> B , and g : B -> C,
(where we write composition with a semicolon so that the composition of f and g is written f;g : A -> C),
F(f) : F(A) -> F(B)
and F(g) : F(B) -> F(C)
and F(f;g) : F(A) -> F(C)
and F(f;g) = F(f) ; F(g)
(also, if id_A : A -> A is the identity on A, the F(id_A) : F(A) -> F(A) is the identity on F(A) )
'

(in case they are unfamiliar with the notation f : A -> B , then this can be explained in each of the first few examples.)

I guess it might also be good to give some counterexamples, and point out how the counterexamples fail to be functors, and why they are also not nice.
There were a 100M Native Americans just a few years before Europeans arrived. They mostly died to a plague, but there were cities with millions.
It would be very unusual for a city's headlands to be literally miles above solid ground, especially for the carribean, which is extremely shallow (hence the hurricanes).

Take a look at the Florida keys, where you can find bedrock after a couple of meters. You can even go out a mile into the sea and hit bedrock after 6-8 meters:

https://pubs.usgs.gov/pp/2007/1751/professional-paper/figure...
Is that still a thing in 2021? Switched from Ubuntu to Debian quite a long time ago (now on Arch) for this very reason.
Much of this makes perfect sense, but: can a wealthy person be trusted to make decisions (or advocate policies) that affect the entire world population? Because his thinking will be influenced by how the world affects his wealth. But he will be generally more rational in decisions in his personal life because he is financially secure enough to not be governed by fear. The reverse will be true of a poor person. Perhaps even well-meaning billionaires will subconsciously advocate policies that maintain the status quo, because it is the status quo that enabled his wealth in the first place.
Book is called “Elements of Computing Systems”. There is a second edition coming out this August from MIT Press I think.
I like using Modified Preorder Tree Traversal. In Django apps there's a pretty good plugin [1]. Makes working with lots of hierarchical data a breeze. Good admin integration as well. Hook it up to a Quasar q-tree component on the front end and things get really fancy [2].

[1] https://django-mptt.readthedocs.io/en/latest/

[2] https://next.quasar.dev/vue-components/tree#basic
No, the nationalism is a real issue, though it's not a majority view among Chinese researchers.

What Wu claims above is directly and unambiguously contradicted by genetic evidence. Han are overwhelmingly O-M122 (sometimes written as O2 or O3) which absolutely goes back to the common African ancestor. You can look up the lineage yourself on the wikipage for haplogroups. What's true is they're a fairly recent split off the "spine"

This is a settled matter, not one where HN is somehow censoring evidence based debate. The argument is fundamentally dishonest vs the evidence in total.

Edit:

Just to follow up with more useful information:

What we are learning that's overturning some conventional views from recent digs in India and across Asia is about how technology/culture diffused amongst modern humans once they were resigning there. We're finding it was more of a web than a linear diffusion as previously thought. But that's all, again, among modern humans, not evidence of independent evolution of the Han people from homo erectus.
I've heard it said that arms and legs are already a huge privilege and a lot to be grateful for.
I think category theory is just the wrong way to look at it. A category is quite an abstract thing and it takes a reasonable mathematical background just to have some good examples to work with (I don’t really think type system categories are good to work with.)

I prefer to just write down the type and stare at it and think about what sort of functions could have that type. Later you can look at the rules. And this mostly means one needs to have written a little (eg) Haskell so that the one can read simple types. The signature of fmap looks like:

fmap :: (a -> b) -> functor a -> functor b

It should easy to guess what sort of types and functions could satisfy that. The rule restricts the possibilities more:

fmap (\x -> f (g x)) a == fmap f (fmap g a)
Ad-hominem aside, I don't even know what you're getting at.

You realize that 100% of the packaging in the store is designed for that reason? And it's why everything isn't in brown paper bags?
Thanks, jerf! This is really good stuff.

One question on functor: Does the thing returned have to be "the same shape" as the original? That is, if I have a list, and I fmap on it, do I always get a list back? Or am I only guaranteed to get some kind of functor back? If I am guaranteed to get a list back, am I guaranteed that it has the same number of elements?

To use your initial language, is it fair to say that a functor takes a source of a, and a function that converts a to b, and returns a source of b of the same "shape" as the original source of a?

If it's true, that makes the function example clearer to me. Of course it has to return a function, because the shape of the input was "function".

(And, did the article answer this and I just missed it?)
> there'll be reactions from family members and friends to their excessive consumption

This happens far less than you think. Alcoholics and other addicts will seek out or only socialize with enablers. They will also seek out codependent relationships. They'll do it subconsciously because they don't want pushback against their actions.

Realizing they have a problem isn't helpful for most alcoholics. Realizing they have a problem is just another thing driving them to drink. An alcoholic's family falling apart is often just the first in a series of shitty events on their descent to their rock bottom point.

One of the big differences between alcoholism and other mental illnesses is drinking is viewed as a "normal" behavior. Unless you're counting their drinks or actively tracking their visits to a bar most people aren't going to realize the alcoholic is drinking more and more often than they think.

I know several recovering alcoholics. When they were drinking simply knowing they had a problem was useless. That's like an asthmatic knowing they have asthma and someone just expecting them to breathe better. It just doesn't work that way.
> [0] - https://youtu.be/oYp5XuGYqqY?t=349

While most of the talk is great, he just handwaves the idea that reality is not "brains and neurons," nor what physicists try to model, but he makes no effort in explaining what's the difference between "reality" and "physics."

It would be great if someone who understood that last part could explain it.
> The feature builds on Google’s recent efforts to help users with “search literacy,” or to better understand context about what they’re looking up.

> The new prompt is also part of a larger trend by major tech companies to give people more context about new information that could turn out to be be wrong.

I appreciate the effort, especially given the far greater speed with which BS is concocted and spread. Research, whether in journalism or science, is inherently slow, since there's a process to try to arrive at the truth, so the truth is often a high latency signal.

Specifically, this sounds like it's part of an effort to reduce anchoring bias [0] in users. Is there any research showing that this kind of approach is effective to help readers maintain an open mind?

[0] https://en.wikipedia.org/wiki/Anchoring_(cognitive_bias)
I'm a game dev and imo web-devs are the 'seat-of-our-pants' guys. In games we tend to use compiled and statically typed languages. They're pretty strict in what they allow and many errors are picked up by the IDE and/or prevent your code from even compiling.

Whereas javascript.. Your code could be doing almost anything yet it will run just fine. Also, cus its not compiled the IDE for javascript is much much less helpful (eg. theres no "find all references") and much more permissive.
you need fmap as well.
If the point is to look like someone who is unnecessarily rude, I would kindly request that you not do that. Please avoid throwing insults around and starting flame wars. It doesn't help anyone. We can have a good conversation without doing that.

That's great that people are doing that with FPC, but if they're continually adding new features and removing deprecated things then that's not legacy software. To illustrate further what I mean, probably none of those people can be convinced to work on other old stuff like GTK1 or GTK2, because you're really comparing apples and oranges here. If it were easy or profitable to do that in GTK, somebody would have done it already. Half the reason things changed is because the entire underlying stack changed along with the hardware -- this is not even remotely comparable to something like a self contained compiler for a programming language.

If you disagree, I'd love to hear your proposal on how to keep all the various API changes working in the same codebase without causing it to become overly complex and burdensome, and this is probably over the span of at least 20 system libraries that have all deprecated and/or removed various things over the last 30 years. From my view, part of the problem here is that there were some legitimately bad decisions made back then, that looked reasonable at the time but turned out to be not so great, and nobody really wants to keep paying for those decisions. This is not similar to something like a Pascal implementation where they could just aim for compatibility with an existing compiler from the 1970s and then build on that, these were entirely new APIs at the time and they didn't have their designs fully fleshed out, and in some ways they still don't, because the problem space is still somewhat open-ended.

You're wrong that there are no technical reasons, I assure you the technical reasons are real. Again, I can tell you if you're willing to listen, but if you're going to blanket deny they exist, we can't really have a conversation, so I won't bother typing it out. Let me know if you change your mind. In context your JWZ quote doesn't any make sense either, because Xorg got bug fixes for a very long time. It's being moved away from because it's no longer effective to keep doing that, which is the opposite of what that quote suggests. Please don't let rude and dismissive quotes like that be the guiding line of your discourse, let's actually discuss the real issues.

>If it suddenly started breaking now it wouldn't be because it is impossible to not break but because the developers somehow started breaking it.

This is the root of the misunderstanding -- there is no significant difference between these two. It's at the point where it needs a major refactor or rewrite to make continued work on it worth it, which is going to break things, and at that point writing a new display server makes a whole lot more sense.
Most people on Tinder live the fakest of lives. They may portray themselves as someone "cool" with pictures of travelling, chilling and doing amazing things but I bet their real lives aren't quite like that. They might have travelled and done a few fun things but they don't really lead zen lives. Remember the motto is to just get women.

My 2c is to stop looking at social media and try to meet people in real life. Increase your connections and expand the network from there. Your loneliness will fade away in a matter of few weeks.
> The systemd integration is currently quite bad. It's probably the source of a bunch of user complaints about systemd.

I haven't used plain Debian, but this has been my experience with Ubuntu. Almost all the problems I've run into with systemd have been because of an interaction with init.d scripts that should be systemd units, or similar. My biggest complaint is that while systemd-resolved is supposed to be optional, on Ubuntu it is practically impossible to fully disable without breaking things, and disabling is officially "unsupported". On archlinux, if you want to use dnsmasq instead it is just a matter of disabling one service and enabling the other.
That they were, though as a sibling comment points out it was apparently a mixed bag, as you really needed native apps to tap into the performance. They were slower than Intel when running software that required emulation.

So for the stuff I was interested in, namely LightWave3D, which was native, they were a big jump. If you were using Visual Studio or Office, not so much.
Do you happen to know of any programming language which has explicit support for multiple categories?
I just freakin' hate .h files...
Writing pretty much the same thing but twice and in two different places for every function. Why?!?
I would love C++ if not for them.
This was the first thought that came to my mind too - how much politics is involved in this issue as the Chinese are very much obsessed, like the right-wing in India, about their past glories and origins. (Shows how politically good a job these colonials did in breaking our self-esteem and making us feel inferior even today). Yes, many of us asians have a great and wonderful history, but aggrandising them creates a false sense of superiority that still stems from the insecurity within.
I learned C with Turbo C on MS-DOS systems for a college class.
Sedetary lifestyle might be the root cause, so the advice is probably spot on.
It's literally a therapist's job to help you figure this out, I don't want to undermine this.

Please speak to a professional, you are not alone.

In the meantime, here are some of my own "no bullshit mantras" I found comforting in similar times, mostly from Zen Bhuddism :

* You are not supposed to be anywhere. Your only real obligation is to be you, now.

* There is no "better" version of you now. There is no other way to be you now. In fact, there is no other way to be, but to be what you are.

* What you are is beautiful, no matter who you are. I don't mean the Aguilera song, I mean it's literally a miracle that you're here now.

* Everything is as it is. There's no point in feeling guilty for things being the way they are, rather than the way you or someone else would have them. In a world where time only flows one way, every "ought" is an illusion.

If you like these ideas, I highly recommend meditation, such ideas are much easier to contemplate with a calm mind. I hear Alan Watts has good talks about this available on Youtube. Mindfulness meditation has also been associated with improvements in mental health (you can find many studies about this on Google Scholar).
> Furthermore, even in Haskell, there is no such thing as the category of Haskell types[0] (because of things like divergence and partiality).

Divergence and partiality can easily be modeled by the category of complete partial orders and Scott-continuous maps. This is what you learn in, e.g., a course on domain theory and/or denotational semantics.

Andrej Bauer is mainly arguing that Hask isn't a category because no one has formally specified it. For example, we would need to come up with a policy on when two arrows are considered equal, and it's not clear what that notion of equality should be.