Portable Computing Devices

"Dr Ed Morbius"[sic] posts The Case Against Tablets and one of the most unusable tables I've ever seen (too much data with no affordances, and Diaspora's design crops anything complex). But the premise is interesting, especially as I'm considering my next wave of new hardware. He's just going about it the wrong way (no, really, Samsung of the exploding batteries is bad? Tell me more news.), and then frustrated he can't succeed by going the wrong way.

So, luggables have been around since (counting only devices usable by the general public) Osborne I (1983, 10.7kg), tablets since Kyocera Kyotronic 85 aka TRS-80 Model 100 (1983, 1.4kg), laptops since Toshiba T1100 (1985, 4.1kg). It's been possible to have handheld computing since at least the Apple Newton MessagePad (1993, 640g), and Palm Pilot 1000 (1996, 160g). I've used but didn't own most of those, mind, just a Sharp PC-3, Psion, slightly later Toshiba and IBM laptops I hated, a bunch of Palm devices. I read many ebooks (Baen's early CDs of ebooks were great! Pity they mostly ship right-wing milsf these days), and 160x160 2-bit grayscale is not ideal. I have, as they say, seen some shit.

These days, the choices of hardware are a little better, thousands of suppliers, almost all of which fit into a few categories:

_ iPhone iPad Apple M1
Price mid-y mid-y hi-r low-g low-g hi-r mid-y hi-r
Weight/Bulk low-g mid-y hi-r low-g low-g to mid-y mid-y hi-r hi-r
Battery hi-g hi-g hi-g mid-y low-r mid-y mid-y low-r
Performance hi-g hi-g hi-g mid-y low-r to mid-y mid-y mid-y hi-g
Security hi-g hi-g hi-g low-r low-r mid-y mid-y mid-y
Books low-r hi-g mid-y low-r hi-g hi-g low-r low-r
Video mid-y hi-g hi-g mid-y hi-g hi-g hi-g hi-g
RSS/news sites mid-y hi-g hi-g mid-y hi-g hi-g hi-g hi-g
Social media hi-g mid-y low-r hi-g mid-y mid-y low-r low-r
Online shopping low-r mid-y hi-g low-r mid-y mid-y mid-y hi-g
Reference hi-g mid-y low-r hi-g mid-y mid-y low-r low-r
Videogames mid-y mid-y hi-g mid-y mid-y mid-y low-r hi-g
Writing low-r mid-y to hi-g hi-g low-r mid-y mid-y to hi-g hi-g hi-g
Programming mid-y mid-y hi-g low-r low-r mid-y mid-y hi-g

Figure out the things you care about, and pick whatever has the most green, maybe yellow, avoiding red cells. Now you know what to buy.

What do you actually care about?

  • Price: You do largely get what you pay for in this category. Apple's devices aren't really much more expensive than equal hardware, but they never ship anything in the bottom price category. They do gouge on the top memory prices, which is unpleasant. But any Apple device will last for years longer than Android or a cheap PC, and have good resale value. The incredibly low prices on Android stuff is tempting, but it's a trap ("get an axe").
  • Weight/Bulk: These days almost everything's under 2kg like a good sword, but holding up an iPad over your head in bed is very liable to fall and break your nose; this is one place where a phone or phablet is superior. Obviously holding a heavy laptop up is incredibly dumb, and they're completely useless while moving, standing, etc., can't be propped up anywhere, are just always in the way.
  • Battery life: It's easy for manufacturers to lie about this, but if you run a real workload, you quickly see how wasteful any x86 PC is. Everyone else, it comes down to power management.
  • Performance: Only matters for Videogames and maybe programming. But Apple's been putting absurdly powerful CPUs and GPUs in their mobile devices, A12 is essentially the same as the M1 in the new Macs. Only the fastest AMDs or Intel are even competitive, and those burn too much power to be good mobile devices. Benchmarks are hard to compare exactly, but: anandtech on A12Z puts it pretty high against laptops. 2 years later, that's the SOC that's now in the lower-end iPhone and iPad.
  • Security: I'm not trying to be biased here, but if you are concerned with security at all, you really only need to look at those first three columns. There's just no alternative at present.

    Only a fool would trust anything running Android, they often ship with malware, everything in the stores is contaminated and has ridiculous lists of permissions, and they stop updating at "EOL" which may come as soon as it ships, rarely more than 6-12 months later. Do not put anything of value or interest to others in your Android device.

    Microsoft wants to be good at security, but is functionally terrible at it. They live in an open sewer of constant attacks, and have cardboard walls of bad software. Your mobile device may be pwned and all your files crypto-ransomed the second you connect it to the Internet. MS monthly updates sometimes wipe drives or lock you out, those are just from the last year, I'm sure they'll fuck up new ways this year.

    One can, one supposes, install BSD or Linux on a laptop, but that just makes it unusable for most of the tasks below.

    You know who actually seems able to keep secure borders? The walled Apple garden. Other than nation-states getting physical access to an older device, and if you're not stupid enough to turn on iCloud backups for things you need to stay private (iMessage!), you are almost entirely safe on iOS or Mac OS.

The tasks you might reasonably do with a portable computing device are:

  • Books: Cannot be read comfortably on a small screen, or landscape laptop. Needs a good document management program. On iOS, there's Readdle Documents, which is a great storage/reading hub for almost everything. On the Mac, I use Murasaki to read epub, except those in Apple Books. On Android, I've found ReadEra and Simple File Manager do that well, are pleasantly minimalist, and are not apparently run by criminals out to rob you, unlike 99% of Android software. I guess on Windows you can just keep things in folders and click on them? As noted every time I have to use Windows, I don't know how people use that.
  • Video: Not ideal on small screens, but I've found almost everyone has caught up now. Everyone has players for all the major streaming services, can play web video fine. Android file management of videos is awful. Windows seems OK at this. The real losers, tho, are BSD and Linux laptops; they can't do any DRM video without jumping thru excessive hurdles. I've been fighting this off and on for a decade with my side terminals, and mostly end up playing video on the Mac desktop instead.
  • RSS/news sites: Relies on having a big screen for 2-pane or 3-pane view, and good RSS reader. I use Reeder on mobile, and Feedbin on desktop; there's inferior but functional apps on other platforms.
  • Social media: Doomscrolling is best done at arm's reach, where you can instantly push home or just throw it away to get away from it. You need a camera attached, so I don't consider laptops suitable at all. Can you imagine someone holding their laptop over their lunch or up for a selfie?
  • Online shopping: Requires multiple tabs, note-taking, preferably a spreadsheet. On the latest iPads, you can split-screen a notepad or Numbers and a browser, which definitely helps, but a laptop or desktop works best here. I don't know how you would even do this on Android, where programs rarely keep their contents when hitting Back a bunch of times.
  • Reference: Here I mean on-the-spot "what's the answer to X?". Mostly checking wikipedia or Memory Alpha. So just a tiny bit of typing in search, maybe poke at a couple followup links, not extensive reading. 12 years ago I started doing this with my Treo, and it was addictive. This is an ideal use of a smartphone, every second that passes until you can Kirk someone with your online knowledge, it becomes less interesting.
  • Videogames: All mobile devices suffer from shitty controls. Cheap computers suffer from shitty GPUs; these days mobile GPUs are better. Macs don't have as many games as Windows, the official hybrid Excel/Call of Duty OS, but it's fine. The whole category shouldn't exist, we should just play games on the Switch or consoles, but it persists. Go play catch with your dog, it's more fun than poking at a tiny screen.
  • Writing: Long-form writing depends on screen, keyboard, and editor. There's plenty of BT keyboards for every mobile device. The original iPad had a keyboard dock stand which I bought with mine, and used until I got a better one; I now mostly use a Zagg keyboard with it, or just type on-screen. The current low-travel keyboard cases for Surface, iPad, etc. are kind of awful to type on, but they're very portable. Laptops will always win here, you can sit upright at any table and type ergonomically, and still have functioning hands in a decade. Even with an external keyboard, I find phones too small to compose much text on.

    The editor situation is more complex. I love Editorial (by the author of Pythonista), and it's great for writing text in Markdown, and is scriptable. Pages is fine for short, pretty documents, but it's incredibly slow as your document gets long, and very fiddly when you adjust layouts. There's dozens more on iOS, of varying quality. MS Word runs on iOS, Android, and something called "weeendows"; it's mildly awful but standard. I've found no native Android writing programs that weren't hate crimes, but I'm not super motivated to try every one.
  • Programming: As noted in Programming on your Phone, there's only a few good environments for iOS, but Pythonista is so good it makes up for a category. I've now seen a few Android programming environments, and they're comically, hatefully bad. Surface would be fine, except it's Windows; the only way to dev on that crap is a giant IDE that really needs a high-end desktop computer. Again you might put BSD or Linux on a laptop, but now it's useless for anything else.

I don't rank Drawing, even though that's a very important task for some people, because I'm not qualified to evaluate it; I can draw stick figures and collage art/"memes", but is the Apple Pencil super great? Maybe. What do the others have? No idea. Apparently MS reinstated MS Paint to their program store?

In hardware, I ignored e-ink readers because I find them unusable; a 2-4 second lag when flipping pages or trying to type anything is just unacceptable. We have cheap, low-power, high-refresh-rate LCD screens now, there's absolutely no benefit to e-ink. If you can stand it, fine, but I have no idea how to evaluate a thing I can't even look at.

(my table's not ideal because WordPress fights me; writing this in BBEdit/multimarkdown, I had the column labels rotated 90° with CSS, but for some reason WP positioned them wrong! I could render the HTML and paste that in, I guess, but then it's not easily editable later. And the margin of my site theme is a pain; I keep threatening to rewrite the style sheet entirely. Also, I'm aware there's colorblindness, but safe colors for them look awful to everyone else; so read the -r -y -g labels.)

Terminal Condition

I spend half my time, easily, in a command-line terminal running zsh. So a new one, even one on an OS I don't run, is interesting:

There are some modern, nice conveniences in this. It's a little ways behind Mac Terminal.app (based on the NeXTstep Terminal from 1990), and vastly far behind iTerm2, but it's more advanced than the usual Linux terminals like rxvt, urxvt, or cross-platform Alacritty or Hyper.

Between this and WSL2 being a full Linux, it's plausible that the best Linux dev environment now (well, this summer when it's released) is Windows. The Year of the Linux Desktop is 2019, and it is owned by Microsoft®. Can you hear the tiny, distant screams of the FSF cultists?

Comparison based on code, reviews, and reddit thread with MS devs involved:

  • Scrollback: The single most important thing a terminal can do. MS does this, but doesn't have logging.

    Surprisingly, a lot of them only support a few pages. I keep mine at 10,000 lines or so, which is probably wasteful but so handy; I don't bother logging since my .zhistory keeps everything I typed, and I have Terminal.app and iTerm2 set to not close tabs automatically.

    Alacritty only just added scrollback last year.

  • Prompt Marking: Nope.

    This is a feature it's hard to live without once you've had it, no more paging up trying to see prompt lines (I have a red ANSI-colored prompt and it's still hard to see). In Terminal.app, Edit, Marks, Automatically Mark Prompt Lines, and then ⌘↑ and ⌘↓ move between them. iTerm2 has it enabled by default, and ⇑⌘↑ ⇑⌘↓ are the keys, which took me some re-learning.

    Nothing else has this, as far as I've seen.

  • Fonts: MS has programming ligatures and displays emoji, finally. Does not support RTL languages.

    I use Fira Code in all my editors and shells, and it's enormously helpful, more readable, and catches bugs: I look for === as a fat-equals symbol in JS, etc.

    Hyper, urxvt, Alacritty support Unicode fonts. rxvt stopped development almost 20 years ago so it barely shows 8-bit fonts correctly.

  • Tabs: MS has tabs! They're currently invisible until you add a second tab, same shit Terminal.app does, which annoys the hell out of me; I don't like UI that reshapes itself, reminds me of T-1000 Terminators (also makes it hard to tile my windows up correctly when they get resized).

    It's not clear if you can drag Windows Terminal tabs around to different windows.

    In iTerm2, I normally keep: First window with tabs for home shell, ssh into my server (running screen, so that has many open shells). Second window with 2 tabs for REPL, editor/running/compiling tasks, and sometimes a third tab for reading local docs. If I need more shells, I usually open them on the first window. I rarely open a third window for monitoring some long-running task; I just drag a tab out to its own window. All terminal windows are stacked on the left side of my screen, because there's no icons under that side of the Desktop.

    urxvt has tabs, but they're kind of a hack, not fully usable.

    Hyper has tabs, but they replace the title bar. Which is cool but also awful like a lot of things it does.

    rxvt and Alacritty don't do tabs, because they insist you use screen or tmux. Which sucks if you want to move a process from one window to another.

  • Profiles: MS supports multiple profiles, so you can use different ones for each task.

    So does Terminal.app, iTerm2, urxvt (but it's buried in a text file config).

    Alacritty, rxvt, and Hyper have a single profile and no UI for changing anything, hope you like editing text files and reloading.

    As far as I can tell, nothing else does automatic profile switching like iTerm2; when I cd to my ~/Code/CodeScheme folder, iTerm2 switches to my dark red transparent profile, including Scheme-specific triggers and copy/paste filtering.

    You can probably do that in urxvt's Perl(!) scripting, but it's not normal or easy.

  • Copy/Paste Filtering: Nope.

    iTerm2 and urxvt both let you set a bunch of regexp to run over lines to get selections correctly matching boundaries, not just space-delimited.

  • URL Highlighting: Nope.

    iTerm2, Hyper, and urxvt notice URLs and filenames, and let you click on them. In iTerm2, hold down ⌘ and click on any URL or path (like in an ls or find result!) and it does some useful action: Opens the URL in your browser or file path in your editor, by default, but you can configure that in the profile.

  • Custom Keybindings: Sorta? Doesn't seem complete, no idea if there's UI for it, but it does exist in their config.

    Most terminals can do this, but most can only remap a few actions. I like iTerm2's, as usual, which lets you bind any action, menu, or run a program on any keybinding. I mostly just use it to launch different profiles with starting paths & scripts.

    Terminal.app only lets you send specific text for a key.

  • Images: Sorta? Only if they're embedded in fonts.

    This is a neat trick in iTerm2: images. I use imgls all the time to see a thumbnail of every file with details (protip: I changed ls -ld in the script to ls -1Fskd for a more concise listing), and then ⌘-click to open what I want in Acorn; it's better than opening Finder and trying to read a long filename under a thumbnail.

    I'm unaware of anyone else being able to do this.

No Aesthetic Sense

You may think "Mark, you're exaggerating when you say:"

In order to run Windows, you need to have a total lack of aesthetic sense, a willingness to put up with "updates" that brick your computer, a tolerance for Microsoft-Quality™ software ("let's add more buttons to a ribbon bar and ship it!"), and a willingness to use junk hardware that consumes twice as much power as needed and makes noise all the time.
me, yesterday

And then immediately an argument broke out on Mastodon where someone (I'll not shame him here) claims aesthetics are unnecessary and ruining the world, artists are frauds, a computer held together with zip-ties is good, and runs better than a pretty, well-built machine (what's EM interference? what's noise? why doesn't Windows wifi work? He does not know.)

These people exist, and are the majority of the customers of Microsoft and other artistically-void software companies.

And I have to point back to Steve Jobs, in 1995, just before NeXT got "acquired" by Apple and immediately took over:

Steve Jobs-1995

The Stubbornness of Windows Users

What we've got here is, a total failure to understand the purpose of the device or the OS.

A somewhat long sidebar here, state of the world in desktop operating systems:

  • Windows: Redmond still ships a garbage toy OS which is the bastard child of VMS and MS-DOS, that costs a lot of money, but runs on cheap (but not sub-$200) computers, many of which come in every shape and size. In order to run Windows, you need to have a total lack of aesthetic sense, a willingness to put up with "updates" that brick your computer, a tolerance for Microsoft-Quality™ software ("let's add more buttons to a ribbon bar and ship it!"), and a willingness to use junk hardware that consumes twice as much power as needed and makes noise all the time.
    Slightly positive, the graphics and sound systems work, and you get all the games; if that's all you're after, though, a PS4 or Xbox OnePlus+Ultra/190 (whatever the name is) is a better deal. You can generally browse the web on Windows, and you'll get some viruses and ransomware but it works. Dev tools on Windows are expensive and shitty, so in order to get real dev work done, Redmond now also ships Linux inside Windows. My bias shows, sure: I've never owned a Microsoft product in my life, and I'd eat broken glass before doing so, but I've had to use them in some workplaces. Dire, but minimally functional.

  • Linux: Distros ship a garbage OS for free that runs on garbage computers, including sub-$200 microcontrollers. In order to run Linux, you need to be masochistic, technically educated, not have any need for desktop apps, sound support, graphics support, games (some Steam stuff now works, sometimes, on higher-end machines!). As a server or microcontroller OS, or a very nerdy dev machine (emacs and C), it's adequate and somewhat supported. Only insane people use Linux as a working desktop. I say that as someone who ran it as a working desktop for a decade, and I loathed it.

  • FreeBSD, OpenBSD, NetBSD: Great server OS's, that ship for free and run on slightly more demanding computers. Only the most technical nerds will even know that these exist. Software, you basically write your own or port from other POSIX systems, which half the time is written for broken Linux APIs and so doesn't work right. On the bright side, they have such limited sound and graphics driver support that if you do have compatible hardware, you'll have working sound and graphics. If Mac OS X didn't exist, I'd be using FreeBSD.

  • Haiku (aka BeOS): Seriously, they shipped a working beta, and it seems nice. Great desktop, graphics and sound support if you're on compatible hardware. Down side, minimal software for it, and if you want to write your own the APIs are in C++. Fuck that, no. But… I do like BeOS, probably tolerable as a nerdy dev computer.

  • Mac OS X (or "tacOS", er, "macOS" as they now style it): The last of the UNIX® workstation OS's, that only runs on expensive devices Apple makes (it's possible to "Hackintosh" a garbage computer to run Mac OS X, but half the services won't work; don't do it unless you're nerdier than a FreeBSD user). Everything actually fucking works. Sound has no latency, and always works. Graphics, aside from low-end devices having a shitty Intel GPU, always works; I'm unhappy with them deprecating OpenGL and going with Metal instead of Vulkan, but Vulkan libraries have been ported. It's fine.
    There are games, Elder Scrolls Online and World of Warcraft in particular, and Steam's full of Mac games. Desktop applications on the Mac are adequate to amazing; there's no "you must use this one shitty program because it's all we've got" like GIMP on Linux. As a dev machine, it's unmatched. I don't touch Xcode unless I have to anymore, but that's what you use to make iOS and Mac apps, and it has some good dev tools like Xcode Server.

Of course, I say that, and:

libswiftcore-crash Good job, Apple, ship it.

So, end sidebar, the reason you buy Mac hardware is to run Mac OS X, the least bad hardware/software combination available in this horrible century.

What you'd use a Mac Mini for is what you'd use an iMac for, but cheaper and often hidden away:

  • Switch to the Mac from another OS. Steal the keyboard and screen from your garbage computer. You may need some dongles to convert the cables. Learn how to use a Mac. Buy something better when you need it, and re-sell the Mini, which will still be worth 2/3 or more of the original price.

  • Run a multimedia display. Put a playlist of music, photos, or videos on one or a bunch of LCD panels; you can't do this with a Linux microcontroller like Peter suggests, because their graphics and sound don't work worth a fuck. Just try playing a random folder of media on Linux, you'll throw it through the window. It's worth $800 to not fight with Linux.

  • Run a build farm for Xcode Server. Probably need a mid-priced Mini for this, but speed won't matter much because it's an invisible server. It can't be rack-mounted, because not every workplace has a machine room with racks, they just need a little device in some (well-ventilated) cupboard to support the developers.

  • Streaming audio, video, or other server. Put this in a colo farm with a static IP, and deliver whatever media you want. Your podcast and web site has to live somewhere. Now, you can do that with AWS/EC2 and other shared servers, much cheaper, but you don't control the computer, they mostly run Linux (ugh), and often you've written software for the Mac.
    I have an old Mini at colo that runs Minecraft, some file shares, holds backups, used to run Xcode builds but I don't need that now, sometimes runs one-off networking services I want to try out. I may upgrade to a new one, but my needs aren't quite as heavy on it as they were. Invalidstream is currently run from an old Mac pro, but I think he'd be fine on a higher-end Mini now.

  • Literally any other use that doesn't require using it on the move, or extremely heavy CPU or GPU loads. Not a top-of-the-line gaming, Photoshop, or movie editing device by itself, but an external GPU could put it on par with an iMac, maybe even an iMac Pro for some jobs. Probably not a stage DJ device, there they'd use a MacBook Air or even an iPad, but ideal for sticking in an audio booth and doing podcast recording and mixing. Unlike a garbage computer, you can be in the room with a Mini and not be blasted off the air by the overheating fans and clicking drives, and unlike a MacBook it has enough ports.

Most of those tasks require it to be small, quiet, and still attractive if it is visible.

The $799 base model is for only the most minimal uses. For $1,599, you can get:

3.2GHz 6‑core 8th‑generation Intel Core i7 (Turbo Boost up to 4.6GHz)
8GB 2666MHz DDR4
Intel UHD Graphics 630
512GB SSD storage
10 Gigabit Ethernet (Nbase-T Ethernet with support for 1Gb, 2.5Gb, 5Gb, and 10Gb Ethernet using RJ‑45 connector)

That seems like a reasonable Mac workstation, if it had more RAM. +$200 to get 16GB RAM is OK, +$600 to get 32GB RAM is overpriced, +$1400 for 64GB is "bend over and squeal like a pig". You can get 64GB of the same RAM for under $500, and there's a Snazzy Labs RAM Upgrade Tutorial and Teardown; the disassembly doesn't look fun, but worth doing if you're going to use it as a server. A casual user can live on somewhat less RAM with the Apple RAM tax.

lain-s1e3-open navi

Windows and Linux users, people who've only used garbage computers, are confused by Apple's attitude on pricing, upgrades, and repairs because they've never thought about non-garbage computing.

Apple doesn't price based on hardware costs (except for RAM, which they tax 50-300% over cost), but on where it fits in a Portability/Power chart, starting at $1000, because you're buying "machine that runs Mac OS X", not "random collection of parts that does not run Mac OS X". You'll never see Apple micro-adjust prices day to day as part prices or exchange rates change, because it has nothing to do with that.

If you want to upgrade an Apple device, other than RAM in some models, you sell it at a high resale value and buy a better one. Garbage computers are useless in a couple years, cost more to replace parts than they're worth, and have no resale value at all.

If you want to repair an Apple device, it's either free for as long as your AppleCare lasts, or $100 in most cases. Don't keep open containers of liquid on your desk (*), don't abuse your expensive hardware, and the repair isn't a problem (notably, the same guy at Snazzy Labs fucked up his iMac Pro and Apple unsurprisingly told him to go piss up a rope).

*: I wanted to link in the atp.fm episodes where John warns about this, and then gets to say "I told you so", but I can't find them with obvious keywords.

Windows Schadenfreude

After my recent woes with iOS updates (and a completely trivial Mojave update), but always saved by backups (I eventually found my iTunes backup password in my old journal, and put it in 1Password), I sympathize, but also laugh in their direction:

NEVER let a system auto-update. ALWAYS have backups.

Anyone who lets their OS or software update without backing up first, is asking to have their files deleted. Anyone who doesn't maintain a couple backups, with at least one offsite, is asking to have their files deleted. I often say people don't learn about backups until after their first catastrophic data loss, and sometimes not then, but you can beat the curve and learn first.

I use a daily cloud backup, and a weekly to monthly full-disk backup with SuperDuper!. Many people like Time Machine, it doesn't fit my workflow well, but it's a good tool for non-technical users.

You may be thinking, "I don't use a Mac!", but the advice is the same for other (lesser) computers, and you need it more. Only the specific apps for backup will differ. I'm looking for recommendations.

Non-Apple Development: Does It Exist?

By no means the first time I've seen this sentiment:

Still interesting to see people talking passionately about the Open Web and how bad silos are (which is good)
whilst simultaneously linking only to Apple things and app-locked things in general; the web is still here and
it damned sure isn’t exclusive to Apple and your phone.

The thing is, Android, Linux, & Windows devs don't step up and produce good apps or attractive web sites, so what else would anyone link to?

I presume most of the non-Microsoft-employed Windows devs are in enterprise, doing something awful with SAP or Excel or Outlook; I'm not really familiar with their universe, but they certainly don't make a lot of nice end-user software, and they don't hang out on any obvious nerd sites. Are they ashamed to admit what they do? Do they not have Internet access? That 95% of the desktop computer market has a nearly invisible developer population is weird. There's some Windows game bros, eating C++ bugs and mostly being dicks to everyone, but they're not making end-user software (Coming soon: Call of Duty: Mind Mapping Edition!)

Linux devs do sometimes make end-user software, but it's unspeakably awful, like GIMP. Server-side, sure, there's plenty of systems, though I think not many people live and develop on it. My bias is admitted: I loathe Linux as though I were Edmond Dantès himself and Linux had imprisoned me (which in effect it did), and I have sworn eternal vengeance. But my impression is that most server software devs work on Macs, or rarely Windows, and use git or Docker uploads to get everything on Linux.

Android software is almost always made after a web or iOS prototype, and generally as an afterthought; nobody makes Android-first apps except basic system utilities like wallpaper-changers.

There is web-first stuff, including now cross-platform web tech, which could in theory be built on Linux or Windows; yet it seems that most end-user web devs making anything nice are, again, Mac users. If you have any aesthetic sense at all, if you want a nice UNIX environment but don't just work in emacs, it's the least terrible option.

There's an old joke,

"Never ask someone if they use a Mac. If they don't, don't embarrass them; if they do, they'll tell you."

This might be more true than it seems, maybe Mac nerds just talk about it constantly? But why don't others?

If you make end-user software for other platforms, I'd like to hear how, and why, and why it's so invisible?

Microsoft Says They'll Support Atom

Re Microsoft Acquires Github,

reddit AMA with Nat Friedman:

Developers are really particular about their setup, and choosing an editor is one of the most personal decisions a developer makes. Languages change, jobs change, you often get a new computer or upgrade your OS, but you usually pick an editor and grow with it for years. The last thing I would want to do is take that decision away from Atom users.
Atom is a fantastic editor with a healthy community, adoring fans, excellent design, and a promising foray into real-time collaboration. At Microsoft, we already use every editor from Atom to VS Code to Sublime to Vim, and we want developers to use any editor they prefer with GitHub.
So we will continue to develop and support both Atom and VS Code going forward.

Obviously, trusting Microsoft is how you get left in the desert staked out over an anthill without your editor of choice, but it's a little better to at least hear the new puppet CEO of Github commit to it.

Microsoft Acquires Github

On the one hand, Microsoft under Satya Nadella are… still evil, but less annoying about it than they were under Steve "Eats Kittens For Breakfast" Ballmer and Bill "Never Met Someone He Didn't Fuck Over" Gates. Satya just wants to rule the cloud and Office licensing, and seems somewhat aware that Windows alone is not suitable for that task, and that Microsoft's own programmers are mediocre at best.

On the other hand, watching FOSS nerds freak out at this has been amusing. Some will manage to move to self-hosting their own git servers again as people used to before Github centralized "decentralized version control". Remember how we all had our own Subversion and Mercurial servers (and Bitbucket if you wanted C-DVCS)? Good times are back. A lot of people are going to learn very hard lessons about backups, redundancy, and system administration.

On the gripping hand, Github owns Atom, and Microsoft also has VS Code based on Electron; are they going to fuck up my IDE of choice or even "integrate" it into VS Code? Ugh. VS Code is too much like coding in Eclipse for my taste, no fun.

Update 2018-06-04 from Atom slack:

lee-dohm: I just want to let everyone know that we're here, we're ok, and that as soon as I have any news to share that I'll bring it here to all of you :grinning:
Just to let everyone know, I've been given assurances that Atom remains key to GitHub. Our product roadmap is
set and the team will continue all of their work.


"Counterfeit", Microsoft says, about a disk made from their own free downloads and only usable on a machine already infected with Genuine Windows®.

This bullshit is why you shouldn't use Windows, no matter how many non-kitten-eating announcements and events Satya Nadella puts on to show that he's not Steve Ballmer. Sooner or later, Microsofties will always show their true nature and eat a kitten.