HN user

tekdude

1,433 karma
Posts149
Comments54
View on HN
www.theatlantic.com 10d ago

The Most Famous AI Writing Tic Is Also the Most Mysterious

tekdude
15pts2
slate.com 1mo ago

The Pissed-Off Spouses Who Try to Intervene in Their Partners' Jobs

tekdude
3pts0
www.nytimes.com 2mo ago

On Blind, Anxious Tech Workers Get the Lowdown on Layoffs

tekdude
4pts0
www.theatlantic.com 2mo ago

My Son's Math Homework Is Essentially Just Pokémon

tekdude
14pts5
slate.com 11mo ago

2000s chatbot SmarterChild explains everything about our relationship with A.I

tekdude
3pts0
slate.com 11mo ago

Trello: How the project management app's update is causing customers to revolt

tekdude
23pts8
www.sportsbusinessjournal.com 1y ago

OpenAI to Sponsor Driver Alex Palou at Mid-Ohio IndyCar Race

tekdude
1pts0
slate.com 1y ago

The Bargain of Working Hard and Getting a Job Simply Doesn't Hold Anymore

tekdude
5pts1
slate.com 1y ago

A.I. job interview: Job hunting was already hard. Then came glitching HR robots

tekdude
4pts0
chipganassiracing.com 1y ago

Chip Ganassi Racing, OpenAI Announce Strategic Collaboration

tekdude
1pts0
slate.com 1y ago

"At Our Companies, Employees Just Disappear"

tekdude
24pts4
slate.com 1y ago

Music copyright claims affecting figure skating, gymnastics, artistic sports

tekdude
4pts0
www.thediff.co 1y ago

Offshoring and AI Agents

tekdude
2pts0
www.nytimes.com 1y ago

Startup Investors Push Back Against Venture Capital's Bigger-Is-Better Mantra

tekdude
1pts1
slate.com 2y ago

The Worst Possible Way to Be Rejected for a Job, This Could Have Been an Email

tekdude
14pts7
slate.com 3y ago

Purgatory With Perks: Facebook recruiters had nothing to do, then were laid off

tekdude
1pts0
slate.com 3y ago

Android/iPhone messaging compatibility: Anti-Android discrimination is real

tekdude
3pts0
slate.com 3y ago

Noncompete clauses: Companies say they need them, research shows that’s not true

tekdude
284pts100
slate.com 3y ago

What It Takes for an E-Bike Battery to Explode

tekdude
1pts0
slate.com 3y ago

Prison tech training is stuck in the past

tekdude
1pts0
slate.com 3y ago

How Big Tech Deluded Itself and Got into This Mess

tekdude
2pts0
slate.com 3y ago

My husband was right about DVDs

tekdude
324pts405
slate.com 3y ago

The FTC Is Right: Noncompete Agreements Are a Scourge

tekdude
49pts0
www.theatlantic.com 3y ago

Analytics is American Football's new Bogeyman

tekdude
1pts0
slate.com 3y ago

The Bad Bet Tech Companies Made That Got Them into This Mess

tekdude
1pts0
www.washingtonpost.com 3y ago

Airbnb is more successful than ever. Why is everyone so mad at it?

tekdude
24pts20
www.openmindmag.org 3y ago

Ockham's razor: how the rule of simplicity can lead us astray

tekdude
1pts0
www.nytimes.com 3y ago

From boom to gloom: Tech recruiters struggle to find work

tekdude
2pts0
slate.com 3y ago

Why fast food is racing to ditch the dining room

tekdude
5pts2
slate.com 3y ago

Everyone should join the “cult of privacy”

tekdude
3pts2

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.

https://www.pulselyre.com

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.

Apollo Layoffs 4 years ago

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.

It's written in C# and runs on top of WPF: https://tinyurl.com/upbeatui

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.

Edit: Typo fix

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

Except the squeeze failed at $400, and short interest was still above 100%

It's likely that as the price rose, the funds and investors that were shorting at the pre-squeeze prices were forced to close their positions at a loss. Then, they (or other investors) opened new short positions at the inflated higher prices, thus keeping the overall ratio high.

At my last position, everyone got an email in mid-December saying that the company would be giving each employee a holiday gift... just click the link to select one from the options. It seemed very out of character for the company, so I ignored it.

Many people were upset to find out that the free gift was, surprise, extra security refresher training.

I posted this in the Side Projects discussion about a week ago, but I'll post again here.

Pulselyre: A touch-screen synthesizer app for live music production - https://www.pulselyre.com

The concept is to create 'instruments' in the editor (2nd screenshot) by building a pipeline/graph of basic modules that create and transform audio based on user X/Y touch coordinates. Then, lay several instruments out on screen and use your fingers to loop sequences of notes live on stage. The demo video ( https://youtu.be/Qk85IrgXRj0 ) shows how that part works (I'm not a musician).

I showed it on some music production forums and to friends who dabble... but I had made a terrible mistake from the beginning. Since my audio engine was custom, I didn't have compatibility with existing VST plugins. No producer would use a synth app that didn't support their favorite plugins, and no plugin developers would switch to a new system that had no users (my engine was also extensible). I looked into adding support, but VST's architecture is too different from my mine... One suggestion was to remove the audio engine entirely and just make the app a MIDI front-end/sequencer for other synths. This is something I might do in the future, though the limitations of the MIDI protocol would mean removing a lot of functionality. I'll probably open-source the project some day, but I need to clean up some things in the code first.

I created a custom UI manager for the app and decided to split that off into a separate open-source Windows UI framework. I still work on it and have used it for other small utility apps: https://tinyurl.com/upbeatui

Pulselyre: A touch-screen synthesizer app for live music production - https://www.pulselyre.com

Spent a few years experimenting with touchscreen UI and audio synthesis in my free time on and off, and eventually settled on an engine and interface design. The idea is to create 'instruments' in the editor (2nd screenshot) by connecting basic modules to create and transform audio based on user X/Y touch coordinates. Then, stack a bunch of instruments on screen and use your fingers to create and loop sequences of notes live on stage. The demo video ( https://youtu.be/Qk85IrgXRj0 ) shows how that part works.

Once COVID hit, I was sent home to do nothing with full pay, so I had free time and decided to power through and create a functional MVP and website. My plan was to get some beta users, polish it up, add missing features, and then start charging. I showed it around on some music production forums and to friends who dabble in it, and got terrible feedback: 1. Too hard to use; 2. not compatible with existing plugin systems; 3. terrible demo video (I'm not a musician nor an expert on creating cool synth sounds); 4. "touch screens are *"; 5. nobody wants to do live production; 6. it sounds terrible

Of those responses, #2 was the killer. Without compatibility with existing synth plugin frameworks, like VST, it was pretty much dead in the water. No producer was going to use a synth app that didn't support their favorite plugins, and no plugin developers were going to switch to an application with no users (I built my own custom plugin framework for it). I looked into adding support, but VST uses such a completely different architecture from the synth engine that I created that they couldn't really work together in any sensible way. One suggestion I got was to remove my synth engine entirely and just make the app a MIDI front-end for other synths, which is something I might do in the future, though the limitations of the MIDI protocol would mean removing a lot of functionality. (I have a new WFH job now, so no more unlimited time.) I'm also thinking of open-sourcing the project entirely, but I need to clean up some things in the codebase first.

I did decide to split out the UI manager that I created for the app into a separate open-source Windows UI framework, which I still work on and use for other small utility apps that I create: https://tinyurl.com/upbeatui

If I were to do it again, I'd have started with support for existing VST plugins or MIDI and worked from there. I also wouldn't have wasted so much time figuring out auth stuff. The only costs were the domain and VPS hosting.

Billionaires Build 6 years ago

I think one issue with this viewpoint is that while a successful company may be doing wonderful things for its users... not everyone is a user. Even the users themselves are not users 100% of the time. So, even if a company is not actively exploiting its workforce, customers, or suppliers, it might be exploiting its non-users without ever giving them much opportunity to object.

Again, Airbnb is probably the best example: users who book stays and users who rent out rooms/homes may love the service, but other people who live in those neighborhoods or buildings may not. Airbnb overrides those objections by exploiting a few issues: ambiguities in local laws; inadequate enforcement agencies who cannot handle the number of listings in their area; the inability of local residents to sufficiently organize and force their local governments to prioritize enforcement, etc...