Pinned toot

I've mentioned this a few times but never publicly announced it, so consider this the announcement.

Yes, I have ported (along with a few Weston clients and wl-clipboard) to the (that's what I wrote the epoll server for!)

I've also ported Owl, my Cocoa Wayland compositor, from OS X to the Hurd using GNUstep.

Here's a screenshot of weston-terminal and weston-flower, running on Owl on GNUstep on Hurd, with X forwarded from a QEMU VM via SSH.

Pinned toot
Pinned toot

I did it!!!!

TL;DR: I have ported to and written my own Wayland compositor using Cocoa 😎


Pinned toot

I've made a mock-up to illustrate my ideas about the next-gen terminal experience!

• the pathbar
• username, hostname and git branch displayed in the UI, shrinking the shell prompt back to just a $
• commands as cards
• syntax highlighting, including graying out the output a bit to differentiate it from commands themselves
• autocompletion (displayed in a native widget)
• built-in error handling options
• the time each command took (on the right)

Pinned toot

I never did the thing, so here goes!

I'm a software developer who loves to hack on stuff. Some of my interests: , , , , , , pure , , , , & there's more.

I live in Moscow, 🇷🇺 & currently study at CMC MSU.

I work at SmartDec where I write a cool static analyzer for Java & Kotlin. I'm also a tech editor at

I'm on the Darling team; we hack on macOS internals to make apps & programs targeting Darwin run on Linux/Android.

Got #ghc 8.8.2 running on #FreeBSD. Had to bootstrap with 8.6.5 since there seems to be some issues with the build process but that's being worked on. 🎉 #Haskell

Software is like an onion. If you open up the inner layers you start crying

Static vs dynamic comic that everyone can enjoy and be just a little bit upset at

Original here:

Why was posix_spawn() named this way? Are there Unix systems that have spawn() with a different signature/behavior, or what?

"Since we believe in choice, we're going to be shipping other internet browsers as well on the Macintosh, and the user can of course change their default should they choose to" — Steve Jobs, 1997

Nevertheless, I'm going to add two things here: Next week, we're going to have a #gtk hackfest and accessibility is a key item on the agenda; hopefully we can start gathering enough data to make things a bit better, and lower the barrier of entry for everyone #a11y

Wrote a whole thing on the bird site on the state of #a11y and #gtk. Not going to paste it here, so here's a link:

haha TIL about "What Rust is it?", a website that appears to simply show what version numbers various #rust channels are currently at


Dear lazyweb,

How do I set up :emacs: to detect .h files that are in fact C++ or Objective-C headers, and use an appropriate mode for them automatically?

And why doesn't it do that out of the box?

Well any impression I may have had about Apple being privacy-centric is gone now. Apple won't implement encrypted backups at the behest of . . . you guessed it, the FBI 🥳

Just use an open source OS you actually *own* rather than something you are *allowed* to use that could change at any time without notice or consent 🙄

Every single person on Mastodon is an anarchist trans girl from Portland, Oregon who works in infosec. In fact, I am an anarchist trans girl from Portland, Oregon who works in infosec. I wish I had found out sooner.

elementary OS: making keyboard shortcuts more discoverable one place at a time… this was just merged into Gala. 😉

Also demonstrates how using one language, toolkit, and codestyle throughout the entire OS is extremely advantageous! It was relatively easy to add this new widget

Over the past few years I've noticed myself stopping to do custom tweaks on my own system, and instead working to fix the underlying issue for everyone.

I finally wrote my thoughts about this down in a more coherent form

Whenever a project advertises “UNIX” or “POSIX” compatibility as a killer feature, a kitten dies.

Now unironically, I think this could actually be made to work as a poor man's capability/fd passing system.

Of course different UIDs cannot access each others /proc/pid's, so it'll require a privileged broker that can accept anyone's fds and can assume anyone's UID to let them fetch fds sent to them.

Tired: mach_msg_port_descriptor_t


Inspired: here's my pid and fd fileno, please open /proc/$pid/fd/$fileno

Show more
Mastodon for Tech Folks

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!