HN user

jerrac

372 karma
Posts16
Comments202
View on HN

My perspective: Stack Overflow was started to be a documentation site, but was implemented as a Q/A site. And that doomed it from the start.

If someone wants to get help, and they end up on Stack Overflow, the structure looks like a Q/A site, and they treat it that way. The people "in the know" then accuse them of being "bad" for posting a question to a documentation site. Combine that with the gamification, and it had to turn into the toxic mess that it did.

When I first heard of the gamification method of moderation, I thought it was a really good idea. But, over the years, it has proven to be a means to enforce an echo chamber, rather than a way to filter out bad posts. I have yet to find a site (HN included), where that isn't true.

@rambleraptor, I haven't actually tried to do anything with your solution. It looks like you've put a good amount of work into it, enough that it works for you and you're willing to share. That's more than I can say about my similar ideas. So don't take the following as anything negative. It's actually more a self-critique than anything else...

Ok, so, how many of us see something like this, and instantly just want to do it ourselves in our own way? I've seen at least 5 different versions of a "self-hosting platform" make their way on HN, sometimes more than once, but every time I really look at them, they just don't fit quite right, and often end up abandoned a while later. I've tried to make my own, and never have gotten anywhere worth sharing, and the couple times I've tried what others have made, I haven't been able to do what I want.

I mean the idea is really good. Make it easy to host apps for yourself and your family. But it seems like we're all more interested in building the platform than actually picking one, or two, platforms and turning them into something sustainable...

Anyway, what would it take for you to actually use something like this that someone else built?

Or am I just dealing with a bad case of not-invented-here?

In both cases the reason someone was persecuted was they offended someone in power. And the system eventually ruled in their favor. That is the similarity.

If you view one of those cases as a bad result, then chances are you are biased.

That said, if you downvote because you have looked into the cases enough to think that that similarity is not valid, and then you can articulate it (like the person I'm replying too did) then I'd consider that fine. (Assuming they downvoted, they may not have.) I may still think there's some bias there, but it's not uninformed bias.

If you can't articulate a reason you want to downvote, then it's bias and emotion fueling your downvote. Which, I don't consider to be a valid reason to downvote.

As a side note, I think we all need to be aware of how similar the things we hear about the "bad" side are. The comments I see about Trump weaponizing the Department of Justice to oppress people is pretty much exactly what I saw said about Biden weaponizing the Department of Justice to oppress people during his administration. I also have seen MANY comments where if you replace "Biden" or "Trump" with the other name, you end up with a comment the other side would make. I think that should trigger some self-reflection. I know I'm still trying to figure out what to think about it.

I wondered if anyone else noticed that. I upvoted. Hopefully more people will as well to balance out the bias.

To those of you downvoting, please articulate why you think something deserves a downvote. As it is, I can only assume rather hypocritical double standards. Someone saying something anti-Trump is ok, but someone saying something anti-Leftist (or Clinton) is not?

(For the record, I 100% am on the side of the guy who was jailed. Just as I am on for the guy who retweeted that meme in 2016. Abusing government power is unacceptable no matter who it benefits.)

Almost everyone who comes to SO, in my experience, has a fundamentally wrong idea about how the site is intended to work.

True. I quit trying to do anything there once I realized that SO was fundamentally not useful to me. It advertised as a gamified Q&A platform, but was actually a knowledge base psudeo wiki thing structured in way that didn't lend itself to answering the questions I needed answered.

So, I think a lot of the negative reactions are deserved, because SO looks like something it isn't.

People want a place to get help. SO looks like a place to get help. But SO is a place to ask for help only if your problem fits a specific set of requirements. And since most problems will never meet said requirements, most people can never actually get help on SO.

I post this in part because I'm still saltly about how much time I wasted trying to get help only to get downvoted, but also because if SO actually wants to do what they say, they really need to restructure into something that actually looks like what they want to be.

My suggestion would be to have two sites, one that is actually a general Q&A site like what everyone is after, the other is the kind of knowledge repository that SO wants to be. Then you just promote the really good questions from the Q&A site into the other site.

I'd also recommend ending the whole "downvote" idea. I have yet to see it not result in cliques and in discriminating against viewpoints the people with downvote permissions don't like. Let a lack of upvotes cause poor content to drop to the bottom.

Gentoo was the first distro I got working with internet access because it supported the little phone line based network my family had, so I could share dial-up via the parents windows computer. And, yes, I also printed off the install guide.

Man, I should find time to dig into Gentoo again.

I daily drive Linux for everything except games, and gaming on Linux has come far enough that I'll be switching over soon. My 60+ father also uses Linux for most of what he does.

And, yes, software working on your OS is not a minor point. That's the whole reason I used to go with the "best tool for the job" approach. Windows Recall is what changed that for me. I can't see using an OS with spyware built in as a "feature".

In my opinion, Apple is no more trustworthy than Microsoft, so...

It’s a big deal for people who do things other than use a browser, text editor, and terminal.

So, the number of video editing, photo editing, CAD, gaming, and so on tools that work on Linux has grown a LOT. It's not just for basic stuff. You can do almost anything you need to on Desktop Linux. Yes, a lot of things are rough around the edges, but they're that way because people haven't invested in them, not because they're bad tools.

Makes me wonder what it would take for governments to actually hit Microsoft hard enough for it to hurt. I remember when they were hit with anti-trust fines here in the USA due to how they were bundling Internet Explorer as the default browser. I mean, did they ever stop? I can't recall ever turning on a new Windows install in the past couple decades and not having IE or Edge as the default.

It also makes me wonder what it would take for IT people to finally stop gritting their teeth about having to use, or having to let others use, Windows and start just dealing with the learning curve of switching to some Linux distro. I mean, Windows Recall is spyware. If it didn't come from Microsoft, Windows Defender would be sure to mark it as malicious... What's the name for a screenshot based keylogger I wonder...

I used to just figure that Windows was just all some people could use. And if that was the best tool for them, then ok. But now? I can't say that anymore. It's out and out malware at this point.

In all seriousness, if you are sticking with Windows at this point, why? Is it just the fact your other software doesn't work on another OS? Or is there something good about Windows that you like?

That's a good way to do it. I was actually thinking of a Git hook or something in the ci pipeline as a place to start. So reading about how you implemented it was helpful. Thanks for sharing!

So, I feel like "Docs-as-Code" has some context I'm missing, so I'm going to comment on docs in general.

I think there multiple kinds of docs for software.

* Comments explaining a specific section of code.

* API docs describing functions/classes/etc.

* Docs on how to use a library/class/etc. Usually including simple, isolated, examples.

* Tutorials on how to create simplified applications using the developed tools.

* Docs on how to deploy, configure, and maintain an application.

* Docs on how to use an application.

* Docs on how to troubleshoot an application.

* Docs on how to integrate applications.

* And likely others I'm missing.

Personally, I've been seriously frustrated by how bad most of the open source (haven't done much with proprietary code) documentation is. Case in point is Drupal and Symfony. Trying to use api.drupal.org is not fun, and Symfony's docs always cover the basics, and then there's nothing on pulling everything together into something complicated. So you try to dig into the actual code, and end up finding multiple layers of uncommented abstractions. Yes, I can eventually figure out what is going on if I put the effort in, but that's a lot of time that could be save by a few lines of comments.

I usually end up asking JetBrains AI about what I need, then use what it says after I fix the errors it makes... It's also very good at summarizing everything I'd find if I used a normal search. But that all only works if others have already asked and answered my questions.

Some things I've been trying to do to improve my own code's documentation:

* Unless the line is super obvious, even if I think it is obvious, I try to leave a comment. Yes, it seems pointless, but I have gone back to old code I remember being obvious without said comment enough times that I think it is worth it.

* Avoiding "elegance" in favor of "explicitness". For example, I use full `if` statements instead of ternary operators even when ternary operators would look better. For whatever reason the syntax of ternary operators has never sunk in for me, and the explicitness of `if` is much easier to parse. I also use very descriptive function and variable names. Basically, if I have to think about what something means, I try to change it so I don't have to.

* Split out functions into smaller functions as much as I can't. This means I can use descriptive function names. And I'm pretty sure it's just good practice.

I also have been trying to figure out ways to keep higher level docs closer to my code. I have some ideas, but haven't tried them yet. Has anyone ever written something that detects changes to a method/function, and then when you save your file it pops up asking if related docs need updating? Maybe add comments to the method pointing to where related docs live, and then your IDE/tool uses that to know what docs need updating?

Drupal still has a very high learning curve. I'll use Drupal over WP any day, but I can acknowledge it has some rather rough edges.

I haven't dug into it yet, but I think that "starshot" initiative that's been Drupal.org's front page since the last DrupalCon might be aimed at giving people an option without the rough edges.

Personally, if Wordpress handled security alerts with plugins the way Drupal does, and if they did a better job of keeping bad code out of plugins (why can a theme implement a form?? At least that was the case years ago. Has it changed?) I'd give WP a serious look again.

The article itself is rather, hmm... Melodramatic? Not sure that's the right word, but it is close. That said, the overall idea that "open source" projects that are controlled by a single vendor have problems is true.

I think that having a for-profit company controlling an open source project is a major conflict of interest. Open source does not always result in profit. Often the opposite. And I think we've seen the results of that with all the different open source projects that have re-licensed into pretend open source licenses.

There are ways to run open source projects that support both the open source culture, and allow for for-profit companies to make a profit. But most of those ways mean allowing competition. Which is where the single vendor project conflict of interest becomes apparent. Yeah, big tech will leech off any successful project. Yes, that means less money for the "single vendor". Yes, that is not fair. But I'd say re-licensing is worse than leeching, so...

The other side effect of "single vendor" I've run into a lot, is simply that their paid options are always priced for organizations with very deep pockets. So the smaller orgs (and individual developers) that jumped on the bandwagon early because the project was open source (and they actually could jump on the bandwagon), have no chance at supporting the project. And end up have to find something else because the project stops supporting open source.

I would love to see a regulation put in place requiring companies to notify their users every time they transfer data about their users to another organization. If the data is "anonymized", the company should have to notify all their users.

If the company has contact info for the user, it should send the user a notification via that contact info. Even if that means having to send a physical letter.

The company should also keep a public record of transfers, something like a page on their website listing when they've transferred data, why it was transferred, and what kind of data was transferred. That would cover anonymous users.

There would need to be something in there covering data transfer as part of what the company's business is. Maybe a list of businesses that access your data as part of the provided services and are covered by the company's terms?

Even better would be to force companies that make money selling your data to share the profits with every person they just sold data on.

Like: The interesting tools you find when people "show" their tool, and then everyone mentions a bunch of other similar tools in the comments.

Dislike: Down voting. Down voting just makes for an echo chamber (as someone else already mentioned.) It's a terrible, nasty, way of punishing people who's posts don't fit the popular cliques viewpoints. It should be replaced with either a mandatory "this is why I down voted" comment, or flags that everyone can see. Like "off topic", "insulting", "spam", or things like that. At the least, it should cost karma to down vote. Oh, and if you down vote, or flag, and it gets reversed, you should lose karma.

FYI, you need to add the api-key config section to the stream.conf file on the parent node in order to enable the api key and allow child nodes to send data to the parent node. I thought it went into the netdata.conf file... I also kinda wonder why it matters what file has what config since the different config sections all have section headings like `[stream]` or `[web]`.

So, the answer to my question is that you can get multiple nodes showing up without a cloud account. Just have to configure it correctly.

Nice to see that the log analysis is being worked on.

I'll see if I can figure out the integrations you pointed out. They look more like they are aimed at monitoring the metrics of the tools, not using the tools to aggregate logs. Right?

The way most ops systems treat logs and metrics as completely separate areas has always struck me as odd. Both are related to each other, and having them in the same system should be default. That's why I've put as much effort into the ELK Stack as I have. They've seemed to be the only ones who have really grasped that idea. (Though it's been a year or two since I've really surveyed the space...)

One question not log related, is it required to sign up for a cloud account to get multiple nodes displaying in the same screen? From the docs on streaming, I think you can configure nodes to send data to a parent node without a cloud account, but I either haven't configured it properly yet, or something else is in the way, since the node I'm trying to set up as a parent isn't showing anything from the child node.

Last time I tried Prometheus was years ago. So I don't know how much might have changed... I gave it a good month or two of effort trying to get the stack to do what I needed and never really succeeded.

Just my opinion, but I honestly don't think the scraping model makes much sense. It requires you expose extra ports and paths on your servers that the push model doesn't require. I'm not a fan of the extra effort required to keep those ports and paths secure.

Beyond that, promql is an extra learning curve that I didn't like. I still ran into disk space issues when I used a proper data backend (TimescaleDB). Configuring all the scrapers was overly complicated. Making sure to deploy all the collectors and the needed configuration was rather complicated.

In comparison, deploying Filebeat and Metricbeat is super simple, just configure the yaml file via something like Ansible and you're done. Elastic Agent is annoying in that you can't do that when using Fleet, or at least I have yet to figure out how to automate it. But it's still way easier than the Prometheus stack.

I've tried to get Loki to work 2 or 3 times. Never have really succeeded. I think I was able to browse a few log lines during one attempt, I don't think I even got that far in the other attempts... The impression I came away with was that it was designed to be run by people with lots of experience with it. Either that, or it just wasn't actually ready to be used by anyone not actively developing it.

So, yeah, while I figure a lot of people do well with the Prometheus/Grafana/Loki stack, it just isn't for me.

Not sure I haven't run across it before, but this is the first time I've tried using Netdata. Looks like it is very good for metrics, at least in the 10 minutes I have spent installing it on my local desktop and poking around the ui there.

I'm not seeing anything in it for logs, though. I'm guessing it doesn't aggregate or do anything with logs? What do you use for log aggregation and analysis?

I'm very interested because I've been getting frustrated with the ELK Stack, and the Prometheus/Grafana/Loki stack has never worked for me. I'm really close to trying to reinvent the wheel...

I'm in the middle of getting my family using Nextcloud and the Memories app for that. No idea how well it will work long term, but it's an idea.