S

Soykaf Blog

blog.soykaf.com · Company blog · on HN since 2018

Soykaf Blog covers Pleroma, a fediverse server written in Elixir, including ActivityPub, PostgreSQL, and privacy topics.

What HN saysHN commenters link it as the explainer for what Pleroma is, how it works, and how cheaply it can run.
18HN people shared it
6linked it in comments
14stories submitted
186story points
4 years agolast shared
2018people per year2026

Most-shared posts

  1. 1
    What Is Pleroma? (distributed social network in Elixir)
    5 people · 13 points · first shared 2018 · 2 comments on HN
  2. 2
  3. 3
  4. 4
    Privacy and Tracking on the Fediverse
    2 people · 4 points · first shared 2018 · discussion on HN
  5. 5
    End-to-End Encryption and the Fediverse
    2 people · 4 points · first shared 2020 · discussion on HN
  6. 6
    Implementing ActivityPub in an Elixir Twitter Clone
    2 people · 3 points · first shared 2018 · discussion on HN
  7. 7
    Gopher Support in Pleroma
    1 people · 6 points · first shared 2018 · 1 comments on HN
  8. 8
    PostgreSQL Search: From the Trenches
    1 people · 4 points · first shared 2020 · discussion on HN
  9. 9

What HN people wrote when they linked it

onphonenow · 2022-03-07
Right, benefits include performance gains. From HN: https://blog.soykaf.com/post/postgresql-elixir-troubles/ In addition to security.
mxuribe · 2020-03-09
An older post might help you: https://blog.soykaf.com/post/what-is-pleroma/ Admittedly, this is dated, but is still valid, and should help you get a basic understanding of what pleroma is - including a few screenshots. I hope that helps!
phoe-krk · 2019-01-30
The owner of each instance pays the costs for hosting a given instance. So, basically, domain + hosting. Note that these costs can be really low; Pleroma[0] can be run on a Raspberry Pi 3 or a $2.50 Vultr instance[1] [0] https://pleroma.social/ [1] https://blog.soykaf.com/post/what-is-pleroma/
hendi_ · 2020-06-23
Your point a) is moot, this is not what this is about. When writing manual SQL nothing stops you from doing `SELECT * FROM persons WHERE age > 'eighteen'` (the `age` field is a number, obviously). Coming from Django I was often bitten by `Person.objects.filter(age__gt=trashhold) # boom!` (note the misspelled variable "threshold") or, if you prefer manual writin SQL: `Person.objects.raw("SELECT * FROM persons WHERE age > {}", trashhold) # boom! as well`. (Admittedly this is unrelated to type safety, just a disadvantage of Python being interpreted, but still something that Haskell/IHP protects me of.) Regarding b), yes there are good reasons for prepared statements. I won't go into your argument "for scalability" (premature optimization cough) but cached query plans aren't perfect either: data and data typologies change, and so does the optimal query plan. See https://blog.soykaf.com/post/postgresql-elixir-troubles/ for a blog post about Elixir/Phoenix/Ecto users being bitten by that. > I wonder if the person who wrote this understands SQL to sufficient depth. Not saying either way, just asking. I did not write the IHP code, just the above comment. But I've read many of CJ Date's books and have a good grasp on the relational model, and of SQL too. I simply don't see things as black/white, there are certain queries where I do prefer prepared statements and functions, or PL/pgSQL even, then there are ones where I use an external .sql file to keep things tidy. But most of…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close