Thank you.
It boggles the mind that anyone who can write code would ever use a closed source operating system.
Thank you.
It boggles the mind that anyone who can write code would ever use a closed source operating system.
Some of us want our work to actually reach people who don't write code or sysadmin their own computer, i.e. most people in the world. I, for one, think my effort is wasted if it doesn't benefit those people. So while working exclusively on a free-software platform is tempting from an ideological purity point of view (edit: and I envy people like you that manage to make a living doing it), I don't think I'd ever actually do it.
Edit: I should be more concrete and less snarky. Working on developer tools is good and necessary, and you can do that effectively on a free-software platform like Linux. But I choose to focus on end-user-facing software, particularly in the field of accessibility. I could work on desktop Linux accessibility, for the vanishingly small number of blind people who use desktop Linux (and that number is shrinking; one of my blind programmer friends just switched to Windows). Or I could target one or more of the mainstream platforms where the users actually are. I suppose I could work exclusively on web applications, but I don't think that would be the best use of my skills. And even then, while I could develop primarily on Linux, I'd have to test on other platforms too.
Someone has to do it. If you have the skills, why not you?
The majority of the internet is run on free software, and free software touches nearly every stack, even ones that are otherwise proprietary.
With regard to accessibility, there are open source tools out there that are pretty great for blind users, but they still need more work. There are also blind users that can't afford a Windows licenses or expensive screen reader software. I've worked with a local charity that helps people with sight impairments, and the money just isn't there when it comes to expensive software licenses and hardware.
If more open source options for people that have sight impairments become available, that would help a lot of those that are currently priced out of using modern technology for work, leisure and social interaction.
I really wish you would step up and embrace the ideals you espouse, because I think that you could make an amazing impact if you applied yourself to it.
> one of my blind programmer friends just switched to Windows
Where they happy that their choices were being reduced to using a closed source operating system, now forever being dependent on the support of a giant corporation, partially because their friends like to write code that "actually reaches people" instead of contributing to an open and accessible solution used by a vanishingly small number of blind people?
I like developing on Windows. Especially since the programs I write are run only on Windows. That's what the specific trillion dollar industry my employer serves uses mostly on desktop.
I don't want to tweak the platform. I want to concentrate on the code I write. I could be equally productive on OS X or Linux, but frankly, I don't care. They are all interchangeable computational substrates for me. As long as you can write any program on them, that is...
From my employers point of view it is irrelevant if I could fix the platform since they most certainly don't want to pay for it.
This is not evil. It's just how some parts of the industry work.
As experienced devs with love of open source, they made this choice after thinking about it. They just have different value weights for their goals and those aren’t the same as other folks. Not a biggie
Which you have to create and convince the maintainers to accept. Some maintainers are gracious and others not so much.
Impression I get with Microsoft 'developer doesn't want to work on it' isn't a show stopper like it is with open source.
I get your argument for a closed platform where you have a direct phone line to its developers that will fix any platform bugs you find ASAP, but MSFT hasn't been that kind of platform for years...
My MFC/VCL applications work just fine today, and can be easily extended to take advantage of modern UWP APIs.
You can start by having a look at,
http://toastytech.com/guis/cedar.html
"Eric Bier Demonstrates Cedar"
https://www.youtube.com/watch?v=z_dt7NG38V4
"Alto System Project: Dan Ingalls demonstrates Smalltalk"
https://www.youtube.com/watch?v=uknEhXyZgsg
"SYMBOLICS CONCORDIA ONLINE DOCUMENTATION HYPER TEXT MARKUP 1985"
https://www.youtube.com/watch?v=ud0HhzAK30w
You can see how NeXT builds on many of these concepts on the famous "NeXT vs Sun" marketing piece,
https://www.youtube.com/watch?v=UGhfB-NICzg
Sun also had some ideas along these lines with NeWS,
"NeWS: A Networked and Extensible Window System,"
https://www.youtube.com/watch?v=4zG0uecYSMA
Naturally OS/2, BeOS, Windows, macOS, iOS, and even Android share some of the ideas.
Now, before I proceed note that actually modern Linux distributions have all the tooling to make these concepts happen, but it fails short to have everyone agree on a proper stack.
So basically, the main idea is to have a proper full stack in place for developing a Workstation computer as one single experience, from bottom all the way to the top.
On Xerox's case, they used bytecode with in-CPU execution via programmable microcode loaded on boot, and later on just a thin native glue on top of host OS.
The environments had frameworks / modules for the whole OS stack, supported distributed computing, embedded of data structures across applications (OLE can trace its roots back to these ideas), REPLs that not only could interact with the whole OS (commands, modules, running applications), it was also possible to break into the debugger, change the code and redo the failed instructions.
Linux distributions get kind of close to these ideas via GNOME and KDE, but the whole concept breaks, because they aren't part of a full OS, rather a bunch of frameworks, that have to deal with classical UNIX applications and communities that rather use fvwm (like I was doing in 1995), and use a bunch of xterms, than having frameworks talking over D-BUS, embedding documents, all integrated with a REPL capable of handling structured data, and call any kind of executable code (including .so, because the type information isn't available).
And then every couple of years the sound daemon, graphics stack or whatever userspace layer gets redone, without any kind of compatibility, because it is open source so anyone that cares should just port whatever applications are relevant.
It is quite telling that most Linux conferences end up being about kernel, new filesystems, network protocols, and seldom about how to have something like a full BeOS stack on Linux. Even freedesktop can only do so much.
A perfect summation!
It's always fun for me to meet people who do things the complete opposite I do them. It's oddly satisfying, like, I'm glad someone is my polar opposite on an issue or activity.
I've also grown to loathe that first-line tab beginning the second paragraph. It makes left-aligned text look wonky.
I loathe centered text too.
I'm not a rounded rectangle person.
I think the colored block UI that's all over Android, sites like HN, etc. looks tacky. We went from semi-transparent glass UI to flat colored blocks, and somehow interfaces got slower and more processor intensive. Now, that's a horse of a different color.
Consider getting a separate USB trackpad and putting it in a "mouse like" position so your wrist is straight and you can raise the laptop to just under eye level.
So I'll have a proper monitor and a standalone keyboard in front of me. And the MacBook screen on the side is being used to display secondary information (chat windows and logs I don't need to actively look at).
Having the fingerprint sensor and the TouchBar lock button within reach are also nice (yes, I actually like the touchbar)
But more to the point: Apple has proven it _can_ be that good, so I want a control that _is_ that good. Why would I ever go backwards?
It's not like Apple benevolently gave this touchpad to the world, for our betterment and happiness, but for the singular, exclusive purpose of luring you into their ecosystem. But you don't benefit when they profit, you were the prize.
You should demand they give it away for free, because you should not give a shit about their profit because they (it) do not give a shit about your life or freedom or the economy of the social strata you live in. It's an alien machine that will eat you or it will fight you but it won't know the difference.
For me it's this, it's been proven I can get an OS that is open and free, doesn't mean I have to support and buy into some terrible multinational corporation whose goals I do not agree with, and that I get to have control over my own OS in a sense that is utterly freeing compared to MacOS or Windows. So why would I ever go backwards?
I pay Apple for hardware and software. I get good value in exchange. I don't particularly care beyond that.
You're trying to change this into an argument about freedom and open source. It's not. I want a trackpad that feels premium, the same reason I buy a nice car. I do not care how it's done and I do not care about the price.
tl;dr If the Linux ecosystem could provide it, good - I'd consider it. Put up or shut up.
And the most important feature for me. I can work a full day on it without any RSI related symptons. No other mouse can do that for me.
I use a normal mouse on my gaming rig, though. Because trackpads are awful for gaming.
There are keyboard shortcuts for those, which are even nicer imo. Reduces the amount of times you need to take your hands off the keyboard.
From GP:
> use a closed source operating system
That's not "Windows".
That's just not true, though. Here's a git repo listing what works and doesn't work in Linux for all of the macbook pro models since 13,1 (released in 2016): https://github.com/Dunedan/mbp-2016-linux
You'll notice that power management (suspend/resume) doesn't work for any model, wifi only works for a few select models, and support for audio is pretty spotty. If you buy Mac hardware, you're pretty much locked into MacOS if you want to have a reasonably acceptable experience.
BSD support is much, much, much worse--it basically doesn't work at all for any relatively recent model.
Well, would probably work fine with an external keyboard/mouse :D
NVMe should crash right now like it did on Linux before 5.4, but the Linux patch for that https://github.com/torvalds/linux/commit/66341331ba0d2de4ff4... is absolutely tiny, I could probably replicate these quirks in FreeBSD in a few minutes.
The SPI keyboard and touchpad thing though is just.. WHY?? Everyone went with HID over I2C, Apple went with a completely new protocol over SPI. So annoying. I wouldn't want to work on supporting that crap.
> power management (suspend/resume) doesn't work for any model
um, that page says that you have to disable a power saving state on NVMe and it would work on any model with Intel GPU.
These days it just works though.
The term to look for is “Windows precision trackpad”.