News for hackers. Stuff that matters.

tekdude

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.
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.)

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.
Re:What's New in C# 14: Null-Conditional Assignments on Wednesday September 17, 2025 @10:10PM (#45284240)
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...
Re:Microsoft is open sourcing Windows 11's UI framework on Saturday August 02, 2025 @03:30PM (#44770617)
Thanks, yes I'll probably have to give it another try some day. I might be confusing Avalonia and Uno, but I think I first attempted it a couple years ago, and then again last year. I remember spending a whole weekend trying to get it running but wasn't having success. Also, I was a bit turned off by how heavy the development environment was. I had to download and install a tool, then that installed more build tools and packages, and then there was also a "recommended" VS Code extension. With WPF, I've gotten used to writing XAML without a designer, so I can get by with just VSCode, the C# extension, and the .NET CLI.
Re:Microsoft is open sourcing Windows 11's UI framework on Saturday August 02, 2025 @01:59PM (#44769791)
I kind of wish Microsoft would just continue development of WPF. I've used it for years for various projects, and there is a learning curve but I've since enjoyed working with it. XAML, data bindings, ViewModels... all of it I actually like. But, WPF needs a few improvements to really make it perfect. I tried several of Microsoft's newer frameworks and the open source ones (Avalonia, Uno), but I either couldn't get the sample projects to even build successfully on my machine, or I never got comfortable with development workflow, and went back to what I know.

My big idea to fix WPF is to rebuild the data binding system to use the .NET compile-time code generation feature instead of run-time reflection. I think that would solve a lot of problems. For one, projects could do an actual AOT build of their applications (right now, you either need to rely on an installed .NET runtime or "publish" the project with a lot of .NET libraries included for self-extract, bloating the final file size). Code generation would probably improve performance quite a bit too, maybe open up the possibility to compile for cross-platform, introduce type safety for XAML bindings (rather than getting vague runtime binding errors), remove the need for so much class scaffolding, etc... I've thought about starting an open source project to do it myself, but seems like a pretty big task and I would essentially be starting a project to help with my other project which I already don't have enough time to work on...

Might be worth viewing the full list of changes in the blog post that the article links to:

https://devblogs.microsoft.com/dotnet/dotnet-10-preview-6/

One other note about simulators is that they include PID tuning (at least Liftoff does), which can be an incredibly time consuming and tedious process with a new quad if you're new to it. It's better to learn that process in a sim where you can change values and see how the results affect behavior right away. In the real world, you typically have to fly back, land, plug the quad into your laptop/phone, change the values, sync, unplug, and take off again.
Re:Ask HN: What non-AI products are you working on? on Tuesday March 26, 2024 @04:57PM (#39832764)
Laid off last fall, and while looking for a new role I've been working on an old idea I had for a MIDI sequencing app. It's meant for live electronic music production, so it's not a full DAW for composing and editing tracks or anything like that. It just records notes for different MIDI devices/channels and loops them back over a selected number of beats. There are some other features as well, like an arpeggiator, but it's pretty basic so far. I've been meaning to record a demo video with real audio, but I'm not actually a musician myself so I haven't come up with anything presentable yet.

https://www.pulselyre.com

Older »