Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Marcin Czachurski

@mczachurski@mastodon.social
mastodon 4.8.0-nightly.2026-10-06
  • Open on mastodon.social

👨🏻‍💻 Software engineer - #Swift / #dotNET / #Angular / #ActivityPub,
📸 Street & analog photography enthusiast, mostly black and white,
👨🏻‍🎓 Psychology student - somewhere between id 👹 and superego 😇,
🎞️ Founder of #Vernissage, a federated platform for photographers

0 Followers
0 Following
38 Posts
Joined November 11, 2022
HOMEPAGE:
https://mczachurski.dev
DEVELOPMENT:
https://github.com/mczachurski
PHOTOS:
https://vernissage.photos/@mczachurski
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 2mo ago
Over the past few days, I’ve been implementing grouped photo views for cameras, lenses, and film stocks. Today, I deployed this feature to vernissage.photos. “Categories” in the top navigation has been replaced by “Explore,” where you can browse categories, cameras, lenses, and film stocks used to take the photos. This is one of those features you would be hard-pressed to find on other (non-photography-focused) Fediverse platforms. 🤩
43
9
24
1
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 2mo ago
More improvements landed in #Vernissage today! 🎉 The web app now shows a red dot when there are new news to read, while the iOS app displays a panel when you reach photos you’ve already seen. I also made a few more fixes related to the Angular upgrade and standalone components. If no new bugs appear, version 1.41.0 should be released in the next few days. Thanks for all your feedback! ☺️
22
2
10
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 3mo ago
Boosted by @fedicat@pc.cafe
Over the last few days I’ve added push notifications to #Vernissage for iOS. After some initial testing, they’re working really well! I designed it so they work automatically on every instance (including self-hosted ones) without any extra setup, keys, requests, or manual configuration. I’ll keep testing a bit more, and I’m planning to release the new version next week so everyone can use it. 😊
17
2
6
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 2mo ago
Replying to
@WiteWulf@cyberplace.social I understand the sentiment, but not everyone is a developer or has the skills to submit a pull request. Feedback from regular users can still be valuable. 😉 @hiphopheaven@mastodon.social @blabberlicious@toot.community
5
0
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 6mo ago

Spent the whole day fixing ActivityPub JSON deserialization for different servers.

You start with:
"this field is probably a string"

and end with:
"this field is apparently a string, an object, an array, an array of objects, or an eldritch combination of all four."

Turns out JSON is less a format and more a negotiation. Now I'm just curious what systems I haven't met yet are storing in "url". Maybe a dictionary with keys like href, vibes, and trust_me_bro..

21
7
6
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 3mo ago
I took the plunge and updated my Mac to macOS 27. My biggest concern was whether Capture One would work, but luckily everything runs just fine. Since I build the iOS app through Xcode Cloud, I can still ship new Vernissage iOS releases despite being on the beta. I’m still waiting to try Siri AI, but overall my first impressions are very positive. The changes in macOS are great - the whole system feels much more polished and cohesive than the previous version🤩 #macos27 #macosGoldenGate
7
2
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 7mo ago

The last few weeks have been quite intense for me. I had to prepare for 6 university exams and two pretty tough midterms - and at my age, that’s definitely not as easy as it used to be 😉

But I’m really happy to say that I made it through all of it! And in between study sessions, I managed to build an awesome iOS app. I’m genuinely super happy with how it turned out in the end.

I hope that once it lands in the App Store, you’ll like it just as much as I do 🤞

17
6
3
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago

Implementing and testing ActivityPub on localhost is incredibly painful - if it’s even possible in some cases. I really wish there were a self-hosted service that could simulate other ActivityPub instances, runnable on multiple ports with alias-based addressing. Being able to locally test federation traffic, security scenarios, and edge cases would be amazing. 🫣

8
5
9
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
Replying to
At the same time, the AI shift has already happened - whether we call it AI, machine learning, or something else. We may dislike it, ignore it, or refuse to use it, but that will not reverse reality. In my work as a programmer, I increasingly need to understand these tools. If I do not learn how to use them responsibly, I risk being left behind professionally - and many people in IT face the same pressure.
9
3
2
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago

Slowly wrapping up the account migration feature for Vernissage - similar to the one known from Mastodon, supporting moves both to and from the platform. I also updated the ActivityPub support documentation along the way, and honestly, I didn’t realize how much is already there. Looking at the full docs (plus the Web and iOS apps), it really hits me how huge this ecosystem has become. Pretty amazing what we’ve managed to build. 😊

https://docs.joinvernissage.org/documentation/vernissageserver/activitypub

docs.joinvernissage.org
7
1
2
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 7mo ago

Work, building #Vernissage, studying…but let’s not forget an equally important mission: relaxing and taking photos. Greetings from Wrocław to all you photography freaks/nerds 😊

mastodon.social

Mastodon

11
0
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago

Really glad I started adding unit tests to #Vernissage (API) from day one. There are now 1100+ of them - and they’ve saved me more than once. In projects this size, tests are a must-have. A small change in one place can easily break something elsewhere you’re not even thinking about.

mastodon.social

Mastodon

6
0
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
Replying to
The only real freedom I have is in my personal projects, but those do not support me or my family. That is why I find completely unconstructive, wishful thinking about AI so frustrating. People speak as if this is something that has not arrived yet and could still be prevented, when in fact it is already reshaping how work is done.
6
1
2
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
Replying to
That is why I believe denial is less useful than action. Instead of pretending this technology will disappear, we should focus on building better alternatives: open models, open AI, and more ethical systems. What we need now is transparency, accountability, and strong open solutions that can offer a real alternative to closed and unaccountable tools.
6
1
1
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 7mo ago

I’ve always loved listening to music. Some time ago, though, I noticed that when I play music from my phone, I hear it but don’t listen. A whole album goes by and I can’t recall a single song. It’s the phone constantly demanding attention. A few weeks ago I invested in a DAP and I’m thrilled. I put my phone away, put on my headphones, and truly enjoy the music. The sound quality is amazing, and nothing (not even my habits) distracts me. Phones have given us a lot, but they’ve taken a lot too.

9
4
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
I’m looking for input from ActivityPub experts. Vernissage supports reading and exchanging EXIF metadata from photos (currently visible only in supporting systems). Would it be reasonable (if explicitly enabled by the user) to automatically embed this metadata as HTML in outgoing ActivityPub posts, so other platforms could render it within the status content? This could eliminate the need for manual copying. Curious whether this is considered a good practice or an anti-pattern. 🤔
5
25
7
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 7mo ago

Sometimes I feel like being an open source developer is a bit of an extreme sport. Especially when the project is large, technically complex, requires costly resources, and supports hundreds of user accounts and hundreds of thousands of photos. It can be truly exhausting - both in terms of time and mental energy. Life as an open source developer is not an easy one 😬

7
1
3
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 6mo ago

Today at work I built an entire feature (almost 2,000 lines of good-enough code) without writing a single line myself. Programming as we knew it isn’t dying anymore, it’s basically already dead. Unfortunately. Years of hard-earned skill are being speedrun into irrelevance. Sure, we can still write code the old-fashioned way - at home. In the industry, a lot of people will lose their jobs. The ones who adapt fastest will stay, configuring AI instead of writing code. 🧑‍💻 🥺

5
2
0
1
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 2mo ago
Replying to
@maciej@infosec.exchange ja mam bardzo pozytywne wrażenia. Bałem się najbardziej że CaptureOne nie będzie działać (w przeszłości zawsze miałem z nim problemy na betach), ale tym razem nie mam problemu z żadnym oprogramowaniem. Jedyne issue miałem z usuwaniem plików z kosza, ale w ostatniej aktualizacji to naprawili.
1
1
1
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 6mo ago

Yesterday the weather was beautiful, so I spent the whole day taking photos. Today I improved the keyboard navigation in Vernissage Web, added an API for fetching the list of muted accounts, and updated all the libraries used by the Vernissage API. I also added feedback when you tap buttons on the status details screen in Vernissage for iOS.

Now I can kick back with a smile, listen to some music, and relax - and I wish all of you some relaxing time too. 😌🎶

4
0
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 7mo ago
Replying to
Platforms that try to replicate the Mastodon API 1:1 create confusion. Some people already assume the Mastodon API is ActivityPub, and expect one client to log in to every ActivityPub server regardless of the underlying software. But Mastodon’s API is ONLY Mastodon’s interface. #fediverse #development
4
0
2
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 7mo ago

The truth is, when you run a project like #Vernissage, you are never just a developer. You are also the tester, analyst, product owner, product manager, administrator, moderator, DevOps engineer, support desk, consultant, and who knows what else - all in one person. At some point, you realize you have to become a one-man band. Or rather, an entire organization somehow squeezed into one human being 🤪

mastodon.social

Mastodon

4
1
1
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
Replying to
@silverpill@mitra.social Okay, I understand. I implemented this FEP, and it has already been deployed to production. I also added a section to the FEP with information about the services that have implemented it so far - currently only Vernissage. It would be great if you could also add your WordPress implementation there, @pfefferle@mastodon.social. Thanks for the information. PR: https://codeberg.org/fediverse/fep/pulls/826
Codeberg.org

FEP-ee3a: Add Vernissage to implementators

Three changes: - Add `Implementations` section to FEP-ee3a - Add Vernissage to FEP-ee3a Implementations section - Add Vernissage to FEP-f1d5 Implementations section

2
2
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 6mo ago
Replying to
@wakest I found the issue was caused by Mitra not exposing /.well-known/host-meta. In such cases, I implemented a fallback to the default WebFinger endpoint. Account resolution works, and follow/like activities will likely work as well. However, posting statuses and boosts to Mitra will not work, because it does not expose a sharedInbox. As a result, delivery would have to be performed separately for each recipient inbox, which is less efficient and does not scale well. 🤔 @silverpill
2
2
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 7mo ago
Replying to
@jamie This is FIIO M21 (with Android 13 and Apple Music)
2
2
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
Replying to
@hollo464@hollo.box464.social wow 🤩. Exactly, thank you!
1
0
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
Replying to
@alsternerd@akkoma.alster.space Thanks for the suggestion! What I’d actually like to have is something simple (with mapping ports in etc/hosts or simple docker images), mainly for testing communication, validating things against ActivityPub, checking security, and artificially generating different activity types. Running Mastodon instances (or similar) in Docker or setting up multiple VMs and configuring everything feels a bit too heavy for what I need.😉
1
0
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
Replying to
@pfefferle@mastodon.social I understand. I’ll implement FEP once it gets approved. For now, I’m only using the extension. It would be great if it gets approved soon - then more platforms might adopt it.
1
6
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
Replying to
@rail So far, opinions on this matter are very divided 😬
1
0
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 6mo ago
Replying to
@moarjava I’ve been wondering about that too. I have no idea what companies are already paying for Enterprise accounts, but yeah - once everyone gets used to it and builds a ton of their own tooling around it, that’s when the squeezing starts. On the other hand, their whole business model could also fall apart once models become built into hardware, built into dev tools, or easy to self-host - which is already slowly starting to happen.
1
0
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 7mo ago
Replying to
@daniebeler Thank you 😊
0
0
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
Replying to
@pfefferle@mastodon.social Yes, but I don’t think Mastodon, Fredrica, or GoToSocial will ever do that. 🥺
0
11
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
Replying to
@evan These data are already stored in JSON (as an extension, with FEP also in the approval process). However, being in JSON does not mean they will automatically appear across different systems. From a user’s perspective, this changes nothing - they still have to re-enter the data manually if they want it visible elsewhere. It is unfortunate there is no standardized way to display additional metadata added to a Note or Attachment so that other systems could automatically present it 🥺.
0
0
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
Replying to
@pfefferle@mastodon.social @silverpill@mitra.social I understand your point, but it feels unusual to implement something that is not yet approved - especially in a system that already works and exchanges this information. Any change would require me to release new versions and ensure backward compatibility each time, which is quite a lot of work. I would prefer to wait for a finalized FEP and implement something stable and clearly justified.
0
4
0
0
Open post
Marcin Czachurski @mczachurski@mastodon.social
· 5mo ago
Replying to
@pfefferle@mastodon.social Could you send a link to a photo from Vernissage that’s visible in WordPress? I’d really like to see what it looks like 🤩
0
8
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 08:06:11 UTC