170 Followers
74 Following
468 Posts

Developer, tinkerer, loving everything creative. Trying to deal with only being able to pursue a few passions at a time. He/him.

I keep my main posting feed about my work on ActivityPub in GitLab. My leisure account is in the extra fields.

Profile picture: literally "@d" (that is, me and my dog - #nethack joke)

GitLabhttps://gitlab.com/oelmekki
Leisure accounthttps://dice.camp/@kik

Crisis averted, #GitLab reopened the epic on #ActivityPub / #ForgeFed implementation. :)

They made it clear, though, that they're not going to do it themselves in any foreseeable future, their "current focus isn't in this area", so it's up to the community to implement it. As I mentioned in the issue, I won't be able to come back to it until I'm done bootstraping the business I'm working on, so anyone who wants to see it done faster should feel free to jump in.

https://gitlab.com/groups/gitlab-org/-/epics/11247#note_2603598572

Support ActivityPub for GitLab (#11247) · Epics · Epics · GitLab.org · GitLab

Gitlab/ActivityPub Design Documents by @oelmekki The goal of those documents is...

GitLab

I now have more visibility on my job situation and how it will affect my work on ActivityPub and GitLab.

I've joined this week Upstream Tech (thanks @mrshll !), where I'm going to be working on dataviz for an environmental product, how cool is that? Especially given how art has became a hobby for me those last few years (through drawing, painting and sculpting), I finally get an opportunity to use those new skills in my dev work, that's awesome.

The good news for those following my AP work: for arcane administrative reasons linked to my business structure, this is a half time job. I'm going to work full time on a mission, then take the same time off, so lot of time for AP! I'm looking for ways to work full time, but at least my AP work won't be slowed down as much as I feared, for now.

On that front, I'm waiting for the code review of the very last MR implementing our first AP actor! Next step : HTTP signature, for compatibility with Mastodon. That one is going to be challenging!

Wow, a #RFC just popped up to standardize hiding IP address to #HTTP servers, named Oblivious HTTP : https://www.rfc-editor.org/rfc/rfc9458.html

It uses a relay (so similar to VPNs or Tor), and asymmetrical cryptography to encrypt the final request to the server (so no man in the middle, even when no HTTPS).

It has some limitations though, mainly that, if I understand correctly, the HTTP server needs to be aware of the protocol and implement it, and also, it's saying it can't relay cookies? (that would be a severe limitation, meaning no using it for a website where you're logged in). I'm unsure if they say cookies can't be used, or using cookies negates the benefits (one of their goal being to make subsequent requests not identifiable). Tor still seems like the best choice for #privacy , but it's nice to see the matter being worked on by the #IETF

Also worth noting that the authors are from Mozilla and Cloudflare.

RFC 9458: Oblivious HTTP

This document describes Oblivious HTTP, a protocol for forwarding encrypted HTTP messages. Oblivious HTTP allows a client to make multiple requests to an origin server without that server being able to link those requests to the client or to identify the requests as having come from the same client, while placing only limited trust in the nodes used to forward the messages.

If you host a #GitLab instance, you should update it as soon as possible. There's a critical security update, including a fix for "Account Takeover via password reset without user interactions". Oopsie.

https://about.gitlab.com/releases/2024/01/11/critical-security-release-gitlab-16-7-2-released/

GitLab Critical Security Release: 16.7.2, 16.6.4, 16.5.6

Learn more about GitLab Critical Security Release: 16.7.2, 16.6.4, 16.5.6 for GitLab Community Edition (CE) and Enterprise Edition (EE).

GitLab

EDIT: thanks everyone, I'm not looking anymore. :)

Hi everyone 👋 I'm available for hire for a full remote position!

I'm a webdeveloper with 15 years of experience (Ruby on Rails, Go, client side Javascript, Linux), I'm used to build features from brainstorming to release - back, front and infra. You can see my LinkedIn profile in my bio for details on my career.

I'm open to various kind of work:

- As an employee for a position in France.

- As a freelancer for anywhere in the world. I bill 300€ per full day, but it needs to be at most a 6 months mission (or half time all year round) : my business structure limits me to 36k€ revenue per year by law.

- As a founding engineer. Want to start a business but don't have the kind of money needed to hire a CTO/funding engineer? Let's talk. I helped bootstraping 2 successful business already (Le Collectionist and Ici Présent!), the next one could be yours! I don't work only for shares, though, there needs to be some sort of monthly income.

I'm also considering opening a #patreon or something like that (I have yet to research what the best platforms are). I could use it to work mainly on adding ActivityPub to GitLab, but then also make patrons vote on Fediverse/self-hosting projects or contributions I would work on as side projects while waiting for GitLab code reviews. The good news is that I don't need much, I'm used to live on minimum wage and to keep the difference I make with my engineer salary to invest and fund my own projects (that's what allowed me to start working on ActivityPub, btw). Still, I have a feeling that growing a patreon to even make minimum wage could take a long time. I have no experience with such business model, does anyone have some insight to share, here?
One other factor that will slow down things is that I'm going to need a new job. I would really have loved to work at GitLab with a team dedicated to ActivityPub, then we could have got things really moving. I offered them, but they were not interested. 🤷 So it means I'm going to have to work on something else and won't be able to work full time on ActivityPub like I was doing so far. That's OK when we're in code review because it's low intensity work, but I won't be able to do serious work on new features outside of week-end. Maybe if I could do part time work, I could keep it going as is. Let me know if you know of an opening for doing that remotely (rails/go/frontend javascript, I can bill anywhere in the world).

When the ActivityPub part is ready, it will still need the HTTP signature part to implement authorization (otherwise, anyone can subscribe/unsubscribe anyone) which is the next feature I'll work on, and then we still need to implement the WebFinger protocol to be compatible with Mastodon. So yeah, it could easily take 6 more months just to release the first actor.

Which does not mean, by the way, that each further ActivityPub feature will take that much time, we're not "just creating the first actor", we're building the architecture all actors will use, so it was expected to be a long one (I did not expect it would take _that_ long, though, but there is some sort of a culture shock, here, I'm not used to work with companies that big 😅).

So, how is #ActivityPub implementation in #GitLab going? Steadily, if a bit slowly!

In the last four months, we've been working on implementing the first ActivityPub actor, the one allowing to subscribe to projects releases. The ActivityPub part is already written, but there will still be a couple month before it's fully merged. Turns out that the most time consuming part is code review : there is no dedicated team to this (but there is a dedicated developer assisting me, thanks Patrick!), so people reviewing code discover ActivityPub at the time they have to review it (and, by the way, it's incredible how they get out of their way to help a contributor on such a complex subject, they rock). For that reason, we have to make smaller than usual merge requests, splitting the feature as much as possible, and then some again, to make it as easy to understand as possible. And even then it usually takes about a month to get one chunk merged. (more in thread)

So, the conclusion of the #cop28 is once again "we should deal with problems (later)!". And now for the festival of politics calling it an immense success of theirs (once again). Self-annihilation certainly doesn't need to be done without rhetoric.