"It's not built on top of web browser technology: it responds quickly to input, sips gently from computer resources, and gets out of your way."
"It's not built on top of web browser technology: it responds quickly to input, sips gently from computer resources, and gets out of your way."
To contrast, MSN Messenger 4.7, an app with similar capabilities (IM, voice, and video calling), is only ~2MB --- with several third-party reimplementations being <1MB. Makes you wonder how small you can make an app for today's messaging services if you really tried... they don't need to be that big even if they don't include an entire web browser.
MSN Messenger probably uses WinAPI and being a Windows-only program it can get away with it.
There is place for 32 bit applications but not here! The job of a program is to do what it is supposed to do efficiently and get out of the way, and it better use all registers and instructions needed to do it.
Yeah it is. You need to move 7 bits through memory and through the CPU, is it more efficient to pad it with 25 blank bits and move 32 bits overall, or pad with 57 blank bits and move 64 bits overall?
Which is doing things "more efficiently" and "better using" the hardware?
https://stackoverflow.com/questions/2378399/are-64-bit-progr...
https://stackoverflow.com/questions/324015/supplying-64-bit-...
https://stackoverflow.com/questions/2334148/is-there-any-rea...
interesting.
your cpus arent capable of 32 bit calculations anymore... so the questions is: is the software emulation of your OS for 32 bit more efficient than the programming language overprovisions.
The CPU is naturally still able to do 32 bit calculations.
What you can't do is run a 32 bit application without emulation after a 64 bit system has booted.
The libraries are obviously also required, but it still won't be able to start without the emulation adding 0 to the memory blocks.
Windows in specific uses WOW64 -- Windows 32 on Windows 64. It's an emulation layer that doesn't actually hamper performance but does do things a bit differently than a native OS -- such as running all 32bit programs in 'user mode' rathe than with elevated permissions.
You can get a brief synopsis here - https://www.techsupportalert.com/content/how-windows7-vista6...
When can I finally get rid of this stupid "Program Files (x86)" folder which annoys me every time I click into the wrong one looking for my program, when even new programs are released as 32-bit?
A 32-bit binary will work just fine on a 64-bit OS, but not the other way around, and there's no reason such an app needs 64-bit, so why unnecessarily restrict compatibility?
1. macOS will deprecate 32-bit completely soon,
2. Linux needs 32-bit libs installed on the system, and many people don't have them,
3. Windows has really good backward compatibility and still supports 32-bit. But it's the only system.
So, distributing a 64-bit-only software actually makes sense.
When I install something, if it pulls in a ton of stuff, I'll reevaluate whether I actually need it. In fact, I was pretty excited when I finally got rid of my dependency on 32-bit stuff and could eliminate the 32-bit repo.
I like 64-bit because it keeps my system clean, but because it's "better". I definitely want a 64-bit OS so some things can use more than 4GB RAM, so why have two copies of everything? Just standardize on the thing nearly everyone uses: 64-bit.
Can we stop assuming that people are always going to have the latest hardware? Even then, 32-bit SoCs running Linux are still pretty common in various embedded things and other low-power devices --- exactly the use-case for a small and native chat client.
Slack client on an embedded platform? Are you ok?
It's not native (as in native windowing toolkit), it's Qt based which is probably where most of that 30MB is going, MSN Messenger is/was built on win32. Still, in the age of electron apps that's a huge improvement, it's good to see real desktop developers still exist.
IRC as a protocol probably can be used to build a service as friendly as Slack. I.e. it's not a problem to add URL autoexpansion, like in this WeeChat plugin: https://github.com/antekone/youtube-autoexpand . Of course it's not easily possible or practical to show pictures inside of the terminal window, but I think it's entirely possible to create a new modern Slack-competitive IRC client over a pure IRC network. What could be done on IRC can be seen in an old Microsoft app, Microsoft Comic Chat: https://en.wikipedia.org/wiki/Microsoft_Comic_Chat .
(disclaimer: i prefer IRC to Slack/Discord but I get why for many people IRC is a bad idea)
Whereas posting images directly into the chat window and having everyone see it is insanely useful.
Anyway I think saying that it's "insanely" useful is a gross exaggeration. You know what is insanely useful though? Having open source clients and access to logs without paying $100 per year per user.
Image pasting is for more than just memes. We can post screenshots of errors, or user data/visualisations, or sections of syntax-highlighted code. All of this is infinitely more agile than going through a bulky ticket system (which we also use once we’ve confirmed as bugs or decided how to use forwards). So no, it’s not an exaggeration at all.
IRC was fun in the 90s but seems to have stopped there? It was also never ~at all~ friendly for non-technical users, which is a complete non-starter nowadays.
-MemoServ(MemoServ@services.)- ***** MemoServ Help *****
-MemoServ(MemoServ@services.)- MemoServ allows users to send memos to registered users.
-MemoServ(MemoServ@services.)-
-MemoServ(MemoServ@services.)- For more information on a command, type:
-MemoServ(MemoServ@services.)- /msg MemoServ help <command>
-MemoServ(MemoServ@services.)-
-MemoServ(MemoServ@services.)- The following commands are available:
-MemoServ(MemoServ@services.)- DEL Alias for DELETE
-MemoServ(MemoServ@services.)- DELETE Deletes memos.
-MemoServ(MemoServ@services.)- FORWARD Forwards a memo.
-MemoServ(MemoServ@services.)- HELP Displays contextual help information.
-MemoServ(MemoServ@services.)- IGNORE Ignores memos.
-MemoServ(MemoServ@services.)- LIST Lists all of your memos.
-MemoServ(MemoServ@services.)- READ Reads a memo.
-MemoServ(MemoServ@services.)- SEND Sends a memo to a user.
-MemoServ(MemoServ@services.)- SENDOPS Sends a memo to all ops on a channel.
-MemoServ(MemoServ@services.)- ***** End of Help *****For anyone who knows what I mean, it might be interesting to write such a "lightweight" web client for e.g. Slack, restricting yourself to whatever JS abilities were available in 2000 or so, yet imitate as much of the features and appearance of the web client today as possible. Chances are it will still work with "modern" browsers too, and use a tiny fraction of the resources of the current one. All the better if it gets noticed and DMCA'd.