< Back to the archive

Like what you see? Subscribe here and get it every week in your inbox!

Issue #279 - July 14, 2024

Here are the top threads of the week, happy reading!

Top comment by padenot

The way this works (and I'm obviously taking a high level view here) is by comparing what is being played to what is being captured. There is an inherent latency in between what is called the capture stream (the mic) and the reverse stream (what is being output to the speakers, be it people taking or music or whatever), and by finding this latency and comparing, one can cancel the music from the speech captured.

Within a single process, or tree of processes that can cooperate, this is straightforward (modulo the actual audio signal processing which isn't) to do: keep what you're playing for a few hundreds milliseconds around, compare to what you're getting in the microphone, find correlations, cancel.

If the process aren't related there are multiple ways to do this. Either the OS provides a capture API that does the cancellation, this is what happens e.g. on macOS for Firefox and Safari, you can use this. The OS knows what is being output. This is often available on mobile as well.

Sometimes (Linux desktop, Windows) the OS provides a loopback stream: a way to capture the audio that is being played back, and that can similarly be used for cancellation.

If none of this is available, you mix the audio output and perform cancellation yourself, and the behaviour your observe happens.

Source: I do that, but at Mozilla and we unsurprisingly have the same problems and solutions.

Top comment by atum47

I was working for a big bank, facing moral harassment almost every day from a shitty manager. The thing with moral harassment is it don't happen out of nothing, it is gradual. The manager was testing the waters, every day making the insult a bit harder than the day before. One day he actually cursed me in a meeting with 14 other people and I decided I had enough. Reported him to HR and quit. After that I was working on a game, that I was going to try to make a living out of. I was decided not to go back to work for a while. Then, on HN I saw those to topics - who wants to be hired and who is hiring. I selected 6 openings that seems interesting to me and send an email. 4 wrote me back. 3 gave me a coding challenge. 1 Hired me. Been working with them for almost 3 years now. Great company. Really nice people.

Top comment by tinco

In addition to the advice that's given here, make sure you detach yourself from both the process and the outcome as soon as possible.

After you had your lawyer send them an angry letter (twice) and you haven't got your money after two months, you need to emotionally accept that the money is likely gone, and make sure that you are mentally capable of focusing on ensuring your financial stability.

Either set an automated mail to remind them what they owe if it's a small amount of money (i.e. less than 5k) and if it's more ask your lawyer if they or someone they know can handle the case on a fixed price basis.

And then move on. Non paying clients absolutely suck. I haven't had one that didn't pay at all (though some very late payers), but I've had friends tell stories and it can wreck your freelance experience. If you let them get to you then you'll lose the feeling of freedom and all advantages of freelancing. Accept that it's part of the game and account for it in your financial planning. If you don't the stress will eventually kill all enjoyment of being a freelancer.

(Btw, I don't mean give up. Just dissociate from the outcome. If the only fee your lawyer would take is 100%, still do it to f with the lousy client.)

Top comment by bbloomberg

Hello :) all of the resources mentioned here are great! One step I’d add to the learning part (and it’s what we did when building Jacob’s) is to spend a lot of time trying out existing implementations to determine what you like and don’t like.

For example, many of them don’t have great low end. Some are “sluggish” and need external enveloping. Getting a sense for what’s out there can help to provide a North Star when you write your own. Some classics are the Eventide H3000, IZotope Vocal Synth, TC Voice Live, Antares Harmony Engine, and Soundtoys Little Alterboy.

Top comment by 0x00_NULL

My graduate research was in this area. My lab group developed swarm robots for various terrestrial and space exploration tasks. I spent a lot of time probing why our swarm robots developed pathological behavioral breakdowns - running away from construction projects, burying each other, etc... The issue was so fundamental to our machine learning methods that we never found a way to reliably address it—by the time I left, anyway. No matter how we reconfigured the neural networks, trained, punished, deprived, or implemented forced forgetting or fine-tuned, nothing seemed to eliminate the catastrophic behavioral edge cases—nothing except for dramatically simplifying the neural networks.

Once I started seeing these behaviors in our robots, their appearance became much more pronounced every time I dug deeply into proposed ML systems: autonomous vehicles, robotic assistants, chatbots, and LLMs.

As I've had time to reflect on our challenges, I think that neural networks very quickly tend to overfit, and deep neural networks are incomparably overfitted. That condition makes them sensitive to hidden attractors that cause the system to break down when it is near these areas - catastrophically.

How do we define "near"? That would have to be determined using some topological method. But these systems are so complicated that we can't analyze their networks' topology or even brute-force probe their activations. Further, the larger, deeper, and more highly connected the network, the more challenging these hidden attractors are to find.

I was bothered by this topic a decade ago, and nothing I have seen today has alleviated my concern. We are building larger, deeper, and more connected networks on the premise that we'll eventually get to a state so unimaginably overfitted that it becomes stable again. I am unnerved by this idea and by the amount of money flowing in that direction with reckless abandon.

Top comment by xk_id

Absolutely. I have become very “AI-phobic” and any author who unironically uses, or references AI I automatically consider discredited and therefore don’t engage with the content. This is not an irrational reaction or something that can cause regret later; in relation to my personal definition of “quality” and “value”, any affiliation with AI has consistently proven to be a very reliable heuristic for what I should not be wasting my time on. Apart from memes, that is the only major benefit AI is having for me; and it is actually saving me quite a bit of time.

Top comment by zigglezaggle

Not me, but I've had a direct peer fired because they did not comply. They received recurring monthly notices for about 6 months and were then terminated (no severance or other allowances were given that are typically given to performance-based termination).

This peer was typically evaluated as a high performer during performance reviews, but was denied for their request to remain remote, and they decided to ignore the order and accept the consequences.

The organization is also actively monitoring and blocking bonuses and promos for those who are not fully ignoring the mandate but are not meeting the full expectation.

USA based financial institution.

Top comment by jononor

The use of accelerometer/gyro/IMU for activity tracking is quite well researched, including for animals. I found some papers on seizure detection for dogs using collar mounted accelerometer, though nothing for cat/feline. Based on the linked video, I think the phenomenona would be quite detectable. It might be that overall vibration every N seconds would be sufficient, but ideally you would have the energies at various frequency bands - like 0.5-1hz,2-4hz etc, as the near periodic motion is likely very characteristic - and easier to separate from regular activity. As mentioned you will need some sensor on the cat, and a gateway to get the data online. There is a bunch of DIY options, but it can be quite overwhelming and one can easily get stuck on seemingly minor things...

Top comment by radley

First, the famous quote: "Why did I quit VJing? I was the first to arrive at the event and the last to leave. I brought and set up all my own gear, worked the entire time, and I got paid less than the coat check girl." - Hyperdelic Dave

There are many ways to get into it, but for the most part it's all about direct connections.

• Network with professional VJs, lasers, sound, and lighting services. You can work freelance to produce content and/or actually play at events. You can probably get paid to make content, but you'll only be able to help out at shows (for free) until you learn the ropes and prove you're reliable. This is the most common path.

• Contact artists directly. You'd probably just have to make free stuff until you develop a good enough reputation to get paid. This is showbiz, so there's a pretty high bar.

• Try to work at a company that does visuals. It's extremely competitive and there are not that many seats available. The first two options are your best way into this later on.

• Do it yourself. Buy a projector, contact your local clubs, raves, event promoters and offer to do visuals. Plan for very long nights. Consider doing guerilla visuals around your town.

• Keep releasing content. Pitch them to VJ loop services like vjloops.com or Resolume. Learn marketing, etc. There's very little money in this, but if you get good, you'll at least make a name for yourself, which can help with the other options.

Top comment by passwordoops

Also over 40 and looking (not software, but also not following management track). Overall, I get the sense it is a tough market for most jobs right now. My only interviews have been where I have a direct in with or got the attention of the hiring manager through some other means.

Failing that, there's always tuning your CV to precisely match the job description so you pass the first automated system. So far I've been unlucky on that front. If it's because I'm not good enough at tuning, or if it is indirect ageism, I don't know...

Best of luck to you!