Even being in Tauri this application just by doing these things takes around 120MB on my M3 Max. It's truly astonishing how modern desktop apps are essentially doing nothing and yet consume so much resources.
- it sets icon on the menubar
- it display a window where I can choose which model to use
I feel the same astonishment!
Our computers surely are today faster and stronger and smaller than yesterdays', but did this really translate in something tangible for a user?
I feel that besides boot-up, thanks to SSDs rather than gigaHertz, it's not any faster.
It's like, all this extra power is used to the maximum, for good and bad reasons, but not focused on making 'it' faster.
I get a bit puzzled to why my mac could freeze half a second when I 'cmd+a' in some 1000+ files-full folder.
Why doesn't Excel appear instantly, and why is it 2.29GB now when Excel 98 for Mac was.. 154.31MB?
Why is a LAN transfer between two computers still as slow as 1999, 10ishMB/s, when both can simultaneously download at > 100MB/s?
I'm not starting with GB-memory-hoarding tabs, when you think about it, it's managed well as a whole, holding 700+ tabs without complaining.
And what about logs?
This is a new branch of philosophy, open Console and witness the era of
hyperreal siloxal, where computational potential expands asymptotically while user
experience flatlines into philosophical absurdity?
It me takes longer to install a large Mac program from the .dmg than it takes to download it in the first place. My internet connection is fairly slow and my disk is an SSD. The only hypothesis that makes sense to me is that MacOS is still riddled with O[n] or even O[n^2] algorithms that have never been improved and this incompetence has been made less visible by ever-faster hardware.
A piece of evidence supporting this hypothesis: rsync (a program written by people who know their craft) on MacOS does essentially the same job as Time Machine, but the former is orders of magnitude faster than the latter.
You can make this app yourself in an hour if you're on Linux and can do some scripting. Mockup below for illustration, but this is the beating heart of a real script:
# whisper-live.sh: run once and it listens (blocking), run again and it stops listening.
if ! test -f whisper.quit ; then
touch whisper.quit
notify-send -a whisper "listening"
m="/usr/share/whisper.cpp-model-tiny.en-q5_1/ggml-tiny.en-q5_1.bin"
txt="$(ffmpeg -hide_banner -loglevel -8 -f pulse -i default -f wav pipe:1 < whisper.quit \
| whisper-cli -np -m "$m" -f - -otxt -sns 2>/dev/null \
| tr \\n " " | sed -e 's/^\s*//' -e 's/\s\s*$//')"
rm -f whisper.quit
notify-send -a whisper "done listening"
printf %s "$txt" | wtype -
else
printf %s q > whisper.quit
fi
You can trivially modify it to use wl-copy to copy to clipboard instead, if you prefer that over immediately sending the text to the current window. I set up sway to run a script like this on $mod+Shift+w so it can be done one-handed -- not push to listen, but the script itself toggles listen state on each invocation, so push once to start, again to stop.
The tech industry has such inefficiencies nearly everywhere. There's no good explanation why an AI model that knows so much could be smaller than a typical OS installation.
I could once optimize a solution to produce over 500x improvement. I cannot write about how this came, but it was much easier than initially expected.
In theory, Handy could be developed by hand-rolling assembly. Maybe even binary machine code.
- It would probably be much faster, smaller and use less memory. But...
- It would probably not be cross-platform (Handy works on Linux, MacOS, and Windows)
- It would probably take years or decades to develop (Handy was developed by a single dev in single digit months for the initial version)
- It would probably be more difficult to maintain. Instead of re-using general purpose libraries and frameworks, it would all be custom code with the single purpose of supporting Handy.
- Also, Handy uses an LLM for transcription. LLM's are known to require a lot of RAM to perform well. So most of the RAM is probably being used by the transcription model. An LLM is basically a large auto-complete, so you need a lot of RAM to store all the mappings to inputs and outputs. So the hand-rolled assembly version could still use a lot of RAM...
But do you start onnx and whisper.cpp on fresh install / start? I did nothing. I literally just installed the app and started it without selectin a model.
Oh interesting. I totally misread the original comment, I didn't realize you're talking about RAM usage. 120MB is quite a lot. This surprises me too. There's nothing fancy going on really until the model is chosen.
I think AI compute is one of the biggest grifts of century. A capital that is being redistributed from talented people to this compute when we can clearly see it is not making a huge difference (oai vs deepseek) feels like a grift.
As a european I dont believe in European anything. I worked for European scale-ups and they are all bunch of nationalists that primarily succeed in their primary country and then fail to expand in any other country because they meet the local alternative.
The best market to expand besides your own Euro-country is the US but tthen when you enter that market you are too small of a fish to do anything.
There is no such thing as european companies. It's german companies, french companies all mainly focused on their main markets.
Every company in Europe would have some origin story and some stronghold and that's nature. I see OVH being used in Germany despite Hetzner being in place and I am sure Hetzner is being used by French market as well.
Lol. They are not paneuropean companies. All of them have different nationalities and priorities. Europeans cant work together on mega projects due to their strong nationalism.
The problem IMO is politics, not nationalism (which only enters into the politics indirectly). European integration is a half-done project. Political forces that want to finish the job get cancelled out by political forces that want to undo the progress we've already made with the net effect of nothing getting done in any direction, maintaining a status-quo that pretty much nobody wants, and nobody (nationalist or otherwise) ever wanted. And that status quo is that doing business in a pan-european way is a bureaucratic hellscape.
You can go against the current and not be nationalist within EU, "capital has no nationality" and stuff, but then French and German capital will maul you then Dutch, Swedish, Italian, and Spanish capitals will take the rest. What will remain out of it, will have no nationality.
I never said it would be easy, but if they really want it, it should be possible. Airbus, for example, is a pan-European entity, build up of French, German and Spanish companies which preceded it.
Making planes and jet engines is way different than making software, that it's not even comparable.
One is highly bureaucratic, highly regulated, credentialed with at least a M.Sc. required, top down management tied to politics, defense and academia and super slow moving needing a strong manufacturing base, while the other is fast moving, less rules based, flat hierarchy, no credential/degree required, and not tied to government policies, academia or manufacturing.
Basically, one is "safety and national security first" the other is "move fast and break things and we'll worry about the rules we broke after we have a successful product". If your comparison were true then Europe would have nailed SW too not just planes. But they didn't.
There's also the culture of failure around entrepreneurship where in the US that's considered a right of passage to try and fail at your own business, while in Europe it's shameful and can financially wreck you for life if your small company goes bankrupt.
Then there's the WLB differences. By the time European companies get unblocked from some project manager's 2 month vacation and then from the tech lead's 5 month sick leave, the competing Americans have already launched 5 different software products and pivoted the company 3 times and found a market they can capture. Long blocks in the dev process when nobody answers emails for months because of vacations and sick lave can work in Aerospace industry where Airbus has a monopoly, or other such niche industries where EU "mittlesand" companies are the only players you can buy from, but doesn't work in creating SW companies that need to be fast to market otherwise someone else eats your lunch due to an even playing field and lack of regulations that act like a moat.
Basically, you can't win a race against unscrupulous opponents who disregard regulations and prioritizes financial success at all costs when you prioritize WLB and following regulations. Straight up. The playing field is completely unbalanced here in favor of the US and China. That's why rich Europeans put their money in US SW companies instead of EU ones.
To me AI is a like phone business. A few companies (Apple,Samsung) will manage to score a homerun and the rest will be destined to offer commoditized products.
Korean conglomerates are focused on hard sciences and there is very little room to do anything else that's why they excel here. They hire from the best Ivy style schools in Korea and focus on cutting edge stuff or improving cutting edge manufacturing
Here's the catch. Because of these constraints Korean conglomerates dont create as many jobs.Korean software or services industry is almost non existent or heavily constrained to Korea.
There is also to say that Chaebols (i.e. Korean conglomerates) can do basically whatever they want because the Korean government will bail them out/give them the financial support they need.
With this, the "I need to be extremely profitable" burden is somewhat lifted, giving them the freedom to do hard R&D.
And it is true now still, with the last bribery in exchange of favors dating back to 2018 [1]
> Here's the catch. Because of these constraints Korean conglomerates don't create as many jobs.Korean software or services industry is almost non existent or heavily constrained to Korea.
What? Korea's software jobs per capita is one of the highest of all wealthy (let's say top 30 HDI) countries. Please stop claiming this sort of stuff without being familiar with the country.
Nim is a programming language for an expert programmer. The ecosystem is very small and for everything a little bit more specialized you need to make a library yourself.
That's plus for individuals but minus for languages.
Personal anecdote: I was exactly there a decade ago when I was working on Chrono, now one of best-known date and time libraries in Rust. Since I was simply my own, my design was not as good as it could have been. Of course it is still much better to have a suboptimal Chrono, but I can't deny that it remains and probably will remain suboptimal due to my design a decade ago.
This usually ends up in a situation where most of the significant libraries for the language are abandoned GitHub repos with 13 stars and no documentation ("You just have to read the code!!1!").
This. I really wanted to like Nim. I tried to learn it, but having never been a programmer before (but years of Linux admin, puppet, terraform and scripting) I found it extremely tough, and a lot of documentation is out of date and the there aren't many good examples to follow. Switched to Go and have built lots and lots of stuff in go.
Please, file bugs or complain on the official matrix room. The community tries its best to keep up the official documentation in sync with the changes.
Whenever I’m missing a library I’m usually just 5 mins away from successfully using a C library (or any library with a C API). In my years doing data analysis, signal processing, and just writing plain servers I’ve never once gotten stuck because of a missing library.
Exactly, I had tried nim but I felt the same issue.
I mean, personally I really like golang. Its actually gotten an ecosystem that functions while being able to cross compile and actually being easy enough to learn unlike rust.
I also sometimes exclusively just use typescript/python just for their ecosystem as a junior programmer. For me ecosystem matters a lot and this was a reason why I wish that more languages can create more libraries which can work.
Like the article pointed, nim is really solid language. But I'd like to see more libraries being made for it.
Sheer numbers. In Singapore there is more chinese ceos than indian.
I am not american so i wonder what is the situation like in US but in Singapore it is very visible that each race stick to its own and pushes its own up. Indians to indians, chinese to chinese, filipinos to filipinos.
SG is touted to be multicultural but what is the true meaning of this?
Singapore has government enforced racial quotas, both in housing policy and in PR/citizenship grants with the goal of maintaining a stable 75/15/7.5. So it's really not a good example of merit based
Being 'Multicultural' means keeping the peace between cultures. As much as the government loves to tout that they are a 'melting pot' where innovation happens, there isn't much going on there that is particularly attributed to being multicultural. Generally in companies you're either in the chinese culture or the western one.
I think it also speaks to the fact that without forced integration people will naturally converge to whatever is familiar to them, eventually forming enclaves.
But my impression is that Chinese Americans are pretty much white biologically and culturally by the third or fourth generation because of the high rates of interracial marriage.
And specifically one aspect of it - language. English for Indians is like a first language.
And being myself from USSR, i think there is another cultural aspect - that coming from former socialist country impact Chinese somewhat similar to how it impacts Russians.
C# has been around a long enough time and Microsoft's teams over that time have done a pretty good job making upgrading each version easy.
As long as the current leadership in the C# & .NET teams remain, it's a very safe language and framework to use. They also deserve huge kudos to API & performance improvements the past decade since moving on from .NET Framework 4.x, which still runs fine.
They also have a lot of internal & external users using it.
Oh I learned this the hard way. Managed DirectX, XNA, Creators Club, Windows Store, shared profit motive, fair business practices, Project Natal/Kinect, Azure, and finally… .Net. Yup, Microsoft loves developers… loves their subscriptions.
reply