Hacker Newsnew | past | comments | ask | show | jobs | submit | th0th's commentslogin

Last time I checked forgejo was allowing only pull or push syncs. Does it allow 2-way syncing as well? I need to check that.

Thanks for the list, but I didn't really understand what you are suggesting. If I host on any of these public services, people will need to create an account there.

I may have misunderstood your need, but you might host issues/PR's from a Codeberg mirror, and use webhooks to sync with your self-hosted forgejo.

https://docs.codeberg.org/advanced/using-webhooks/


It feels really nice to see stuff like this while the most of the people think Slack, Discord and a few others are the only choices.

I recently went through the hassle of deciding on something small for my family + company circle. Mainly considered XMPP and Matrix, and went with Matrix. Didn't know there was such a thing as "always-on" on IRC tho.


> Didn't know there was such a thing as "always-on" on IRC tho.

It's a server feature and might be unique to Ergo. It's a per-user setting (with a global default) and when it's on the user always appears to be online so you can type at them any time like you would with other DM systems. The v3 chathistory support ensures that they don't miss messages. For clients that don't support chathistory the server can replay any unseen messages.

It's a lot like what bouncers provide but integrated and very easy to enable for everybody so no extra steps required for my users.


Have you had any issue with messages/notifications not be sent/received with Matrix? I wanted to try Matrix for friends and family, but either I would never get the message until I opened the app, or I'd get the notification but my phone wouldn't vibrate. Eventually settled on XMPP with Conversations on Android.


Not really, I didn't have any delivery-related issues, and didn't get any complaints from other people as well. I have mixed feelings towards Matrix due to;

1. The only stable and maintained implementation is "matrix-synapse" and it is written in Python.

2. The most commonly used client is "element", and it is governed by the same people. So it feels we are the mercy of a single company.

I wanted hard to go with a more established protocol like XMPP but failed to get a server running properly :)


Not sure if you tried prosody[0], but I found it rather powerful and simple to configure, including multiuser chat(muc) and peering. It's written in lua and has a module system so it's easy to extend. In particular I used the dovecot auth module[1] so users could login with their email credentials and I could manage a single user repo.

0. https://prosody.im/

1. https://modules.prosody.im/mod_auth_dovecot


Yep, Prosody was one of my failed attempts :P I am running everything on a kubernetes cluster, so a maintained helm chart is the first thing I check when running something. I didn't have much luck with XMPP servers with this.

That IMAP auth trick is really awesome thinking BTW, kudos!


Ah interesting, I haven't tried running it on k8s yet. Migrating my mail stack over to k8s has been on my todo list for a little while; should probably get around to it since dovecot and postfix have supported inet sockets for user/domain db and auth for ~12 years now.

Dovecot is really great, and a ton of stuff supports using it as a sasl auth backend (postfix being an important one). I made a simple facade service that feeds it and postfix from couchdb via its dict backend[0] and postfix's tcp_tables[1], then point everything at dovecot for auth. Couch document IDs map really well to email/user, domain, and sieve script lookups; helluva lot simpler than setting up and managing LDAP.

0. https://doc.dovecot.org/2.3/configuration_manual/dict/

1. https://www.postfix.org/tcp_table.5.html


I've been running XMPP/ejabberd for a decade, it's a single service embarking everything you need, including what it takes to do A/V calls (NAT traversal & al.). Nonetheless, it's also the quietest and lowest-profile piece of server software I've ever used. I don't need a container for that, but if you want, there's an official docker image for it. Without going to host millions of concurrent users and needing to distribute the service across multiple physical servers via clustering, I don't see what good an "helm chart" does for you, but then you do you.


Ive been running matrix for small company/group for almost 10years. No need to use Synapse as there are many other solid servers (and have been for years). Matrix (the company) software like Synapse and Denderite (their “performant” server in go) are aimed at mega servers that federate and the features revolve around that.

If you want to selfhost just make it easy and get Conduit. Its single binary and uses embedded db (rocksdb or sqlite). I cant say about federation but for private chat server this has been solid for me for years. I still run it with sqlite (worse than rocksdb) and with 30 very active people its more responsive than Synapse ever was.


What clients do you use to connect to it? I just setup a Conduit server and can connect from my Mac via https://app.element.io as well as the official MacOS app, but the iPhone apps cannot find it somehow. Does that work for you too?


Nevermind. I think I got it. My server name was set incorrectly so that

curl example.com/.well-known/matrix/client

responded with an incorrect base_url.


Have you seen https://snikket.org ?


Yes, Snikket was also one of my failed attempts. Maybe it's me, I don't know.


The Element app on Android seems to have problems with delivery. I haven't had issues on iOS.


I really wonder what that dude was doing when he was 15 years old, should have been a difficult childhood...


When I was 15 I thought I was hot shit even though I wasn’t doing anything interesting. It would have been good if someone had told me that, so I had pushed harder and not been satisfied with what I was doing.


I get what he’s going for I guess but “this isn’t much of an achievement” is sociopathic


What’s your honest appraisal of this code? Would you ever under any circumstances use it? If not, then be honest and tell them to keep pushing. The quote is that it is not much “yet”. It’s a good first step, but having too high of a self-appraisal is just as bad as having too low. As an elementary school kid I worked for several years on a BASIC game where you could fly an ASCII art ship around the screen. It was not good, and I would have been better off if some adult had been honest and told me that I was doing it wrong and sent me down a better path. Instead I thought I was hot shit because I was the best programmer at my school. It wasn’t until years after college that I really even began to understand programming, and having too high a self-conception hurt me for a long time.


You don't know anything about this kid. You definitely don't know that what they need in their life is discouragement. Don't conflate their childhood with yours.

If a 15 year old wanted to show me a project, and I wanted to help them understand what would improve it, I'd ask them questions and engage them in a Socratic process to lead them that direction.

I wouldn't tell them that their work was trash. That would either discourage them from doing more projects, showing their projects to me, or both.


Who said it was trash? I said there are no new ideas, and it’s not ready for other people to use. Why would you conflate that with “trash”? That’s a perfectly normal, honest assessment.

I think you guys are expecting a 15 year old to be treated like a 5 year old. 15 is old enough to make real contributions to open source. Aaron Swartz is the obvious example, but lots of other young people make big contributions. It’s honest to say “good for you and keep working but this isn’t ready for the front page of Hacker News and if you think it is you will hold yourself back.”


If you weren't hypercritical, why do you think everyone is reacting as if you were? Either you communicated poorly and came off way differently than your intended, or you aren't being honest with yourself about what you said and what it meant.


[flagged]


You were over the line when you called them a sociopath, and I should've called you on it but didn't, but now you are way, way over the line.

To quote you, in what world is this an appropriate comment?


You are heavily projecting onto him. You don’t know anything about him and even if you did unless he’s being openly belligerent it’s not your place to fix him

Just let people build things. There’s no need to aggressively tear them down. Programming for fun is not serious


You are projecting that people need unconditional affirmation. Why? Normal people can handle mild criticism.


Just because you dislike unconditional affirmation doesn't mean you need to delude yourself into thinking that being a total asshole without provocation is "mild criticism"


Hey folks,

I built the free and open source, privacy-first PoeticMetric Analytics. It has both SaaS and self-hosted options. Source code is available on https://github.com/th0th/poeticmetric.

Its stack includes; PostgreSQL for the single source of truth database, ClickHouse for time series data, RabbitMQ as the task queue, and Golang for the backend. On the frontend, I use React (Next.js, typescript and bootstrap) for a modern user experience.

No personal data is collected. And it doesn’t use any persistence stuff like cookies, local storage, etc.

I would love to hear your thoughts and feedback. Cheers!


Felt sorry for the on-call folks at GitHub. What a great way to start the week :/


That unstyled short message on a default, white background is touching. I felt Chris reading those technical debt bullets. Kudos to him and good riddance!


Hi @heliodor, WebGazer founder Gokhan here :)

Actually the site is running but not accessible due to the issue. Glad you got the heads up, after a while I had to pause monitoring to prevent side effects.


I have been working on WebGazer (https://www.webgazer.io) since 2015 and even if the stack got bigger with time, it has Django in its foundation :)

It started as a simple website monitoring product and evolved from there. It enables customers to monitor websites, REST APIs and cron jobs on the same platform. I also added status page functionality (e.g. https://status.webgazer.io) some time ago.

I have a day job but I keep building and hustling at the side. We live off of paychecks from our day jobs but live for our side projects, don't we? :P


th0th, just added webgazer to builtwithdjango directory :) https://builtwithdjango.com/webgazer


thank you!


I have been developing web stuff for about 10 years. The dilemma I experienced about monitoring is that when you do your own monitoring you need to make sure your monitor is working, too. Relying on an external platform sounds saner when I consider this. This is why we consider WebGazer "mission critical".


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: