Top Static Site Generators of 2017 - <AUTHOR> https://www.netlify.com/blog/2017/05/25/top-ten-static-site-generators-of-2017/ <comment><USER2> Even though Hugo may not have the mindshare that Jekyll does, there's HUGE value in having a tool that's a single binary and works on Linux/osx/win and does not need to have 15 minutes of packages and dependencies .

And it runs blazingly fast.

</comment><comment><USER3> I help maintain Jus [0], an opinionated static site generator with a focus on simplicity. It has only two commands - jus build compiles your files into HTML, CSS, and JavaScript; and jus serve spins up a local development server with live-reloading capabilities. There is no setup required, and jus understands a variety of input formats, including markdown, handlebars templates, sass, ES6 JavaScript with module imports.

One outstanding feature that I frequently use is that jus stores a bunch of metadata about the site in the global handlebars context. This means that things like filenames, data files, and per-page frontmatter are available in every template, making it easy to write dynamic lists or index pages.

[0] [http://jus.js.org](http://jus.js.org)

</comment><comment><USER4> FYI: Inspired by TodoMVC and HackerNewsPWA I've started a static site sample showcase [1] - one design, many sites [2]. So far samples include Jekyll, Hugo, Gatsby, Nanoc, Metalsmith, Jigsaw 'n' more. Cheers. [1] [http://staystatic.github.io](http://staystatic.github.io) [2] [https://github.com/staystatic/staystatic](https://github.com/staystatic/staystatic)

PS: Add your site! I add a new one every month for June it's all Python with Pelican [3] [http://getpelican.com](http://getpelican.com)

</comment><comment><USER5> Strong vote for Hugo. Discovered it via HN a month or two ago, very happy with it. Very responsive dev community both for the core project and for themes.

<comment><USER6> I also checked out a few dozen and decided on Hugo with the Minos theme. The easiest to use.

</comment></comment><comment><USER7> I wrote my own because I don't like magic, reading a lot of documentation, and I hate templates. Using server side rendering with React is great! [https://github.com/kentor/tiny-ssg](https://github.com/kentor/tiny-ssg)

<comment><USER8> People can also say they don't like javascript and things built on top of that; React. And javascript is probably worse than magic.

<comment><USER7> Indeed! It also isn't for people who have "javascript fatigue." And they can use any of the 10 in the list by the OP.

</comment></comment></comment><comment><USER9> I'm surprised Gatsby came out ahead of Phenomic.io among the ReactJS + JavaScript based static site generators. Having worked with both, Gatsby felt much too opinionated and idiomatic to me, while Phenomic felt much closer to what I would expect a static React site generator to feel like.

<comment><USER10> I wonder if it has to do with exposure. I see Kyle(the creator) everywhere (conference speaking and twitter to be specific) and it seems like it is the introduction static site generation with React even thought renderToStaticMarkup is built into the ReactDOM library

</comment></comment><comment><USER11> I wrote my own few years ago because I wanted to have search, comments, RSS etc. [https://github.com/Harri/Spage](https://github.com/Harri/Spage)

</comment><comment><AUTHOR> Dang, any idea why this went from #8 to #70-something in less than a minute?

<comment><USER5> Probably flagged because it's pretty blog-spammy.

</comment></comment><comment><USER12> I just use staticjinja, fast enough for my small site and I can use the jinja templates which I learned from a previous job.

</comment><comment><USER13> Honestly surprised nanoc isn't mentioned, particularly because it seems to be the most flexible framework.

</comment><comment><USER14> Hugo is my favorite but he really need incremental build

</comment><comment><USER15> I've been able to get Django to serve pages in less than .2ms (cached), 1-2ms (partially uncached) or about 5ms-10ms (fully uncached) with things like materialized views, streaming HTTP, HTTP/2, and a bunch of other techniques.

Are static pages still a necessity for speed?

<comment><USER10> I guess the question is how much does running a server that is up all the time and hosting a Django project. Static is either free or pennies to post.

<comment><USER16> And doesn't get hugged to death by HN, unlike the average wordpress installation.

<comment><USER17> If you can use a static site generator then you also have the capability to spend the minimal time having a pretty good setup like nginx with cached WordPress. In which case both would likely survive HN.

<comment><USER18> but the static site does not need to be upgraded every WP security alert.

<comment><USER19> It's nice being able to outsource all of your operations needs to S3 or Surge.sh or Netlify or GitHub or really just about any CDN on the planet.

</comment></comment></comment></comment></comment></comment><comment><USER20> I'm using Next.js 3.0 export command to generate static sites. Hard to beat that in flexibility.</comment>


How to Explain Deep Learning Using Chaos and Complexity - <AUTHOR> https://medium.com/intuitionmachine/how-to-explain-deep-learning-using-chaos-and-complexity-33de81c321de#.5hzuzsbla <comment><USER2> [http://nuit-blanche.blogspot.com/2017/01/understanding-deep-...](http://nuit- blanche.blogspot.com/2017/01/understanding-deep-learning-requires.html)

 _Here is an interesting paper that pinpoints the influence of regularization on learning with Neural networks. From the paper:

> Our central finding can be summarized as:

Deep neural networks easily fit random labels.

and later:

> While simple to state, this observation has profound implications from a > statistical learning perspective:

> 1\. The effective capacity of neural networks is large enough for a brute- > force memorization of the entire data set.

> 2\. Even optimization on random labels remains easy. In fact, training time > increases only by a small constant factor compared with training on the true > labels.

> 3\. Randomizing labels is solely a data transformation, leaving all other > properties of the learning problem unchanged. _

I subscribe to Schmidhuber's notion that algorithms that rely upon randomness to select parameters have a very illusory "simplicity" that relies upon externalizing the complexity of the PRNG. [http://people.idsia.ch/~juergen/newai/](http://people.idsia.ch/~juergen/newai/)</comment>


The trailer for this Edward Snowden documentary is absolutely chilling - <AUTHOR> http://venturebeat.com/2014/10/10/the-trailer-for-this-edward-snowden-documentary-is-absolutely-chilling/ <comment><USER2> I don't see anything 'chilling' about that trailer. I hope they do a great job of telling the story, but this doesn't really stand out for any reason.</comment>


Selecting the Next Librarian of Congress - <AUTHOR> https://medium.com/message/the-next-librarian-of-congress-e85d514fc800

<comment><USER2> This job is actually important.

The LoC administers the Copyright Office which includes DMCA and the Copyright Royalty Board.

Hopefully the next Librarian would be well versed with digital copyrights, technology, etc.

<comment><USER3> The LoC also gets to decide which things get DMCA exemptions which could be HUGE (and really a license to print money depending how they go). I'm surprised more people aren't really pushing this new appointment to go in some direction.</comment></comment>


Your high IQ will kill your startup - <AUTHOR> http://maxkle.in/your-high-iq-will-kill-your-startup/

<comment><USER2> I knew I had read it before!!

<http://news.ycombinator.com/item?id=1166638>

<http://news.ycombinator.com/item?id=1535215></comment>


Build Golang projects properly with Makefiles - <AUTHOR> http://pt.slideshare.net/RaPz1/build-golang-projects-properly-with-makefiles <comment><USER2>
      BUILD=`git rev-parse HEAD`
      LDFLAGS=-ldflags "-X main.Version=${VERSION} -X main.Build=${BUILD}"
      # ...
      $(BINARY):
          go build ${LDFLAGS} -o {$BINARY} ./..

Please don't do that. This ties the build process to be run from inside the git repository, which starts to be a problem if you have any sane method of code deployment (building source packages). Think of something different.

And yes, there is a typo in the build rules.

<comment><USER3> I rather prefer this scenario, labeling a package release with vcs revision id or even branch name, for example.

</comment></comment><comment><USER4>
      ${BINARY}: main.go
        go build $< -o $@

this way, make will know to re-build the binary only if the source code has changed.</comment>


Michigan college is tracking its students with a flawed app - <AUTHOR> https://techcrunch.com/2020/08/19/coronavirus-albion-security-flaws-app/ <comment><USER2> Yeah, I'd just buy a $100 android phone and use it as my keypass whilst at uni. Don't take it off-site with you - you'd have virtually unlimited freedom if you leave it in your room, or turn it completely off before leaving campus.

It is a straightforward response to a ridiculous request on user privacy: you can't force me to use my personal phone how you'd like unless you provide it. You can force me to buy into an app that tracks the location of my device in order to enter buildings and such, but you can't control which device I choose to use, nor force me to carry it in my personal life. The flaw in the underlying assertion (one-to-one phone/person relationship, location of a phone = location of a person) is not my problem.

<comment><USER3> > you can't force me to use my personal phone how you'd like unless you > provide it. You can force me to buy into an app that tracks the location of > my device in order to enter buildings and such, but you can't control which > device I choose to use, nor force me to carry it in my personal life.

While I appreciate what you're trying to say, and agree that it's draconian. The assertion that they can't force you isn't quite true. The collage is private property, they can absolutely make entry conditional on using this app on your personal device.

If you don't agree with their measures, then you simply aren't allowed on the colleges private property. Just as equally they can make compliance a condition of providing your education (it's a private contract after-all). Again, don't like it, don't get educated.

Ultimately college education is a contract between private individuals, none of the protection you have against government overreach apply.

<comment><USER4> Contracts are only enforceable (a) if they are conscionable, and (b) if they exist.

Is there a contract saying the user must carry the tracking app everywhere they go?

<comment><USER5> Probably not but there almost certainly is the standard set of "industry standard" clauses that inevitably end up in any sort of consumer contract, basically saying "we can kick you out for any reason we want, what are you going to do, all our competitors have the same language".

<comment><USER6> I eagerly await legal challenges for this.

</comment></comment></comment></comment></comment><comment><USER7> > _students are expected to use the app or face suspension_

How does this work in the contract the college has with the student? Is there a term in the contract that allows the college to unilaterally add additional terms — terms which can then lead to unilateral termination of the contract by the college with or without some kind of notice period?

Presumably "suspension", while framed as a punitive measure against students, is legally just the college withdrawing from the contract under previously agreed terms?

I ask because I'm increasingly encouraging young people to recognize that they are legal adults when they go off to higher education, and they should politely resist any trend for colleges to infantalise them by reframing terms of contracts as silly rules.

<comment><USER8> As a university student (not attending the university mentioned however), I can chime in here. If we chose to come on-campus, we were given an addendum to our housing agreement to sign before we moved in. Simply put, no addendum signed = no housing (since they reserve the right to terminate one's housing for any reason). I imagine it's a similar situation for many universities nationwide.

Regarding your second point:

> Presumably "suspension", while framed as a punitive measure against > students, is legally just the college withdrawing from the contract under > previously agreed terms?

The article addresses this: private universities have a lot more leeway on how they conduct business.

<comment><USER9> If you already signed a lease, you don't have to agree to new terms for that lease. It's already a valid lease that can't easily be terminated, and Michigan has pretty good renter protection laws (I used to live there). Not a lawyer though, but a lease is a binding agreement that they can't just arbitrarily change and force you to accept

<comment> brown9-2 Students don't lease dorm rooms in the traditional sense of a lease

</comment></comment></comment></comment><comment><USER10> >If a student leaves campus without permission, the app will alert the school, and the student's ID card will be locked and access to campus buildings will be revoked

This seems so flawed and easy to bypass. Leave your phone in your dorm and sneak off campus, it's as easy as that.

<comment><USER11> > _Leave your phone in your dorm and sneak off campus, it 's as easy as that._

To do... what? Without a phone, many will have no means of transportation. They won't be able to sync up with friends or use GPS.

It's absolutely unimaginable that a large number of college students will leave campus without a phone. They're much more likely to have a separate phone to put the app on.

<comment><USER12> Don't you have old phones laying around? Install the app on one of those and keep using your main phone.

<comment><USER11> Read the fifth sentence of my comment, where I proposed exactly that.

I was responding to someone who proposed leaving campus without a phone.

</comment></comment></comment></comment><comment><USER13> I'm curious about the interplay of (a) this app/policy vs. (b) other measures the college will take. E.g., mandatory social distancing, masks, dorm occupancy, etc.

I could see how implementing (a+b) _might_ yield lower infection rates than just (a) or just (b).

But if having (a) in effect lulls the college into _relaxing_ (b), _and_ some students subvert (a), then I could see how it's a recipe for an outbreak.

<comment><USER14> The rate of infection may be lower, but that doesn't necessarily mean fewer people will be in infected -- it means the spread takes more time.

</comment></comment><comment><USER15> This is insidious. What kind of college dean or president would think that this is OK?

With such a low level of regard towards young people and with only potential for gross abuse, if the staff's leadership refuse to apologise and withdraw the app's obligatoriness then they should be sacked without delay.

I know this is a strong opinion but I'm really on board with that petition.

<comment><USER16> If you're not sure the answer, it's almost always money. The school wants their $45,000 tuition bills paid

</comment></comment><comment><USER17> After a certain point is it just better for everyone to keep an old burner smartphone for these 'required' apps

<comment><USER11> In this case, I disagree.

This is a private school, and its students are customers. Their school is forcing an app on them that violates their privacy far more than is necessary for contact tracing, _and_ it was developed by a non-software firm with no understanding of security.

The solution here is to petition and protest the school, not just work around the app.

<comment><USER18> I think you are both correct, but since there is no guarantee about the timeline and success of the "petition and protest" approach, I'm all for the burner phone strategy in the meantime.

</comment></comment></comment><comment><USER19> It is very disturbing that Nucleus ignored and stiffed the security researcher who pointed out their obvious issue with AWS keys. They should not expect cooperation from the security community in the future and I hope this will have a severe impact on their ability to attract and retain customers.

</comment><comment><USER14> IMHO: Don't bother with college. All information anyone could possibly need is available from libraries and the internet. If you learn what you need to know and prove that you know it, people will hire you.

<comment><USER20> If only colleges' sole purpose was to impart knowledge.

I think they're a great place to meet like-minded people, form friendships, find potential co-founders, grow your network, get inspired by people some of whom are likely to be world's best at what they do.

Another thing is colleges force you through a rigid system of semesters, courses, and exams that takes most of guess work out of the learning. Besides, I'd wager one needs a disproportionate amount of patience to be disciplined enough to follow their own curriculum of learning regardless of accessibility and availability of content.

I am not saying the current system is the best humanity can do, but: [https://en.wikipedia.org/wiki/Wikipedia:Chesterton%27s_fence](https://en.wikipedia.org/wiki/Wikipedia:Chesterton%27s_fence)

</comment></comment><comment><USER21> Covid apps using Bluetooth are useless.

If you want a chance for it to work, this might.

This is what a lockdown is. Taking huge risks, be it loose APIs or destroying parts of the economy, all to stop a huger risk.

If you want to understand why Republicans protest the lockdown, look here, this is the beginning of the creep. Republicans mightn't understand what they are protesting but they at least can see the fear, which Democtatz can't.

Given what the media, politicians and the public in general say, everyone just doesn't seem to understand either risk or it's magnitude.

<comment><USER22> I'll admit I'm not an expert in this area, but why are apps using Bluetooth useless? Because people turn Bluetooth off?

<comment><USER23> Measurement-Based Evaluation Of Google/Apple Exposure Notification API For Proximity Detection In A Commuter Bus [https://arxiv.org/pdf/2006.08543.pdf](https://arxiv.org/pdf/2006.08543.pdf)

"We find that the attenuation level reported by the GAEN API need not increase with distance between handsets, consistent with there being a complex radio environment inside a bus caused by the metal-rich environment... Applying the rule used by the Swiss Covid-19 contact tracing app to trigger an exposure notification to our bus measurements we find that no exposure notifications would have been triggered despite the fact that all pairs of handsets were within 2m of one another for at least 15 mins"

<comment><USER24> I wish they would've tested more distances. If the threshold is 1.5 meters or even 1.0 meters that's still better than nothing at all. No one is touting these apps (or masks, or social distancing) as the ultimate solution to the spread of SARS-CoV-2, it's all just things we can do to reduce the risk.

<comment><USER21> > I wish they would've tested more distances.

Bluetooth is 31 years old. What is there to test?

> No one is touting these apps <snip> it's all just things we can do to reduce > the risk.

The app does not reduce risk, even if it worked. It's for contact tracing. This is importantly different.

You seem confused, which I might guess is because the app was touted incorrectly in many countries. Masks and social distancing do reduce risk. Although most Western countries told you otherwise to begin with on masks. And told you incorrectly how to wash hands, and also incorrectly said it reduces risk (considered unlikely). I'll add being outdoors also probably reduces risk, not sure this is commonly touted yet.

<comment><USER24> I mean risk at the societal level, not individual. Maybe there's a better word. Anyway what I mean is that the risk of the virus/disease spreading faster than our healthcare systems can handle is lowered by effective contact tracing. Not that I personally am less at risk of being infected if I install the app.

<comment><USER21> Ok, some politicians etc were calling the apps a condom or sunscreen.

All evidence since March has been boots on the ground for contact tracing is what's important. Not tech.

But the Bluetooth apps, which we know can't work well also don't try for behaviour change, they might even increase risk. This app at this college is trying for positive behaviour change.</comment></comment></comment></comment></comment></comment></comment>


Potential Trump Science Adviser Says 90 Percent of U.S. Colleges Will Disappear - <AUTHOR> http://nymag.com/daily/intelligencer/2017/01/potential-trump-science-adviser-9-in-10-colleges-will-fail.html <comment><USER2> I believe he's basically correct, but not to that extent. Selling degrees in "Gender Studies" for $200K is not a sustainable business model.

<comment><USER3> Then the solution is not to abolish social science degrees, but to subsidize them.

<comment><USER2> _> Then the solution is not to abolish social science degrees, but to subsidize them._

Quite the opposite. The reason a college education is so expensive in the US is because, in an effort to make it more affordable, it has been so heavily subsidized. Schools have diverted the subsidies away from students' pockets into their own, by hiring loads of administrative staff, building new luxurious facilities, etc.

In a free market, if Gender Studies degrees provide value greater than their cost, and their cost is not extracted from hapless third parties (i.e. taxpayers), then they will exist.

<comment><USER3> The "free market" is not free. Never has been, never will be. The promotion and dissemination of human knowledge is not restricted to business and STEM degrees, the value derived from them can't always be quantified as something so childishly simplistic as dollars and cents.

</comment></comment></comment></comment><comment><USER4> I don't know that they will disappear; people will be even more desperate to get into white collar professions as more jobs disappear and classes continue to stratify. If we eliminated the ridiculous Federal credit firehose that keeps these bloated organizations alive, then they'd disappear, or at least scale down significantly. It doesn't take a whole lot of infrastructure to teach liberal arts.

</comment><comment><USER5> > Degrees themselves will become a thing of the past, Gelernter writes as > they're "gradually be replaced by certified transcripts." Rather than a > university conferring the degree, a "transcript" — that is, coursework > showing that a student has successfully learned a given set of material — > will be "vouched for" by a trusted institution like a think tank, newspaper, > museum, or research lab.

Interesting. Would it be a travesty or a blessing for people to start promoting themselves in the job market with credentials backed by Breitbart, a climate change denying institution, or a creationist museum? The benefits are obvious but pyrrhic.

</comment><comment><USER6> O_O looks like they finally found a smart guy who is right. We now build skyscrapers in couple of years compared to pyramids in egypt but it still takes 14 years of professional training to be a doctor. Then we wonder why it takes so long to find a cure for something or go to Mars. Hmmm, Imagine being attacked in the Age of Empires game and it is taking forever to product soldiers to defend.

</comment><comment><USER7> It is interesting to have read a thread on HN recently about product managers. Lots of them came from humanities degrees. I'm not saying there is extreme value in getting a humanities degree but I'm definitely doubtful that only people with technology degrees should run the country.

<comment><USER2> > I'm definitely doubtful that only people with technology degrees should run > the country.

Where has that been suggested?</comment></comment>


Streaming Combinators and Extracting Flat Parallelism - <AUTHOR> http://futhark-lang.org/blog/2017-06-25-futhark-at-pldi.html <comment><USER2> I'm curious to know how Futhark relates in performance to halide -- halide is more specific to image processing, but uses a similar approach (domain- specific language compiled to multiple target platforms): [http://halide- lang.org](http://halide-lang.org)

</comment><comment><USER3> The Data Parallel Haskell work on flattening ran into problems with space blow-up due to replicating arrays to perform flattening. Does Futhank avoid those problems?

<comment><AUTHOR> Yes. Since Futhark does not perform full flattening, replication is limited to how much parallelism is _exploited_ , not how much parallelism is _available_.

(That said, memory explosion is still a common symptom when the compiler misjudges how much parallelism should be exploited.)

</comment></comment><comment><USER4> Has anyone here tried Futhark? Is it ready to use or mostly PL research?

<comment><USER5> These types of things are mostly PL research. Staring at their repo, Futhark is better than most in terms of "readyness", but it's still probably not something you'd want to start programming all your GPU code in :) It lacks a lot of developer friendliness.

<comment><AUTHOR> What would be a good starting point for adding more friendliness?

<comment><USER5> It doesn't even always produce sane error messages right now :)

It also misses a bunch of syntactic sugar that make programming inconsistent from what one would expect in a bunch of cases (they acknowledge this up front).

Past that, in part, getting people to adopt new languages is about either providing them an ecosystem that is amazing to start and trying to convince them to jump ... _OR_ meeting them where they are now (IE building integration into existing editors, tooling, etc).

Usually people try to get people to jump. You'll note that this rarely works and is a very long and slow burn when it does. This is true even when the new ecosystem is huge. The successful jump cases are usually somewhere in the middle, where they are leveraging existing ecosystems but providing something better enough.

Futhark is neither providing a better ecosystem to jump to, _or_ meeting people where they are.

<comment><AUTHOR> Insightful and reasonable, thanks! In particular, I agree that the error messages could probably do with a few hints of what to do next. I find Elm's work on user-friendly error messages rather inspiring.

Editor integration would definitely also be interesting. I suspect the best approach would be to implement the language server protocol, as there are too many editors to handle all of them individually.

The hope for Futhark is that a "jump" will be much smaller than for other languages, since it's not really supposed to replace any language, just to augment existing ones. It should feel more like using a library than adding a new language to a project. Of course, there is still a compilation step, but if necessary, that can be crudely circumvented by simply adding the (portable) code generated by the Futhark compiler to source control.

So, the strategy is definitely to meet people where they are - building an entire ecosystem is not really feasible for such a small and specialised language. Most people don't even have the problems that Futhark tries to solve, which is certainly a nontrivial hindrance to usage.</comment></comment></comment></comment></comment>