News for hackers. Stuff that matters.
Re:Overview of new features in Apache HTTP Server 2.6 by HNTA_1 on Saturday November 20, 2021 @07:06PM (#29292957)
It's been an interesting ride the past few years as a software engineering manager: many junior engineers have never developed or deployed anything that requires Apache httpd.

Some have never even heard of it, or seen it in the wild.

Re:Overview of new features in Apache HTTP Server 2.6 by alexpotato on Saturday November 20, 2021 @07:33PM (#29293077)
I've seen a similar effect with web design.

EVERY page (or site) seems to need a full blown NodeJS server install and tons of React/Vue etc.

Younger folks are blown away at how quickly I can develop a fully functional site with just Flask, good ole' HTML, basic CSS and VanillaJS using only a couple flat files as a backend database.

I could make a similar argument about complex Python or Golang scripts that are basically the equivalent of multiple bash commands piped into a one liner.

Re:Overview of new features in Apache HTTP Server 2.6 by dreyfan on Saturday November 20, 2021 @08:45PM (#29293459)
The toolchains to build and deploy a completely static site today are about 10x more complex than a fully dynamic python/ruby/php site a decade or two ago.

I genuinely don’t understand it.

Re:Overview of new features in Apache HTTP Server 2.6 by zmmmmm on Sunday November 21, 2021 @12:19AM (#29294373)
My analogy for you is a house that was built 6 inches to the right of where it should be. It's almost perfectly good. You can live in it. But there are these niggling things wrong. They will always be wrong. Over time, enough people say "hey if we just do this work, get this done, we can move the house". So finally some people actually do it - they move the house, brick by brick, 6 inches to the left. And hence end up with Webpack and npm and 1gb of node_modules etc etc. And the house is now 6 inches to the left. To many it looks identical to how it did before. But for those to whom it really matters - people who's quality of life depends a lot on exactly where the house is - it is a massive difference.

So many small things are just now better - aligned with what we really needed to start with. Whether it's the automatic reactive updating dev server, the fact I can embed CSS directly with my component and have it scoped there, or that I can use properly DRY CSS, or that I can unit test my code separate to the DOM, that I can build my pages in a truly "functional" way such that they are free from complex state bugs ... all these things are small ... but big.

Re:Overview of new features in Apache HTTP Server 2.6 by koprulusector on Sunday November 21, 2021 @01:14AM (#29294545)
Probably the single biggest thing in my own experience - and that the SPA naysayers or php/flask/ruby commenters miss, the ability to work on front end while the browser updates automatically, without a full page reload, and while maintaining state (for example, complex form fills), including layout/style changes (which are automatically scoped and vendor prefixed for you) is the single greatest time saver and ergonomic feature that at least for me, makes React + webpack + all the things they’re complaining about worth it over any caveats and/or benefits of “X instead.”
Re:Overview of new features in Apache HTTP Server 2.6 by jhgb on Sunday November 21, 2021 @03:27AM (#29294953)
Full page reloads seem like a red herring to me here. There doesn't seem to be a difference in feasibility of achieving these things between having and not having them.
Re:Overview of new features in Apache HTTP Server 2.6 by 1123581321 on Sunday November 21, 2021 @01:12AM (#29294539)
And to take this analogy further, adding HTMX to a traditional web framework or switching to Phoenix LiveView is like jacking up the whole house and moving it to a better spot in an afternoon, which is what my coworker’s family did to their first home the week they bought it after moving to the US. If you don’t know it can’t be done…
Re:Overview of new features in Apache HTTP Server 2.6 by porker on Sunday November 21, 2021 @04:15AM (#29295097)
> which is what my coworker’s family did to their first home the week they bought it after moving to the US

Tangential to this thread but... why? I'm asking from a country where that is not a done thing, and where heave and shrinkage under foundations cause enough problems without even thinking of moving them.

Re:Overview of new features in Apache HTTP Server 2.6 by 1123581321 on Sunday November 21, 2021 @04:30AM (#29295139)
They were Polish immigrants. I know part of the work involved the foundation but not much more. Obviously no time to expand a basement or crawlspace, if there was one. It sounds insane to me, too, but I'm the kind of person who waffles over which foundation engineering firm to call just to get an estimate.
Re:Overview of new features in Apache HTTP Server 2.6 by dreyfan on Sunday November 21, 2021 @02:19AM (#29294733)
Phoenix Liveview is far more similar to a python or ruby app. You just have a websocket keeping things synced perfectly and maintaining state.

It’s awesome, yes, but it’s quite orthogonal to the nodejs/npm way of doing things. It’s far better.

Re:Overview of new features in Apache HTTP Server 2.6 by 1123581321 on Sunday November 21, 2021 @04:50AM (#29295201)
I'm a big fan. :) I think many people would be happier making 'real-time' apps with the approach than with a messy JS stack.
Re:Overview of new features in Apache HTTP Server 2.6 by whoknowswhat11 on Saturday November 20, 2021 @09:45PM (#29293739)
Yep - we did a largish (300K user) site 18 years ago in PHP and static HTML. Was pretty high scale at the time with a lot of complexity and state (mysql with read replicas at the time). We didn't have concurrency totally solved but it wasn't critical and the thing ran great. If you looked at the html so so simple. HTML / CSS. I don't even think we did javascript at the time?

The toolchains now to just do the most basic form with a submit button - it's wild.

Re:Overview of new features in Apache HTTP Server 2.6 by memco on Sunday November 21, 2021 @12:27AM (#29294399)
> The toolchains now to just do the most basic form with a submit button

Oh how I long for a submit button and a form. I’ve worked on code where there’s just a bunch of divs and input fields: no form no action, no fieldsets, no labels, no submit button. I do not have words for the emotions it causes.

Re:Overview of new features in Apache HTTP Server 2.6 by still_grokking on Sunday November 21, 2021 @12:35AM (#29294426)
And don't forget what you paid back then for hosting.

Compare to all those Kubernetes clusters on the cloud for all those microservices that are totally needed today to operate such a large site for one third of a million users correctly.

And maybe it would make even sense to talk about build and deployment times back than.

Re:Overview of new features in Apache HTTP Server 2.6 by d00bianista on Sunday November 21, 2021 @06:08AM (#29295464)
Back in the day... I used to maintain and manually scale a platform that ran a regionally large social site. It was written in PHP, by two geeks in a dorm, served by Apache and had a single MySQL database and host, in a respectable datacenter. At it's greatest moment, it had a pair of keepalived-hosts in front of around 7 Apache hosts and still that single database host.

That was expensive, but not in maintenance. The amount of moving parts in that, compared to all the doohickeys of modern times, seems like 1:100.

As someone who understands very little of modern web-doohickeys, I'm very afraid of the direction we are going in and it seems like my job-security is quite high, because schools don't produce infrastructure people any more... Just happy-go-lucky developers who know how to run things on top of a credit card, on someone else's computer.

Re:Overview of new features in Apache HTTP Server 2.6 by tasogare on Sunday November 21, 2021 @09:19AM (#29296341)
> Just happy-go-lucky developers who know how to run things on top of a credit card, on someone else's computer.

Love that punchline, it summed it all.

Re:Overview of new features in Apache HTTP Server 2.6 by FpUser on Saturday November 20, 2021 @09:43PM (#29293726)
>"I genuinely don’t understand it."

There is no need to. It is insanity. Maybe using truckloads of complex tooling makes one feel smarter never mind that the final outcome is something akin to "Hello World".

Re:Overview of new features in Apache HTTP Server 2.6 by still_grokking on Sunday November 21, 2021 @01:08AM (#29294525)
Some, especially younger folks, sadly just don't know better.

Maybe we just experience now the same people back than experienced seeing the new generation using for example C++ instead of some "straight simple lines of assembly". On the other hand's side there is for sure complexity which you actually want to pay for. Whether such call is or isn't justified can't be known upfront often times.

Given that, my personal opinion on the state of web-development is that it's partly outright insanity for sure. Especially front-end things. Boy, it's just a GUI in the end!

Nobody should care about the code as it should be generated by proper design tools anyway. Coding such things by hand shouldn't feed a whole industry branch instead. Creating GUIs is a job for graphics and interaction designers. They should have gotten the proper tools to get their work done (mostly) on their own. If the alleged "GUI stack" used is so over-complex that it can't be handled effectively by design tooling it's a valid question whether that technology is actually the right tool for the job. But it seems almost nobody is asking this question any more. That's the insane part.

Re:Overview of new features in Apache HTTP Server 2.6 by FpUser on Sunday November 21, 2021 @02:17AM (#29294725)
>"Maybe we just experience now the same people back than experienced seeing the new generation using for example C++ instead of some "straight simple lines of assembly""

I do not think there is any similarity. Personally I've started with straight machine codes, never mind assembly. Still I gladly use any higher level tools as long as they benefit my ROI.

As for GUI - back in the 90s Borland had already shown how to produce stellar, easy to use performant tools for designing GUI apps.

JS public has had ages to come up with something resembling the same thing. Instead they've unleashed whole bunch of atrocities making themselves into their own victims with all signs of Stockholm's syndrome.

Re:Overview of new features in Apache HTTP Server 2.6 by denton-scratch on Sunday November 21, 2021 @05:41AM (#29295358)
> Personally I've started with straight machine codes, never mind assembly.

Me too - the first computer I used was an IBM Schools Computer. This was a thing a bit like an Apple I or something, but it had no assembler, no editor, no OS. To load a program, you typed it directly into memory in hex. I think (this was a long time ago) it contained an 8080. It had a TV output, and an integrated keyboard with flat membrane "keys". There was no storage - you had to copy stuff off the screen using a pencil and paper.

I expect it cost a small fortune.

[Edit] Apparently it wasn't an 8080, and it didn't take input/produce output in hex - it used decimal.

https://books.google.co.uk/books?id=2kMIqdfyT8kC&pg=PA242&lp...

I can't find much info about that thing.

Re:Overview of new features in Apache HTTP Server 2.6 by miki_tyler on Saturday November 20, 2021 @11:47PM (#29294257)
If only standard HTML would support templating we could get rid of 80% of the tooling, maybe 100%. In fact, if I had to choose between two super simple tech stacks for static sites:

1) HTML + CSS + JS

2) HTML + CSS + Templating system

I would pick 2) for sure.

This is basically why we are building kit55 (https://stack55.com).

Re:Overview of new features in Apache HTTP Server 2.6 by vbezhenar on Sunday November 21, 2021 @03:18AM (#29294929)
HTML supports some mechanisms to implement templates: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/te...
Re:Overview of new features in Apache HTTP Server 2.6 by miki_tyler on Monday November 22, 2021 @08:35AM (#29306143)
There is indeed a <template> tag in HTML but it only works inside the current loaded page, i.e. to render rows inside a table. You cannot use it to include a header or a banner. In addition, the the tag relies on JS to be rendered.
Re:Overview of new features in Apache HTTP Server 2.6 by bern4444 on Sunday November 21, 2021 @12:48AM (#29294469)
Templating engines are far less powerful and extensible than client side frameworks.

FWIW, there are many JS templating engines as well that work with NodeJS too. There are pretty obvious downsides to templating engines that libraries like React and Vue improve upon.

Using flat files as a backend database is great, but not scalable. Does everything need to scale, not always, but it's a lot nicer to have that option and to build it that way from the beginning. It's also ridiculously easy to do so today.

You'd probably be blown away how quickly someone can get a full stack website set up complete with user authentication/accounts management (including reset flows, magic links etc), database integration, front end system, CMS, component design system, and any other goodies.

All this is easily doable in relatively short amounts of time, and makes working with other teams - designers, product owners, marketing teams - so much easier.

Not to mention being able to do everything in a single language. That's a huge win. Engineers can hop around easily and have access to the same dependency management system, language features, etc.

Re:Overview of new features in Apache HTTP Server 2.6 by iJohnDoe on Sunday November 21, 2021 @03:02AM (#29294867)
@bernn4444

> You'd probably be blown away how quickly someone can get a full stack website set up complete with user authentication/accounts management (including reset flows, magic links etc), database integration, front end system, CMS, component design system, and any other goodies.

> Not to mention being able to do everything in a single language.

I’m interested in learning more about this, especially user authentication and and account management. Also, the single language appealing is appealing.

I’m from the PHP world of things and need to get experience with what the modern stuff you’re describing. Are there platforms or projects that provide the foundation of what you’re describing?

Re:Overview of new features in Apache HTTP Server 2.6 by pull_my_finger on Sunday November 21, 2021 @12:43PM (#29298088)
I've always felt the "one language" sell was fake news. The amount of difference between JS in the browser and Node.js is much larger than the similarity. The DOM and Node.js APIs are big and vastly different in scope and what they accomplish. Add to this all the weird incompatibilities like Node not having fetch, or the multiple accepted module patterns etc it's such a mess. Then you get people telling you JSX is "just JS" also, which is also not true. You have to make all kinds of goofy adjustments to even make it function as HTML.

I do agree that you can pump out sites quickly with a modern JS stack, but I definitely think there is room for improvement and it should be idolized as "good" or the way it _should_ be.

Re:Overview of new features in Apache HTTP Server 2.6 by bern4444 on Sunday November 21, 2021 @01:10PM (#29298307)
It’s very possible and easy to get everything working the same way on the client and server but I agree the whole import vs require support is frustrating.

I set my stuff up to always use import syntax over require now which is what typescript works best with.

Of course the APIs in node vs DOM are very different. They do very different things but the benefit comes from having the same language support, syntax, type system, and methods. Types can be shared across the client and server so changes on one side are immediately detected on the other. It is annoying there’s no native fetch in Node but there’s a east npm package to support isomorphic fetch (node-fetch)

JSX is “just js” in that they are compiled down to simple function calls (React.createElement), there’s just a nicer syntax but there are systems (hyperscript I think) that just export functions like h1(), div() etc that do the same thing.

Re:Overview of new features in Apache HTTP Server 2.6 by bern4444 on Sunday November 21, 2021 @01:18PM (#29298380)
For authentication I believe passportJS is still the go to library for integrating with oauth providers like twitter, LinkedIn, Facebook etc (or setting up your own username and pwd system). I’m sure there are several other libraries as well.

In terms of learning that and anything else, the best thing to do is have a project you can work on that supports these and other features. Pick a database (either sql or nosql), a login mechanism (maybe via GitHub to start if you’re building something aimed at developers), and build a simple todo app to start or something else you’re interested in.

The documentation for open source JS libraries tend to be excellent. There are many blog posts and articles as well.

Just go slowly. There’s a lot to learn on both sides (front end and back end) so don’t try to learn everything at once.

If you want to focus on the front end find client side libraries that maybe don’t need a server (googles firebase comes to mind).

If you want to do back end work, don’t focus on the front end tooling as much and just get enough running to hit your server and see data.

Re:Overview of new features in Apache HTTP Server 2.6 by capableweb on Sunday November 21, 2021 @05:30AM (#29295329)
> I’m from the PHP world of things and need to get experience with what the modern stuff you’re describing. Are there platforms or projects that provide the foundation of what you’re describing?

Clojure and ClojureScript is probably the best real-world and actually practical example of this in the wild. .cljc files can be loaded by any Clojure runtime, while .clj files are for Clojure and .cljs are for ClojureScript. Many of the libraries in the ecosystem all use .cljc, so you can use the same libraries both in the backend and in the frontend.

Re:Overview of new features in Apache HTTP Server 2.6 by saila on Saturday November 20, 2021 @10:35PM (#29293987)
I work with Node and Python regularly and I'm unclear on how a Node stack would be more complex than a Python stack. Isn't "just Flask," which is Python plus packages, equivalent to Node plus packages, both in terms of development and deployment?
Re:Overview of new features in Apache HTTP Server 2.6 by bern4444 on Sunday November 21, 2021 @12:56AM (#29294495)
Yes, to me at least. The parent comment maybe just knows flask very well and is more comfortable with it and less comfortable with JS. An equivalently proficient JS engineer would be able to do just as much in just as little time (and likely more anyway).

Personally I think JS is a much better language. Python is still recovering from the 2 to 3 migration. Meanwhile JS will always be backwards compatible and with TS is a great language to work in. Python still doesn't have a good type system.

Re:Overview of new features in Apache HTTP Server 2.6 by the_duke on Sunday November 21, 2021 @04:32AM (#29295144)
Python annotations actually provide a very decent typing layer. You have to use an additional tool to do the checks, there are much fewer third party typings, and the type system is definitely not as sophisticated as TS.

But Python code is also not as dynamic as JavaScript, so you can get most of the way with what's already in the standard library. (again, disregarding the missing pervasive typings for the ecosystem)

Re:Overview of new features in Apache HTTP Server 2.6 by rambojazz on Wednesday November 24, 2021 @11:06AM (#29331374)
> flat files

what file formats in particular?

Re:Overview of new features in Apache HTTP Server 2.6 by Abishek_Muthian on Sunday November 21, 2021 @02:54AM (#29294836)
I've not touched any standalone web-server like Apache, nginx over past two years for my web applications because Go's built-in HTTP server is production ready. It's one of my favorite reasons to develop in Go and makes portable deployment a breeze.

Lesser number of software to run on the server has resulted in predictable performance and larger savings on cloud costs.

Re:Overview of new features in Apache HTTP Server 2.6 by vbezhenar on Sunday November 21, 2021 @03:07AM (#29294887)
What makes a server production ready?

For me the reason to use nginx is ease of configuration. Recreating that kind of configuration in code is possible, but tedious and time-consuming.

Re:Overview of new features in Apache HTTP Server 2.6 by Abishek_Muthian on Sunday November 21, 2021 @05:31AM (#29295333)
Adding to what others have said, I mentioned 'production-ready' specifically because built-in http servers in programming languages are usually for testing and are not supposed to be used in production due to poor performance e.g. Python's http server and hence you'd require a standalone http server with python or Node.js applications.

In Go you can use default http server, multiplexer and router to serve your http requests directly to your application logic. It also has support built-in for Lets Encrypt SSL certificate via autocert covering all fundamental reasons you'd want a standalone web server for your web application.

Re:Overview of new features in Apache HTTP Server 2.6 by sjtindell on Sunday November 21, 2021 @03:55AM (#29295035)
Production ready things are scalable, you can make them highly available, and they are reliable.
Re:Overview of new features in Apache HTTP Server 2.6 by nix23 on Sunday November 21, 2021 @05:13AM (#29295273)
Microsoft wants to have a word with you.
Re:Overview of new features in Apache HTTP Server 2.6 by orf on Saturday November 20, 2021 @07:25PM (#29293037)
Is that unexpected?
Re:Overview of new features in Apache HTTP Server 2.6 by HNTA_1 on Saturday November 20, 2021 @09:22PM (#29293628)
Considering it still runs a large percentage of the WWW, I would say it is a bit unexpected.
Re:Overview of new features in Apache HTTP Server 2.6 by rbanffy on Saturday November 20, 2021 @07:34PM (#29293083)
Well… I was a bit surprised to find a Teams group about VMS application support in my company… perhaps I shouldn’t.

After all, we also have a lot of IBM mainframes being used too and, most likely, other exotic stuff in areas I don’t even know about that exist way above my security clearance.