23 ms·
Blërg, a microblogging platform
- mkarliner 6y agoDoesn't work, ASAICS
- jimis 6y agoI 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. Blërg solves these problems by applying absurd reactionary engineering. Blërg'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: Blërg 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 — Blërg comes as either a standalone HTTP server, or a CGI. Blërg is written in pure C.
- ramraj07 6y agoWho 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.
- zxcvbn4038 6y agoNo 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 6y ago> 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 6y ago> 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.
- lazyjones 6y agoIt seems to be down. And Twitter migrated to Scala a while ago (from RoR).
- f6v 6y agoAnyone knows why Twitter fails to load one out of ten times?
- nickdonnelly 6y agoYou likely need to delete your service workers for Twitter and let it re-create them.
- tsukurimashou 6y agoThat's pretty unacceptable considering the size of the userbase, most of them probably never heard of service workers
- f6v 6y agoI’ve been in software development for almost 10 years and I had no idea about service workers.
- nickdonnelly 6y agoI believe this fix only applies if you have an old version of their service workers. I remember reading some esoteric nonsense about why it's the case. I agree with the user you replied to, it's absolutely absurd that doing this is the "fix."
- f6v 6y ago> 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 6y agoi think it's pretty clear that you can get really far with RoR too, if I'm not mistaken Github is still mostly RoR.
- tzfld 6y agoA logo like that would be more appropriate for twitter too.
- rakoo 6y agoInterestingly 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 6y agoSlightly 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 6y agoWait, what do you mean? Set up Fediverse on WiFi? Fediverse refers to decentralized social media which can 'federate' with each other.
- newswasboring 6y agoFediverse 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 6y agoI 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.
- kubanczyk 6y agoThat Metal Umlaut brings memories.
- sebastianconcpt 6y agoWill it be editorial (retain censoring rights) or, instead, a platform (true freedom of expression)?
- sebastianconcpt 6y agoDescribe the problem with downvoting that particular genuine question.
- peawee 6y agoIt will be focused on the true expression of a small bird vomiting whatever it had for lunch.
- dgellow 6y ago> 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 6y agoIt 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.
- PokemonNoGo 6y agoInteresting. I pet peeve of mine is the usage of the diaeresis marks for stylization though.
- beagle3 6y agoFrom the site: """Is this a joke? Yes. No. Maybe. Blërg 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. :]"""
- k__ 6y agoHaha, 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.
- 7OVO7 6y agothis 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 6y ago>follows the trend of those who then arrive at the shit-storm, which is not only illegal, but a clear manifestation of inhumanity ...what?
- smlckz 6y agoI 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?]
- hundchenkatze 6y agoI 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 https://bytex64.net/blog/e2302
- bytex64 6y agoSorry 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).
- sradman 6y agoThe 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 naïve 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, Blërg 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 https://blerg.cc/doc/#subscriptions
- andai 6y agoThe latest Blërg (or barf, as suggested) is from 2017.
- peawee 6y ago> 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)
- molodec 6y agoThere 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.
- rvieira 6y agoRelevant: https://www.smbc-comics.com/comic/fixing-social-media https://www.smbc-comics.com/comic/fixing-social-media
- mumblemumble 6y agoMy 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.
- jdauriemma 6y agoYou could start a Mastodon instance that ticks all those boxes and federate only with instances that follow these guidelines.
- hundchenkatze 6y agoThe 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?
- cosmojg 6y agoModeration, no?
- molodec 6y agoSure, 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%.
- cambalache 6y agoUnnecessary "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 6y agoI 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 6y agoI 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 6y agoNot 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.
- hundchenkatze 6y agoJust so everyone is aware, Blerg was created about 10 years ago (4 days to go) https://bytex64.net/blog/e2302 https://bytex64.net/blog/e2302
- bytex64 6y agoHey 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. :)
- jimis 6y agoAwesome to see you answering here! It's obvious that your little experiment has had the honour to be hammered many times by thousands of people, so I'm curious to hear your experience. Has it been running on a single node all these times? What are the hardware specs? How many requests per second did it handle? Has it gone down because of the load? What was the bottleneck (network, cpu io)? How did it fail (crash, slowness, fire ;-)? Do you have monitoring data to show? How many twitter-like active users would it be able to serve from that single node? Thanks, and Blërg! :-)