Chronologic Versioning: No more arbitrary version updates and regressions - <AUTHOR> https://chronver.org <comment><USER2> Stylistic versioning was conquered years ago by TeX.

"The current version of TeX is 3.14159265; it was last updated on January 12, 2014. The design was frozen after version 3.0, and no new feature or fundamental change will be added, so all newer versions will contain only bug fixes. Even though Donald Knuth himself has suggested a few areas in which TeX could have been improved, he indicated that he firmly believes that having an unchanged system that will produce the same output now and in the future is more important than introducing new features. For this reason, he has stated that the "absolutely final change (to be made after my death)" will be to change the version number to π, at which point all remaining bugs will become features. Likewise, versions of Metafont after 2.0 asymptotically approach e (currently at 2.7182818), and a similar change will be applied after Knuth's death."

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

<comment><USER3> > he indicated that he firmly believes that having an unchanged system that > will produce the same output now and in the future is more important than > introducing new features

I sincerely wished that that was a more common sentiment. All this change for nothing doesn't move the needle at all and irritates users the world over.

<comment><USER4> Oh really? You want an IE6 situation to happen for every software out there?

</comment></comment></comment><comment><USER5> This will break when you need to support two tracks of your library. Also, deprecation is not a breaking change; it is notification that a breaking change is in the pipeline, but hasn't happened yet.

A better approach would be hybrid:

2.2020.01.01.3-bd

Where the first number is the release track, the next three are the date, the last number is to handle multiple releases in a day, and the letters (always in alphabetical order) are codes for:

b: this is a breaking change

d: there are deprecations in this release

I would also suggest a third letter code "z" to mark bad releases, where you unintentionally broke things to the point that this release should not be used (and for whatever reason cannot retract the release). So, to mark the above release as bad, tag the exact same version a second time:

2.2020.01.01.3-z

Which means that 2.2020.01.01.3 is a bad release. It will show up after 2.2020.01.01.3-bd because it's later in the alphabet in the release list. Anyone looking for the last release that matches whatever their criteria is will now know to avoid that particular version.

Edit: Formalized here: [https://github.com/kstenerud/hyver](https://github.com/kstenerud/hyver)

<comment><USER6> Has the same fundamental problem as tfa: codes are not sticky / spanned so to know what sort of changes you should expect between two versions you have to look at every intermediate.

Meaning the tag is useless. If a release is "bad" you just yank it.

> it will show up as after 2.2020.1.1.3-bd

According to your scheme the last number is the release index in the day so this is nonsense: either -z replaces -bd or it's a later release which appears before in the release list (assuming you have a descending alphanumeric sort).

You wouldn't have _both_ 2.2020.1.1.3-bd and 2.2020.1.1.3-z because they're the same release with different crap tacked on.

<comment><USER5> > codes are not sticky / spanned so to know what sort of changes you should > expect between two versions you have to look at every intermediate.

The only changes people usually care about are "will it break my software?" and "Am I using deprecated calls?" Beyond that, there's no standardized way to know what has changed between releases, and you'd have to look at every release regardless. Of course we could always add another metadata letter "n" to signify "new features". In fact, I'll add it...

> If a release is "bad" you just yank it.

And what if you can't yank it? That's what the "z" tag is for. If you can yank it then by all means yank it.

<comment><USER7> How are you going to relabel it when you can't yank it?

<comment><USER5> You don't. You create a second "marker" release whose only purpose is to announce to the world that this release is bad.

Example:

Current release list:

        ...
        2.2019.12.18.1
        2.2019.12.19.1-n
        2.2019.12.19.2
        2.2020.01.01.3-bd

Bad release you can't yank: 2.2020.01.01.3-bd

Create a new marker release: 2.2020.01.01.3-z

New release list:

        ...
        2.2019.12.18.1
        2.2019.12.19.1-n
        2.2019.12.19.2
        2.2020.01.01.3-bd
        2.2020.01.01.3-z

Now everyone knows that 2.2020.01.01.3 is bad but couldn't be yanked.

</comment></comment></comment></comment></comment><comment><USER8> For those trying to compare it to SemVer, ChronVer seems to have a different target. It mentions web applications and systems that see releases (with continuous delivery or not).

SemVer remains good for libraries, or anything where there's a clearly-defined API for consumption, because it clearly establishes a set of rules for what to expect. If you're using version 1.0.0 and upgrade to 1.10.30, with SemVer it would remain perfectly compatible, and no change should be required on your part (that's the ideal; of course developers are free to use whatever versions they want and pretend it's valid SemVer).

For applications though, I agree that ChronVer seems far more useful, because there's just no real "compatibility" contract with an application. After all, macOS 2017.09.25 seems far more descriptive than "10.13", which means nothing to anyone.

<comment><USER9> > For applications though, I agree that ChronVer seems far more useful, > because there's just no real "compatibility" contract with an application.

It's unfortunately becoming less common but there is still a "compatability contract" between developers and users. With 10.13 -> 10.14 upgrade I would expect no major disruptions as a user, I would expect the UI to be nearly identical and no features to be dropped. With a 10.13 -> 11.1 upgrade I would expect "breaking" changes to my interactions and plan to install the update at a convenient time to deal with this. For a 2017.05 -> 2019.08 upgrade I have no indication of what to expect.

For something like continuously delivered web applications I don't think any versioning scheme makes sense to user because they have zero control, it's useless information.

<comment><USER10> This is how we do it at work. Features and major changes go into trunk, which gets released in the new versions. Bug fixes get released in earlier versions and up.

We do major.minor version numbers, with even major versions being releases and odd being development versions. We also have an user-selectable way to pick version (major and minor) of our program at launch. So if we "dun goofed" in one version, the user can always just relaunch the previous version which worked.

Right before xmas I changed it so that if you didn't enter a first name, it would skip the rest of the name and address fields. This went into a new major version, so users were not that surprised to discover this rather big change in UI flow.

However I had missed that in one special case, users were required to enter a postal code. The user that reported this could then just launch the previous major version until I got that issue sorted, getting bug fixes for other issues in the meantime.

</comment></comment></comment><comment><USER11> Ok for user facing programs horrible for libraries as you can no longer tell which versions have just internal bug fixes, which add additional interface in a backwards compatible way and which are being changes.

Also this makes it impossible/stupidly hard to release security patches for a older but stable version of a library when a new version with a largely changed API is released (which might not yet be feature completely)

Sure there are some ecosystems what a lot of authors don't do semver right, or where due to (mostly dynamic) aspects of the language this is harder then it should be.

But why not: 1\. Require semver for a ecosystem/package manage which clear rules as what constitutes as a breaking change 2\. Remove/ban packages which don't keep with it (or at last put a warning up). Authors who don't like it can still release a major version update Everytime.

Honestly if this schema would be used in a library ecosystem thinks would be pretty fast become pretty bad with you having to pull in tens of versions of the same fundamental dependency which might even all be compatible but you can't tell automatically and have to check by hand which isn't something you can afford time wise.

</comment><comment><USER12> Two big problems with this:

\- Does not support multiple release tracks. What if you have 'version 1' and 'version 2' with both receiving updates?

\- Cannot visually guarantee that any version is greater than, less than, or equal to another. If you're using git, mercurial, or any other VCS with hash- based commit IDs, how can a user tell which release for a particular day is the latest?

This is probably fine for SaaS stuff where you only support one version at a time and the version number is more important to you than your users.

<comment><USER13> When version 1 receives an update, that's how we got version 2. The update to version 2 is version 3.

I don't see what is here to misunderstand.

If someone wants to take just a subset of the changes between 2 and 3 (say just one fix) and backport it over version 1, they are on their own.

That's a downstream problem that the project doesn't have to cater to in its versioning scheme. The project issued a bugfix, and that bugfix was applied when version 2 was superseded with 3; end of story.

<comment><USER14> The problem with this is that it is not practical. One example I can think of on the spot is an old tool written to support Windows 7, a bridge version supporting win 7-10 and a new version supporting only 10. Most industries do not move at the same pace (We have some projects that can only run on Windows 95). So some security updates to the bridge version adn the new version are made simultaneosly and corresponding update to their version numbers.

Another example is python 2 and python 3, where python 2 was getting updates form 5+ years after python 3 released.

<comment><USER13> Python 2 and Python 3 are different languages that get installed side by side.

Two completely independently developed C compilers, or independent implementations of Common Lisp are much more compatible with each other than are Python 2 and Python 3.

They could as well have different names (think Perl vs. Rakudo).

Racket is more compatible with Scheme than Python 3 is with Python 2, yet has a different name, for good reasons.

Both Python 2 and Python 3 could respectively use a simple versioning numbering scheme. Python 3 version 1, version 2, version 3, ...

</comment></comment></comment></comment><comment><USER13> Too complicated. Here is a better chronological versioning: 1, 2, 3, 4, ...

Given two versions j and k, those being integers if j > k, then j is chronologically later than k.

That's what I use on the TXR project.

That being at version 230 means I made 230 releases since the project started in 2009.

Since that number "means" something, it has semantics; therefore, it is not only chronological but also semantic.

<comment><USER3> Totally agreed. This is seriously overthought. Users need to be able to tell in an eyeblink what the order is without reference to some standards document. Presumably everybody to whom it applies can count.

<comment><USER15> For a web app under continuous release, I would suggest doing both.

230-12-01-2020 to mean the 230th release since the start of the project, made on January 1st, 2020.

<comment><USER16> Why not 230-2020-12-01 to avoid the awkward 'US order or 'most-of-the-rest-of- the-world order' issue?

Edit: the great irony is that your example included an error which I then reproduced! Obviously, 1st jan is unambiguously:

230-2020-01-01

If you were representing 1st _dec_ , though, I'd suggest:

230-2020-12-01

<comment><USER15> Actually I was trying to avoid the US date standard myself, then got confused and wrote a date that follows no standard that I know of. My mistake entirely.

</comment></comment></comment></comment></comment><comment><USER17> Seems to be solving the same problem as CalVer[1]?

I've used it in the past for Continuously Deployed web applications. The dates make it easy to determine the age of the release, and it's easy to automate away to a CI job[2].

[1] [https://calver.org/](https://calver.org/) [2] [https://dephell.readthedocs.io/cmd-project- bump.html](https://dephell.readthedocs.io/cmd-project-bump.html)

<comment><USER18> The author of CalVer emailed today, I had no idea their project (or mine) was posted to HN! But yes, they are similar.

I'm biased but I like mine more (and have an npm module to increment automatically).

</comment></comment><comment><USER19> Okay, but I _rarely_ need to know _when_ a version was released. I almost _always_ need to know how a version relates to the version I'm currently using. SemVer does this, and to an extent, "normal" non-SemVer also does this. ChronVer is a textual representation of that green calendar on GitHub.

</comment><comment><USER20> There's a RFC 1912 from 1996 explaining this versioning strategy which was already in common use for DNS SOA record serial numbers.

[https://tools.ietf.org/html/rfc1912](https://tools.ietf.org/html/rfc1912)

I'm sure this strategy vastly predates 1996 in other computer applications.

Julian dates have a similar purpose, and have been used in the US Military Logistics system for a very long time, but I can't figure out how far back. Also some food products, beer especially, with "secret" expiration or manufacture dates, according to civilians anyway, are often strangely formatted Julian dates.

<comment><USER21> Agreed it's not a new idea, but I'm not discounting adding a catchy name to it and a well-made website with a clear specification. That will get people using it in some open-source communities (Node / JavaScript specifically).

The problem with SemVer is that library owners are not strict with its intended usage (backwards incompatible changes in patch!) or don't fully understand it. Perhaps having a much more simple versioning strategy will help in some use cases.

<comment><USER20> Sorry for the super late followup, but yeah my point was a pretty good selling point might be its been an operationally useful, apparently optimized, and successful solution for many decades in the fields of X, Y, and Z, and the more examples of success, the better.

</comment></comment></comment><comment><USER22> The Motivation is dependency hell, the Rationale says the version is easy to understand at a glance. So, Rationale has missed the opportunity to explain how this is a solution to the declared problem.

<comment><USER23> Honestly, the intent there seems easy: it's hard to tell at a glance that library A version 230 is compatible with library B version 1.2.4

However, if they both used date-based versioning, then the compatible versions would in theory have the same-ish version of 2019.12.* when compatible with each other.

For the same reasons as in tons of other comments, I also don't think this theory would work out.

</comment></comment><comment><USER24> _> If backwards incompatible changes are introduced you MUST append a hyphen and the reserved label "break". For instance: 2006.04.03.12 > 2006.04.03.12-break._

So with this system if you want to know whether two versions are compatible you would need to check versions of all releases between them for not having that label...

<comment><USER18> It's the best I could come up with when drafting this. What would you like to see?

</comment></comment><comment><USER25> I just wish the idea of software being _finished_ came back into vogue.

</comment><comment><USER26> I'll agree with the point that "version numbers are useless to the end user" except when there's an incompatibility. To that end, I'd prefer release tracks to be indicated in the TITLE and breaking (API) changes in the VERSION. Any other number in the version is essentially irrelevant.

Then again perhaps in web apps there's something to be said for this when breaking changes ARE the consistency. I have to say that working in back-end technology, I don't really care whether something was built in 2010 or 2020 as long as it's doing its job well.

Unfortunately, most back-end technology still communicates with web API's at some point and then we're at the mercy of the service's "version".

<comment><USER18> Yeah that's a good point.

</comment></comment><comment><USER27> The idea rubs me the right way but why not 1, 2, 3...

I think a more modular versioning standard might be good as semantic versioning can be very helpful in certain projects like libraries.

Like if your project has x abstract property then include x. and y for a x.y versioning scheme.

<comment><USER28> To paraphrase Rich Hickey: "Just use a different name."

Compatibility of APIs is retained if you require less or provide more. Breaking changes happen when you require more or provide less. Don't do it. Add a new and different function that requires more or provides less. Keep the old one. You now have a backward compatible interface.

</comment></comment><comment><USER29> Pollen has my favorite version numbering system, a blend of semantic and chronologic:

> "Consistent with Racket's version-numbering system, the first digit reflects > major updates to Pollen that break backward compatibility. The second digit > reflects feature updates that don't affect existing features. > > > "Inconsistent with this system, Pollen's version also appends a build > number, which is the age of the software in days and minutes."

— [https://docs.racket-lang.org/pollen/version- notes.html](https://docs.racket-lang.org/pollen/version-notes.html)

<comment><USER30> As far as I can tell I actually tend to use something like this also (semver annotated with some form of timestamp, if only so I can tell at a glance how old something is, but usually as two distinct fields), but even after looking at the linked site I'm confused by what "the age of the software in days and minutes" means exactly.

The current version is reported as 2.1.2329.415.

Does that mean this release (roughly v2.1.something) was compiled/packaged/released 2329 days and 415 minutes after some arbitrary project-start timestamp? That this was compiled/packaged/released 2329 days and 415 minutes _ago_? Are those literally the "days" and "minutes" fields they're talking about?

The former seems kinda crazy (as the version number would be mutable) but to be honest that's how I'd naively interpret "the age of the software" \- I want to know how long ago this build was created, not how long after the project was first started.

If the version number is days-after-project start, why not just use the actual date? What's the value of the arbitrary baseline?

(Actually, now that I think about it I guess the arbitrary baseline does have an advantage if you are intentionally trying to obscure how old the build is in calendar time. *.2329.415 provides an easily interpreted, monotonically increasing identifier without making it obvious if this release happened yesterday or 10 years ago. I.e., this solves the problem that products with the year-of-release in their name have - surely people are eventually stop buying FooBar2015, whether or not there's a real need for an update in the past 5 years.)

</comment></comment><comment><USER31> Version number is too blunt an instrument

Ideally I want enough introspection in my tooling to automatically pick up breaking changes by doing static analysis between versions and where breaking changes are impossible to detect I want humans to tell me what the breaking changes are in a structured way

I want my dependency manager to take me up to the next breakage free version and to see what the breaking changes are if specified, maybe with programmatic suggestions/fixes from the library maintainer

And perhaps hardest of all I want the culture of change to being hyper allergic to breaking changes in the rich hickey sense

</comment><comment><USER32> I don't much care how you choose to number your versions, as long as you publish release notes with it that say what has changed since the previous version. If I have to start poking around in the commit history of your GitHub project and trying to suss out how those commits correspond to published releases, I start to get a little irate.

This is an enormous pain in the ass with .NET NuGet packages, I have found, although I am sure it extends into other ecosystems as well.

</comment><comment><USER33> We used this version scheme at my last job. I have fond memories of it. It's easy to think in days/months/years. When a bug was found we could load old versions to see when it first materialized. Because The date information was contained in the version it was easy to remember what else was happening around the same time and what could have caused it.

<comment><USER18> Yes, that's one of the reasons I created this. Well, bought a domain name and made a webpage anyway, haha.

</comment></comment><comment><USER34> There's one or two Perl5 modules that are version yyyymmdd.nn that expect you'll only do less than 100 releases per day.

It turns out one of the more interesting problems with version numbers is tools that assume that each number will fit within 2^8, or 2^16.

</comment><comment><USER35> I like versioning things as YYYY.MMDD.HHmm

2020.0102.0345 if you stick to GMT.

</comment><comment><USER18> I wasn't checking my analytics so I was quite surprised to see this here. I'm almost a week late but I'll look at all the comments now.

</comment><comment><USER36> A major version number is still needed. ChronVer seems fine as a replacement for minor and micro versions (and rc and other designations).

</comment><comment><USER37> Or just start at 1 and increment every build.

</comment><comment><USER38> I needed this one time when I had machine generated versions. I just append .unixtime to the version.

</comment><comment><USER39> Tesla does something similar. They use year.week.patch.build (or something like that).

</comment><comment><USER40> Changeset isn't enough. You need build number too or rebuilds will collide.

</comment><comment><USER41> Calver?

</comment><comment><USER42> begins having to have version to manage dependencies this does nothing to solve dependency hell, to the point I question whether the author has a clear understanding of the problem space</comment>


This is what it looks like when a million Brazilians take to the streets - <AUTHOR> http://qz.com/96715/this-is-what-it-looks-like-when-a-million-brazilians-take-to-the-streets/ <comment><USER2> stress all around.</comment>


'Virtual nose' may reduce simulator sickness - <AUTHOR> https://www.purdue.edu/newsroom/releases/2015/Q1/virtual-nose-may-reduce-simulator-sickness-in-video-games.html

<comment><USER2> I'm not sure about "nasum virtualis" as Latin for "virtual nose". It should probably be either "nasus virtualis" or "nasum virtuale", depending on which Latin word for "nose" they want.

[https://en.wikipedia.org/wiki/Latin_declension#Third_declens...](https://en.wikipedia.org/wiki/Latin_declension#Third_declension_adjectives_with_two_endings)

</comment><comment><USER3> Only a 2.2 second in increase in TTP[1] on the roller coaster sim, is that really statistically significant? And why don't you get sick when you are flying in your dreams? I find the area of research pretty interesting and the stories told of the development in AR goggles at Valve really humourous (in a gross sort of way) but it reading things like this it always feel like we're missing something fundamental here.

[1] Time to puke

</comment><comment><USER4> I've always wondered if cutting off your nose would give you better stereoscopic vision. A huge amount of field of view is lost in each eye because of the nose. Don't really notice until you close one eye.

<comment><USER5> I'd imagine it wouldn't improve the quality, but could improve your field of view within which you have working stereoscopic vision (e.g. past ~45 degrees looking left/right from your head's facing)

Seeing discussion of the paper earlier, I investigated the limits of my own vision, and noticed that beyond just my nose I can actually (barely) see the bridge of my brow, my cheeks, and even my mustache (significantly more so if I pucker my lips).

I'm wondering if virtual glasses, helmet mounted display elements, or other pieces would also help.

</comment></comment><comment><USER6> I'll post the same thoughts I had on the thread about this on reddit - I'm unsure if this is relevant at the current FOV of consumer/developer HMDs. If I put on my DK2, and look right with my left eye, I see a black void, where my nose - and much of my vision would be.

I wonder if putting virtual glasses or goggles (for the purpose of being within the limited FOV as opposed to a nose) would have a similar effect.

</comment><comment><USER7> I always suspected this but my guess is that it would need to mimic the way that stereoscopic vision sees it. Kind of see through. It might require eye tracking to make it really work well.

<comment><USER8> This is stereoscopic. It should be opaque just like a real nose.

</comment></comment><comment><USER9> That's great, and so simple. It would have been even more useful back when VR lagged badly. (VR, the early days: turn head, wait 1 sec for system to catch up.)

In stereo views, the nose disappears, of course, because it obscures different parts of the visual field for each eye. Cute.</comment>


Pyschools - Online Python Learning - <AUTHOR> http://www.pyschools.com/

<comment><USER2> I bounced off because it wanted me to log in with my Google account. Too bad.

</comment><comment><USER3> spam?</comment>


Follow Reddit from the Console - <AUTHOR> http://www.catonmat.net/blog/follow-reddit-from-the-console/ <comment><USER2> >I actually unsubscribed from all the default subreddits (politics, pics, etc.) and subscribed to some 20 - 30 programming subreddits (like python, erlang, compsci and many others).

Damn you! You're not meeting your time-wasting quotas!

<comment><USER3> I think you have it backwards - I had to just skip over most of the Reddit dreck, until I customized it. Now it's a much nicer time sink.

</comment></comment><comment><USER4> Hey! Thanks for submitting! :)</comment>


Turkey's Lira Crisis Tests Erdogan's Authoritarian Approach - <AUTHOR> https://www.nytimes.com/2018/08/13/world/europe/erdogan-turkey-lira-crisis.html <comment><USER2> I've been watching the situation in Turkey with astonishment. To appearances, Erdogan believes that higher interest rates cause inflation. Thus he refuses to raise them.

This is the physical world equivalent of believing gravity makes things rise. Or that water pouring in makes a ship float, not sink.

It will be very, very difficult for Turkey unless someone can convince him he is wrong. And he has created a system where no one can tell him that.

Edit: I seem to be getting downvotes. But this actually is his repeatedly stated belief. You can find dozens of similar references.

[https://www.bloomberg.com/news/articles/2017-12-15/erdogan-s...](https://www.bloomberg.com/news/articles/2017-12-15/erdogan-s-40-year- old-theory-of-inflation-scores-a-win-in-turkey)

<comment><AUTHOR> > _Erdogan believes that higher interest rates cause inflation_

Is there evidence he actually believes this?

<comment><USER3> What does it matter? With authoritarian populist leaders, what they "actually believe" isn't even a meaningful concept. A defining characteristic of authoritarianism is that truth gets fuzzy in order to serve the interests of the state, and the defining characteristic of populism is to just go with whatever pleases the mob. So when you combine the two, you get policy made up on the spot but enforced with religious fervor, which is what's happening here.

I mean, take Trump: he's a raging ball of id who just yells whatever pops into his head at random and agrees with whoever spoke to him last. What he "actually believes" is probably, to use programming jargon, undefined.

<comment><AUTHOR> > _What does it matter?_

My assumption was that he's keeping rates low to avoid raising interest costs for his government and cronies. But it might be that he actually just misunderstands economics and everyone is too scared to tell him so.

<comment><USER4> My personal belief is that he is well-aware but would rather scapegoat external "forces". The problem is that you can't really keep that ball in the air long enough to fix the underlying problem.

</comment></comment></comment></comment></comment><comment> Sol- >that Turkey will not climb out of its hole until the country enacts major structural reforms that would undo many of Mr. Erdogan's constraints.

>Those would include allowing a free press, an independent judiciary and returning powers to Parliament

Not that it wouldn't be nice to see those reforms, but it seems like they just slipped that claim in without much justification. China does fine with an autocratic system, as do others. I'm just puzzled that this wishful thinking that economic prosperity is necessarily connected to political freedoms still persists. Would be nice it if were true, but doesn't seem so.

<comment><USER5> > I'm just puzzled that this wishful thinking that economic prosperity is > necessarily connected to political freedoms still persists.

That's because it's true in ~188 out of 190 on-going instances where oil isn't involved. It's fair to say it's true 99% of the time.

US, Canada, Sweden, Finland, Denmark, Ireland, Britain, France, Germany, Italy, Spain, Japan, South Korea, Australia, New Zealand, Switzerland, Netherlands, Austria, Belgium, Israel (this list keeps going)

Versus what?

China... and? Maybe Singapore, a tiny island nation.

Denmark has nearly three times the GDP per capita of Saudi Arabia. Czech has four times the GDP per capita of Iran. That isn't going to change, if anything the disparity will increase between the liberal order and the authoritarian order. China is more of a historical one-off than anything.

The US has at least 10x the GDP per capita of Cuba, and six times that of Russia. South Korea has ~15 times the GDP per capita of North Korea. Australia has 40 times the GDP per capita of Myanmar.

The economic prosperity rankings are _overwhelmingly_ dominated by nations that are more politically free than not. The least politically free nations tend to be hyper impoverished (again, with only a few exceptions for petro states). As such it's not wishful thinking, it's reality.

<comment><USER6> Your list contains a large number of West European nations, which had the fortune of... being in West Europe. I.e., the fact that they are wealthy and free are more likely explained by past history, rather than one causing the other.

South Korea is an interesting case: it used to have a worse economy than NK, started rapid economic expansion while under a corrupt dictator, suffered through another, and could not really be called a "democratic" country until 90s. So maybe prosperity eventually causes democracy, but it's a slow process.

<comment><USER7> >the fact that they are wealthy and free are more likely explained by..

I'd add to this the exploitation of resources throughout the world

</comment></comment></comment></comment><comment><USER8> Historically, this devaluation is pretty insignificant. It only halved in value. The current Turkish Lira is actually the second iteration. The first Turkish Lira at one point had the following value:

      1995 – 1 U.S. dollar = 45,000 first Turkish lira
      2001 – 1 U.S. dollar = 1,650,000 first Turkish lira

That's 36 times less in about 6 years! Eventually they replaced the first Turkish Lira with the current (second) Turkish Lira. It seems a lot of Turkish people should still remember the previous Turkish lira. The second Turkish Lira was the most stable between 2006-2015 or so.. but historically the Lira has always been hugely unstable.

See [https://en.wikipedia.org/wiki/Turkish_lira#First_Turkish_lir...](https://en.wikipedia.org/wiki/Turkish_lira#First_Turkish_lira_\(1923%E2%80%932005\))

</comment><comment><USER9> What is most interesting about this is the geopolitics surrounding this. The US stance appears to be pushing Turkey closer to Russia. [1]

1\. [https://www.bloomberg.com/view/articles/2018-08-14/erdogan-i...](https://www.bloomberg.com/view/articles/2018-08-14/erdogan- is-making-some-worrying-new-friends)

<comment><USER10> Turkey has always been the bridge to the Middle East. I think it would be a big loss to lose that.

<comment><USER11> Well, since 1453.

<comment><USER10> What happened in 1453?

<comment><USER12> The fall of Constantinople.

<comment><USER10> Gotta read up some history it seems. Thanks!

</comment></comment></comment></comment></comment></comment><comment><USER13> An economy is like water, you can push it around for a while but eventually the volume will be too great and it will go where it wants. It doesn't matter what you believe or desire, an economy or currency or similar will go where the environment allows it. People (especially authoritarian dictators) always think they can ignore this. Usually it winds up bad the people who live in such a country.

</comment><comment><USER14> So he's appointed commissars to overrule the professionals [https://en.wikipedia.org/wiki/Commissar](https://en.wikipedia.org/wiki/Commissar) What could go wrong?

I was reading that a lot of corporate debt is in USD /EURO. So the loans are a lot more expensive now and many will go kaput. [https://www.ft.com/content/0661a1b0-9f08-11e8-85da- eeb7a9ce3...](https://www.ft.com/content/0661a1b0-9f08-11e8-85da-eeb7a9ce36e4)

" _Last month Turk Telekom, a big telecoms group, announced a second-quarter loss of almost a billion lira as it was hit by a surge in the cost of financing foreign-currency debt.

And, then, in the space of a week, the lira lost a fifth of its value against the US dollar, as Turkey entered a full-blown currency crisis.

The slide has sorely hurt businesses that for years took advantage of longer maturities and lower interest rates to borrow in euros and dollars rather than Turkish lira."_

<comment><USER4> Turkey has a lot of sov as well as corporate debt in USD and EUR. They also import a ton of oil which has more or less only gone up on the year.

</comment></comment><comment><USER15> This situation could happen to any country. Since I am no financial/economic expert, I would like to learn from the community how this all happened? How a country A can destabilize country B's currency/economy so easily? I know Turkey has external debt but so on the US.

<comment><AUTHOR> > _how this all happened?_

Turkey elected a strongman. He used the state to buttress his own power. That made necessary, but politically-difficult decisions (like raising interest rates), impossible.

> _Turkey has external debt but so on the US_

Few Americans borrow in non-U.S. dollars. And the U.S. government only borrows in U.S. dollars. This works because the dollar works. Investors and exporters trust it to retain value.

The lira, on the other hand, isn't trusted. So when the Turkish government wants to borrow money, investors aren't willing to accept being paid back in lira. (And the government, in any case, needs hard currency to pay for imports. Because the people selling Turkey imports don't want to be paid in lira, either.)

<comment><USER15> > Few Americans borrow in non-U.S. dollars. And the U.S

This is interesting. But, the world is not all about US. My question is, can Trump do same with some European country?

<comment><USER7> In the world's current economic situation it pretty much is mostly all about the U.S. and the dollar. Most of the global trade is conducted with the dollar and he can mess up other currencies in a similar way.

<comment><USER15> Should we call Trump an evil genius?

Why did not previous Presidents think of it and opted for traditional war? This trade war is more safer for Americans.

<comment><USER7> I wouldn't call him a genius, he's quite the opposite.

>why didn't previous presidents think of it

They probably did, but were likely smart enough to figure out that a trade war with the world will trigger a backlash that the US won't be able to handle. The world will seek an alternative to the US dollar, and I think it will happen very soon if Trump continues doing what he does.

<comment><USER15> guess you are right.

US Chamber of Commerce after Turkey imposition of the tariff on US goods.

[https://www.cnbc.com/video/2018/07/03/us-chamber-of- commerce...](https://www.cnbc.com/video/2018/07/03/us-chamber-of-commerce- campaign-against-trumps-tariffs.html)

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> It would be ironic if Turkey ended up in a similar financial crisis situation to Greece. Although the mechanics are different since they have their own currency.

<comment><USER17> Mechanics are _totally_ different. Greece defaulted on government debt. Turkey is mostly struggling with private sector debt.

The volumes of debt are also very different. Greece had a LOT more debt when they defaulted.

<comment><USER18> We can also create a crisis caused by government's debt equally well, see Turkey's 2001 crisis:

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

</comment></comment></comment><comment><USER19> THere's one fact that people seem to have forgotten: 1USD=1.5TRY back in 2002. Turkey has an inflation that's about 10% (reported, let's go with that). 1.1 ^ 16 * 1.5 = 6.8 - meaning 6.8TRY would be equivalent to 2002's dollar. US economy and dollar gained more strength in the meantime.

6.8 try/usd is not crazy. The previous exchange rate probably was.

<comment><USER20> A lot of debt is held in foreign currency and imports just got a whole lot more expensive in a handful of days. This is a serious blow, especially if Turks lose confidence in the lira. I can assure you that Erdogan is getting nervous. He can talk about boycotting Apple and buying Samsung all he wants; both phones are now unaffordable for a lot of people who were planning to buy one. Those people aren't going to be terribly happy about Erdogan's flirt with Russian missile systems.

<comment><USER19> For sure. Exchange rate fluctuation of this magnitude is never good. I know companies that worked with dollars are finding excuses not to bill their clients because of exchange rate volatility (if they bill now, and dollar rises after, the seller/biller would take a loss).

</comment></comment></comment><comment><USER21> I'm not American (or Turkish) so this is somewhat removed.

I think that Turkey's slide in to authoritarianism can be directly traced to the US' Kissinger-esque approach to diplomacy, particularly in the Middle East. I'm not saying the alternative would have been better everywhere, or even in Turkey. But... still.

There is simply no relationship between American friendship and liberalism, rule of law, protection of minorities or any other "moral" standard. The US will not downgrade it's relationship or do anything, in response to stealing an election, commiting a political purge, etc.

Turkey has never been a fully liberal democracy, with basic freedoms held to a basic democratic standard. Ironically though, at the beginning of erdogan's premiership it was pretty close, closer than it had been certainly.

As it gradually slipped into its current state, there were no consequences... not even a scholding.

Oddly, Trump's wildman diplomatic tactics that constantly and hyperbolically upgrades and degrades the US' "friendship status" other states... the inconsistency allows for flexibility.

I doubt much liberalism will result directly from Trump (it's just not something he seems to care for) but the re-write get of the rules... That will probably be permanent. It may allow the US out of its fairly constrained diplomatic policies, which (I now believe) are far too consistency and convention oriented.

Tldr... If the US had started reacting sharply when Erdogan started jailing journalists, rivals and activists....Turkey might still be a free country.

<comment><USER4> A huge portion of why Turkey is such a mess right now is the United States' Syria policy. Turkey, by mere proximity, shared an unbalanced burden in the Syria fallout and the United States did nothing to aid them. This allowed Erdogan to seize more power and encouraged him to grow closer to China and Russia.

<comment><USER21> I don't think the Syrian civil war is the US' doing. They are involved, but not more than Turkey itself.

In any case, the US _did_ make (also in Iraq) an enormous concession to Turkey. Iraqi Kurdistan was not allowed to declare independence, despite clearly needing it and being an extremely loyal, reliable and effective US ally, something that cannot be said of any others in the ME lately. Syrian Kurdistan had to basically surrender to Assad to avoid a Turkish Attack. Again, the US totally had-faced a genuine, ideological ally... as a favor to Turkey.

These have been Turkey's primary concerns in those wars, and they got what they wanted.

My point is that they shouldn't have. The US is a powerful country. They were in a position to make these decisions ideologically, rather than transactionally.

I think Turkey's NATO membership should have come into question, when Erdogan clearly stepped back from "free/democratic."

<comment><USER22> How could you say that US involvement in Syria was not more than Turkey' when anything and everything in the region is dictated by the US? So breaking apart a country and not letting the ethnic groups not form independent countries is a great concession to you?

</comment></comment></comment></comment><comment><USER23> Sad to see economies fail in the same way time and again. Simple lessons to prevent this: 1\. Only take on debt or issue bonds in your own currency. 2\. Only borrow for short-term extra spending (like a disaster). 3\. Every couple of years _all_ debt should be annulled. That way people don't walk around with a mountain of debt. And companies only give loans for what they can reasonably expect to be paid back within said "sabbat year". 4\. Need more money than you earn? Chance spending habits instead of "plastering over" problems by taking on more debt. 5\. Taxation should be fair and easy to understand. 6\. All expenditure should be fair and easy to understand.

<comment><USER24> Its not at all simple as that ...

Taking on debt in your currency means you won't be able to access international markets, and international market are not just going to allow you to sell bonds in your currency without an extremely steep interest payment, some players won't even invest due to the enormous risk they would be taking.

Your point 3,4 makes it seem you are unaware of how money or wealth works - would you like it if every three years the govt just striped you of your ownership of your house ? All debt is someone else's saving, introducing a "sabbat year" on the debt side also reflects on the ownership side - it would not be possible to own anything long term.

Your point 4 would mean companies like Amazon, FB, Google would literally be impossible to create. Its very hard to distinguish between good and bad debt ( its the reason analysts are paid so well ).

I agree with your last two points.

</comment></comment><comment><USER25> The whole thing reminds me of a discussion I had around agile development and then the Cynefin framework came up [1]. At first I was skeptical but over time I realized the value of it.

Anyways, I have the feeling Erdogan thinks that the whole "economy thing" is at most complicated not complex and treats it like that. Good luck with that approach.

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

<comment><USER26> I became much more forgiving about political structures since I started working with distributed system. The ways things go wrong in distributed systems even before you inject free will is staggering.

The link has worthwhile content, and was entertaining. Thanks!</comment></comment>


A food iPhone app that doesn't suck - <AUTHOR>

Today, my startup Munchery launches its iPhone app. With it, you can:
1. Get push notification of daily changing menus
2. Browse high quality food photos of the exact meal you are purchasing (or just browse around because you like pretty food photos)
3. Order with just a few taps. If you have ordered before, then it probably will take you less time to place an order than the time it takes to read this sentence.
To celebrate the launch, if you live/work in SF, we're giving you a fantastic discount on the first order that you place from the iPhone app.
Additional details about how our app is different from other delivery apps, as well as the promo code you'll need to save money on your next order, can be found on our company blog: http://blog.munchery.com/from-phone-to-fork <comment><USER2> How to measure if a food app sucks:

1) No complicated menus and forms

2) No limitations in food type, like just pizza, burritos, or greasy takeout.

3) Photo of the food you're about to eat.

4) Should be instant gratification: the food should come to you. Not send you to a restaurant.

5) Put in an order in less than 10 seconds</comment>


Project Euler taken down by hackers - <AUTHOR> http://projecteuler.net/about#

<comment><USER2> sad :(</comment>


The Death of the Web? - <AUTHOR> http://danieltenner.com/posts/0019-mac-app-store.html

<comment><USER2> Inflammatory title. Come on, seriously? The vast majority of people don't own iOS devices, but access the web through a variety of other OSs. Given that Android is outpacing iOS and that both are extremely popular, the Web is the obvious way to target both.

The Web is important because you can use it without regard for what type of computer you're using.

<comment><USER3> As I mention in my article, what you say is true, but hasn't stopped iOS apps from taking off. Yes, many people won't be able to use Mac OS App Store apps because they don't have Macs, but that won't be a problem to the web developers who switch to Mac, because they'll be willing to make the trade-off based on the hype and numbers that the Mac Store achieves.

Not everyone has a Mac, but enough people have one to make it worthwhile. And those Mac owners actually buy apps, unlike the vast majority of windows computer owners.

<comment><USER4> _And those Mac owners actually buy apps, unlike the vast majority of windows computer owners._

Wait. What?

<comment><USER3> Most consumer windows PC owners pirate apps. Anecdotal evidence, of course, but for every one who's keen on paying for software there's 10 who will call a "techie" friend up and ask where they can get a free version.

<comment><USER5> If you have no real evidence for this assertion, then why do you even try to make the argument in the first place? Couldn't you just use that same logic for Mac users?

</comment></comment></comment></comment></comment><comment><USER6> This should really be titled something like "App Store will replace/compliment (or already is replacing/complimenting) some components of the Web"

No where near "Death of the Web"

<comment><USER7> Many iPhone Apps embed the kit web browser to provide core functionality in the app.

</comment></comment><comment><USER8> Title makes me not bother clicking. I hate people who love to declare that things are dead. Fundamentally it's much easier to talk shit about someone's creation than it is to actually create something.

</comment><comment><USER9> "But for many, the web is a shortcut to avoid the problems of piracy and distribution."

I think this misses the point. The web won because it's inherently cross- platform. The iOS walled garden is the exact opposite of this.

The real trend is towards 'apps' in general (read: Chrome Web Store).

</comment><comment><USER10> Sure, develop only for iOS devices if you feel like only targeting 6% of the PC and 14% of the mobile markets.

Or you can continue to develop web apps and hit 100% of internet-enabled devices.

</comment><comment><USER11> > The Death of the Web?

...there is nothing like the smell of rotting corpses in the morning. But seriously the title suggest that this will be a one sided and pointless philosophic post.

> Here's how it will happen.

This post is a prediction.

> Currently, the most sensible way to develop software and make money from it > is as a web application.

Last time I checked Star Craft 2 was still a native application.

> It gets around the problems of piracy, distribution of updates, and it makes > use of the awesome platform that is the web.

The author probably never heard of Internet Explorer and XSS.

> Sure, it is possible to make money (even large amounts of money) selling > one-off software licences, but compared to selling recurring licences for a > web app, it's a dying model.

The author probably never heard of Photo Shop. Sure it's one off payments, but in the long run you will end up upgrading to the latest versions and it's not a web application.

> That's very sensible, and I expect people to continue developing web > applications in the future.

The author probably forgot the title at this point. I mean when I hear "death of the web" I think of all the web being gone for good.

> But, if you poke around web developer communities, you'll see one obvious > trend: almost everyone is either very interested in building some kind of > iOS app, or is already doing so.

I really like the "obvious trend" part that tries to sell the phrase as exact science. How much is "almost everyone"?

> This seems to affect almost every web developer community, from Flash/Flex > to RoR including Python along the way.

Very nice, but where are the data and the numbers?

> A lot of bleeding edge web developers use Macs, and a lot of them are > lusting over iOS and want to build apps for it.

How much is a "lot"? What does "bleeding edge web developers" mean? Why are they "lusting over iOS"?

> But for many, the web is a shortcut to avoid the problems of piracy and > distribution. And the web is a shortcut with a lot of headaches. It's a lot > simpler to build an iOS/MacOS app and distribute it through the App Store > than to run web servers and keep them up to date and build billing systems > and maintain mailing lists and so on2.

This phrase seems to a suggest that the App Store fixes piracy issues.

> It's a lot simpler to build an iOS/MacOS app and distribute it through the > App Store than to run web servers and keep them up to date and build billing > systems and maintain mailing lists and so on2.

A lot more expensive too: 30% of your selling price.

</comment><comment><USER11> > So a lot of iOS apps are likely to be developed (in the past and in the > future) by web developers, if only because they make a nice mobile client > for their existing web application.

> likely to be developed (in the past and in the future)

The past already happened unless the author invents time travel it's impossible for more applications to "likely to be developed" "in the past".

> Why would you deal with all the angst of writing a billing system

I could not agree more, use PayPal and a shopping cart that supports it.

> why would you maintain servers, deal with hairy scalability issues

What kind of scalability issues?

> deal with the craptastic reality of Internet Explorer,

I don't know, let me see why I develop for IE... ohh yes, because it means that my app is accessible to IE users!

btw: looks like the author remembered that IE actually exists, see previous comment.

> why would you do all this if you can just plug into the App Store and let it > handle all the headaches?

Three reasons: 1) I need to learn Objective-C and iOS APIs 2) it means a lot less users than the IE users 3) I don't want to give away 30% of my earnings to Apple

> Sure, for some apps, it will still make sense to be on the web, or even to > be only or mostly on the web. But for many, the web is a shortcut to avoid > the problems of piracy and distribution.

I really like paragraphs where "some" and "many" many are used to give a sense of scale without presenting facts.

The web is not a shortcut to avoid piracy problems, it wouldn't work for games.

> It's a lot simpler to build an iOS/MacOS app and distribute it through the > App Store than to run web servers and keep them up to date and build billing > systems and maintain mailing lists and so on2.

It's a lot smaller user base too.

> To put a final nail in the web-coffin, a lot of web developers have already > gotten acquainted with the fundamental tools for building Mac OS apps while > building their iOS satellite apps. It'll be an easy transition for them to > build their next app solely in the Mac ecosystem and avoid all the headaches > of the web world.

Once you earn 1000$ it's easy transition to 200$.

</comment><comment><USER12> The death of spoken language? The death of the book? The death of the inkpen? The death of the phone system? The death of the desktop computer? Mainframe?

Sigh.

<comment><USER13> How many inkpens or mainframes did you use during the last month? How many might you have used 50 years ago?

<comment><USER12> I know I used one mainframe - I access my Chase Manhattan bank account online on a regular basis. You think they're running Haskell on Unix? Or COBOL on big iron?

My point is that new technologies typically coexist with the old ones for a very long time indeed, and talking about the "death" of something is generally hype.

</comment></comment></comment><comment><USER14> App stores could imply the dead of applications like Google Docs the office suite: there's actually no need to put your data on the web, except for the fact that the app requires it.

But for other applications, especially those that require a central database for all users (classic client/server setup), web applications still make the most sense.

<comment><USER15> One of the main value propositions of web apps such as google docs is that your data is stored in the cloud and accessible to you AND others on any machine that has a modern web browser. The value I currently get out of local Microsoft Excel over Google Spreadsheets is waning as the quality of such web applications increase. I think the mac app store is going to be great for single functionality novelty apps, but any serious product, especially those that require a lot of collaboration will stay on and continue to move to the web.

</comment></comment><comment><USER16> One of the benefits that web development offers that the App Store doesn't is that the code you write runs on any machine that has a web browser. Certainly dealing with IE is a headache - but to completely discount that fact that it doesn't run on Windows and ignore the majority of potential paying customers seems silly to me.

Certainly people can and will make money selling software in the App Store - there are some good reasons why listed in the article - but I disagree that web developers being acquainted with Mac OS tools is going "to put a final nail in the web-coffin". Web development seems alive and well. It is not dying - it is still in it's awkward adolescent years.

</comment><comment><USER3> Sorry about the title, folks. A rushed (and incorrect) decision, clearly. Will try and make keep it saner for the next one. Mea culpa.

</comment><comment><USER11> This article is not worth anemones time, it's completely biased, and baseless.(see my previous comments for details)

It's like propaganda, the author lives in an alternate reality.

TL;DR: the web will end, and the Apple App Store will take over</comment>


Ask HN: How to govern identity in online forums? - <AUTHOR> Providers of web forums and similar: how do you "guarantee" your members are who they say they are?
How can a forum provide a trusted environment where all members can reasonably trust the identity of all other members?
I appreciate that this is not a concern for many (case in point: HN). However in some circumstances a forum moderator wants to be reasonably sure that all members use their real names, and are who they purport to be. For example: private forums serving a profession. Anonymous accounts would not be permitted, and usernames would have to reflect the user's actual name -- or their account would have to declare it to any forum member who went looking.
What is your identity verification process, and what lessons have you learned?
Obvious online providers are the ubiquitous Facebook login, however many people distrust this. LinkedIn offers an alternative, but suffers from lower uptake.
What other providers are feasible? Does anybody here use PayPal for this purpose?
There is no perfect solution -- I'm interested in experiences, workflows, and lessons learned.
This question isn't in support of draconian policies [1], it's about how to provide an online environment where identity can be trusted by all participants.
[1] http://www.computer.org/csdl/proceedings/hicss/2012/4525/00/06149194.pdf <comment><USER2> If you need a high level of trust, you can use identity verification services like BlockScore. We see it used when the cost of fraud or misrepresentation is high enough to justify the cost and hurdle of participation. The hurdle being collecting the required information from trusted users. If you want to know more, see blockscore.com.

I have also seen others like Nextdoor use address for verification. If you have a locality-based service, that is a low-cost option that will likely also weed out bad actors because a credit card with valid billing address is required.

<comment><AUTHOR> I'd not heard of blockscore.com, thanks. In Googling for a reputable UK equivalent, I noticed that the UK government has decided to roll its own solution "Verify" for its online services [0] previously mentioned on HN [1]

I'd considered postal addresses, similarly to how Google sends (used to send?) codes on postcards to verify ownership of addresses in Maps. Obvious problems with this are (1) time; and (2) it verifies access to a location rather than identity.

A valid credit card, verified with a micropayment a la PayPal, might be a potential way forward. But charging people obviously puts them off, even if it's a token amount.

[0] [https://www.gov.uk/government/publications/introducing- govuk...](https://www.gov.uk/government/publications/introducing-govuk- verify/introducing-govuk-verify)

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

(Edit for clarity.)

</comment></comment><comment><USER3> The general problem of forums is not verified ID, it's use. Verified identification isn't a natural extension of what usually makes stand alone forums useful -- corporate sponsored forums may be a little different, but even then identification stifles the exchange of ideas. To put it another way, verified identification is only a feature when that's what users want.

To me, the clear best-in-class for professional forums is the StackOverflow model -- and it isn't a forum. It's first function is utility and not socializing.

This raises the question: is there a better way to create value for your users than a forum?

Good luck.

<comment><AUTHOR> You're quite right of course. However, assume I have no choice :)

<comment><USER3> What approaches and software are you considering?

<comment><AUTHOR> Currently, frankly it's looking like Facebook and LinkedIn sign-in buttons. Nothing else comes close. Hence the question.

<comment><USER3> FWIW, gmail\google+ is my preferred Oauth\OpenId provider. It's neutral between personal and professional and Google knows what I am doing on the web already...</comment></comment></comment></comment></comment>


Show HN: Monetized Hugo Theme Documentation - <AUTHOR> https://after-dark.habd.as <comment><USER2> > After Dark is a privacy-focused hypermedia authoring system designed to > amplify the world's most influential voices.

The tagline is really buzzwordy ... I have no idea what that means.

<comment><AUTHOR> What buzz words are you picking up on? Privacy? Not sure how I could reword that.</comment></comment>


Being Productive Does Not Make You Learn - <AUTHOR> https://dnote.io/blog/being-productive-does-not-make-you-learn/ <comment><AUTHOR> I recently noticed that I don't learn much on productive days at work. Rather I learn a lot when everything seems to be falling apart and I struggle to get features out.

I think this counter-intuitive fact might have some implications on many of our careers because we are continually pushed to be productive, not necessarily to learn. Therefore I wrote about my observation in detail, and what we it leaves us to do.

</comment><comment><USER2> I think max learning occurs when you start (and finish) new projects in unfamiliar technologies all the time. This is the opposite of what most workplaces do.</comment>


Technological evolution has a momentum of its own - <AUTHOR> http://www.wsj.com/articles/the-myth-of-basic-science-1445613954 <comment><USER3> Calling it the "myth" of basic science is not instructive. Plus, the general gist of this article isn't new. But nonetheless interesting and accurate in many aspects.

But the old [BBC Connections](1) series brings home the inevitability of technical and scientific progress in amazing ways, such as how the introduction of the concept of bank credit led to refrigeration and the space shuttle. One innovation does inevitably beget another. Very much worth watching the whole series.

[1]: [https://en.wikipedia.org/wiki/Connections_(TV_series)](https://en.wikipedia.org/wiki/Connections_\(TV_series\))

</comment><comment><USER4> The first half of this editorial doesn't really address basic science.

In the second half he does get to the premise in the title, and he gives it some support ... but he has very few cards to play. Yes, sometimes scientists get caught in an ivory bottle for too long. But sometimes practitioners play "poke and hope" for too long.

<comment><USER5> The article makes more sense (or at least it did to me) once you read the byline: the author is a politician in the British Parliament, and this is more of a budget-related op-ed than analytical or historical piece. He wants to reduce UK science funding, and this is his defense of that position.

</comment></comment><comment><USER6> While I do not agree with everything in this article, indeed some of its claims are suspect, I think it raises important points. There is a dynamic interplay between "science", the act of discovery, and "technology" putting knowledge to work. In my own work, the desire to accomplish a task drives my scientific work. All of my current work has a "natural application" in my field but has lead me to interesting mathematical questions which have potential applications elsewhere as well. Thus, the dynamic I have personally observed: progress in one space enables progress in another.

Furthermore, without individuals who are largely interested in knowledge discovery, I maintain that progress would be slower. Someone had to desire to understand cells and know about x-ray crystallography in order for it to be applied. I picked on this example because it was brought up in the article. But, by the same token, people interested largely in technological improvement are also needed. It takes a lot to move a discovery from a lab notebook into a useful state.

I also categorically reject the notion of technology being a thing unto itself that perpetuates itself. Humanity is the engine of innovation and no amount of innovation is likely to change that any time soon. All technology and all machines are ultimately at the service of humans. We are not in the service of the machine. We are dependent upon our machines but are machines are not free from us. This is why post-apocalyptic stories of AI destroying humanity remain popular. We are uncomfortable and fearful of our own dependence.

The fear of both scientists and corporations is we fundamentally do not know what the world looks like without government involvement. There is no roadmap for a transition. There is no telling who would win and who would lose. In the past several decades major research institutions both public and private have all had shrinking "time-horizons" for their research. The time-horizon is when the research (if fruitful) could result in technological advancement. In the short term a transition to industry funded research would only accelerate that trend.

In conclusion, science funding and science in general is deeply dysfunctional right now. A lot of time is spent of obtaining and keeping funding. Our funding system has likely caused a over supply of entry level researchers which has fueled low wages. But at the same time, we do not know of a better way to fund research at the moment. If non-governmental funding is better there is no real way to try it that won't cause massive structural unemployment and pain throughout our economy. As much as I would love to see the scientists I know receive good wages for their important work I think it is about as likely as properly paying pre-school teachers.

</comment><comment><USER7> "The Myth of Basic Science" is clearly one of those titles that will put the entire thread on tilt, so we changed it to the subtitle.

Please comment only if you have something substantive to say. If you think the article is unredeemably bad, you can always flag it, but don't degrade the thread with empty dismissals.

<comment><USER8> I don't understand why you need to censor the author's title for him - obviously provocative and pompous titles will put the thread on tilt. If the author wants to be taken seriously when they write editorials especially about science presumably there should be some rigor involved in the process - <USER2> just headline grabbing euphemisms. If the author's editorial doesn't evoke substantive feedback - maybe that fault lies with their work rather than with the readers?

<comment><USER7> That's an argument for not changing linkbait titles on HN at all, which would be a disaster for this place.

(Btw, author usually don't write the headlines, so it's good to give them the benefit of the doubt on that.)

</comment></comment></comment><comment><USER9> So, if technology is progressing in parallel, why do we need to support it by enforcing monopolies with patents?

<comment><USER10> Patents are one of many market controls that keep capitalism from destroying itself. They are, of course, abused like many things.

</comment></comment><comment><USER11> It is deeply disturbing article, down to the point where it looks like an attack on fundamental science.

Without science providing the explanation how all the fancy technology works, inventors would be blind and deaf.

For example - how can you make an accurate GPS without understanding relativity? How one can make a CPU without science of solid state physics? A computer network without information theory?

The better explanation would that fundamental science research gives a foundation for the future progress, in both applied science and technology. Those next steps can happen sometimes much, much later so the science behind it appears to be disconnected or a completely mundane knowledge by that time.

<comment><USER12> I found it disturbing for another reason too: the outright attack on the uniqueness and value of individual thought.

Yes, several people invented light bulbs. When something is a good idea many people will see that and produce variations on it. But that doesn't mean you can factor out initiative and individual genius. It just means that lots of people possess those virtues and that sometimes great minds do think alike.

The author of this piece seems to want to abstract us all into a giant seething heap of flesh whose writhing produces some kind of inexorable motion like the way molecules banging around produce pressure from a confined gas. I don't think it follows.

Elsewhere someone wrote that this seems to be a British political hit piece on science funding. Figures.

</comment></comment><comment><USER13> Yes, Lord Ridley, who inherited a bank and had to be bailed out by the govnemtnet, lecturing everybody on the triumph of the free market. No thanks.

</comment><comment><USER14> The question on the subtitle:

> Does scientific research drive innovation?

This is so obvious that it becomes stupid. Of course it does, there's a lot of research that had to occur before most innovations in history, and most of it was not lucrative by itself.

But then, there's something to be said about bottlenecks. Basic research has been far ahead actual production for a long while. As a consequence, one will really not see any correlation between them.

<comment><USER15> Throughout most of history, the causation was reversed. Technology drove science much more than vice versa.

For example, Watt and friends improved steam engines, and only later formal thermodynamics was invented to explain why and how steam engines work. ([https://en.wikipedia.org/wiki/Industrial_Revolution](https://en.wikipedia.org/wiki/Industrial_Revolution))

You'll see a similar effect with the agricultural revolution. We know now that legumes like clover provide nitrogen for the soil. But that's way after people figured out it was a good idea. ([https://en.wikipedia.org/wiki/British_Agricultural_Revolutio...](https://en.wikipedia.org/wiki/British_Agricultural_Revolution))

<comment><USER8> > Throughout most of history, the causation was reversed. Technology drove > science much more than vice versa.

You're just making a blanket statement with out providing a detailed supporting narative.

For example: you mention agricultural production - What is the comparative improvement achieved in 3000 years of say Human agrarian trial and error vs. what was made possible by Gregor Mandel ([https://en.wikipedia.org/wiki/Gregor_Mendel](https://en.wikipedia.org/wiki/Gregor_Mendel)) and Modern genetics in the 20th century?

<comment><USER15> I'd hope Wikipedia would provide that supporting narrative.

Science is awesome---but I don't see how even if the improvements since 1900 would dwarf any improvements before would have any bearing on my argument that `throughout most history, the causation was reversed.' Those are two completely independent observations.

In any case, it might be instructive to look at "Productivity improving technologies" ([https://en.wikipedia.org/wiki/Productivity_improving_technol...](https://en.wikipedia.org/wiki/Productivity_improving_technologies_\(economic_history\))) and see how they enabled science vs were enabled by science.

Containerization of sea trade is one of my favourite topics there. It's a huge productivity improver----but science played little role in its introduction and success.

On the other hand, the Green Revolution is an example for the successful application of science to technology. Also, the Haber-Bosch-Process ([https://en.wikipedia.org/wiki/History_of_the_Haber_process](https://en.wikipedia.org/wiki/History_of_the_Haber_process)). Many of us wouldn't be alive today if not for these two developments.

As an aside on Mendel: his data looks too good on some measures. ([https://en.wikipedia.org/wiki/Gregor_Mendel#Controversy](https://en.wikipedia.org/wiki/Gregor_Mendel#Controversy))

</comment></comment></comment></comment><comment><USER16> This man knows nothing of history, let alone physics.

</comment><comment><USER8> Why do we not need basic science? Because

> technology is self-organizing and can, in effect, reproduce and adapt to its > environment. It thus qualifies as a living organism, at least in the sense > that a coral reef is a living thing.

This piece is essentially just a hodge-podge of quotes by various sources which are intended to vaguely support the headline of the article and in no way actually addresses the tie between research results in science and technological innovation.

If you want to read more worthless fluff (the not-at-all pompously titled book is available in a book store near you):

> Mr. Ridley is the author of "The Evolution of Everything: How New Ideas > Emerge,"

</comment><comment><USER17> What a vapid piece of ultra-capitalist rhetoric and self promotion.

According to the author we don't need any tax-payer funded research. Just leave the market to do its thing and Science will take care of itself! Short- term thinking; that's the ticket! eh?? eh??

Cripes.</comment>


Ask HN: Recommendation for earphone to block out external noise - <AUTHOR>

I need a earphone that I could wear all day comfortably while working that will block out all the external chattering and ambient noise. I don't listen to music while working.<p>Any recommendations appreciated. <comment><USER2> If you're not going to be using them to listen to music, simple foam earplugs are comfortable, effective, and dirt cheap.

As far as actual earphones, I ended up picking a pair of Etymotic ER6i's after researching various brands a few years back. About $70, but excellent sound- blocking and audio quality.

</comment><comment><USER3> I use the Jabra C820s. They basically copied the Bose NC circuitry. I tested then side by side at a Bose Keosk at the airport and they sound the same and are just as comfortable.

[http://www.amazon.com/Jabra-Active-Cancelling-Stereo- Headpho...](http://www.amazon.com/Jabra-Active-Cancelling-Stereo- Headphones/dp/B000FL2EJE/ref=sr_1_1?ie=UTF8&s=electronics&qid=1285966460&sr=8-1)

</comment><comment><USER4> I don't have a pair yet, but check out the Panasonic RP-HC55-S. Not too expensive, won't get in the way of glasses, and won't make your ears hot.

If you really want serious noise cancellation, you need over the ear ones, and get a nice (expensive) pair. Some say that taking them off periodically to let your ears cool makes it tolerable.

</comment><comment><USER5> If you don't listen to music then surely earplugs would be better and cheaper?</comment>


Relica – Back up your files from all your computers to anywhere - <AUTHOR> https://relicabackup.com <comment><USER2> The UI reminds me of CrashPlan of old times.

What's the unique selling point?</comment>


Show HN: Termipal – native micro-GUIs for shell scripts and command line apps - <AUTHOR> https://termipal.sh <comment><USER2> Looks a lot like the good ol' zenity: [https://help.gnome.org/users/zenity/3.24/](https://help.gnome.org/users/zenity/3.24/)

<comment><USER3> Which (IIRC) is like xdialog for gtk, which is like dialog for X11.

<comment><USER4> There's also alternative to the `dialog` called `whiptail`.

<comment><USER5> Which is a proof of concept around newt [0], which is a C library you can use.

[0] [https://pagure.io/newt](https://pagure.io/newt)

</comment></comment></comment></comment><comment><USER6> This is written by the same guy who wrote Electrino, which was supposed to be a lightweight Electron replacement but never really caught on. So I'm not surprised that this has a lot of code from Electrino in the core. This is a great way to use the idea of Electrino for something that doesn't require many years of work to become useful.

<comment><AUTHOR> Yes, that's me!

I feel a bit sad that I was unable to put in the work to bring Electrino forward. There was a lot of interest, but I just couldn't find any more extra time between existing paying work and family. As you say, Electrino is a multi-year commitment because of the sheer number of APIs needed to support the apps that are already out there.

I made Termipal because I found myself writing a bunch of crappy shell scripts for various tasks, and having real UI with dropdowns and buttons made the scripts much more usable.

<comment><USER7> Hey! I just discovered Electrino from this thread and no wonder it grabbed a lot of interest! I didn't even consider the idea and now I _want_ it.

I used to be a native dev (from when native meant desktop OS :P) and switched to web apps just for UI development convenience, then node-webkit came. I still use both nw.js and Electron (though I admit I kinda like nw.js more, IPC is a PITA) but, even though I _love_ the development experience, I absolutely hate the end user experience.

Can you elaborate on why is Electrino a multi-year commitment? I guess I can see why if you meant Electrino as a drop-in replacement of Electron. Did you consider scaling down the features a bit? Just bundle a native webview + Node.js, add some kind of IPC and let userland do the rest.

Would this be achievable or am I missing something that makes it way harder than I imagine?

EDIT: After scanning my own comment I see why... the idea is to _not_ bundle Node.js and instead use the native JS engine which does not include Node APIs nor leverages the NPM ecosystem.

</comment></comment></comment><comment><USER8> Things like this (terminal add-ons like graphical layers and image viewers and so on) are only going to end badly.

What's so special about the terminal is the immunity the user has to hostile character strings.

When I view a webpage in lynx or read an email in (al)pine, there is no string that could be injected to harm me - I am immune to viruses and javascript and weird CSS and so on. I can open up an infected document or view a phishing email.

In short, the well-behaved terminal _does nothing_ but display text in your character set. It does not interpret and it does not execute _and it certainly doesn 't call GUI APIs to draw buttons and display videos_.

This is a door best left unopened ...

<comment><USER9> > there is no string that could be injected to harm me

Unfortunately that's not true at all. There are many instances of arbitrary code execution gained though a terminal emulator, with escape sequences[1] being the most common. For example exploiting common "git prompts"[2] scripts or running `strings` on a binary[3].

[1]: [https://unix.stackexchange.com/a/15210](https://unix.stackexchange.com/a/15210)

[2]: [https://github.com/njhartwell/pw3nage](https://github.com/njhartwell/pw3nage)

[3]: [http://lcamtuf.blogspot.it/2014/10/psa-dont-run-strings- on-u...](http://lcamtuf.blogspot.it/2014/10/psa-dont-run-strings-on-untrusted- files.html)

<comment><USER8> Thank you for bringing up the 'strings' problem - something I had forgotten about.

It's worth noting, however, that there is nothing inherently dangerous about a strings-like utility. Rather, it is GNU strings which has unexpected complexity:

"Perhaps simply by the virtue of being a part of that bundle, the strings utility tries to leverage the common libbfd infrastructure to detect supported executable formats and "optimize" the process by extracting text only from specific sections of the file. Unfortunately, the underlying library can be hardly described as safe: a quick pass with afl (and probably with any other competent fuzzer) quickly reveals a range of troubling and likely exploitable out-of-bounds crashes due to very limited range checking"

... which is the very issue I'm warning against, just at a different layer of abstraction ...

</comment></comment></comment><comment><USER10> Something like this but portable across Linux/Win/Mac would be pretty cool.

<comment><USER11> Instead of writing a terminal emulator specific gui, maybe someone could write an ncurses based shell wrapper.

The whole problem is that shells are REPLs, and REPLs are not the best method of interaction. This idea could probably be taken even farther.

</comment></comment><comment><USER12> > For maximum convenience, Termipal automatically attaches to the bottom edge > of your terminal window.

What does Termipal do if you have terminal full screen?

<comment><USER13> Would be kinda cool if, on a MacBook Pro, it moved the Termipal UI onto the TouchBar :)

<comment><AUTHOR> I like that -- that's definitely what it should do, and maybe not even very hard because there's so few UI elements.

</comment></comment></comment><comment><USER14> In a similar vein, I wrote choose[1] which I thought was very novel at the time, since it is a command line utility that pops up a native GUI (for fuzzy matching) and takes its input from stdin, lets the user choose an item by interacting with the native GUI, and spits output onto stdout. I thought it was the coolest idea since you can integrate it with any CLI that can launch apps and read/write to standard input/output, including vim and emacs.

[1]: [https://github.com/sdegutis/choose](https://github.com/sdegutis/choose)

</comment><comment><USER15> Well, that's quite nifty. I never knew OS X had it's own javascript engine / component.

<comment><USER16> Yep, it's been there a while:

      rterrell$ /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc
      >>> for (var i=0; i<10; i++) { print("Hello World!", i); }
      Hello World! 0
      Hello World! 1
      Hello World! 2
      Hello World! 3
      Hello World! 4
      Hello World! 5
      Hello World! 6
      Hello World! 7
      Hello World! 8
      Hello World! 9
      undefined
      >>>

Edit to add: the submission reminds me of the old "Commando" for MPW. Very cool.

<comment><USER17> Well, while I _did_ know JSC was a standalone thing (a framework, rather) on macOS, notably due to its presence in AppleScript Editor, I did _not_ know it had a REPL readily available, and that the jsc interpreter works for shebangs too!

<comment><USER16> I found out about it when using Cappuccino -- on mac os x it would build much faster using jsc instead of narwhal. For about a week after that I tried writing shell scripts using the jsc shebang... but it ended up being a lot more painful than I imagined.

</comment></comment></comment></comment><comment><USER18> For the Mac there's also Pashua: [https://www.bluem.net/en/projects/pashua/](https://www.bluem.net/en/projects/pashua/) which lets you generate a GUI for shell scripts.

</comment><comment><USER19> Heads up: the text cuts off on ultrawide

[https://i.imgur.com/p64kvl0.png](https://i.imgur.com/p64kvl0.png)

</comment><comment><USER20> Needs more examples certainly. Still, nice work!

</comment><comment><USER21> Looks interesting! The website could use some more screenshots showing off what's possible.

<comment><USER22> I didn't even notice that it was in use on the splash image. I thought the terminal was just setting on top of another app window.

</comment></comment><comment><USER23> Looks nifty, however I'm mostly always running my terminals either in full- or split screen. How would this work in these cases? Does it work from within a tmux-session?

A neat feature would be a dialog (the tui cursors one) fallback, I.e. when working over SSH.

</comment><comment><USER24> What use cases does this have that Tcl/Tk doesn't?

<comment><AUTHOR> I feel like I don't really know Tk well enough to give a satisfactory answer. Does it use native Cocoa widgets these days? I recall that wasn't the case years ago, at least.

Anyway, Termipal's benefits are:

* Native Cocoa widgets

* No dependencies (uses system JavaScript framework)

* Attaches to host terminal window to minimize UI transitions.

It's designed for tiny non-intrusive GUIs invoked as part of a script. Tk probably shines for more complex dialogs.

</comment></comment><comment><USER25> This looks super interesting, but is there api documentation some where? Is there a way for it to output a shell command directly or can it only print?

<comment><AUTHOR> Sorry, I haven't written any API documentation yet. Basically there's a handful of Node + Electron APIs implemented, and a new "microUI" module for managing the UI. The example scripts show pretty much all there is to microUI at this point.

For invoking shell commands, it would probably be best to just implement Node's child_process module?

Adding more APIs is in general not difficult -- it's harder to decide what to prioritize.

</comment></comment><comment><USER26> I really like this idea! Maybe it's the Christmas season but I was feeling a little wistful for the old days of fun little OS X utilities.

This is a beaut :)

</comment><comment><USER27> The finished product is definitely not for me, but the ideas are neat.

</comment><comment><USER28> Pretty neat. I don't suppose this works with iTerm2?

<comment><AUTHOR> AFAIK it works with iTerm.

It attaches to the focus window on the app that launched it, so it should be terminal-agnostic.

</comment></comment><comment><USER29> The site is down. Maybe due to too much traffic.

<comment><AUTHOR> Sorry about that. Where are you located? It works for me... Hmm :/

Here's the Github repo: [https://github.com/pojala/termipal](https://github.com/pojala/termipal)

<comment><USER30> Its down for my in San Francisco.

</comment></comment></comment><comment><USER31> Nice!!

</comment><comment><USER32> Ah, finally someone did this! I've had this same idea for forever but never got around to implementing it.

</comment><comment><USER33> TLDR: doesn't work on linux

<comment><USER34> It's not meant to.

<comment><USER33> Then it should say that in the title</comment></comment></comment>


French-British action plan on internet security - cirrus-clouds https://www.gov.uk/government/publications/french-british-action-plan-internet-security <comment> cirrus-clouds For a refresher on current UK legislation on security, and the regulation plans pledged by the Conservatives in their election manifesto, read here:

[https://www.dontvoteconservativeuk.com/#security](https://www.dontvoteconservativeuk.com/#security)

In case you're wondering, yes, the site above has a highly partisan aim (I wrote it), but the information in the section linked above is factual. You can make up your own mind whether such regulation is either proportionate, needed, or effective.</comment>


Accentuate the Positive - <AUTHOR> https://www.nybooks.com/articles/2019/02/07/pinker-rosling-progress-accentuate-positive/ <comment><USER2> This is a pretty good review of both books.

Having read both books I'd say that if you haven't read Factfulness it is definitely worth it, indeed I'd say it's one of the best books I've read in years. It's interesting that this review concentrates on Pinker's views of various things, in particular the actual 'Enlightenment' and spends little time discussing much of the focus of Factfulness.

Pinker's book is still worth a read, but perhaps after reading a book just on The Enlightenment.

The central point of both books that the world has become much better over the past two centuries is really important.</comment>


Ask YC: What important lesson did you learn from this site? - <AUTHOR>

Ask YC: What important lesson did you learn from this site? <comment><USER2> I learned I could enjoy a social news site. Digg and the others weren't able to hold my interest as long as HN has. Gooo news.yc!

</comment><comment><USER3> i learned how diversified hackers could be; and almost all of them are very interesting ; i learned that 'sharing is giving' and u gain so much by sharing n giving - it is truly a knowledge hub !!!</comment>


Show HN: My latest Flash game, Super Goblin War Machine - <AUTHOR> http://www.bigblockgames.com/games/supergoblin/

<comment><AUTHOR> Hi Everyone,

It's been about a year since I've shamelessly posted one of my games here, so I thought I'd show off my latest creation. I'd love to know what everyone thinks!

I'm running a free weekend for the game's expansion pack to help promote the site and iPad version, although I'm promoting that aspect of it harder elsewhere on the web, I don't want people here to be buying it while others are getting it for free:

<http://www.bigblockgames.com/promotions/goblinnyc/>

Also, if anyone has any questions about the games business or game development, I'm more than happy to talk shop. Although this is my first foray into iOS, so I'm probably making a lot of mistakes right now.</comment>


Spotify to launch in Netherlands on May 18 - <AUTHOR> http://eu.techcrunch.com/2010/05/06/spotify-to-launch-in-netherlands-on-may-18-says-dutch-media/ <comment><USER2> As I'm from the Netherlands I think this is great news! Rate of adoption is skyhigh in Sweden, I'm very curious as to what the release will do for the way music is consumed in my country.

Now if only they would allow for some better playlist-management in their client, I'd be even more thrilled.

<comment><USER3> The biggest change in Norway was mostly that you're guaranteed to hear "Hi! I'm Jonathan from Spotify..." at any party where people haven't bought a premium-subscription. Everyone found out that Spotify is simpler, easier and more convenient than ripping CDs or playing the CDs directly.

</comment></comment><comment><USER4> Last week I checked there site and read: "Share music with your Facebook friends". And that's what I thought it would be so I didn't download it.

But today I read a Wiki page about it and I understand it's much more than 'Facebook only'. It's a great app!

Am I the only one who thinks there homepage is very unclear?

By the way: the VPRO is very progressive. They have been serving great music for years: <http://3voor12.vpro.nl/luisterpaal/> (Dutch)

</comment><comment><USER5> I'm crossing my fingers for the US launch...

</comment><comment><USER6> Nice! I'm looking forward to it, went to Spotify yesterday for some odd reason (I never ever go to Spotify) and it wasn't available for me.

</comment><comment><USER7> I hope they launch in Switzerland next, because thats where I just moved...

</comment><comment><USER8> Great, after last.fm became subscription only I needed a replacement.</comment>


Spybot Anti-Beacon: Disable Tracking/Telemetry in Windows - <AUTHOR> https://www.safer-networking.org/products/spybot-anti-beacon/ <comment><USER2> I'm using spybot for quite a long time now but I think I reach a point where I can't continue with windows... I'll move to manjaro soon the only things that was making me stay with windows was the games. I'll do whatever I can to make it work over Linux. Windows always updating when he wants really annoys me. Anyway, everything I have at home is already Linux or android so...

<comment><AUTHOR> Gaming is also one of the main reasons why I still have a Windows box. However, thanks to [https://github.com/ValveSoftware/Proton](https://github.com/ValveSoftware/Proton), this might be less of a problem in the future.</comment></comment>