It seems like browsers are doing more to focus on security by disallowing features on file:// and http://.

I'm not sure I like the effect that has on learning web dev. You now have to learn how to set up an HTTP server just to use JS modules, and you need to fork over money and learn how to set up let's encrypt just to use fairly basic features locked behind SSL.

The web has historically been an amazing tool to learn programming, but those days may be going away.

So, I cleaned up some of my changes to swaylock and made it into a proper fork I call swaylock-effects:

I was annoyed that all i3lock scripts took long to lock, so I made some changes to i3lock to read raw data instead of PNG (, and changed an existing C program to not waste time encoding PNG.

I decided it was a bit too much of a hassle to do the same with swaylock since it treats the screen as separate images rather than one huge image, hence the built-in effects and --screenshots flag.

As part of switching to Sway, I've made some modifications to swaylock to get really fast fancy screen blurring:

`swaylock --screenshots --effect-scale 0.5 --effect-blur 3x5 --effect-scale 2` takes 200ms to blur my 4k screen.

What do you think @sir, should I send you a PR or is these sorts of effects out of scope for swaylock proper?

Git repo at by the way.

Typing this from at the beginning of my first serious attempt to switch to .

Wow, Firefox is so much more responsive than I'm used to. Smooth touch-screen/pad scrolling just flies.

I have a lot of work to do updating my own scripts and programs, maybe submitting some patches to other people's programs, but damn, so far it feels like it'll be worth it.

You really notice X11's inefficiencies on a thin laptop with a 4k screen, integrated GPU and 2x scaling.

To show that it's actually trying to parse garbage memory:

More fun dash stuff: Turns out that until Nov 19 2018 (2c3ba509eb8117894d515e8fffc94aa099f38f8a), a command substitution in a heredoc would try to parse garbage memory in a use after free bug.

I've been using a Mac a tiny bit at work lately for some iOS-specific stuff.

Twice now, I have gone to to get a password, started writing the name of the password ("nois", "gith"), seen the relevant result show up, gone to click it, and had it disappear.

"nois" was autocorrected to "nose", "gith" was autocorrected to "with". I'm not completely sure about this "autocorrect in all input fields" thing.

I figured I'd report an issue about weird dash parsing, but it looks like I'll have to report a bug about reportbug first.

An interesting discrepancy between bash and dash I ran into.

I wonder which is more correct? Bash certainly looks more sane, but I wonder if there's some deep corner in some posix document which makes dash's interpretation technically correct.

My small merge request just got merged! Some X11 apps should hopefully be a bit less crashy.

.create = (void *(*)(char *))create_x11

.free = (void (*)(void *))free_x11

.get_frame = (void (*)(void *, struct img *))get_frame_x11

Some parts of C syntax is pretty. Casting function pointers is not one of those parts.

Thinking about implementing filesystems now for uni, the thought about multiple processes running simultaneously and modifying a gigantic piece of global mutable state with no synchronization primitives terrifies me.

Somehow, the world ticks along regardless.

Sure, most X apps don't use signals, but WebKitGTK sends SIGUSR1 a lot, so we should at least be seeing a lot of issue reports to projects like Epiphany about it.

Did I find a bug in XCB? It seems to not handle EINTR.

I don't get why we don't see tons of "Fatal IO error 4" reports if that's actually an issue. Any X11 ninjas out there to guess at what's going on?


Fosstodon is a Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.