Reminds me of of good old PHP shared hosting days. It was so much fun to just write my code and then just drop the folder over Filezilla and everything just works!
As everything has become so complex people decided that the solution is to build containers that are even more complicated but you can move them around.
It starts to feel like there’s an appetite to try another way where you actually move around the stuff you created and not entire containers of your setup.
It seems to run only static content, it's going to be served by Netlify and only browsers will run the code. If that's really it, there's no need for containers here.
My thoughts exactly. This could be replicated by just taking the html, piping it to s3 bucket then create a dns record that points to it. No build nothing. Just html -> "server"
Last company I worked for pushed me on multiple occasions to install an FTP extension for VSCode that would upload files on save. Glad I got out, everything was a nightmare there.
I used to work like this in PHP at my first software job circa 2013. Wrote my own deployment tooling with all the warts you'd expect. Working this way is fine for simple setups but I'm glad I've moved onto saner workflows for my larger projects!
That's actually normal now. We've come full circle, but it's called "observability" - since you can't integration test the 100 microservices that you have (for no reason), just throw it into prod and see of anything turns red.
I'd suspect it should be possible to test those 100 microservices. If you can do something, then you can do it twice, especially if your automation is good. If you can't, then maybe some of the systems came together in a non-reproducible or undocumented way and it's time to clean up a little. If you know your traffic you can build load tests that simulate production use.
I am so glad I am not the only one. May be I will admit I am stupid. Because every time I think back everything was simple. It wasn't easy, some things was slightly tedious, but it was simple.
Now most of the time I dont have a clue why anything works. It is blackbox feeding into another blackbox which relies on another blackbox somehow we all agree that is how things should be done so we stick with it.
Big fan of Netlify and also their director of developer experience, Cassidy Williams. She's able to distill "life as a developer" accurately into memes. 'Tis a gift.
Her twitter with best memes: https://twitter.com/cassidoo
Recent interview: https://srcgr.ph/cassidy-williams
agreed. I make the same point about LEGO. whenever yet another person complains about all the big/special pieces that have become more common in recent years. Its like... do they realize we still have all the same basic rectangular bricks, plates and tiles we ever had? except in many more colors and variants and ponies and rainbows and BBQ etc etc etc.
The old web is still there for us, if we let it, just as the old LEGO is still. we simply have to choose them, and promote them, and build with them.
> I write my code in Sublime Text, then I test it on my laptop (I have NGINX locally, so I open nomadlist.test for ex), then if it works I upload it with Panic Transmit via SFTP.
My naive question is: what happens if one user (or more) is making a payment at the very exact moment the code uploading is happening? My naive answer is: I don’t know, it could crash (e.g., half the code base has been uploaded to the server but the other half is still being transmitted… but code in the first half references code in the second) or not.
Am I missing something? I imagine failures like this one are of no importance to the author (which is totally fine, trade offs I know).
The way it used to work was that the upload went into a copy of the website, ideally created on a COW (copy-on-write) filesystem to avoid copying files that hadn’t changed and then you would change an alias or hard link to point to the new upload after confirming it was all there. Existing transactions would continue using the PHP code or whatnot stored in a cache (e.g. xcache or apc cache, but the new code could be read in and then new incoming requests could switch over so the new code starts serving new incoming requests when the new page cache is primed. Fancy configurations might use sessions for this, if there was shared session state to migrate. That said… most of the time, most folks didn’t think much of the occasional 500 as something new deploys. After all, you refresh and it’s gone, most of the time. And your internet or computer or browser is often as much to blame for problems as the website deploy, if it affects very few users during infrequent deploys of changed pages. The more fun task was what to do about database migrations. The traditional approach is “just take the site down for a minute, nobody cares,” as I said…
Probably the third-party payment integration is available (that is not a single php uploaded manually :)). So either the api call goes through and it gets completed or it does not go through and no charges. As long as the whole payment is on a third-party (like Stripe) I do not think there would be an undefined state.
Yeah, I remember I used to work at a perl webshop, and I was experimenting with PHP.... I actually lost a half hour or so trying to figure out how to get my site to refresh and rerender, and it turned out it was! But it was so much faster than Perl that I assumed nothing was happening. Hey, I was young, don't be too hard on me!
There's a web framework performance comparison project out there that makes HN from time to time, and IIRC the findings have been you basically can't reliably beat PHP performance at serving dynamic web sites without resorting to a compiled language—and even then, it's far from guaranteed.
I haven't written much PHP in a long time, but I'd believe it. There are some really slow programs in PHP (Wordpress...) but the language is damn fast. Its tendency to be only a thin wrapper over C or C++, such that one rarely spends much time in PHP itself, is probably the main reason.
I'd absolutely believe that. A bigger contributing factor was that our Perl site was launching a process that parsed some libraries and then served HTML. While the php site was using a server extension that kept a parent process running and just spawned a thread for page requests.
Again, don't judge me - I was very, very young. :-)
I remember those days. Before framework were popular for PHP sites and SQL injection was not just possible but expected for anything that ended in .PHP or .php3 …
For what it’s worth, my favorite is Eleventy https://www.11ty.dev/ It has a plethora of templating options, and I find the dev experience to be very nice. It is very flexible, and does not force you to follow any rigid pattern, like many others do.
Review the list and pick something written in a language you're most comfortable with, which has a decent amount of stars indicating the dev/theme ecosystem.
Do the letters in Jam stand for anything like they do in e.g. LAMP? There was no acronym expansion or mention of the name's origin on jamstack.org's top-level page.
Edit: eventually found an original definition on Wikipedia: "Javascript, API and Markup (generated by a static site generator)"
Jekyll still fits the bill. It is simple, does data with collections, supports templates(which accept parameters and can thus be "component-ized"). It's also supported natively by GitHub which is a big plus, because you can hook up your repo to a custom domain for free too.
Hugo is absolutely fantastic and incredibly powerful. It's nowhere near as simple as was requested. It's the most setup of any of the SSGs worth using.
The biggest issue with Hugo for me was trying to create a custom theme (in order to get a stripped-down site without a bunch of BS), everything breaks if you don't arrange all the files exactly the way required by Hugo themes.
Once I got that, and learned some Go templating in the process, it's just markdown files, fire and forget.
Agreed. I have been using hugo for my blog https://erock.io and I still don't completely understand how it works. I just have enough to pattern match on to figure things out
Can confirm. Took me about 20 minutes last week to purchase a new domain, change name servers to Cloudflare, create a Vercel account, setup a project, add a custom domain, and then update A/cname records. I'd never used Vercel before then.
I've used eleventy (https://www.11ty.dev/) with Netlify and it was very simple.
Eleventy is the most featureful static site generator out there, but its probably the easiest to use.
I was completely confused with tailwind/headlessui when I tried out the Next.JS starter kit a few months ago. Then I slowly replaced my custom CSS with tailwindcss, and in about an hour only tailwind was left.
Something delectable about starting off "wtf is this stupid shit?" and ending with "it all makes perfect sense". Also heroicons.
Tailwind doesn’t work natively w Zola, but because Zola is so fantastic it’s super easy to use a makefile or npm build script or something and effectively bolt on the integration quite easily
Alternatively, you can use something like https://blot.im/ -
"...turns a folder into a blog... you put files inside your blog’s folder [and] they become blog posts."
Please please contact me. I’m working on something that’s even easier. It will be open source so this is not a marketing pitch. But it’s quite near the point where I would like outside eyes on it.
this was the OG iteration of Netlify called BitBalloon - visit a page and drip a folder in and have it be hosted. critically, you can do this without signing up first - which is nice for user acquisition
I've been looking for exactly this for a long time! I have also hosted a static (11ty) site on Netlify for a long time!
...and so I can't help thinking there's some dots not being connected somewhere, either in my brain (likely) or in Netlify's communication of their products and offerings (possibly?)
> Have you seen the little green locks on your browser? That means the site is safe and secure using HTTPS.
It's gray.
Not to be nitpicky - maybe it's just my OS theme (KDE Breeze Dark), but the HTTPS padlock is gray or dark-white in all three browsers I tested: Edge, Chrome, Firefox. Can anyone confirm?
This seems so clearly the right capability to offer with the right features incl. https and custom domains. Are there a dozen other versions of this already?
It will be. I remember Dropbox having this exact same feature in 2015. A dev once sent me a basic HTML prototype as a public Dropbox folder w/ CSS and JS and HTML files. It worked great.
Then one day, Dropbox shut down that feature. Pretty sure there wasn't any announcement.
And not really that different from the other free hosts out there (Github Pages, Vercel, Cloudflare Pages, Gatsby, Google App Engine). It's just easier to use.
More or less, yes you can do that. Netlify works well with git-ops and will automatically build and publish to your prod domain or hidden staging domains based on easily configurable rules. Their docs explain it pretty well.
Who is still making multi-page websites the old fashioned way? This won't even support PHP, so you have to update your menus manually across each page if you add/remove a menu item. I understand SSGs can create templates, but isn't everybody using Github pages to publish? Is a drag and drop solution the way to go to pull those users away?
I have a Digital Ocean droplet with PHP installed, so I can drag and drop a simple folder-based website and only update the PHP include files if there's a change that needs to be displayed sitewide.
SSGs seem overly complicated to me considering that most web hosts already come with PHP installed, and the main benefit of such sites (dynamic menus) can be handled by a couple of lines of code.
And here I was thinking PHP is definitely “the old fashioned way”.
There are tons of static site generators[0], and it’s fairly trivial to have a complex web app not require a hosted server since you can use local storage, web workers, Firebase, etc.
TBH I find it completely wild that someone prefers PHP to a statically generated site (Assuming you can get away with statically-generated). Just serving static files is way way way faster than running a backend, not to mention all of the process efficiencies you get by not having to manage servers etc.
When I update my blog (statically-generated), I add an .md file containing the blog post, commit it to git, and push it to a git repo. A quick CI/CD build fires off which generates the HTML (~1 bash command in a docker container) and pushes the static files to a file server. Easy!
I guess it depends on how a person started off with web dev. I have always made personal web pages directly inside an .html or .php site. Instead of "##", I used <h2></h2> and so on. I don't code for a living so my practices will seem pretty archaic because there's no git, no Webpack or script minification/Gzip involved.
I remember starting an Android course ~9 years ago and then giving up within the first hour because I could not configure the Eclipse environment properly. I think the same would have been true of web dev if I had to set up a Docker container just to get to "Hello World".
HTML has that "just works" quality that kept me interested in learning.
If you want to work with html files, you can always add a CDN link to something like Marked: https://marked.js.org/ You can enter the text of your post in markdown but it will be rendered as html.
Running PHP doesn't necessarily mean "managing servers", that's what hosting providers are for. And static sites have their own limitations, so it's not that surprising that people prefer the flexibility.
The normal way to publish is to point them (Netlify and alternatives) at a git repo and they pull, follow configured build rules, generating the resulting static site (then updating it whenever the repo sees new commits). This drop mechanism is likely just to draw people into the ecosystem by making it easily demonstrated, but clearly isn't a long term solution.
Drag/drop of php into a free service sounds like it likely wouldn't last long. You would have to spend a lot of time figuring out how to deal with resource use and security from your new customers.
Netlify raises $105M and acquires OneGraph - https://news.ycombinator.com/item?id=29253069 - Nov 2021 (100 comments)