Static site generators need less rigid content APIs - <AUTHOR> https://fvsch.com/static-site-generators/ <comment><USER2> For sure everyone have his favorite way of doing things and what seemed obvious for some will look strange for others.

As I tested myself several SSG, I (as many it seems !) thought « Well, none fit my needs so let's make one »

My problem was that I need an interface for the final clients, which are no tech at all, to be able to edit content.

Solutions like Hugo are not possible as it would means install it on a computer at the client office, and make him/her understand how to deploy. No go.

As the post states, they would also have to learn some stuff. Even more no go.

So for those case, the solution is to use a CMS like Wordpress. Which I don't want.

So I built my own, using the best of both worlds.

For the backoffice, for managing content, a PHP/MySQL classic, with a media gallery and a tinyMce. Pages are in categories which can have subcategories and pages, as deep as you want.

Each page must have a template.

A preview button (which is the key) and an export site button.

And that's all.

Of course, it only suits my needs (as me or some clients like web agencies will be in charge of the templating) and have no means of going public, so don't fit what OP was looking for.

But it works, it was a two days job to create, and as it's all mine, I can add any functionality I want.

<comment><USER3> I reimplemented the Wordpress API on my own static site service so that Wordpress clients can be used seamlessly.

The idea is that Wordpress clients can be used to create content, but the output is a static site served from S3 and Cloudfront.

If you want to try it, send me an email: firstname.lastname@example.com

<comment><USER4> How do you solve the dynamic parts that are sometimes required in a site ?

<comment><USER3> What in particular are you asking about?

There's nothing to stop you from using JavaScript in the browser to do any number of things.

</comment></comment></comment></comment><comment><USER5> 1) Git is basically a database with certain requirements around the time dimension, thus static site generators can be equivalently backed by a database with similar properties

2) Datomic is such a database – an accumulate-only log with explicit time dimension that can be queried JOIN-style, WHERE-style and GraphQL-style

3) Thus crud apps backed by Datomic are suitable to be delivered from CDN like static sites – rendered pages, API, everything

Here is such a static site backed by a database: [http://www2.hyperfiddle.net/:markdown/](http://www2.hyperfiddle.net/:markdown/) final rendered site: [http://www.hyperfiddle.net/](http://www.hyperfiddle.net/) – since it is server rendered React.js, obviously you can use React.js to render your pages, so you get a fully extensible markdown pipeline as you can see.

Here is my blog, a static site: [http://www.dustingetz.com/](http://www.dustingetz.com/) It is also a progressive web app, so if you navigate around with the browser dev tools open, you will see API requests served from disk since they are Cache-Control: Immutable. Yet, here is the live CRUD dashboard for it's database: [http://dustingetzcom.hyperfiddle.net/:hyperblog!dashboard/](http://dustingetzcom.hyperfiddle.net/:hyperblog!dashboard/)

It's great for docs, for example: [http://docs.hyperfiddle.net/](http://docs.hyperfiddle.net/) (We turned off server side rendering for this one but you can leave it on!)

Did I mention Hyperfiddle also does arbitrary CRUD database apps, live in your browser - queries, schema, views, everything?

<comment><USER6> I have to say, the fact that your (quite simple) blog immediately loads a 10MB javascript file doesn't endear me to the concept. If that's to power the "secret dustingetz.com admin dashboard", I'd suggest loading it only when the link is pressed.

<comment><USER5> www.hyperfiddle.net has no javascript payload at all.

dustingetz.com and the docs app both have embedded hyperfiddle editors, so they run in a development configuration. The 10MB is for the real-time editor which depends on the ClojureScript compiler and standard library. A production javascript configuration will bake/compile/dead-code-eliminate in advance and then asset sizes will be comparable to any ClojureScript project (which is to say, better than almost all JavaScript projects). We haven't gotten around to doing this yet. Thanks for checking out hyperfiddle!

</comment></comment></comment><comment><USER7> I do like the idea to have a statically generated site and have all the content in plain text managed via git. Unfortunately it is ideal for text oriented content only. Once there is a lot of images in your content it becomes a pain to manage it in a convenient way.

I tried pelican, but failed as didn't find an acceptable way to write a content. I have a kind of blog with around 30 to 50 photos per post and there is no way to put into the text as convenient as in wysiwyg where it is possible to select the picture I need.

Thus I decided to abandon the idea to migrate to SSG. Even though I tried it and dreamed about it a lot :)

<comment><USER8> Yep. I'm hopeful that someone will inevitably turn up in the comments and reveal a great way to do it but everything I've seem is just janky and awkward.

I've basically stopped using my static site as a result of media management being a pain. I'm probably going to do back to Wordpress or something (shock horror!). Wordpress isn't hard to manage at all quite frankly, it's just a different set of compromises compared to a static site. It's also super easy to manage rich media and as I'm falling squarely on the side of 'get shit done' it's looking like a good option.

It's trivial to cache it well and update it. Yeah it's not as secure but there's a risk vs usability judgement that has to be made. And I think I'd prefer to be producing content and having some good backups rather than just not use my site.

<comment><AUTHOR> If you're not against PHP and hosting PHP code, as mentioned in the OP my go- to tool would be Kirby. The mix of static content and a powerful content API is the sweet spot for me, when I don't absolutely need static HTML. It does require a paid licence though (note: I'm not affiliated with Kirby or its developers).

<comment><USER8> I'm just looking through now. It does look pretty good. I'll have to play with it and see if it falls in the right spot between 'I'm too lazy, just point and click' and wanting something lighter-weight and easier to reason about.

</comment></comment></comment></comment><comment><USER9> > I sometimes talk with developers who praise static site generators as > simple, which is hogwash. I've seen a few projects where content editors > were handed off a site based on a SSG (especially in startups where devs may > dominate the conversation), and could not manage any change without a lot of > training and assistance. Nothing simple about that. What those developers > probably mean is that they find static site generators _elegant_.

It sounds like this article is using "simple" to mean "easy", and "elegant" to mean "simple".

An SSG is simple, and it's easy for people who know "the command line, the plain-files-and-scripts philosophy, git and ssh" (which is not quite the same as "developers", though there's usually a large overlap).

</comment><comment><USER10> I am developping my SSG. For the moment, it is

      for file in *.md ; do
         echo " converting $file"
         pandoc $file -f markdown -t html5 \
            -H templates/header-prod.html \
            -B templates/nav.html \
            -A templates/footer-prod.html \
            --template=./default.html5 \
            -o ../out/${file%.md}.html \
            -s  --data-dir=./ \
            --highlight-style pygments \
            --variable=file:${file%.md}.html
      done
      scp -r ../out/* me@cloud:/var/www/html

Someday, I will improve it for a smarter generation of index.html. For the moment, my struggle is _style.css_.

</comment><comment><USER11> As much as I like Hugo, I recently stumbled upon the terrible Go templates! This is probably the strangest and most limited template engine I'm aware of. It might be nice in an application to actually limit what can be done in templates, but in a tool like Hugo where the user can not easily extend the core functionality, more powerful templates would be necessary. I hope Hugo switches to a more powerful template engine one day.

Besides that I agree with the assessment that these tools are from developers for developers. In the end a static site generator is more like a special kind of build tool and less like a CMS (what non-technical users would need).

</comment><comment><USER12> I've been building websites since the mid 1990s (including everything from small personal sites to large content-managed sites for the BBC), and I now run an agency that builds WordPress sites for large non-profit clients. I've been looking at SSGs myself recently, and much as I like the idea of static sites I've come to very similar conclusions to the author. There are two observations I have about this from my perspective:

1\. People often forget that "making your own" also entails a huge risk for a client. What happens if you go bust? We're constantly being contacted by organisations who were talked into a proprietary CMS and then left in the lurch when either their relationship with the agency broke down (which often happens in this situation because the agency know the client is locked into their CMS) or a company's lone developer left.

2\. No content editor should have to use anything much beyond a Word-like interface, even if there are separate TinyMCE fields for separate areas in a page template. Even Markdown, which seems elegant and simple to developers, can cause all sorts of issues with non-technical content editors - and most clients outside the development bubble are non-technical. I feel like the lessons learned at the beginning of CMSes - for example, you shouldn't expect anything but pain from expecting clients to edit HTML - haven't been fully understood.

The one end-user benefit from SSGs seems to be that the site is packaged as static files and is therefore faster and easier to deploy, but is that really worth jumping through all these hoops? If any of these SSGs wants to reach a broader market, they'll need to have a WordPress-like interface that then publishes the static files and somehow manages to cope with dynamic things like search and filtering in an accessible way.

One service I've been interested by is [https://www.hardypress.com/](https://www.hardypress.com/) (just tried it out, not affiliated in any way) which effectively takes a WordPress site and publishes a static version. They cope with form submissions in a similar way to Netlify (I think) and also deal relatively with querystrings that trigger a filtered listing. I think this is the only direction I'd be comfortable with for my clients because it gives them all the benefits of a user-focused CMS with a static site generator, while allowing them to take the site to one of the many other WP agencies if they choose to.

<comment><USER4> What about dynamic wordpress plugins, don't you see at a big issue for hardypress ?

<comment><USER12> What do you mean by "dynamic"? Can you give an example?

<comment><USER4> Plugins that dynamic stuff based on feedback from the user: comments/forums, searching over custom post types, login , e-commerce ordering ,etc.

<comment><USER12> Gotcha. IIRC search is taken care of by their rewriting of querystrings. Comments and things like WooCommerce aren't going to work, but if you want to do that kind of stuff SSGs aren't going to cut it - to do any kind of per-user processing you need some kind of system to do that processing, which SSGs aren't going to provide. We're thinking about using HardyPress for some of our non-profit clients because we can probably work with something like fixed donation amount buttons and Stripe.js.

</comment></comment></comment></comment></comment><comment><USER13> Lektor by Armin Ronacher is a lot more fully featured and based on a different model than most static generators. Pretty sure it handles this use case.

<comment><USER14> Yes, Lektor is great. The outstanding features are the admin interface which allows even non-technical people to create and edit content, and the content models which allow to work nicely with structured data.

For example, in the past I have built a multilingual media database with Lektor, where items could be, say, books or movies, and depending on the content type I could enter a "number of pages" (int) or "duration" (time) or "author" (selection from a list of "person"-typed contents), and the admin interface would be auto-generated. I haven't seen a similar functionality in other SSGs.

Downside: For large sites rebuilding takes very, very long...

</comment></comment><comment><USER15> I think static site generators need a more rigid content API. Problems start when these tools try to pack too many features trying to make everyone happy. They become small CMS and as the author mentions introduce poorly documented hard to grasp features.

Rolling your own specific static generator is quite easy, the bulk of the work being gluing libraries together. What is worse, using an existing tool in a way it is not meant to be used or maintaining your own?

<comment><USER16> I felt the same when looking for a generator that could be learned in one afternoon and which would allow me to easily change templates/themes whenever I felt like it, months later. The solution was to rely exclusively on pandoc for markdown to HTML conversion, generating some .md files when necessary (such as from a bibliography, or if so I wanted from a blog/ directory). All without any real templating and relying only upon my bare CSS knowledge -- a nice side effect was forcing me to adopt a minimalist approach.

The entire "generator" is a silly Python script: [https://github.com/tresoldi/tresoldi.github.io/blob/master/b...](https://github.com/tresoldi/tresoldi.github.io/blob/master/build.py) (the site is at [http://www.tiagotresoldi.com/](http://www.tiagotresoldi.com/) , in case anyone cares).

</comment></comment><comment><USER17> Have you looked at gatsby? It doesn't fullfill all points but it comes closer than any other SSG. I think it fully satisfies 3, 4, 5 and 6.

The content API that is not limited to filesystem data puts it in a different category than other SSGs for me. They also seem to have the ambition to take on wordpress. It can involve some configuration though. It doesn't make the use case in the article trivially easy either.

<comment><USER18> IMO, Gatsby is one of the biggest hammers for smallest nails.

I mean, how many dependencies/ceremony do we need to convert .txt > .html?

Webpack? Graphql? Client-side routing? I mean, if you want to have fun with shiny tech, go for it, but it really is the wrong tool for the job.

<comment><USER19> The bottom line is flexibility and speed. With Gatsby you get both. Only looking at it as a .txt > .html convertor is very limiting. I generate 1,500 webpages every day from custom datasources with Gatsby. Using React components gives me DRY code. This gives me very great flexibility during development and great SEO and speed in production.

<comment><USER18> > The bottom line is flexibility and speed

Gatsby gives you neither.

Give me a tree navigation. Oh, it's not supported? Now, in order to implement it, I have to figure nodes/graphql/webpack/fragments (I know the tech, but it it's _used_) to get a solution that I could whip up myself in 30 minutes if the tooling and techstach wasn't bogging me down.

There is a hidden cost to large peices of software with high ceremony. Most people ignore it because of the _initial_ speed you get in setting up the project, but fail to realize the downstream time that will be wasted dancing with these large hammers.

<comment><AUTHOR> This matches my impression of Gatsby after a day with it. I bailed a bit more quickly than with Hugo, so I refrained from adding a Gatsby section to my already too long article. Also my main takeaway was "Gatsby is an overengineered mess from (and favored by) people who are already all-in on React and GraphQL and don't realize the learning curve they're asking others to climb to build simple sites". Too categorical for something I've only spent a short day with, so I decided not to include it.

While I do know React well enough, when trying to work with local content I had to follow a tutorial that asked me:

1\. To install 2 plugins 2\. To copy-paste 3 different chunks of boilerplate code (configuration, the code that maps filesystem data into some kind of representation — maybe using GraphQL already, I'm not sure — and lastly the GraphQL queries to retrieve that data). 3\. To personalize this boilerplate code, which requires me to learn GraphQL.

Other tools can do similar work without plugins, without having to learn a second language (GraphQL) separate from the core language that the tool is using (JavaScript), and without having to write code to feed content into a in-program representation yourself.

It could be that all this overhead is worthwhile because it enables you to do complex things. But from what I've read I wasn't even sure that Gatsby could achieve my use case without me duplicating my information architecture as "feed content to the in-program representation" code, and I didn't want to risk spending a second day only to find out that it couldn't. (Your comments about tree navigation, as well as some of the GitHub issues I've read, suggest I was right to bail out.)

My actual takeaway is that Gatsby might be a good fit if you already know React and GraphQL (or already wanted to spend time learning those), and are working with remote content from a headless CMS and some other sources. But for local content only, unless you already know Gatsby or want to use that project to learn it, it's needlessly complex and overkill.

<comment><USER17> I think you might be right on with "people who are already all-in on React and GraphQL". I honestly prefer writing JSX/React+GraphQL to a template language even for static content. I like that gatsby makes that an option without making an annoying SPA content site. It's a good reality check that this is likely a niche prefer ce.

And I also want to use headless CMSs or other data sources, in my current project a GraphQL source, which maps right in with the (very recent) schema stitching. So I think gatsby is the right choice for me, but I will carefully consider recommending it in the future. Being a VC backed company they may have more cheerleading than other open source SSGs going on.

</comment></comment></comment></comment></comment></comment><comment><USER18> This blog post really captures the motivation behind me creating statik.

[https://github.com/pauldotknopf/statik](https://github.com/pauldotknopf/statik)

> This is a simple tool/library. There are no opinions or abstractions, aside > from the abstraction needed to host and export content. There is nothing > preventing you, the developer, from doing what you want with your project. > Parse and render markdown files in a directory for a blog? Build a user > manual? What ever you want, you can do.

I used it for my resume: [https://github.com/pauldotknopf/resume](https://github.com/pauldotknopf/resume)

See my other HN comment.

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

> I tried using Gatsby for a project of mine. The moment I tried to do > anything not supported OOTB, it seemed I was fighting the tooling (and > webpack) at every corner. It was incredibly difficult just to get a simple > tree navigation.

> One thing I thankful for though is that it gave me a new-found love for the > simple and non-flashy libs/tooling.

> In the end, I wound up writing my own static site generator.

> You may say to yourself "So you just wrote your own Gatsby!?"

> No, I didn't. I wrote a thin lib that you can register endpoints and extract > them to disk. It does absolutely nothing else. The idea is that I will wrote > my own markdown rendering, navigation, html/css, etc for each project. "But > what about the time it takes to implement all the features you need!" The > time it takes to implement these minor things take far less time in the long > run, and I will never have to be in an endless fight with the tooling to get > simple tree navigation. Every feature I implement is exactly what I need, no > more, no less.

> Sure, it isn't as cool as React, webpack, etc. But I'm a lot happier.

<comment><USER20> Wow, you really hate Gatsby don't you?

</comment></comment><comment><USER21> I've been baffled by how brittle static site generator tools are, and how forcefully they push their workflow/concepts onto the user.

I gave up on Jekyll when I tried to hook it up to hit & push each published site as a branch patented to the site branch & the corresponding master commit that was used to generate it.

I ended up fiddling with my SSG and exploring software designs that make it easy to add in weird extra behaviour. I really like how Dist::Zilla (Perl package publishing tool) allows so much flexibility and reuse, without many strong opinions of its own (mostly that packages are a collection of files and that prepare plugins should run before publish ones).

</comment><comment><USER22> To address OP's point about the need to have a bit more control and freedom in the complexity of the content (instead of having only markdown etc), Next.js offers an "export" script that will export the app as a static asset.

I made a static website with it recently and found it very quick to use, assuming you know React. No config or setup required (something rare on js projects nowadays), really just "npm install react react-dom next" and you are good to go.

Build a react component at "pages/about.js" and boom, yoursite.com/about routes to this component.

<comment><USER23> And with that about page comes a bundle of several kb of Javascript...

(At least, that how it used to be last time I used it)

<comment><USER22> yes it does indeed. I'm not saying it's perfect, but it is a very convenient way of generating a static site with more complex content than simple markdown :)

</comment></comment></comment><comment><USER24> I agree with the author that SSGs are tools written by developers for their own use. But what's great about the file-based, command-line-driven interface is that it's possible to hook the input side up to some more machinery if you want a GUI CMS.

I work for Forestry.io, and our product is a CMS that aims to ease the pain of non-developers managing content for static sites. We are committed to bridging the gap between copywriters and developers. I am a big believer in the potential for static sites to transform the web, but I realize there is a lot of ground left to cover.

</comment><comment><USER25> I'm part-way there with [https://github.com/akavel/g-wiki](https://github.com/akavel/g-wiki) (towards an "elegant", or maybe rather "stupid", static site generator):

• it is template-driven, via Go templates engine (the theme/wiki.tpl is the entry point, all other templates are loaded dynamically) — no need to put files in special place in hierarchy (unless you impose it on yourself);

• it has `glob` function for matching files by pattern, e.g. `glob "/20??-??-??-*.md"`, and can render the contents of files loaded this way;

• it has `matchre` function which allows simple editing of page contents (you should be able to cut contents before/after a `<!--more-->`, etc.); by the way, I kinda feel, that the three points above, taken together, probably already make it Turing-complete in some unholy, non-euclidean, blasphemous way, akin to C++ templates...

• the "only" caveat being... it's not actually a SSG (yet™). It's more of a "personal wiki/notetaking" app currently. But the next step and goal in its development is to convert it to a SSG, only I'm still pondering various approaches to go there. And... it's kinda on hiatus now, in that I'm not developing it recently. But if I will develop it, it'd be exactly to convert it to a SSG now, so you should be fairly safe to "watch" it on GitHub. If anything shows up in your inbox, most probably it'd be a set of commits converting it to a SSG. And this very thread on HN may, or may not, make me get back to work on that ;)

Please note it's also poorly documented as of now. Though it has some reasonable --help message contents, see: [https://github.com/akavel/g-wiki/blob/fork/wiki.go#L49-L110](https://github.com/akavel/g-wiki/blob/fork/wiki.go#L49-L110)

Also, for editing markdown, I personally like [https://typora.io/](https://typora.io/) and, more recently, [https://zettlr.com/](https://zettlr.com/)

EDIT: You could actually already try running `wget` on it. This is actually one of the approaches I'm considering.

</comment><comment><USER26> Perhaps should check out [http://www.metalsmith.io/](http://www.metalsmith.io/)

</comment><comment><USER27> From the post:

> Originating in simple blog engines, static site generators treat pages as a > single content chunk (often in Markdown) with some metadata sprinkled on > top. If you need several long chunks of content (say, a product short > description, long description, technical specs, and a list of vendors), > you're out of luck.

I've struggled with this too. I'd really like to write in unadorned Markdown, because I'm using Trello as a headless CMS[0], but I also want the Markdown to map to an object containing discrete chunks of content.

The solution I settled on is to map level 1 headings to separate properties. The content that follows each level 1 heading is converted to HTML and becomes the value of the corresponding property - unless the content is a code block, in which case the code block is parsed as YAML to get a nested object instead of HTML.

[0] [https://github.com/dwilding/trello- kb](https://github.com/dwilding/trello-kb)

</comment><comment><USER28> Give TakeShape a try [https://www.takeshape.io/](https://www.takeshape.io/).

I'm one of the Co-founders. We built TakeShape to be a more end to end static site CMS. TakeShape has a GraphQL API and Static Site generator that uses nunjucks for templating. You could also just as easily only use the GraphQL API with React or GatsbyJS's new native 3rd party API support.

TakeShape has built-in integration with s3, GCS, FTP and Netlify.

TakeShape comes after 7 years of running a design agency and trying to balance the best of many different styles of CMS and site creation approaches.

</comment><comment><USER29> The post author seems to have not reviewed at least the Hugo docs very well. One clean sign is that he listed "Page Bundles", "Leaf Bundles", index.md and _index.md as "different concepts", when in fact they are all Page Bundles.

Also the author completely missed the point that _everything_ is a "page".

I wish I had time to write a detailed reply to this post but looks like the author has made up his mind to puke on Hugo. I hope this reply serves as a warning that the author's warning about Hugo is very uneducated.

AMA regarding clarification about Hugo in that post.

<comment><USER8> Nothing that you wrote really comes across as anything but 'yeah, Hugo is complicated'. Which is sort of the point of the specific call out of Hugo.

And I've been using it for a very long time now. I actually wrote the original _index.md explainer page for the docs at the time the switch was made to stop it being 'abused' for section front matter. At least, I think that was the work around people were using, I forget after all the changes there have been.

Hugo is a powerful tool. I'm sure there are ways to do almost anything with it, and some of them answer the critiques in the article. But it's constantly changing (it's still a long way from version 1.0) and its power and flexibility bring a steep learning curve and their own way of doing things, which seems to also be what the article is commenting on in general with static site generators.

<comment><AUTHOR> My point in that article was indeed about complexity and the difficulty of learning many concepts. How do you figure which concepts are actually "the same"? If they are indeed the same, why ask users to pay the cognitive cost of learning five concepts then figure out that they're synonyms? But are they really the same, though? I gather that they must do a few things differently. In my experience when I renamed a `index.md` to `_index.md`, I lost access to one feature and got access to a new one (my issue was that I actually needed both!).

The section I wrote about Hugo, and indeed my whole article, is not purely about technical capabilities. It's about user capabilities when using specific software, so there's some focus on what the software can do, but also on the user's perception of what the software can do and on the learning curve.

In my day-and-a-half with Hugo, I've read most of the docs twice, and have read some old issues and release notes. It looks like some of the complexity in Hugo's design comes from adding features and redesigning some features over time. This process tends to accumulate cruft, and calls for compromise between conceptual clarity and backwards compatibility.

At one point I've read release note (for 0.20 I think) that said something like "from now on, everything is a Page", but was surprised that different kinds of pages had access to different kind of data, somewhat arbitrarily. By contrast, if you start with a concept like "everything is a page and has a predictable feature set", it's easier to have this simpler design correctly implemented and correctly reflected in documentation.

</comment></comment></comment><comment><USER30> As a meta comment, this trend may also indicate a distancing of developers from end users, which may be a result of companies not being consumer oriented but acquisition oriented.

</comment><comment><USER31> As long as you have a Markdown parser and a template engine, building your own static generator for your current use-case is easier than understanding how to use an existing one.

<comment><USER32> But now you may be wasting time dicking around with it instead of focusing on the goal of writing content. In my experience the procrastination of DIY is very tempting and it's fun to pretend like you truly needed to DIY.

</comment></comment><comment><USER33> GatsbyJS + Contentful API + Cloudinary : [https://www.contentful.com/r/knowledgebase/gatsbyjs-and- cont...](https://www.contentful.com/r/knowledgebase/gatsbyjs-and-contentful- in-five-minutes/) [https://cloudinary.com/](https://cloudinary.com/)

</comment><comment><USER34> Agree entirely that SSGs are completely for developers. I recently wrote on a similar theme, hypothesising a static site generator for "the rest of us": [https://1rick.com/static-sites.html](https://1rick.com/static-sites.html) I really wish something like that existed.

</comment><comment><USER35> No mention of NuxtJS in the article or in the comments here. I highly suggest checking out nuxtjs.org (built on Vue) with the `npm run generate` command to generate a static site.

</comment><comment><USER36> Has anyone here used hammer? It looks like a different take on static site generators.

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

</comment><comment><USER37> statik[0] can do that.

[0]: [https://github.com/thanethomson/statik](https://github.com/thanethomson/statik)

</comment><comment><USER38> _More code should happen in templates_

There's always MDX.</comment>


Archeology from space – discovering history from a few hundred kilometres up - <AUTHOR> https://www.cbc.ca/radio/quirks/sep-14-2019-ground-zero-for-dinosaur-extinction-space-archeology-toes-on-the-brain-and-more-1.5280790/archeology-from-space-discovering-history-from-a-few-hundred-kilometres-up-1.5280806 <comment><USER2> Website requests to use diskspace wanting >10MB just to be allowed to read the article.

</comment><comment><USER2> Website wants to use diskspace > 10MB just to read this article.</comment>


A programmer's oath - <AUTHOR> https://dionyziz.com/oath <comment><USER2> > I will remember that there is art to software engineering as well as > technology , and that there is beauty in code. I will not forget that > programs must be written for people to read, and only incidentally for > machines to execute.

Why is this a part of the oath?

> I will use technology for good and for the progress of mankind, free of > evil, for the betterment of peoples' lives.

[http://en.wikipedia.org/wiki/Moral_relativism](http://en.wikipedia.org/wiki/Moral_relativism)

<comment><USER3> >> I will remember that there is art to software engineering as well as technology , and that there is beauty in code. I will not forget that programs must be written for people to read, and only incidentally for machines to execute.

> Why is this a part of the oath?

Especially considering it excludes potentially useful programs generated by genetic algorithms. Computer generated, computer readable, but typically completely obtuse to humans. Hell, I've experimented with generating unit tests this way in similar fashion to fuzz testing, to good effect!

It's also prejudiced against obfuscated C competitions and various "hack this computer" style challenges which encourage the development of reverse engineering skills.

>> I will not use my knowledge for unfair profit, financial or of other kind.

Fair is a potentially immoral goal in my eyes, even given the incorrect presumption of moral actors. As an extreme example, if the unfair solution greatly benefits each individual more than the fair solution would benefit that same individual, the unfair solution is clearly the correct choice. Taken to it's extreme, "fair" can mean "nobody has anything".

>> When through technology I gain access to private data, I will respect privacy and will not abuse the information at hand.

Bob's "abuse" is Alice's "whistleblower".

Even treated as mere general principles rather than an oath, I would have trouble with this list.

<comment><USER4> > Computer generated, computer readable, but typically completely obtuse to > humans.

This is not code you write. You wrote the program that generated your code or the constraints the program used. That is your code and that should be human- readable.

Does a compiler generate human-readable machine language code?

<comment><USER3> > This is not code you write.

One could argue it's indirectly written. If I write C# that generates C#, my coworkers will generally yell at me with good reason if the generated C# is illegible.

One could also argue that the oath doesn't talk specifically about what I write. At work I will try to uphold readability when reviewing coworker's code as well when reviewing it, regardless of the fact that I did not write it myself. I would also be inclined to try and uphold readability when another program writes the code.

> Does a compiler generate human-readable machine language code?

It can, with the proper options and support tooling, and you probably want it to. How else are you going to debug crash dumps from the wild? pdbs are immensely useful to understanding crash dumps even without the original source code to map to. My work computer has a 1TB+ folder named "builds", serving no other purpose than to archive old releases with corresponding assets and PDBs to ensure those EXEs are easily human-readable, in turn making crash dumps easily human-readable.

No other category takes up more space on my hard drives at work _or_ at home. Even that really big one nobody tells mom about! All dedicated to keeping that stuff human-readable.

</comment></comment></comment></comment><comment><USER5> I like the idea behind this and there's some good stuff here. This one irked me a little because it's lacking nuance:

> I will remember that technology always improves, and will never stop > learning, and the purpose of my life will be continuous self-improvement.

"The purpose of my life" is too strong of a phrase that makes this one sound like it trumps the others.

"Technology always improves" is true at the macro level, but there are a lot of fads, minor regressions, and forgotten gems from the past.

</comment><comment><USER6> I swear: that I will create websites with sufficient contrast between text and background to enable legibility of textual content.

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

<comment><AUTHOR> Hello. Thank you for your feedback! I understand your concerns that the contrast on the page is poor and makes the text unreadable. I'd be happy to merge a CSS patch with a fix for the contrast.

Here's the GitHub for the oath: [https://github.com/dionyziz/oath](https://github.com/dionyziz/oath)

As you seem to have a firmer background in design, you're more qualified than me to edit typography.css and I'd love to see what you come up with. Thank you for your time and criticism :)

<comment><USER6>
        body {
            font-size: 15pt;
        }

        .oath {
            background: white;
            color: black;
        }

        .oath li, .oath span {
            color: black;
            font-size: 15pt;
        }

</comment></comment></comment><comment><USER7> > I will not be ashamed to say "I know not"

If every manager would abide this, my chances of ending up in jail for manslaughter would decrease significantly.

</comment><comment><USER8> Nicely written! You may also want to take a look at ACM's Software Engineering Code of Ethics[1].

[1] [http://www.acm.org/about/se-code](http://www.acm.org/about/se-code)

<comment><USER7> Aye, I was about to point this out as well.

Many of us realize only fitfully that we are at the same forefront of technology that those who created the atomic bombs were. I, for one, have frequent clashes of ethic with my colleagues, and often wonder how long I'll be able to keep working in the industry.

We should reflect on our obligations to mankind more often than we do.

<comment><USER9> > we are at the same forefront of technology that those who created the atomic > bombs were

If the point you're making is that software developers should be as suspicious of harmful consequences of their work as the people at Los Alamos should have been of theirs -- well, it seems to me that the biggest hint of possible harmful consequences of the Los Alamos work probably wasn't the fact that they were working with _new technology_ , so much as the fact that they were (explicitly, by design) working on _more powerful devices for killing and destroying than the world had ever seen_.

I'm pretty sure all the scientists at Los Alamos had a pretty good idea they were developing things that might do harm. That was what they were _for_.

</comment></comment></comment><comment><USER10> I'm sure there's lots of pithy oaths used by programmers over the years, I know I've used a few

<comment><USER11> Our first obligation is to keep the foo counters turning.

</comment></comment><comment><USER12> I've been programming for 31 years, 22 of which are professional experience. This list was hilarious. If it wasn't meant as a joke then you take yourself way too seriously.

<comment><USER13> I'd love to meet the people you've worked with.

<comment><USER6> I suspect you might not.

</comment></comment></comment><comment><USER14> A briefer version:

 _If Goldman-Sachs or the NSA would do it, I won 't._

<comment><USER9> I don't like this sort of reverse-what-the-bad-guys-do approach to ethics. Goldman Sachs have allegedly given something like $1.6B to charities over the last 5 years or so. Should you avoid charitable giving? They pay their employees very generously. Should you, if you run a company, be sure to pay below market rates? The NSA solves hard problems by combining very clever people with powerful computers. Should you avoid doing that?

If you make the principle something more like "If _only_ shady entities like Goldman Sachs or the NSA would do it, I won't" then it becomes much easier to accept -- but then the real work is being done by "others wouldn't do it" rather than by "Goldman Sachs or the NSA would do it".

<comment><USER14> It was a half-joke. Obviously, even _evil_ companies do some things that are sensible, or even laudable. Nevertheless, there's little question that the world would be better off without Goldman-sachs in it. We're talking about a company that has happily speculated on third-world crop futures and started a famine just to line their pockets! I'd be honestly surprised if their charitable donations exceeded the optimum amount for tax deductions.

</comment></comment></comment><comment><USER15> The road to hell is paved with good intentions. 'nuf said.

</comment><comment><USER16> I like the idea of an oath like this and also thought about creating something a bit similar. Maybe you could call it a "Hippocratic Oath of Computer Science".

I think it should be extended to all computer scientists not just programmers (or maybe even all of science). Some things in the oath should be a lot more explicit and more strict in my opinion. For example creating or helping create weapons or surveillance technology should be strictly forbidden.

<comment><USER17> "helping create weapons or surveillance technology should be strictly forbidden"

That assumes that there are no legitimate reasons for weapons or surveillance technology to exist - and what counts as a weapons or "surveillance technology"? (e.g. are average speed cameras "surveillance technology")

As a bit of background I actually failed an interview once when I was asked about my views on nuclear weapons and I replied (this was the late 80s) "they are a necessary evil". Quite what an acceptable answer would have been escapes me...

<comment><USER16> I fail to see the legitimate reason software assisted weapons or mass surveillance tech have to exist. Enlighten me? See my other reply below for your relativation fallacy.

<comment><USER17> "Software assisted weapons" have existed in one form or another for ~60 years (even longer if you count analogue computers). I'm not sure why you need a "legitimate reason" for these things to exist - they already do and arguing that they shouldn't doesn't achieve very much.

</comment></comment></comment></comment><comment><USER18> It misses a logo, which you can put on your personal website to signal "I swore that oath".

</comment><comment><USER19> I will test my changes before I commit them to production.

</comment><comment><USER20> A nice idea. I just contributed a Dutch translation.

</comment><comment><USER21> frankly, most of the list is fluff. I would put up there with user privacy, user experience. The mot annoying, dangerous, and demoralizing thing programmers can do is create insecure and badly designed software.</comment>


How Scammers Turn Google Maps Into Fantasy Land - <AUTHOR> http://www.businessweek.com/articles/2014-03-28/how-scammers-turn-google-maps-into-fantasy-land <comment><USER2> "I will setup a a honey pot/trap/perform an SQL injection on a website then go to the people in charge and explain the vulnerability" is an incredibly stupid thing to do.

I think it shows an immature understanding on how large bureaucratic organizations work. In either way he might learn pretty soon. Depending on the incentive structures and their emergent effects they won't act rationally. He can be seen as trying to test vulnerabilities to exploit them. He might have broken some law he doesn't know about and someone is looking for a case to work on and might take it. He might be perceived as someone to be made an example of to discourage these things in the future. Etc etc...

I think there is a good chance he will be charged with fraud or a crime and the fact that he wasn't is surprising.

</comment><comment><USER3> > Seely says that as far as he knows, he's not in any trouble.

I wouldn't be so confident.</comment>


Ajit Pai: How the FCC Is Paving the Way for Innovation - <AUTHOR> https://www.youtube.com/watch?v=BZ6H1qxzaDg <comment><USER2> He won't speak at any tech conferences so now I guess he has to go to places that won't challenge him on his positions. Basically conservative rally (CPAC/ NRA). The NRA (National Rifile Association) oddly just gave him an award for "saving the internet". [1]

sigh. I think the internet was functioning quite well before he "saved" it.

[1][https://arstechnica.com/tech-policy/2018/02/nra-gives- ajit-p...](https://arstechnica.com/tech-policy/2018/02/nra-gives-ajit-pai- courage-award-and-gun-for-saving-the-internet/)

<comment><USER3> What in the actual fuck is that article satire or are these people for real?

</comment></comment><comment><USER4> I find it bizarre that we mix infrastructure and regulation with politics.

American Conservative Union giving out awards to non-partisan government institution representatives strikes me as inappropriate.

*Not from the US so I likely don't understand the nuances of the situation.

</comment><comment><USER5> The monopoly telecoms get tons of money from the government. The point of the regulations is to protect the taxpayer's money that they are using in the name of "narrowing the digital divide". They have always been doing a poor job at narrowing the divide, why assume we can trust a for-profit organization to do the right thing on their own? I doubt that increased competition will create enough profit for these monopoly telecoms to move into sparsely populated, lower income areas of America.

</comment><comment><USER6> Can we just booooo? Brandolini's law...</comment>


Ask HN: What jobs have been taken over by AI/ML? - <AUTHOR> The news cycle of jobs getting taken over by AI/ML/DL keeps repeating, but can someone provide few concrete examples of which jobs have been already taken over or are in the process of getting taken over? Machine automation took over many industrial/manufacturing jobs but that happened many years ago already. I am looking for examples where specifically AI/ML/DL  technology was reason for job vaporization. <comment><USER2> AI/ML has not matured enough to take over any jobs. However "computing" in general has replaced a lot of jobs such as flight scheduling, CRM voice calls, analysts who used to pore over crime data have been replaced with excel statistic functions etc.

</comment><comment><USER3> OCR Basics: "Reading and Sorting Mail Automatically" 1970 US Postal Service

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

</comment><comment><USER4> Right now AI is displacing man hours, not people. Police are able to eliminate costly evidence gathering with video surveillance and LPR. More capabilities are coming available now.

When the economy blows up again, that's where AI will start eating jobs. You'll be able to afford the capital investment in technology by shedding people.

My guess is that the most initial impact will be for supporting the operations of traditional process based computing. First they'll come for the sysadmins and low level BA types, then the armies of CRUD developers slinging java.

Honestly, "AI" can mean many things. My employer used to have many people managing old school SANs. Cloud storage makes them moot. Is that AI? Probably not. But I would certainly pitch it as AI related to claim my share of the open savings.

</comment><comment><USER5> Spying on citizens.

<comment><AUTHOR> You mean something like Sensetime. The political aspect aside, here no jobs were replaced but actually created.

</comment></comment><comment><USER6> I guess credit approval was taken over somewhat by credit scores but that was quite a while ago.

There's some basic ml in generating credit scores. Mapping credit information to default rates. Logistic Regressions I believe.

<comment><AUTHOR> As you said there might be some "basic ML" involved in credit rating but that can probably replaced by mean/median/mode kind of computation easily. Although this is one area which ML can completely take over, i.e. instead of maintaining a static score, ML can predict the likelihood of an individual returning the loan based on gender/age/income/zip code and tonnes of other info.

</comment></comment><comment><USER7> Facebook's powerful lookalike ML means lots of account ad op managers who used to be necessary to get good online targeting are obsolete.

</comment><comment><USER8> Translation services</comment>


Diddle, a Data Definition Language for people who don't like to type a lot - <AUTHOR> http://diddle.codeplex.com/

<comment><USER2> Terrible name. Not much bothers me, but you might want to change the name in order to not offend many people.</comment>


Apply HN: Digital Teleportation = SocialAR/VR - <AUTHOR> Talking with a previously unknown person is common in the real world but is quite hard to do online. Thanks to VR that mimics the real world it should be possible now to meet people on the internet...
Imagine a never ending street fair welcoming people from everywhere...
First we need to solve two problems:
- break the limit "no more than ~100 can attend an event in VR"
- build a virtual world with relevant content
DiveReal networking technology: a distributed system, a 3-layered overlay tested with 20k simulated avatars together in one place. Long story short: add more servers to accommodate more users in your room. btw: there is only one "room", planet-sized.
DiveReal virtual world: we use streetview, we use the whole planet, you can send your avatar anywhere on earth. With AR devices you'll see the avatars coming to your living-room (see "holoportation" from MS Research)
Go at http://divereal.com and try the software for Oculus Rift DK2 (0.7)
Also I am working on a new release due in few weeks, to betatest the dev version send me an email at firstname.lastname@example.com
Builds available for: GearVR, Oculus Rift and desktops (Windows, OS X, Ubuntu)
This is an application for YC fellowship, if you like the project and want to help, upvote and discuss, see: https://news.ycombinator.com/item?id=11440627
Questions, comments, ... your valuable feedback is very welcome <comment><USER2> In the real world I pretty much never talk with other people unless I have a specific reason to do so. On the other hand, I talk to random people on the internet everyday via channels like IRC, reddit, Twitch, video games etc. So your initial claims are a little hollow to me. I'd rather VR/AR interaction not become more real worldy b/c real world interaction sucks.

<comment><AUTHOR> You make a point: SocialVR is not yet a success, I still believe it will.

However, actual systems for realtime communication with "random" people have the merits of existing but are less than perfect.

\- Reddit: not realtime, you post and hopefully get an answer. Most of the time, never.

\- IRC: most channels are empty, some are overcrowded, rarely there is the right number to an interesting chat

\- twitch: better than irc, but still the most popular chatrooms are overcrowded and then useless. So people are not chatting or interacting, just watching tv.

\- video games: the interaction is around the game, you rarely start talking of something else

I strongly agree with you: online is better than real world in many ways, for example: you do not need to physically move yourself to meet people. Also maybe online is useful to overcome shyness. SocialVR have to take what's good in real world and what's good online.

I have to stress that last element in my pitch. Thanks for challenging me.

</comment></comment><comment><USER3> > Talking with a previously unknown person is common in the real world but is > quite hard to do online.

My personal experience doesn't match your claim. Are you sure about this?

Aren't the people who have trouble meeting someone online going to have the same problems in VR? Wouldn't people who have trouble talking to people face- to-face have the same trouble in VR?

<comment><AUTHOR> Yes, I understand is not so easy to meet new people in the real world.

But look, check your facebook friends, where have you met them? How many online?

I am curious: how do you meet people online ? Can you describe how it works ?

What social service, app or website, will you recommend ?

</comment></comment><comment><USER4> So it's got a really cool Facebook like factor to it. But, How do you out facebook, facebook and microsoft with their own tech. So, you need to provide access to this world with as many options as possible. Kind of like dropbox did with file sharing. You can connect to this platform with what ever tech you bought. At least my opinion.

<comment><AUTHOR> Thanks for yours comments/questions.

Peter Thiel in Zero to One asks "What Do You Know Is True That No One Else Agrees Upon?"

Actually facebook et al. only imagine SocialVR with rooms. But rooms are a fiasco.

Do you remember [https://en.wikipedia.org/wiki/Google_Lively](https://en.wikipedia.org/wiki/Google_Lively) ? The hype on Second Life was high and google decided to enter the social VW arena. In google lively, you could spawn a new room for free, 20 users max per room. It end up with thousands of empty rooms and a bunch of full ones with everyone trying to enter those already full. It was a total failure, stopped after few months.

Every SL user know how it works: you spend a lot of time and energy organising an event, sending invitations, preparing new content, etc... Hopefully people start arriving and then you have fifty attendees and things start lagging and you need to repel new people arriving. There are maybe thousands willing to attend but no avail you will only get <100.

DiveReal have no "rooms", only one contiguous space that never gets too crowded. This makes a huge difference.

Facebook don't know that. They do not understand that with multiuser rooms they are going to have many empty rooms and few overcrowded.

But I agree with you: DiveReal has to be open to all devices. I just started with Oculus Rift because they were more developer friendly than alternatives.</comment></comment>


Study: people who eat and exercise the same as people 20 years ago are fatter - <AUTHOR> http://www.theatlantic.com/health/archive/2015/09/why-it-was-easier-to-be-skinny-in-the-1980s/407974/?single_page=true <comment><USER2> This article is very depressing news. But, as technologists we are used to dealing with a new reality and change. I think many people will use this as an excuse to give up. It really means more than ever we should get outside or into the gym. Speaking of which I feel like I should go for a walk and get some fresh air.</comment>


CheapAir accepts Bitcoin - <AUTHOR> http://www.cheapair.com/blog/travel-news/book-your-flights-on-cheapair-with-bitcoin-virtual-currency/ <comment><USER2> I've used this to buy tickets and it was an incredibly easy process. Really, buying anything with Bitcoin is pleasurable experience... even simply to not be beholden to any bank to send money is amazing.

<comment><USER3> It's similar to watching only downloaded/purchased content versus watching the TV. Once you're used to having no advertisement, turning the TV on is very awkward with all the publicity.

When using Bitcoin, not having to deal with all the road blocks and fees from banks is quite refreshing. Not having to ask permission to do what you want with your money is great!

</comment></comment><comment><USER4> I feel like a lot of these headlines lately are extremely gimmicky given the high volatility of bitcoin prices. These companies are just straight converting BTC back to USD which in the long run does nothing positive for true widespread adoption of bitcoin as a means of exchange.

<comment><USER5> Baloney: If I buy an airline ticket with a credit card, my credit card info may get stolen- There seems to be a story about stolen credit cards in the news almost every week.

With bitcoin, I can buy an airline ticket without this being possible.

<comment><USER6> But your credit card is almost always protected from financial liability if someone steals it and you report any non-authorized charges. With bitcoin, there seems to be no recourse when the exchanges get hit. This is not to mention that you are much better protected with a credit card due to the ability to contest a merchant charge if things go sour (you didn't get the product, it was defective, etc.) not to mention other benefits of credit.

<comment><USER7> The overall cost of all the fraud-protection that credit cards have is quite large, and ultimately gets passed on to the consumer.

<comment><USER8> Sure. But I can pay Cheapair for a return ticket $1343 with my credit card and get the fraud protection or pay the exact same price at prevailing Coinbase exchange rates (plus mining fee) and not get the fraud protection. Or, in the example I picked at random, find whitelabelled $1008 or Scandinavian $1212 returns running the same search on Kayak.

Only a shill, or someone without a credit card, could argue that paying in BTC was an advantage in this instance.

<comment><USER9> Or someone holding an appreciating currency dodging capital gains tax.

By using btc you avoid paying capital gains tax since basically everyone who holds bitcoins right now has seen their investment go up in value. Converting back to usd is not as good as spending the btc.

It is kind of nice having a currency that appreciates in value over time vs slowly getting robbed by inflation or capital gains tax.

As a vendor right now it makes sense to accept bitcoins and immediately convert back with bitpay or equivalent because there is no risk, lower transaction fees, and you open up your business to selling to people who want to do business with bitcoins for a variety of reasons. Some crazy reasons, some more rational reasons, but it really doesn't matter because they have money and want to spend it in btc.

Also I suspect there is a lot of "new money" in bitcoins right now made up of people who got lucky as early investors but have little or no sense of money management and tons of disposable income. This group of people make up a very desirable customer segment. I expect we will see a lot of businesses selling luxury goods rush into the bitcoin space soon(Like people selling space trips that may or may not ever exist).

<comment><USER10> Technically, you owe taxes the moment you buy something with Bitcoins that have appreciated in value:

[http://www.bitcointax.info/](http://www.bitcointax.info/)

(That says nothing about how many people actually report that though.)

<comment><USER9> Technically you owe taxes on online purchases.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Does anyone know how these guys are processing Bitcoin? Are they using Coinbase or another processor? (Would it be feasible to roll your own transaction handling?)

<comment><USER12> They're using Coinbase: [https://coinbase.com/docs/merchant_tools/examples](https://coinbase.com/docs/merchant_tools/examples)

</comment></comment><comment><USER13> Please don't upvote a 2 week old article, and especially one with little actual content other than a "rah rah Bitcoin!" message.

<comment><USER14> rah rah Bitcoin!

</comment></comment><comment><USER15> I'd like to know how they are hoping to hedge BTC volatility, or if they are not planning to hedge at all.

<comment><USER16> I assume they are using a bitpay or similar which allows merchants to instantly convert bitcoin to USD (or equiv) funds at the time of purchase. Using this system, the merchant always receives the correct fiat amount, while still benefiting from the other advantages that bitcoin brings (low fees, no chargebacks).

<comment><USER17> Wow. No chargebacks? I know almost _zip_ about BTC but this seems a bit dangerous for the consumer, though VERY merchant friendly. If BTC goes mainstream, do we expect a middleman-type escrow service to arise for everyday purchases?

<comment><USER18> You can do clever things with BTC to make them reversible in cases where reversibility is nice. First, you can implement a centralized PayPal-type company that clears after X days to implement chargebacks. Boring, but easy to understand and effective. The clever way to do it is with M-of-N transactions, [http://www.bitescrow.org/](http://www.bitescrow.org/)

PS. When I order from Amazon, etc. I trust them. I get 2% back using bitcoins (from Coinbase.com (-1%) -> Gyft (+3%)). I like the 2% discount more than the credit risk of Amazon not making me happy at the end of the day : )

<comment><USER19> Fidelity offers a 2% cash back on everything card. Amazon's credit card also gives you higher than 2% on Amazon purchases. Could you elaborate more why you do a double conversion to buy something rather than a straight credit card transaction?

<comment><USER9> Basically at this point it is tax avoidance. By using btc you avoid paying capital gains tax since basically everyone who holds bitcoins right now has seen their investment go up in value. Converting back to usd is not as good as spending the btc.

It is kind of nice having a currency that appreciates in value over time vs slowly getting robbed by inflation or capital gains tax.

</comment></comment></comment></comment></comment></comment><comment><USER20> Gee, this isn't a direct route to "extra TSA attention" or anything ...

</comment><comment><USER21> Where's Dogecoin support? This is a major oversight on CheapAir's part, IMO

</comment><comment><USER22> This is ridiculous! Some said the price of BTC dropped to overreaction to bad news. Well, a street vendor in UK starts accepting Bitcoin for burgers and price jumps above $1,000 in excitement (I'm kidding, of course). Talking about overreaction! Let's see some real commerce numbers, not marketing tricks to get more news coverage. I got tired of seeing everywhere in the news that one Florida guy bought a Tesla in California! With such volatility, you need to put a huge buffer in your pricing and only idiots and criminals will spend their BTC instead of paying with fiat in such case. There was some new about Indian business accepting Bitcoin then some Indian guy converted the price and showed Bitcoin price was x3 higher! If BTC is a currency, it should move up and down by no more than 1-2% (like a real currencies do) otherwise it cannot be used in serious commerce, period. At this point, Bitcoin, unfortunately, is a speculators tool. And if you invest in Bitcoin, don't forget, you're in the hands of the Chinese investors (kings of the panic sells) and the governments. Also, there are many fake news and incorrect interpretations of news about Bitcoin. Like some putting the wrong wording in Al Gore's mouth about Bitcoin when he meant something totally different or Snoop Dogg making a joke and people taking it seriously.

If Bitcoin dropped 40% due to overreaction to no-so-bad news, imagine what will happen when really bad news come out!

I believe in Bitcoin, but I cannot tolerate the madness around the price. Even if you use it as a speculator, your future medical bills will not be able to cover the profit you're gonna make - with such huge swings, the stress is way too much for the profits. Just try to imagine the Winklevoss seeing BTC dropping by 40% and tens of millions of their imaginary wealth disappearing in minutes! It's better to do margin trading with Forex - you can make even more with less stress. So, speculators, please, leave the Bitcoin land and move to Litecoin or other speculator playgrounds. Don't kill Bitcoin with your greed, please!

<comment><USER23> > _it should move up and down by no more than 1-2%_

1-2% in what period of time?

EUR/USD pair can move 10% in less than two months. Which it did Feb 3rd -> March 28 this year. It moved -20% in 3 months (24 Jul -> 25 Nov, 2008).

<comment><USER22> I'm talking about daily movements - with Bitcoin we see huge up and down movements, which are good for speculation, not for business.

<comment><USER23> It will settle down, give it time, it's too new, it's still growing very fast.

<comment><USER24> It _might_ settle down. It also might not settle down. BTC might lose popularity in favor of an altcoin. We don't know yet. We're in completely uncharted territory, nobody knows for sure what is going to happen.

<comment><USER23> Yes, it's possible, but not likely. There's a ton of infrastructure behind bitcoin. Tons of news coverage. Tons of debate. Nobody is aware of the second biggest coin - litecoin.

<comment><USER22> Too young to remember DotCom? There was tons of infrastructure back then as well.

<comment><USER23> So? IT is doing extremely well. The internet is bigger than ever. Valuations are still crazy.

<comment><USER22> IT will always be well - I'm talking about people who put their savings into vaporware stocks. I'm not sure why everybody is giving Tulip Mania as an example when DotCom is away more similar to Bitcoin. I even thought about a version of Bitcoin, which is based on stock. You create a vaporware corporation and use its stocks as a currency, well, commodity. :)</comment></comment></comment></comment></comment></comment></comment></comment></comment>


The Mongoose Programming Language - <AUTHOR> http://brainplex.net/mongoose <comment><AUTHOR> Those interested in the source code and development can start with my GitHub for 'minimal-compiler'. This is a research project in programming language development.</comment>


The Trouble with High IQ - <AUTHOR> http://neurosciencenews.com/iq-hyper-brain-body-7720/ <comment><USER2> Neuroskeptic is, unsurprisingly, skeptical: [http://blogs.discovermagazine.com/neuroskeptic/2017/10/22/in...](http://blogs.discovermagazine.com/neuroskeptic/2017/10/22/intelligence- risk-illness/)

 _Secondly, I have concerns about the sample. This wasn't a study of high-IQ people. It was a study of Mensans, a self-selected subgroup of high-IQ people. 6.5 million Americans fall in the top 2% of IQ, and only 55,000 of them are members of American Mensa.

In other words, Mensans make up about 0.8% of high-IQs, and Karpinski et al. have data from less than 10% of Mensans, so the sample is seriously unrepresentative.

The 'national average' comparison data, however, were taken from nationally representative American samples. The age, gender, and ethnic demographics of the Mensa respondants differ considerably from the national average.

Even if we take the results of this study at face value, the 'hyper- brain/hyper-body' theory is rather horribly simplistic. It reminds me of ancient Greek humorism, or 19th century neurology's talk of 'nervous excitement'. The brain is not a gland that just pumps excitement when aroused._

<comment><USER3> It may well be that higher anxiety people are more likely to join Mensa.

<comment><USER4> That sounds counterintuitive to me. "People with anxiety are more likely to join a community."

<comment><USER5> Not really, people with anxiety are often looking for self-validation and self-affirmation. Joining a community that screams "we're more intelligent than 99% of the population" sounds like a fair way to go with that anxiety.

</comment></comment></comment></comment><comment><USER6> Mensa members are a small subpopulation of Americans with high IQ, so it's a stretch to conclude that high IQ is the problem. To me it's more plausible that someone seeking to boost self-esteem and social status by joining a weird organization tends to be a more troubled person than intelligent people in general.

<comment><USER7> It may only be a coincidence, but I do have high IQ and exactly the kinds of problems they mention in the article. I'm not American or a member of Mensa. I have Hashimoto's thyroiditis, and inflamatory reactions to certain foods. I also have high anxiety. Strong emotions or stress can be overwhelming enough to give me gastritis or even ulcers sometimes.

<comment><USER8> Welcome to the human race. We all feel that way at times I would tend to believe.

</comment></comment></comment><comment><USER9> Perhaps more appropriately "the trouble with Mensa members." A study consisting only of Mensa members might not generalize to all people with IQ >130\. There are two things needed to get into Mensa: 1) a high test score on a qualifying test, and the important 2) some reason why it is worth it to pay $70 per year to be a member.

Reason 2) is why I think that these results might not generalize. Many people join Mensa for the narcissistic reason of being able to say that they are in Mensa. I'll bet that narcissism has a larger impact on anxiety disorders. Mensa is not representative of the general population of smart people when it comes to narcissism. Obligatory note: there are other reasons to join Mensa, such as the networking aspect of meeting other smart people.

There are tons of really smart people that have high test scores (or never bothered to take an IQ test) that are well adjusted and get by just fine in their life. They demonstrate their genius in their actions, not by their words.

</comment><comment><USER10> They should have concluded that people with anxiety disorder more likely to join Mensa.

<comment><USER11> Would give this study a fresh angle, wouldn't it?

</comment></comment><comment><USER12> A possibility: People with high IQs notice patterns (with a higher fidelity) that are not noticed by people with lower IQs.

Thinking in terms of a bell-curve probabilistic distribution: If there is a baseline cultural perception (reality, narrative) shared by the majority of people, those with high IQs will notice the degenerate patterns, hypocrisies, and general systemic issues with the baseline.

One would need to live with these forces out of one's control. There are many strategies. Some involve exploiting information asymmetries, some involve creating a worldview (i.e. ethics, facts) that justifies these issues, some involve taking actions to improve the conditions of the individual & collective.

If one creates a personal worldview that is full of contradictions & unresolved paradoxes, then anxiety occurs.

<comment><USER13> This.

</comment></comment><comment><USER14> How valid is studying Mensa to get a representative cross section of intelligent people? I would wager many on this site are intelligent enough to qualify for Mensa, but why would they join? Most will be sufficiently surrounded by intelligent people in their day-to-day life to be stimulated. I wouldn't be surprised if the membership of a selective club for clever people is most sought after by people missing something from their lives.

<comment><USER15> I can second this. I have met a few Mensans who said I should join, and I think I would qualify, but I just don't feel that interested in it (though it might be a good way to get some more community in my life). I too think people who would bother to enter Mensa probably think or feel a bit differently in a way which would affect a survey like this.

</comment></comment><comment><USER16> Overexcitability is a known concept in the gifted education community but it does not usually imply disorders.

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

A critical analysis of the research used in the article is worth reading: [http://blogs.discovermagazine.com/neuroskeptic/2017/10/22/in...](http://blogs.discovermagazine.com/neuroskeptic/2017/10/22/intelligence- risk-illness/)

</comment><comment><USER17> The usual disclaimer is in order. Remember that just because A causes B, that doesn't mean that if you have B then you necessarily have A.

<comment><USER3> We haven't even gotten to evidence of causality yet.

</comment></comment><comment><USER18> increased instability at higher functions than normal?

...sounds like typical overclocking issues.

<comment><USER19> Reaction time correlates strongly with g factor.

</comment></comment><comment><USER20> My children have had their IQs tested with scores >= 150. This was a requirement for the private schools that we applied them to, it wasn't something we were particularly interested in scoring.

One thing we've learned about high IQ children is that many experience asynchronous development, meaning that some parts of their development are much faster than others, which could actually be delayed. Things like emotional immaturity, oversensitivity, etc are usual behavior traits of children with high IQs.

The private schools for gifted children are the ones that cater to those children with Social Emotional Learning (SEL). They focus on the emotional side of development as opposed to purely academic, and so far so good. I've met quite a few private-school grads from the Bay Area, and the last thing I want to raise are unhappy, anxiety-ridden children after spending tens of thousands of dollars a year. I've met quite a few adults who very much seem to be emotionally damaged from their private school experiences at places that seem to give detention for things like not tying your shoelaces, etc.

Focusing early on children's emotional needs and development early will I hope help them not be filled with anxiety, unhappiness, self-doubt, etc.

<comment><USER21> If you knowingly put your kids in a school for the gifted, didn't you expect them to evaluate their giftedness?

<comment><USER20> Where did I say I didn't expect them to be evaluated?

</comment></comment></comment><comment><USER11> The trouble with this study - if I should guess - is selection bias: How many of those high IQ individuals are actually member of Mensa?

Given some test many years ago, I might have been qualified to become a member of this club - but never tried, as I would like to see people as people and not people as their brains, only. Maybe Mensa selects for those who are anxious about their abilities and find the notion of the club card in some way - soothing.

</comment><comment><USER22> Of course there is a bias in this study with people in Mensa. There is also an added bias: people tested for IQ (in Europe) are tested because of behaviour issues usually.

the interesting question is imho what do you think (from your experience).

Are you/your friends with high IQ psychological issues? I've read previously that high IQ protects from such trouble

</comment><comment><USER23> So there is a correlation between having psychological problems to being in Mensa. Since no causation was demonstrated here, not even for the sample in this study, the conclusion is not more than a clickbait.

</comment><comment><USER24> Terman in 1922 found similar levels of "maladjustment" in a long term study of the gifted. Women are more susceptible, and it increases with both IQ and age. [http://prometheussociety.org/wp/articles/the- outsiders/](http://prometheussociety.org/wp/articles/the-outsiders/)

</comment><comment><USER25> "Karpinski and her colleagues developed a hyper brain / hyper body theory of integration. It posits that individuals with high cognitive ability react with an overexcitable emotional and behavioral response to their environment"

This is one of the main characteristic of diagnosed gifted people as it is commonly admitted.

</comment><comment><USER26> > Each was asked to self-report their experiences of both diagnosed and/or > suspected [...] disorders

So who else sees a problem with the methodology here. I mean, it sounds as if the data was collected in a different way than the data it was compared to.

<comment><USER27> That particular caveat is actually mentioned in the paper:

 _With the self-report, survey method there is often a risk of selective recollection of data as well as potential over- or under-reporting. However, there are numerous published, peer reviewed articles in highly reputable journals that use a self-report method, including those that use data sets which rely heavily on survey data (e.g., Der, Batty, & Deary, 2009; Wraw et al., 2015; Wrulich et al., 2013). Additionally, empirical research has confirmed that self-reported health ratings are reliable and valid measures of health (Haapanen, Miilunpalo, Pasanen, Oja, & Vuori, 1997; Liang, 1986)._

<comment><USER26> Thanks for the quote.

I am just wondering if '...empirical research has confirmed that self-reported health ratings are reliable...' is still true if you pre-select the individuals to have a high IQ.

</comment></comment></comment><comment><USER28> Some earlier discussion of this at [https://news.ycombinator.com/item?id=15501006](https://news.ycombinator.com/item?id=15501006).

</comment><comment><USER29> On a tangent, does anyone here have any experience with other high IQ societies like the triple nine society?

Are they any good for networking (especially for people not in the US/Canada)?

</comment><comment><USER30> I wonder if anyone will point out that limiting their study to Mensa members was a mistake.

Oh wait, that is what most of the comments are saying.

<comment><USER31> Mistake is harsh. Limitation is better. Finding a.sample given a set of resources can be extremely difficult.

</comment></comment><comment><USER32> I am above average intelligence and nothing pisses me off more than stupid people (especially stupid people gathering in large numbers). I can withstand nearby gunshots or explosions without emotional stress (I am military), but stupid people proclaiming their awesome wisdom really alters my emotional state.

I had to stop visiting Ars Technica. Their news is great, but I wish I could turn the comments at the bottom completely off. Their comments (really from any news site) are a marvel in the study of stupid people coming together (commonly referred to as an echo chamber).

<comment><USER33> Speaking for myself, I would feel pretty dumb if I got angry due to echo chamber comments on online articles. Why would you cause stress to yourself after reading vapid comments, when it's not mandatory to scroll to the bottom of the article/fb post and read them?

<comment><USER32> > Why would you cause stress to yourself after reading vapid comments

I am not a behavioral health researcher, and so cannot answer as to why people get mad at things.</comment></comment></comment>


IBM Q System One - <AUTHOR> https://www.research.ibm.com/ibm-q/system-one/ <comment><USER2> Maybe this will do for quantum computing what Watson has done for machine learning.

<comment><USER3> I cannot tell if this is intended as a very dry joke or not.

<comment><USER4> Neither can Watson.

</comment></comment></comment><comment><USER5> Their Q-Experience FAQs are a much more substantive way to approach what exactly this thing will deliver: [https://quantumexperience.ng.bluemix.net/qx/tutorial?section...](https://quantumexperience.ng.bluemix.net/qx/tutorial?sectionId=full- user-guide&page=000-FAQ~2F000-Frequently_Asked_Questions)

Beginner's guide to working with System Q: [https://quantumexperience.ng.bluemix.net/qx/tutorial?section...](https://quantumexperience.ng.bluemix.net/qx/tutorial?sectionId=beginners- guide&page=introduction)

</comment><comment><USER6> The number of words here talking about the eye catching design is proof that this is a decorative item that does nothing.

<comment><USER7> Design != Aesthetics.

The design is pretty important for a quantum computer.

<comment> white-flame > _eye-catching design_

> _To design IBM Q System One, IBM assembled a world-class team of industrial > designers, architects, and manufacturers_

> _...industrial and interior design studios..._

> _...manufacturer of high-end museum display cases..._

They are absolutely talking about the aesthetic housing design, not the actual quantum engineering designs. About the closest they get in the Design section is talking about it being airtight and accessible for maintenance.

<comment><USER8> As far as the housing design: The way it is cylindrical, suspended from above and half lit in a dark room instantly made me think of the Poop Machine at MOMA.

</comment></comment></comment></comment><comment><USER9> The description talks a lot about commercial uses. Are there problems that the quantum computers of today are actually better at solving than traditional computers? I realize that for many things they're better in a theoretical big-O sense, but does that translate to better wall-clock speed? Presumably you could get a lot of AWS computing for the same cost as one of these.

<comment><USER10> > Are there problems that the quantum computers of today are actually better > at solving than traditional computers?

When the first hard disk (IBM RAMAC) was developed, people drew the same sorts of conclusions. The difference there was that they weren't convinced that the disk would be faster than a secretarial pool. The net was that IBM invented hashing and made it definitively the case that the disk WAS faster.

Hopefully, sixty years later, they are able to address your similar concern in a similar way.

<comment><USER11> People keep bringing this up. There was at least a theory about what the early computers would be good at that prior methods wouldn't. Then, they hoped they could improve them with research to do more. Even the ENIAC in the 1940's got used as a large calculator for defense applications:

[https://www.thoughtco.com/history-of-the-eniac- computer-1991...](https://www.thoughtco.com/history-of-the-eniac- computer-1991601)

Similarly, you could say what value ARPAnet would provide, disks, email, telephone, and so on. Whereas, using this argument for quantum computers (here) or blockchains (another thread) makes no sense given they aren't doing anything better than existing techniques. They're actually a step back on most metrics. Q is both a research tool and a commercial waste of money until it proves to be better than a classical computer at some practical job. An example where quantum tech was theoretically better from the start was Quantum Key Exchange with modifications on the line detected. Even that goal was easier to solve without quantum methods, though.

<comment><USER10> > People keep bringing this up.

I think the idea that a new technology takes work to provide demonstrable value shouldn't be so surprising. That had to happen with RAMAC and may or may not happen here (or with Blockchain, etc.)

</comment></comment></comment></comment><comment><USER12> Does it have enough error-corrected qubits to actually do something useful, or is it a high-tech piece of luxury furniture?

<comment><USER13> The latter.

More seriously though, there won't be a true error corrected quantum computer for a long time. People are hoping that there can be useful applications with imperfect physical qubits.

<comment><USER14> At the very least the machines are being used to experimentally verify quantum correction algorithms. See, e.g., [https://arxiv.org/abs/1708.02297](https://arxiv.org/abs/1708.02297) and [https://arxiv.org/abs/1709.01866](https://arxiv.org/abs/1709.01866) and [https://arxiv.org/pdf/1709.00990.pdf](https://arxiv.org/pdf/1709.00990.pdf)

</comment></comment></comment><comment><USER15> I _love_ that product design. It's not since the Cray 2 and the CM-2 that I see such a striking piece of big iron.

<comment><USER16> Not to burst your bubble, but that is just the vacuum can on the dilution refrigerator and is a standard piece of hardware you will see in many physics labs. There wasn't really any product design beyond slapping the IBM logo on there.

<comment><USER17> Of course there was. Deciding what not to add is just as much of a design decision as what to add. I spend no time in physics labs, and like the parent i too find the aesthetic quite striking.

<comment><USER18> That's a lot of glass for the cleaning crew to wipe down each night. I wonder if it takes special training, or if someone just sticks a "Do not touch" Post- It note to the thing.

<comment><USER10> Or "Do Not Erase!"

<comment><USER15> Now I imagined replacing the glass panes with transparent LCDs or LED displays that would give an idea of system status at a glance.

These machines are, like the supercomputers I mentioned, meant to be displayed as a status symbol.

<comment><USER10> > replacing the glass panes with transparent LCDs or LED displays

I guess the CM-1/2/200 machines are the quintessential example of this. The Cray-2's cooling system isn't an active display, but it gets style points too (IMHO).

(But...I've worked in a few places that used glass windows (or other glass surfaces) as whiteboards... That's really what I was thinking of. :-) )

<comment><USER15> The Cray-2 had some indicator lights on the top of each lobe. I'm not sure how helpful they were to gain an understanding of what the computer was doing. I can't tell how much work my home cluster is doing by looking at the ethernet switch LEDs.

The LCD would nicely replicate the window-as-whiteboard experience though, at the sacrifice of some readability, because the object behind the glass is so interesting.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> Reminds me of this announcement from AWS nine years ago: [https://aws.amazon.com/blogs/aws/introducing-qc2-the- quantum...](https://aws.amazon.com/blogs/aws/introducing-qc2-the-quantum- compute-cloud/)

</comment><comment><USER20> Did they just put the refrigerator in a glass box and call it "System One"??

<comment><USER21> Why is this entirely focused on what amounts to case-modding for an alleged supercomputer? Quantum computing advances are presumably not an industrial design challenge...

<comment><USER22> >Quantum computing advances are presumably not an industrial design challenge...

Perhaps not, but getting laypeople to care enough about quantum computing to fund its development could very well be.

<comment><USER21> my bias would be towards achieving that goal with a demo of quantum computing :)

</comment></comment></comment></comment><comment><USER23> > In the second half of 2019, IBM will open the IBM Q Quantum Computation > Center, located in Poughkeepsie, New York to expand IBM's commercial quantum > computing program, which already includes systems at the Thomas J. Watson > Research Center in Yorktown, New York.

Does this mean, in true IBM fashion, the older, remote one will be terminated?

</comment><comment><USER18> So is this the first quantum computer available for a company to buy?

How does one interface with it? VT100 terminal?

<comment><USER24> No, there have been quantum computers sold commercially for many years now. I think D-Wave was the first.

</comment></comment><comment><USER25> It looks like they are engineering one of those glass enclosed elevators, common in shopping malls, not a computer. Why the focus on outward appearance without explaining its capabilities?

</comment><comment><USER26> Can someone enlighten me as to why these are always hung from the ceiling?

<comment><USER27> thermal and mechanical isolation

</comment></comment><comment><USER28> Good lord is that website slow to load/respond. Too many hero videos.

<comment><USER24> Maybe it was made by IBM's consulting division.</comment></comment>


Pragmatic Array Oriented Functional Programming [video] - <AUTHOR> https://jiotalks.com/watch/204/home/Morten_Kromberg_&_Aaron_Hsu/Pragmatic_Array_Oriented_Functional_Programming <comment><USER2> It's about APL.

</comment><comment><USER3> Flagged because the site automatically requests location.

<comment><AUTHOR> I wish the browser ui for location and notifications would be less intrusive

<comment><USER4> Your wish has been granted, just download the latest Firefox:

[https://blog.mozilla.org/futurereleases/2019/11/04/restricti...](https://blog.mozilla.org/futurereleases/2019/11/04/restricting- notification-permission-prompts-in-firefox/)</comment></comment></comment>