HN user

dylan-m

1,007 karma

Software developer in Vancouver. Fan of tea, running, and the web. Bad at elevators.

https://dylanmc.ca//-

Posts4
Comments249
View on HN

Pedantry time: Fitts' Law is a law in the same sense as Newton's Law. Fitts' Law is an established model for understanding how humans interact with objects. If you're jumping on a trampoline, you aren't breaking the law of gravity, but you're certainly using it to some effect.

Similarly, if you decide that your button positioned at the edge of the screen actually shouldn't be an infinitely long click target, you aren't breaking Fitts' Law. You might be doing it with Fitts' Law in mind, or not, but Paul Fitts' ghost isn't waiting in the shadows to prosecute small buttons. Some actions should be difficult!

With that said, they definitely screwed up here, but I don't like when we're like "but Fitts' Law" and act like that proves our point on its own. If they wanted, they could "Fitts' Law" right back at you.

I feel like Disney+ really cemented the decline here. I enjoyed watching Reservation Dogs, which I think I had pirated originally because it was one of those smaller shows with awkward distribution rights. I genuinely wanted to just go and buy the second and third seasons up front when they were airing. It's fine if it's unreasonably priced and it takes a day or two for the episodes to be available, I needed to absolve my guilt for pirating it. So I tried iTunes, which has basically everything if you bring cash, right? Used to, anyway. Not anymore. The only way to watch this show is if you subscribe to Disney+. I don't know why they make this hard, and I don't care either. Episodes were available immediately on TPB. I felt bad, but Disney made me do it. To be fair, Netflix does the same thing, but they don't have their fingers in so many places.

If it’s important to you that an application doesn’t need to cooperate, then that’s something Snap has an answer for. I don’t remember the name of it or if it got past the proposal stage, but it’s like “if an app opens a file, intercept the syscall and show a dialog.” I think it’s a disgusting solution to a non-problem (it was demoed with Firefox which has dutifully cooperated with our shit for decades). But it’s interesting :)

When it asks me to open a file, or a directory, it should invoke a system dialog that cannot be faked, and when I pick a file/directory for it, that directory or file should be bind-mounted into its mount namespace without giving it extra information about other files beside it, or indeed what's the full path of the file. When recording a screen, I should be able to pick which regions and which applications it should be able to see, and the system should make it think it's all there is.

You've described exactly what flatpak is doing? I'm curious what gaps you see with its approach in particular.

My favourite thing about Django is the versioned documentation. Land on a page - any page - and you can trivially read the docs on that subject all the way back to 1.8. That's ten years old. And it works, because Django knows how to patiently deprecate APIs and migrate things. They built one docs site, and it still works. It didn't bitrot. The URLs haven't changed. They didn't restructure everything and force people to rewrite their entire projects or be judged quietly. Every single time I end up working with a framework where docs are littered across a handful of different websites for different versions and types of docs or whatever, I think of Django and I wonder why people have such terrible taste.

Alas, that tends to be the majority of my experience with Django. Using it for one-off personal projects and quietly wishing for the current new shiny JavaScript thing to go away. It still feels like home, but most of my time is somewhere else.

I'm okay with modal dialogs working that way as long as people get the message: dialogs are supposed to be ephemeral. If closing the dialog loses important state, or you need information from something under the dialog in order to use the dialog, what you have shouldn't be a modal dialog. And you can tell, because in most UI frameworks that widget is just begging to be closed. Unfortunately, a lot of teams don't get the message.

This is why it's often safer to "jaywalk". If you're in the middle of a block, you only have to look two ways. Even if you screw up, a driver going at a reasonable speed is more likely to see you anyway because you're directly in front of them. I'm not exactly advocating for crossing in the middle of a street in North America since it's depends a lot on the situation, but there's a reason why people sometimes just do it intuitively, and it's unfortunate our infrastructure doesn't know how to address it.

America is too big for planes, too. If your transportation solution is flying, now everyone has to get around via endless highways or big, complicated regional airports, and you can only have so many of those. There's a reason why rural areas in North America have completely different politics from urban areas, and why so much of it is driven by a sense of isolation and abandonment. Trains promise to help here because they are able to stop in small places that will never, ever have practical airports.

A good rail network provides a reliable, consistent, repeatable, and straightforward three hour connection from Nowheresberg to the nearest city. Slow, but good enough to feel like they exist in the same planet. Unfortunately, that promise is subtle, and it plays out over decades, so the reward system we've created for ourselves is incapable of supporting it. And thus, we have Amtrak and confederate flags.

This was really neat, traditionally you have to access those by right-clicking some whitespace in the list/grid view, but in the list view there is only a narrow band of empty space to right-click, usually you accidentally click a file. So this was a genuine innovation in UI design. Unfortunately they since removed it again.

Wait, no? It hasn’t. I’m looking at a fresh build from the main branch right now. The menu doesn’t have Paste in it in this version, which might be what you’re referring to, but I don’t think it was ever there. (Alas, copy and paste UIs are sad). But otherwise it is very much there. And arguably better because the other big menu has moved somewhere else :) If you’re finding it’s completely gone, um, what distro are you using so I can quietly judge them?

It would be better to have these common tasks in a separate menu item in the icon bar where they are always available, in addition to the context menu when right clicking on empty space in a window.

In GNOME Files they are! It’s the folder menu - the one that’s connected to the location bar.

It isn’t the most beautifully discoverable of menus, but it works well, and it’s worth noting the menus have been rearranged a bit in 47.

One of my favourite unreported MacOS issues comes from how, at some point, they changed the appearance of the window close button to be a particular shade of red with a tiny little X in the center. And if you happen to be using a particular kind of screen and possibly wearing glasses, that little X kind of wanders around in the button, appearing just slightly off center in a maddening way. Made only more maddening by the glasses component: https://www.robbert.org/2014/10/the-off-center-close-button/.

That post points out it’s probably just subpixel stuff causing the issue, but I think my thick, cheap glasses at the time were adding a layer of chromatic aberration to something that was already visually confusing.

I assume it’s kind of gone away at this point with all the high DPI screens these days. But I remember thinking at the time, if there was a public bug tracker, that issue would be a fun one.

This is one of my favourite things about Fedora Silverblue and rpm-ostree. If I run `rpm-ostree status`, I get a list of all the packages I’ve installed or removed compared to the base image. Makes it really easy to keep track of what’s different in my system compared to the current default.

I adored this in Return to Monkey Island, as well. Elaine and Guybrush just have a … functional relationship. They love and support each other and they get along well. It's an important part of them as characters, but it's just there, and you don't have to worry, and the plot doesn't revolve around it. I found it refreshing.

You all are crazy. It desperately needs work, but Siri is the only mainstream assistant thing that meets users where they are instead of forcing them into whatever ecosystem it's attached to. Sure, Google Assistant's contextual awareness is super cool, but it only works if you use Gmail, Google Calendar, Google Contacts, Google Tasks, etc.

If we include the umbrella of machine learning stuff in iOS that gets branded "Siri", Siri finds useful connections between my firehose of email from Fastmail, my work Gmail, my text messages, and my Nextcloud calendar and contacts. Completely offline, without even mentioning iCloud.

The voice assistant is extremely clunky and I do hope they'll borrow from LLMs to improve it it, but they really are doing something right here with their modest approach, and "just use ChatGPT" isn't the solution people seem to think.

To be fair, OLPC was accidentally instrumental in making people buy cheap small laptops. The Eee PC netbook emerged very soon after the OLPC, and it was definitely responding to peoples' interest in the OLPC - particularly from the "Give one get one" program. The Eee PC became netbooks, which were eventually strangled to death by Chromebooks.

The OLPC project said "we can help kids by designing $100 laptops just for them", and rich westerners heard "$100 laptops."

The mistakes happened way in the beginning, along with a certain economic downturn. In retrospect, the interest of (on-average) wealthy people in cheap disposable laptops was obscene, and it's a shame the market allowed that interest to be entertained the way it was. Netbooks happened because we are incapable of accounting for the long term costs of crap electronics outside of futile attempts to educate consumers. Thus, netbooks and then equally disposable Chromebooks were dumped into the market without scrutiny, and computers are Google now.

I find this project really confusing, as well. I'm sure sure this project is doing some good work, but I'd love if they take the time to catch us up a little bit, or maybe tweak their name to better reflect what it is they're actually doing. Like, for a modern Linux desktop on well supported modern hardware, what is this affecting?

From my perspective as someone who is rather picky about pixel perfect scrolling and animations, and happily using GNOME 45 with a Magic Touchpad, a Logitech mouse, and a Thinkpad touchpad, and finding nothing particularly amiss with any of those[0] … I'm, um, lost.

Is this all about backporting things to X11? I'm unfamiliar with how touchpads are over there nowadays. (Frankly that sounds like a waste of time to me, but if it still makes people happy, that's cool). Or has this project been actively contributing to exactly those things I'm using, and I just didn't realize?

[0] The Magic Touchpad is definitely a better experience than the Thinkpad one, but they both support multi-finger gestures, and Gtk apps correctly do pixel-perfect scrolling with kinetics and all that jazz. Could maybe do a better job doing the right thing when I lift my finger after scrolling at low speeds. If I used more apps with different toolkits, I know I'd be annoyed by the differences in behaviour between them, so there's definitely something missing there. Happily, since somewhat recently, pretty much every app I use supportsGtk 4 apps all support pixel-perfect scrolling with smooth scroll wheels, too, which is pretty cool.

So, the thing that made Mastodon click for me was when I reminded myself social media doesn't matter. That's really the whole point of this stuff to me. Twitter's long failure began when people were convinced they should make it more important in their lives than it ever deserved to be. When the daily news started to earnestly read nonsense like "X tweeted in response …" for minutes on end, or when the RCMP used Twitter to communicate important public safety information, I felt it in my bones (though I might not have understood exactly why): this was wrong.

I set my Mastodon posts to auto-delete after 6 months so I don't care if I lose them, and I made sure to have some "me" links in the appropriate places pointing at my profile. Even if I were to lose that paper trail from doing proper account migrations, it's pretty easy to say which profile is mine. And if I lose followers, so be it. I'll follow people when I remember who they are. I'll make new posts. If I don't, that's fine. Life happens.

Quality is a pretty good guess, there. I know nothing about porn, but I've watched a few VR-first films. In my mind, the only good attempt at the genre has been a ten minute real-time rendered thing that invites the viewer to come sit down and look around the room while the story happens around them. Small scale. But it makes sense to me. Flat screen cinema didn't start with Lord of the Rings. Even if it was technically possible, that would have been a disaster.

It's very tempting for a filmmaker to carry whatever techniques they are used to in traditional film and use a fancy camera to make it "VR". It takes a long time for the lessons we've learned to actually take root so we can tell a story without throwing the viewer around in some gravity-defying kaleidoscope of headaches.

Apple is up against a widespread misconception that VR means motion sickness for a huge number of people. Largely because of cheap garbage like Gear VR, and content designed for it.

Considering the quality of YouTube's Apple TV app[1], this should come as no surprise, and frankly it's probably for the best. This type of thing is better off starting small with applications that actually work well, instead of bolting on some well-known names that are just going to phone it in and disappoint users in the long run.

[1] Anecdotal, but: it recently added its own screensaver that plays instead of the system one, and never stops playing, meaning if I accidentally leave YouTube open, my TV never switches off. The VLC app can't discover UPNP services on my network as long as YouTube is in the recent apps list. It decides to be in French sometimes. (Our system language is not French). And, not entirely Google's fault, but there are about three different ways to cast a YouTube video from the iOS YouTube app to the same gorramn TV, and which one is actually going to work today is completely random.

The indifference YouTube gets away with on Apple TV tells me, if that team made an app for Vision Pro, it would provide guaranteed headaches. Apple is dodging a bullet here.

things which were working are suddenly broken

Wayland is 15 years old.

So, it's not very sudden, then, is it?

So much of what people see as wrong in Wayland is about slow-moving applications and driver vendors refusing to adapt; waiting until their software is actually broken before they do anything. We've had more than a decade knowing full well what is coming. I sympathize that an application you rely on is caught up in that. Nobody wanted that situation. But X11 has had a pretty good life. And unless Talon on Linux is suddenly abandoned, I really doubt those developers are going to keep hitching their wagon to X11. At some point, (probably soon now that distributors are getting serious about it), they will take a look at what's new and they will make it work with Wayland.

With that said, I don't think you have to worry for a while. I doubt apps are ever going to stop working in X11 altogether. You might end up with a different desktop at some point if you're using GNOME or KDE, but that's all.

The most frustrating part of this is when you run into some library that is all in on hooks and insists you use hooks, but your project has been using class-based components so far. I was having a great time making a game prototype with react-three-fiber until some model loading code was just like "fuck you, use hooks" and I ended up wrapping a bunch of functional components in special ways to basically isolate the hooks stuff so I don't have to deal with the headache of it all gradually encroaching on the rest of my perfectly functioning project. It's frustrating because every time I wonder how to make it not a mess, the answer is "haha, we lied, they're barely supported; class-based components are for losers and you should feel bad."

It's just frustrating. Couldn't they have had the decency to fork / rename React for all this and leave the old branch to die instead of turning the entire space into some kind of pedantic war-zone for several years?

The new owner has a lot to say about Twitter being a "public square". Not just a public square, but the public square. In the real world, a public square works (in general) because it is owned and operated by the public, not by a single private, for-profit corporation run by a megalomaniac. Twitter was terrible to begin with and we should never have allowed it to happen, and I do kind of disagree with the idea that Musk's takeover has changed all that much at this point (beyond abusing thousands of employees and somehow politicizing the myth of the 10x developer). I think what it has done is provided a big enough spark that a lot of people noticed this is kind of a problem.

For people that use Twitter but care about their public square on the internet being slightly more sustainable and human-scale, Mastodon's model makes a lot of sense. Mastodon provides the tool for building your networks, making it possible for small organizations to run instances basically as utilities. I'm particularly excited for the co-ops I've seen in this space.

Living outside a city doesn't mean you get to roar through it in your SUV and park a step away from your destination. A city has a lot of important services, but it is also a place where people live, and those people get to make choices that put their community first.

But while we're on the topic of rural areas having terrible public transportation, I think that's a really important one. Switzerland has a smaller rural-urban divide (which is really where this whole "war on cars" thing comes in), in part because it is actually practical to move between rural and urban spaces on a regular basis. That isn't because the cities are more driveable, or because they build a highway through Bern: it's because they invested in public transit that actually works. This kind of talk benefits everyone.

Gnome Builder 43.0 4 years ago

I use it!

Granted, I mostly do GNOME stuff so it’s an easy choice, but it’s an incredible IDE. Fast, doesn’t get in the way with modal dialogs or give me a million equally ugly options for how I can organize my workspace (43 lets you rearrange panels but it has a pretty good model for what actually belongs as a panel so I don’t end up panicking about where I put some new panel when I try to manage Flatpak runtimes or something. It isn’t afraid to have its own opinions about how the UI should be).

I like that it’s opinionated about build systems in a different direction than many IDEs, so if your project uses Meson (like every GNOME module) it knows what to do with it - you don’t end up with IDE-specific gunk anywhere. And if your project uses Flatpak, it knows how to build and run inside the appropriate Flatpak SDK.

Builder really shines when you clone a GNOME app repo (the welcome screen offers a bunch), click the Run button, and everything just happens automatically.

Indeed, this talk OpenAI does is basically security through obscurity, and it's holding us back. Look at how often people make noise with screenshots of tweets or emails that never happened. You don't need photorealism or fancy machine learning for that, and it creates a lot of problems! If they weren't pretending that all we need is to put some yellow tape around machine learning, maybe there would be some interest in solving this type of stuff properly. But you don't need "AI" for that. You just need public awareness and some basic, pre-existing cryptography knowledge.

I've been really disappointed with Reservation Dogs' arrangement. Brilliant little bite-size show, but their network means they only stream on Hulu or Disney+ (not sure if it's even on Disney+ in the US?) and they don't sell episodes á la carte at all, right now, in Canada. Even if you are okay subscribing to a new streaming service just for that show, you need to spend a ridiculous amount of time figuring out which one it is for the country you are in. So I'm sure the show will soon be cancelled due to "weak viewership", probably oblivious to how difficult they've made it to actually watch the thing legally.

I feel like there was a very nice short-lived window where networks were just trying to distribute stuff profitably instead of using everything as a vehicle to increase subscriber counts, but that moment has clearly passed.

I’ve been trying this out as an alternative to python-for-android, for an Android app which can’t quite escape its Python dependency. I really like its scope, compared to P4A: it plugs in to the build system we already have, and it’s just there to execute some Python. And the development workflow is great if you’re willing to put up with Android Studio.

It’s a dumb argument anyway because it’s misunderstanding who the “users” are that would be impacted by this type of thing.

I cannot think of a workflow outside of programming where I would need to think about case sensitive filenames. If I’m an end user, I’m not programming, and I’m being forced to type accurate filenames into a box, either I’m doing it wrong or the software I’m using is an abomination.

If I’m programming, on the other hand, I’d better bloody know how files work.