I've generally observed latency of 500ms to 1s with modern LLM-based voice agents making real calls. That's good enough to have real conversations.
I attended VAPI Con earlier this year, and a lot of the discussion centered on how interruptions and turn detection are the next frontier in making voice agents smoother conversationalists. Knowing when to speak is a hard problem even for humans, but when you listen to a lot of voice agent calls, the friction point right now tends to be either interrupting too often or waiting too long to respond.
The major players are clearly working on this. Deepgram announced a new SOTA (Flux) for turn detection at the conference. Feels like an area where we'll see even more progress in the next year.
I think interruptions had better be the top priority. I find text LLMs rage inducing with their BS verbiage that takes multiple prompts to reduce, and they still break promises like one sentence by dropping punctuation. I can't imagine a world where I have to listen to one of these things.
I wonder if it’s possible to do the apple trick of hiding latency using animations. The audio equivalent can be the chime that Siri does after receiving a request.
During my time there (late 2000s) there was a Software Lab (6.170) that focused on programming fundamentals and culminated in a four-person, month-or-so long project. At least at the time, it was one of the more notorious courses in terms of time investment. It was common for people to live like monks during project time.
Unfortunately I heard that class was retired and there was no direct replacement, which is a shame. It was an excellent crash course in shipping.
Project courses were pretty notorious. I had a few. 2.70 (which I think is a different number now) in mechanical engineering was a HUGE time sink. [For others: was a design challenge competition with a live context.] Did another all-terrain vehicle competition in grad school which was probably an even bigger time sink.
I also took Professor Winston's seminar in college and have similar feelings about it. It was far and away my favorite class and the wisdom in his advice has only become more apparent over time. At its heart, it was really about how to understand and communicate ideas.
One of the things I treasured the most was that Professor Winston overtly subscribed to the "make topics crystal clear and broadly accessible" school of technical communication. He would contrast this against the "make things incomprehensible so everyone thinks you're brilliant" school of thought. I am eternally grateful someone biased me early in life towards the former, not just when I'm speaking but when I'm choosing what to read and who to listen to.
I've also wondered lately what he would think about the current LLM wave. I'm sure he would have had a characteristically clear and profound take. I feel the world is losing out not having his voice during the current moment.
Absolutely! Thanks for bringing this up. I remember one of his points is that people have a tendency to hide behind obtuse language to try to make their insight seem more impressive. I think about this constantly when I see writing that clearly doesn't subscribe to this philosophy. (Especially Fine Art lectures)
I grew up in the Pittsburgh area so I'm definitely biased, but I think Pittsburgh has a higher general sports literacy (especially for football) than other places I lived. Football is huge from peewee to the NFL and high school games receive significant coverage. The sportswriters seem to have more leeway to talk X and O's without losing their audience.
>As an aside, some of the highest quality stuff I see is from bloggers/amateurs who follow sports and write about it as a hobby. There are people who write a dozen or two articles a year with incredible breakdowns containing numbers, vidoes, strategy, etc and it is incredible.
I agree with this. There's some really good stuff out there. I also think it's worth mentioning Jon Gruden. He does a great job of breaking down game tape while still reaching a wide audience. I'd love to see more like him. My ultimate hope is that Peyton Manning gets his own show breaking down film (of both NFL games and his commercials).
Because muscles take energy to power and fat is storage. In the non-modern world where food was scarcer it wasn't always advantageous to increase in muscle size and therefore caloric needs. Better to carry some fat around in case you don't find food for a while.
I agree that this is the shape of the answer, but I think that fat being preferential to muscle as a calorie store leaves not a lot of room to believe that muscle had substantial other advantages to health. Now of course, it might not be having the muscle that is healthful, but the activities involved in creating it.
>1. No, you don't need to know everything... It takes maybe a week for a smart developer without a CS degree to learn what they need to know for interviews.
I just went through a job search and I didn't find this true. I think the bar on algorithms has raised significantly with all of the prep material (your book included) out there. I also found a few companies sent over "things to study" lists that were quite comprehensive and included topics that you might not even see in undergrad.
>I'm not sure what you expect here. Do you want companies to hire based on how smoothly you're able to bullshit about what you can claim to have done in the past?
I would estimate a reasonable amount of prep time prior to interviewing is around 100 hours. This is about how long it will take to brush up on and practice data structures, algorithms, DP, design questions, etc.
This is about 2 months of practicing an average of 2 hours a day, meaning you're still working a day job. I figure this could be reduced to 1 month of prep if you quit your job and have all day to yourself.
Usually these are people who are coming from companies with similar interview styles and are passively prepped by being an interviewer (for algos/coding) and designing web-scale systems (for system design).
See when I read that strip interview doc I don't worry at all. Thats what I do everyday as a software developer. I would love to demonstrate my ability in interviews like this.
These Cracking the Code interview type interviews are not even close to what we do all day everyday.
>Its not good for a professional to play a game he thinks he will lose.
That's interesting, any ideas where this attitude comes from? I feel like that's the opposite of a lot of other sports and games, where the ability to take a bad loss and come back improved is seen as an important skill.
I have no idea how to play Go but reading his responses are quite and interesting and insightful into the realm. Go does seem very different from other kinds of sport. I guess this stems from the fact that it can't be brute forced so it's very much a game that goes by feel, intuition and experience?
Go is also seen as a martial art and much of its underpinnings are spiritual in nature. It's a much different beast than chess from a cultural standpoint, hence the somewhat strange replies.
I feel like defeat in Go is much more intense, even at an amateur level. In Sport you get all these hormones throughout the game that you kind of feel good even if you lose. In Go if you lose it's a direct attack to your intelligence. Losing a Go game is really stressful (imo). But then I get really stressed when I play starcraft too.
To play go well you need balance. It requires intense emotional training. Any feeling you have during a game must be reigned in immediately because it will cloud your judgemnet and it does so in a way you cant understand.
Think of Go as a conversation. Lets stay you are having a civil conversation about a topic with someone, and the other person throws an insult in the middle. Will your next messages look the same as the ones before? Of course not, because you will be rattled, or offended, or something, and thus the tone and content of your messages will change immediately.
If that happens to you in Go, you are on a path of self destruction.
So losing a game to an amateur could be something in your mind, as an insult, that just modifies you a bit, even just temporary. But it does, so you feel contaminated.
As a relatively new player I do find losses extremely upsetting very often, unless I've only lost by a few points against someone at the same level as me; I guess I have some learning to do :)
Not really, I've seen amateur 1-2 Dan insulting the other player before leaving a game (online), or just trolling to piss off the other player. People get really childish in Go because it's hard to accept defeat in this game.
I like to think about this question in three parts: scope, depth, and originality.
The scope of the project is the size and ambiguity level. Ideally as you get more experience your scope grows. Whenever you're coming out of school, your answer to this question might be a tricky bug fix but after a few years it might be something like "we needed to build a system to flag and filter fraudulent users based on their site activity."
Depth is about how much detail you can talk about the project in. If you choose a project with a big scope, can you drill down and talk about the implementation details of each component? If you chose a bug fix, can you describe exactly what triggered the bug as opposed to just knowing what fixed it?
For originality, what about the problem made it non-trivial to solve with out of the box tools? For the fraud case above, maybe the data was stored in a format that was hard to analyze. Or maybe for people at the bigger companies there were scaling issues that requipped unique solutions. For bug fixing, maybe it was a bug that was really hard to reproduce and you had to do a lot of memory dumps and code analysis to pinpoint it.
When I finish something I like to think about it along those three axes for a little bit in case I need to recall details later.
>There needs to be parity within the matchups and across the season.
I'm not sure how widely known this is, but the actual matchups, not order and dates, are completely deterministic.
Teams play their division twice for six games. They play the other three teams in their conference with the same division standing last season (e.g. division champs will play each other). They play four teams from a rotating division in the other conference. And finally they play the remaining three teams from a rotating division in their conference.
I've always been a football fan but it took me a while to realize the NFL doesn't actually schedule rivalries like Brady/Manning every year, they just happen because those teams consistently win their division.
The matchups are deterministic. When they happen, however, is not. When making the schedules, they need to take into account rivalries (you probably don't want to have Cowboys/Redskins, Packers/Vikings, and Steelers/Bengals all happening on the same weekend), traveling, and potential playoff contenders. A game between two teams fighting for a playoff spot or division title is much more exciting in December than it is in October.
Also, for teams in the opposite conference, 2 are home and two are away. So, every team plays each team in the opposite conference every four years, but only plays them each at home every 8 years.
The workflow would be interesting. Presumably you have some hard and fast rules and then you try to encode bad/good/better rules. Let the computers churn out options. Maybe iterate with some new rules. The start going through the options manually.
I've worked on conference schedules :-) We don't use computers but it usually goes something like heuristics -> coarse optimization -> hand-tuning.
I attended VAPI Con earlier this year, and a lot of the discussion centered on how interruptions and turn detection are the next frontier in making voice agents smoother conversationalists. Knowing when to speak is a hard problem even for humans, but when you listen to a lot of voice agent calls, the friction point right now tends to be either interrupting too often or waiting too long to respond.
The major players are clearly working on this. Deepgram announced a new SOTA (Flux) for turn detection at the conference. Feels like an area where we'll see even more progress in the next year.