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.
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...
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.
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...
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.
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.
Anecdotally, I've heard multiple stories of companies hiring staff, but not having any useful work to fill their time. Cases like product managers being hired but not assigned to any actual products, or engineers hired to infrastructure teams before the company has decided what infrastructure it wants. Although, these anecdotes are mostly from startups trying to scale and grow, not from FAANG-tier companies.
In a previous role, during a performance review, my manager told me I had been awarded a small bonus, but also, "Don't discuss this with your coworkers, we don't do that here." I wasn't planning to, but at the same time I knew he probably shouldn't have said that... But, what can a low level employee do? There's essentially no non-losing move other than to shut up. Saying anything to anyone results in you being labeled a 'problem employee' with no further career prospects at that company as the best case, and quickly managed out at worst.
I'm not the one at my company closest to the situation, but my understanding is that even though our federated gateway is self hosted, we still pay to use Apollo's proprietary schema verification and compatibility check service. I think our front end team also uses Apollo Studio a lot for building queries, which I'm assuming costs something.
I wonder if this is in any way related to my laptop's tendency to go to sleep, get hot, and then never wake back up when the lid closed OR it put itself to sleep OR it turned the screen off... even when plugged in the entire time. These lock ups would occur every few days and always required me holding the power button to manually reboot.
Somehow, me manually putting it to sleep (through Start menu or with the sleep button) is safer (not 100% though), so my current solution is to set the Screen-off and Sleep timers to 166,000 hours (disabling or setting to zero didn't work) and also only close the lid when the laptop is (supposedly) fully off.
It's a used Asus that I bought off eBay, so I'm not too invested in figuring it out... but it is annoying.
Some thoughts, probably a bit ramble-y: For whatever reason, I don't know why, it seems like young boys have less 'intrinsic motivation' to learn and gain skills than girls. This means that if a boy wants to grow up into some career... then they need someone to guide them and provide a trajectory with a series of tangible accomplishments to get there. Without that guidance, very few boys have the ability to manage it themselves, and even fewer if the accomplishments are amorphous concepts, like 'learning' and 'understanding'. They need to see an effect of what they're learning in the real world, somehow. I don't know why... maybe to compare themselves against other students? To feel like they exist?
In the past, maybe 20-30 years ago, it seems like parents or the school system would have identified the boys lacking intrinsic motivation, and track them into something else. For example, if a boy wants to become a pilot, but doesn't know any actual pilots, there's no flight school nearby or they can't afford it, and the school doesn't have any teachers who know anything about flying, and he doesn't seem focused enough to learn on his own... then he would have been nudged into something else. Probably toward a trade or other blue collar job, which inherently have defined training programs with tangible steps of accomplishment that can keep students interested and motivated (or they won't require much training at all).
For whatever reason, that kind of tracking and nudging isn't as prevalent anymore? I don't know... Part of it is probably the push to send everyone to college, but also a general disdain for trades in the education system. Though it is true that blue collar jobs mostly don't pay as much as they used to, relative to white collar degree-requiring jobs, so I can understand that sentiment... But, no tracking/nudging means that more students are essentially being left to fend for themselves in terms of motivation, and harder today than 20 years ago. Why spend time studying a topic that won't provide any tangible sense of accomplishment for maybe 5 to 10 years... when you can play a video game with a literal 'Accomplishment' badges?
Yes, it's unfortunate that the boy who wanted to become a pilot wasn't really given that opportunity... but is it worse for him to be nudged into a different career than him for him to play video games through his teens, drop out of college, and then working sporadic service jobs? I don't know...
From my own life, I know that I was pretty unmotivated throughout school up until my junior year when I was able to take a basic programming course (not actual BASIC... it was C console apps). I didn't have the intrinsic motivation to learn coding on my own... I just wanted to play Counter-Strike and WoW. After that class though, my grades all started improving, and I did well through my CS degree and afterwards. Without that one programming course... who knows what would have happened? Or, what if I could have taken it earlier in high school? Or if my school had more than one programming course?
What's my point here? Not sure... maybe we as as a society should realize (again) that kids need real guidance in their education. Especially boys. They need to feel a sense of direction beyond just learning for learning's sake. If we're going to give every kid the opportunity to chase their dreams, then we'll need to re-think the structure of our education system. More investment to expand topics being taught, more structured curricula with periodic tangible accomplishments, more student tracking/nudging, more specialized magnet schools, maybe even boarding schools to bring students to certain training programs.
For whatever reason, a lot of girls seem to be doing fine in the system as it is. The article has some thoughts, but I can't come up with any theories myself.
I know HN has a rule about using the original as-published title, but I've edited the submission to use a tweaked version of the article's alt-title(?) that's shown in the tab bar. Admins can change it back if necessary
The original (and vague) submitted title: "The Strange New Trend That’s Enraging Hiring Managers"
Thanks. The music app code is closed. There's a public demo still online, but I got terrible feedback, so I'm slowly rebuilding it from scratch with a completely different design.
As for DI: in my case, it was definitely worth adding. The original music app didn't have it, so I had to come up with convoluted mechanisms to share cross-cutting services with different ViewModels, and it got messy. Some had to keep references to services that they didn't actually need themselves, but their child ViewModels did... With DI, I just register the services with the library, and let it inject whatever a ViewModel needs.
I was building a touchscreen music-production app for Windows, and I wanted it to have a phone/tablet style interface. It would have a stack of modal popup Views that the user could tap (or click) off of to close the top View and go back down. I ended up splitting the UI system off into a separate library and kept working on it. It now has DI (with scoping) and some other features. I've since used it for a few other small personal tools and projects, though no one else is that I'm aware of.
Just to add to this, submarines and ICBMs navigate by inertial systems. The good ones (incredibly expensive) are extremely precise. The problem with INS though is that every minuscule error compounds over time... since there is no external reference. The longer you navigate by INS, the less certain you can be. With GPS, the system is constantly getting new reference signals from the satellites (which periodically get their own from ground stations).
I used to work in a government org that tangentially supported the USAF GPS Directorate sometimes. When I left, the military was working on maybe a half-dozen serious GPS "alternatives"/"augmentations"/"backups"/"compliments", and maybe a dozen or so other highly experimental systems to provide similar capabilities.
The issue, as they saw it, was that up until relatively recently, GPS was the only option. Not only did the US military and civilians use it, but foreign forces probably used it as well... maybe even potential adversaries. In a conflict, they wouldn't attempt to disrupt GPS because doing so could actually hurt their own operations. That assumption changed once GLONASS, Galileo, and Beidou (plus the other regional networks) started coming online, all at slightly different frequencies. And, just like the US gives military-grade GPS equipment to its allies, the operators of those systems were probably doing the same, making it more likely that in a conflict someone somewhere will be disrupting GPS because they have another option for themselves.
From a civilian perspective, I'm not all that worried about GPS jamming. Yes, it's disruptive, but most organizations and systems that rely on GPS for navigation or timing (GPS is just clocks in space) should have training or failsafe fallbacks by now, to at least provide a temporary alternative. What does worry me is GPS spoofing. This is why the military has encrypted signals for its own and allied use.
I'm sure the Economist article mentioned all or some of this, but I don't have a subscription.
WPF is quite alive. I had a pretty big audio processing project using WPF a while back, and when I migrated the codebase from .NET Framework to .NET Core 3.1 (and now .NET 5), there were surprisingly noticeable responsiveness improvements. I think they also have some more improvements planned for .NET 6 as well.
Self plug: A while back, I split off my own WPF MVVM framework from that larger project. It's designed for building simple touch-style interfaces, like you would see on a phone/tablet: https://tinyurl.com/upbeatui
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.)