This is the second time this account has submitted an article about a project that had major attention on HN a short time earlier. If this is with the idea of promoting your blog here, that is not the way. What we want is interesting content that hasn't been seen recently or (better still) ever.
To be fair, the person who posted this instance is not the author of the library/old article you linked. I was wondering why this suddenly disappeared from the front page. I guess it's possible they are doubling dipping with accounts? If not, they can't really help if someone else liked it and shared again.
Anywho... looks fantastic, I'm certainly interested in trying this out! Speaks to the interest this project is gaining that it rose to the top twice! As someone who missed the post a few weeks ago, I am very happy to have caught this one.
Submissions can count as dupes when they cover the same story. The story here is substantially the same as 19210697, and the pattern I was trying to pointing out is visible at https://news.ycombinator.com/submitted?id=August-Garcia. (It has nothing to do with the creators of this project or the other one, but yes there has been more than one form of double dipping.)
I agree that it is a cool project! Marking this post a dupe isn't to deny that. It's just that front page real estate is the scarcest resource on HN. More explanation here: https://news.ycombinator.com/item?id=19103247.
Not seeing all the cool things that show up on HN is a problem all of us have. One thing we made to try to mitigate this is https://news.ycombinator.com/front, which you can get to by clicking 'past' in the top bar.
Okay, I see what you're saying. Yeah, your updated response is more clear. I was confused before, but you are actually addressing August-Garcia. For sure seems like they are trying to capitalize on popular posts, and driving traffic to 256k website is clearly the goal. I'm definitely not a fan of this behavior & have ranted about similar activities in the past... lol
Also, props to the 'past' feature. Great idea! I'm a big fan. Thanks for all the hard work!
Lol it's so surreal seeing your project when you're randomly browsing the frontpage. Anyway, creator here, AMA!
>adtac has succeeded in reducing download to just 11 kB and isn’t done yet
Someone raised an issue to support Brotli in Commento (which I wasn't aware of) [1] and I did a quick test; it'd decrease the JS+CSS payload even further to under 8-9 KB. Nearly all modern browsers support Brotli [2], so I'm really looking forward to this.
I now realise this could be a modern take on the famous C10K problem, just with a different meaning: developing web services with under 10 kilobytes of payload :)
All modern browsers support it, so you'd think it would be an easy win. The top nginx search is an official looking Google project which is long abandoned and doesn't support current versions of the library. There's an official nginx module which is commercial, and then finally there's a supported fork that that sits on about page three of Google.
Shared hosts don't generally support it. AWS Cloudfront doesn't support it, along with several other CDNs. Big + to Cloudflare for proper support.
It reduced my bundle sizes measurably. We all hate bloat and want to reduce bundles, but there seems to be a community inertia around mass deployment.
The "filter" module operates totally within nginx, and behaves roughly how we're used to with gzip. The "static" module allows you compress files as part of your build and just serve them - but the server still needs to understand the relevant headers and how to deal with them.
Its generally used as a data transfer compression system. So the web server needs to compress the data before its sent to the browser. If you did it at the web app level (client/browser side), the data would already be transferred so there are no size savings.
Many web servers will serve file.ext.(gz|br) as a pre-compressed option. In order for brotli to beat gzip on size, you need more CPU time, so it's best if precompressed. This also means it's not really an option for dynamic content.
Not yet. You can export comments from Commento as a JSON, but you can't import from the same format. Sucks, I know, but I'll try to implement this soon.
Do you see any issues with scaling in this project? I'd be very interested to know what you chose as backend architecture and how you handle so many requests parallel to each other, as I've struggled to build a good multi-threaded express backend in the past, would be awesome to hear some other stories.
Do you think your service can handle a massive surge, let's say a really big player would pick you up?
Edit: Also really surprised about your pricing strategy. What if somebody wants to surpass the 50k pageviews? Wouldn't it be better to at least give those another tier?
I've done some basic benchmarks and it has scaled pretty well. Mostly thanks to the excellent performance and scalability that comes from choosing Go and Postgres. IMO backend servers are where Go excels.
I'm planning on adding Redis support soon enough so that sudden spikes would have little impact on the database server (which is nearly always the bottleneck, unless you're compute-intensive, which isn't the case with Commento). So that if you suddenly get a few hundred thousand visitors, most API responses are cached and only a fraction will actually require disk access. Like reddit does, where it'll temporarily say there N comments, but when you open the page, there wouldn't be that many. A few seconds of inconsistency is a fine compromise in the comments world. Of course, Redis isn't going to magically make everything faster, so I'll have to be careful with where I introduce it. Optimise for the common case and all that.
I'm still in uni, and I've never actually worked on large-throughput, high-scalability stuff before, so all this has been a great learning experience for me. If you have any suggestions or war stories that might be relevant, I'm all ears!
I'm by no means an expert in web backend architecture, but what you have done seems pretty solid to me with my limited knowledge. We've been mostly working with Express, that's why I asked to hear some feedback about how others have done.
And also, very well done! Your software seems to work very fine, a lot of thought already went into scaling and general stability of the backend. And for me, as fullstack working for a design company, your website layout and design is pretty good. If you didn't have help with that, kudos to you, good work, especially for someone still in college :)
Edit: Website performs pretty good in a Lighthouse audit, apart from Accessibility features.
I'd love to get help with Redis. I don't know anything beyond the absolute basics, so it'd really be useful if someone with more experience give lend a hand! If you'd like to discuss, please add your input here: https://gitlab.com/commento/commento/issues/75
That's pretty cool. Last I checked on my own site Disqus downloaded 1.3 MBs of bunch of stuff, which I think is just ridiculous. After caching it's only 2 KBs but it still bothers me - what in the world it's downloading? main.js seems to be 1.2 MBs and the main culprit. EDIT: well that was the ungzipped size, 263 KBs gzipped the CSS was larger with 353 KBs. But however, it works and has a free-tier so I guess it'll do. Maybe one day I'll try this out, but for now I can't be bothered with self-hosting.
Around Apr 2017. Released v1.0 (almost a full rewrite, but still in Go) in Jan 2018. Launched the hosted version in Feb 2019 after almost 6 months of private beta.
Just emailed you about an enterprise account. My biggest concern would be longevity. Our org is an institution decades old and can't have a startup sunsetting on us a year after implementation.
My experience with comments on my site has not been great. My general sense is that, beyond the occasional "thank you", which I appreciate but which is not very actionable, the best discourse happened by email anyway, and comments were mostly by people who wanted me to solve their problems for them.
I made my email address even more prominent and disabled comments on my site after realizing it would be a net improvement.
I just remembered an important detail but I can't edit my parent comment to update: The reason I disabled comments was that I got lots of spam, and it wasn't worth spending time removing the spam comments for the few useful ones I got.
It wouldn't be HN if there wasn't a comment pointing out why the whole project is useless. I for one appreciate there being a lightweight alternative to proprietary, locked-in, cloud based services like Disqus, even if I don't personally and currently need a comment field on my website.
Don’t forget that Disqus is also a major tracking service, not as prevalent as Facebook buttons but with more semi legitimate functionality so you lose more if you block it.
If we're discussing semantics then you are correct, the literal word "useless" was never used, but it's obvious that the point of the comment is to state that there is -- in the end -- no need for this solution as more primitive solutions are already superior. This is a type of comment that is so common that it's a trope in itself, much more than the calling out of it is (as some here seems to argue).
It wouldn't be hacker news if there wasn't eventually a comment pointing out that there's always a comment pointing out <x>.
It's fascinating to see this happen on both HN and Reddit, quite often even before 'comment pointing out <x>' is even posted.
This phenomenon reminds me a bit of the annoying fallacy-fallacy, or how any discussion involving -isms (capitalism, socialism) cannot be had without either or both parties pre-emptively defending against being accused of, say, the no-true-scotsman fallacy.
I've been wondering if this is a 'new' thing, or if we've always been having these increasingly meta conversations, or if perhaps I'm just getting old and tired of it.
On this note, what are some examples of comments providing considerable value?
I can think of: comments in torrent trackers, where comments sometimes provide useful information; and, if this even counts, forum sites, like Reddit or HN, where comments host discussions.
Like children commenters said, comments are very useful if there's a community around your site. For my personal blog, comments were mostly "thanks" and sometimes angry comments about how I didn't like the thing they liked, although these were rare.
There were sometimes helpful corrections, but those came largely through email anyway, and, since I update the articles when I receive a correction, the corrective comments instantly became obsolete.
I just remembered the biggest reason why I removed comments: Spam. The added value wasn't significant enough (due to the reasons above) to warrant spending the time I spent removing span comments. Make a popular post and you'll get a whole bunch of "What a great post! Check out my thing: <thing>". I didn't want to spend more time moderating so I just disabled comments.
I think comments provide value everywhere where there is a community. If you don't have a community around your website and only random strangers visit it, it won't offer considerable value. Although I cannot say that I have a community around my blog, I occasionally get useful comments with clarifying questions and additional information which helps me improve my content.
For blog-posts which contains technical how-to information, the comments often contain corrections or other additional information which may be relevant for later releases or other distros.
Yes, this is one example of useful comments. It's just that, for my site, those tended to be over email, which I generally respond to immediately, so it's equivalently useful.
Comment sections are especially good for sites which the author doesn't update, so you can read the correction in the comment.
Kudos! And nice to see you're using GitLab as well.
Not to get off topic but my theory is, something like this is one of the reason why Automattic's / WordPress' recent Gutenberg efforts were misguided.
That is, it's not only about the content (of the individual node sites / blogs) but (in a networked / graph world) also the importance of the connections between the nodes, as well as the participation of third-parties (i.e., those leaving comments).
Long to short, commenting and connecting could result in an (informal social) network (of sorts). With WP powering ~30% of the web, laying the ground work for such a graph could have been revolutionary. Content __and__ connections.
Instead, they went with Gutenberg (and imho missed a massive opportunity to move away from the dated silo-based content model).
p.s. If Commento can (easily) work with the current copy of static site generators, what would be worth mentioning somewhere in your marketing / feature / benefits copy.
Also, since Disqus is a pseudo social network, how would Commento work if the same instance were used across multiple sites / blogs? In such a situation, could Commento be used as a proxy-network among the sites that share a given instance?
I see on Commento.io it explicitly mentions being able to import from Disqus comments, but the "Import from a different service" is behind a signup wall.
Rather than signing up for a service that may or may not work for my site, I'm curious, does it allow importing from existing native Drupal and/or WordPress commenting systems?
That's my biggest pain point right now. Exposing public login to my CMS is a security risk (see: plugins/modules with permission escalation bugs) and frankly a pain I don't want to manage anymore. Migrating old comments to a new system is preferable to keeping the legacy comments system (and user accounts) in place while maintaining a second system on top of it for new comments.
Importing from Wordpress isn't officially supported yet, but others have found workarounds. One person imported their Wordpress comments into Disqus and then imported that into Commento. While native support within Commento would be infinitely better, I thought I'd mention this for the time being. I'll consider this comment as a vote for native wordpress import support :)
I plan on implementing SSO for the next release (v1.7.0), but I've been a bit busy with school work for the past week or so. Still about ~2 weeks away, by my estimate.
I'm used to roadmaps and software planning cycles in months or years so "weeks" is probably before I could even get somebody to open an email to start thinking about this. :)
I note that putting lines of text between ```...``` can be used to put them in a monospaced font.
This is useful when discussing programming, as one can include excerpts of code. To do this in Reddit, you have to prefix each line by 4 spaces, which is hard to do because the comment box doesn't use a monospaced font.
Maybe Commento could have an option of a monospaced font for the comment box?
Reddit supports ``` BTW. You are thinking of StackOverflow probably (which is very annoying). Extra bonus points to sites like Github for supporting ```language-name, e.g. ```js / ```ruby / etc.
It's a programming site, which means no one should be typing code in by hand. It's always got a typo or six.
Cut the code, then paste it, select it and use the {} icon on the StackOverflow editor to indent the entire block. No need to guess at four space indents.
There was some discussion about adding comments to beta.observable.hq a while back[0][1]. One of the offered solutions was to embed disqus into a notebook manually[2]. Could you do that with Commento as well?
Yep, looks doable. All you need to do is insert two tags: a <script> and a <div>. You can also disable auto loading and manually trigger loading comments (see `data-auto-init` in the docs [1]).
A few days ago, I self-hosted Commento to slowly replace Disqus on my sites. It was pretty painless to get the release binaries working on a little $5 Digital Ocean droplet, and get SMTP + Google OAuth configured.
To keep my page loads sane when I used Disqus, I had to delay the Disqus scripts from loading until the user hit a "Load Comments" button. It's nice that Commento comes with that sort of functionality right out of the gate, along with the ability to pass in a CSS file to override the styling.
Honestly, Disqus has been so unhelpful with fixing issues (such as users not being able to post comments from iPhones) that this might be worth a look.
Instead of using another data silo, consider webmentions. Post a reply on your own blog with rel=“reply-to” and send a webmention notifying the author, who uses a plugin or webmention service to display replies.
It’s decentralized web comments. See indieweb.org for more information.
Suggested a feature on GH project. Would be cool to see an extension for this, similar to dissenter, that could inject related comments, particularly for websites that don't even have comments.
I made a comment below about my negative experience with comments but forgot to mention an important detail: I took down my comments section because of spam.
I had found your solution back when I was researching comment systems, and it looked (and still does look) great! I especially like the clean UI and tree-style comments. However, the big issue for me is how it handles spam. What sort of tools are there to save me from spending time moderating comments?
Even something as simple as "initially hide comments that contain URLs" would go a long way towards removing lots of spam.
500+ comments and 5k+ page loads in the last few hours, but it turns out the backend was still pretty fast. It was the JavaScript that dynamically generated the comments web page that added a couple of seconds of delay. Looks like I know where to look for performance improvements next :)
Funny story behind that. I originally thought the name was Latin for "comments". Naming things is hard, so I figured I'd just take the easy way out and translate from a dead language. I realised it was Italian only months later lol. Google Translate failed me.
Count yourself lucky. Hoorah! for any alternative to Disqus, of course, but OMG the layout of their WWW page is heinously awful example of what can happen when children are permitted to do CSS.
This is the second time this account has submitted an article about a project that had major attention on HN a short time earlier. If this is with the idea of promoting your blog here, that is not the way. What we want is interesting content that hasn't been seen recently or (better still) ever.