Email or username:

Password:

Forgot your password?
492 posts total
Gregory

I'm not very good at designing UIs. But I've found this rather exhaustive palette for VK's old website 🤔

It's gonna be interesting to try to adapt this to green-ish color I'm going for in #Smithereen. I never quite liked what I'm getting with PostCSS color functions.

As a bonus: since everything is already in variables, it'd take marginal effort to make an "exactly like VK in 2011" theme with these colors unchanged.

Gregory

I don't own a #blåhaj because the last time I was at ikea I couldn't find any.

Gregory

Why is there no open-source reimplementation of all the proprietary parts of the macOS userspace?

Gregory

#Smithereen web UI is so fast that my browser doesn't have enough time to show a progress bar when you navigate between pages 🤔

Gregory

One thing I find mildly annoying in #Stargate is their computer UIs.

These are clearly designed with a mouse in mind. But almost none of their computers have mice. Instead, they, by the looks of it, just type random crap on the keyboard, as if they have Vim for their window manager. Their interactions with computers look VERY unnatural.

And besides, I know how hard it is to make animations. Yet their very specialized software is crammed with unnecessary animations. It also beeps too much.

Gregory

And, I mean, good luck clicking these buttons at the top right without the mouse.

Their status bars are useless. And, no, you don't need "STATUS: ACTIVE" in every window. It's not helpful.

Gregory

Of course I didn't read it correctly the first time.

Gregory

Not aligning the shapes in icons with the pixel grid is the worst crime in the modern UI design.

Gregory

A #Stargate episode got me thinking about how much of our modern technology I could reproduce if I suddenly ended up in a less advanced civilization.

I'd certainly have to reinvent a lot, but I'd probably build a working computer in the end. Out of relays. Because transistors require highly pure silicon and clean rooms, and besides, I just suck at chemistry.

Oh, and if they do have computers already, internet would be very easy to make. It'd be better than ours by skipping IPv4, too.

Gregory

(Daniel Jackson is still hot, but I liked him more with long hair)

Gregory

Cloudflare was down today. And this was a friendly reminder about why this centralization of the internet is a very very bad and dangerous thing.

Don't use Cloudflare.

Gregory

So I went ahead and replaced the template engine in #Smithereen. Had to remove many weird hacks both in code and in templates. Works fine so far. And a bit faster, too.

See my thread for details: mastodon.social/@grishka/10448

#ActivityPub

Gregory

Isn't it just amazing when you want to take a peek at the documentation for the template engine you're using and you're greeted with this?!

#Smithereen

a1ba-nyan
@grishka I don't understand when someone does this.

Why not to let read documentation for anyone and just leave a warning that's it's not in development anymore? Someone will take care of it, if it's opensource.
Gregory

Actually... I've just found another one: github.com/PebbleTemplates/peb
This uses the exact same template format as JTwig, has a nicer API by the looks of it, is actively maintained, and has three times as many stars on github. Probably lacks the HTML escaping issues I've had with JTwig, too.

I've just tried using macros in JTwig and it incorrectly caches the effect of the {%import ...%} statement.

And one more thing: this Pebble has only TWO!!1 runtime dependencies, one of which is SLF4J.

Actually... I've just found another one: github.com/PebbleTemplates/peb
This uses the exact same template format as JTwig, has a nicer API by the looks of it, is actively maintained, and has three times as many stars on github. Probably lacks the HTML escaping issues I've had with JTwig, too.

Gregory

UX aside: how does one request a desktop website on iOS? Of course you tap the "aA" icon for that. Isn't that obvious?! And if you want to find something on the page, that's under "share".

Gregory

And I hate Safari even more. Yes, I did put an svg into an <img> tag. Yes, this is a retina display. No, this doesn't mean you should rasterize the infinitely scalable svg at 1x and THEN draw it on the 2x screen.

Sigh.

Gregory

It is now possible to run #Smithereen in Docker. Also: the installation process has become easier — you no longer need to run any SQL queries manually!

I guess I can now add Docker to my résumé?

#ActivityPub

Gregory

Oh and also. Because the JNI library isn't supposed to change very often, if at all, I've built it for everything I can so you don't have to. Probably need to figure out Windows at some point.

a1ba-nyan
@grishka I wish it would support PostgreSQL but I never asked about this because I know on how early stages of development Smithereen is.

But I would host it. I have plenty of room on my server even for something written in Java.
Gregory

#Smithereen update. If a comment gets deleted and there are replies to it, this no longer breaks the thread. In this particular case, instead of deleting the DB row completely, I null most of it but keep id and reply key. And the #ActivityPub object remains fetchable but returns a Tombstone with replies & inReplyTo. Speaking of replies, my posts didn't have that collection for some reason, now they do.

Gregory

#Smithereen update. At this point, I can finally consider likes to be done and fully functional the way I want them. They're better than Mastodon's, too — they *should* be consistent across instances, that is, as long as other instances send them LD-signed. Same thing about replies. I now forward activities to make sure every instance that has the top-level post of a thread has a complete representation of the thread itself.

#ActivityPub #mastodev

Dr. Quadragon ❌

@grishka

cc @Gargron please do the same with threads.

It's very harrowing seeing incomplete conversation threads and having to open the thread in the separate tab to get a full picture.

Gregory

#Smithereen update.

I've refactored the hell out of the most crucial federation-related part — #ActivityPub inbox. This is going to allow me to do all kinds of things, like forwarding LD-signed activities to other instances for the sake of data consistency.

Does this 5-parameter generic feel like proper enterprise-grade Java yet? :D
github.com/grishka/Smithereen/

Gregory

Trying to figure out where to forward activities in #Smithereen to ensure data consistency across instances (something that Mastodon regrettably doesn't have).
- Activities concerning remote posts go to their instance, only.
- Local posts, on the other hand... To those who replied, to those who liked, to those who reposted, to everyone (?) in the preceding reply thread... This gets complicated FAST.

#ActivityPub #mastodev

Trying to figure out where to forward activities in #Smithereen to ensure data consistency across instances (something that Mastodon regrettably doesn't have).
- Activities concerning remote posts go to their instance, only.
- Local posts, on the other hand... To those who replied, to those who liked, to those who reposted, to everyone (?) in the preceding reply thread... This gets complicated FAST.

marius

@grishka the way I do it in littr.me:

1. Aggregating recipients:
To: if the activity is in reply to another Object, I add that Object's author
CC: the explicitly at-mentioned actors
CC: the author's followers collection

2. Disseminating to local recipients.
From the list above I get all local actors. Things that are local collections are dereferenced and the local actors are kept.
The resulting list receives a copy of the activity in their inboxes.

Gregory

#Smithereen update: L I K E S!!1
Likes are now done. They work exactly like they do in VK. Additional tweaks:
- Refectored the JS a bunch.
- Boxes can now be dismissed by an X, by the escape key and by clicking outside.
- All transitions on them are now animated.
#ActivityPub #mastodev

Gregory

@Gargron you broke something 😏

These appear any time you try to type a mention or a hashtag.

Go Up