Recent submissions

Comment · 10 days ago
I also have an Asus laptop with sleep issues. Different sleep issues I suspect... A 10ish year old Q535UD (aka Zenbook Flip 15 I think). Mine has an issue going into sleep: it goes dark and inactive, but instead of powering down, it actually powers up and starts getting warm. Only solution is to hold the power button and do a hard reboot. It’s a different WiFi device than the article’s laptop, but could be a related issue. I’ll probably never know as I had to eventually remove the battery for safety reasons, so now I use hibernation. No issues with that.
Comment · 9 months ago
This won't be at a 5yo level, but here's an attempt: there are a two things specific to private equity that often leads to higher prices and worsening service:

1. PE aren't investors like you and me. We can go to our brokerage and buy shares of a public company, hold those shares, vote on directors and proposals, etc... Or we can buy and sell ETF/mutual fund shares that own companies. Then, we (or fund managers) can sell those shares after any period of time we want. Could be years, decades, or minutes. Whatever meets our investing goals. The same is actually true for hedge funds. We buy a a piece of a company, hold it as long as we want, then sell to take profit/loss. When PE buys a company though, they buy the whole company AND they have a specific timeline in mind. This is because PE firms are actually temporary private "investment funds": partners put in money and expect a certain return on investment after a certain period of time. At the end, that's when the fund needs to wind down and return capital + returns. So, there's already a ticking clock on anything a PE firm buys, and pressure to generate return before time runs out. They typically do this by taking a company public on the stock market (maybe again) or selling it to someone else. (This doesn't always succeed, but there are other options then, like continuation funds.)

2. PE funds also take on a lot of debt. They can't afford to buy whole companies or roll up entire industries just with their investors' funds, so they borrow a lot. Now, the companies they buy for their portfolios not only need to generate returns for their investors, they also need to do that AFTER making payments on that debt. It multiplies the pressure.

There are a lot of cases where PE bought struggling companies, and with discipline and incentives turned things around on a timeline. But there are also a lot of cases where PE bought stable but boring companies, used debt and pressure to force them to raise prices, cut services, lay off workers, and lower quality in order to generate returns at the pace required.

(Most of this I learned from reading Matt Levine columns, I'm not an expert and don't work in this industry at all, so I may have some details wrong.)

Comment · 1 year ago
One thing you can try with headphones is changing the earpads: specifically the shape, but maybe also the material. I have Shure SRH840A headphones, and out-of-the-box I was NOT happy with the sound. Someone suggested trying different aftermarket earpads, and I found a pair of "angled" pads that changed the sound quality to exactly what I wanted. I was surprised how dramatic the effect was. The pads are huge and look ridiculous, but I only use these headphones at home so it's fine.
Comment · 1 year ago
I wonder if this supports a cleaner way to throw when the target property's parent object is null? With null-coalescing assignment, you can do the following which will throw when 'x' is null:

  string x = null;
  string y = x ?? throw new ArgumentException("x is null");
It would be interesting to try something like:

  customer?.Name = newName ?? throw new InvalidOperationException("customer is null");
But I don't know how the language would be able to determine which potential null it was throwing for: 'customer' could be null, but so could 'newName'. I guess... maybe you could do:

  (customer ?? throw new InvalidOperationException("customer is null")).Name = newName ?? throw new ArgumentException("newName is null");
But the language already supports that, and it's extremely ugly...

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton