Static Website Generators Are the Next Big Thing - <AUTHOR> http://www.smashingmagazine.com/2015/11/modern-static-website-generators-next-big-thing/ <comment><USER3> When I was heading up reliability at Netflix, we considered, and even began evaluating, turing the whole thing into one big static site. Each user had a custom listing, but generating 60+ million static sites is a very parallelizeable problem.

At the time, the recommendations only updated once a day, but an active user would have to dynamically load that content repeatedly, and at the same time, the recs were getting updated for users who hadn't visited that day. By switching to static, we could generate a new static site for you every time you watched something (which could change your recommendations), and increase reliability at the same time, so it would have been a much better customer experience. Unfortunately we couldn't get enough of the frontend engineers to buy into the idea to get it off the ground, and also they were already well along the path to having a data pipeline fast enough to update recs in real time.

<comment><USER4> I might be wrong, but I believe that 4chan does something similar to this: Every time a post is made, the board is updated and new static pages are generated. All the server does then is serve this static pages.

(I can't find any official reference to this though, but another user has referenced this some time ago: [https://news.ycombinator.com/item?id=8060200](https://news.ycombinator.com/item?id=8060200))

<comment><USER5> That's also how the most popular guestbooks and forums in the 90s worked. e.g., WWWBoard, which seemed to be used almost everywhere for quite a while. A perl script would generate a new HTML file and update the index HTML for each post.

<comment><USER6> The only trouble was they didn't do it atomically, so if two people posted at the same time everything would get horribly mangled.

There _was_ a reason we moved to database-backed sites.

<comment><USER7> I surely hope _that_ wasn't the reason.

</comment></comment></comment></comment></comment><comment><USER8> I'm not entirely sure they're the next big thing. More likely, is that 15 years ago, it was people who were used to static sites began moving to dynamically generated ones as sites became more complex. They were the new thing then. Now we have a load of people who have grown up with dynamically generated sites and are suddenly discovering the benefits of static sites - thanks in part to the proliferation of tools that are easy to use.

It's the usual boomerang cycle of discovery and adoption.

Both types of sites have their benefits and it's a balancing act to use the right tool for the job. It's getting this right that comes with experience and an understanding of the current pitfalls of each. It's the rough edges that push people in the other direction and without the experience of the pitfalls of each, it's inevitable that people start predicting that one solves all the problems facing the other.

I fully expect the usual over reliance on the wrong type of tech for the sake of it being the current hotness and then an over correction in the other direction the moment we have a new generation of developers.

<comment><USER9> 15 years ago the hot new general purpose CMS was Movable Type ([https://movabletype.org/](https://movabletype.org/)) which was... a collection of Perl scripts that ground out static HTML pages. In other words, a static site generator.

Then everybody got tired of waiting for their sites to rebuild every time they changed something and switched to WordPress, which wasn't static. Suddenly your changes showed up right away! Hooray! Then everybody got tired of WordPress falling over under any load stronger than a stiff breeze, so suddenly static site generators were in fashion again.

If you think of approaches to building a content management system as a continuum, with purely static at one end and purely dynamic at the other, you can see the entire history of the segment as a series of oscillations along that continuum. Each approach has drawbacks, but the drawbacks of the approach you aren't using always seem minor while those of the approach you _are_ using seem painful, so the market just bounces back and forth between them ad infinitum as people rush to discover if the grass on the other side of the fence is really as green as it looks.

</comment></comment><comment><USER10> Every time static generation rears its head, I'm reminded of Yahoo!'s ... unique... take.

Back in 2006 when I worked for Yahoo!, and they had a CMS / template management system called Jake that statically generated templates for the PHP- based frontend servers to evaluate at request time. The idea was that you put as much of your logic as possible into the template generation layer, leaving the request-time logic to handle the stuff that changed request by request.

Now, that all sounds quite reasonable, but the two layers were written in different languages. The pre-template-generation logic was written as inline Perl (plus a little custom syntax, because why not), while the dynamic frontend logic was written in PHP. Perl was frequently used to generate chunks of PHP code to be executed by the frontend servers, and sometimes this PHP code wrote chunks of inline JavaScript. To say that debugging said JS was fun would be an understatement.

<comment><USER11> Jake was built for news articles and prerendered all pages. News staff was able to quickly localize templates (10+ lanuages, 20+ products). That was 1999 when we didn't use Javascript or CSS, tested pages on Netscape Navigator 2 and WML (for mobile phones) became hot topic. Later Jake was misused for all kinds of other products mainly because of locali[sz]ation, permission management etc. Yeah, debugging was hard. It was the right tool at that point in time to handle high requests-per-second. Yahoo hired Rasmus Lerdorf and switched to PHP starting 2002.

<comment><USER12> > Yahoo hired Rasmus Lerdorf and switched to PHP starting 2002.

Well, that's a bit of an exaggeration. When I left Yahoo Europe in 2005, there was still Perl all over the place both in Europe and the US at least. I managed the Yahoo Europe billing system, and that was mostly Perl on the backend, for example.

[small world, btw., courtesy of some minor profile-stalking: I interviewed with Ed about a position a few years back; your service looks interesting - <USER2> have a client that might be interested]

<comment><USER13> Yahoo Europe's progress was from Perl generated static html, to Perl generated PHP.

What Rasmus' hire did was push Yahoo to allow server-side scripting languages on the web server. And that's where PHP was the blindingly obvious choice. (though, I would not be surprised if there was a bun-fight with mod_perl...)

<comment><USER12> In the teams I worked with, there was thankfully no Perl-generated anything (but I know my boss had to deal with that with a couple of the other teams reporting in to him). We had plenty of Perl on the backend, though, and the US billing team constantly breathing down our neck to do their OneRewriteToBindThemAll in PHP (they had been working on that for a while when I joined in 2003, and were still working on it when I left beginning of 2006; it was a laudable goal - there were something like 8 billing systems worldwide at that point - but it took them a lot of time to figure out how to unify all the international requirements).

The funny thing was that on the instances I heard Rasmus talk, he complained we were taking it too far - he wanted simple PHP templates, not the kind of large PHP applications the US billing team and others were doing. He sounded quite exasperated about it last time I was at one of his talks.

</comment></comment></comment></comment></comment><comment><USER14> The reason I like static site generators so much is because it allows me to treat my website as a program that outputs a website. Take some posts in whichever format you prefer, write a program to parse them as a tree of HTML nodes, insert them into templates for HTML pages, Atom feeds, etc. It's all just plain text code and markup, no stateful database with a dynamic web application in front doing everything.

<comment><USER15> Exactly.

There's a spectrum of evaluation strategies from eager to lazy. Programs may mix various flavors.

Lazy evaluation combined with memoization is a sexy and elegant approach to some problems, as are dynamic web sites. On the other hand, whenever possible to do so, it's hard to beat the speed and simplicity of handing over a precomputed answer like "42".

A (very loose) analogy:

Static generation of HTML is roughly like using Lisp macros to evaluate some things before runtime (at "expand time" or "compile time").

The resulting transformed code could be a simple literal like "<html> ... </html>". Or the code might need further evaluation at runtime -- which is roughly like the precomputed HTML containing JavaScript to do things at runtime.

<comment><USER14> Funny that you mention Lisp. I am writing my own static site generator (because there are so few of them and _everyone_ needs their own) in Scheme.

[http://haunt.dthompson.us](http://haunt.dthompson.us)

<comment><USER15> Cool. Mine's in Racket:

[https://github.com/greghendershott/frog#frog](https://github.com/greghendershott/frog#frog)

> (because there are so few of them and everyone needs their own)

A million monkeys.... :)

<comment><USER14> Oh, didn't know you were the frog author. Awesome!

</comment></comment></comment></comment></comment><comment><USER16> It's an interesting idea, and I see the appeal if the site is fairly basic, but I think there's one thing people are forgetting here.

You're outsourcing half your site to third parties, and basically letting them do whatever the hell they like with it. Disqus comments? Better hope the people behind that system don't decide to outlaw comments about the thing your website is about. Javascript embedded shop system? Good, so long as you don't need to modify the look very much and don't mind all your data being hosted in a different part of the world (like, the US for people in other regions).

And if they decide that all your data needs to be shared with the NSA or some other government organisation, then tough luck. If they hacked... well, tough luck again.

Without hosting such systems yourself, you're relying on a lot of third parties to be transparent, honest and respectful of your privacy (and that of your visitors). It's basically like a return to the days of free hosting and services like Bravenet.

<comment><USER17> Personally, I generally trust a third-party's shop system significantly more than I do something homegrown for a typical small business. Credit card security is _hard_. Why force everyone to reinvent the wheel?

<comment><USER16> Most card details are stored by payment processors, not your own server or a third party shop provider's servers. Paypal and Stripe and various others are probably more trustworthy than anything that stores the details with the shop itself.

But that doesn't really apply to a lot of things. Comments for example, do you really trust a third party more with those? Because if your site is in a grey area, then it's very possible their terms/country/whatever might require them to ban discussion of the topic. Self hosted means your rules, not a large corporation's.

Besides, any middleman is the weakest part of the chain if someone wanted to shut down a site or significantly cripple it without going through a court case. You may like controversy, but a large company would rather see the back of anyone that might potentially hurt its public image. We already see issues where internet mobs go after hosting companies and providers based on something someone said on Twitter. Every third party service is yet another potential target for them, and one that could buckle even more easily than the hosting company (especially if you're not paying for their services).

</comment></comment></comment><comment><USER18> I've been a fan of static websites for a long while now.

In addition to page load issues, they also more or less completely solve the Slashdot effect (aka the Reddit Hug Of Death, these days). A competently- configured Nginx server on a 512mb VPS, serving static-only content, will handle ridiculous amounts of traffic without flinching.

Ever since a front-page mention on BoingBoing took down my feature film BloodSpell's site immediately after release in 2007, avoiding server load on a site has been high-priority for anything I'm launching that is likely to have bursty traffic.

It's nice to see usable tools for managing larger sites with a static generator developing and becoming popular.

<comment><USER19> Do you - or anyone - have stats about the possible traffic demands of Slashdot/Reddit/HN front page stardom?

I'm very much in the Nginx/static camp, but it would be useful to know how bad the spikes can get.

<comment><USER20> I spoke with Alan Bellows from 'Damn Interesting'[0] on Reddit after his site hit the front page via a TIL post and he revealed a little about the traffic load.[1]

It was very interesting to see and was quite a lot of traffic for sure.

Bear in mind that the screenshot he posted is for concurrent visitors too.

[0] [http://www.damninteresting.com/](http://www.damninteresting.com/)

[1] [https://www.reddit.com/r/todayilearned/comments/3d3vct/til_a...](https://www.reddit.com/r/todayilearned/comments/3d3vct/til_a_scientist_let_a_computer_program_a_chip/ct2e8pl?context=3)

<comment><USER21> I had no expectation of encountering my own name in this context. If there is a German word to describe the thing my neurons just did, I'll bet it has a lot of umlauts.

<comment><USER20> Ha! Sorry! I know the feeling too, there's a guy who keeps a mighty big interest in a website I run and I stumbled on his catalogue of its/my goings on.

Hopefully this doesn't reach that level of awkward and your info was really cool to see in that Reddit thread.

<comment><USER21> No apologies necessary and no awkwardness implied--it was merely a surprise. A bit like being far from home and hearing someone shout my name.

</comment></comment></comment></comment></comment></comment><comment><USER22> People are finally starting to realize that CMSes are horrible. They got us through a time period where the front-end developer is a scare resource, but now there's enough of them everywhere that we don't need WYSIWYG web content anymore. CMSes are eventually going to be relegated to the sole proprietor who doesn't want to learn HTML but still needs to maintain his / her own content- oriented website.

My company is handcuffed to a legacy custom CMS that's still using Rails 2.3.8. We have no need for it, as we have a front-end guy who would be perfectly comfortable using git, as he has me to ask whenever there's a problem. When you use the database to store content, you lose a great number of useful properties. I had to build a custom tool to search through the entire database to find encoding errors. And I had to keep re-adjusting it every time I found some hiding somewhere. It was annoying and painful. Content is code, not data, it needs to be managed like code.

<comment><USER23> Couldn't disagree more. CMSs enable non-developers to publish good-looking content, which is basically what the web is. You can have a small army of 10-20 writers and 1-2 front end devs styling templates for them. It scales, and it makes sense.

Content is certainly not code; it does not get compiled, it contains no logic. At best content is a property of an object with its structure defined in/as code.

<comment><USER22> > CMSs enable non-developers to publish good-looking content, which is > basically what the web is. You can have a small army of 10-20 writers and > 1-2 front end devs styling templates for them. It scales, and it makes > sense.

Assuming that the content you're publishing is primarily writing, then yes, that makes sense. But most companies on the web are not primarily blogs or news. Hell, even the way news is going, a lot of these Snowcrash-type (or what was that famous NYT article called?) articles are too complicated for a template-driven workflow.

The company I work for is a marketing company, it primarily uses the Internet for e-commerce. Our marketing team gives their ideas to our front-end guy, including mock-ups and copy, and he goes ahead and makes all the HTML/CSS.

I think most companies on the web wouldn't be able to tell the difference between a static site and a CMS, because non-technical people won't even touch an admin back-end anymore. There's just too much to screw up to leave in the hands of a non-professional.

<comment><USER24> The article you're thinking of was "Snow Fall".

[http://www.nytimes.com/projects/2012/snow- fall/](http://www.nytimes.com/projects/2012/snow-fall/)

</comment></comment></comment></comment><comment><USER25> The thing that always pulls me back to wordpress is the ease of creation and hosting. Drag an image into your text, and _pop_ it's uploaded, hosted, and linked to. Write something in the interface and _bam_ it's online and reliable. Every static site generator I've played with (And there have been TONS), solves 80% of the problem.

I'd love an app that gave me that ease of hosting and creation and generated a static site from there (hook it up to an S3 bucket or something). I'd pay for sure.

Currently I'm using Nginx w/ SSIs for lightly dynamic sites. Works well enough and is very very simple.

<comment><USER26> Have you tried Webhook?

[http://www.webhook.com/](http://www.webhook.com/)

<comment><USER27> Lest you close it after seeing the dollar sign like I did:

Keep reading, it's just the _optional hosting_ that's paid, the software itself is open source.

</comment></comment></comment><comment><USER28> FYI: I've put together a showcase of the world's greatest static sites [1] (using the Jekyll machinery). Examples include: Bootstrap, Google Polymer, Facebook React, Open Data Handbook v2, PHP: The Right Way and many more. Cheers. [1]: [http://planetjekyll.github.io/showcase](http://planetjekyll.github.io/showcase)

</comment><comment><USER29> I love pelican as a generator, it's great

The one static generator I wish there was (unless there is one and I just haven't found it) is one that would take a tree of code files and display it kinda like github does, in a browsable file browser hierarchy with syntax highlighting when drilling down to individual files.

Kind of like a precompiled static file browser, there are several dynamic file browsers around but they all require server-side code (php usually) to do the directory listing and so on, but I think it should be possible to precompute all the directory display pages with symlinks to the individual files, and do the highlighting in those in JS/CSS

I might end up writing this at some point as it's definitely an itch I'd like scratching unless it does exist already and somebody kindly points me to it

<comment><USER30> There are a few projects that will take a tree of source code and generate HTML, like LXR:

[https://en.wikipedia.org/wiki/LXR_Cross_Referencer](https://en.wikipedia.org/wiki/LXR_Cross_Referencer)

And I think there is one for GNU GLOBAL. The point of these is usually the cross references, not necessarily making it pretty though.

</comment></comment><comment><USER31> The only problem I feel this really solves is caching, and for that specific problem, generating static pages may be a (work-aroundy) solution to consider, but in general I don't think static website generators are going to be the next big thing...

When you look at page speed, not much of the slow-down is from servers delivering pages, but browsers having to digest HTML/CSS/IMG/JS

I guess it all depends on what you are trying to achieve. Thanks as always for the article, interesting to see someone taking this with both hands.

<comment><USER32> I think you're vastly overestimating how well engineered most SME web- platforms are when you say that the client-side is slower than the server side. There are a huge number of server-side asp.NET webforms/JSP/php sites out there which are far slower server side than client side.

And it's not just legacy code, new applications in 2015 are still using those mostly server side technologies without too much done on the front-end.

<comment> UK-AL And thank god, these new js heavy frontends really hammer the performance of browsers and are often buggy.

</comment></comment></comment><comment><USER33> I can't wait for ghost's API.

I've been following their repo for a while, hopefully by next year they'll be far along for it to be usable.

Ghost has an excellent editor and it would be awesome to have a static site built in any way you like that links straight to your blog posts via API calls.

They have a trello card that mentions it [https://trello.com/c/QEdjRlgK/67-open-public-api-via- oauth-a...](https://trello.com/c/QEdjRlgK/67-open-public-api-via-oauth-and- same-domain-read-only)

and are working on it as we speak :) [https://github.com/TryGhost/Ghost/issues/4004](https://github.com/TryGhost/Ghost/issues/4004)

I know there's a wordpress API as well but I find wordpress too bloated IMO.

</comment><comment><USER34> I've only done static websites for a long while now. I created ThinCMS as a browser-based tool for building and publishing static web sites. It came about after I learned XSLT well enough to bend it to my will. I used it to build several public and private web sites, including two iterations of longwoodgardens.org (they've since moved to Drupal) and pittsburghtoday.org (where it is still used). XSLT ( and probably other static templating engines) is perfectly capable of generating complex nested navigation. The templates themselves are nested three layers so as to keep things DRY.

The PittsburghToday site is representative of the idea that a static web site is only static in the technical sense of the back-end content serving. The front-end is still dynamic since the data for the charts is being obtained from Google Docs and the Twitter feed from Twitter, etc.

I always felt like the odd man out, so I am glad to see strong interest in static web sites nowadays.

<comment><USER34> Now days I'm experimenting with client-side nested composition with HTML includes. But I'm also giving ASP.NET MVC 6 a spin.

However you go about generating the HTML that a visitor sees, you still have to content with how to create tooling that satisfies content authors. My position has always been "use whatever tools you want - I'll figure out an automated scheme to convert it". I think that with static site generators it is easier to have that separation of authoring and publishing.

</comment></comment><comment><USER35> As the primary maintainer of Pelican, a Python-based static site generator, I've given several talks on the resurgence of static site generators and in which cases they are (and are not) a good fit.

My most recent talk was two weeks ago at PyCon Japan. Following are my slides for that talk, in case that's useful for anyone who wants to get a better understanding of SSG history and advantages/disadvantages: [http://justinmayer.com/talks/](http://justinmayer.com/talks/)

Also happy to answer any questions here, of course. (^_^)

</comment><comment><USER36> I've been using static site generators a lot for client work over the last two years. I started off with Jekyll, but unless you are having under 100 pages, the build process gets painfully slow (trust me, I have micro-optimised).

I've since started using [http://gohugo.io](http://gohugo.io)

It's lightning fast with 1000s of pages, and quite easy to pick up.

<comment><USER37> I tried both Hugo and node.js-based Metalsmith[0] for a new version of my personal website that I launched just about a month ago. Ended up choosing Metalsmith because of its super minimalist everything is a package approach, but Hugo looked super nice too.

What I like about Metalsmith is you build you own workflow. A basic installation does nothing but copy files from the source directory to the destination directory.

I'm working on a beginner's guide to Metalsmith right now, in fact!

[0]: [http://www.metalsmith.io/](http://www.metalsmith.io/)

</comment></comment><comment><USER38> I would be equally interested if the article was titled "Why Static Website Generators Are Awesome". They are not the "next big thing", they've been around for years.

<comment><USER39> The next big thing doesn't mean they are new though, just that they will be the next thing à la mode.

</comment></comment><comment><USER40> I am working on a project, [http://blogful.me](http://blogful.me), that combines a hosted static blog generator with a solid admin backend including post syndication, an embedded analytics dashboard, authoring tools, and an API if you don't want to use the frontend.

There definitely appears to be a lot of interest in this space because you get the best of all worlds. Static site generators definitely seem like the way to go for all but actual web applications.

</comment><comment><USER41> I'm still looking for a static site generator that's as easy to use as Wordpress (so with a UI, not markdown). Anyone know of something that fits the bill?

<comment><USER42> If you're looking for a static site generator that's as easy to use as Wordpress, you could consider using Wordpress. Wordpress caching plugins can generate static HTML which then gets served to visitors directly by Apache or Nginx, without hitting PHP at all.

<comment><USER43> ...and this is why we're not moving to SSGs even though this almost exact article gets posted monthly here.

Its trivial to put in a cache level that generates and stores static html in from of WP, Drupal, etc. So you get both worlds; the tools that dynamic CMS's give you and the performance of a static site.

I think it took me 5 minutes to install varnish on a WP server I have. Varnish delivers these pages straight from ram. My page load performance is fairly absurd. If that's too technically daunting or your webhost doesn't support varnish, totalcache is also good. Boost for Drupal is good too.

<comment><USER12> It's far from optimal for deployment, though, as you still occasionally depend on that WP site, and then have the hassle of handling availability etc.

I wish more CMSs would support exporting all changes directly, so that you could e.g. rsync the sites out to edge servers or a CDN and be able to use it for full failover too without suddenly having stuff expire from the caches at the most inconvenient times.

Movable Type used to be able to export everything to flat files, for example (though, I guess more out of necessity back in a world where not everyone would have a host that could/would provide PHP).

I just started redoing my blog to iterate over all the pages and wrapping my Sinatra app to fake requests to generate a full static copy that way. Lets me optionally serve it up dynamically when writing, and then generate a static copy. It's just a few hours dirty hack for now, but I'll be doing this more often - it's so nice to have most of the content completely stateless.

</comment></comment></comment></comment><comment><USER44> When I worked on a video search engine for UK football (soccer) clubs, we made the whole thing static.

We figured that inputs to the search was from a static range, i.e. these players, those games, that league, this type of incident (foul, goal, celebration, etc).

Then we pre-calculated all possible combinations and fired them through what we called a "cache cannon".

It was highly parallelizeable, simple to store on disk (we stored JavaScript files whose names were the form inputs), and worked extremely well.

Even for something like a search engine, unless you're doing full text search over a very wide corpus, you can look at pre-populating a cache and that cache actually being stored on your web servers and being directly addressable.

The design above, allowed that search engine to work over the weekend peak of 2 million users. That's where it shone... we just did not have to worry about the thundering herd with a pre-populated cache.

</comment><comment><USER25> ... because Javascript and external APIs can now do so much.

If I can do everything with JS on the visitors browser, why not host some shell HTML on S3 and never worry about a server? Maybe hit AWS Lambda if need be for one specific thing? Dunno. The age of the do everything server seems to be coming to a close.

<comment><USER45> Progressive enhancement truly is dead. :(

</comment></comment><comment><USER28> FYI: Join the "movement" and start a static site user group. For example, I've started the 1st one in Europe, that is, Vienna.html [1]; others in the U.S. include Static Web Tech in San Francisco [2] and {Static is} The New Dynamic in New York City [3]. Cheers. [1]:[http://viennahtml.github.io](http://viennahtml.github.io) [2]:[http://www.staticwebtech.com](http://www.staticwebtech.com) [3]:[http://www.meetup.com/The-New-Dynamic](http://www.meetup.com/The-New- Dynamic)

</comment><comment><USER46> Ok, "static" here means no RDBMS-backed website. But you can still use statically generated JSON resources from a db once off. These resources can then be "filtered" and "combined" without the need for databases (not using the words JOIN or WHERE carefully).

Sounds like a great idea to overcome the need to obsess about connection multi-plexing.

<comment><USER47> "Statically generated JSON resources" implies client-side rendering, and I suspect you'd find some disagreement over whether that's really static. If there's only one such resource per page, then maybe, though you'd still be losing some advantages wrt caching. If the JS running on the client has to fetch many such resources and stitch them together, then it's functionally equivalent to a standard dynamic website and shares many of its drawbacks. Sure, you distribute some of the top-level logic to clients, but the server still has to find each of those individual resources and that's basically the same load as a DB (if not worse as files).

The reason many people (including me) have gone to static generators is not just the _static_ part but the _generator_ part as well. It's not just static but preprocessed, no further operations necessary except to deliver dead bits. That captures _all_ of the caching, security, and other advantages in a way that hybrid approaches tend not to.

<comment><USER48> How do you figure that loading a static file is the same as a DB query? Even if the actual finding of the bits on the hard drive and sending them across the wire is close to the same, you don't need a database running. You get to shut down an entire process, or depending on your architecture, an entire server.

Heck, once CDNs and caching get involved, I wonder how many requests will even hit your HTTP process at all.

<comment><USER47> Loading the _set of_ files needed to satisfy a request is equivalent to a database query. Databases and file systems have to deal with similar issues when looking up a single item, so there's a clear correspondence there. The difference is that a database can do a JOIN but a file system can't (directory traversals really aren't equivalent). In that case any such logic would have to be in the client-side JS, fetching objects and quite likely imposing even more load than an SQL query would have. Being able to shut down that database process is good in a lot of ways (especially security) but reduced total load isn't necessarily one of them. You might just be shifting load to the the web server and file system. That's why I said the _generator_ part is as important as the static part. That solves the result-aggregation problem at edit/compile time instead of request/run time, which is good regardless of whether the back end is a database or a file system.

<comment><USER46> The loading of static files for HTTP is significantly different from accessing the same data via databases. The biggest difference is the need for a CLI (call level interface) connection object in db access. And those things are resource hungry operations (authentication, prototocol management etc). Most times you have to pool connection objects which in itself is a resource cost.

The DB is truly the scalability bottleneck.

<comment><USER47> The overhead you're talking about doesn't seem to be in the database itself, but in crappy (possibly language- or framework-specific) interfaces to them. That's an application issue, and I was talking about system issues.

</comment></comment></comment></comment></comment></comment><comment><USER49> That's the cool tool they used to test the performance of the site:

[https://performance.sucuri.net/](https://performance.sucuri.net/)

</comment><comment><USER50> You know what I've always wanted, but my searches have led me to believe that it (inexplicably) doesn't exist?

I want a simple site generator. I don't want markdown, I don't want a fancy templating engine. I want some simple templating system that takes in normal HTML and generates pages from simple templates I define. I want to shove in some arbitrary HTML and have it spit out a site using some base templates.

To the best of my knowledge, that doesn't exist. It would be perfect for someone like me who wants to keep a website updated, but doesn't always want to run PHP on the server for something as simple as that.

I implemented a shoddy version of it on my own, but it's far from ideal. I'm pretty astounded there's not a well thought out version of it out there, considering how useful it seems it would be.

<comment><USER51> Have you tried Middleman (mentioned in the article)? I've used it for a few years and found it incredibly simple.

[https://middlemanapp.com/](https://middlemanapp.com/)

I built a very simple admin-interface with it,

input: [https://github.com/lms-io/scormfu- admin/blob/master/source/i...](https://github.com/lms-io/scormfu- admin/blob/master/source/index.html.erb)

output: [https://github.com/lms-io/scormfu- admin/blob/master/build/in...](https://github.com/lms-io/scormfu- admin/blob/master/build/index.html)

<comment><USER50> That looks exactly like what I was envisioning. Thank you so much!

</comment></comment></comment><comment><USER52> Anyone remember Noah Grey's "Grey Matter"?

It was an inspiration to what became WordPress

[https://en.wikipedia.org/wiki/Greymatter_(software)](https://en.wikipedia.org/wiki/Greymatter_\(software\))

<comment><USER53> I do remember Greymatter when blogging was young, it was Perl-based and it was mostly replaced by Movable-type, also Perl-based before WP finally came to dominate the scene. Textpattern was also popular for a while. I believe Wordpress derived form ExpressionEngine?

<comment><USER54> WordPress derived from B2.

</comment></comment></comment><comment><USER55> Most of the static site generators have serious usability problems. They are simply not usable for many users using WordPress today.

<comment><USER56> Usability problems like what?

<comment><USER27> > Usability problems like what?

Understanding of the command line, delayed WYSIWYG feedback loop, FTPing/synchronizing files. Some generators don't even tackle "pretty, easy to install templates a la Wordpress" either.

All surmountable, but I haven't seen an "all in one, easy to use" fix yet.

I'd love if I could recommend a single client-side app for people to use that did it all. Something like Coda but tailored for beginners?

<comment><USER57> Frankly, I'm not sure it matters. Give the average user a CMS with a WYSIWYG editor and you soon end up with a hodgepodge of fonts, sizes, eye-jarring colors, general inconsistency, and 2MB images rendered as 48x48 icons.

<comment><USER27> Yeah, and the point is, they were able to _accomplish something_...

I'd be surprised if those same users could even manage to create a single, text-only post in most (pre-setup!) static generators.

Never underestimate agency. A working, ugly solution beats the hell out of a better solution that they can't understand.

</comment></comment></comment></comment></comment><comment><USER58> I think that Static Website Generators, aren't by them self the next big thing. Mostly is about how the codebase influence on the content of the website, and use the the power of the existing versioning tools is indeed an advantage. Instead by them self are quite limited.

IMO, they are the next big thing if their are contextualised in Micro Service Structure, so that's why I build Monera - [http://github.com/Ideabile/monera](http://github.com/Ideabile/monera)

What you think?

</comment><comment><USER59> Haven't done any benchmarks myself, but I'd be keen to find out if a static site loaded up with JS design elements, a product store, comments and analytics code would load any quicker than a CMS with PHP caching, system caching and microcaching to handle bursts on a lightweight webserver such as Nginx.

The article is frustratingly biased in this regard. Static sites should just play to their strengths, otherwise you probably want a CMS that will act like a static site when it needs to.

<comment><USER60> It's not even about performance as it is about security. Imagine having to install only basic web server, with no database server and X language interpreter.No need to worry about sql injection and such. And you get performance boost for free.

<comment><USER59> Accepted that SQL security is pretty optimal with statics. How about security of your data when buying through 3rd party JS stores, commenting through 3rd party add-ons, being tracked by 3rd party snippets, etc.

Hard to deny that the additional functionality most people end up wanting beyond a simple online journal brings additional security risks, whatever the framework.

</comment></comment></comment><comment><USER61> I agree with the article and think static web sites is the way to go if the read/write ratio is high, and where the view is not unique to the user.

However, quote > "The static version is more than six times as fast on average!"

This must be an engineering problem, especially on easily cached content. Serving static web sites Does require computation. But the current tools are very well made and optimized for it, witch is not the case with most CMS systems.

<comment><USER62> I've done lots of these kinda performance tests against all kind of dynamic sites, and higher end managed hosting services like WPEngine, etc...

Once in a while someone manage to get CDN hosting just right, but it's really rare, and it's not something you can simply automate with a dynamic site (like we can for static sites with netlify). Typically the result is identical to the Smashing Magazine Site, often a lot worse. Smashing does a good job of caching at their origin datacenter, but their HTML doesn't get cached at edge nodes. Many other sites does a far worse job of caching at their origin.

It might be true that to some degree it's an engineering issue, but if it's one that hits 95%+ of all sites built with a dynamic approach and can be completely eliminated with a static approach, then obviously it might be better to shift the balance and default to doing thing statically instead of reaching for Wordpress/Rails/Drupal/whatever for each new site...

<comment><USER61> I think CDN is over-kill/hype. If you do everything right, all you get is better latency.

If your dynamic site loads slower then a static site, you are probably doing needless database round-trips, redirects, synchronized writes, or html rendering.

<comment><USER63> Yeah, caching HTML directly on a CDN basically only gives you better latency.

..Which in turn gives you better page rank. ..Which gives you more traffic.

But that's it.

..Well besides that it also gives you lower bounce-rate. ..Which means higher conversion. ..Which means higher ROI.

So there's that.

:-)

<comment><USER61> That is best case scenario ... But probably a premature optimization. You also have to look at time to first byte, total time, and client rendering time.

If it takes like ten seconds to render the site on the client, then 10ms gain on connection time wont help much.

Test tool: [http://www.webpagetest.org/video/](http://www.webpagetest.org/video/)

When all css, fonts etc are cached on the browser client, then there's almost no gain with CDN.

</comment></comment></comment></comment></comment><comment><USER64> I am working on Open Source Static Website Generator/Manager for College Professors to create/manage course webpages. Its actually a Desktop App which runs on windows, linux & Mac and can directly push the webpages created to Github-Pages, SFTP Server. Do check out the project at [https://github.com/navya/Kalam](https://github.com/navya/Kalam) .

</comment><comment><USER65> "With the maturation of browsers, many features that used to require dynamic code running on a server can be moved entirely to the client. Want comments on your website? Add Disqus, Isso or Facebook comments. Want social integration? Add Twitter or Facebook's JavaScript widget to your website. Want real-time data updating live on your website? Add a squirt of Firebase. Want search? Add Swiftype. Want to add live chat support? Olark is there. Heck, you can even add an entire store to a static website with Snipcart.

The list goes on and on, as a whole ecosystem of purely browser-based add-ons to websites is emerging. Apart from that, modern web apps built with Ember.js, AngularJS or React are often deployed entirely as static websites and served directly from a CDN with a pure API back end that's shared between the website's UI and the mobile client."

\--

I'm not sure I understand. It doesn't seem to me that a fully single-page, AJAX web site is truly "static". If much of the utility and content must be paged in via client-side JS calls, that too will contribute to load time and the same problems that are attributed to dynamic document generation. It may be all asynchronous and fancy, but from a UX point of view, the content isn't there until the data's retrieved. How's this any different than arguing for a grid of IFRAMEs?

After all, if your page is a minimal HTML DOM harness for a bunch of JS, can one really be said to have "loaded" the page simply in virtue of having loaded the stub HTML?

Or is this argument based mainly on either the implicit premises that (1) not all the functionality and components are used at once? or (2) that much of any given site's functionality can be off-loaded to third-party components (e.g. Disqus) which can all be loaded in parallel from different network sources?

</comment><comment><USER66> I host my company's web site on AWS Cloudfront using my homemade static website publisher which minifies my JavaScript's ,css and html and gzips them before pushing to Cloudfront . The pages load fast but the downside is making changes to page like fixing typos is not as simple but that probably an issue with my generatorvas well as Cloudfront cache configuration. I don't use Jekyll or Hyde or other static publishers because I wanted to write one in clojure and I figured I could write one in clojure faster than what it would take me to learn jekyll etc. You can check out and (critique) my website by visiting [https://www.videocloudmanager.com](https://www.videocloudmanager.com). I run business video hosting service.

<comment><USER59> That page needs a proofread! Hope it's not causing you to lose conversions there. Nice and snappy though, seems like you did a good job with the generator.

</comment></comment><comment><USER67> One static site CMS that I know of is: [http://www.webhook.com/](http://www.webhook.com/)

It's open source. Design and content is edited collaboratively and it deploys a static site.

Are there any other CMS systems designed to deploy static sites?

</comment><comment><USER68> I think you guys are thinking small when thinking about a static site. Change the content dynamically with Javascript only is still considered a static website, this doesn't make the frontend static at all, it's very dynamic! But no more need for PHP, Perl, etc.

Best Regards

</comment><comment><USER69> I do something I call Dyna-Static.

I can run a static page off an Apache (or any wwwserver) instance. Just chuck files in /var/www/ where you want them.

Now where it gets interesting is I use Node-red to generate the pages; content and all. I want headers? It's a variable. I want ads? It's another variable Google provides. I want chat? Easy ( I can do it with nodered or 3rd party). I can bridge that webchat with my or someone else's IRC room.

Now, I can script it so the pages are updated from nod-red server to webserver. They can easily sit on the same box, as node-red takes few resources.

And the kicker is that I could get that done in an hour or so. Check out Node- Red . It really is that amazing.

</comment><comment><USER70> I think static site generation will simply be a feature of a build tool like Webpack or Gulp, maybe as a plugin, and either way there will be an api for developers. Or it will simply be part of a larger build chain / automation system somehow.

Static site generator doesn't mean there's no backend. A website is called 'dynamic' when its operation depends on communicating with a server. The JS logic delivered to the client can range from animation to async http requests.

The distinction between "static site generator" and Webpack / Gulp is very gray. It all depends on what you want to do with your client-side JS logic.

</comment><comment><USER71> Sadly, I think it will never work for end users. I myself also don't update my blog very often, partly because writing new posts is still too cumbersome (with Jekyll). I am a developer, but I don't use Markdown and Liquid (or what was the name) on a daily basis, so I still have to look things up when writing.

Now I tend to think that the best way would be to use a random CMS (like Wordpress) and mirror it's output as a static site. That way, the dynamic part the end user uses for creating content could be behind some secure login-wall, and the public site would just be static.

As for comments, I guess they just won't be supported.

</comment><comment><USER72> I think the simplest static site generator is a command that visits all of your routes and saves the response html into a `build/` folder.

That way you can use whichever framework/stack/templating/database you're already familiar and productive with, and in the end you're just deploying a static build folder from localhost.

I started doing this when it came down to hacking Jekyll to implement something that's trivial to do in a microframework, so I went with microframework + page caching. I do the build and deploy with a gulp task that I'd like to generalize into a gulp module.

<comment><USER73> I would suggest keeping it simple and scripting wget instead: [https://www.gnu.org/software/wget/manual/html_node/Following...](https://www.gnu.org/software/wget/manual/html_node/Following- Links.html)

Often all that is needed is -r --no-parent

</comment></comment><comment><USER74> To an extent I agree I think we are just getting better at recognizing the security and performance optimizations that are staring us in the face when content doesn't change rather than having complex websites completely static as static site gens do. I think we will see an increase in static elements mixed with dynamic elements in a more comprehensive way.

\</comment><comment>

I host 10s of more or less static sites (Contact forms being the most dynamic elements) which are generated on the spot from one PHP (laravel) installation.

Anyone know the best way to cache the html/css statically to serve?

</comment><comment><USER75> Partition template parameters into request-dependent and request-independent sets. Memoization with persistence of the request-independent template instantiation. "static" then is the special case of no request-dependent template parameters.

I think I'll write an article "pure functions with memoization are the next big thing!" Except they are not "new" because they've been around for decades. The only difference is the Web 2.0 uberkids haven't "discovered" the concepts yet.

</comment><comment><USER76> ... Next Big Thing For Minimally Dynamic Sites

If your content doesn't change frequently and/or the costs of regenerating the static content is minimized for you, great.

At what point do we see static sites take a fair share of the top-X-trafficked sites? Top 100? 1000? 1,000,000?

This is probably great for a small corp's info site... but then the client asks for a contact form or members/admin secured area, and there we go down the rabbit hole again.

<comment><USER77> > At what point do we see static sites take a fair share of the top-X- > trafficked sites? Top 100? 1000? 1,000,000?

Honestly, most media sites could (and probably should) be static. Think of Time, or Cracked, or CNN: a lot of content, which could be regenerated once and viewed by millions of people per regeneration. Comments could be grafted in with JavaScript (which would suit me just fine, since I don't read such sites for the comments anyway).

> This is probably great for a small corp's info site... but then the client > asks for a contact form or members/admin secured area, and there we go down > the rabbit hole again.

It's not an all-or-nothing thing; a web server can serve both static and dynamic content, after all.

</comment></comment><comment><USER78> Think of web app architectures like data structures. Most websites should be optimized for reading, not writing. Static site generators are very optimized for reading, not writing. Wordpress sites, on the other hand, are more optimized for writing. It makes sense that most websites should choose static site generators - it's just a better "data structure" for the needs.

</comment><comment><USER79> My favorite kind of static website generator is lazy, just in time, and supports TTL based regeneration on a per page level.

</comment><comment><USER80> I'd love to use static site generators for my client work but they usually ask for features like e-commerce that completely rule out it's use.

Usability is also an issue. Wordpress is a far more friendly environment for them to make changes or create a new post than creating a text file with specific formatting and running a script.

<comment><USER81> There are services such as snipcart and foxycart that you can trigger via html and javascript. Like most non-locally hosted ecommerce solutions they send you to a subdomain for the final checkout. I have tested both on a static site and both work very well. Snipcart is easier to implement but lacks customization. If you are looking for heavy customization (like custom products beyond just sizes, colors and options) without having to build out your own system, check out foxycart.

</comment></comment><comment><USER82> I'm currently (slowly) working on a static blog that utilizes only HTML, JS, and CSS. I liked jekyll, but wanted something with no backend technology requirement:

[https://github.com/milge/lilblog](https://github.com/milge/lilblog)

</comment><comment><USER83> Does this mean that developers and admins will get paid less, because their jobs just got a lot simpler?

</comment><comment><USER84> I use MiddleMan as a static site generator for a page hosted on my raspberry pi: [http://pi.tafkas.net](http://pi.tafkas.net)

As I am more of a python guy I wonder if there is a similar (as in not primarily for blogging) generator for python?

<comment><USER63> Have you tried Pelican? Staticgen.com lists all of them, and it tells you what language each one uses.

<comment><USER84> I have looked at Pelican but isn't that more for a blog (chronological updates vs. static non-changing content)

<comment><USER85> I find that Pelican itself can do the non changing stuff, but that it is really hard to find themes or examples that aren't blog oriented.

But I'd be keen to hear about the kinds of things MiddleMan etc does better than Pelican for non blog sites though....

</comment></comment></comment></comment><comment><USER86> I have been doing this since 1998 with perl and cron for my own systems and I can say it works great. Combine that with a ram disk and I can handle the load with a couple small machines that would typically require a big farm using dynamic content for everything.

</comment><comment><USER87> I'm currently building my own static site CMS. Basically. Word press like interface (at some point). Spits out a static site. My blog [http://adnanissadeen.com](http://adnanissadeen.com) runs on it. I'm building the CMS over at [https://github.com/spartakode/static- cms](https://github.com/spartakode/static-cms) . Been inactive for a while because I'm just a horrible procrastinator. I'll be finishing up (read: making it usable by public) end of this year hopefully. Will try and offer a hosted service a little later.

</comment><comment><USER88> Considering a lot of content seems to be increasingly generated and handled via Javascript, what are some of the downsides to statically generating a website or webapp?

</comment><comment><USER89> I remember this custom CMS written in Perl mason that we used at JupiterMedia ( formerly internet.com ) back in 2004. It worked well but had some complexity.

</comment><comment><USER41> How many more articles about static sites being the "Next Big Thing" before they just become "The Big Thing"?

</comment><comment><USER90> A bit of web history, mention some static site generators, end by saying their tool is the babel fish of static site generation.

</comment><comment><USER91> Movabletype anyone? Its older than wordpress.

<comment><USER92> MovableType was a self-hosted static site generator. Blogger too, although not self-hosted.

</comment></comment><comment><USER93> just an ad for Netifly

</comment><comment><USER94> I'd be happy with a wordpress plugin that rendered static pages. 95% of client sites I've ever done have little to no reason to be dynamic. I know there are valid reasons for a dynamic site however IMHO those are rare.

</comment><comment><USER95> Next to geosites.com, I suppose.</comment>


Ask HN: Data Analyst to Data Scientist - <AUTHOR> I am almost 40 now and I have worked with excel, power points, and Access in an independent contributor role for the last 15 years. I almost feel like hit a dead end. Any suggestions on transition to Data Scientist? <comment><USER2> I tried to write an answer a few times but I got stuck on the definition of what a Data Scientist actually does. I guess this varies from company to company. Maybe you could check work place ads you'd like to apply to and see what are their requirements? At least instead of doing your analysis on a GUI in my opinion it should be implemented in a programming language so that it can be automated and re-run as new data keeps coming in.</comment>


Epoll, http, & websocket example code - <AUTHOR> https://github.com/brooksbp/injini

<comment><AUTHOR> Learning a lot about protocols and linux programming. Feels good to build something for fun.</comment>


On The Peltzman Effect In Team Work - <AUTHOR> http://work.erikvold.com/thoughts/2013/08/12/on-the-peltzman-effect-in-team-work.html

<comment><AUTHOR> I post this because I strongly disagree with his premise. To me his favoured environment sounds like working in a team without social skills, where ego and pride drive team members.

Here's some choice quotes:

> In my opionin personal attacks are unproductive, but attacking ideas should > be completely necessary in producing an effective team, which would be most > capable of producing the highest quality products.

Disagreeing with ideas and developing them further yes, but going "Oh Tom's had a good idea, let's shoot it down because it's not mine" \-- yeah that's not what the author is saying, but nothing holds it one side of that line or the other.

> If a member of a team feels no risk in submitting bad ideas to their team, > then they will do so, because good ideas take more time to think through. > However if a member of a team feels higher risk associated to submitting bad > ideas, like having the idea publicly denounced, then they will think about > it more, and produce a higher quality idea.

Or keep quiet, because nothing's good enough for the team to do anything but criticize and shoot down, and there's enough aggro in life without generating more on purpose.

> _In a team of people that are willing to say "No" pride is at risk, and in a > team where people are concerned more about their pride than the productivity > of the team_ someone that is willing to say "No" stands out, and risks being > called a bad team-mate.

(italics mine). I disagree, I do not see the non-italicised section/conclusion following on from the italicised text. I would call someone who is driven by pride and up themselves a bad team-mate, who is not concerned about the overall goal. Saying no from that motivation, which the article is arguing for, is bad.</comment>


TOS - May not use to operate nuclear facility - Is this silly or really necessary? - <AUTHOR> http://www.google.com/search?q=Use+the+Service+to+operate+nuclear+facilities&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a

<comment><USER2> Many software licenses contain this as a restriction - i.e. "no nukes".

Many licenses just simply say the code is "not intended" for nuclear facilities - usually also extended to other critical systems such as aircraft or medical applications.

If your startup is using this code, then it's likely you need to pass this restriction on.

Edit: I may be wrong, but this might also relate to export restrictions in some countries.

<comment><AUTHOR> I can understand why most software licenses would do that. But for web startups? or even a website in this case eventbrite, yahoo.

<comment><USER2> They might be using code that has that restriction - thus they're need the restriction in their own service.

</comment></comment></comment><comment><USER3> Unrelated: I am _amazed_ that this page is now #1 on that Google search you linked to. Less than an hour, post to index? That's fast.

</comment><comment><AUTHOR> To be clear, I'm specifically talking about web startups and companies.</comment>


Go to Microsoft.com / store / windows software - <AUTHOR> http://www.microsoftstore.com/store/msstore/cat/categoryID.44066700?WT.mc_id=MSCOM_HP_nav_BuyWSoftware

<comment><AUTHOR> yeah, it's a bit silly and I'm not sure how long until they fix it, but at the moment it points to a page selling Windows 7</comment>


Ask HN: Biographies for personal development and entrepreneurship? - <AUTHOR> As the title says, I am interested to know what book have you read which helped you in personal life and business. Thanks <comment><USER2> Oh, that's my favorite subject, I love reading autobiographies of awesome people =)

Here are my favorites:

\- Surely you're joking, Mr. Feynman

\- Ghost In The Wires by Kevin Mitnick

\- Catch me if you can by Abagnale

\- iWoz by Steve Wozniak

\- Losing my Virginity by Richard Branson

\- Without their Permission by Alexis Ohanian

All of them are absolutely awesome and enlightening and entertaining. Also I can highly recommend listening them as audiobooks, very convenient.

</comment><comment><USER3> I've recently read a book which encouraged me to change my lazy habits and strive for more: _Losing my Virginity_ , by Richard Branson and Edward Whitley.

It made me realize I've never _really_ hustled in my life. Reading it was a humbling experience. When I finished the book I was on the verge of tears, an odd mix of shame and wonder.

I highly recommend you Branson's autobiography.

<comment><AUTHOR> I do that book but could not finished it. Neither I read it with full attention 4 years back. I guess I need to re-read it.

Thanks for your comment.

</comment></comment><comment><USER4> Anything You Want by Derek Sivers

"In this book, I tell you everything I learned from starting, growing, and selling CD Baby, compressed into an entertaining and useful one-hour read." from [https://sivers.org/a](https://sivers.org/a)</comment>


Linux Mint 15 "Olivia" released - <AUTHOR> http://blog.linuxmint.com/?p=2366

<comment><USER2> Surprised I haven't seen it announced on Distrowatch or OSNews yet. Also have to admit I miss Live-CD images and minimal/network install images.</comment>


VAIO announces tiny laptop with tons of ports - <AUTHOR> https://www.theverge.com/2019/7/9/20687252/vaio-sx12-announced-price-specs-release-date <comment><AUTHOR> Reminded me somewhat of "A small notebook for a system administrator":

[https://habr.com/en/post/437912/](https://habr.com/en/post/437912/)

[https://news.ycombinator.com/item?id=19052688](https://news.ycombinator.com/item?id=19052688)

<comment><USER2> Funny, to me it just reminds me of a standard laptop from a few years ago. I have a consumer lenovo from a few years back, and it has all those ports except the USB-C.

<comment><USER3> What laptop is that? Because this laptop has a lot of very weird ports (I'm leaving out USB-C):

2 micro USB-B ports, one with quick charging 3.0, one with USB OTG so the laptop can be used as an external mouse and keyboard for a different computer even when not booted.

2 ethernet ports, one with power over ethernet supporting 3 different standards for POE.

5.5x2.5mm power connector, fullsize SD reader, micro SD reader, 4 USB-A 3.0 ports (one always on), mini DisplayPort, full HDMI, 4 3.5mm audio jacks (in, out, mic, headset), VGA, DB-9 connector supporting many modes, HD Mini SAS, USIM card tray, PBD-12 pin connector, tripod mount, mount for attaching to a wall via screws or via magnets or mounting to your arm.

And on the power supply there are 8 ports.

<comment><USER2> I meant the original post reminds me of a standard laptop from a few years back. the one linked on habr.com is quite unique and interesting. But the Vaio SX12 linked in the original post just has a standard amount of laptop ports (3 usb-a, 1 usb-c, Ethernet, VGA, SD card, HDMI, headphone/mic).

</comment></comment></comment></comment><comment><USER4> Half the comments seem to be surprised by VGA. But just about every 1080p monitor has the port, and even Steam statistics[0] show that over 60% of their users use 1080p, and about 75 percent use resolutions that are VGA compatible. 4K computer monitors are still uncommon - and Steam is likely tilted towards higher resolutions.

In short: Most existing monitors support VGA, and probably a good deal of those actually use the port.

[0] [https://store.steampowered.com/hwsurvey](https://store.steampowered.com/hwsurvey)

VGA can do 1440p, but it's rare on these monitors, so I didn't count the 4.71% 2560x1440 users.

<comment><USER5> And of course there are still a lot of VGA-only projectors out there (especially the ceiling mounted ones in meeting rooms) - having a VGA port is a godsend when you come across them!

<comment><USER4> KVM switches are also a pain point - there are still many VGA-only KVMs which can get pricey to replace. It's probably not a problem for the laptop use case but it is for the home-lab setup.

<comment><USER6> Amen to that. The exorbitant cost to replace my perfectly functional KVM switch is what keeps me on PS/2 and VGA.

Does anyone make a backlit PS/2 keyboard, or are the power requirements too high?

<comment><USER4> A web search found that the PS/2 interface apparently survived for a while in gaming keyboards due to advantages I wasn't aware of - apparently PS/2 had slightly better latency and N-key rollover.

Even those keyboard switched to USB eventually. The only recently made and currently available with backlight PS/2 keyboard I found is the "Zowie Celeritas II" gaming keyboard (the manufacturer's page says USB+PS2, the reviews say it ships with a usb TO ps2 adapter). However it's pretty expensive, and the red leds might not fit your taste.

</comment></comment></comment></comment></comment><comment><USER7> It's pretty funny how this has basically the same ports (besides the USB C for charging) as my 2010 VAIO Z.

VGA is the most surprising one to still see. I wonder what the reasoning behind that is. I can't really see them targeting the corporate market.

<comment><USER8> VGA is incredible to have, yes, even in 2019. As a sibling comment says, it's "for the people who actually have to solve problems". Nearly all projectors, even new and expensive ones I've used, do not have HDMI. So there's an adapter. But maybe the damned fragile thing is broken, or it's missing, or it doesn't adapt to what you have (mini display port? USB-C? Who even knows!) or it requires power, or God knows what.

There are a number of times I've had to present something, and the "non-VGA" laptop crowd was unable to, for various reasons, but a VGA port will cut the crap and get you an image on screen no matter what. It's wet? Stepped on it? Bent pins? It'll still work, dammit. Maybe your slides will have a blue tint, but you'll get em up there.

I'll give a personal example. I was at a party and the movie dude didn't show. Only thing available was a banged up projector from the 90s with analog only inputs. Everyone had new fancy laptops with no VGA. Someone had a totally destroyed old laptop with water damage, screen falling off, but you know what it had? Most of a VGA port. I bent off a few pieces of a paperclip, shoved em in there, pointed that old projector at the side of a house, and filled the night sky with sixty feet of glorious analog pixels.

I'd expect more support for VGA in a place like this. It doesn't just guarantee your slides will get up on screen, it's a real hacker's port, dammit!

<comment><USER9> > it's a real hacker's port, dammit!

Oh yeah, the i2c interface disguised as DDC is my favorite part. With a few wires, you can interface any i2c eeprom with command-line tools.

But projectors, oh yeah, I hear ya. VGA came out in 1987 and rapidly became ubiquitous. I think the Intel Skylake in 2015 finally shipped without integrated VGA, that's as clear a mark as you'll find for the closing of a chapter.

And the coolest thing is, except for a few weird VGA-on-EGA-connector attempts in the very early years, VGA has always been one single standard connector for the entire 28 years of its existence. And it's not gone, not by a long shot. That decades-long legacy means it's the standard you're going to include if you want your shit to be compatible with as much as possible.

Until my very most recent Thinkpad, I've had VGA the whole time, and got quite accustomed to mocking the portless people (principally Mac folks) when they'd show up without their adapters. "If your machine doesn't have the ports it needs to survive in the world, it is incumbent upon YOU to carry the adapter dongles", I'd sneer at them. "Your vendor invents a new port every few months, I'm not going to stock all those adapters on your behalf."

Welp, the march of time is inexorable, and I'm now the schmuck toting around a Mini-DisplayPort-to-VGA dongle that just takes up space in my bag and I know someday I'm gonna leave it out because I haven't used it in forever. That will therefore be the day I'm faced with a room full of Director-level people I need to impress, and the wrong variant of HDMI-DVI-Thunderport-Nano-MHL- whatever. And I know that damn projector still has a VGA port, just in case.

<comment><USER10> Bah. VGA needs to die. The number of times I needed to do a presentation and find out they only have a VGA projector....for a product with a GUI that just is not designed for that low resolution (on purpose.) To be honest I do not think I own anything that is not 4K anymore that is a daily use item. I still have retro computers, etc. but every TV, monitor and modem system is now 4K.

<comment><USER11> The majority of projectors in use (even if they do have HDMI) don't support 4K. Even if you buy a new projector you have to put some effort into getting something that supports 4K (unlike say a TV where it's basically standard). I imagine there are even newly built conference rooms / lecture theatres that don't have 4K projectors for cost reasons.

Oh and then you need a laptop that supports it. If you laptop is more than a few years old, it probably can't output 4K60.

<comment><USER10> Sorry, I mixed two items here. Projectors need to take HDMI and support 1080P. Instead half the time I get handed a VGA cable and stuck at 1024x768 or worse 800x600 I should have separated the two rants. :)

</comment></comment></comment></comment></comment></comment><comment><USER12> Its just moronic how laptop companies are rushing to make smaller laptops at the cost of basically everything.

A ThinkPad-X220-sized laptop would still be absolutely acceptable both in size and weight, and could have all (or at least, most of) the ports that one could need.

And swappable battery, keyboard, ram, disk etc.

<comment><USER13> I don't understand the appeal of anorexic laptops. Sacrificing repairability, cooling, features, and connectivity. All so it can be thinner and lighter? What's the use case for that? Are there really millions of people who walk around with a laptop cradled in their arms every day? Surely these laptops spend the majority of their active time either on a desk or in a lap? Have desks become so flimsy that they can no longer support the weight of a laptop? Have people grown so weak they can no longer carry one in their bags?

<comment><USER14> > Are there really millions of people who walk around with a laptop cradled in > their arms every day?

Yes. The sales force of almost very company I've worked at can be described this way. And their computing needs are pretty basic. A browser, email, word and excel mostly does it for them. They also need to be able to connect to a variety of I/O for presentations at different sites.

This may not be a coder laptop, but it makes a ton of sense for sales.

> Have people grown so weak they can no longer carry one in their bags?

On this point, the answer is also yes. I got that weak after an bad accident. My wife got that weak after falling 25 feet and shattering herself. Don't assume that all users of laptops are young and strong.

<comment><USER15> Coders can and should use remote systems for heavy lifting tasks IMO. A laptop should be setup more like a thin client and not have any ip on it that can be lost/stolen.

<comment><USER16> I don't know why this was downvoted. As connectivity gets more and more pervasive my laptop is increasingly only a front to a cloud instance somewhere.

20 years ago I was running an e-mail client on my laptop. Now most of the client runs on Google's servers.

</comment></comment></comment></comment></comment><comment><USER17> From a marketing angle, for this model they can also claim that VAIO means "Very Ample Input/Output".

[https://en.wikipedia.org/wiki/Vaio#Etymology](https://en.wikipedia.org/wiki/Vaio#Etymology)

<comment><USER18> Versatile Analog I/O?

</comment></comment><comment><USER19> I see tiny has been redefined. Doesn't anyone remember when there were 6" subnotebooks in the vaio catalog?

<comment><USER20> As the proud owner and user of both a VAIO P and UX, I really hope they start looking at some of the smaller niche products again as they're some of my favourite possessions. Even if they are occasionally impractical, being able to carry a laptop in my pocket with full sized ports for diagnostics is absolutely something I and many in my work community would be willing to pay for.

<comment><USER21> If you're a fan of that form factor you need to investigate GPD (Game Pro Devices) and One Netbook, both of whom produce miniature PCs; GPD started with the GPD Win, a pocket console-sized PC with a 5.5" screen optimized for running Windows 10 games, then branched out with the GPD Pocket and Pocket 2, 7" screen subnotebooks (the first was a maxed-out netbook-spec PC, the second gen upgraded to an i3 processor) and now the micro PC, with VGA and RS-232 and a VESA attachment point (it's intended for sysadmin/ops users who need to bolt a tiny PC to whatever they're working on). One Netbook are a bit more consumer-ish, but do convertible notebook/tablet machines in the pocket size range. And both companies are now doing subnotebooks with 8-9" screens and beefier CPUs, in the 500-700 gram range.

You can find their stuff via Indiegogo (while kickstarting — they seem to use it to generate publicity rather than for primary funding) or on Geekbuying.com and other retail channels.

</comment></comment></comment><comment><USER22> See also GPD Micro PC: [https://www.gpd.hk/gpdmicropc](https://www.gpd.hk/gpdmicropc)

Tiny, includes RS-232 port among others.

</comment><comment><USER23> Does it have a Memory Stick Pro Duo reader to go with the SD?

<comment><USER24> I'm pretty sure the SE version might.

Downside, you'll need a gold mine to pay for it.

</comment></comment><comment><USER25> How cool.

I wonder if I'm the only one: I just placed an order for my first Windows laptop in 11 years. The Thinkpad X1 Carbon Gen 7.

Apple's overthin design, heavy aluminum, bad thermals, throttled chip, soldered parts scam is over for me. Love macOS but fact is Windows is nice now and I'm back to the fun days of weird and wild hardware. Feels great.

<comment><USER26> Are the thermals that bad? My understanding is that they had a bad incident with a 6-core MBP in 2018, but they managed to fix it.

<comment><USER25> It's not going to melt down. The whole line just falls way short of benchmarks for the chips. Linus Tech Tips did a good video on it.

<comment><USER27> Uhhh, I don't think you've seen LTTs recent video review of it - they came away quite impressed at its performance and thermals:

[https://www.youtube.com/watch?v=WxocVricANg](https://www.youtube.com/watch?v=WxocVricANg)

You've probably only seen an old video about the old models of the Macbook Pro. ;)

</comment></comment></comment></comment><comment><USER28> Misleading title. A 12.5" laptop is pretty normal these days. The One Mix Yoga 2S, the spiritual successor of the Vaio P, the first ever 7" laptop with a proper CPU (=Intel Core instead of Atom) and proper storage (= SSD instead of eMMC and then NVMe at that). I am in love with that thing.

<comment><USER29> It's still tiny for a laptop, even if a credit card sized laptop based on a rpi would exist. A normal size is 15.6, large is above that and small is below. You can't properly work on a screen smaller than 14" or so, and I'm sure there'll be lots of people that tell me they work on this in the train every day just fine (the logic being "when challenged, we can find many people on HN that are fine squinting at a 7 inch 1366px screen, therefore there is no majority calling this tiny"), but such a laptop's focus is on mobility and travel, not comfortably doing desktop-equivalent work on it. That's why, for a laptop form factor, I'd say it's tiny and not a misleading title.

<comment><USER30> _You can 't properly work on a screen smaller than 14" or so_

Bit of a blanket statement. I'm totally happy on my 11" Macbook Air still. Full-screen browser on one workspace, full-screen Sublime on another and full- screen terminal on the third. Trivial to cmd-tab between them, and the portability gains massively outweigh any benefits of having all windows open at the same time, especially if I have an external monitor available at most workspaces.

</comment></comment></comment><comment><USER31> I like how almost all the ports are on the right. You will _not_ want to use a mouse with this machine if you're a righty, there _will_ be at least one cable in the way.

<comment><USER32> I am rightly, but a few years ago I tried to use the mouse with the left hand. To my surprise it took just couple of days to adjust. Clearly with the right hand I could press buttons faster, but the precision of mouse positioning was just as good.

<comment><USER33> The precision required for a mouse is very low compared to writing. So it's mostly preferrence or what is set as default.

</comment></comment></comment><comment><USER34> The problem with some VAIO machines tends to be cooling.

My experience is that the fan controller is quite badly designed, and the machine ends up being noisy. The fan RPMs oscillate a lot, even under no load.

I hope it is not the case this time, and we end up with a nice laptop that can run Linux well. Options are limited, so an alternative with many ports from a quality manufacturer is more than welcome.

<comment><USER35> Are you taking about recent VAIO machines? If yes name then.

<comment><USER34> For example, the very recent SX14:

 _" Unfortunately, Vaio commits a huge blunder when it comes to the fan control. Ideally, the fan should not run at all while the device is idling. The opposite is true for the Vaio SX14: The fan always runs with 32.5 dB(a), which is definitely audible. Under load, the fan becomes much louder with 43.9 dB(a), which is annoyingly loud."_

[https://www.notebookcheck.net/Vaio-SX14-i5-8265U-FHD- Laptop-...](https://www.notebookcheck.net/Vaio-SX14-i5-8265U-FHD-Laptop- Review.418199.0.html#toc-emissions)

I really like some VAIO models, as I think quality is superior to Thinkpad. So I wish they took a bit more care with these issues. Their recent fanless convertible suffers from coil whine. Some online reviews discuss this too.

<comment><USER35> Ok good to know. Fan control is super important, the only one managing this well with different and really working profiles seems to be Dell. Lenovo just started to get better there (with the S940 which is quiet but because of heavy throttling and no options for profiles, however better than the way around).

</comment></comment></comment></comment><comment><USER36> God in heaven it actually has separate mouse buttons too. I forgot how sick I am of having to crank my thumb three inches to the right just to make sure I'm going to right click.

<comment><USER37> It's a requirement I have of any laptop, and they're tragically hard to find. It's the main reason I like these modern VAIOs and will probably get one.

I'd buy a Purism in a heartbeat if it had dedicated touchpad buttons.

My only other suggestions are some Dell Latitude 7xxx models (e.g. 7390, 7490), or maybe a Fujitsu. None of the Lenovo touchpads count anymore (why are the buttons at the top!?)

<comment><USER33> >why are the buttons at the top!?

to use it with the trackpoint or the touchpad. You can use your thumb for the touchpad and you'd be surprised how much better it is that way.

</comment></comment></comment><comment><USER38> I'm surprised it only has a single USB-C port (and possibly then only for charging?). I too am generally annoyed by port proliferation (and appreciate having at least one USB-A port!), but I've already started embracing USB-C for things, so this laptop's setup would be a step back for me.

<comment><USER39> The single USB C and not the inclusion of a VGA port is the step back?

<comment><USER29> Yes. VGA is frequently used, but so is C. This device has zero usable C ports it seems, it just has a C charger.

<comment><USER40> Would you prefer it had a barrel jack for power and no USB-C?

<comment><USER29> I don't have any C devices myself, and given the issues I've heard with C chargers, cables, and devices, I'm inclined to say "maybe". But I think the answer is rather "no", because of course in the long run, this mess will probably sort itself out and we'll be able to swap chargers super easily.

Two weeks ago a charger of mine finally broke on the hottest day so far (it was getting hot since day one, ~8 years ago, but this day finally did the trick), I ended up taking out the hard drive behind twenty screws and unplugging the laptop keyboard, because I didn't have a replacement charger. I wouldn't have had a replacement C charger either, but that would be different in years to come.

I guess more universal chargers is more better. Looking at you, work phone (Apple branded, and battery draining unlike any OS I've ever seen, so having only one charger is super annoying).

</comment></comment></comment></comment></comment><comment><USER41> Where's the parallel port? :-)

<comment><USER42> RS-232 would be more useful though.

I like this departure from Apple's custom of having as few ports available as possible.

<comment><USER43> ...and if you press a button, a baggy drops out full of null modems, gender changers, level shifters, diagnostic LED blocks, a wrench + diagonal cutter for inappropriately placed nuts, and a male and female 0.1" header adapter.

One can dream!

<comment><USER9> Tellya what, on my old Toughbook I had done a shit-ton of modding, and when I removed the 56k modem, I repurposed the RJ11 jack on the side to bring out an internal (TTL-level) serial port from the CDPD module connector. With some inline resistors to current-limit any stupidity I might get myself into.

Then in my bag, I carried an RJ11-to-female-headers cable, and a handful of jumper wires of various genders and a handful of minigrabber clips. And a butane-powered soldering iron, because you never know.

It was no Novena, for sure, but just having a TTL-level serial port made that a hell of a hacking machine. This was in the heyday of the WRT54G and similar, and I can't count the number of console ports I invaded with no more hardware than a wisp of wire.

</comment></comment></comment></comment><comment><USER44> I thought Sony quit making VAIO computers at one point?

Am I wrong? Did they never leave? Did they come back? Or are these just rebadged Chinese laptops?

<comment><USER45> It is now made by VAIO Corporation. Sony owns 25%, rest it sold to Japan Industrial Partners in 2014.

</comment></comment><comment><USER46> Can we install OSX on it? Will pay good money for that

<comment><USER47> You can install OSX on most intel based laptops, getting the drivers for certain things can be a pain. For wifi and bluetooth you may need to replace the internal card.

<comment><USER46> Sure I get all that -- my comment was that if someone made an easy to use alternative with OSX on this machine (basically buy it and it works, simple Hackintosh), there's likely a good market for that.

Anecdotally, I'd pay essentially up to what I'd fork out for a Macbook Pro now. It just needs to work, the way Apple stuff works, without any headaches. The problem with Apple machines for me now is that they've done all these silly reductions in features that actively hurt my convenient use of it.

 __Edit, to clarify, I 'm talking about a legit copy of OSX purchased properly, no piracy whatsoever. I just want the creature comforts of OSX on a machine with ports! (and MagSafe too, if possible)

<comment><USER40> > Edit, to clarify, I'm talking about a legit copy of OSX purchased properly, > no piracy whatsoever. I just want the creature comforts of OSX on a machine > with ports! (and MagSafe too, if possible)

Technically, by installing it on a computer that isn't a Mac, you're violating the EULA. So it doesn't matter if you purchased it, it's still illegal to use it for that purpose (but no one's gonna stop you)

</comment></comment></comment></comment><comment><USER48> Ports are useful (to state the obvious). I like this.

<comment><USER49> What for?

</comment></comment><comment><USER50> Ultra premium compact laptops is what they have been known for since the early 2000s. I remember oogling over one around that time for similar reasons as this one.

</comment><comment><USER16> I really like lots of ports, but, quite frankly, when I'm on my desk, I'd prefer to plug in a single cable over plugging in HDMI, Ethernet, USB and power. I like the fact my monitor has a USB hub that connects keyboard and mouse and, if the next one can do power, video, Ethernet and USB over a single USB-C connector, I'm all in for it.

<comment><USER51> Then get a USB-C hub with power delivery and have that at your desk with all of your peripherals and power supply plugged in. Then you just plug the USB-C cable in and you're away.

For example: [https://smile.amazon.co.uk/LETSCOM-Aluminum-Adapter- Charging...](https://smile.amazon.co.uk/LETSCOM-Aluminum-Adapter-Charging- Ethernet- Gray/dp/B07RMH6256/ref=sr_1_5?keywords=usb+c+hub&qid=1563187684&s=gateway&sr=8-5)

<comment><USER16> That's one of the many reasons why I think a VGA port is kind of silly to have these days.

</comment></comment></comment><comment><USER52> It is great that it has an RJ45 port, something that almost disappeared from every other model of laptop. Unfortunately my experience with the movable plastic thing they use is that it is not durable (it was on the original z series from before the reboot). The plastic bracket bends and/or goes away and the port becomes pretty much unusable.

<comment><USER53> The Sony z series RJ45 hinge was just a bad design. Having used other brands that have this style port specifically the Dell latitude 7490 they function much better. Dell will likely continue to have a laptops with dedicated rj45 ports for a long time at least on business models.

<comment><USER52> How long have you used it? And do you use the laptop on your lap or static on a table?

</comment></comment></comment><comment><USER54> VGA?!

<comment><USER17> Lots of (very, _very_ expensive) projectors still use it, and a good VGA cable will work well beyond 1080p resolutions, so why not.

The connector is also more robust than the effete HDMI/DisplayPort/etc. ones that have tiny pins, purely by being bigger.

<comment><USER55> Lots of old equipment a system administrator might work with also uses VGA.

<comment><USER9> My kingdom for the VGA port having an input mode!

A friend of mine has built a little raspberry-pi-laptop with an internal HDMI switch and a USB device-sharing gizmo, so he can use it as a portable KVM for sysadmin tasks. I wish that was more common!

</comment></comment></comment></comment><comment><USER56> This just need a tracking and it's 3 buttons to be my idea of a perfect machine.

</comment><comment><USER57> It's depressing to see what is considered "a ton" of ports nowadays.

</comment><comment><USER58> It has often been said that you can't have a thin / small laptop that also has a large number of ports... apparently this isn't such an impossible feat after all.

If only it had a docking connector and hot-swapable battery.

</comment><comment><USER16> Only now I noticed Japanese keyboards follow ASCII rather than IBM Selectric on their top row. " over 2, just like my beloved Apple II+...

</comment><comment><USER59> why are laptop bezels still being "slimmed down" while phone screens are practically dripping all over the floor?

</comment><comment><USER60> Poor battery life is what I've experienced with all Sony laptop machines I've used. Always a disappointment.

<comment><USER61> VAIO was spun off from Sony, though they still retain a stake. I don't know how much of your previous experience translates over, cuz I honestly don't know how much of Sony's laptop design aesthetic was retained in the new company.

That's just a long winded way of saying, it _might_ be worth a fresh look, if you feel up to looking into them.

</comment></comment><comment><USER62> Tiny with 12"? About 10y ago I had a Vaio 10" Laptop. Nice peace of hardware.

</comment><comment><USER63> I m big fan of lenovo X series , and they also have docking port

</comment><comment><USER64> I love the title of this article. Is it just me?

</comment><comment><USER65> It's amazing that netbooks are back in style again and it's made by Sony. The reboot of 80s and 90s are over, it's the aughts.

<comment><USER66> Its not Sony. VAIO was sold to other investors by Sony years ago.

<comment><USER65> Well then a number of destinations on Google and bing need to upgrade their marketing because review sites and ecommerce site have it as Sony Vaio. As of late 2018.

But what does it matter. Vaio was always an overpriced under equiped piece of hardware anyways. It was the monster cable of laptops.

</comment></comment></comment><comment><USER67> And a ridiculous price for the specs.

</comment><comment><USER68> Tons of ports but no thunderbolt

</comment><comment><USER69> that underwhelming battery worries me, otherwise I am seriously considering!

</comment><comment><USER70> This looks like the same ports, plus a single usb-c and hdmi, that a Thinkpad X230 has.

<comment><USER71> Does the X230 have a mini displayport like the T430?

<comment><USER72> Yes!

</comment></comment></comment><comment><USER73> No rs232 ? :( /s

<comment><USER47> Parallel port yo

</comment></comment><comment><USER74> As a MacBook pro user with just usbc, all I can say is "good move"

</comment><comment><USER75> Maybe they should foucus on making hub dongle great and reliable.

</comment><comment><USER76> Windows SCSI support has likely not changed since the nineties so... no thanks

</comment><comment><USER77> Call me ignorant, but who are still using VGA?

<comment><USER78> A lot of projectors in conference rooms and class rooms.

</comment></comment><comment><USER79> Suddenly Apple's plethora of dongles looks like the better option

<comment><USER80> Can you elaborate? What are the downsides of built-in ports that would make it preferable to carrying dongle(s)?

</comment></comment><comment><USER35> Ports are good and what Apple does is ridiculous but it is also about which ports.

Nowadays, I tend to miss real Thunderbolt 3 ports on USB-C, better 2 than 1 and with 4 lanes. This is what they totally forgot. So I could connect to an ancient VGA projector but not to a common 2x 4k@60hz display setup? This doesn't make sense.

</comment><comment><USER81> I've only ever had horrible experiences with Vaio and it would take a lot for me to consider trying one again.

(The screen broke with a month, then I spent 3 months in a horrible support hell before finally getting refunded which wasn't even the outcome I wanted - I just wanted it fixed. Contrast with the macbook I bought it, it worked for several months, the hard drive died, I took it to a mac store and it was fixed within the week. The ecosystem around the computer matters.)</comment>