HN user

sfteus

347 karma
Posts0
Comments102
View on HN
No posts found.

Nearly every market worldwide was dropping in 2020 due to the pandemic.

IIRC, the drops in 2022 correlated with federal interest rate hikes and other federal policies designed to help ease inflation, with the expectation that markets would rapidly cool but avoid a larger overall crash.

Simply put, a 10% drop isn't in itself concerning if correlated with shifting market conditions. It is when those in charge are foot-gunning the market with their policies, and then threatening to double down in the face of the 10% drop they caused.

If you have 95% female applicants for a position I would expect that roughly 95% of hires are going to be female and vice versa.

I would disagree for the most part. As mentioned above, there are roles where you'll see gender bias that may not be addressable. In the OB/GYN example, I understand some women would only be comfortable with a doctor that is also a woman. That's not necessarily addressable by shoe-horning in male doctors. But again, that can be accounted for in DEI programs.

It's also more understandable to non-remote jobs. Some areas have staggeringly different demographics that could only really be changed by relocating candidates, which isn't feasible for all business. Mentioning this specifically as my company is fully remote.

Otherwise, in my opinion, a candidate pool that is 95% some demographic shows a severe deficiency in the ability to attract candidates.

These are not good assumptions. 80% of pediatricians are women. Why would a hospital expect to hire 50% male pediatricians when only 20% of pediatricians are men? If you saw a hospital that had 50% male pediatricians, that means they're hiring male pediatricians at 4x the rate of women. That's pretty strong evidence that female candidates aren't being given equal employment opportunity.

We track these, but don't establish guardrails on that fine grained of data.

In your example, it would be balanced by a likely over-representation in urology by male doctors. But when looking at doctors overall, the demographics tend to balance out, with the understanding that various factors may affect specific practices.

To give you a more solid answer, in our data we see that men are a bit overrepresented in our platform engineering roles, while women are within our data science and ML roles. General backend/frontend roles are fairly balanced. Overall engineering metrics roughly fit out guardrails. We look at the same for management, leadership, sales, and customer support.

I don't have direct data on the recruitment -> interview process on hand. I work on the interviewing side though, and can tell you anecdotally that I've run dozens of interviews and overall haven't noticed a discrepancy in the candidates I've seen. I can also say that of those dozens, I think I've only advanced 2 candidates to the hiring committee. So we seem to err on sending a candidate to interview vs trying to prematurely prune the pool down.

My company's DEI program effectively does this. The main tenets are:

- Cast a wide recruiting net to attract a diverse candidate pool

- Don't collect demographic data on applications

- Separate the recruiting / interview process from the hiring committee

- The hiring committee only sees qualifications and interview results; all identifying info is stripped

- Our guardrail is the assumption that our hiring process is blind, and our workforce demographics should closely mirror general population demographics as a result

- If our demographics start to diverge, we re-eval our process to look for bias or see if we can do better at recruiting

The separation allows candidates to request special accommodations from the interview team if needed, without that being a factor to the committee making the final decision.

Overall, our workforce is much more skilled and diverse than anywhere else I've worked.

Definitely sounds like a bad PM experience, especially with the repeated insistence about handing control of the company over to the PM.

Maybe I just have good experiences with PMs? At my company they're there to figure out what customers want and what the product should deliver, and then with our EMs to balance that with what's technically feasible and what we have capacity to implement. If an EM says "there's no way we can do that on this timeline" the PM works out some alternative plan for the product.

Anecdotally as someone with ADHD, one of my favorite features in Jetbrains IDEs is that I can double click on the tab / filename to hide everything irrelevant to what I'm looking at, and repeat to bring it all back when needed in the same state that it was in previously.

When I'm doing like a root cause sort of search by using the find window (via Ctrl/Cmd + Enter) and pulling up individual results, and using other tools such as the explorer / git history / terminal / whatever else. If I need to focus on the code I can temporarily hide everything, then bring it back up when I'm ready to move to the next result.

This isn't anti-vaccine propaganda. This is a real issue that specifically affects cats, and is extremely well documented.

In addition, this paper investigates alternative injection sites that reduce occurence while still providing the benefits of vaccination, not avoiding vaccination entirely.

It would be extremely bad anti-vaccine propaganda if that was the intent.

Anecdotally, my wife was diagnosed in the US with sleep apnea about 2 years ago. This included multiple GP visits to even get an at-home sleep study that came up negative, us having to purchase an additional at-home sleep study out of pocket that came up positive, and an overnight sleep study. The overnight results gave a diagnosis of severe sleep apnea. The entire process from start to finish took at least 3 months.

Her insurance fought every step of the way, despite having half-decent insurance as a hospital employee. They claimed that her BMI was not high enough to have sleep apnea, and ignored the family history (both parents, 3 grand parents, one sibling, three cousins).

Godot 4.0 Stable 3 years ago

Also worth noting that many of those improvements were originally made only for 4.x, but some of the contributors backported them back to 3.x. It wasn't like 3.x only got minor updates while the majority of focus was on 4.x.

In 2020, John F. Ring was the chairman, joined by William Emanuel and Marvin Kaplan. All Republicans, save for lone dissenter Lauren McFerran.

McFerran is now the chairman, and Kaplan is still on the board. Ring and Emmanuel were replaced by David Prouty and Gwynne Wilcox, respectively. Both have union backgrounds.

I can't seem to find the original case to see the board make up then.

Slack replaces in-person conversations, which have the same deficits, and many of the same benefits.

Agreed. Reading this, a lot seems to come down to culture problems that would exist whether that given office uses Slack or not, especially regarding interruptions.

I personally have felt way less interrupted from Slack/Teams in my 8+ years of remote work than I did in an office. All of my employers have understood that if I have Slack notifications disabled, I'm either "out of office" or focusing on something, and have also understood that Slack should be treated as a "something that could go a few hours without a response."

In-person, I'd just have people walk into my office and start talking without seeing if I was busy. I had multiple times where I had the door shut and lights off, and had someone pound on the door because "they could hear my keyboard and thought I just didn't hear them knocking."

Slack just lets the people who are going to interrupt you regardless do so with way less effort.

In addition to the others that have already been listed here, there's recent research pointing to elevated levels of both ANG-1 and P-SEL[1], a combination of elevated cytokines and lowered cortisol levels[2], and changes in mitochondrial proteins from neurons[3].

Biomarkers by nature can be extremely difficult to track down.

[1] https://molmed.biomedcentral.com/articles/10.1186/s10020-022...

[2] https://www.webmd.com/covid/news/20230106/researchers-hunt-l...

[3] https://www.ucsf.edu/news/2022/05/422906/long-covid-blood-ma...

From a union supporter who's spent some time reading about anti-union sentiment here, I've found it generally boils down to a few things:

1) A large portion of users on this site are entrepreneurs or in higher-level tech. For the former, unions can be seen as getting in the way of the startup lifecycle; for the latter, many believe that the value they provide makes them untouchable, or believe that the supply of high-level tech workers will never meet demand so they will simply be able to move to another company if needed without much friction.

2) Many people believe that unions spend too much time protecting "low-performers," and that a union enacting barriers to protect employees from quick firing for performance will hurt the overall team/company.

3) Many people also believe that both paying union dues, and a union negotiating for the "average" worker will lead to them making significantly less money. IE, say your company was split 75% junior/25% senior devs, and paid junior devs $75k and senior devs $300k. If the union put pressure on the employer to raise the minimum salary to $100k, then they believe that money will come out of the senior devs salaries (reducing it to ~$225k).

I can say in my experience, the first point is at least somewhat true right now (I had no issues moving to a more senior and better paid job after my last company sold out). I personally think the sentiment of point #2 is interesting; I generally don't view this as "protecting" those who should be fired, and more view it as a public defender ensuring everyone receives legal representation, even if they are clearly guilty.

I'd also just note that even I'm not blanket pro-union; Police unions are a prime example of what happens when unions consolidate too much power because they went decades without any pushback. I'd consider that an extreme outlier though.

It's been a while since I've looked at the ins-and-outs of the immune system, but doesn't this basically not hold up to scrutiny? Again, correct me if I'm wrong:

A) The general method of action of the vaccines is that the mRNA enters a cell (generally dendritic cells), the cell transcribes it into the spike protein, then the cell detects something off about the proteins and presents them on their cell wall for the immune system to respond to. The proteins aren't just "free floating" unless your immune response is

B) The likelihood of an immune response to an active infection never doing the same thing with cells that contain partially constructed virons / viron components, or achieving the same effect by breaking down full virons, is basically zero. So it's almost certain that an active infection would have "free-floating" proteins in some capacity as well.

This was one of the larger of many reasons I left my previous company, which was a holding company that owned several products with similar audiences and feature sets. They bought a new product at the beginning of the pandemic that was deemed the primary replacement for the rest.

Basically spent ~3 years as the sole developer on an application in "maintenance mode" that kept getting more customers since it supported a bunch of features the intended replacement didn't. That increased client base wanted new features in the maintenance product that leadership wouldn't turn down. The product still maintained a turn-around time an order of magnitude less than the primary replacements.

A few days before I tendered my resignation, the company had laid off about half the development team for the primary replacement (even though they had contracts promising work that was planned to take 12+ months with the full dev team), and declared a different product as the "primary replacement" for the other ones they held. Don't know how that will work out for them, don't really care either.

New place has a standing policy that basically says if we can prove a maintenance system is taking more than a few hours a month, they'll authorized repairing/replacing/removing said system. It's incredible how much of a difference it makes on employee morale not needing to constantly context shift to spend a few hours fixing some broken system over and over again.

Godot ~3.2+ has support for a slightly older version of C# via Mono, I think it's the equivalent of .NET 4.8.

IIRC (and this could be wrong / have changed since I last looked into it) the idea was to re-work this in Godot 4 to provide more like bindings, so that users could opt to use Mono, .NET 6, CoreCLR, NativeAOT, or whatever version they preferred.

I use Go at my job, and Rust in a few personal projects.

The "typical" Go nil-check would usually look something like this (no idea how code will look, apologies up front):

result, err := someFunction()

if err != nil { ...

It's nice that you're not having to litter your code with try/catch statements, or use a union type with an error value like in other languages, but the downside is that Go only checks to see whether err is used at some point (or makes you replace it with _), and it's possible to accidentally use err in a read-context and skip actually checking the value. Go won't prompt you that the error case is unhandled (in my experience)

In Rust, when you want to return a null-like value (None), you wrap it in Option<type>. To the compiler, Option<type> is a completely separate type, and it will not allow you to use it anywhere the interior type is expected until the option is unwrapped and the possible null value is handled. You'd do that like this:

var result = some_function()

match result {

  Some(x) => handle_value(x),

  None => handle_null(),
}

The compiler forces you to unwrap result into its two possible underlying types (any possible <type> or None), and handle each case, which prevents an accidental null value being passed to handle_value. Trying to pass result directly into handle_value would give you a type check error, since it's expecting a <type> but is passed an Option<type>. The compiler will also give you an error if you try to only handle the Some(x) path without providing a case for None as well, so you can't just accidentally forget to handle the null case.

(For completeness, you can also just do result.unwrap() to get the inner value and panic if it is None, which can be useful in some cases like when you know it will always be filled, and you want to fully terminate if it somehow isn't).

So in your case (assuming this is in the context of a video game), you'd make score an Option<i32> for example, then unwrap it when you needed the actual value. Generally speaking, I'd make the score returned from a saved game loading function be Option<i32> and make the actual score for the current session just an i32, then the function that handles loading a game save into the current session would handle the Option<i32> from the save file (defaulting to 0 when this is None), and we could assume that the score would be set by the time the game session is running so we don't have to constantly unwrap it within the game logic itself.

I had a very similar experience; thought it was an interesting language but I got discouraged around the time the small stuff I was working on required lifetimes, or had weird reference errors (or at least, what I thought was weird at the time).

When I tried again recently I started with the Too Many Linked Lists, which I felt did a better job of explaining both lifetimes and how the compiler views <type>, &<type>, and &ref <type> as completely different types, and that helped a ton.

Combine that with spending more time understanding how Rust handles object composition (compared to "traditional" OOP), the massive compiler improvements W/R/T lifetime elision and auto-derefing within the past several years, and realizing just how damn helpful the compiler and documentation is compared to other languages (again, thanks to TMLL for explicitly showing this), and it's been a downright pleasure to use this time around.

Anecdotally, there's something about Godot's structure that just "clicks" better for me. It's odd because they seem pretty similar on the surface (nested scene graph, nodes with scripts that have hooks, etc), so it's hard to determine what exactly makes it easier to understand.

The only two concrete things I can point to are better documentation (IMO), and the first-class signal/observer support in Godot. I'm not sure if that exists in Unity or not, but it's a really intuitive way to handle entity interaction, and I think that makes it way more easy for beginners to get started.

If you can't map things one to one from a different program or close to that through a plugin

I've only used Godot in a hobby context, but the full on C# support compared to other engines is pretty amazing. Just as a proof of concept I imported an open source C# library I've worked on that's designed to play old DOS music formats, created a small wrapper node with control functions, and I was able to control it as expected from within GDScript nodes right out of the box. Only issue I would have seen down the road would be cross-platform compatibility since the library itself was Windows only.

Caveat: I can't say I've ever got far enough in Unity to say if the C# support is of a similar scope. Godot just "clicks" better for me, so I've gotten way farther with it than anything I've done in Unity.

I have to agree with this. I moved off Windows into Linux as a daily driver mainly due to issues with docker support (pre WSL2, but even that had filesystem issues the last time I tried to used it). I recently accepted a new position that provided a Mac M1 and it's just a generally frustrating experience comparatively. Specifically, anything that involving keyboard directed window management is either non-existent or flaky at best, and a ton of functionality that it just inconsistent with the rest of the OS / applications (why is a separate fullscreen the default functionality, and why can you no longer Alt-Tab + Cmd + Tilde to a window that's been made fullscreen if you have a second non-fullscreen window open?).

Maybe my flow just isn't compatible with the OS (it feels very visual + mouse oriented), but between a previous ~2 year stint with another Mac-only job and these ~3 months, about the only thing I have to say that's positive about the OS is the spaces feature.

And like you mentioned, even when I had an ambiguous error on Linux, there was usually enough information to find a similar enough problem online to at least narrow down what I should investigate.

This bathroom had no window unfortunately, so that was the best solution I could come up without venting it elsewhere in the house.

Had something similar happen with low-level components in a PHP application I inherited repeatedly calling trim() and/or str_pad() on values that had already been processed. Refactoring those out led to a 10-15% performance boost in our test suites.

I did this for a cheap dust filter when demoing a ~7 cu ft concrete shower pan in my house. Pretty incredible how much material it pulled out of the air; I ended up running through 3-4 filters total throughout the whole process.

I quit in middle school due to a combination of it feeling like a chore, feeling like it was too "nerdy" during that age, and not really liking the teaching style of the instructor we found after moving. Definitely regret it now; I've since developed some joint issues in my fingers that make it difficult to play, and often wonder if sticking with it would have helped prevent that. Or potentially just made it worse I guess, no way to know really.

W/R/T:

but I'm also trying to figure out how to navigate the right amount of influence I should try and put on them to focus on music themselves.

Looking back, I've found the best thing that encouraged me and my siblings growing up was the interest and positive support my parents showed towards all of our interests. My mom would always comment on how much she liked hearing me play, even though I'm sure she was as sick of hearing the same song for the 800th time as I was. She was also super interested in the little gadgets I'd hack together when that started peeking my interest even if she didn't understand them at all. My dad made a point of always seeing if I wanted to help work on our cars when the mechanical aspect fascinated me, etc. And of course they remained supportive whenever our interests changed as we got older.

Married to an RN and absolutely sympathetic to the staffing/pay plight they're currently facing. I'm unfortunately not very familiar with the case of Michelle Heughins, but I've heard a lot of the RaDonda Vaught case. The high points of the case as I understand them:

* Vaught stated her department was not understaffed, nor was she tired. The incident also occurred in 2017, so pre-pandemic

* Vaught went to dispense Versed (generic name midazolam) by the brand name, instead of the generic name as they're trained to do. This led to her selecting vercuronium bromide instead

* Vaught stated she had dispensed midazolam several times before, which would have had to have been by the generic name

* Vaught ignored several warnings from the dispensing machine stating the patient was not prescribed vercuronium bromide

* Vaught ignored the red cap on the vial dispensed that stated it was a paralytic agent

* Vaught ignored that vercuronium bromide needed to be reconstituted with sterile water (unlike midazolam, which comes as a liquid). She stated she thought it was odd that she didn't have to reconstitute it before when dispensing the correct medicine

* Vaught did not scan in the medication before or after giving it to the patient, which would have likely prompted another warning about it not being prescribed

* Vaught could not recall exactly how much she gave to the patient

* Vaught immediately left the room after injection, and did not wait to observe the patient for any side-effects

All of this information is available in the DA discovery documents (https://www.documentcloud.org/documents/6785652-RaDonda-Vaug...) and the CMS report (https://www.documentcloud.org/documents/5346023-CMS-Report.h...).

The opinions on the case I've observed have been nurses who aren't aware of this and saying she should not have been convicted, and the nurses who are aware who think the conviction is fair ...ish. The latter is at least unanimous she should have her license revoked.

Most agree that Vanderbilt should be held responsible for negligence as well. My wife's hospital for instance does not stock _any_ paralytics within machines, to prevent it being accidentally dispensed without involving the pharmacy. There's also evidence that Vanderbilt tried to cover the incident up.

I've made a point of stressing to any RN I've talked about it with the importance of having a lawyer with you when talking with investigators. Vaught straight up incriminated herself multiple times during her initial interview.

Right, in the context of PHP it makes sense, as bool would imply you might need to handle a truthy value when in reality the return type of several built-in functions is result|false.

Nullable types generally work well, unless you're you have a function that may return nothing, or an error. IE findUser(string $name): ?User wouldn't be able to differentiate between a database error or just not finding a user with that name. Exceptions would work fine here (specifically due to a DB error), but seem a little superfluous for smaller functions.

Personally, I've grown to love the tuple return types of Go/Rust, and I'd love to see first-class support for that within PHP. You can emulate it by returning an array and unpacking it / using list(), but it adds a decent amount of boilerplate and you lose aspects of type covariance in always returning an array.