Live data from Hacker News

Show HN: Orange Forum – Web 1.0 style forum written in Go

goodoldweb.com

101–110 of 178 posts

Re: Show HN: Orange Forum – Web 1.0 style forum written in Go

#101

The irony is that because of the lean structure behind the server, this forum actually responds faster than most webfora that do use AJAX/SPA. Funny given that the whole purpose of AJAX/SPA was to reduce response time. That's it's reason for existing. Turns out it just complicates things ...

Turns out it just complicates things ...

No, a good car is not evidence that the plane just complicates things, it's evidence that you've got a good car.

Re: Show HN: Orange Forum – Web 1.0 style forum written in Go

#102
post #95
post #89

Earlier quoted context omitted.

No, but I've seen comments on here from people under the impression that rendering on the client is a more efficient use of CPU, or that rendering a page in HTML is significantly more resource intensive than rendering the data in json. There is a generation out there that doesn't seem to know that server side rendering exists.

>There is a generation out there that doesn't seem to know that server side rendering exists. Oh, don't worry, they're reinventing it in JS. I've had a recent project proposal and one of the engineers said that to make the webpage faster we could prerender the pages on the server side with JS. Like, at that point, you're just using PHP with a different name and worse performance (a small 4$ shared hoster can easily h…

Do you get why you'd prerender a JS app and why an isomorphic setup is fundamentally different than server side rendering with PHP?

You're comparing different things. Also, JS performs as well or better than PHP. Not sure why you guys get so ideological about this.

Re: Show HN: Orange Forum – Web 1.0 style forum written in Go

#103
post #84

Earlier quoted context omitted.

A good example of "the devil's in the details" is the decision chart of how Slack decides whether to send a notification for a particular message. I mean, how complicated could it be, if the user is in the channel and he doesn't have notifications turned off, then send it, it's just a simple nested if statement, right? But, it turns out that when you map out all of the decision points, it's quite a bit more complicat…

Nice but misleading graph. If you count the situations that lead to "No" you'll realize that all the "No" cases can be easily checked for, and if you're not in a "No" case then you're in a "Yes" case. Can probably be implemented in a regular function with about 30 lines of code?

> If you count the situations that lead to "No" you'll realize that all the "No" cases can be easily checked for,

I think you might be under-counting the "No" cases.

I counted at least 30 (and then stopped, with plenty still to go) so I don't think you'll get it in 30 lines of code unless you have some very long lines with rather impenetrable logic.

Re: Show HN: Orange Forum – Web 1.0 style forum written in Go

#104
post #51
post #44

Earlier quoted context omitted.

Where do you think Argon2 should be present before it is considered to have good library support? AFAIK, it is in libsodium, debian, ubuntu, and other distros. And I think one can also make mistakes with scrypt when choosing parameters which Colin himself acknowledged. So isn't it time to go ahead with Argon2?

This project is in Go and Argon2 isn't a part of the standard crypto ( https://golang.org/pkg/crypto/#pkg-subdirectories ) or additional crypto ( https://godoc.org/golang.org/x/crypto ) libraries. There are a few 3rd party implementations... But is it more secure to use a lesser known 3rd party package to have Argon2 support or is it more secure to use the more widely adopted bcrypt package supported by the Go dev co…

>This project is in Go and Argon2 isn't a part of the standard crypto

I was talking about password hashes in a general sense, not just about the current project.

Re: Show HN: Orange Forum – Web 1.0 style forum written in Go

#105

Earlier quoted context omitted.

Yeah I was looking at that too. The definition is kind of nonsensical. Slashdot met that definition in 1997 but nobody was calling it that at the time. Web 2.0 became a very popular buzzword with Digg, Flickr etc. Or at least that's how I remember it, the author is not "wrong" for referring to it by a very popular definition. Also see: http://www.paulgraham.com/web20.html I think everyone would agree that democracy a…

You're wrong. Neither Digg nor Flickr had anything to do with AJAX. You're thinking of the "Web App" era precipitated by Google Maps. That's a whole 'nother thing. "Web 2.0" and "crowdsourcing" were more or less one in the same. Maybe people (including Graham) have been trying to revise "Web 2.0" to include more things, to simplify the taxonomy. But when Web 2.0 first started being discussed, it wasn't about JavaScri…

[deleted]

Re: Show HN: Orange Forum – Web 1.0 style forum written in Go

#106

Earlier quoted context omitted.

Yeah I was looking at that too. The definition is kind of nonsensical. Slashdot met that definition in 1997 but nobody was calling it that at the time. Web 2.0 became a very popular buzzword with Digg, Flickr etc. Or at least that's how I remember it, the author is not "wrong" for referring to it by a very popular definition. Also see: http://www.paulgraham.com/web20.html I think everyone would agree that democracy a…

You're wrong. Neither Digg nor Flickr had anything to do with AJAX. You're thinking of the "Web App" era precipitated by Google Maps. That's a whole 'nother thing. "Web 2.0" and "crowdsourcing" were more or less one in the same. Maybe people (including Graham) have been trying to revise "Web 2.0" to include more things, to simplify the taxonomy. But when Web 2.0 first started being discussed, it wasn't about JavaScri…

[deleted]

Re: Show HN: Orange Forum – Web 1.0 style forum written in Go

#107
post #93

Earlier quoted context omitted.

I've had certain forum software sometimes as a side project, sometimes as my man full time project, during the last 7 years. So yes there's lots of work. But in my case lots of time was "lost", in learning web development / React.js / Angular / Dart / other stuff, and porting from the-wrong-technology, to another the-wrong-technology, and building the wrong things that no one wanted. I think the Discourse (forum soft…

I think the lesson here is to stay away from frameworks as much as possible.

It was other things than frameworks too — also databases, and (to some degree) programming languages. For example, I started with using only file based storage. Then I switched to Oracle — because I needed to learn Oracle better, beause of some contracting work I did, and then from Oracle to PostgreSQL. & I tested Dart (a programming language) too (and Angular-Dart).

Actually now in the end, I've found some frameworks that I like (love?) and ... without them, I'm afraid everything would instead have beeen a terrible mess. These frameworks help me structure the code and reduce my total amount of code: React.js, and Play Framework, and Nginx + some Lua (instead of doing everything in the app server).

My personal lesson is ... Do use frameworks but not the wrong ones :-) and it can take long to undo a use-the-wrong-stuff decision.

Re: Show HN: Orange Forum – Web 1.0 style forum written in Go

#108
post #37
post #32

Looks like you'll need to start moderating this already, as of an hour ago, at least. The process of setting up a public sandbox for users to play with seems like it should be easy, but abusive/obscene posts by users make a testing sandbox unusable/NSFW very easily.

What are good strategies for combatting such abuse? Validate email before posting, forbidden word lists, active site moderators?

Only thing that works is active and ongoing moderator involvement, plus a well implemented "report/flag post" feature.

Re: Show HN: Orange Forum – Web 1.0 style forum written in Go

#109
post #95

Earlier quoted context omitted.

>There is a generation out there that doesn't seem to know that server side rendering exists. Oh, don't worry, they're reinventing it in JS. I've had a recent project proposal and one of the engineers said that to make the webpage faster we could prerender the pages on the server side with JS. Like, at that point, you're just using PHP with a different name and worse performance (a small 4$ shared hoster can easily h…

Do you get why you'd prerender a JS app and why an isomorphic setup is fundamentally different than server side rendering with PHP? You're comparing different things. Also, JS performs as well or better than PHP. Not sure why you guys get so ideological about this.

>Do you get why you'd prerender a JS app and why an isomorphic setup is fundamentally different than server side rendering with PHP?

Tbh, I'm not really interested. I can squeeze amazing performance out of a 10kB self-written JS library with noscript fallbacks than most JS-heavy apps out there. The sites I develop work with dialup connections or worse. Because my phone regularly has only such a connection. Modern JS apps are a pain to use under such conditions, I've not noticed much difference between prerendered JS and unprerendered JS, it's both crap under these conditions.

On the other hand, Orange Forum loaded almost instantly (less than 10 seconds) on a crappy GPRS 16kbps connection. Discourse or NodeBB don't load at all and if I'm lucky enough I might see some error message or crapped out webpage.

>Also, JS performs as well or better than PHP. Not sure why you guys get so ideological about this.

I have only ever seen evidence of the contrary.

I can run a 1M user/month website with 128MB of RAM on a shared hoster using PHP. If you get a good shared hosters you can probably hit 10M user/month.

I have not seend a nodejs app that can handle 1M user/month on a 5$ VPS, which has 512MB RAM and probably more CPU and disk than the shared hoster offering.

But I'm willing to rethink this if I see real world evidence that a comparable software set runs better and more efficiently in JS than PHP. I won't consider synthetic benchmarks since those rarely model real world usage and comparable means the software must be usuable with and without JS on the client enabled.

Re: Show HN: Orange Forum – Web 1.0 style forum written in Go

#110
post #84

Earlier quoted context omitted.

Nice but misleading graph. If you count the situations that lead to "No" you'll realize that all the "No" cases can be easily checked for, and if you're not in a "No" case then you're in a "Yes" case. Can probably be implemented in a regular function with about 30 lines of code?

You're glossing over the fact that in order to have all of those complicated notification rules that users expect, you have to allow the user to set all of those complicated notification settings. You have to give them the ability to subscribe to threads, set notification preferences for a variety of items (channels, username mentions, keyword mentions, @here mentions, etc), set DND and exceptions, etc.

And maybe write test code for "all" possible combinations of settings.
Post reply on HN