In my 40s. I feel that way too sometimes. My advice: try new things! I just started motorcycling; signed up for MSF course, got a used bike and it’s awesome. I play beer league hockey and that one night a week playing and being with the boys is precious (and theuropeutic…in a house with only daughters and wife lol). Snowboard in the winter…got my kids into skiing…golf in summer…LeetCode for fun to keep my mind/coding sharp. You get the idea. My day job (Android coding) is kinda mundane and is really just for the paycheck…and so my personal philosophy of life is to keep trying new things, diverse things, not being afraid of new things, and just going for it. I’m never bored and I don’t sweat things like “legacy” and whatnot. Enjoy life!
I'm in my 40s doing the leetcode grind, but weird thing is, I'm actually ENJOYING it. I get a little high when I solve a problem, and I feel good about re-learning / re-discovering data structures and algorithms that I just don't use on a day-to-day basis. I paid for the premium version and enjoy reading the solutions and maybe learning a new trick or algorithm technique or whatnot. And who knows, maybe something that I learn when grinding on some leetcode problem will actually be useful in my day job? Thinking about it, if I ever do land a MAANG job, I don't think I'll stop doing leetcode problems. Sure, I won't go crazy with it like I'm cramming for mid-terms or something, but I'll still hack on them for the pure joy of problem solving, for the sake of problem solving.
I guess where I'm going with this is, maybe change your thinking about leetcode? Don't think of it as a necessary evil in order to land a high paying job that you dread doing each night; look at it as a fun little hobby, with the nice side-effect that you're keeping your data structure knowledge, algorithms and general problem solving skills sharp.
I'm also in my mid-40's and did the leetcode for a MAANG interview a couple years ago. I also looked at it as a thing I'd spend some time on every now and then to shake off the rust and to practice for the hiring process itself.
Like my past studying for SAT or LSAT, it was as much about preparing myself for the test itself vs. trying to gain some specific knowledge. Time management, making sure to test, and knowing that there are almost always naive vs. optimized solutions for these types of problems and learning how to quickly identify the naive solution (i.e prove I can solve) and then figuring out the optimization.
In any case, I enjoyed the process and didn't really practice more than 10-15 hours. I literally just kicked off the rust and got used to managing time. If you get too deep in to "I've optimized systems to process millions of transactions/second, and some 25 year old is sweating me on hashtables" you're going to have a bad time.
The ironic part of the interviews at this level of experience was that the coding portions ended up feeling tough, but I was able to talk work through them. For one company, one of the two system design round was with someone who couldn't have been more than 3 years out of college (with PhD though) and had only been at that big company. That was my hardest interview because the person I was talking to had zero to little actual experience there. They knew the problem and expected answer, but didn't know the space. It was VERY HARD to talk about things that they very obviously didn't understand in terms that they did understand without sounding condescending.
So you got offers from FAANG with only 10-15 hours of actual practice? That’s an exceptionally low amount of practice.
But I hear these stories over and over - the variance is so wildly high. The people who spent the same or more hours studying and didn’t get an offer tend to not talk about it though. So, sampling bias issue.
I'm a little older, and I also do leetcode for fun/practice and find I get a lot out of it.
Have not done a leetcode-style interview yet, and might never do, and might not pass if I do do, but just as a scratching post for your coding claws I think it's awesome.
Great article, love Clojure. Was trying to figure out what Nanit does. Might want to consider putting a link to the Nanit homepage on your engineering page. When just typed in nanit.com and saw the baby monitor tech, I thought maybe I went to the wrong place, until I saw the logos matched. Anyway, good read, but please put a link to your home page on your engineering site, or, put a 1 liner in the opening of your blog giving context to what your company does.
> Note that CORS preflight requests are not made for GET HEAD POST requests with default headers.
I really wish the author included an explanation for this. What are "default headers"? What special header(s) needs to be on the request in order for a preflight request to be made?
For your specific question, this is the relevant section of the above link
----
Apart from the headers automatically set by the user agent (for example, Connection, User-Agent, or the other headers defined in the Fetch spec as a “forbidden header name”), the only headers which are allowed to be manually set are those which the Fetch spec defines as a “CORS-safelisted request-header”, which are:
Accept
Accept-Language
Content-Language
Content-Type (but note the additional requirements below)
I think it's just called the "broken stick" rule. Specifically, if you break your stick, you HAVE to drop it on the ice immediately and be done with it. If you even skate back to the bench holding it, you can get called for a penalty.
I have seen maybe a total of 15 minutes of hokey in my life so sorry if the question is dumb, but I would expect that there is a risk to stumble upon the stick?
In volleyball, if a ball rolls within the court, the play is stopped immediately (this happens quite often when you play on several courts side by side)
The answer to 'what happens if' in ice hockey is 'play goes on' more than in any other I'm aware of, I think it's great.
'Substitutions' being on the fly too (and <1m apart), there's just something kind of raw and basic about it. Obviously there's loads of rules, but the general gist/feel of it just seems a lot more.. I don't know, 'informal', or something, than other games.
It's actually not quite so simply as the ref near it grabbing it. Depending on the play, and where the broken stick is at, the ref may elect to leave it be. I've seen broken sticks get 'accidentally' kicked/nudge near, or in front of the net which causes a sort of clean pass prevention '6th player'. The ref is generally reluctant to get too into the middle area of the play so a broken stick can become a sort of extra player out there. It's a kind funny/unique situation that doesn't happen that often.
Intentionally moving a broken stick to block or possibly block the puck is also a penalty. It is one of the more "judgment call" type calls a ref can make.
It stays on the ice until a whistle, then an official takes it off the ice. It can interfere with play, such as if a pick hits it, but players are not allowed to purposely interact with it.
I don't think it's fair to mention the police confrontations without all the facts / context. Simply put, based on the reporting by The Washington Post, the situation is not so clear-cut:
Why do you feel it is "the natural tendency" to make minorities feel less welcome? My natural tendency -- and anecdotally, pretty much everyone I know -- is to treat people well regardless of their race; to treat people the way you'd want to be treated.
"Natural tendency" does not mean intention. Few people intend to make minorities feel less welcome, but many more adhere to habits and cultural norms which have that effect. Here's an example from right here a couple of days ago:
Another example: where I work, I recently took someone to task for saying "your shit is broken" in a very public thread. It's a phrase I've seen too many times at this company. Sure, it might just seem casual to a California millennial, no big deal, but it can come across very differently to someone from a higher-context and more status-conscious culture - e.g. most of Asia, and therefore a significant portion of our workforce. It can have strong and lasting effects on their willingness to engage with you personally, or with the broader community.
Am I saying that we should all dumb down our language to the blandest common denominator? F* no. The important thing is to calibrate your behavior to the environment. If you know the people you're talking to, and the subject of the comment is not personal, let fly. Knock yourself out. If you're talking to someone you don't know, in front of many others you don't know, and the comment could be interpreted as personal (hint: if "you" or "your" is in it), then maybe you should apply a measure of decorum and cultural sensitivity.
Listen, I take a huge exception to the way you said things. As a minority (non-white) person, I don't need you to speak for me and me to be your pet.
In fact, your attitude is highly patronizing and condescending, the fact that you don't see it, is problematic.
Linux Kernel was being run ok so far. Sure there were rants from Torvalds which went overboard sometimes but accept it as a quirk of the maintainer and move on.
Including this COC is a huge can of worms though. Now you can be Brendan Eiche'd out of any open source project.
When that happens, perhaps you'll be celebrating a win for your progressive values but a more real happening at that point would've been loss of good open source software which some of your pet minorities could have used.
> As a minority (non-white) person, I don't need you to speak for me and me to be your pet.
Nor was I making you one. There's nothing patronizing about pointing out how language can affect different people differently. Surely you're aware that others do need and appreciate people who will use whatever advantages they have to help raise awareness of these issues. Please don't use your own personal good fortune to promote an agenda that prevents others from following you up the ladder.
I'm not sure you realize but this exact tone of discourse comes across as patronizing.
Please stop playing messiah for minorities.
Also, I'm not some super rich privileged person. As a matter of fact, I'm unemployed right now but privilege or no privilege, there's no reason to cripple good open source software which is already one of the most equalizing resources that has been produced by mankind.
" there's no reason to cripple good open source software"
Nobody is doing that. No one. That is not happening at all. I'm sorry, but people not being assholes to each other is not going to affect the quality of software in a negative manner.
You mean when someone openly says to their LGBT employees, 'You are less valuable. You are not deserving of the same basic rights as straight people. You are second class citizens'? Mozilla seems to be doing just fine.
They were not play messiah for minorities; they were explaining how some people (i.e. not all minorities) prefer to be addressed in a way different from other people -- the fact that you consider his tone patronising when I don't is proof of that. And the point of the comment is that we should keep that in mind when conversing. Because I'm doing that, I can now imagine why you might consider it patronising, and can try (not necessarily succeed, unfortunately) to make it more palatable to you.
(Unless of course you consider that patronising as well, in which case, my non-patronising advice would be: deal with it. Either way, I hope they'll still be able to make comments like the above in the future :) )
As another minority, it wasn't concerning to you that Eich actively lobbied against equal rights for a particular demographic? See, I'm tolerant of different viewpoints practiced consensually and privately; lobbying against those who don't affect your own life is a bit below the belt.
I'm sure turning public forums into language/tone correctness minefields does miracles to encourage participation from people who aren't native language speakers and aren't keenly aware of nuances western socio-political background. Miracles.
Public forums are already language/tone minefields. Non-native speakers already have to understand the dominant slang and tone cues to interpret what the "natives" are saying, putting the burden on them. Using neutral language isn't that hard, and helps relieve that burden. I never suggested replacing one set of codes with another.
BTW, sarcasm is really helpful when dealing with non-native speakers. Your sincere concern for their well being just shines through.
the question of the status quo is itself politicised. One side (progressive sphere) says people who don't belong to the normed group (cis-white-hetero-male in US/EUR) are inherently treated worse, either consciously or unconsciously (bias), and conscious effort has to be made to overcome this. Another (classical liberal sphere) says that exclusionary behaviour are the exception and most people abide by the golden rule, and that bias is small or insignificant enough to be inconsequential. There are other interpretations but I understand these are the two canonical ones. If you belong to the former you may feel the need to be conscious of your behaviours to make sure you don't perpetrate feelings of "othering". If you belong to the latter you likely feel that you don't need to treat people differently based on intrinsic characteristics. This is really the defining ideological split of current politics, IMO.
It is important to note that this isn't merely a matter of opinion. One can study the effect/presence of unconscious bias objectively and quantitatively. These studies have large error bars but they use conventional and accepted statistics.
To the extent it is politicized, it's politicized the way evolution and climate change are: groups who are politically opposed have opinions about the consequences of these studies. One or the other group sometimes finds empirical reality to be in conflict with the arguments they wish to make in support of their preferred policies.
note that I didn't suggest that the classical liberal side deny the existence of subconscious bias. Just the scale of the impact of said bias, and what can realistically be done about it (or, perhaps, the cost of attempting to correct it). There are probably people who deny the existence of bias and you're right in that they don't express a reasonable opinion.
Taken at face value, your statement seems to imply that if there is any research devoted to a topic using "conventional and accepted statistics", then no one can have an opinion on it.
I don't think you're taking it at face value. Note the word "merely".
There are typically many arguments for and against a particular policy, many costs and benefits. These costs and benefits don't hit everyone equally, which explains most of the difference in political opinion. One category of argument in the political debate is to claim that particular costs or benefits are illusory or of a different scale. The empirical evidence can show that this is false. This does not eliminate the debate. One would hope it would then proceed on different arguments, because denying empirical reality makes any resolution other than physical domination of one party by the other impossible. But even if it does, costs and benefits still fall unequally on the participants, meaning the political division remains. This difference in opinion is normal and legitimate.
[ETA I do not think it is pure coincidence that the group that believes it is more likely to win a contest of physical dominance is the one more likely to deny the validity of empirical evidence.]
>cis-white-hetero-male in US/EUR) are inherently treated worse, either consciously or unconsciously (bias)
This is hard for me to wrap my head around, because in almost any social or work environment I've ever been in, cis-white-hetero-males make up a small subset of the population.
Per sibling comment, the question of whether discrimination happens, consciously or unconsciously, is one amenable to factual analysis and is not a political question. What is political is whether anything should be done about it.
> exclusionary behaviour are the exception and most people abide by the golden rule
So the question for this has to be: when do you think the date was at which "most people" started to do this? Was it a mass conversion at the enactment of the US Civil Rights Act, or a much slower battle?
personally, I think the majority of people have acted like this (or perhaps more "live and let live") by default for a long time. However, basic morality is not the only operator of people's behaviour, and other operators can override morality such as economic exploitation, group conflict, education, stereotypical perception of other groups, and so on. Basically, it's a really complicated series of systemic issues that leads to things like racial inequality. Fundamentally I don't think people hate groups because they look different (beyond a small amount of subconscious in-group/out-group bias), they hate because of fear, conflict, they dehumanise to exploit, they misunderstand, basically just the whole gamut of human flaws driven by systemic issues in the economy, in justice, in culture and other systems we operate within. The idea that we can fix these problems by curing the symptom rather than the disease seems illogical to me.
or TL;DR: bias is mostly a learned behaviour, with probably some inherent subconscious bias from our evolutionary roots.
Do you expect me to be an expert on the moral history of every group on earth? I'm not going to specify in exact detail, but my point is that I think people naturally default to ambivalence and have to learn (or be taught) to mistreat specific groups of people.
> Does it actually matter why people hate, only that they do?
Yes, it matters if you want to do anything about it.
> Your argument seems to be that all racism etc is systemic and structural, and therefore there's no individual responsibility?
Yep, pretty much. Or at least, most racism. Individuals are responsible for forming the opinions but to make any real difference you need to take away the reason they formed the opinion.
If you want to reduce oppression at scale, you need to address the systemic issue. Do you think a racist hates some set of people arbitrarily? Or do you think he might have a (obviously invalid) reason to hate them, such as feeling they are a threat, are inferior, can be exploited, are ridiculous and so on? Dig down into those reasons and I believe you will find a systemic root most of the time. Obviously that person shouldn't hold those views, but how are you going to address the problem? Attempt to force everyone with a bad opinion to change that opinion? Or do you address the reason they acquired the perception in the first place, meaning that the next generation has less reason to discriminate? I think the latter is more viable.
Your bringing up the "golden rule" is interesting, as I there are various situations where i have felt discriminated against and in retrospect the golden rule was to blame.
If I'm in a room full of (in my case) people much posher than me, and they all treat everyone in the room as they wish to be treated, that can easily create an oppressive atmosphere. Also, if I try treating them as I wish to be treated, and can easily be seen as a troublemaker.
Now I try to treat people as they wish to be treated (within reason).
I think that's partly because the golden rule is a moral rule, not a communication one. It describes a mindset that promotes empathy, but doesn't make affordances for communication differences such as social/economic status, culture and so on.
If you are a white male working as a software engineer, your natural tendency comes from a place of privilege, and it's good to understand that fact and to understand that even if you think you're woke, you're still affected by the socialization of discrimination.
I delivered a session at JavaOne (2001?) on Ant (I was a whiz at it). Then, I had to learn Maven as it gained traction. I'm currently doing Android development, but I'm a little embarrassed to say that I don't really grok Gradle the way I do with Ant and Maven. I don't have anything against Gradle. I just don't want to spend another minute of my life learning another Java build tool. So, I stick to the Gradle defaults when creating a new project in Android Studio, and rely on SO and whatnot whenever I need to customize. Haven't been burned yet.
The biggest challenge for me when I started using gradle was understanding groovy. Once you get groovy, you get gradle. And I really like groovy now that I get it.