Hacker Newsnew | past | comments | ask | show | jobs | submit | zelphirkalt's commentslogin

2 theories:

(1) They couldn't imagine anyone ever closing their gloriously developed MS Teams.

(2) Since everyone knows MS Teams and sitting in meetings all day is the one most important thing to get stuff done, they went ahead and made MS Teams a "priority". F using anything else! Maybe if it doesn't release the audio input, it will be 50ms faster next call! That ought to be enough for you!


Oh, this is useful info... Another tool in the box of making other people realize how much it sucks.

It actually does or at least did, until at least a few years ago. When you opened the audio mixer (alsamixer or pulse audio control?) on XFCE, you could still see MS Teams labeled as Skype there. Not sure how it would be now, because I only ever use MS Teams isolated in a separate Ungoogled Chromium browser now, and have given up on the client for GNU/Linux.

Let's not forget how stupid the client on GNU/Linux was regarding audio devices. Every other app I had installed, that has anything to do with microphone (OBS, Audacity, Discord, Discord in Browser, Signal, ...) recognized my mic, which was connected via jack. Not MS Te-eams!!! Tada! Had to buy another headset with USB plug for Teams to get it.

I get the same issue on Mac, if it's any comfort. I had to close and reopen the app 7-8 times to have my microphone recognized, despite it worked reliably on every single tool I ever used, both on Linux and later on Mac. Teams couldn't do that either with the native client or with the web client.

And then we will get rid of them again, because some suits are telling us that we don't actually want them, that they are "complicated", we must trust them and that recursive data types are too hard to get right. Let's all write SMS again. Or better yet, send fax.

Some engineers will facepalm super hard but won't be listened to, as usual, and we will enter the next cosmic age of self-inflicted suffering.


Thankfully I only have to use Teams in very specific projects, thus I still have them. :)

I guess we could concoct something made out of PHP4/5 and jQuery and use Xampp stack, to get something worse. Or wait, I have it! We build it on top of MS Excel!

As bad and evil as MS Teams may be, I recently got invited to a Zoom meeting, and you simply can't use it in the browser! They just force you to download their shitty app to join. Naturally, I did not install crapware and closed the tab, as fortunately it was no mandatory event for me. At least in MS Teams I can isolate it into its separate ungoogled Chromium installation and treat that as a shitty app, without having to install crap onto my system.

Zoom calls work fine in the browser. They first make it look like you need the native client, but there's some dance you need to make to get the web link. Reload, wait, spin in your chair, something like that.

Of course I would never choose Zoom or Teams if I had the power, but Chromium does work with both when those are the tools your client uses.


It makes you download it but then a button appears saying join in browser. I have tons of zoom binary copies

That's how some people do their "computing" these days, if they do any that deserves the name at all. I had to do some of that on vacation. With a modern phone it's possible, but mentally taxing. Phones feel like MS-DOS operating systems, where each application is fullscreen. Most people are just consumers. This is probably true for Anki decks as well. Only a small minority creates decks, the vast majority only consumes.

The pip instructions are bad. Typical Python things: Non-reproducible, not involving a proper lock file. Cargo instructions seem not much better, since they are only referring to a tag in the git repo. The installation from "package build" leak user and password in shell history.

Overall this doesn't inspire much confidence in how solid and tested the procedure is.


The page is on GitHub:

https://github.com/ankitects/anki-manual/blob/main/src/sync-...

Full disclaimer - it's a feature which AnkiDroid supports, but isn't one which I use.


I see. I am not claiming, that it is your job to fix that.

On that page though, the same issues are present. The pip install does not make use of any lock file.

    pip install anki
Isn't a command we should be seeing in 2026. Unless it is a one-off experiment setup. There should be proper lock files, not just version numbers, especially in the Python and JS ecosystems this has become less and less acceptable.

    SYNC_USER1=user:pass ~/syncserver/bin/python -m anki.syncserver
Leaks username and password to shell command history. Again, can be fine for a one-off quick hack, but is not a great practice, since the shell command history is not the most secure place to store ones credentials in. This could be easily mitigated by adding leading " " (space), at least in environments I am familiar with, but better would probably be putting the credentials in a config file, so that they never hit the shell command history.

The repo already has a lock file for uv. It would be better to make use of that lock file, when using Python to install. And in fact, when one downloads a release of Anki for desktop and runs it the first time, it does make use of uv, creating a venv, and (unconfirmed) hopefully makes use of the uv lock file.

I see these kinds of issues very frequently in Python projects. As someone, who has previously worked on providing docker images for data science workflows, enabling reproducible research, I am quite sensitive to this. But also I hear from friends, that they are traumatized by Python projects installing things in system python and other shenanigans. In general there seem to be tons of people doing Python projects, who don't have a clear idea of how to make things safe and reproducible, which is giving Python projects in general a bad reputation. All while good solutions to these problems exist and existed for years.


In fairness, Python as an ecosystem doesn't make it clear, either. I used to write a ton of Python back in the v2 days. I came back to Python to write a web crawler in summer 2025 and couldn't believe how it was still a bunch of arcane commands to create a virtual environment and install dependencies and capture the dependencies. Yes, an IDE like Pycharm handles this (thank goodness), but jiminy crickets, why doesn't "pip" refuse to even work until you've done "pip init" which generates a requirements.txt and then every pip install should check for a requirements.txt in the PWD. If it doesn't exist, refuse to install the dep. If the file does exist, append the version of the dep to that file.

It's 2026. Even JavaScript can do this.

pip is the de facto manager for the entire language. It should be better. With Node Package Manager for JS, the installation default is at the project level. You have to do a command line override to install globally.

PIP is the opposite. In fact, the only way to install at the project level is to create a virtual environment and trick PIP into thinking it's installing at the global level!

What language operates like this in 2026? Maven installs at the project level. Unison at the project level. Haskell at the project level. JS/TS at the project level.


The goal is of course the latter.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: