[HN Gopher] Blerg, a microblogging platform
       ___________________________________________________________________
        
       Blerg, a microblogging platform
        
       Author : jimis
       Score  : 114 points
       Date   : 2021-01-11 07:23 UTC (14 hours ago)
        
 (HTM) web link (blerg.cc)
 (TXT) w3m dump (blerg.cc)
        
       | tzfld wrote:
       | A logo like that would be more appropriate for twitter too.
        
       | beagle3 wrote:
       | From the site:
       | 
       | """Is this a joke?
       | 
       | Yes. No. Maybe. Blerg is an exercise in constructive satire -- a
       | fully functional service created in a fit of hubris to poke fun
       | at Twitter's engineering. It's just for fun, but no one is going
       | to keep you from using it seriously. :]"""
        
       | rakoo wrote:
       | Interestingly this has the basics to provide a personal
       | ActivityPub-enabled stack, so it could join the Fediverse and
       | still be useful today (after some modifications)
        
         | newswasboring wrote:
         | Slightly off topic, but someone should sell Fediverse in a box.
         | I should be able to go buy a physical credit card sized thing
         | which I plug into my wifi and everything is setup for me. Is
         | someone working on something like that or is the Fediverse not
         | ready for this yet?
        
           | Alekhine wrote:
           | Wait, what do you mean? Set up Fediverse on WiFi? Fediverse
           | refers to decentralized social media which can 'federate'
           | with each other.
        
             | newswasboring wrote:
             | Fediverse is trying to give social media identities in a
             | federated manner. I want a box which will have everything
             | setup (software etc.) for my identity servers. Like I want
             | my own mastodone instance or stuff like that.
        
           | input_sh wrote:
           | I don't think it's the fediverse that's quite the problem.
           | Two issues that I can think of that makes this harder to
           | achieve:
           | 
           | 1. You'll have to fuck around with router settings to forward
           | the incoming traffic to that piece of hardware.
           | 
           | 2. You'll have to have a domain, and fuck around with
           | dynamically changing DNS settings because your IP is likely
           | not static (this process depends on which DNS provider you
           | choose to use).
           | 
           | To add to the complexity, you'll probably have to have some
           | sort of a VPN because otherwise anyone would be able to see
           | your public IP by just pinging your domain.
           | 
           | Point being: you can run Pleroma right now on a Raspberry Pi
           | no problem, but doing so securely is another issue
           | altogether.
        
             | vidarh wrote:
             | To #1, you could have it join an overlay network.
        
           | rakoo wrote:
           | There is an active network of associative ISPs in France, and
           | they have come up with an Internet-in-a-box thing:
           | https://internetcu.be/. Basically it tunnels everything to a
           | VPN of your choice (so you bypass your residential
           | limitations) and has a yunohost "OS", so you can install
           | anything you want with a few clicks.
           | 
           | I'm sure other projects have started something like that, but
           | I can't find them
        
             | olah_1 wrote:
             | FreedomBox[1] is another project like that. The main issue
             | plaguing these things (in my opinion) is the "jack of all
             | trades, master of none" problem.
             | 
             | It does a lot, but does none of them outstandingly well.
             | I'd prefer to see FreedomBox just focus on having a best-
             | in-class Matrix server for example.
             | 
             | Another (more recent) example is Dappnode[2]. They are
             | kinda like Sandstorm but only for node servers that are
             | part of decentralized networks.
             | 
             | [1]: https://www.freedombox.org/
             | 
             | [2]: https://dappnode.io/
        
               | rakoo wrote:
               | What do you think is missing in mastering a specific
               | usage, say Matrix ? It seems to me FreedomBox installs
               | and configures a specific package, let's say synapse,
               | along with the needed databases; what more can it do ?
               | 
               | internetcube uses yunohost, so the quality of the box
               | depends much more on a project that isn't tied to this
               | specific box and can leverage improvements made by other
               | users. yunohost is used for people who want to self-host
               | with a machine they already have, or with a VPS.
        
       | molodec wrote:
       | There is too much trolling on Twitter as the character limit does
       | not allow for any serious argument. An ambiguous one-liner from a
       | popular individual triggers thousands of replies and retweets.
       | I've been thinking that we need a Twitter alternative, but with a
       | minimum limit on the number of characters and no images or gifs.
       | Setting a minimum limit to perhaps 300 - 500 characters will
       | eliminate much of the trolling and the noise.
        
         | mrspeaker wrote:
         | I was wondering what the effect of imposing a "minimum time to
         | reply" would be. For instance, if I wanted to reply to your
         | post - I would need to indicate my intent to reply, then after
         | X minutes (at least 15, but ideally more) I would be able to
         | respond.
         | 
         | The idea is to stop people posting the first thing that pops
         | into their head: hopefully taking more time to formulate a
         | response (or reconsidering if it was valuable to say anything
         | at all).
        
         | hundchenkatze wrote:
         | The minimum length may work for good-faith actors, but how
         | would you prevent trolls from pasting in 500 characters of
         | lorem ipsum or other generated text and then adding their one-
         | liner at the beginning or end?
        
           | molodec wrote:
           | Sure, it is possible to find hols and abuse any platform. I
           | am not good at writing, and I always hated the minimum pages
           | limit on essays at schools, but now I think these limits are
           | necessary to enforce thinking and providing more details into
           | your argument. Twitter discourages that. High profile
           | individuals can easily manipulate people and markets by
           | saying a few words and leaving a lot of room for
           | interpretation like Elon Musk recently suggesting that
           | everyone should be using Signal without giving any context
           | and specifying what that Signal was and caused an unrelated
           | to the Signal chat app stock to jump 1000%.
        
           | cosmojg wrote:
           | Moderation, no?
        
         | rvieira wrote:
         | Relevant: https://www.smbc-comics.com/comic/fixing-social-media
        
           | mumblemumble wrote:
           | My current working hypothesis is that all efforts to "fix"
           | social media are doomed to failure, because the thing that
           | causes social media to become toxic isn't the "medium" part,
           | it's the "social" part. Altering the medium will just add
           | some color to the particulars of how it becomes toxic.
        
         | ghostbrainalpha wrote:
         | My plan to fix social media was something like Captcha mixed
         | with an IQ test.
         | 
         | So if we can detect you said something about climate change,
         | you see a little popup asking you if water boils at 100 degrees
         | Celsius or Fahrenheit? If you don't get it right, you are no
         | longer allowed to post or reply to climate change topics.
         | 
         | Did you just say Trump was the BEST or WORST President in
         | History? I'd like to see if you can name 5 Presidents before
         | 1980? If not, I don't think we need your opinions on historical
         | ranking.
         | 
         | The tests wouldn't be hard. And they would easily be
         | Googleable, but there would be 10 second time limit for them to
         | be completed.
         | 
         | It would probably be the least popular social media company
         | ever created. This is also a terrible idea, because the users
         | that are entitled to post, probably would not be humble and
         | might be jerks.
        
         | jdauriemma wrote:
         | You could start a Mastodon instance that ticks all those boxes
         | and federate only with instances that follow these guidelines.
        
       | k__ wrote:
       | Haha, awesome!
       | 
       | I'm planning to build a _" Microblogging for companies"/"Slack
       | for microblogging"_ SaaS this year because I think asnyc
       | communication is the way for remote work.
       | 
       | Currently, I'm looking at existing microblogging platforms to get
       | an idea of common features.
       | 
       | Next step will be interviewing potential customers.
        
       | PokemonNoGo wrote:
       | Interesting. I pet peeve of mine is the usage of the diaeresis
       | marks for stylization though.
        
       | smlckz wrote:
       | I thought, great! I now am curious about how it was implemented.
       | So I did:                       $ git clone
       | http://git.bytex64.net/blerg.git             Cloning blerg...
       | error: Empty reply from server (curl_result = 52, http_code = 0,
       | sha1 = 95d56e6cc [...])             [...]
       | 
       | Sigh! How can we look at the C code?
       | 
       | [EDIT: now looked at other comments about how this is a joke...
       | is this error intentional?]
        
         | bytex64 wrote:
         | Sorry about that! Should be working now.
         | 
         | Here's something I never thought I'd say: Perl made breaking
         | changes. My guess is additional strict things broke the gitweb
         | CGI script (which was hopelessly out of date anyway).
        
         | hundchenkatze wrote:
         | I don't think the error is intentional, the site was created 10
         | years ago. My guess is that something happened to the repo
         | since then.
         | 
         | https://bytex64.net/blog/e2302
        
       | jimis wrote:
       | I was looking for Twitter alternatives and found this one, which
       | is old and stale but looks like a very interesting experiment!
       | Quoting its frontpage:                 But what's wrong with
       | Twitter?            I'M GLAD YOU ASKED. There are two aspects of
       | Twitter that just bug me as an engineer:              Ruby on
       | Rails - Using rails to prototype a system is fine -- scaling up
       | to a million hits a day with it is just a bad idea. As the
       | service grew, I'm sure it cost them a lot more time than it
       | saved.         140 characters is not enough - I routinely write
       | sentences longer than 140 characters, so I can't even begin to
       | imagine making a point in such a small space. This textual
       | confinement has led to the rise of URL shorteners, which are
       | breaking the internet.             Blerg solves these problems by
       | applying absurd reactionary engineering. Blerg's database backend
       | is a custom C program that handles requests over HTTP and stores
       | data in a very small and efficient indexed log-structured
       | database. The frontend is done entirely in client-side
       | Javascript. A single post can be up to 65535 bytes in length.
       | Which is not to say that I believe writing your service in C is
       | the solution to all your problems. Clearly, this approach has
       | just as many hairy problems that will bite you in the ass sooner
       | or later. The best way, as with most things, lies somewhere in
       | the middle of high-level abstraction and ZOMGHARDCORE
       | OPTIMIZATION.
       | 
       | Or more politely described in the documentation page:
       | Blerg is a minimalistic tagged text document database engine that
       | also pretends to be a microblogging system. It is designed to
       | efficiently store small (< 64K) pieces of text in a way that they
       | can be quickly retrieved by record number or by querying for tags
       | embedded in the text. Its native interface is HTTP -- Blerg comes
       | as either a standalone HTTP server, or a CGI. Blerg is written in
       | pure C.
        
         | f6v wrote:
         | > Ruby on Rails - Using rails to prototype a system is fine
         | 
         | The sad thing is that way too many developers never learn that
         | programming language and framework is not the biggest
         | bottleneck.
        
           | dnautics wrote:
           | i think it's pretty clear that you can get really far with
           | RoR too, if I'm not mistaken Github is still mostly RoR.
        
         | ramraj07 wrote:
         | Who cares what twitter is written in? They've gotten rid of
         | their fail whales eons ago, so this seems like a fever dream of
         | an elitist engineer to argue that the biggest issue with
         | Twitter is it's engineering backbone.
        
           | DominikD wrote:
           | That page is from 2012, parent comment even mentions that
           | this is old and unmaintained (but fun nevertheless).
        
           | monsieurbanana wrote:
           | > I am 12 and what is this
           | 
           | > Curious? Click this unbelievably obnoxious button!
           | 
           | > Blerg is a microblogging platform. Or maybe a miniblogging
           | platform. Blerg is not sure.
           | 
           | > Blerg's author finds it entertaining to anthropomorphize
           | Blerg in the third person.
           | 
           | This website, the documentation, the text from the comment
           | you replied to, everything is just clearly humour.
        
           | zxcvbn4038 wrote:
           | No people do this all the time - a few years ago I read an
           | article where the secret sauce was writing everything in lisp
           | (good luck hiring for that). Goldman Sachs does a lot of work
           | in erlang but mostly to limit turnover on the dev side - try
           | getting a job if all you have on your resume is years of
           | working with a language nobody else uses, you can do it but
           | it's going to take a lot more effort on your part. I came
           | across a place in Austin once where they did all their work
           | in a toy language the manager wrote in college (greatest job
           | security move ever). Java was supposed to be the solution to
           | every problem, so you could migrate seamlessly between the
           | single platforms in use at most companies. I remember lots of
           | articles were switching to Java is what made the volume go to
           | eleven for company X. More recently I see a lot of articles
           | are Golang is how company X is keeping ahead if their peers.
           | I'm sure I'm a few more years there will be something else.
        
             | doix wrote:
             | > Goldman Sachs does a lot of work in erlang but mostly to
             | limit turnover on the dev side - try getting a job if all
             | you have on your resume is years of working with a language
             | nobody else uses, you can do it but it's going to take a
             | lot more effort on your part.
             | 
             | My take on that is slightly different. Choosing a fairly
             | esoteric language as a company reduces the amount of effort
             | it takes to review applicants. Right now, if you post a job
             | for python, you'll get thousands of applicants. You'll then
             | need to filter them and a vast majority won't be able to
             | code the most basic things.
             | 
             | Post a job advert for erlang, you'll get significantly less
             | applicants because there are fewer erlang programmers.
             | Also, no one learns erlang to "get a job in tech", they
             | learn erlang because they like it as language. In my
             | experience, this means that on average erlang programmers
             | will be better on average to python programmers.
             | 
             | I'm going to assume that if someone from Goldman Sachs
             | leaves, they will try to find another erlang job, because
             | that's what they enjoy programming in.
        
               | pathtracer wrote:
               | > Post a job advert for erlang, you'll get significantly
               | less applicants because there are fewer erlang
               | programmers.
               | 
               | In general I would agree with you, but does that work
               | everywhere? I could see how that works in some tech
               | focused locations like Silicon Valley. But if I would try
               | to hire Erlang developers around here I would not find a
               | single one. Unless of course I would hire remotely and
               | try to compete with SV company salaries.
        
               | dkarp wrote:
               | > Right now, if you post a job for python, you'll get
               | thousands of applicants
               | 
               | Have you done this? I wish we received thousands of
               | applications for each python role we post
        
               | dmd wrote:
               | Absolutely, yes. Hundreds of submissions, and 80%+ of
               | them literally could not solve fizzbuzz.
        
               | Chris2048 wrote:
               | > post a job for python, you'll get thousands of
               | applicants
               | 
               | I'm glad to see that Python is in that category. When I
               | first abandoned Java in it's favor, I was given funny
               | looks about why I'd stick with such an niche language..
        
           | Saint_Genet wrote:
           | People do this all the time here too. "Some already existing
           | and perfectly functional piece of software impemented in
           | Language Du Jour" is a pretty common post.
        
         | lazyjones wrote:
         | It seems to be down. And Twitter migrated to Scala a while ago
         | (from RoR).
        
           | f6v wrote:
           | Anyone knows why Twitter fails to load one out of ten times?
        
             | nickdonnelly wrote:
             | You likely need to delete your service workers for Twitter
             | and let it re-create them.
        
               | tsukurimashou wrote:
               | That's pretty unacceptable considering the size of the
               | userbase, most of them probably never heard of service
               | workers
        
       | kubanczyk wrote:
       | That Metal Umlaut brings memories.
        
       | hundchenkatze wrote:
       | Just so everyone is aware, Blerg was created about 10 years ago
       | (4 days to go) https://bytex64.net/blog/e2302
        
       | bytex64 wrote:
       | Hey guys! Glad (and a little panicked) to see this get some more
       | attention. I've shut down signups/logins because I don't have
       | time to moderate, and right now you _really_ have to moderate. :|
       | 
       | So long and thanks for all the barfs. :)
        
       | sradman wrote:
       | The last-modified headers indicate that the front page and docs
       | have not been updated since May 2018. This is not a viable
       | platform and the analysis of Twitter's technical shortcomings is
       | facile. The original 140 character limit, now doubled to 280
       | characters, was originally constrained by the SMS interface
       | Twitter supported but ultimately imposes a preferred content
       | style that distinguishes the microblogging experience.
       | 
       | The scaling problem is what AWS's James Hamilton use to call the
       | "Hairball Problem" in which there is no single database
       | partitioning scheme that performs well under all workloads. The
       | Subscriptions [1] section of the documentation demonstrates this
       | problem:
       | 
       | > I immediately came up with the naive solution: keep a list of
       | users to which users are subscribed, then when you want to get
       | updates, iterate over the list and find the last entries for each
       | user. And that would work, but it's kind of costly in terms of
       | disk I/O. I have to visit each user in the list, retrieve their
       | last few entries, and store them somewhere else to be sorted
       | later. And worse, that computation has to be done every time a
       | user checks their feed. As the number of users and subscriptions
       | grows, that will become a problem.
       | 
       | > So instead, I thought about it the other way around. Instead of
       | doing all the work when the request is received, Blerg tries to
       | do as much as possible by "pushing" updates to subscribed users.
       | 
       | This approach works well except when some users have hundreds of
       | thousands of followers which results in an explosion of "pushing"
       | updates. This doesn't even take into account geography related
       | latencies of a global user base. Furthermore, naive attempts at
       | databases without fault tolerance assume that losing recent data
       | is not a big deal. It isn't, the big problem is failures that
       | corrupt data and can't be restored to a known good state.
       | 
       | [1] https://blerg.cc/doc/#subscriptions
        
         | peawee wrote:
         | > The last-modified headers indicate that the front page and
         | docs have not been updated since May 2018. This is not a viable
         | platform and the analysis of Twitter's technical shortcomings
         | is facile. The original 140 character limit, now doubled to 280
         | characters, was originally constrained by the SMS interface
         | Twitter supported but ultimately imposes a preferred content
         | style that distinguishes the microblogging experience.
         | 
         | Your analysis of Blerg's analysis of Twitter's technical
         | shortcomings is facile. It's a system that the author put
         | together while intoxicated to poke fun at Twitter. Reading any
         | more into it than that is at best highly unadvised.
         | 
         | (Source: Used to live with Blerg's author)
        
           | sradman wrote:
           | > It's a system that the author put together while
           | intoxicated to poke fun at Twitter.
           | 
           | The HN title is "a microblogging platform", the landing page
           | has a section titled "But what's wrong with Twitter?", and
           | the documentation has a "Design" [1] section. If the author
           | intended to poke fun at Twitter as a stand-in for all
           | microblogging platforms then leave out the engineering
           | aspects and if the author intended to poke fun at Twitter
           | engineering then land some technical blows. If the point of
           | the exercise is to demonstrate how much code and
           | documentation can be pumped out during a drinking binge then
           | the author should state that upfront; that context is useful.
           | 
           | [1] https://blerg.cc/doc/#design
        
             | bytex64 wrote:
             | Despite my ex-roommate's well-intentioned defense, I was
             | probably sober for most of it. It was also a decade ago and
             | I'm somewhat wiser now. As mentioned elsewhere, I learned a
             | lot about making such bold claims to the Choir of Ultimate
             | Pedants. But it was something I had fun with, and I think
             | the world needs more of that. :)
        
               | sradman wrote:
               | When I see someone writing a database from scratch I
               | search for the rationale and the core problem being
               | addressed. The HN title is misleading and needs a date
               | context which is obviously not your fault but comments
               | attempting to provide the missing context should not be
               | dismissed as pedantry either.
               | 
               | If the context of a fun learning experiment was made
               | clear on the landing-page and/or documentation then this
               | thread could have been about architecture and programming
               | which I think was what you wanted originally. I suspect
               | the broken git repository didn't help matters. Overall a
               | missed opportunity.
        
         | andai wrote:
         | The latest Blerg (or barf, as suggested) is from 2017.
        
       | cambalache wrote:
       | Unnecessary "complicated" name? Check!
       | 
       | Butt-ugly interface? Check!
       | 
       | Mentioning the technology used to build it as it were a feature?
       | Check!
       | 
       | So a typical tool created by a developer who thinks the average
       | guy think and act like them.
        
         | peawee wrote:
         | I can personally guarantee you that the developer who built
         | this is completely confident that nobody does or should think
         | and act like he does.
        
         | skrebbel wrote:
         | I can't figure out what made you decide to post this to HN. The
         | author of this app has obviously been having a great time. Why
         | the sour grapes? What are you so mad about?
        
           | cambalache wrote:
           | Not mad at all, just describing what it is a common
           | occurrence with these type of tools, you (well, not you) can
           | take the criticism in the right way and change things to gain
           | more users(which I suppose is the goal here) or you can get
           | defensive and artificially place extra beliefs on the other
           | person to assuage your discomfort. Life is always about
           | choices.
        
       | 7OVO7 wrote:
       | this microblogging platform is clearly crap, it has a vomiting
       | bird as its logo, and follows the trend of those who then arrive
       | at the shit-storm, which is not only illegal, but a clear
       | manifestation of inhumanity; I personally despise any use of the
       | Internet as if it were a defecator or similar, and I hope this
       | platform will fail, for the little good that exists
        
         | andai wrote:
         | >follows the trend of those who then arrive at the shit-storm,
         | which is not only illegal, but a clear manifestation of
         | inhumanity
         | 
         | ...what?
        
       | mkarliner wrote:
       | Doesn't work, ASAICS
        
       | sebastianconcpt wrote:
       | Will it be editorial (retain censoring rights) or, instead, a
       | platform (true freedom of expression)?
        
         | sebastianconcpt wrote:
         | Describe the problem with downvoting that particular genuine
         | question.
        
         | peawee wrote:
         | It will be focused on the true expression of a small bird
         | vomiting whatever it had for lunch.
        
       | dgellow wrote:
       | > Ruby on Rails - Using rails to prototype a system is fine --
       | scaling up to a million hits a day with it is just a bad idea. As
       | the service grew, I'm sure it cost them a lot more time than it
       | saved.
       | 
       | I believe that Twitter runs on the JVM since almost a decade.
        
         | vidarh wrote:
         | It was also never the problem with Twitter. As much as I detest
         | Rails, Rails was used as an excuse for having picked an
         | architecture that did not prepare them for the need to have a
         | properly scalable backend.
         | 
         | Nothing in Rails prevented them from doing that properly,
         | though Rails defaults may well have encouraged them to pick the
         | easy way out initially (that in itself would not have been a
         | problem either, if they'd started work on a proper backend in
         | the background).
         | 
         | Sharded large-scale delivery of messages has been a "solved"
         | problem for decades, irrespective of language. Twitter as-it-is
         | now is big enough to have all kinds of fun operational issues,
         | but when they were struggling their volume was nothing
         | impressive.
        
       ___________________________________________________________________
       (page generated 2021-01-11 22:02 UTC)