ishanpage

joined 1 year ago
[–] ishanpage@programming.dev 6 points 1 year ago (6 children)

Unfortunately, no one can be told what a monad is. You have to see it for yourself (then you won’t be able to explain it to anyone)

[–] ishanpage@programming.dev 3 points 1 year ago

eBPF is something that I've been exploring recently for work. I was quite blown away when I realized the true potential. I did find it difficult to get started, and while this article is a good introduction, some example code or hands on would be nice to have

[–] ishanpage@programming.dev 5 points 1 year ago (1 children)

The scenario is not ficticious. It's taken straight from my first job, but I had to leave out specific details. The application being developed had something to do with DRM, so that might explain the weird requirements.

The lesson is that sometimes business will require you to force users to update their version, and/or enable specific features for specific subsets of users. So you should have such a mechanism in place before it is required, otherwise you will end up doing hacky things like breaking the server to do what needs to be done.

Systems such as these are actually fairly common in enterprise, but since it was my first job, I had not planned ahead for this because I had no idea.

[–] ishanpage@programming.dev 14 points 1 year ago

How often do a few nanoseconds in the inner loop matter?

It doesn't matter until you need it. And when you need it, it's the difference between life and death

[–] ishanpage@programming.dev 3 points 1 year ago

I'll be sure to read it when you do :)

[–] ishanpage@programming.dev 3 points 1 year ago (2 children)

OTOH, the more pythonic one will probably perform worse, but I'm not familiar enough with Python internals to make that claim without benchmarks.

I'll try it out and add the data in the article

[–] ishanpage@programming.dev 3 points 1 year ago* (last edited 1 year ago)

You are right that it does feel a little roundabout. My understanding is that webfinger converts from the username to the user profile url and image. This is useful during federation, and for generic fedi/activitypub clients because different Fedi software maps usernames and profiles differently.

For example, user@lemmy.instance will reside at lemmy.instance/u/user, while user @mastodon.instance will reside at mastodon.instance/user.

Fom some poking around, it seems that Lemmy does not properly support sending the profile image on Webfinger because I wasn't able to do it using the rel parameters that are mentioned in the spec.

[–] ishanpage@programming.dev 5 points 1 year ago

Haha this is exactly me. That habit of losing the knowledge rapidly post investigation is something I'm trying to break, and that's part of the reason I banged out this blog post immediately after my itch was satisfied.

The "I have to tell people about this NOW" vibe also carried me through completing my website (just so I could publish this blog post)

[–] ishanpage@programming.dev 5 points 1 year ago (2 children)

Hey Thanks for reading, and I'm glad you found it interesting.

To my understanding, Webfinger provides a standard API for discovering the user profile details no matter the software running on the node.

For example,

$ curl https://programming.dev/.well-known/webfinger\?resource\=acct:snowe@programming.dev | jq
{
  "subject": "acct:snowe@programming.dev",
  "links": [
    {
      "rel": "http://webfinger.net/rel/profile-page",
      "type": "text/html",
      "href": "https://programming.dev/u/snowe"
    },
    {
      "rel": "self",
      "type": "application/activity+json",
      "href": "https://programming.dev/u/snowe",
      "properties": {
        "https://www.w3.org/ns/activitystreams#type": "Person"
      }
    }
  ]
}
[–] ishanpage@programming.dev 4 points 1 year ago

Glad you liked it! Thanks for reading ❤️

 

I'll start:

When I was first learning to use Docker, I didn't realize that most tutorials that include a database don't configure the database to persist. Imagine my surprise when I couldn't figure out why the database kept getting wiped!

view more: ‹ prev next ›