Live data from Hacker News

30 years of tags

artmann.co

71–80 of 103 posts

Re: 30 years of <br> tags

#71
post #44

Earlier quoted context omitted.

The thing is, the browser needs the tree, but the server doesn't really need the whole tree. Building the tree on the server is usually wasted work. Not a lot of tree oriented output as you make it libraries.

My point is that treating it as the tree it is, is the only way to really make it impossible to produce invalid HTML. You could also actually validate not just syntax, but also semantic. > Not a lot of tree oriented output as you make it libraries. That was actually the point of my library, although I must admit, I haven't implemented actually streaming the HTML output out, before having composed the whole tree. It i…

There was a system with dependent types that ruled out invalid html at compile time, even dynamically generated html (rather than a runtime error, you would get a compile error if your code did something wrong)

https://github.com/urweb/urweb

http://www.impredicative.com/ur/

Needless to say it wasn't very practical. But there was one commercial site written in it https://github.com/bazqux/bazqux-urweb (the site still exists but not sure if it's still written in ur/web)

Re: 30 years of <br> tags

#72

> Every page on your site needed the same header, the same navigation, the same footer. But there was no way to share these elements. No includes, no components. That's not completely true. Webservers have Server Side Includes (SSI) [0]. Also if you don't want to rely on that, 'cat header body > file' isn't really that hard. [0] https://web.archive.org/web/19970303194503/http://hoohoo.ncs...

XSLT could have been the answer. But browsers are now dropping support for it.

Re: 30 years of <br> tags

#73
post #45

Earlier quoted context omitted.

PHP's initial release announcement mentions includes as a feature that can be used even if the server does not have SSI support: https://groups.google.com/g/comp.infosystems.www.authoring.c...

Does it, other than using PHP? To me it sounds like that feature to use instead of SSI is PHP.

I meant the "include" statement of PHP which you can use even if your HTTP server is not configured for processing SSI directives.

Re: 30 years of <br> tags

#75

Earlier quoted context omitted.

Not sure, why you are getting downvoted, as that was pretty much the case before HTML5.

Not one of the downvotes, but: as far as I'm aware, there was never any syntax which could be used for HTML transclusion in the browser. There may have been SGML or XML syntaxes proposed for it, but none of them were actually implemented in this context.

You can use entities to create static sites in advance, or by including support in the browser. sgmljs can do both, and simply using shared headers/footers for static site generation from markdown and other SGML partials is explained in [1].

[1]: https://sgmljs.sgml.net/docs/producing-html-tutorial/produci...

Re: 30 years of <br> tags

#76

> For that, you needed CGI scripts, which meant learning Perl or C. I tried learning C to write CGI scripts. It was too hard. Hundreds of lines just to grab a query parameter from a URL. The barrier to dynamic content was brutal. That's folk wisdom, but is it actually true? "Hundreds of lines just to grab a query parameter from a URL." /*@null@*/ /*@only@*/ char * get_param (const char * param) { const char * query =…

> That's folk wisdom, but is it actually true? "Hundreds of lines just to grab a query parameter from a URL." No, because... > In practice you would probably parse all parameters at once and maybe use a library. In the 90s I wrote CGI applications in C; a single function, on startup, parsed the request params into an array (today I'd use a hashmap, but I was very young then and didn't know any better) of `struct {cha…

Just FYI the 's got swallowed by the HN formatting and made the stuff inbetween italic.

  struct { char *name; char *value}
can bypass the formatting by prepending 2 spaces

Re: 30 years of <br> tags

#77
Good article! A few thoughts popped into my head while reading:

- My favorite deployment is rsync over SSH and occasionally, I still upload a file over SFTP.

- MongoDB will always AWALYS be in my mind as the buggy database that bought itself into dev minds with lots of money but ultimately was all hype and risky to use from a business perspective. Turns out, especially with the rise of TypeScript that most data has a solid structure anyways and while NoSQL has its places, most projects benefit from good old SQL.

- Slack launched in 2013? Man, time flies.

- I still hardly use Docker and just deploy straight to a VPS running Debian.

- I remember the first years of TypeScript, which were kinda tough. Many projects had no types. I sometimes considered to use one package over another just because they had proper types.

- VSCode is a good thing and if you don't go too crazy with plugins, it works stable and performant. I like it.

- Next.js gives me MongoDB vibes. An over-engineered, way too "magical" framework that hijacked developer minds and is built on the weird assumption that React, a DOM manipulation library, belongs on the server. I never got the appeal and I will just wait this out. Meanwhile, I'm having fun with Hono. Easy to build API-based backends as well as MPAs with server-side HTML generation, runs on Node, Bun, Deno and whatnot, feels lightweight and accessible and gives me a lot of control.

Re: 30 years of <br> tags

#78

Earlier quoted context omitted.

I think they meant that from a vanilla HTML standpoint

Sure, but later in the article it says that when PHP came out it solved the problem of not being able to do includes. Which again... server-side includes predate PHP. I think that this is just an error in the article any way you slice it. I assume it was just an oversight, as the author has been around long enough that he almost certainly knows about SSI.

I am off similar vintage to the author.

I have no idea when Apache first supported SSI , but personally I never knew it existed until years after PHP became popular.

I would guess , assuming that `Options +Includes` cannot be done by unprincipled users, that this being a disabled-by-default feature it was inaccessible to majority of us.

Re: 30 years of <br> tags

#80
>Suddenly every framework, in every language, was copying Rails. Django did it for Python. Laravel did it for PHP. CakePHP and CodeIgniter had already been doing something similar, but Rails set the template that everyone followed.

Nah son, I won't allow the great Symfony to be erased from history and replaced with Laravel. Not on my watch.

Post reply on HN