Blog

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.
@simonwoods

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?

Apple Music Feedback

Just sent in the following feedback, feel free to copy & send this, too:

Currently for songs and albums, you can mark them as "Disliked", but you can't mark an entire artist as Blocked, only Follow.

I want to extinguish ThWknd, Drake, and a bunch of other terrible "artists" from existence, never see them in my For You page, never be recommended them in any page.

Ideally once I Block an artist, they wouldn't even show up in searches or in your curated playlists.

"I Really Hate Twitter"

"I really hate Twitter. It was once promising, and I feel like it still does some good, but on balance, it enables harassment and evil and cruelty at least as much if not more than it helps things change for the better. I feel like it has broken our society, and wrecked our social contract. I feel like the board at Twitter, and its CEO, Jack Dorsey, know this, but they’re too busy profiting from their inaction to care. May history judge them all the way they deserve."
Wil Wheaton

Yeah. Long dull biographical anecdote aside, his point about Twitter is dead on. I've "only" got a couple thousand people I like there, not Wil's millions, but it bugs me that anyone stays.

I feel like they're stuck in some Soviet gulag and I'm betraying them by not staying in the gulag with them, but that's fucking insane. They should be happy I got out, and I should be setting up fake passports and apartments in the Free World for them.

If you need help getting out, read my Post-Facebook Microblogging post, and email me if you need more help.

Tlon, Uqbar, Orbis Tertius

In a short story called “Tlon, Uqbar, Orbis Tertius,” Jorge Luis Borges describes the discovery of a strange book. Written in an arcane language, the book seems to be one vol­ume of an encyclopedia of another world, intriguingly unlike the world of everyday reality. The world of the volume rapidly becomes a universal obsession: scholarly journals were de­voted to it, people begin to dress and act in ways suggested by the volume. So compelling are the glimpses of the world revealed by the volume that its reality finally crowds out our own, and the world becomes the world of Tlon.
The volume you are holding in your hands is the volume Borges had in mind.
—Michael Swaine, preface to Dr Dobb's Journal Vol 09

Xanadu Hypertext from the Future

In DDJ Jan 1983, there's an article:

"The Xanadu Hypertext System is a real and currently available product which can manage multiple differing versions of a single document."
Roger Gregory, "XANADU Hypertext from the Future"

Here in the actual future, this may come as some surprise, since Ted Nelson and Roger Gregory were never able to ship a usable version of Xanadu, as noted in the Wired postmortem; there's a viewer on Xanadu.com with no real editor or import/export system.

Computer dreams without substance, without actual working code.

In DDJ Apr 1983, Gregory files a "Mea no culpa" where he throws Chip Morningstar (of Habitat fame; Habitat did ship) under the bus.

This is great, 35-year-old tech industry drama beats current shit any day.

Dr Dobb's Journal of Computer Calisthenics & Orthodontia

DDJ, especially the run 1984 to 2000-ish, is how I learned C and assembly, and much of my attitude towards software.

These days I read PragPub ed. by Michael Swaine of DDJ infamy, though it's more architect/software manager-oriented than in-the-trenches bit-eating, but it still has some real working code.

Also, I really miss Jolt Cola, like a detoxing junkie misses a needle.

Python 3.7

  • Python 3.7 released: Standard checklist:
    • Run installer
    • Delete the old 3.6 folder from /Applications
    • Run the certificate command in the new 3.7 folder (the other shits a PATH into my shell profile, don't need it)
    • Run IDLE and verify it's 3.7.0. Happily, no longer have to fight with updating Tcl/Tk.
    • Run "python3" from Terminal and verify it's 3.7.0
    • Run a random Python script to make sure nothing's broken.

Nanosecond-accurate time functions and switching more ASCII/C Locale into UTF-8 are nice improvements, but those are more patching up legacy annoyances than "must have".

I'm mostly interested in dataclasses, which makes it much easier to build little struct-type objects instead of random dicts or lists which have all sorts of problems (no equality, hashing, typo-safety).

I greatly dislike the addition of BDSM typing, but it's mostly optional, EXCEPT you have to use them in dataclasses:

from dataclasses import dataclass
@dataclass
class Point:
    x : float = 0.0
    y : float = 0.0

>>> p = Point()
>>> p
Point(x=0.0, y=0.0)
>>> q = Point(1.1, 2.2)
>>> q
Point(x=1.1, y=2.2)

If I define Point without the type annoytations[my new favorite typo!], only the default constructor works, and it doesn't print the fields as a string.

@dataclass
class Pointless:
    x = 0.0
    y = 0.0

>>> f = Pointless()
>>> f
Pointless()
>>> f.x
0.0
>>> f.y
0.0

Real examples might be a lot more complex than a point, and by then the cost of building a proper class with __init__ and everything yourself isn't such a big deal, so I can see dataclasses mostly being used for very simple struct-like containers.