Hacker News new | past | comments | ask | show | jobs | submit login
My mouse driver is asking for a firewall exemption (2019) (twitter.com/foone)
1137 points by Tijdreiziger on Aug 23, 2021 | hide | past | favorite | 556 comments



I have this same mouse. It works perfectly fine as an HID-compliant mouse on Linux, including the forward/back buttons. You only need all that crap if you want to control the rainbow RGB lighting. And if you really that, there's a reverse-engineered driver here: http://roccat.sourceforge.net/


You might want to add, that Roccat supported the reverse engineering effort in this case by providing hardware and approving the use of certain sound files:

> The reversed hardware is kindly provided by Roccat.

> The sound files and the Roccat logo are property of Roccat and are used with their approval.

A few years back, I owned a Roccat mouse myself and was delighted to find a decent Linux driver for it.


There's also libratbag, which contains RGB/DPI/extra-button/etc control for a variety of mice from many many vendors


If you want a graphical frontend for libratbag there's piper.


If you only cared about the basic functions, you could have got a much cheaper mouse.


Since when RGB Rainbow became Enhanced Function and dpi/buttons/accel/grip/etc became basic?


Well, since every mouse has dpi/buttons/axxel/grip/etc and not all mouses have RGB Rainbow.


When you buy the mouse with the RGB lighting over the one that doesn't include it


For anyone interested in open hardware mice, I have to recommend Ploopy: https://ploopy.co/

Plug-and-play, flash your own firmware if you like. Current models ship with QMK (open firmware), although I believe my older trackball didn't, I'd have to flash it.

I have both a left-handed trackball (rare!) and a right-handed mouse from them, I like to alternate.

Two obvious complaints:

- They're really expensive

- They're 3D-printed, which means manufacturing isn't polished. My trackball had a sticky mousewheel, which I ultimately had to buy a replacement for and swap out. My mouse has some rough edges I haven't filed down yet, and the 3D-printed texture may not be for everyone.

The good news is that it's easy to make replacement parts and repairs yourself!

Still, I wish they would make mass-produced versions with more conventional and precise manufacturing techniques, just with the option to 3D-print your own parts if you feel like it / need to. Maybe that would bring the price down while also improving build quality.


You can't have "really expensive" and "crap quality" without going out of business.

It's a pity they don't sell the electronic bits (preloaded with the firmware). I can probably fashion quite a nice trackball enclosure from a block of wood; probably much nicer than 3D printed cheap-feeling plastic.


Tesla is still in business.

I'd be very curious to hear more about how you would go about making a wood enclosure, because I thought the same thing, but I do not have any woodworking skills. I have gotten used to the 3D-printed texture but I wouldn't mind having a nice wooden enclosure instead.

I have been very impressed by Keyboardio's use of wood, for example: https://shop.keyboard.io/ I got an Atreus with a wooden palmrest for my partner, who loves it and uses it daily. I just haven't found an open hardware mouse with similar build quality yet.


> I'd be very curious to hear more about how you would go about making a wood enclosure, because I thought the same thing

Mill two halves, then screw them together with the electronics inside?

File/Sand/Plane down a block for the top, hollow out the interior and close off the hollow with a thin balsa sheet?

The way I made propellers - with a craft knife, cut the wafer thin sheets sold by model airplane stores with successive concentric overlapping ovals for each 1mm height of the enclosure. Glue them all together and sand it down smooth.


Why do nerds always give instructions as questions haha


Assuming this question is in good faith:

I think* it has to do with not wanting to say something as 100% truth without knowing it's 100% true. Which can be interpreted as weakness/insecurity among more business/marketing minded folks.

*see my own usage of "I think"


It was in good faith but I can see how it comes across as snarky, that's bad wording on my part

I can see how that fits, nice one


> It was in good faith but I can see how it comes across as snarky, that's bad wording on my part

I didn't take it as snarky[1], so I wouldn't worry about that if I were you.

[1] I even replied in kind, with a question :-)


> Why do nerds always give instructions as questions haha

Why don't you look it up and tell us?

:-)


Closest I got was: not being introduced to (or not inspired by) xkcd's ten thousand https://xkcd.com/1053/

Ever since I read that one I've loved being able to introduce people to things rather than doing the question mark "you should know this" sort of reply

It was a wild search tangent admittedly


It's all open hardware, so you can run off your own if your so inclined and design wood enclosures.

The draw of these is that they are fully (properly) programmable and can run QMK.


I get the appeal of that for keyboards, but what's the appeal of it for a mouse? Is it only for g*mers?


I don't game much anymore, but using a gaming mouse in my day-to-day workflow is huge. Besides the normal browser history-back/fwd, I have buttons for scrolling through tabs, closing/reopening tabs, alt-tabbing between windows, changing volume, etc. I don't make much use of macros or anything, but if I worked in CAD or Photoshop I'm sure I would. I think any kind of workflow that's hotkey or shortcut heavy could benefit.


I use a "gaming" mouse (Logitech G502) for day-to-day work. In additional to the usual left/right/middle click and up/down/left/right scroll, I have forward/back, copy/paste, next/previous tab, close/reopen tab, jump-to-first-tab, refresh, zoom reset, and microphone mute. It's useful enough that I find I really miss it when using a less-capable mouse.


How do you tolerate side movements when clicking side buttons and accidental side clicks when “rebasing” a mouse? How do you grip?

Every mouse I tried (suggested by reviews) does oops clicks sometimes, so I always turn off side buttons and live with the fact that they are just there discomforting my thumb.


Here's how I grip: https://i.imgur.com/QQcMrSR.jpeg

I don't touch the side buttons when gripping or rebasing the mouse. That's not a G502 but every mouse I've tried so far (except for the G600) has been grippable without touching any buttons.


With the G502 your thumb rests below the side buttons on a small rest - to click you move your thumb up a little and then squeeze. The force required to click is still small enough that very light pressure from the other side of your hand is enough not to move the mouse.


I don't know other people, but I personally have never in the 10+ years I used "gaming" mice accidentally mispressed a button because I wanted to move the thing. Maybe logitech makes weird mice where this doesn't happen?


Hardware drag scrolling, combos and snippets, more configuration then you can swing a stick at, layers and all of that. Half of the reason I use QMK boards is due to on-host configuration being so so terrible. At least if I bring my own hardware I _know_ it's going to work how I expect when I plug it in. That's a huge sell if you are jumping between computers all the time and have hardware that fits in your purse.

Also, the form factor and things like the Ploopy Nano are super cool. And because it's open source if you don't like the hardware/software you can easily change it. We use interface devices all day, everyday. Not having an ergonomic interface will catch up with you.


I never use the side buttons for forward/back, it would be useful to me to reassign them to something like next tab or page down.


Why did you censor "gamers"?


It's a meme, referencing the "gamers are the most oppressed minority" idea. The idea that "gamer" is a slur with a "hard R".

It's almost always used ironically, but there are probably a few edgy GamerGate types who take it to heart.


Last thing I want to hold a crappy 3d print textured mouse under my hands for 10 hours. I will take my chances with Logitech and stick to mx master. $130 for a mouse? Are you serious.


I'm making one with an outer shell of TPU after having this issue. It's just a bit soft and it feels like the 'textured grip' parts on my old Logitech, but sized for my considerable meat hooks.


Amazing that it's not only 200 and not high quality, but it's called "ploopy"


They have parts like PMW3360 in a mouse clearly intended for office use, judging by its shape; no wonder it's expensive. This is a sensor designed for extremely fast movements in games (faster than punches in most martial arts). It's not the latest and hottest model, but you won't be able to tell the difference from a cheap sensor during normal use.


Wow, those mice look truly horrible to use, and cost $200 to boot.


I think it's time for Chinese manufacturers to step up to the task. I've recently bought a (filament) 3D printer, and reading up on the domain, it was interesting to see how it developed:

The open source community figured out how to write software that can turn CAD drawings into CNC instructions and wrote firmware that could drive the printers. Meanwhile, multiple Chinese manufacturers built hardware, competing with each other to build better stuff and increasingly cheaper prices. The end result is that you can buy really decent 3D printers at around $250 with open firmware.


Can't reach their website here.


I wish they made alternative PCBs for existing mice. So you’d get the nice finish of molded parts, with an open firmware.


a) Cheap

b) Well made

c) Open source/hardware

Choose any two.


I can't connect to your link


Wordpress DB is down. Did we kill it?


Welp, LAMP stack doesn't scale. Time to hire some microservices teams and set up a k8s cluster.


>Welp, LAMP stack doesn't scale

Tell that wikipedia ;)


I first clicked the link only 2-4 minutes after it was posted and it was down so I doubt


Ah, mice...

"Need local admin and have physical access? ..."

https://twitter.com/j0nh4t/status/1429049506021138437


Related post to the one you linked: https://twitter.com/an0n_r0/status/1429386474902917124


Yes, I saw that for the first time moments after I posted my comment!


It is pretty trivial to get local admin on any desktop or workstation with physical access, though typically doing so requires at least one reboot. User accounts are basically worthless, from a security standpoint, in that scenario.


It's not trivial, and even so that's not a reason to discredit this particular vulnerability just because others also exist.

What is the point of downplaying local privilege escalation vulnerabilities just because it's a hard scenario to defend against?


> It's not trivial

In my experience, it is in fact pretty trivial.

I'm not saying it shouldn't be fixed, I'm saying it isn't nrealy as big a deal as people are making it out to be. The infosec community likes to latch on to any little vulnerability it can and act like the sky is falling even if, when taken in context, said vulnerability is only a problem in narrow use cases or requires the target to pretty much already be completely exploited.


> The infosec community likes to latch on to any little vulnerability it can and act like the sky is falling

That's because while a given potential exploit might not be a huge deal, a collection of exploits become greater than the sum of their parts, so if you're security-minded, then you want as few of those parts as possible.


Sure, but you always have tradeoffs for implementation time, interface friction, etc. You need to scope things properly so people know how to prioritize them and, in my experience, infosec people are really bad at that. They're so ready to hype up whatever they found that they don't really care how it relates to the real world.


> In my experience, it is in fact pretty trivial.

If you are talking about scenarios where full disk encryption is not enabled, then that is irrelevant. You may as well say that privilege escalation is trivial because some users don't put passwords on their account. The user obviously needs to take care of the basic expectancies first before worrying about vulnerabilities.


> If you are talking about scenarios where full disk encryption is not enabled, then that is irrelevant.

That's fair, I was making that assumption because it is true in literally every case I've come across. But consider that if you have local access to a logged in account you've already got access to unencrypted files for that user anyway. You don't even need admin.


Sure, but consider how this will impact corporate or educational environments (which in my experience DO usually use full disk encryption). I believe full disk encryption is also on by default for most new OEM machines.


When I see the words "trivial" or "orthogonal" in a comment on HN, I become suspicious of the content.


It's made quite a bit more difficult with FDE dependent on TPM and Secure Boot (like Bitlocker). Can't mount the drive from another machine or the same machine with another OS running to modify the password file, can't run a bootkit like KonBoot to disable password checks.


> It's made quite a bit more difficult with FDE...

FDE is orthogonal to user accounts, but yes it would prevent the trivial local access methods of taking over the admin account.

Not that, you know, anything the user cares about requires an admin account to get at anyway, as ransomware has consistently proven.


What a ridiculous argument. User files are important, but locking down admin access has solved a whole host of virus/security issues that were present in, say, windows xp.

at the end of the day, users are responsible for the software they run on their machine. but viruses/worms that run amok are largely over thanks to restraining userland permissions.


Every time I’ve achieved domain admin on a pentest, it’s been predicated with local privesc.

Your opinion is dangerous, professional negligence.


What gets me the most is seeing something like piper:

https://news.ycombinator.com/item?id=27871956

Where its (mainly) one person in their spare time that is able to put these official drivers to shame.


Isn't it quite common for open source hardware drivers to have an effective bus factor of one? (as in, yes it's open source but only one dev has the deep familiarity with the topic required for fast updates) Like, weren't practically all Linux webcam drivers implemented by one French guy at some point?


> Isn't it quite common for open source hardware drivers to have an effective bus factor of one? (as in, yes it's open source but only one dev has the deep familiarity with the topic required for fast updates)

It's usually common for one person to be motivated enough to do the work, so they are the ones most knowledgeable yeah. But the code is out there, it doesn't stop anyone else from looking at it/understanding it just as well. From the looks of piper, it looks like several folks understood it enough to add drivers of their own.

> Like, weren't practically all Linux webcam drivers implemented by one French guy at some point?

I really don't know.


Finding a "good" mouse is really freaking difficult. First off, you don't know the state of the drivers and control software, as this thread demonstrates. Then you don't know the quality of the switches, as I found out with several Logitech mice that were well reviewed, but I suspect the hardware was switched for cheaper variants once the reviews were in. 2 separate Logitech mice started double clicking randomly, and their support was awful because they didn't have like-for-like replacements unless I wanted to wait for months. On top of all that, getting a good button layout, size, and shape is a real crapshoot too.

So I bought a sealed-in-box new Logitech G500 from ebay as a spare because of course none of the new mice are anything close to the quality of the older models. Especially after being burnt on switch quality.

The Ploopy mice have an awful name but are definitely intriguing to me. QMK firmware is pretty much perfect, and I wish I could use it on the Logitech G500.

I used to recommend Roccat mice to people, but their lack of Mac and Linux support is a dealbreaker these days.


FWIW it's not terribly difficult to replace the switches yourself on the G500 if you've got the soldering equipment already:

I know these switches work and can last a fair bit longer then the ones from the factory: https://www.digikey.com/en/products/detail/omron-electronics...


I replaced the switches in my G Pro wireless with these https://www.amazon.com/Kailh-GM-4-0-Mouse-Switches/dp/B08K9F...

Supposedly will last a good amount of time, though I only did the replacement a month ago so I can't confirm that. The mouse was easy to get open and it was a very easy soldering job to get the old switches out and the new ones in.


For a long time I have been a Logitech mice user. When the last mouse finally gave up ghost, a few years ago, it was time to look for a new one. I was unpleasantly surprised how expensive Logitech mice were! I told myself that no way I am paying that much for a simple mouse and I started looking for a quality replacement. I read some reviews and decided to try Gigabyte mice. After a few years I can honestly say this was the right choice - inexpensive, quality mice. I never looked back to Logitech (well... I am still still using G105 keyboard). My few years old, worn ECO500 mouse is still working great. For laptops I use M7700 (smaller and lighter) and other than the rubber grip on the left side needing re-gluing after a few years, no problems. The mouse works like new. No problems in Ubuntu and no need to install any vendor software/drivers. I thought I share my successful story of moving off Logitech. There is quality at lower price point out there. My 2 cents...


Zowie has an array of gaming mice that are all high quality and driverless.


I'm also very happy with my Zowie except for a strange thing with the mouse wheel - about a year after getting it it started making a faint squealing noise, then a few months later it miraculously went away. I have a second one at the office which has the exact same issue.

I had several Rival 110's before and was similarly happy, I like the Zowie a bit more because it's larger.


Following on from this fragmented thought:

I've ruined myself with regards to mice. Over the years I've become very used to the G500 format: 2 side buttons for page up and page down make web and code browsing very fast. And a button by the primary left button is mapped to "show all windows" which used to be called exposé on Mac, and the equivalent in Gnome 40. I've also started recently using another button to plain-text-paste, which is surprisingly useful when pasting code to coworkers in MS Teams.


All of Razer's products are like that. I've been boycotting them since their keyboard wanted me to sign in to use my function keys.


I can never forget this classic video of Jonathan Blow trying a new Razer keyboard (worth it to stay tuned to the very end)

https://www.youtube.com/watch?v=8UGO3EG5DC8


> "My preferred keyboard is one that doesn't have a user experience."

Truer words have never been spoken. It's a crying shame that "caveat emptor" has become so thoroughly ingrained in the tech scene. More and more, I see some gizmo that seems interesting, take a deeper look, and run away screaming when I find out what a crawling horror it really is.


I dunno, ZSA (ergodox/moonlander) has a phenomenal UX. Online keyboard editor that generates hex code that you flash using their fully open source tool. And it's all QMK powered so I could program it by myself (it'll never be a brick), I just don't want to.


That was fantastic. I wish I could watch Razer's executive team react to this video. I feel like many of us have this kind of experience with hardware and software but it's always a private suffering.


The fact is that Razer sells a LOT of keyboards and they have been pushing Synapse on the users. I got out of that years ago and I currently run a custom keyboard running QMK.

The users are just fanatically tolerating Synapse 3 and are still giving Razer their money. Until they stop, this kind of stuff will continue to happen.


the little under breath "oh my god" is so heartfelt... I had a razor mouse and it enrages me every time it needed to restart my computer to install it's special driver. no drivers are that special.


Is there definitely no way to turn off those lights via a key-combo? I know that's the case for my Vortex POK3R rgb, though admittedly it took me a while to look it up in the manual because I don't use this functionality often. The driver software requiring a login really sucks, but I feel like this was more performative than anything.


But the nice thing about having a Razer mouse is that it lets you get local admin on any random computer just by plugging it in.

https://twitter.com/j0nh4t/status/1429049506021138437?s=19


It’s a feature, not a bug ;)


Razer is a terrible company, which is tragic because they started out as an amazing hardware company. When they pivoted to being a spyware company I stopped buying their hardware. I've been happy with SteelSeries so far. Their Rival 500 is a great mouse if you want lots of buttons and configurability.


Most of Razer's hardware is garbage, always has been. The only exception is probably Blade and a narrow selection of their mice.


The Razer Blade laptop line should probably be avoided too, according to r/SuggestALaptop. Lots of quality control and battery issues. Some models appear to be designed around benchmarks, performing extremely well in short bursts but having much lower performance in longer sessions.


I had trouble believing you at first, but yeah... https://twitter.com/mark_roszko/status/1429459359554224135


Yep, don't forget that Razer were there first.

Does the Roccat software even require registration, or it's just bloated because that's all they could do?

I'd even say Razer wins on assholery.


I stopped using mine when I installed their software that requires login to use the mouse 2 extra buttons. It was brand new.


You don't buy Razer products because they have excellent build quality. You buy Razer because of the marketing, sadly.


It feels like you're allowing someone to install malware on your computer but their mice are sooo nice tho. I don't play any computer games, but the deathadder elite is like a hand ferarri for work.


I would love to not use Razer products, but for some reason Logitech still hasn't made a wireless G600.


If you are on Linux and using fancy gaming mouse, there is a chance you can configure it with the open source libratbag (console app) or Piper (GUI app). It won't make any network requests. :)


I wish not to tinker 3 days to setup my mouse.


The nature of these devices is that they're HID compliant but Microsoft lets them get away with demanding you should "improve" things by installing extra software on Windows.

Because they're HID compliant they do just work out of the box (on Windows or on Linux).

In Linux there is no "Oh! Oh! Install this proprietary bullshit to wring more money out of you. Please. Please! Come on, spare a few bucks!" step. If you don't want to do any tinkering the mouse Just Works™

But if you wish the little features worked, like apparently changing LED light colours, you can install third party software. At that point yes you are tinkering, but you aren't dealing with constant appeals to please let it change your default web browser, or whatever like in Windows, so that still seems like you're ahead.

I'm astonished Microsoft didn't just outright ban this nonsense. It's an awful user experience compared to Linux where all this stuff Just Works and Windows could have that too, not with more engineering work but with less by simply not allowing this crap.


Installing piper on linux and using it to configure your mouse will most likely be faster than using the manufacturer's software.

Also no tinkering required if your mouse is supported by libratbag.


??

https://github.com/libratbag/piper

it's a GUI app, it looks pretty nice. It's also in the Debian repos, so you can just install it with "apt install piper"

Looks pretty simple to me.


Logitech is similar, tries to auto-update most days and ~200MB "driver" install.

Why the heck does a few hundred KB in actual drivers and a simply configuration program need 200MB? When I had an MS mouse intellipoint was only ~20MB, and the current MS Mouse & Keyboard Center is still only about 50MB (which still seems much larger than necessary)


HP also has gone insane. We got a bunch of keyboards that had 3 defective keys on the numpad. Zero, slash and enter if I remember it, bog standard keys. HP Service desk says no problem, here's 512Kb of firmware update that will fix it. And it actually did. No hardware defect, just a software bug.

I have no idea why a keyboard without much interesting extras even needs 512K of firmware, let alone why the stock firmware fails on 3 of the buttons. They're only there since 1985 or so, you'd think they got around to test the numeric pad by now


At least they didn't make you pay to unlock those keys as "premium DLC".


The thing about Logitech (at least on Windows) is that it installs the updater as a device driver. So you cannot easily even block its internet access via firewall rules unless you define one for rundll32.exe

If you want to know more about it, just google "Logitech Download Assistant". There should be a device for it in your Device Manager and an LDA.exe process running.


I used to wonder about these things as well. But now that we are used to electron, I wonder why technical people still are surprised.


Not gonna lie, one of the nice (unintended I'm sure) consequences of no one making software for Linux is the extremely wide range of hardware drivers built-in. I've never had a mouse (and a bunch of other hardware) not work on Linux in the last 15 or so years.


Windows have built-in driver(s) for all the mouses too. You can just ignore these additional software and they work fine (as fine it gets in Linux, of course. Some additional feature may not work.)


Every single mouse supports the USB HID spec and will just work on any OS. The drivers let you configure macro keys, scroll speeds, rgb lights, dpi and other stuff which you just don't get to do on linux.


Yes, this is why I don't buy Razer equipment anymore. No, I do not want to sign up for a Razer account so I can control my DPI settings!

Not only that, it automatically installed the software somehow when I plugged it in, which I didn't want.


Guess what? Hot off the press.

"Razer mouse software bug easily grants Windows admin privileges"

https://www.slashgear.com/razer-mouse-software-bug-easily-gr...


I'd bet good money that there are hundreds if not thousands of other buggy installers lurking on windows update, just waiting for the right hardware id to appear. Yes, this is a bit of a shortcut, but not really any different than booting from a USB drive and changing the admin password. Adding Bitlocker to the mix is where it starts to get interesting.


Another article on the same topic discussed on HN:

https://news.ycombinator.com/item?id=28273283


Love Razer mice, but never install their software. And, yes, the way their installer starts via Windows Update should be prevented by Windows.


I can't imagine blaming this one on Razer. It's a fundamental defect in Windows.


I really enjoyed the progression of this thread's "Spite" hacking. I've gone down similar rabbit holes before.


I have been using Zowie mice for years. Plug and play NO software to download. Best mice for FPS I have ever used.


I'll second this. I've had a Zowie FK1 since 2015 (when I was serious about playing Dota 2) and it's still going strong.


I really wish Roccat would bring back the thumb paddle on their mice.

I had this with the Leadr model that they discontinued.

Yes, their software is horrible, but it's not necessary except for controlling the lighting. And the lighting is irritating. A lot of the custom buttons are superfluous for my needs..

But beyond that? It's a great mouse, the best I've had in decades. It's accurate, has great weight and traction, both wired/wireless options, and most importantly it has the thumb paddle so I can press down or up with my thumb to scroll.

No more repeated rolling of the scroll wheel, or pressing the wheel down while dragging the entire mouse forward or back...

Why don't more mice have this? And why'd they get rid of it on their newer mice?


I think it's all about branding, the same disgrace that plagues mobile operating systems: every software maker tries its best to force users install their logo on their screen, so that if yesterday one could use 100 services just by saving 100 bookmarks on a browser, now they need 100 apps, with all the implications wrt waste of space and resources, security etc. Although perfectly legit, it's a practice that cannot scale.

Drivers installers on Windows aren't exempt from this nonsense as well since years, so every driver started coming with its companion app, very often a huge VB "thing" that did nothing important except showing its shiny icon on the desktop. Then years later they started phoning home to profile users, attempt to offer purchases for consumables (as printer drivers do), etc. In the old days however one had a way to control it: the .exe was often a self extracting .zip, so it could be fed to 7Zip and the like to extract the archive without executing it, then one would throw away the unnecessary bloat except the relevant .inf file and a few dlls or other small files, point to that location when searching for drivers, and voila: driver installed without the cruft.

The question is if a giant ball of Electron bloat could be dissected in a similar fashion in order to extract the important stuff and throw away the rest. I hope so.


Avoiding this cycle of crap is my personal favorite thing about Linux.


The cycle of crap on Linux is different; less corporate and underhanded, but more of an ever-expanding bloat. Install Clang/LLVM. It's like 300MB. I remember when almost every system had a fairly small C compiler. It had to be small, because it was the basis of everything else. Now the base is enormous. OCaml is something like 200MB. And of course, it has its own package manager. So does Python, and Ruby, and all these other things that are supposed to be the base of so much other software.

Take another example. Install LaTeX. It's something like 5GB. It's huge because it bundles enormous numbers of packages.

It seems like there are zillions of Linux packages > 100MB. What does all this crap do? Why does everything depend on everything?

Take another example. Node. Building it from scratch takes a pretty beefy machine and a lot of time. (It takes over 20 mins on my 6-core workstation with 32GB RAM). Most of that is building V8. When I worked on V8, we periodically spent some time trying to get build times under control, but the needle barely moved until it got going again. We spent months and months of effort, over years, splitting V8 into more source files and more directories and enforcing header discipline, but all of it made build times worse. Despite how cool V8 is, I feel embarrassed in retrospect that the build system is so bonkers.

Linux is like this everywhere. Monstrous and labyrinthine. It really is impossible to understand it all now.


Linux has nothing to do with Node, though. Most of the Linux world (and the Windows world, and the OSX world, etc) wishes it would just go away forever. Javascript is unadulterated pain.

As for Linux package sizes go... why are you installing so many packages that you don't need just to complain about it?

On Debian and Ubuntu, `dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n` will tell you the install size of things sorted by worst offender; for me, on one of my development machines, is git, followed by Perl packages required by the system, neovim, and then a bunch of normal things expected on any install. `df -h` minus `/home` is a hair over 600mb.

git, being the largest thing, has an install size of 38 megs. Indeed, I cannot tell you why git is 38 megs, there may or may not be bloat here.

As a comparison, Windows uses around 6GB of space, and a MSVC install that has a common set of toolchains may take up to 20GB and... arguably does less than my <1GB Linux install (when it comes to dev work, anyways).


> why are you installing so many packages that you don't need just to complain about it?

there are 1000s of packages, who has time to select a small subset of that? easier to install chubby swathes at a time.

and you can't install devel versions without bringing in many various forms of TeX

recently I install the emacs package on a system and it required python; that's sacrilege


Your dev linux machine is a gigabyte? That's kind of surprising. Just llvm+clang on my machine according to your query clocks in at over a gigabyte. Are you only developing using perl and not doing any from-source builds?


The machine I looked at doesn't have gcc installed. With gcc, it'd probably cross the 1GB line, but not by far.


dpigs from moreutils is also a nice way to find bloated packages on Debian-based systems.


While I share some of your resentment (especially as a Gentoo user who builds Chromium quite regularly), a few extra gigabytes of storage or a few more config files I don't grok are relatively easy to ignore compared to the kind of dark patterns I see happening with 3rd party software on Windows desktops. And Microsoft itself is increasingly willing to sink to that level as well.


>Install Clang/LLVM. It's like 300MB

Isn't this like a first computer world problem? How many gigabytes does current Visual Studio take? Not talking about VS Code, because it's only an IDE, which still requires the actual Visual Studio C++ as the compiler.


If anything, it seems like a non-first world problem. I assume they have older, less powerful hardware in developing countries.


It is possible to have “headless” MS compiler & build tools in Windows, by installing Windows SDK. It may be used with VSCode.

The full Visual Studio is not required.


How much space does it take?


A surprisingly large amount. Many gigs. I'm not on my Windows machine right now, so I can't give you any figures, but it's enormous.


>Install LaTeX. It's something like 5GB

if you install the full version that has every single package for everything, all with their own manuals etc. At least on debian-based distros there are options to just get the ones relevant to you.


Maybe, but it feels unfair to bring software bloat into a comparison between Linux and Windows. I don't think Linux could ever come close to the degree of software bloat in Windows. Your Clang install is 300MB? Sure. My Visual Studio install is 4.5GB, and it includes at least two versions of Clang (the DirectX shader compiler is a fork of an old version of Clang.) You think dependencies are a problem? You should be happy there's only one copy of each library on your computer (two if you have a multilib system.) I counted more than 25 copies of the C runtime on one Windows computer. You think Linux is monstrous and labyrinthine. Have you seen the scope of the Windows API? There's no comparison.

> It seems like there are zillions of Linux packages > 100MB. What does all this crap do? Why does everything depend on everything?

I dunno man, but software can get complicated, and a lot of these packages probably have features that people use. Why quibble over hundreds of megabytes when popular Windows packages like Office and Creative Cloud are multiple gigabytes? It all seems very unfair that Linux is subject to this level of scrutiny when other systems have worse bloat by literal orders of magnitude.


Modern Linux user space is monstrous and labyrinthine. Linux itself is not. I found it to be a really clean system.

The basis of everything is actually the Linux system call binary interface. We can actually trash the entire user space and start from scratch with nothing but Linux. We can even trash the ubiquitous GNU stuff if we want.

Why can't we have a compiler with built in system call support? Just add a system_call keyword that inlines Linux system call code using the supplied parameters. No need for libc bullshit in the middle. No need for C or any specific language. Someone could make a language today and that single feature would make it as capable as C is for systems programming. They could write software and boot Linux directly into it.


> Why can't we have a compiler with built in system call support?

Funny you should ask that. That is exactly how Virgil's compiler supports the Linux (and Darwin) kernels. Other than generating a small amount of startup assembly (10-20 ins), the compiler just knows the ELF (and MachO) binary formats and the calling conventions of the respective kernels. With some unsafe escape hatches (e.g. getting a pointer into the middle of a byte array), the rest is regular Virgil code that calls the kernel directly.

Take a look, I've been working on this for more than 10 years:

https://github.com/titzer/virgil/blob/master/rt/x86-64-linux...

The "Linux.syscall" is a special operator know to the compiler and it will let you pass an int (the syscall number) and whatever arguments you want (any types--it is implemented with flattening and polymorphic specialization) to the kernel.

With this I have implemented all kinds of stuff, including the userspace runtime system and even a JIT compiler (for my new Wasm engine).


Thanks for this, it's extremely awesome! Really happy to see others have gone so much farther than I ever did.

I started looking into this myself some years ago. Even started developing a liblinux with process startup code and everything. Abandoned it after I found the kernel itself had an awesome nolibc.h file that was much more practical for my C programming needs:

https://elixir.bootlin.com/linux/latest/source/tools/include...

My code is in a bad state but if you'd like to take a look:

https://github.com/matheusmoreira/liblinux

It's amazing how this really lets you do everything... Want a JIT compiler? Map some executable pages and emit some code. You can statically allocate memory at process startup and use that for bootstrapping code. This lets you implement dynamic memory allocation and even garbage collection in your own language.


Nice work!

> Want a JIT compiler? Map some executable pages and emit some code.

Yep, this is exactly what Wizard does.


Targeting POSIX standard functions like open by going through the Linux syscall table looks like just making work for yourself when porting this to other systems.

Some syscalls don't correspond to standard library functions. As an exmaple, if you want to bind to opendir/readdir/closedir, you have to write those yourself in terms of the Linux-specific _NR_getdents64 system call.

Is your LinuxConst.SYS_open actually _NR_open? That's supposedly obsolete. glibc uses _NR_openat for open(). _NR_open is listed in the asm/unistd.h header in a section under the heading "All syscalls below here should go away really ..."

How about signal handling; are you dealing with sigreturn and all that?

You can get a small executable footprint (in terms of not requiring a dynamic C library) by maintaining all this yourself, though.


Oh, I know it's work, but I am not going to assume POSIX, as that's implemented in userspace with C code. In my universe, C code doesn't exist (except I use a little in some testing utilities in order to get going on a new platform). I never ported to Windows, but doing so would be as simple as teaching the compiler the Windows kernel calling convention, adding that little process entry code, and then writing an implementation of System using Windows calls. Oh, yeah, and generating COFF :)

Virgil has its own calling convention internally (though this is basically System V on x86-64). That only matters when getting into V3 code or out, e.g. process entry, calling the kernel, and signal entry. For signals, the compiler generates a tiny stub that copies the signal handler arguments into the V3 registers and then calls user code. To install signals, user code just needs to fill out the right sigaction buffer, as any other system call. To return from signals properly, I studied assembly examples I found online. The runtime doesn't use signals for anything other than catching fatal errors (DivideByZero and NullCheck), so it just prints a source-level stacktrace and then exits. But Wizard needs to recover from signals in order to do proper OOB handling of user programs, so it actually does the proper sigreturn dance, but Wizard only does the fancy stuff on 64-bit.

In my universe, only three things exist: Virgil, wasm, and machine code. I have no need of other languages except as means to test those others :)

Virgil runs on the JVM and on Wasm too, and those require slightly different ways of getting off the ground.


> porting this to other systems

Why care about this? I want Linux on everything instead.


> Why can't we have a compiler with built in system call support? Just add a system_call keyword that inlines Linux system call code using the supplied parameters

It can be implemented as a small function, that first appeared in 4 BSD. It's available in Linux.

$ man syscall

(Unfortunately, this function, lives in glibc. Obviously, though, it doesn't have to. All I'm saying is that this, or a similar function, can be a linkable symbol in some small compiled object file, and not an inline primitive that has to live in the compiler.)


You're of course correct about all this. I believe the glibc thing has created mainly cultural problems. People don't look at Linux as a separate thing.

If I look up Linux system calls on Wikipedia I get diagrams showing glibc wrapping the Linux system call interface because that's what you're supposed to be using. If I look at Linux man pages what I really get is glibc man pages with the actual system calls being almost an afterthought. Glibc wrappers actually do a ton of stuff like add cancellation mechanisms. Glibc also drops support for system calls that break their threading model such as clone.

It's the same problem with systemd. I look up Linux init system man pages and get systemd stuff instead. I expected to see kernel APIs useful for writing my own.


This isn't any different from any current or historic Unix. The system interface has been a C library going back to early Unix.

The library and kernel interface are more separated in Linux systems than in prior Unixes, with user space C libs being totally separate projects.

Over a Linux kernel you can find glibc, ucLibc, musl, Android s Bionic (newlib derivative from BSD), ...


My gcc is tens of KBs

$ wajig size | grep gcc gcc-5-multilib 6 installed gcc-multilib 8 installed gcc 44 installed gcc-6-base 60 installed gcc-5-base 66 installed libx32gcc1 98 installed libgcc1 105 installed lib32gcc1 125 installed libx32gcc-5-dev 6,280 installed lib32gcc-5-dev 7,020 installed libgcc-5-dev 12,193 installed gcc-5 23,648 installed


> attempt to offer purchases for consumables (as printer drivers do)

Or to brick knockoffs! FTDI blazed the trail, now printers are doing it too. First party malware!


What you described brings back distant memories of Windows. Since switching to macOS few years ago none of that behavior is a thing any more. Apps 'just work' and do so in a predictable way. There is no (noticeable) attempt from app makers to bundle bloat. This alone makes macOS much more comfortable to work with. And the bonus is there is an actual usable shell.


Try installing an HP printer on macOS by following the provided instructions


That's not macOS specific. My phone has HP crapware on it for some reason.


Logitech control center enters the chat.


Have you tried installing a gaming mouse driver on MacOS? Same deal.

When I used it, MacOS also had the issue that some software didn't even have uninstallers. So you have to drag the app to the trash bin, then go and manually remove the various system software that it installed. Or run a script off of the internet. Software management on MacOS is no better than Windows in my opinion, and in many cases much worse.


Nvidia’s bloated GeForce experience is about 99% advertising and 1% actual driver. I hate them so much.


You can just install the driver without installing GeForce experience.


The good news is, almost definitely! It's really hard to protect web apps from reverse engineering because a lot of decisions were made to make them out of human readable files ages ago, almost any electron app can be broken open and tinkered with, there are exceptions, though. VSCode, for instance, is an electron app, but basically only for their UI at this point, larges swathes of the app's interesting functionality is written in cross compiled C++. But for an electron app that's just tweaking settings in a Driver? Probably. Ultimately the electron code cannot be very tightly integrated since that's not how drivers work, but then it becomes an arms race of weird protocols to force you into using their app instead of an alternative and we're back to square 1, only now the device has this weird opaque, and possibly crypto signed api for controlling it instead of just bit banging values into memory


> every software maker tries its best to force users install their logo on their screen, so that if yesterday one could use 100 services just by saving 100 bookmarks on a browser, now they need 100 apps,

The other side of this is Android makes it really simple for users to drop a shortcut to your website on the home screen. Apple, to encourage people into their cash cow app store, does not. I was all set to get a company going with mobile web as their primary UI, but it was too hard to get users to put the home screen shortcut down on iOS, so we ended up having to pay to have apps built and now have triple the complexity.


> The question is if a giant ball of Electron bloat could be dissected in a similar fashion

If you could just assume Node and a modern browser already existed on the target machine you could just ship a node package and a minimal installer. But you’d need to deal with potential version and browser incompatibility.


Apparently bureaucracy is not just an office thing.


> The question is if a giant ball of Electron bloat could be dissected in a similar fashion in order to extract the important stuff and throw away the rest. I hope so.

Perhaps OSes could be smarter. After installing an app, it could monitor the "hot" paths in the code, and only load those instructions the next time the app is loaded. Also resources that are never used could be not loaded into memory. Etc. I know, it would be difficult to build this as you're basically instrumenting an app or driver and then rewriting it, but I guess it would be a great innovative feature in a time when OS research seems stagnant.


What you're describing is some combination of stuff language runtimes and linkers do (shared libraries, runtime loading, JITting) and demand paging.

It may be the case that one could optimize for the case where a bunch of applications ship that and are statically compiled but use the same underlying libraries. In this case, some agent on the system could analyze the code segments of these binaries and on demand construct shared libraries that strip the shared portion from the binaries. Subsequent invocations would load the constructed shared libraries for redundant sections.

Still, this probably wouldn't help much and would lead to its own issues. One of the problems with these flabby things is just how the runtimes are themselves constructed. You still have per process data structures you'd need to populate and they probably have fat data structures that are not very space efficient, and so on. The size of the instructions is probably not significant relatively speaking.


One trick could be to run the program in a "lazy" way. E.g. don't run a statement like "a=b+c", but evaluate it only when a is needed. This would require a complete and automatic rewrite at the assembly level, but you wouldn't be doing anything that you don't need. Then from this you could determine the "hot" paths, and optimize those for speed (translate back into non-lazy form).


Tracking all those dependencies is not free either.

Unfortunately there isn't a magic bullet to code bloat.


Optimizing hot paths is already done via PGO (https://en.wikipedia.org/wiki/Profile-guided_optimization).


I can’t find a reference now, but I believe Windows did (does?) have a page fault tracer that would preload from disk the pages that are observed to be needed. I can’t remember if this was just at boot time or for app launches too.


I think you are referring to Windows Superfetch.

It helps to load the required pages into memory fast to enhance application launch times and then usual memory paging handles the rest of keeping required paths in memory.

Google says Windows\Prefetch is the directory for the cache. You could look here and see if there are any references to applications rather than just windows boot stuff.


I remember the times when you would load the mouse driver into the memory above 640k of your 1Mb RAM PC. It was around 30kb in size.

That is 'one Megabyte' RAM, not Gigabyte.


So do I and it was crap because you had to load the mouse driver, as well as decide which one you needed and some programs had their own and some didn't work with the mouse even though they should. Now, you can just ignore mouse drivers and it's all automatic. It really is better. RAM is literally ten thousand times cheaper than then too, so it's no worse for a modern driver to occupy 300MB, which is already pretty huge.


My point was, that obviously it is possible to program a mouse driver very effciently.

And even if it were a full blown cross compatible mouse driver with a lot of device features it is hard to fathom why such a driver would require more than a megabyte or a couple of megabytes of space. The basic functionality can be realized in less than 30k.

We had the whole operating system with GUI (Win3, OS/2 and Linux)run in 4 Megabytes. Sure it was snappier with 8 Mb, but that is still a far cry from the minimum requirements the commercial OS offerings come today.

The way we are wasting ressources is simply insane


I doubt the default USB HID mouse driver in Windows is needlessly big. Just don't use the hideous bloatware that comes with the mouse. I've never had to worry about mouse drivers on Windows in the past probably 20 years, even wireless mice. They just work without thinking. It's much better than the 1980s-90s.

You probably don't use an ancient OS as a daily driver so maybe those extra megabytes really are needed for something important after-all. I'm not saying Windows is super well optimized for space but you can't count the whole growth as waste. Even the default Raspbian Linux for Raspberry Pi requires several GB of storage.


Meanwhile I wish they'd still sell the Roccat Savu. I bought it on a sale and it turned out to be the most ergonomic mouse I've used so far. Runs perfectly fine without the official drivers and the few extra buttons have decent default settings.

But I usually avoid "gaming" hardware. Even if it's not overpriced it rarely looks good and has the same quality at best.


The rest of the thread is an interesting look at how an attempt to protect their devices actually revealed several hidden ones.


This reminds me of Windows 10 itself. A fresh install of windows 10 has all its builtin apps including the calculator (for currency I am guessing) allowed through the firewall by default. In the security world, the default should be off and only upon request should an app allowed to talk over the network. Not to mention the fact that apps like Facebook messenger are installed by default in Windows. Microsoft can sell me their operating system in a minute if they just stop all the stupid telemetry, remove the bloat and by default turn all privacy and security options to on and not off. It's not a bad operating system for most people, it's just a privacy nightmare that Microsoft seems to be fine with somehow. Because no matter what your privacy 'policy' is, the best policy is to not collect any data at all.


> In the security world, the default should be off and only upon request should an app allowed to talk over the network.

I'd argue that reasonable defaults are better. Asking permission for everything, including features most to all people would find necessary, just creates decision fatigue and results in people clicking "allow" on every popup.


"Decision fatigue" is an apt phrase. Reminds me of Joel Spolsky's old essay on classic Windows help asking what kind of help db install I wanted ("compact", etc.) -- to which no normal user ever had an answer.

Don't ask people questions that they are going to answer one way 95% or more of the time, or for which they haven't the context to answer. Just make it easy to change later if you need to.


I think the only reasonable default is to not talk unless I've given permission for it to do so.

But I recognize that I'm in the minority. So much so that I can't trust software to behave itself, so I've had to use my firewall to disable all outbound traffic by default, so I can add exceptions as needed.

It's amazing how rarely such exceptions are actually needed.


I'm with you. Paranoid defaults should be the default defaults

Although I'd still like to be able to opt-in to reasonable defaults if I trust that my OS's non-default default decisions are indeed reasonable.


I agree and I think mobile got that part of sandboxing wrong. I think a better solution is to sandbox by default, give the application no way of being able to tell if it has permissions or not, and making the user manually go in and grant it permissions as they find they actually need them. This would incentivise application developers to try and use as few permissions as they could possibly get away with.

However, it would also require a really good, understandable interface for granting permissions to applications. Files are relatively straight forward, as the file open/save dialog can be handled by the OS and anything the user does with it can be considered explicit permission. For other resources something similar might work, or might need a completely different abstraction.


> I think a better solution is to ... give the application no way of being able to tell if it has permissions or not...

As an Android developer, I strongly disagree with this. Even if I never prompted for permissions, giving me the ability to determine what permissions I have allows me to make certain the application behaves properly with the permissions it does have.


Unfortunately it also allows you to pester the user to change them and, as we've learned, we can't trust applications not to act like they need permissions when they really don't.

Ok, how about a compromise: We'll let the application be able to tell by default, but the user can can choose to lie to it.


While it's taken Android some time, on newer APIs the system will simply prevent an app from requesting permissions if a user has denied it more than once. From https://developer.android.com/training/permissions/requestin...:

"At the same time, your app should respect the user's decision to deny a permission. Starting in Android 11 (API level 30), if the user taps Deny for a specific permission more than once during your app's lifetime of installation on a device, the user doesn't see the system permissions dialog if your app requests that permission again."


Maybe something in the middle. One time, during initial setup, the OS should have a single question with all of the reasonable defaults displayed (and uncheckable). Tell people why these are reasonable, give them an opportunity to opt-out, make it easy to move forward quickly.


reasonable defaults are way better, or you'd end up with something like SELinux where nothing works out of the box


> Microsoft can sell me their operating system in a minute if they just stop all the stupid telemetry, remove the bloat and by default turn all privacy and security options to on and not off

I don't think Microsoft is in the business of selling desktop OSs anymore, despite the fact that they still charge money for them. All of their behavior suggests complete disdain for the desktop and users of the desktop. I think Windows is only still being developed because it is a delivery platform for ads and telemetry. For the moment I'll still take it over the alternatives, but I'm confident Microsoft will eventually push me over the edge.


I have the opposite experience. MS has enabled our company to save tens of thousands of dollars because of their unwillingness to compromise on backwards compat. Literally we take CD's burned a decade(s) ago and the software installs and functions just fine. In our field, software tends to cost five digits and upwards so its a big F* deal. I can't imagine any other vendor coming even close. I don't particularly care for their other products, but Windows has earned a ton of respect from me.


Yeah, that's one of the reasons I still choose Windows over the other desktop OSs. PowerShell is also great. The problem is that they take this great base and plaster a slow, dysfunctional, half-thought-out, user-hostile interface on top of it stuffed with telemetry, ads, and dark patterns designed to push you to their cloud services.


Agreed, No argument there.


The question as always is what you could replace it with. We have an unfortunate situation where Microsoft had a near-monopoly on the desktop for so long that credible alternatives are lacking for many users. Even if they like some particular flavour of Apple or *nix as an OS, the applications they need might not be available on that platform. I wonder what the forever-defenders of Windows think they will do if Microsoft continues along the course set by Nadella and the current senior team and the situation with intrusions and lack of control over your own equipment continues to deteriorate.


Honestly I'm probably just going to stop using computers so much if that happens. Linux Desktop has consistently proven that it has no interest in doing anything in a sane or consistent manner, and Apple is just as bad as Microsoft in terms of fucking shit up for no reason, only in different ways.

If we're very very lucky, something like Haiku will gain a hypervisor, WINE port, and graphical acceleration, then take off in popularity and become the last refuge of the desktop. I'm pretty skeptical it'll go down like that though.


Who do you imagine this "Linux Desktop" is, that you attribute lack of interest to?

Various groups make desktop environments that may be used on Linux, as diverse as KDE, Gnome, Chrome, and Android. It could possibly make sense to complain about one or other of them, or even several. As it is your complaint is entirely nonsensical, a category error like saying red is too hot.


> Who do you imagine this "Linux Desktop" is

The community of people who make and distribute Linux distributions and software intended for the Desktop use case, when taken as a whole.

> Various groups make desktop environments that may be used on Linux, as diverse as KDE, Gnome, Chrome, and Android.

Calling Android or ChromeOS a Linux Desktop is incredibly disingenuous.

> It could possibly make sense to complain about one or other of them, or even several.

Every distribution has the same problems because they are all built with more or less the same hodgepodges of desperately developed software.


> Every distribution has the same problems because they are all built with more or less the same hodgepodges of desperately developed software.

In other words, slightly better than trying to change system settings in Windows 10?


Well no. The new settings panels in Windows 10 certainly do suck ass and contribute to the general UI fragmentation, but the systems that are the foundation of the Windows operating system are not disparately developed hodgepodges. The same cannot be said for Linux Desktop, although with SystemD taking over everything that might not remain true indefinitely.


> Honestly I'm probably just going to stop using computers so much if that happens.

The state of mobile software (including the OS) has become so awful that I've already decided to stop using a smartphone entirely.


> Linux Desktop has consistently proven that it has no interest in doing anything in a sane or consistent manner

Could you explain that a bit more?


This weekend I was traveling with my kubuntu machine and despite searching for at least 20 minutes, I was unable to find the controlpanel/settings page/widget/app that will allow me to connect a WiFi network, so I gave up and switched to gnome.


Yes, but I won't because I find that posts like yours are only interested in performative argumentation for the sake of convincing some nebulous group of "future readers" that Linux Desktop is worth considering.

I'll save you the trouble: Dear readers, Linux Desktop is fine if you like the way it works. I encourage using tools you like. If you haven't tried it, it might work for you.

I don't like the way works, I've expounded upon the details many times, and I'm not interested in further performative argumentation on the subject.


With ARM, the lack of control might deteriorate even further. While the underlying architecture might not have much to do with it, the accelerators in these SOCs just give more options for Microsoft to collect data and lock down devices even further.


Enterprise desktop is still a cash cow.


[flagged]


I'm curious if you think statements like this really help paint the Linux Desktop community in a good light. Because honestly as much as I don't like a lot of things about how Linux Desktop works the community is also a significant factor in driving me away.


The Linux community is incredibly diverse, some are nice and helpful, some are assholes, some just want to be left alone to do their work.

Generalizing the whole community from reading some forum posts is pretty unfair.


Kinda. I mean, yeah I shouldn't judge every Linux Desktop user by assholes, but it doesn't take very many asshole Linux Desktop evangelists to make somebody not want to deal with the Linux Desktop community because of the likelihood of running into an evangelical asshole.

It's like how women gamers talk about having to deal with misogynist assholes online. Sure, there aren't that many misogynists really, percentage wise, but there's plenty enough to make running in to one a near certainty.


I think it's odd that you think you can make comments like these repeatedly as if you're brand new and as if you don't appear everytime Linux is discussed anywhere on this site to rehash your same opinions over and over again.

It's like running into you is a near certainty.


Dude, I was complaining about Windows in this thread, offhandedly mention I didn't like MacOS or Linux either, and some fucking childish evangelist crawls out of the woodwork to liken me to a domestic abuse victim.


True

Filing bug reports is a exercise in getting abused.

I installed a clean install on a Raspberry PI, installed emcas (which I have used for about thirty years), and found a utility did not work (I will conceal the guilty - it is a common story)

I filed a bug report, and was abused because I was using a emacs distribution that was three years old - how could I possibly think that any problems I saw be anything but my fault , and didn't I have better things to do than waste their time with my idiot ramblings.

What sort of silly child acts like that? What a crock!

Some parts of the Free Software community are much better. (Rust, for example, nothing but respect for my idiot ramblings). But some parts are still full of the "bigger dick" egomaniacs....


Who "acts like that"? Maybe somebody unpaid and abused over a bug maybe already fixed, years ago.

What "silly child" abuses unpaid maintainers? Oh, right, you.

If you just want somebody whose job is to listen to you complain, there are companies that will sell you a contract for that.


> Who "acts like that"?

Large enough portions of the FOSS community that plenty of us can relate.

> What "silly child" abuses unpaid maintainers? Oh, right, you.

Filing a bug report is not abuse, it's literally why there are bug trackers. Take a good long look at what you're doing here and ask why it might be that people hate dealing with people like you.


>Filing a bug report is not abuse, it's literally why there are bug trackers. Take a good long look at what you're doing here and ask why it might be that people hate dealing with people like you.

Doing a quick search to see if the bug you are reporting has been reported before is a requirement on pretty much every single one of them though


Still not an excuse for being a dick to the person reporting it.

This is one of my pet peeves with the FOSS community: they want to be taken seriously as an alternative to proprietary software, but they are completely unwilling to act like professionals in any way, and then the complain that people are sticking with proprietary alternatives.


>they want to be taken seriously as an alternative to proprietary software

They are.

>but they are completely unwilling to act like professionals in any way, and then the complain that people are sticking with proprietary alternatives.

Yet, chances are you are using an open source web browser to access an open source web server through a lot of piping that is modern networking, with open source parts inside and out.


> Yet, chances are you are using an open source web browser

You mean this browser run by and for a gigantic multinational advertising corporation who's de-facto monopoly on the browser market is a subject of frequent griping?


I don't mind if you feel like you have been driven away. Your feelings are your business. Complaining about your feelings is pointless and rude.

It is nobody's responsibility to make you happy. Imagining otherwise is just a formula for remaining unhappy. Blaming others for it will not improve anybody's life, including your own.

My advice is, adopt responsibility. You might be able to improve somebody else's life along with your own.


You don't think likening someone's choice of non-ideal OS over your preferred one to domestic abuse might just be a little bit, I don't know, childish?

I mean, why do you care enough about what OS I choose to even bother insulting me anyway?


You were the one complaining, just as if any of us should care. You are a nuisance. I encourage you to go complain somewhere else, far, far away.


I was complaining about Windows, but apparently my offhand comment that I also didn't like Linux set you off and the rest of this thread resulted.


It's pretty clear here who was "set off".


I've never seen Facebook Messenger installed in Windows by default, having installed Windows 10 thousands of times. This sounds like it is included manufacturer bloatware.


Same here; I've installed emost variations of Win 10 (and all server editions, etc.) and seen lots of bloatware but never Facebook. Though I'm in the UK if that matters.


Apparently they had a telemetry setting they added a while back which they called "security" which they renamed a year or so ago to "Diagnostic Data Off" to better encompass what it is:

The "Diagnostic Data Off" — formerly Security — should be exactly that, as Microsoft has long defined the option as "only the diagnostic data info that is required to keep Windows devices ... protected with the latest security updates." The company admits to some collecting — OS, device ID, device class — but the option waives all user content and data that might finger the user, including company name.[1]

I think that option is only available in the Enterprise edition though, so if you want to pay them for it, it might be a bit pricey compared to other options, at ~$84/year (if you can even buy it for a single account, I have no idea).

1: https://www.computerworld.com/article/3532008/microsoft-elim...


Perhaps Microsoft want to know what numbers you are using, for marketing purposes /s.


Not to mention Candy Crush


That was a icon that initiated an install of the App from the App Store.


Kind of, however it was/is a bit more persistent than that, when you removed the icon trace (from menu and possbily add/remove), it would still re-instate itself on the next major windows update. It was kind of like the tellytubbies windows xp theme coming back every couple of weeks


I know it is sad, but I used to chuckle to myself every time it happened and say "time for tubby bye byes!" as I changed it to something else. I was younger then.


This is a problem with all proprietary software. For example, it's impossible to install most "bought" Windows software outside of dedicated VMs for me and stay happy because (a) most "enterprise" installers still want to run under elevated privileges (hell no), (b) as soon as elevated privileges are granted basically rape the registry and file system all over the place, touching everywhere they shouldn't and (c) cannot be contained because of this except on the OS level, hence multiple VMs and finally (d) cannot really be uninstalled without reinstalling the entire OS as the uninstallers (again, having privileges to delete everything) themselves cannot undo what the installers did.

I have not installed a lot of software on Windows, macOS and Linux in my "main" OS instance because it simply looked and/or behaved shady as fuck.


Refuse to buy products like this, please. We don't need our USB mice turning into printer-level headaches.


I'd love to but there mostly seem to be two separate markets now. You can have cheap junk with minimal features or you can have "gamer" hardware with an extra 0 on the price, components that might be much better but sometimes aren't, the kind of driver hell we're talking about, and lots of coloured lights.

I miss the days when Logitech made great, comfortable mice for normal desktop use, with a small number of useful extra controls and a minimal driver and UI to choose what they did. I miss the days when you could buy a comfortable typist's keyboard for a sensible amount of money.

I literally don't know a single brand that reliably makes good keyboards and mice for normal use any more. Every single one (and I've tried most of the big names) produces junk. Even in the £100+ range that is supposed to be high-end hardware, I have probably returned more than half of the products I've bought in the past few years because they had obvious serious defects out of the box or developed them within a few months of normal use.


FYI: Unicomp still makes Model M keyboards (with USB! and Windows keys! if you want them); and Elecom trackballs are wonderful

I'm hard on that stuff; i killed multiple original 90's manufactured Model M's and wore out a stack of MS trackballs over those 2 decades. One of the fancy logitech "G" blinky lights keyboards lasted less than 3mo under my hands. Kensington cheap trackballs quit moving right in days and stop working in months.


> i killed multiple original 90's manufactured Model M's

...how? I'm fairly sure I could bludgeon a man to death with my model M and run it over with a truck and it would still work.


severe hand psoriasis, and heavy use. Can't really abide gloves or keyboard condoms either.


I know many people aren't happy with Corsair but I bought the rather ridiculously expensive K95 keyboard years ago (it's different now), and haven't had any issue with it apart from killing some of the media buttons when I spilt coffee all over it recently. I don't think it's anywhere near getting replaced.

Other than that I have one of the cheaper models of Das Keyboard for work and have been nothing but happy with it. Also upgraded it with some o-rings so people around me don't want to kill me.

I use both without installing any junk.


I know many people aren't happy with Corsair

You're talking to one of them. Disappointing failures of both mouse and keyboard resulting in returning hundreds of pounds worth of supposedly high-end products within months of purchase. At least one of the problems I had was also getting reported by others by the time I sent that product back, so it also looks like a design flaw and not just bad luck. I think you also need to install their resource-hungry, crash-prone software to make use of most of the special features too, though that's hardly relevant if keys are falling off and buttons aren't registering presses anyway.

I wouldn't even consider buying more peripherals from Corsair for a while. The quality isn't there and they don't work properly in a you-had-one-job kind of way. Worst of a bad bunch in my experience.


I have a Ducky One keyboard, very simple, mechanical keys, well built, no RGB, no additional drivers, and doesn’t seem like it will quit working any time soon.


I too have a Ducky, RGB (though with no computer software, purely keyboard controlled). Spilled coffee over it 2 times, cleaned it, still works. Can recommend!


> I miss the days when Logitech made great, comfortable mice for normal desktop use

I've been using a $25 Logitech M535 (Bluetooth) for years now with my Mac. Works perfectly, no drivers needed. Not too big, not too small, not too heavy, not too light.

Curious what you don't like about it?


It's a personal taste thing I think. I've never been a fan of small mice myself.

For me, something like the Logitech Performance MX was the peak in terms of mouse comfort, allowing a natural palm grip. It had a couple of useful extra buttons by the thumb, and a few other controls I never used that weren't intrusive. I swore by those things for years and had them on every PC I used regularly.

More recent Logitech models have added a second wheel by the thumb for horizontal scrolling, which I do like. Sadly they also come with a long list of regressions. They try to be too clever with the main scroll wheel. They've added other controls that are easy to trigger unintentionally. Most importantly, the sensors really seem to struggle with some common surface types, something that was never an issue for me with the earlier models.

Somehow the shape for the later models has never quite matched the Performance MX generation either. For me they are mostly either too small for a comfortable palm grip or using some strange spiral effect that makes the middle part too high for comfort in prolonged use. I wonder if the spiral ones are meant to fit the claw grip popular with serious gamers. And the models like the MX Master that were supposed to be an improved Performance MX style somehow never quite fit either, though I struggle to put my finger on why that was.

I still use Logitech mice for most things, because they seem to be the best of a bad bunch for me at the moment. But I'd throw them all out in an instant if I could have the one I actually liked back again.


Agreed. This might be the right time to make recommendations as well though, I think a big part of people not buying nicer stuff (things that aren't spying on you) is simply that they don't know about it. Or that its too high-friction. Which again leads to they don't know about a solution that will actually work for them.


And all this BS where I have to sign in, and download 200 MB files... and still no "chords" features on mainstream mice. I have Macros... but those are limited to how many buttons my mouse has.

Like with Chords...

Press Button 1 = Macro 1.

Press Button 1 + Shift = Macro 2.

Press Button 1 + Button 3 = Macro 7

Chords are so powerful but haven't really been adopted... Razer just adds more buttons to their Mice. And there's a limit to how many buttons you can add! Ha.

I could do more with a three-button mouse and software that supports Chords than I can with their like 19-button monstrosities.

http://acme.cat-v.org/mouse


I have been in similar situation with ASUS ROG keyboad and I am so mad! Windows automatically installed crapware without my consent and it runs as a service. I uninstalled it but it keeps coming back.

Do NOT buy ASUS ROG keyboards.


I don’t have ASUS ROG keyboard, but I unfortunately have ASUS ROG motherboard. I experienced similar situation: in order to use some basic functionality of the motherboard I had to install a bloatware which, by the way, didn’t even work properly.

I absolutely agree with your last sentence.


One reason, among many, to avoid products marketed towards gamers.


In principle agree, but I recently switched to a Logitech G Pro X Superlight to use exclusively as a work mouse, and for me the 63g weight trumps everything about “business” mice. Over the years I’ve owned MX Masters, Marathons, Triathlons, Microsoft mice and others. The Superlight - for me personally - is substantially better for work applications than any other mouse I’ve ever used. It’s so comfortable and precise. Kicking myself for not switching earlier.

EDIT: Subject to my comments above about Logitech software on Macs.


It’s a shame they went with an outdated charging port. Probably to have something easy to upgrade on the next version.


IMO there are a lot of quality products in the gaming segment. The main problem is that the segment is bloated by so many "X but with LEDs and a higher price tag". You just have to do a bit more research before any purchase.


Gamer mouse are actually very tough and last a long time, like 5 to 10 years. The software usually is the first to break during the years of usage. Since 2000 I only bought 3 Logitech mouse and once tried Razor but the button double clicked broke in just a few months and never tried them again. All 3 Logitech mouse still works except for the oldest one because the drivers don't work anymore and I can't use the extra buttons, but as a mouse it still works.


Interestingly enough, the only reasonably high DPI mouse manufacturer I've found that actually has functional config software on Mac is Steelseries.


> todo item added: Figure out a way to mass-download all the auto-updating drivers

> todo item added: Start sniffing the protocol this tool uses to reprogram the mouse so I can build a cross-platform tool for it.

This does sound like an intriguing idea. For all those crappy Windows drivers that come with an 300 MiB+ Electron based configuration UI, auto updater, etc... figure out how to get the actual driver binaries and build a script that downloads and repackages them using NSIS.

One could in theory build some kind of Qemu based sandbox framework that snapshots the disk and extracts the binaries after installation. Tricking the updater into actually installing the driver inside a VM without the hardware might be a bit tricky, but depending on how they do the check (e.g. look if the USB ID is present?), I guess it should be doable and might be a bit easier than the reverse engineering approach in this Twitter thread (and also easier to automate, so it does not just work for this particular device).

I fear the biggest challenge for such a project would be dealing with the hardware vendors legal department though.


Or just reverse their stupid ass USB protocol, and don't run their software stack at all. No legal threats with that, because RE for interoperability is legal.

Controlling USB devices is rather simple, once you know the format of "packets" they send to their interface endpoints, to control the device. Format can often times be deduced from observing the URBs in wireshark while clicking around the vendor's app.


> Or just reverse their stupid ass USB protocol

My point is that gets a bit tedious for sufficiently large number of stupid ass USB devices. You might want a simpler to automate approach, and possibly something where you don't have to deal with binary driver signing yourself, which is rather expensive if you are doing this for a hobby.

> No legal threats with that, because RE for interoperability is legal.

The local copyright law where I live agrees with that assessment. I take it you did the necessary research for wherever you live?

But what if your reverse engineered driver infringes one of their stupid ass patents? What about trademarks (e.g. if you try to advertise it as a replacement for the official device driver)?

You do know that even if you are totally in the right, that does not necessarily stop them from suing you anyway? Regardless of who is actually right, this will end up costing you a lot of time, money and nerves.

I'd be very careful making legal assessments like that as an engineer. Responding to a legal threat totally unprepared and with a response like that will make the "sue you anyway" scenario very likely.


Good points.


Curiously enough, most apps talking to the network apparently don't even ask for firewall exemptions and just do it. The Windows-standard firewall exemption dialog window is suspiciously rare to be seen while almost everything today tries to contact network servers. This is why I installed Sphinx Software Windows 10 Firewall Control which apparently does a much better job detecting processes trying to reach the Internet (although it uses the same firewall engine built into Windows). I use it to block every app which doesn't really need the net to do the job I want it to do. Nevertheless it would be naïve to believe it gives 100% protection, there actually are plenty of ways to bypass a firewall.


> and an obvious question: if I do, will I get back any "secret" products that aren't in the "all products" list?

> "Beast Man Premium"

That has to be some sort of USB-controlled pneumatic dragon dildo


I use the Malwarebytes Windows Firewall Control. It's always interesting to see what applications or services are making internet requests. Much of it ends up being Windows services, but still.


We really should have some regulations regarding standard drivers for all devices and compatibility of them. I am dreaming I know, we don't even have right to repair yet.


The Microsoft IntelliMouse Optical is an amazing mouse. I've been trying to find a keyboard and mouse combo similar to the Apple Space Grey mouse and keyboard, and there is nothing to be found like it.

It's so depressing. You pay premium prices yet everything looks like it belongs in a 15 year olds room.

If I could have something like the apple mouse, with physical buttons and a scroll wheel - I would be in my happy place.

The Apple keyboard is such a pleasure to type on.


My Dell laptop had an 800MB Realtek audio driver update. If I uninstall the Realtek stuff then the 3.5mm headphone socket doesn't work.


My old laptop had a Killer network driver that was bundled with some management bullshit which allowed you to limit ingress/egress bandwidth. It also had a known issue where it used 100% of your SSD I/O bandwidth by constantly rewriting a random file. I guess it was aptly named after all.


And I thought on my companys HP ZBook the sound driver is huge with 500MB in RAM.


It must be a multiuser mouse.


I presume other user is NSA?


Why would they need that when they already have low level access to your computer?


just for fun


stay in game shape


If I may post something off-topic

1. I like Cherry mice. Good value for the money https://www.cherry-world.com/products/office-and-home-office...

2. Does somebody use the Apple Magic Pad under Linux? How to enable right mouse click?


Startup idea: Subscription mouse.


I want to renew my subscription, but I can't click renew.


The maas (mouse-as-a-service) requires that you install the companion app through which you can activate your mouse and conveniently renew. It does require access to contacts, media and location services though but you can trust them.


Don't worry, the mouse will click it for you, automatically!


It has a dedicated “renew/upgrade” button, conveniently located where the left click button used to be.


Pay per click license or subscription with a base set of clicks per month with a lower per click price. We also sell keyboards with the same golden customer service.

Platinum level sold separately.


sell mouse movements to drug companies so that they know who to show Parkinson disease ads to...


Also plenty of companies might be interested in what you're looking at when you switch to using the mouse with your non-dominant hand.


I've had the reverse happen, where I had to configure my firewall to deny outgoing connections for Steelseries Engine. AFAIK it's the only way to prevent it from updating to Steelseries GG, which adds things like "Moments" and "Giveaways" but offers nothing new for configuring Steelseries hardware.


This is why I like Linux, the mouse driver just asks for root and adds the firewall exemption itself.


I can't find it online because of all the current mouse freezing issues but I recall that the very old macs (late 80s) would freeze on mouse down until you let go of the button.


Christ, what a nightmare.

I'm lucky I guess in that my mouse preference is actually the Apple mouse. I've tried a bunch of others of the years and keep coming back to it.

I'm definitely aware of the shitshow that is peripheral drivers. It's always been bad, but now it's just awful awful awful. Even if someone introduced a mouse that appealed to me, I'd be hard pressed to bother given my suspicion that the software required would be terrible.


Are you referring to the default Apple corded mouse they ship with iMacs or the Magic Mouse? Magic Mouse is nice, but of course isn’t for everyone. I have it for my dev machines but trying to use it for playing most types of reaction style games is a nightmare. BootCamp driver compatibility is also not really there. I have never been able to get my Magic Mouse to scroll using the touch motion on Windows, for instance.


As has been copiously pointed out, I don't think a corded mouse has been an option from Apple for a long, long time.

I mean the Magic Mouse -- the one that makes some people enraged because you can't use it and charge it at the same time. (Turns out: this is literally never a problem.)

Of course, mice (and keyboards, and pens, and notebooks, and and and and and) are intensely personal items, and what works for me is just that: what works for me. I don't really use Windows except in remote desktop sessions, so compatibility with MSFT doesn't matter to me. I don't play games on my computer much anymore, but when I did I used a trackball that, if memory serves, didn't require any drivers.


Apple hasn’t shipped a corded mouse for four years.


For anyone else momentarily confused by this, they stopped selling the last corded mouse four years ago, but haven't bundled a corded mouse with any computer since 2009 AFAIK. Which makes the comment about "corded mouse they ship with iMacs" feel even older.


Interesting, I could have sworn they were bundling the corded mouse with iMacs circa 2015. Are you sure about your comment about bundling?

In any event, yes I did not know they stopped shipping them but that is only a good thing. I think the polite way to describe the quality of those mice is not very good. Several more impolite terms come to mind.


I'm not certain, but I believe they started shipping the flat magic mouse, er, mice with the 2009 iMacs and 2010 Mac Pros. Unless you only got the magic mouse with an upcharge? That could be the case, although I think it was standard.

I traded my own iMac in a few years ago, but got to keep the peripherals. I'm not a huge fan of the, uh, flat ergonomics, but it is an amazing mouse when you need one to throw in a laptop bag, and the sensors are top notch when it comes to actual tracking. If only it came in a more ergonomic shape...


The latest Bootcamp drivers fix this.


Good luck with it when your mouse downloads all your photo library and send it to government, soon.


If I were designing the mouse, I would nickname the upstream servers "Rats' Nest".


Next thing it will ask for your social media credentials, might even post a few status updates.


USB mice alone was a mistake. We didn't need anything more complicated than rs-232.


I have this mouse and it makes me sad. It's actually a solid mouse too!


I wish USB devices just came with read only storage that had the drivers


I wish most USB devices wouldn't need drivers at all, and just use standard interfaces. It's a mouse, we've been making them for half a century, why could it possibly need a custom protocol?


That is a good point, but that would limit things to the standards. Sure, things that are standard should use standard interfaces, and I bet this mouse works perfectly fine with the standard interface, but adds some extra functionality beyond that.

Granted, it's absurd it needs internet access, I'm just saying that regardless of how well they are written, it would be nice if some drivers were available from the device itself.


What functionality can a mouse have that couldn't have been standardized 20 years ago? I haven't encountered a mouse that had more than some sort of pointing device, scrollwheels, buttons and possibly some LEDs.


I think someone mentioned this particular model needed the driver for customizing the LEDs.

Off the top of my head, non standard features could be

haptic feedback, vibrations, or purosely slowing the mouse down for interacting witha game

palm print reader

electric shock if the wrong person uses it

locking mechanism for a secret compartment

temperature sensor to let you know you might be sick

fan to kick in to cool your hand off if its too hot

persistence of vision display using the laser on the bottom

That's all I got right now, but the point is if someone wants to do something weird they should be able to.


> What functionality can a mouse have that couldn't have been standardized 20 years ago?

Apparently there are some wacky domain specific mice: https://3dconnexion.com/uk/product/spacemouse-enterprise/


I've never installed the drivers for my mice. They all point and quite often click.


Did the driver pass WHQL?


just use linux


Love my Mac and most of apple’s policies


Apple do literally the same thing with their Mac Windows drivers.

https://apple.stackexchange.com/questions/24118/how-to-downl...


I don’t see how it’s related. If I plug in a random device, it’s not allowing me elevate my privileges / get root access


I'm confused, it seems like you are talking about something different than the original Twitter thread. The complaint there is that hardware that's officially supported on Windows does not have attached/downloadable driver for archivation and the only way to install driver for Windows is to first install elaborate middleman software and only through that it's possible to download and install the real driver from manufacturer's servers which must be online. That's word by word the same case for Mac hardware. The stackexchange answer I provided is the equivalent procedure as what Foone tries to explore in his thread, just for Mac's.


That's weird. I thought this article was linking to the Razer driver admin on windows escalation.

https://www.bleepingcomputer.com/news/security/razer-bug-let...


I I’lli


158MB mouse driver. Lololol


stop software now!


The 3rd party mouse situation on Macs is totally out of control.

I recently bought a Logitech G Pro X Superlight to use as my daily driver on an M1 Mac. The mouse, it’s amazing. But Logitech’s software is a fucking car crash. A casual perusal of Reddit and customer forums will confirm. Runs as root, Sensor DPI won’t stay set, on-board mode flat out doesn’t work, requires manually setting permissions on a config file in order to save settings (!), etc.

After struggling with it for several days - including trying to set it up in on-board mode on a Windows PC before bringing it across - to no avail, I finally came across Steermouse (http://www.plentycom.jp/en/steermouse/index.html). Was then able to fine tune cursor and scroll wheel speed and acceleration, middle and back / forward button customisations, etc. Nuked Logitech’s crap from orbit and never looked back.

I’ve had similar experiences over the years with multiple Logitech mice on multiple Intel Macs - mostly using Logitech Options instead of GHub. You just can never get it quite right.

So, PSA: if you’re on a Mac (AS or Intel), own a Logitech mouse and fucking hate your life, try your luck with Logitech’s software. Otherwise, get Steermouse.

EDIT: Forgot to mention: if all you want is button customisation and you don’t want to pay for Steermouse, Karabiner-Elements is free and will have you covered. You may already be using it anyway to, eg, remap your Caps key. It can’t do cursor or scroll wheel adjustments, though.


I use the Logitech M510 on my Mac, and love it. Bought it in 2012 or 2013. The form factor of the Mac mouse is just a deal-breaker for me. Its beautiful, but makes my hand hurt.

I never installed drivers for the mouse. Its just a mouse; I shouldn't need them.

I recently bought their updated version of that mouse for our Windows machine, and tested it on my iMac; no drivers required. Maybe there are fancier mice that require special software, but I hardly use the fancier scroll functions of the mouse I have, so I have a hard time believing there'd be other controls that I'd be willing to install new software for.


I've been using Linux for 2 decades now, and cannot remember a time a mouse didn't just work. Mostly Logitech, from PS2 to USB to wireless.


It depends. I'm always on the lookout for a better mouse for use in CAD on Linux. I've mostly settled on the Logitech Anywhere 2S, because it does "just work", but this is hardly a universal opinion. At least within my workplace.

I've found basically all mice will work if all you want is scroll and left, center, right buttons. But if you want all the extra stuff, like the various wheels and side buttons etc., and especially if you want to customize the response, which CAD people often do, then one often needs the driver.


Out of curiosty, which CAD software do you use on Linux? While I don't use CAD very often, all the software my engineer friends swear by only runs on Windows so any Linux recommendations would be appreciated.


Not OP, but I finally switched away from Fusion 360 to FreeCAD - https://www.freecadweb.org/

I'll be honest, Fusion 360 is still a lot better in a lot of ways (advanced feature set, ease of use, layout and hotkeys, etc), and if I were employed to do CAD full time, I'd still be using it (helps that the company would be buying the license).

FreeCAD is workable, though. And since I'm mostly just making parts to 3d print, it gets the job done nicely.

TinkerCAD is another option (https://www.tinkercad.com/) and it's honestly the easiest CAD tool I've ever used. But it's not really comparable to the real parametric CAD tools.


I'm an EE so most of my work, that requires a lot of mousing, is layout which involves various Cadence/MentorGraphics tools. I think most of the mechanical engineers here use NX. It's industrial grade, very expensive, and not open-source, etc. The mechanical engineers used to use windows too and moved off it a couple of years ago. No idea why.


Yeah, my CAD software, Rhino, is all that ties me to Windows.


FreeCAD?


Lately I have returned to using a gamepad with Joy2Key for browsing and productivity in Windows, something I last did in the 2000's. It's not perfect(some mouse events just don't work right through this method so I may have to try other software) but it's reminded me of what gamepads are good at relative to mice, which is - almost everything except whipping around the cursor, which isn't useful in productivity apps anyway. Precision and speed can be had by using multiple sticks and dpad, you can hold it at many angles and aren't chained to the desk, the grips have been ergonomically refined, and there's a decent selection of sticks, buttons and triggers. I wish gamepads had some wheels or dials too, but the options already there are aplenty and I am testing a few out right now.

I currently mix gamepad with a split keyboard(Freestyle 2) and a Kensington trackball as the backup mouse; having the controller in the center of the split makes it smooth to pick up and put down. And if I really needed more dedicated controls - well, why stop at one gamepad? Maybe I should try a flight stick too.


On Linux I just use xbindkeys to get the extra buttons to do something. The extra mouse buttons work out of the box with X with no drivers, they just need to be assigned to do something.

I have 2 extra mouse buttons for switching between virtual workspaces and another 2 for volume control.

https://github.com/dheera/scripts/blob/master/config/config-...

https://github.com/dheera/scripts/blob/master/config/files/x...


Gotcha... that makes sense. I've never required more than two buttons and a scroll wheel, which I guess explains that.


I've used Linux over a similar time period. I remember plenty of times when the scrollwheel wasn't mapped to anything, and I needed to stick a value for ZAxisMapping into the X configuration. At this point, it's been a number of years since I needed to do that manually, but it used to be a pretty regular thing for me.


Huh, my wireless mouse does all kinds of weird stuff. The oddest is that sometimes Linux decides that two mice are attached despite there being only one USB dongle plugged in, and the only solution is to turn off the mouse, unplug the wireless receiver dongle, plug it back in, and hope it worked. Otherwise it's either reboot or rmmod/modprobe.

Of course, the mouse is a Razer...


Can confirm. Have been using wireless Logitech MX master 3. There is like 1 in 10 chance that my Linux machine hangs when putting it into sleep and I touch the mouse. Also it is almost guaranteed the machine freezes when i turn the mouse off with the switch on its belly while putting the computer to sleep. It taught me to always save my work at least:)


Interesting - I also have a wireless logitech mouse connected to a ubuntu machine that intermittently crashes when going to sleep. It hadn't occurred to me that the crashes might be linked to the mouse.


I've felt the same way, even on a Mac, but I don't really care about how my mouse "feels" compared to some people. Does the cursor move? Good enough for me.

That said, I'm all in on trackpads 24/7 now and have been for years. Nobody does trackpads better than Apple and using a giant external one while my laptop is docked helps me to remain productive when I need to undock. So much of your productivity is muscle memory and by using a trackpad full time, I'm also flexing those muscles.


I agree that Apple's track pad is the best out there. I find something are just not done well on track pads though. Certain games, certainly. Also things that require long click and drags.


> Certain games, certainly.

An acquaintance mentioned that her daughter damaged the trackpad on her MacBook. She was making do with a regular mouse, but apparently hated it horrendously for Minecraft and desperately wanted to get the trackpad fixed. I can't even wrap my head around the idea of Minecraft on a trackpad.


I've been using the Logitech G502. While the mouse does work using standard USB drivers all the extra features require an open source program to manipulate.


External mouse - agreed.

Trackpad support though has had many issues over the years in my experience across devices & distros.


I came here to post the same thing. I've been using Logitech mice for something like 20 years on my Mac and have never once installed a driver. I recently learned the some Wacom tablets drivers request network access. WTF? There's no legit reason for a driver to need network access. There could be a separate program that checks for updates and prompts the user to install them if desired. It shouldn't be part of the driver, though.


Wacom drivers are known to be problematic.

Wacom tablets track every app you open, last year: https://news.ycombinator.com/item?id=22247292


I agree - it's a simple mouse and it works well on Windows and Mac without any additional drivers. If I needed more, I'd just get an Apple trackpad.


I wouldn't normally chime in with a "me, too!" but it's worth reiterating that Steermouse is a godsend for mice on Mac. Whether it's sensitivity and acceleration or setting up extra buttons (and chording buttons!) it works splendidly and I don't know what I'd do without it. Using it with a Logitech MX Anywhere 2 myself.


I’ll echo everything he said about Steermouse, except to substitute for Razer’s bananas mouse software, not Logitech’s.


I don’t think Razer even has Mac drivers anymore, they went Windows only with Synapse 3. And with Apple’s recent and repeated breakage of backwards compatibility, I doubt Synapse 2 runs anymore. It would have used used a kernel extension instead of DriverKit.

Just as well, since Synapse is terrible.


You ever been in a car with a driver’s seat that has way too many options, so you can never really get the right position? That’s why I’ve never tried Steermouse. I’m afraid I’ll spend all my time trying to get all the settings right and constantly be frustrated.

But after this thread, maybe I just just try it.


Skip straight to the Cursor tab and set acceleration to .8 and sensitivity to 1775. Tweak from there only if you feel it's necessary.


To be fair, it's garbage on windows too. The best solution I've come up with is a VM to configure the on-board settings and then run without the software normally


Thankfully most of the better mice keep their settings (including macros) in hardware. So you can save all the profiles, settings, macros, button customization, etc, to the mouse, and then take that mouse to any computer and it'll work fine.


Which mice do? Is there a list somewhere? I just got a Steelseries mouse and the programmability only works if the driver is running in the background. I might as well just use Autohotkey. My previous A4Tech mouse was actually programmable.


My last Razer mouse did, as do both my Logitech mice.


Thanks. Can the macros have loops and conditionals? E.g. keep sending left clicks every 0.01 seconds until I press the left mouse key.


I have a Logitech g305 and it definitely doesn't run at the full polling rate without the stupid G Hub software running. It's noticeably smoother once I launch G Hub. Does anyone know if 1000hz polling doesn't work with the standard HID drivers on Windows or something?


My experience was that the dpi and everything else would reset itself after reboots and I'd have to launch the software for everything to work again, even if I set on-board memory on. Super annoying and may be the same thing causing your problem.

I believe the g305 works with the old logitech software, which is much better than ghub. You should give that a try and see if it solves your issues with having to launch ghub just to get your mouse to work properly. Here is a link: https://support.logi.com/hc/en-ca/articles/360025298053


The g305 does work with the previous software, but my Logitech steering wheel does not :( So I'm stuck with the new and terrible G Hub. Hopefully I can ditch the Logitech ecosystem whenever I get around to upgrading to a Fanatec wheel.


So I am a membr of the trackballs subreddit. I run almost exclusively linux so I don't run into this issue, but two of the popular brands for trackballs are Logitech and Elecom. Elecom's software is far worse than Logitechs (also their firmware only vaguely respects the USB HID spec, so none of the extra buttons work with a generic HID driver).

There are dozens of threads asking about how to use logitech and elecom trackballs on Macs and they all end up with "Well, I finally got steermouse and all my problems have gone away"


Funny how the manufacturer does such a bad job there is money to be made in shipping an actually functioning driver...


Elecom doesn't even try with their firmware. They send an identical HID descriptor regardless of what the device actually supports (x +y scrollwheel, 5 other buttons). Here's the linux workaround:

https://code.woboq.org/linux/linux/drivers/hid/hid-elecom.c....

If you use a recent Elecom device and an LTS linux kernel you need to patch your kernel just to get the buttons working right!


Huh, interesting. I have an older Logitech G700s mouse, so it uses the older Logitech software. I never had any issue with it on a Mac. I only used it occasionally to adjust the onboard settings, and then forget about it for years on end.

I now have a G703 (so new G Hub software) and while I haven't tried that on the Mac, I can configure the onboard settings from Windows or from Linux [0] with no issues whatsoever (aside from setting a button to show the battery level, which, for some reason, doesn't work).

---

[0] The Logitech software doesn't work on Linux, but Piper/ratbag work just fine.

https://github.com/libratbag/piper


> The Logitech software doesn't work on Linux

This is funny, considering it's an Electron app. They just didn't take the time to port, apparently.


Electron app are crashing every day when i'm doing something CPU intensive on my linux (i tend to have VSCode + Discord open, and pods in the background). 8 double-threaded core and 32G and this framework take one full CPU per app and crash when a deployment decide to take a fraction of the CPU computing power.

I now open Discord exclusively with firefox.


Mine never crash on Gentoo. I have 32 GB of RAM though.

I always have Discord, Element, VSCode (two windows), and two separate Chrome profiles running at the same time and I haven't seen it crash in weeks.


Have you considered the flathub Discord repo? I have been using it for over a year with no hiccups.


I see this quite often and wonder what the reason is. Even for what seem like "basic" apps, as in not needing much interaction with the OS (say a note-taking app, as opposed to a video-conferencing app that presumable does more involved things, like GPU acceleration).


It still requires you to build on each environments once to make the native dependencies work properly. Although I don't think it takes too much efforts to do that. But besides that, signing binaries on mac is complex and requires you to pay $100 to apple. For someone that don't use mac at first place, they probably don't even bother do it.


Is this build somewhat complex and / or not guaranteed to run well?

I have absolutely no experience with Electron development, and actually believed that the cross-platform thing was free (or almost). Again, at least for apps that don't need special functions that could be platform dependent.


Technically it is free, until some native dependencies involve. Because you still need to setup build chains on each platform to make them compile. For example, vc on Windows, gcc on Linux, xcode on mac.

Besides that, unlike java, nodejs don't bundle a lot of stdlibs by itself.(It don't even have a lib for manipulate images!) So you end up being required to use custom native modules for some specific tasks.(If no js alternative available)

The nodejs way is build yourself, so you will have the right one. But since it is a bundled electron program, it doesn't work and you need to prebuild it.


To be fair it seems the low-level parts, like interfacing with the mice via USB, would be harder to port to Linux and are unrelated to electron.


Looks like this software does not comply with EU regulations about refunds.

> The registration information is not refundable because it is a short string and easy to copy. We cannot accept any refund requests for it. Please try this software before purchasing a license. You do not have to pay unless you are completely satisfied with this software.


For some goods the customer can be asked to agree to a no-refund.

This is happening here.

For Germany, see https://www.it-recht-kanzlei.de/digitale-inhalte-widerruf.ht...


1) There is a trial period which allows to evaluate the software for its fitness. The software is time-limited instead of function-limited, which means that it'll be in the consumer's fault if they bought the software and found out that it didn't work (except for very limited problems, for example relating to said registration step).

2) EU regulations do have a nuance - and in this case, 1) makes determination if said software needs to have a refund policy for the consumer harder. While WinRAR does have a refund policy, it seems the period for refunds is shorter than what is mandated. win.rar GmbH is based in Germany, so how it did bypass these rules? Spoiler: they didn't, the rules allowed them precisely due to the evaluation period.


The situation’s not all that much better on Windows, given that I put up with Logitech’s shitty software crashing every time I unplugged a USB device for some months.

Eventually just put the mouse into onboard profile mode, assigned all the buttons to F13-24, then mapped them with AutoHotkey. GHub, goodbye and good riddance.


The mouse situation generally in the mac ecosystem is hot garbage. You need a third party tool to disable cursor acceleration and scroll wheel acceleration (both of which are major quality-of-life features). You also can't map pressing the scroll wheel to a click-and-drag scroll.


Is there a reason why? Does OSX lock down the driver subsystem or something?

Personally I don’t have a fancy mouse (just a cheap wired Microsoft one) because it’s hard to find good ambidextrous mice. So it probably just uses standard mouse drivers.


I think the reason is that consumers of expersive & customizable mice are gamers who almost exclusively use windows.

Razer used to have a mac version of their app but they just decided to not make their new app and support any new devices several years ago.


Ah—yeah that makes sense. I would like to foray into better hardware territory at some point. There certainly could be a lot of value for all applications with quick mouse-triggered macros and whatnot.

I typically swap my mouse hand to prevent repeating stress injuries so there’d have to be better ambidextrous support!


Logitech/Razer/Corsair, all trash software. Thankfully I was able to work around having to use Razer with some open source software but I'm still stuck with Logitech (Logitech G Hub) for my camera and Corsair (iCue) for my headset. /Every/ /single/ /time/ I join a Zoom/video chat I have to open G Hub to fix the zoom level (set it back to 100%, it's stuck zoomed in ~120%). It's incredibly infuriating to join every meeting zoomed in, have my video freeze for 1-5 seconds when I open the camera settings in G Hub, then have my image pop to the right size (note: I don't have to click anything, just open the camera settings to fix it). Also I have to close (red button in top right of the G Hub window, not full quit) the G Hub window in between meetings (If I leave it up and just back out of the camera settings it won't fix the camera when I click back into the camera). Also sometimes G Hub just doesn't open and it's got 2-4 (lghub, lghub_updater, lghub_agent, lghub Helper) processes that you have to kill in quick succession to really kill the software (or they will restart each other) before you can restart it and try again. It also appears to need an update once a week or so which is fun to find out when you open it to fix the zoom level and have to wait until it finishes updating and relaunching.

Razer was a huge PITA constantly forgetting my config and I couldn't be happier now that I have Karabiner handling everything for my Razer device.

Corsair makes a great wireless headset that plays nice with Mac and has good range (I can walk around almost all of my house and stay connected which is a godsend for Zoom hangouts with friends). Unfortunately, their software, iCue, is trash. It regularly tells me my headset is "Unavailable" when it's working just fine and if I leave my headset off the charger (aka, I don't plug in it) and it goes to sleep then it's a 50-50 chance that it will forget it's config. I couldn't care less about the RGB nonsense on the ear cups but the bright LED on the mic boom (green = on, red = off) is distracting. Thankfully they have a setting to only show the LED when the mic is off (exactly what I want, I want visual confirmation I'm muted). The problem is if it loses it's config that defaults back to always on and I have to do a dance of killing the iCue software and relaunching it until it fixes itself.


> I don't have to click anything, just open the camera settings to fix it

Fyi I frequently have to open zoom camera settings to make my laptop camera (Linux, darter pro) work. The fault may your case be shared with zoom, which is also a dumpster fire.


That's very fair, I feel like I've tried nuking Zoom from orbit to fix this and it didn't help but there is a chance I've missed something. Thanks for sharing your experience, I'd love nothing more than to be wrong and find a way to fix this in Zoom!


Sadly I can't help with a fix. I just open the zoom settings and if that fails try restarting random stuff and if that fails reboot my computer.


iCue is the worst software I've had the pleasure of working with. For months I was trying to debug lag spikes in games I was playing, turning off services, closing every application, using different wireless adapters, even connecting through ethernet was giving me lag spikes. Finally traced it down to iCue doing something in the background where it would pause/block all outbound traffic except for itself for a couple hundred ms every 10 or so seconds. God that was infuriating.


Do you HAVE to install third party software to make your mouse work on a Mac?

I tend to just ... never install any software like that on my Windows PC.


The HID drivers that come with your operating system work fine, but you’ll be missing out on any manufacturer-specific customization features (nonstandard buttons, remapping, DPI settings, lights, etc).

I also don’t tend to install software like that (including the GUIs for graphics drivers too—just install the driver through Device Manager) and I don’t care about the lost functionality. But if you want your fancy gaming mouse to have most of the special features it was advertised to have, the software is useful.


If you have a mouse with more than left, right, middle buttons and scroll wheel, it needs a 'driver'[0] of some kind so you can configure what the extra buttons do. Otherwise you can ignore the extra buttons and just use it like a normal mouse.

[0] I don't think it's an actual driver, I think it just remaps USB HID events from the built-in driver.


Nah. I'm on a Logitech 720 (bluetooth, wireless, many buttons) and didn't even know there was anything that I could download for it for Mac. It just works.

... but I don't care about customizing button behavior or anything like that, and only have a mouse this fancy because I wanted to 3-device switching on it (so I could easily use it on Windows and iOS, too). Though now that I've got one I'm kinda in love with the free-spinning scroll wheel and would have trouble going back to a normal one (though I hated it at first).


No, you dont. They work fine (at least my MX Master does) without, however you may loose some features like back and forward. Plus you need the software to customize settings like what button does what.


> The 3rd party mouse situation on Macs is totally out of control.

Agreed. I have a 3Dconnexion CadMouse Pro Wireless, which is the only mouse I could find with [an actual middle mouse button in addition to a clickable scroll wheel]. After upgrading to Big Sur, physically clicking any mouse button doesn't register click events with the operating system. So I can move the cursor but not click it. The recommended workaround is to plug it in with the USB cable and use it that way.

Is it 3Dconnexion's or Apple's fault? No idea, but this is just insane. When was the last time an OS upgrade caused your _mouse_ to stop working!? It's like taking a time warp back to the 90s.


I've got a Roccat Kone Aimo Remastered (ROC-11-820-BK, P/N GM1820-02-A01). It's got a wheel (with tilt), 2 clickable middle buttons, front/back, and a a sort of "shift" key for the mouse (hold it and any button can be mapped to an alternate function). Pretty comfortable (to me), and the driver can save all the settings to hardware in the mouse, so you theoretically don't need to keep the driver installed after you initially set the mouse up.


Just as a counterpoint, I have G703, which I daily use on macOS and Windows, and hadn't had any issues with it or the G Hub.

However, I'd prefer native, non-Electron app, that doesn't take 350 MB of space, just to configure my mouse (G Hub).


Wait what, G Hub is a Electron app?! Well, that explains why the software felt odd/off compares to Logitech Gaming Software.

I have G600, the software works in my MBA M1 but it couldn't pick up my mice. Because G600 is connected through the mini dock station dongle.


Those days every software rewrite is Electron. It's a plague.


453 MB on my install. It's such a useless app that I used it once, configured everything, and then verified that the same mouse worked fine with libratbag on linux -- it does (I have it on a KVM box between two different machines). Next time I'll just configure it on linux. Their hardware is good -- but the software is awful.


Here on Linux, it (the Superlight) just works.

There's libratbag[0] if you want to mess with some DPI settings.

0: https://github.com/libratbag/libratbag


Not dissimilar w/Windows, although maybe not as bad - the 1st thing that came up just now in a search for my device was a Logitech Support page about "If you are having trouble with Mac..."

I use a M-R0056 MX Ergo trackball, primarily for CAD. It's fantastic hardware, very precise & responsive, controllable, and reliable even after years of being packed into/out of a laptop bag almost daily, etc.

But the drivers? Ugghh. After looking at all the great function mappings and other stuff they could supposedly do, I did a whole bunch of setup, and found that the software was, to be very polite, flaky.

Tried multiple fixes, but in the end, just de-installed and ran the hardware with the default Windows mouse software ever since. The Logitec software is just a complete waste of time.

I haven't been in windows internals since Win32, so I have no idea if it is MS making it impossible to make good drivers, or it's lazy 3rd parties shipping second rate stuff. To me it feels like it's 2nd rate managed as bloatware - just use the biggest and quickest libraries available and ship it, but that is complete conjecture. Either way, it is really disappointing to get such good hardware and not be able to take advantage. If anyone has any insight as to why it's so bad, or what can be done about it...? E.g., is there a similar obscure utility like Steermouse for Windows (looks great, but seems Mac-only)?


Using a Logitech M185 barebones wireless KB + Mouse with no issues on a Mac. Plug and play.

2021 would be the first time I've even heard about headphones needing the vendor's app to work right, or input peripherals needing to install its own drivers like its 1998.


I think i'll stick with my cheap-o gaming mice that all run plug-and-play.

almost 100% of the big-name companies that sell performance mice have this wierd thing where they force you to download and install bloatware just to have your mouse work properly.

Had that problem years ago with my MadCatz R.A.T.. When MadCatz went out of business, my mouse turned into a paperweight.

Currently using an A-JAZZ AJ52 (about $10 on amazon). Been using it for over a year now and it works perfectly for work and gaming. Drivers are plug-and-play, so no bloatware installed along with it. It really is nice.


Horrible software is why my Razer is in a box of unused wires. I am now sporting a Redragon that they have not even bothered to change the USB PID/VID, so it reports as a Pixart mouse (devkit?).


I used Logitech mouse on a Mac few years ago. I used Windows PC to configure it and it remembered all stuff inside. I did not install anything on Mac, it just worked. It's a pity to hear that they broke it.

I used Asus mouse. It was truly underwhelming, even on Windows. It did not remember its settings, instead some "driver" software applied those settings on Windows startup, which caused mouse device to disappear for a few seconds every time I booted my computer with annoying plug-out, plug-in sounds.


I had a Logitech G930 headset and a Logitech G-series keyboard and mouse. Worked great. Then one day it updated (in the background).

Without the software running, the extra programmable buttons on my mouse (which I used a lot) wouldn't work, which is normal.

With the software running, my G930 headset would now reconnect over and over for ten minutes whenever I plugged it in or turned it on, making it almost useless.

It eventually resolved itself, but I don't know when because I didn't use it for a few years. Ugh.


I tried 3 different mice on macOS and finally just bought a Magic Touchpad. I never understood why Mac folks were obsessed with keyboard shortcuts, but now I know. Mouse on Mac completely sucks and it's embarrassing.

I have a Mac machine and a Linux machine side by side and my efficiency on Linux is like double that of on Mac, even though I use the Mac 90% of the time.

(Mac destroys everything else on 4k scaling, though. Linux is atrocious at that. Windows is just "good enough.")


> I never understood why Mac folks were obsessed with keyboard shortcuts, but now I know.

No. Most Mac users are obsessed with keyboard shortcuts because they're faster and more efficient. This is true whether a mouse experience was super optimized or not. If you're typing moving to a mouse takes a lot more time than using a keyboard shortcut. Similarly being a left-hand shortcut wizard is highly effective when combined with a mouse as well.

Lets not use stupid hyperbole here.

I think 99% of Mac users could plug a mouse in out of the box and use it just fine on a Mac. Those that need the extra support can just as easily install one of the many 3rd party utilities that better handle mice support than the manufacturer.


I disagree here. I use keyboard shortcuts on both platforms, but I can be fast either way on Linux, while on Mac I just can't get used to the acceleration curves and other odd behaviors that simply don't happen on the other platforms with the same mice.

I tried Microsoft, Logitec, and SteelSeries, which is about as great a variety of mice as can be expected.

I know I tend to be in the minority on HN in my dislike of macOS, but I'm trying here.

Conversely, I really really like the magic keyboard, and having an extra accelerator button is pretty nice (that isn't the stupid MS button).


The fact that mouse acceleration curves are such a common irritant is a bit mystifying to me. I jump between macOS and Windows frequently and occasionally dabble with Linux, and any differences in "cursor feel" disappear within ~30s of usage, after which I can't tell that there's differences in the curve at all unless I'm specifically looking for it.


Ditto, it's something I rarely notice and that never bothers me. I game on Windows, use Linux desktops occasionally, and work on macOS mostly. Former mainly-Linux user, too. Whatever the defaults are for Mac cursors don't bother me a bit. In fact the only system customization I really do with a new Mac is to install Spectacle, and then use its defaults without configuring it further. That's about it. Oh, and set caps lock to an extra ctrl, which you can do through the normal Mac settings panel with a few clicks. Otherwise, I don't even know what I'd want to customize, behavior-wise.


Have you tried using tools like Steermouse? It has been awhile since I've used it but as I recall it allows controlling a lot more of the mouse behavior than the system does in System Preferences.


I have used a few tools, but most of the ones that worked for me in the past died in the last few major versions of OSX. I don't believe Steermouse was one of them, though.


Exactly, I don't care if the mouse is "tuned", I just care that the cursor moves at a reasonable tracking speed.

That said, I'm full time trackpad, even on desktop, so mouse stuff is rarely an issue for me. I'm only using a mouse in specific scenarios.


I have a Logitech G305, which I love. I configured the buttons inside of a VM, threw away the VM, and I never intend to touch the software again. (Unless I get a new mouse.)


In the past when I ran into this issue it was trivial to reverse-engineer the vendor's mouse app and re-play whatever commands it was sending the USB driver/filter. If anyone has a G100s or a Razer DiamondBack 3G, I think I should have the commands saved somewhere and I'd be happy to dig them up.

Since then, I've switched over to a driver-less mouse where everything is controlled via mouse buttons (XTRFY MZ1).


I manage a ClickOnce application and every now and then a call will get escalated to me because it has suddenly become untrusted by the operating system. The root cause is the software for the MX Master helpfully sets some reg keys to distrust all ClickOnce applications every time it updates. Customers have been complaining it on their customer service forums for years about it.


I have an M720, which requires Logi Options for smooth scrolling on macOS (also M1). It's monstrously large and has a weird UI, but besides that and it wanting full access to my key strokes ... it's okay. Stays out of the way, I haven't thought about it much at all.

That said I do have some weird issues with my mac and haven't rules it out as a cause.


From steermouse front page: "Includes some options, “Double Click”, “Click Lock” and so on. A letter key is available for these clicks. For example, a space key + click allows you to grab-scroll in Photoshop."

Isn't this the default behavior of Photoshop? I've been using space+drag since moses was a baby. How is this a feature of this software?


I feel you man, I don't know how companies can make such good physical products and shit on them before selling with software of malware-esthetics w/prince-of-africa-wants-your-bank-account-info-to-help-with-his-fortune permissions, crashing as main functionality three-ring circus to provide checkbox and slider config.


If you authored a book in which you just trashed a particular subject, I would read it.


I use an Logitech MX Master 3 mouse on M1 and can't say I had much issues with it. That being said, Logitech has zero support for Linux. A +$100 mouse will turn into a cheap $5 mouse when you connect it to a Linux device, which is very frustrating since I would like to use my mouse across all my machines...


I use solaar[0] on Linux for my MX Master 2S; it's really nice and mostly works out of the box!

[0] https://github.com/pwr-Solaar/Solaar


Solaar is in the default repositories of Ubuntu, and it does everything the Logitech Unifying Software does, but unbloated.


> But Logitech’s software is a fucking car crash

The old software worked well. I was super disappointed when I got a superlight that it simply didn't work with old software. I'm on windows but describing the new software as a car crash is still extremely accurate.

Anyone know of software similar to steermouse on windows?


It's a total mess.

What keeps me sane is I bought two G203's, configured them on my PC, saved the settings to the mouse itself, then used them on my work and home Macs. Note this isn't required, but mice often come configured with relatively low DPI or annoying button assignments.


I know. I have a Logitech mouse too. Nothing wrong with the hardware. The software sort of works on my own MBP, even though it regularly crashes or forgets its functionality, but refuses to run on the work MBP, which runs the same OS and is otherwise nearly identical. No messages.


Highly recommend Steermouse to all Mac users with a Logitech mouse. The Logitech software is horrible. Constantly consumes background resources for no reason. I've only need to use it a few times to turn a mouse's color LEDs off.


I recently got a Xtrfy M42 mouse and it requires no additional downloadable software. Everything you need to change the DPI and RGB are physical buttons. Which was one of the main reason I chose it over other comparable mice.


I use a Logitech M720, which can be used on a Mac with zero extra software (although you can't use the fourth/fifth buttons, side scrolling works, response curve doesn't need any fancy tuning, etc.)


Is it a Mac thing? I've had issues with Logitech software even on Windows.

Their mice hardware is pretty good, but the software is so bad I never install it and just use whatever works on the mouse by default.

On Mac I use the magic trackpad for wireless because it's the only one I've found that consistently works with the bluetooth connection. I'm not sure who is at fault, but other bluetooth devices just constantly have issues (drop connection, fail to wake, fail to pair, etc.)

For wired I sometimes use one of the Razer "Gaming" mice - I don't like the aesthetic, but there aren't a lot of great options in that category and they work well enough.

Apple mice have never been good - they've always been form instead of good design.


I've had good luck with the MX Anywhere 3. It's worked pretty much painlessly over bluetooth with two iPads and two Macs. (And I didn't install any extra software.)

https://www.logitech.com/en-us/products/mice/mx-anywhere-3.9...


Thanks - I've mostly used their Marathon mice in the past, but I'll check that one out.


Not the same ammount of crap but 3DConnexion drivers play in the same league. Huge (150M+) driver, on M1 Mac it is only in beta mode for almost a year, it forgets its 'smart' scroll behaviour - that is dumb like a brick - at every switch off, but without the driver there is no click! I am serious, the driver is mandatory to use the primary button. Without it only the mouse pointer and the scroll wheel works. It is just a mouse, although a real 3 button one, only one out there as far as I know. It does not require firewall exception at least.


It's pretty sad when libratbag for Linux is better than the official Logitech software for either Windows or Mac.


Does Steermouse support per-app button mappings like Logitech Options and Karabiner?


> Nuked Logitech’s crap from orbit

+1. It's the only way to be sure.


I use a G502 with the inbuilt driver and it works fine.


[flagged]


You can't break the site guidelines like this. You broke them with https://news.ycombinator.com/item?id=28233078, and you've been posting a lot of unsubstantive comments and flamebait. This is the sort of thing we ban accounts for, so if you'd please review the rules and stick to them, we'd appreciate it.

https://news.ycombinator.com/newsguidelines.html


Macs are just missing a lot of extremely basic mouse features. In typical Apple fashion, using it "the right way" is dead easy, but anything different is impossible without third party tools.


Not everything has malicious content , stop pushing this narrative


Kinda normal to have to pay for software to get basic functionality working on Mac, though. Like BetterTouchTools.


Probably fine.


I don't use Twitter, so this is new to me, but I found this to be interesting because it's not your standard blog post turned into a tweet storm; it's a livestream over text. It's an altogether different experience. I rarely see a livestream over text.


Looks like he had a lot of fun getting to the bottom of it :) https://twitter.com/Foone/status/1146136251449278466


(The bio lists pronouns - they had a lot of fun)


Well, I'm sure Logitech was sensible like most HackerNews developers and saved costs by using Electron for their driver. This gives you a nice 300MB+ base package to drive the UI with a lot of unneeded code (most likely asking for the firewall permissions) and then additional actual driver download.

I'm sure that allowed them to iterate quickly, hire developers who know nothing but JS to build their driver package and ship the MVP with low costs!

Isn't that the type of software that keeps being defended here? ^^


> Isn't that the type of software that keeps being defended here? ^^

No? I've basically never seen that and I see endless posts like yours.


> Let’s get these out of the way:

> 1. Yes, we’re building on Electron. Yes, we are aware of the performance tradeoffs, but have decided this is the best choice for us. We’re shipping Windows, Mac and Linux clients along with browsers with a four-person team — it’s the only good way right now to do that without features taking six months. We’ve modified the screen sharing pipeline in Chromium to reduce latency as much as possible, because with interactive screen sharing, milliseconds matter.

Literally a massively popular post from this week, and all of their comments within are "Well yes, but theoretically VS Code got it to slightly over a hundred megabytes when idle so naturally Electron's perfect."

https://news.ycombinator.com/item?id=28223515


So you found someone who had a perfectly reasonable explanation for his choice of tools. We started with drivers and now you come with a desktop app example?

Now find not just one (anecdote) but a trend in HN comments that this tool is recommended to be used when it is clearly the wrong tool for the job?


> So you found someone who had a perfectly reasonable explanation for his choice of tools.

Really depends on your definition of "reasonable". I could invoke Goodwin's law :)


a reasonable explanation would have been "it was the best choice for our end users", not "it was the best choice for us"


A reasonable explanation can, of course, be either of those things.


Can't ship code that doesn't exist.


From my point of view, if the code being shipped performs badly, then it may as well not exist.


Whoa that’s deep.


They literally put "why we use electron" as their first point clearly in defense of the expected onslaught of HNers who were going to attack them for it.

> and all of their comments within

A majority of the following posts (with regards to Electron) are negative...

> ust promise yourself you'll eventually quit Electron. Electron is nothing more than a deal you make with the devil,

> Don’t just tinker... make it a grand North Star goal to lose Electron, and make performance your moat.

> It being Electron especially explains why it's so much more resource intensive than the other solutions.

> I hope you'll reconsider as your team grows.

> For me personally, memory usage has been a big concern with the growing number of Electron apps

> Indeed - a key competitor, Tuple, does not use Electron, and as a result I won’t even be taking a second look at Pop.

It's interesting that people on HN seem to be in such an obvious echo chamber but also see themselves as outsiders.


There are thousands and thousands of people on HackerNews and only a tiny fraction of people comment on any given post. Further, the group that does comment on a particular post isn’t a random sample.

Under such conditions, expecting a consistent, well thought out, position from post to post is unrealistic. And not really even all that surprising.


I don't get your point. To reiterate, I'm challenging the idea that on HN you're likely to find stronger support for electron vs against.


GP is challenging the idea that "HN" is a single cohort with a consistent monolithic viewpoint on anything.


I see. I explicitly specified that I was referring to comments I see.


I think it’s fair to say that when people say something like “HN says” or “HN thinks”, they are asserting that a large majority of the comments take a particular side of an issue. Sure, there are many readers who don’t comment, but if they think very differently from the commenters, then they should speak up, because otherwise they don’t really count as part of the conversation.


These two things are not mutually exclusive.


I can just as well point at that thread and go "Isn't that the type of software HN keeps criticizing for being Electron?". Somehow people see discussions about A vs B and go "HN is totally always for A", despite the only reason you even see A so much is that it's hotly discussed every single time, with plenty people arguing B. And of course that shitty generalization is now top of the thread, instead of something discussing any substance specific to the submission.


The perception is that the pro-Electron group is made up of all the people writing the software being discussed and therefore getting most of the benefits of their choice, while the anti-Electron group is made up of all the people criticizing it for having to put up with all the drawbacks for the end-user (and setting aside the fact that the software may not exist at all if not for those pro-Electron benefits).

However, since lots of software is still being written in Electron and... essentially none of the criticisms and drawbacks of doing so have been addressed, the anti-Electron group feels like they're being ignored. Because they are. So when they make posts about feeling ignored or complaining about having to repeat the same criticisms over and over without any improvement, that's because that's what's happening.

The anti-Electron people are not saying that nobody agrees with them. They're complaining that their arguments are clearly falling on deaf ears.


I suspect there is hope from the electron developers that somehow the platform will start getting less resource intensive.

App developers want their user to have a good experience (I'm guessing). But it isn't great with electron. But its fund one team or fund 3 ui teams (Windows, Mac, Linux) and hope testing gets them all in sync.

Unfortunately there isn't a great cross-platform solution (qt?) that makes everyone happy (or at least not furious).


You also see non-devs saying Electron is fine, and if the complaints were considered is not something you can really tell. Few people deciding against Electron are going to loudly broadcast that "we were thinking about Electron", and if you consider it and decide it's worth it for you despite downsides, well, you are the "bad guy"(TM) anyways.


Can you find pro-Electron comments? Sure, but if you browse any post about Electron you’ll see a lot of “Electron is a disrespect to your users!” comments, whose top reply is “Yes, and also…(more complaints)”, whose top reply is “Electron is the worst in a long line of…”

This kind of “reply-to-agree-and-pile-on” chain happens on HN a lot, but there are certain topics that really set it off, and Electron is definitely one. The commenters are commenting, the readers are upvoting, and what we end up with is an atmosphere where one side of the conversation is clearly getting more engagement.


A driver and a screen sharing/video calling application have vastly different constraints, and what makes sense for one doesn't make sense for the other...


I have to agree with a sibling commenter, you've weakened your case by jumping from a driver to a desktop application. If we follow what I think your implicit reasoning here is, then we need to just throw Electron in the dumpster because there can be no good time to use it/no sufficient defense.


> No? I've basically never seen that and I see endless posts like yours.

HN is definitely swarming both proponents and opponents for Electron. While I can understand the appeal of Electron, I'm no way in favor of it.


I think it's because the audience here has both creators and consumers.


I'm both - I fucking love electron.

Do I like the 300mb download? No

Do I like the development language? No

Do I like the apps built with it? Depends entirely on the app.

Do I FUCKING LOVE BEYOND BELIEF that it means linux support is native and present at first release? You bet your ass I do.


Ultimately, I don't think that's great for Linux on the desktop. Nobody wants to use a platform where everything is giant battery, memory, and CPU hog.


No one cares one whit about the battery/memory/CPU requirements of software they can't run in the first place.

And at least in my experience, spinning up a VM to run windows only software is a bigger battery/memory/cpu hit than running electron.

---

I would love it if Electron was better on those fronts (not to mention a few others) but it's good enough for most of my current use cases.


[flagged]


I think your entitlement is leaking. You might want to have it checked.


Are you mad because you are also a mediocre programer? You can change that through learning.


We've banned this account for repeatedly breaking the site guidelines.

Please don't create accounts to do that with.

https://news.ycombinator.com/newsguidelines.html


And if they do, there's already ChromeOS. Why use an inferior slapped-together distro for that?


I have zero troubles shipping Windows and Linux user end GUI made in Lazarus. Single tiny exe. Does not gobble up RAM either.


Lazarus is pretty good, I've used it a few times myself to make quick one-off static executables with GUIs. I don't use it for anything serious though because, well, Pascal just isn't a language I want to spend a lot of time working in.

I wish there was something like Lazarus, but somehow more language agnostic.


>"Pascal just isn't a language I want to spend a lot of time working in."

I do not dwell on "liking/disliking" languages. I use what I use (few languages) for pure practical reasons. To me the goal is to design and deliver end product. Language to me is like a screwdriver. It just has to be good enough to do the job without bending backwards. For making native multiplatform GUI applications Lazarus/Freepascal combo totally ticks the box.


That's fair and also generally how I look at things, but it does mean having to become familiar with yet-another-language that has its own quirks and models and whatnot and, in FPC's case, a complete lack of inline variable declaration.


Maybe try electron with WASM? :D

(Full disclosure - I don't really recommend this, it's not ready yet, imo)


If you think electron is anything at all like Lazarus, you must never have used Lazarus.


I mean, it's an event based form builder. Same as almost all of these tools (going WAAAAY back, 20+ years at least).

I have not used Lazarus for any serious project, so if there's something particularly novel that you enjoy about it, I'd love to learn!


>"I mean, it's an event based form builder. Same as almost all of these tools (going WAAAAY back, 20+ years at least)."

And nothing "better" and more practical came out ever since paradigm wise. Just insane bloat of trying to marry Browser to a native application


> And nothing "better" and more practical came out ever since paradigm wise.

I think this is a pretty poor take on the problem. If that were really the case we'd all be using winforms 3.1 (or whatever the original version number was...).

Here's the "Better" that a browser does

- It's got standards and open documentation describing most behavior

- It's got incredibly robust networking code.

- It's got an insanely flexible markup language for describing both what form elements are present, but also how they're visually displayed. (Show me how to do animations in Lazarus... last I looked it was all manual) NOTE: Not only is it insanely flexible, it also is well documented and described by standards.

- It avoided the trap of being GUI first at development time, encouraging an eco-system of tools that generate and modify the text based definition of the GUI you're going to present to users

- It has good separation of concerns. My form elements can be styled completely differently by just swapping out a style sheet.

- It has good (although often underused) A11y support. For most disabilities that you can think of.

- It has first class debugging tools available, supporting a wide variety of environments.

----

That's what the browser brings. Is it heavy? Sure. Is it bloat? Not really.... depends a lot on your use case.


From that list the only valid points I see are -

a) animations. yes you have to do it manually in Lazarus. or you can spend few days and write a component which would animate any published property of any component on a form. Will take a few days to write it in a flexible way and not to be ashamed to submit in public repo. I suspect such component maybe written by someone already but since I did not need it I did not research the area.

b) Debugger is a sore point. It is adequate but falls way of behind what you have in browser or in Delphi (commercial IDE Lazarus is trying to imitate). But they're not standing still and it is getting better.

c) A11y - Highly unfamiliar with the subject so you are most likely correct here.


I think the reality is that it's insane bloat trying to give browsers access to native libs. If I could just download and install apps in the browser that weren't sandboxed (don't @ me about PWA's they're not even close) then I think we might actually achieve Java's dream.


>"I think we might actually achieve Java's dream"

Keep waiting for a miracle. Meanwhile native applications solve problem with ease. Sure some applications are totally make sense as browser based but you can't just color everything the same. This dream will never materialize for way too many reasons, including political ones.


C++ with Qt also seems like a good choice, although it is not free for most types of commercial use.


After reading their license I would not touch it with the wooden pole. Too bad as it seem to be a good tool. I made couple of demo projects to get familiar but did not proceed any further as I did not want to end up paying one of the most exorbitant license fees for a general development tool.


What is package management like with Lazarus? Are there third-party/community-contributed packages?


> Do I FUCKING LOVE BEYOND BELIEF that it means linux support is native and present at first release?

Not me.

From my point of view, if the Linux version is Electron-based, then there is no Linux version.


I'm not really sure what point you're trying to make here.

If the linux version is Electron-based, ALL versions will be electron based. That's the whole point.

If you'd rather not use electron based software, more power to ya - that's your choice. But lets admit that's a luxury that some of us don't have - I'm a hell of a lot happier spinning up slack as an electron app rather than having to run it in a vm, I promise you that much.


I won't knock you for that opinion but I can use VS Code, Spotify, Bitwarden, Discord, Teams, Notion, GH Desktop where not 10 years ago I would have been stuck with either the crippled web versions, running them in a Windows VM, or booting into my Windows partition.

It's fine to hate the tech and wish that someone would come along and make something better but the tools that everyone big and small is using to build apps is cross-platform by default and that's a huge huge huge win for users.


Isn't this the problem Java was trying to solve? Why did that go out of fashion?


Java applets were one of the first and most visible ways that this was attempted. The user experience of applets was atrocious. Starting up the applet runtime browser plugin at the time would cause the whole system to stutter and stall for several seconds. I'm not sure if it was the single core architecture of the time, but I recall that the entire system would lock up while this was happening. I think that this single fact caused a lot of damage to the reputation of java in the general public.


It did go out of fashion and I'm not sure why that is. I do have some ideas and opinions...

AFAIK, JetBrains builds all of their excellent IDEs with Java + Swing. Old school for sure, but it works great. If I were building something new today, I would definitely consider Java on both the client and server sides.


>Do I FUCKING LOVE BEYOND BELIEF that it means linux support is native and present at first release? You bet your ass I do.

Ironically, this thread is exactly about a Logitech app that doesn't have this.


... does it mean I won't run your software? You bet your ass it does.


I mean... great?

If the determining factor for whether my product was useful to you is what rendering engine it uses, you were not and will not ever be the target user anyways.

I don't make "social" apps, I'm not in the business of collecting users for the hell of it. Either I provide business value or I don't, and Electron has very little to do with the business value my customers get (although it certainly does accelerate new feature releases, and most of my customers like that).


no please dont turn this into a "why i like/dislike electron" thread

edit: ah, too late


> electron

> linux support is native

Whoever told you that Electron means native Linux is lying to you. It's as native to Linux as a web app is native to Windows or Mac; that is: it's just run in a glorified browser.


It's native as in supported directly by the company making the software.

It's not some random 3rd party that's trying to implement a buggy client or wrapper. At risk of being shut down at any moment, and probably violating the company's terms of use. (which is a whole different conversation around the sad reality of interoperable software today)

---

It's native in the sense that I, as a developer employed by a company using it, can easily drop in a linux release without having to have a long drawn out cost/benefits analysis trying to convince PMs that we should do it, because it's not months or years of additional work - it's some manifest file tweaks to get icons in, and possibly some additional signing scripts to be run during the final packaging.

---

It's not native in the sense that it directly uses OS specific APIs, but who gives a flying fuck? Seriously.

I spend 95% of my time in a browser or a text editor already - "Browser with better system access" is just fine to me.

It turns out RAM and disk space are really, REALLY, REALLY fucking cheap. as in - I can get 32gbs of ram for less than the cost of a windows license. So I'll take my linux support, thank you very much. (shocker - I also like mobile web apps, and strongly favor mobile moving that direction as well - For exactly the same reasons).


> It's native as in supported directly by the company making the software.

Except for the times when that isn't true. Elsewhere in this thread people are complaining about how the Logitech software is Electron based but doesn't work on Linux.

> It turns out RAM and disk space are really, REALLY, REALLY fucking cheap.

RAM and disk may be cheap and plentiful, but battery power and bandwidth are not. It's why web apps don't make much sense for mobile today.


Web apps are the default access mechanism for basically everything I do on my phone. And by that, I mean - I open chrome/firefox and navigate to the site I'd like to use.

I have less than 5 installed apps that I use on my phone directly, and those are almost all exclusively apps that need direct hardware access - Camera - Phone - Maps

I also happen to use a few apps to work around sites that are genuinely awful to their mobile users (reddit, for example, is a black whole of dark ux patterns if you open it in a browser without faking your user agent - So I run bacon reader which [ironically] is just another webview running on the device anyways)


Just because web apps are fitting to your current workflows and apps you use, it won't fit everybody else.

I'm just the opposite of you. Just using web to reach HN, and Google, nothing else. Everything I use is native, and I'm happy with all the native apps I have.

Hardware is cheap, network is reliable notion is just an illusion. No resource is cheap and nothing is reliable. I'm in a remote location with 4G network access and, while it's not slow, it's unreliable and choppy as hell (with full bar / excellent reception). Even well-baked and battle tested algorithms and applications (e.g. Zoom, Skype and other similar covid-19 critical, realtime software) choke, shudder and fail with smallest network congestion.

Also, while RAM is relatively cheap, processing power is not. Just because you have fast flash and plentiful RAM on the device, it doesn't mean all is yours. You can't just assume to use all of that.

If that software is running on a resource contained system, It'd be probably confined in a cgroup, and it'd be killed or crashed with OOM exceptions constantly because of this assumption.

At the end of the day, Electron is useful for some stuff, however it's not native in any means. If it was literally native, Evernote for Linux would've been released by now. Tiddly Desktop wouldn't have some silly fullscreen bugs. Spotify Linux wouldn't be a volunteer project inside Spotify. A simple application wouldn't consume as much memory as a full blown IDE with gazillion plugins enabled and written in Java. Visual Studio Code wouldn't need plugin subsets or "Hey, group the plugins you use by language, otherwise memory usage becomes unwieldy" warning. I can go on and on and on.

We have alternatives. We have Qt, GTK, Python compiled with Cython (if you need binary code), heck even Lazarus and WX widgets, and Java. It's unbelievable that JVM is lighter than Electron with all bells, whistles and Hotspot and whatnot. Some of these technologies can adapt themselves to the hardware resource limits of the system they're running on, transparently, with negligible performance impact most of the time.

So, you can tell that Electron is a better RAD tool than Java, but it's nowhere the only feasible tool to enable native cross-platform applications. Electron is lazy. It's the perfect manifestation of MVP meets mock-ups with enough features baked in to allow rapid-fire releases.

I agree that 640K is not enough for everybody, but no resource is as abundant as hydrogen in the universe.


native is probably an exxageration.

But it means (in theory) the same experience on all plattforms.

And in my opinion, a working linux electron app beats a buggy wine ported version by far.

Because this is usually the choice. The linux market is way too small and unwilling to spend much money, than to justify a common software developer to spend the effort of porting.


>unwilling to spend much money

Citation needed.

I think for years humble indie bundle kept statistics and linux supporters were always chipping in well above average.


I know, but would doubt, that they are represantive of the common linux user.


> But it means (in theory) the same experience on all plattforms.

That's quite the opposite of native since each platform has a host of unique features and capabilities. Guaranteeing the same experience on all platforms is guaranteeing that you're not using the platforms natively.


> Because this is usually the choice.

Interesting. I don't seem to be lacking software to do everything I want to do in Linux without having to use Wine.

Also, I've spent more money buying Linux software than any other platform.


Same experience on all platforms. Sure. Nowhere does that imply "a good experience on any one of those platforms"...I am reminded of early (1.4) Java, just an order of magnitude worse.


A tab on a browser the user is already running would cost less memory and CPU.

It's also with chrome super easy to open a page without the normal browser UI that looks like an app add a .desktop file and presto it's an app it would actually be superior in many respects.


> It's also with chrome super easy to open a page without the normal browser UI that looks like an app

Yeah that's what Electron is.

> add a .desktop file and presto it's an app

So Chrome has turned the .url into a .desktop and ruined what .desktop means. Neat.

> it would actually be superior in many respects

Few, not many. And those respects are garbage because it's a still a web app masquerading as something it's not.


Electron is like its own possibly out of data copy of chromium packaged with other resources.

This means that it shares little with the installed browser and will consume 300MB-1GB of ram itself.

I do not suggest a web app is an adequate replacement for a native application but rather that a website may be a superior alternative to electron as it uses fewer resources while providing a similar UI for some applications.


I see both, all the time (where relevant). I understand the hate, so I tend to forget it. Justifying the horrible user experience for cost or "without electron the app wouldn't exits" is something I don't agree with and as such it sticks out more. You might be in the other camp and just have different perception.


The people I see complaining about Electron sound like they never did commercial frontend, and usually bring up stuff like Visual Basic making me think they haven't done frontend in 20 years or done anything non-trivial with GUI (if you actually used VB to build serious apps you'd know where the codebehind and using threads to avoid blocking the UI leads you).

Just a very loud minority. I don't particularly like Electron but compared to the alternatives it's the best choice for a lot of apps (as demonstrated by the success of many apps using it, despite "performance is the most important feature" crowd).


> Well, I'm sure Logitech was sensible like most HackerNews developers and saved costs by using Electron

I'm not here to defend Electron, but most of the things Foone is complaining about would be terrible regardless of what base they use for the UI, and I'm not really sure what Electron has to do with this (or if it's even in use in this case).

The really egregious thing here is asking for a Firewall exemption and not including the base driver in the box. A slow driver with a giant list of dependencies is bad, but it's bad for its own reasons. Electron didn't force the devs not to include mouse drivers in the physical box, Electron apps will easily fit on a driver CD.

See also some of the other complaints popping up in the comment section here:

> I recently bought a Logitech G Pro X Superlight to use as my daily driver on an M1 Mac. [...] Runs as root, [...] requires manually setting permissions on a config file in order to save settings[0]

> Windows Update will download and execute RazerInstaller as SYSTEM[1]

> All of Razer's products are like that. I've been boycotting them since their keyboard wanted me to sign in to use my function keys.[2]

Again, not here to argue that Electron is good, but I don't see how any of the above is Electron's fault -- and I think even if you were happy with Electron, all of the above would still be egregious and unacceptable.

Is the idea that if Razer wasn't using Electron, they wouldn't force you to create an online account and to stay continuously logged in for your function keys to work? I don't think I believe that.

----

[0]: https://news.ycombinator.com/item?id=28274711

[1]: https://news.ycombinator.com/item?id=28274594

[2]: https://news.ycombinator.com/item?id=28275254


> The really egregious thing here is asking for a Firewall exemption and not including the base driver in the box.

A million times this. The electron thing is a sideshow. The real problem is asking for too much in the way of security exceptions.


Electron comes with a lot of security exceptions and an insanely large security issue surface. You're essentially running an old unpatched version of Chrome for every Electron app you're using.


> Electron comes with a lot of security exceptions

I promise you that the reason Razer is asking for network access isn't because they forgot to turn it off.

They could be writing this driver in Rust and they would still be asking for these exceptions. Nobody accidentally builds a driver whose sole purpose is to download and install another driver from a remote source.


I think HP home inkjet printers were the first to do this, over 10 years ago. Somehow any way of finding and installing a driver on windows would pull in a 500MB suite of always-running junk before the actual driver. No electron back then. (I'm still a bit of an electron hater though :)


Just to address your Electron mini-rant:

I've been trying to build a desktop application for the entire pandemic. In my professional work I work on infrastructure products (think software engineering, not DevOps or SRE). My skills are not really outfit for frontend development or desktop development. Shocking stuff, my ineptitude, I know (/sarcasm)

I ended up learning some JS and I wrote a desktop app with the help of a package called Wails for Go. It's electron-like in many ways, but lets me code up a "backend" in go while JS is resigned to doing things it's good at, like UI. Eventually, though, I struck the gold mine. I actually made a native desktop app in Go with an immediate mode package. It looked like shit, but it worked. I then went on to design a command line variant as well.

My chief takeaway after doing all of them: even my native code resembled the patterns found in JavaScript based UI developments. This basically implies "ELM is everywhere" to some degree, even in Frontends that don't explicitly say it. QT's QML is JavaScript that's pre-compiled for desktop. Sciter is the same way. You can gripe about electrons size, computational, and memory efficiency, but the opposite (native programming for UI) requires an order of magnitude of very niche programming that will only be useful for this purpose, of which any cool thing (like syntax highlighting) that you might want to do will need to be done for the first time. Just a quick reminder, again, I'm not really a fan of or regular user of JavaScript or TypeScript.

What I'm saying is, there are tradeoffs to be made. I don't blame a bunch of startups investing in a JavaScript desktop app when you can absolutely produce a stable cash cow with minimal skillset change and leave a handful of teams building independent threads and daemons that JavaScript can pass work off to that it can't do.


> My chief takeaway after doing all of them: even my native code resembled the patterns found in JavaScript based UI developments.

> (native programming for UI) requires an order of magnitude of very niche programming that will only be useful for this purpose

that seems contradictory


The broader patterns are repeatable, somewhat, in that you can see them broad as day. The way these different languages handle state and communication is totally different though, so, simultaneously incredibly niche as well.


Did you see Logitech's previous native apps? Did you think they were better?

Because they really weren't. Hardware companies fail at software is a much longer living phenomenon than Electron.

(I could believe Logitech's current apps are an Electron like technology, but timeframe wise they predate it also, so maybe more like nw.js or similar, this article talks about roccat, which is a different company)


Logitech is absolutely as bad, or worse than Roccat here. I have no legitimate way to get mac drivers for my mice, because they aren't on Logitech’s website anymore. And thanks to mac bs, they don't work out of the box.


You should stop buying non-standard compilant hardware then.


The driver is from Roccat, not Logitech.


> with a lot of unneeded code

I've read this as "uuencoded" first :-) Imagined sort of like trojans obfuscate their code with Base64 but using a more weird encoding this time :-)

> and then additional actual driver download.

I bet you can just steal the driver form the temp dir or from the actual system after it installs and save for future usage.


I doubt the driver is actually written in JS (I don't think that's possible on Windows, Linux, or MacOS). As a client to help configure the driver setup and manage its updates in a consistent way across platforms... is it really that bad?


I use Logitech’s software on three macs, and my honest evaluation is that it gets the job done, but just barely.

Key cons: - Yes, it asks for a firewall rule, which I simply deny with no negative consequences. Still, it’s concerning that it even tries.

- In order to save or backup your settings, you must create a Logitech account, and those settings will be saved on their servers. I would really just like a config file I can sync myself.

- The frequency with which the software needs updates is baffling. On one hand it’s nice to get such support years after the purchase. On the other.. what the hell needs updating on a mouse?

- The software UI sucks. And there’s no excuse for that given it’s just JS.

- Somehow, after reboot Logitech’s drivers are one of the last things to load. So you have to wait over a minute, and sometimes much longer, for you mouse to be able to handle your inputs correctly, which is really frustrating.

Key Pros:

- The software does work. You don’t actually open the config UI very often, so it’s not like you’re constantly running an electron app in the background.

- Let’s face it, the hardware is good enough to overcome the bad software.


> The frequency with which the software needs updates is baffling. On one hand it’s nice to get such support years after the purchase. On the other.. what the hell needs updating on a mouse?

I'm pretty sure it requests an update anytime any Logitech product gets an update, even one you don't own or have installed. A recent G-Hub update where the release notes only mention mice I don't own broke the battery detection on my wireless headset. Now it always says I'm at 2% battery. (Why did I even update?)


That's really good point I hadn't considered. I'll bet you're right.


You don't need to install anything from Logitech to use most of their products.


...Logitech?


Logitech software might be bloated, but it's downright lean compared to the Roccat mouse I just got for my son.


Both Roccat and Logitech are horrible in this regard. I skipped a thought mostly because I had to deal with Logitech crap the latest.


Electron is like 80MB, uncompressed. That isn't really the issue here anyway.


I think far more people here prefer native apps than Electron. I know I do.


"like most HackerNews developers"

What are you babbling on about?


Seriously, I would have assumed Rust, Elm, Julia, D, or Zig if that were the case.


> ...by using Electron for their driver.

Except they didn't use Electron for the driver. They used it for the management UI.

> I'm sure that allowed them to iterate quickly, hire developers who know nothing but JS to build their driver package and ship the MVP with low costs!

Pffft. Imagine thinking that people who choose Electron only know JS. Clearly that's incorrect as many companies choose Electron despite employing a multitude of native programmers. I'm one of them.

Personally, I know C, C++, C#, Go, JavaScript, Python, TypeScript, SQL, Swift and Visual Basic...and I'll choose Electron to build GUIs every time. I also use React Native to build mobile apps. Pure native kits all suck compared to Electron or React Native and on top of their pure suckage you'll have to deal with the idiosyncrasies of each platform you deploy to.

I don't just build them either. I run multiple instances of about 4-5 different Electron apps all day long without issue on an i7-4770, a CPU that was released in 2013, inside of an old refurbished machine from like 2014 or 2015. And that's under XFCE most of the day...but when do I go use my Mac or Windows machines I get the same exact experience from those apps thanks to Electron.

But oh no! 300mb!! Unneeded code on my precious hard drive!

Maybe stop whining and get a bigger hard drive if you can't handle 300mb. And I doubt you've actually looked into many of the native desktop apps that you're running to investigate how much of the code is actually necessary. Let's hear some of the great native apps that you run.

What kind of work do you? I really want to hear about the 100% efficient native-only apps.


People like you are ruining the desktop computing experience. just stop


Yes "HP TouchPoint Assistant" I am looking at you. You have been so obnoxious that I have decided to never ever buy anything from HP.


Before jumping in and complaining about the Twitter format, jump to the bottom of the twitter thread where someone has almost certainly unrolled it. And remember Foone hates being linked on hacker news and didn't ask to be here.


Please don't post off-topic comments that mirror the off-topic comments you're complaining about. It does about the same amount of damage to the thread.

(I've marked this subthread offtopic now.)


Why does the author's desire for community discussion factor in -- is that internet etiquette now?


I assumed it was just being used as additional evidence that you shouldn't tie any frustration with this post/its format to original original author.


No, of course not, that would be incredibly stupid. If you don't want to get published then don't publish.


I think that the important bit is that if you've got vitriol to spill about the twitter format that you keep it sealed. I'm guessing you don't care, which is right and good, but some people get upset (and presumably inform the authors) about twitter style posts.


Think of it like those "Please respect our neighbours" signs that bars post outside their establishment.


It looks like you need to be logged in now to do that, which is a relatively recent change.



How do I get to the bottom? It seems to have doom scrolling.


Nitpick: You probably meant to write "endless scroll" or "infinite scroll". "Doom scrolling" is a verb for obsessively browsing bad news.


You can't have the behavior without the mechanism. To me "doom scrolling" is infinite scrolling plus algorithmically-sorted feed, way worse than infinitely-scrolling a chronological feed where people will stop and go do something else as soon as they see anything for a second time.


But that is NOT what it means to everybody else, so you will confuse people if you use it "your" way.


well, obviously, you use the scroll wheel .. on your . ... ...


OK, I did as suggested. Now can I complain about the Twitter format?


No.

> Please don't complain about website formatting, back-button breakage, and similar annoyances. They're too common to be interesting.

https://news.ycombinator.com/newsguidelines.html


[deleted]


The driver itself is HTTP, not HTTPS. They were saying they hoped that the HTTPS call which tells it where to download the driver also contained signatures so that the later HTTP request could be verified. spoilers: it does not. So you don't need to mitm the HTTPS request, you just wait until they make the follow-up HTTP request, mitm that and serve whatever you want.


The answer is in the sentence immediately before where you started copying

> ... and then it downloads the drivers/updates off of media.roccat. org using HTTP.


Xtrfy ftw


Can we have twitter banned from being posted here? On all UI clicks, a nagging window comes up. You can click it away, but it *reverts your click*, so any kind of navigation becomes really cumbersome.


Here's a workaround: once the nag window comes up, refresh the page, and then you get to look at what you clicked on.


or twitter urls being replaced with some twitter2readable converter


I hate twitter, but just foone alone makes the effort worth it for me.


HN, for whatever unbelievable reason - supports paywalled articles you can’t even read without subscriptions.

I hardly think they’ll stop approving Twitter threads here. At least they’re readable without hacks or workarounds.


You should buy a standard mouse, no driver needed. A mouse and its protocol is prety simple, but now we achieved the state where a USB connected mouse reports itself as 5 mouse and 3 keyboard and some other HID capable device, good luck using them on legacy or alternative operating systems. (Hint: won't work).

>Bbbbuut what about my programable buttons, led and whatever?

I don't care about that, i care only about that i should be able to buy standard mouse which is always harder and harder task because you buy every piece of s with rgb leds so they will stop to produce non-manchild computer hardware. I wouldn't care at all if the hw would still provide the basic functionality without any special driver, but nooo, thats too much.

Proposal: send the hw back to their HQ and demand your money back.


I'm not aware of a single modern mouse that doesn't use regular HID for actual basic mousing.

All these mice will work as basic HID mice in any operating system. If your legacy OS can't handle "5 mouse and 3 keyboard", its HID support was completely broken in the first place.


I like my mouse with programmable macro buttons. It doesn't have any fancy lights, just a small multi-purpose indicator that shows battery level, sensitivity level, and which set of macros I'm using.

I also like my $0 basic USB mouse that works with everything I plug it into. I think it came with a Dell PC but who knows as the logo has worn off. My fancy macro button mouse never leaves my desk but my cheap mouse has had plenty of travel. Same with my keyboard, I've got a nice one for my desk and a dirt cheap compact one that travels.


Dell sells (because i am pretty sure they don't manufacture them) really crappy input devices nowadays. I sent countless back directly to their Munich HQ.


When the USB standard took over the galaxy I was baffled. I mean, what could possibly go wrong here? <hysterical-laughter>


In my book A mouse should be 3 buttons, 3 potentiometers, 7 wires, a plug and a plastic box. Worse that can happen is a short connecting all wires together - then nothing bad happens to the computer. Nothing!

The PS/2 DIN was already doing more than I wanted, bi-directional communication is already more than you need to make the device work.

Perhaps there are exotic mice to be had that deserve to communicate over USB, with elaborate drivers and all the trimmings. Internet connectivity, bootloaders, flashing leds etc.

Ofc you would have to have an USB port to use those which can be undesirable You can plug anything into those. Next the user will download software from the internet and install it. Wild concept. lol


So, the “driver” here is just a downloader/auto-updater to fetch the actual drivers based on usb id... definitely a letdown, I thought there would be a substantial issue here. I feel like infosec Twitter hasn’t heard of Hanlon’s razor, or maybe they just like being mad all the time over nothing. This thread unravels into mundanity as the author’s network traffic observations reveal the only actual issue is that drivers are downloaded over cleartext.


This is absurd. There is no winning with this guy:

> good news: I got the URL it's requesting! bad news: it does its own certificate validation so it's erroring out at the self-signed root cert I have installed for MITM use.

> GOOD SWEET LORD THEY ARE SCARED OF PEOPLE STEALING THEIR DRIVERS

Which one is it, is it good that they use encryption to protect their users where they can or not? Please make up your mind.


He isn't complaining that they use encryption.


He's complaining that he couldn't MITM their https requests.


correct, because thats the usual expectation: application should respect what the OS trusts.




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

Search: