Email or username:

Password:

Forgot your password?
492 posts total
Gregory

Россия, которую мы потеряли.

@rf

Blooming garden [咲く庭] :debian:

@grishka вот хули кому нужны это войны не пойму, и хули надо было бомбить смуглых? Сейчас с Ираном вальс хотят, а Иран стесняется. @rf

Gregory

When you've worked at VKontakte for 5 years, everything you make ends up looking like VKontakte.

#Smithereen #ActivityPub #mastodev

Show previous comments
mittorn
@grishka http://гришка.рф/wp-content/uploads/2019/06/2019-06-27-18.30.20-vk.com-b300a1108972.png
Это для разработчиков всё ещё доступен старый дизайн или кастомный стиль в браузере?
:ggc: Niklas

@grishka New fediverse software?Looks really very good 👍 I have a VK account but never actively used it.Anyway the interface looks somehow familiar to me 😃 I think I'll have to setup a instance when it's ready 🤔

BOXO

@grishka so you should be ready to defend yourself against an intellectual property legal action. seriously, it can be quite difficult and expensive.

Show previous comments
ma1uta

@grishka good! And a few remaks ;)
- SimpleDateFormat is not thread-safe, you can use ThreadLocal<DateFormat>
- to parse ISO8601 you can use the java.time.OffsetDateTime class
- you use threads, but if an exception will be thrown you never notice about it. You can catch the exception like this ```public void run { try { ... } catch(Exception e) {...}}```
- don't ignore the exception, you can log the exception
- don't use the printStacktrace method, you can use the logger (i. e. slf4j).

Дима Ржевский
глянул.
вроде проект на java но там php  файлы. и зачем jni?
Gregory

#Smithereen update: reposts! These are a bit half-assed tbh because I keep them in the feed table so they don't show up in the profile, and there's also no reply thread loaded for them (yet) if there isn't one available already. But at least they are no longer ignored altogether.

#ActivityPub #mastodev

Gregory

Fixed some more edge cases with post formats — namely, it turns out some Pleroma posts lack "url" and "published" properties. NullPointerExceptions are no more but I can still use some more stringent validation here.

Also the amount of non-public posts I receive (and reject) is surprising.

I also made a favicon and a new, more proportional logo.

Gregory

#Smithereen update: the news feed now uses a separate helper/lookup table in the database. This enables a feed that not only contains posts but other things like photos, photo tags and "X added Y as a friend". I'll also probably use this to implement "boosts" which are effectively not posts themselves but acts of sharing someone else's posts. Side note: my own reposts won't be like that, IMO it's better when each repost has its own comment thread.

#ActivityPub #mastodev

Gregory

Interestingly, Mastodon boosts (or are those retoots after all?) do have unique IDs as if they are posts of their own, but if you try dereferencing that, you'll get redirected to the boosted toot to whatever instance that is on:

Gregory

It's been 4 days so far but it still creeps me out that the year no longer has the form of 201x.

Gregory

#Smithereen is now able to fully federate with itself. You can now send friend requests to people on other servers and make posts on the walls of users on other servers. That is, as soon as there are other servers. Currently there's only one, lol.

Also addressing (to/cc) is now validated more strictly for incoming posts.

#ActivityPub #mastodev

Gregory

Boring #Smithereen update: I changed the user and post URIs. User URIs now have the form of /users/123 with my internal database IDs, these are only visible through #ActivityPub. Post URIs no longer have username part in them because that was redundant anyway — this ain't a highload system, I'm not doing load balancing based on "owner ID".

Next step: making sure this thing is able to federate with itself, + implementation of my specific features in ActivityPub.

#mastodev

Gregory

Would something bad happen if I change the ID URIs for things on my friends.grishka.me #Smithereen instance? I don't like identifying users by username only. Numeric IDs would be better in the long run and would allow for changeable usernames. Humans won't see them anyway unless they're very curious.

Anyway, is there a way to tell those three Mastodon instances to change the IDs of my users? How much will break if I just change the URIs?

#mastodev #activitypub

Dr. Quadragon ❌

@grishka
Changing usernames is a big no-no, as far as I know. Not the least, because it makes the system vulnerable to impersonation. Also, imagine all Mastodon, Pleroma, Friendica instances having to rewrite posts as soon as someone changes usernames.

Don't do it.

Gregory

Недавно обратил внимание, появилась новая бизнес-модель у софта: код открыт, но за готовые бинарники и/или за техподдержку надо платить. То есть, такой своеобразный налог на неумение собирать самостоятельно. Что думаете о таком? За этим будущее?

@rf

Show previous comments
GOTO MARS

@grishka @rf основная ца тут коммерческий сектор. И да, компании легче заплатить за поддержку и хостинг условной альтернативы слак, чем нанимать разраба-админа.

ma1uta

@grishka @rf У RedHat такая бизнес модель с самого основания компании в 1993 году, этой бизнес модели уже 25 лет.

[DATA EXPUNGED]
Gregory

Why did I receive a follow request even though my account is set to automatically approve followers 🤔
#mastodev

[DATA EXPUNGED]
Gregory

Now this is properly weird: I had a follow request from a user on this same instance, mastodon.social... How do things like that even happen?
#mastodev

Gregory

Since this instance seems to be dedicated to cat pictures, here's one of a friend's cat I took this summer.

Gregory

Написал тут хорошему знакомому пост про ActivityPub в контексте серии постов про интернет без корпораций: https://marinintim.com/2019/indieweb/16/

@rf

BOXO

@grishka @rf а на этот smithereen никак не посмотреть?

Gregory

Another #Smithereen update. Two things:

- I now actually store and respect the accepted status of a follow relationship. This is needed for compatibility with those accounts that manually approve followers.
- Added the litepub 0.1 schema in order to be compatible with Pleroma. (I don't do any networking in my JSON-LD processor)

#ActivityPub #mastodev

marius

@grishka you're on fire man... keep it up. Do you have your code somewhere public? or you're developing in secret? :)

Gregory

Am I understanding it right that if an account manually approves followers and accepts me as a follower by sending me an Accept{Follow}, there is no way for them to reverse that decision? There surely can't be Undo{Accept{Follow}}, right? At least I don't see a button to do that in Mastodon UI.

#ActivityPub #mastodev

Show previous comments
marius

@grishka as a general rule of thumb most of the ActivityPub activities can be negated by sending and Undo activity with them as an Object.

Also please, please stop relying on what mastodon does for some specific funcitonality. Read the spec and make your own mistakes. :)

https://www.w3.org/TR/activitystreams-vocabulary/#inverse

marius

@grishka as a general rule of thumb most of the ActivityPub activities can be negated by sending an Undo activity with them as an Object.

Also please, please stop relying on what mastodon does for some specific funcitonality. :)

https://www.w3.org/TR/activitystreams-vocabulary/#inverse

ma1uta

@grishka you can use https://www.w3.org/TR/activitypub/#undo-activity-outbox but Mastodon doesn't have it, yes. Mastodon implements only subset of the ActivityPub S2S API.

Gregory

#Smithereen update: the media cache now works for photos inside posts too. And, most important part of it, it now also deletes old files when the configured cache size is exceeded. Unlike some other implementations that store terabytes of cat pictures indefinitely 😏

#ActivityPub #mastodev

Gregory

Images are only downloaded when they're first accessed and there's a cache miss. This works through a special endpoint I have that downloads the original image, generates a bunch of sizes and then redirects to the appropriate one. Any following page loads have direct links to local copies instead of that endpoint.

Gregory

Testing whether Mastodon supports animated gifs

Gregory

Oh, nice, it converts them to silent videos so they have a distinct, non-image mime type.

Go Up