Ask HN: Is Twitter Good for the World - <AUTHOR> Dorsey says that twitter won't censor demagogue leaders cos it promotes public conversation. While that is true it's also  being an avenue to spread hate, fear and divide people. There is only so much rational public conversation that can happen when public is stricken by strong emotions like hate and fear. If anything that states promotes more charged convos accelerating the divide even more.
What's the tipping point where twitter should consider banning such accounts? How is it fair that a few people at a company can decide on things that impacts so many people, governments and democracies in the world.
As a thought experiment what would the world be like if there was no twitter or Facebook. On balance has their existence been positive for the world or negative? <comment><USER2> Twitter is neither good, nor bad. It's a platform, and given its size, most of what happens on it is completely banal.

Twitter is also not a public utility, it's a private business whose owners have the right to manage it as they see fit, within the bounds of the law.

The problem here is that Twitter has become far more important as a nexus for political communication and news than it should be. But television is also an avenue to spread hate, fear and divide people. So are newspapers. So is radio and the telephone. Every form of mass communication carries that potential - plenty of riots have been started with just pamphlets and word of mouth. Twitter is just one site on the greater web, and the web magnifies the rate at which information _of all kinds_ spreads. Get rid of Twitter, or censor it, and you don't actually change anything but the specific channels through which information flows.

</comment><comment><USER3> I think it's very good of the management at Twitter that they have a policy of not censoring democratic leaders. I'm hopeful that there won't ever be a tipping point on the basis that it's probably a financially good decision as well as a politically fair one.

There's no need for a thought experiment though. We know exactly what the world is like without the likes of Twitter and Facebook. What it looks like is a world where most information is very heavily filtered by a very small, self- selecting group. And through channels that were, usually, heavily editorialised and explicitly biased.

I think it's too early to say whether they are a net force for good or not. My gut feeling is that they will push democracies to be much more direct than representative. I happen to think that this is likely to be a really bad thing but I don't know that for a fact.

<comment><AUTHOR> \- the group may not be small here but the platform that enable this is run by a as you say small and self selecting group. In addition small self-selecting groups can exploit the masses as have been shown.

-net net you are saying that twitter/fb will force democracies to be direct and in your personal opinion is a really bad thing but you are giving the benefit of doubt. Jury is out there but today we can see that because of these technologies democracies have been divided like never before and that is a fact.

</comment></comment><comment><USER4> > While that is true it's also being an avenue to spread hate, fear and divide > people.

So is paper. Or language. Do you have the same stance on those two that you have on Twitter?

<comment><AUTHOR> True but its paper and language based dissemination of information takes time. and Time is a good catalyst of strengthening or weakening sudden emotions. It gives space for rational decision making. Realtime comms like twitter etc eliminate that space and hence in effect make it more easy to act emotionally without giving the space to rational behavior to provide a balanced action (individually and there by collectively).. There is a reason why gun sales usually have a waiting period.

<comment><USER4> The time you need to send out counter-information is the same, though. If your information dissemination is slow then so is you correcting some fake news piece, or uncovering some government propaganda - if it's fast, then so is your ability to combat it.

Since there's very little (besides actual lynch mobs which don't happen in Western societies any more) that has a very short time window, I don't see the momentary emotional uproar as a problem. Terrorists aren't attacking some target because they read a rumor on Twitter 30 minutes ago, they are immersed in an ideological framework that doesn't require real time communication. Remember, McVeigh didn't have Twitter.</comment></comment></comment>


Simple free tool to view your JSON data and create online report - <AUTHOR> https://www.webdatarocks.com/blog/how-to-prepare-json-data-and-connect-it-to-webdatarocks-demo/ <comment><AUTHOR> You can try demo here: [https://www.webdatarocks.com/demos/javascript-pivot- table-de...](https://www.webdatarocks.com/demos/javascript-pivot-table-demo/)

</comment><comment><USER2> Tried their demo - waiting for the release.</comment>


We Got 3k Subscribers in 7 Days with No Budget - <AUTHOR> https://www.myleon.co/post/how-got-3000-waitlist-subscribers-no-marketing-budget <comment><USER2> A noble project (to improve employee lives). It is very difficult to figure that out from the website. There is a lot of text, and it took me some time. Best of luck.</comment>


In New York City, What's the Difference Between a $240 and a $6.95 Sushi Roll? - <AUTHOR> https://psmag.com/in-new-york-city-whats-the-difference-between-a-240-sushi-roll-and-a-6-95-sushi-roll-cd057bfa3a29#.e310bj5pt <comment><USER2> I skimmed the article and didn't find the answer. I guess, nothing?</comment>


Why Computer Science Should Be a High School Graduation Requirement - <AUTHOR> http://codinginstereo.com/2014/03/why-computer-science-should-be-a-high-school-graduation-requirement/

<comment><USER2> "Furthermore, computer science education is probably more important over a student's lifetime than many of these natural science or mathematics courses. Simply put, think about the last time you used what you learned in your high school chemistry, trigonometry, or physics class, then think about when you last used a computer. Oh wait, you're using a computer right now!"

Yes, and I'm breathing right now--by your reasoning shouldn't that count as biology?</comment>


Show HN: http://hackerbra.in - fast and smart hacker news - <AUTHOR>

I've finally launched a site that helps me check out Hacker News, as an adaptation to changes in the way I use Hacker News.
http://hackerbra.in
This site helps me get a quick view of current and historic Home, Ask and Best pages.
Its specialty lies in:
1) the ability to open up only top comments for any item, inline without page reload.
2) the ability to see a user profile without requiring page reload. <comment><USER2> This is great! Font size is a bit large though, otherwise pretty awesome.

<comment><AUTHOR> I'll probably add a stylesheet switcher, and have persistence so that pages in history that have been already viewed are shaded down. Thanks.

</comment></comment><comment><AUTHOR> clickable: <http://hackerbra.in>

</comment><comment><USER3> I giggled a little bit when I saw the 6px numbering down the right side. Most people have trouble with anything below 11px or 12px, so to cut that in half is pretty funny. If you don't want the numbering, just remove it, otherwise it needs to be bigger.

Also, the post titles shouldn't be 20px. That's about what you would use on an
 tag and you typically only have one or two of them on an entire page (whereas you have 30 of them).

Scale everything down.

<comment><AUTHOR> FWIW, the post titles are 1.1 em, and numbering 0.4em. I didn't want those to be distracting, but still wanted them to be there anyway.

Thanks, I really appreciate the feedback and will think about how to tidy it up.

<comment><USER3> Here's a little trick if you're going to use em:

BODY {font-size:62.5%}

That makes 1em equal 12px, so 2em is 24px, 1.5em is 18px, etc.

You'll need to do this to get consistency across all browsers. Otherwise 1.1em could be 20px for me but 18px for you.

Here's a post that goes into much more detail: <http://www.clagnut.com/blog/348/></comment></comment></comment>


Google-search "movies" easter egg - <AUTHOR> https://www.google.com/search?num=20&hl=en&safe=off&tbo=d&q=action+movies&oq=action+movies&gs_l=serp.3..0i20l2j0i7l8.2117.3660.0.37126.96.36.199.0.0.1.217.784.3j2j1.6.0.les%3Bcrnk_timediscountc..0.0...1c.1.eb7UScziI0s

<comment><USER2> Great, now my wife can find all the romantic comedies I don't want to watch in one, convenient, easy-to-browse list.

<https://www.google.com/search?q=romantic+comedy+movies></comment>


On Mediocre Software - Where is the Love? - <AUTHOR> http://crazyviraj.blogspot.com/2011/01/on-mediocre-software-where-is-love.html

<comment><USER2> Well said - amen!</comment>


For future hackers - <AUTHOR> http://www.nsa.gov/kids/home_html.cfm

<comment><USER2> I just finished the software engineering course at the University of Maryland online. A little after my first year into the program, I got an email out of the blue from the NSA. The email said that because of my GPA and the school I was attending, I qualified for a full-ride scholarship plus $15k a year stipend for my undergrad + grad school.

The only think was, I'd have to let the NSA dictate what classes I took, every summer belonged to them, and I'd owe the NSA 1 year of work for every year that I took the scholarship.

I ran away.

</comment><comment><USER3> Some of the puzzles on the brainteasers page are are fun - <http://www.nsa.gov/kids/games/games00001.cfm>

<comment><USER4> That's one of the curious parts about the whole thing. Any mind capable of the brain teasers, or even grasping the rudimentary explanations of cryptography found on the site, is likely to be quite unimpressed by "D-Dog" and "Crypto- Cat".

Half the site says "Nova", the other half "The Electric Company", and its all put on by the NSA? The dissonance hurts my brain. _Sigh_ My tax dollars at work.

<comment><USER5> I always wondered if it was a secret communication channel. Because a semi random puzzle could easily send messages. Or it could just be setup to wast other governments time looking for such.

</comment></comment></comment><comment><USER6> Has anyone here done an NSA math program, like the one that happens over summer?

</comment><comment><USER7> Fuck the NSA.

<comment><USER8> Fuck the police? <http://youtube.com/watch?v=A05uvpG3cLs>

</comment></comment><comment><USER4> Is this some kind of onion-esque joke?

I don't even know how to respond to this... some sort of personal stack overflow.

The more I think about it, the worse it gets.

</comment><comment><USER9> Anyone else getting _Mercury Rising_ flashbacks?

</comment><comment><USER10> "We're the CryptoKids and we love cryptography!"

Haha. It's like a parody of itself.

</comment><comment><USER11> Its bad enough that TV commercials brainwash kids.</comment>


Show HN: Online Booking Simplified - <AUTHOR> http://buking.my

<comment><USER2> One person's opinion ...

Never, _never_ use example text that you don't want to go live in your final product. There will come a time when you inadvertently make live the wrong version, and the result can cost you dear.

In the other hand, this looks so incredibly unprofessional that I will never return.</comment>


Using QL to find a remote code execution vulnerability in Apache Struts - <AUTHOR> https://lgtm.com/blog/apache_struts_CVE-2017-9805 <comment><AUTHOR> Reading about CVE-2017-9805 it was really interesting to learn that the company that discovered it was using a Datalog-like language in order to query Java code for vulnerability patterns.

[https://en.wikipedia.org/wiki/Semmle](https://en.wikipedia.org/wiki/Semmle)</comment>


Why startups aren't cool - <AUTHOR> https://www.linkedin.com/pulse/why-startups-arent-cool-david-ventzel <comment><USER2> I chuckled at "Tech startups became cool because of CERN and Marc Andreessen".</comment>


A SOPA you can get behind - <AUTHOR> http://www.lvl1.org/2012/01/29/a-sopa-you-can-get-behind/ <comment><USER2> Every time I start thinking to myself that these ideas are silly, I realize that I'm reading HN (or Reddit or Slashdot or...) instead of working, then I end up wanting something like this really bad. Scumbag brain...

Having it be a physical box is just plain cool.

</comment><comment><USER3> The button and key switch are an interesting addition to this kind of thing. The general idea has been around for awhile, though. In fact, hackernews has it built in, with the "noprocrast" setting.

</comment><comment><USER4> It'd kind of be interesting to introduce a device like this to a team environment. Say, five developers on a box. Any one of them has the ability to go nuclear at any time, and it affects all five. Don't want anyone to go nuclear? Everyone has to pull together and stop wasting time...

</comment><comment><USER5> The next obvious step is to attach a shotgun to it.</comment>


Sleepboxes for catching ZZZs in more places - <AUTHOR> http://www.cnngo.com/explorations/life/futuristic-sleepbox-makes-sleeping-airports-easier-720511?hpt=hp_bn10

<comment><AUTHOR> If this were at an office where you were interviewing, I wonder what that says about the place... That said, I'd definitely opt for having one, beats driving home after a 20 hour day.</comment>


Ask HN: What tech would you use to build a simple mobile app? - <AUTHOR> Native, for iOS and Android? <comment><USER2> React Native using Expo is a good stack to use. Development is easy with solid build and debugging tools.

<comment><USER3> Does react native compile to native code for windows?</comment></comment>


A keyboard that doesn't suck: Filco 104-key - <AUTHOR> http://www.geek.com/articles/games/review-filco-majestouch-keyboard-2010045/

<comment><USER2> I have one of these on my desk and it's truly a fantastic keyboard, especially for the price.

I advocated for it in a previous article:

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

(The Majestouch Click Otaku is basically the same unit. Click == what kind of key switches (longer pull, clicky = Click, slightly shorter pull and more squidgy = Touch; Otaku = No printed keycaps))

I bang on this keyboard day and night and it just keeps taking the beating. As far as attestations go, I've done a few orders through Elite Keyboards and it's been nothing but up and up, shipped fast. I haven't dealt with any customer service issues like "my keyboard broke and I have to return it" but be aware of the VERY strict return policies. Each keyboard on their site has a diff. policy based on what internal switches it is, and they are CLEAR about it. But... in many cases you return for repair and it may be 4-8 weeks. Not that you're likely to have issues if you take good care of your new best friend.

</comment><comment><USER3> But how does it compare to the gold standard, the IBM/Lexmark/Unicomp Model M? IMO no keyboard review is complete without that comparison.

<comment><USER2> The Cherry Blue & Brown switches are damn close. I don't have an IBM to compare with - but this switch set is the first keys I've been happy with in probably a decade. They're built to be reliable, consistent and last FOREVER, like the Model M.

</comment></comment><comment><USER4> This guy is truly a keyboard-o-phile. Well done.</comment>


REST is the new SOAP - <AUTHOR> https://medium.freecodecamp.org/rest-is-the-new-soap-97ff6c09896d?gi=4010e140afe3 <comment><AUTHOR> The article is refreshing and makes clear that REST is violates KISS, making a good case for RPC with no nonsense on top of it.

I fully agree with that sentiment.

However, at some places the article goes over the top. This is really a pity, as those bits are not necessary for the overall argument. Moreover, those parts weaken the reading experience as much as a bunch of spelling mistakes would.

 _> Using "HTTP 404 Not Found" to notify about an unexisting resource sounds RESTful as heck, doesn't it? Too bad: your nginx was misconfigured for 1 hour, so your API consumers got only 404 errors and purged hundreds of accounts, thinking they were deleted…._

A non-existing resource doesn't mean it was deleted, but simply means it is not there - for whatever reason. Acting with deletion after receiving a 404 sound quite far fetched to me. (Except when mirroring, but then it would restore everything as soon as the configuration was fixed.)

Moreover, if the server does have active knowledge of the deleted status of a dataset, and wants to communicate that to a client, it would use 410 Gone. Only then the client has enough evidence to perform a deletion on their side.

 _> You want to use PUT to update your resource? OK, but some Holy Specifications state that the data input has to be equivalent to the representation received via a GET. So what do you do with the numerous read- only parameters returned by GET (creation time, last update time, server- generated token…)?_

The PUT semantics only require it to be idempotent. That is, multiple identical PUTs should lead to the same result as a single PUT. The specs do not require that GET has to return the exact same value installed by PUT. Even more so, the specs actively discourage clients to make that assumption, as a different client - or any other event for that matter - could have changed the value in the meantime.

<comment><USER2> > A non-existing resource doesn't mean it was deleted, but simply means it is > not there - for whatever reason.

There you have ambiguity of using http codes for representing application logic. Using any other http code will have the exact same problem - you can easily encounter a situation when http-meaning is accidentally confused with your-definition, this was just one example. The solution is to not mix them at all.

</comment></comment><comment><USER3> Original submittal: 330+ comments, 580+ points:

[https://news.ycombinator.com/item?id=15937448](https://news.ycombinator.com/item?id=15937448)</comment>


The Android-x86 project is glad to announce 5.1-rc1 release to public - <AUTHOR> http://www.android-x86.org/releases/releasenote-5-1-rc1 <comment><USER2> I couldn't find the iso on android-x86 but it's available on sourceforge.</comment>


Greta Thunberg - <AUTHOR> https://en.wikipedia.org/wiki/Greta_Thunberg <comment><USER2> I think Greta, along with David Attenborough (and the programmes he voices) and Extinction Rebellion have really put climate change back in the news in the UK.

Extinction Rebellion ran some of the most effective (or disruptive) protests seen in recent years, all without getting violent. Building a skatepark on a London bridge, dropping a yacht at a busy junction, gluing protesters to stuff. All new, all guaranteed to annoy the climate change denying right.

Greta's speech to the EU parliament really impressed me. Seeing the deniers personal attacks on her made me sure she is making a difference.

<comment><USER3> Does this mean you favor the end of air travel and high speed rail everywhere by 2025 plus a general strike? That's what Greta is asking for - a complete cessation of carbon emission by that date. Please indicate how you think this will pan out.

<comment><USER4> This is the kind of logic, that always kills me: "There is no climate catastrophe ahead, because avoiding it would mean unthinkable restrictions".

<comment><USER2> It is almost as bad as the logic that since I think Greta is doing a __good_thing__, I must therefore wholeheartedly agree with every point she ever makes.

<comment><USER4> Exactly!

;-)

</comment></comment></comment></comment></comment><comment><USER5> Poster child for the child abuse the climate alarmists have wrought upon a generation. Are the lasting psychological effects of instilling so much fear in so many children really worth it? We're not all going to die on account of climate change—nor will our grandchildren. Endless war in the Middle East and child labor in rare-earth metal mines in Africa are what children should be speaking to the UN about.

<comment><USER6> You probably know how feedback (both positive and negative) work in systems. If not, it is the same process that makes a microphone scream if you are too close to the speaker. Often the area between no feedback and full on feedback is really tiny.

Climate is similar – with the tipping point according to current models around +1.5°C average temperature. That means if we manag to limit it to <1.5°C we won't enter a region where climate warming accelerates itself to a degree that makes it unstoppable.

And there is literally no debate about these mechanisms – there is a >97% consensus on this.

Of course we can do the silly thing and try out what happens, ruin our own existential basis, get the predicted migrant waves, conflicts, economic damages etc. Or we could do what a civilized society would do and act accordingly.

<comment><USER7> The amount of "feedback" involved in climate systems is the very thing that makes them incredibly hard to predict and make solid claims about. The claim that there is "consensus" that a runaway process _will_ happen if warming hits 1.5C, and that no _other_ , countering feedbacks exist that could mitigate this effect, is kinda preposterous given the inherent complexity of what we're dealing with. Even something as simple as cloud cover, and how it would respond to a "warmer" planet, is stuff that there's a _lot_ of uncertainty about.

<comment><USER8> I think our collective effort to advance our climate knowledge by testing these hypotheses, despite the existential risks, shows an admirable commitment to science.

</comment></comment></comment></comment><comment><USER9> It's sad that only MPs are allowed to speak in the Swedish parliament. There are quite a few politicians who don't take her seriously here, in her own native country.

</comment><comment><USER10> I mean, she's great and I'm a fan, but I don't get why this is here?

<comment><USER11> Feel like this section of the guidelines have to be added above the commenting box soon.

> What to Submit

> On-Topic: Anything that good hackers would find interesting. That includes > more than hacking and startups. If you had to reduce it to a sentence, the > answer might be: anything that gratifies one's intellectual curiosity.

From [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

TLDR: it's here because people found it interesting and upvoted it.

<comment><USER12> Yeah I don't think I'm unique amongst "hackers" in that I have many disparate interests, and generally enjoy reading about something new, regardless of what the topic is

<comment><USER13> Just to clarify: you hadn't heard of Greta Thunberg up until now?</comment></comment></comment></comment>


Ask HN: Need an API for your weekend project? I'll build one for you - <AUTHOR> A few days ago I launch my service [1] which is a BaaS type of thing so now i am doing "the thing that does not scale" :) The proposition is this (for this specific thread):
a. You have an idea for a project, and you've put some thought into it (it's not a "wouldn't it be cool if ... type of thing")
b. You can handle the frontend part yourself
c. 90% of your api is storing and retrieving data from your database
d. The api needs to be either REST or GraphQL (or both)
e. You'll provide the table definitions for all your models (no need to be 100% correct/final)
What i'll do for you:
a. Implement the api for your mvp (then transfer the git repo to you)
b. Data will be stored in your RDS db (PostgreSQL)
c. I'll host the API layer on [1] for you for free (but you can also host it yourself)
d. The service is a "super set" of the capabilities PostgREST [2] gives you
Obviously this can not work for a long time or for a lot of projects but I can knock out 20-30 apis in the next month.
If this interests you, leave a comment here with a short description of the idea.
[1] https://subzero.cloud
[2] https://github.com/PostgREST/postgrest <comment><USER2> # Idea 1: App that collects "tags" from User. Tags can be anything. For example "apple", "avocado", "100 lbs", "90 lbs", or "Training at 6pm", "Training at 6am", "Good sleep", "Bad sleep". After some time. User can select some tags as "Outcome" and run machine learning and get suggestions/results. Like eating avocado, egg, sleeping good makes this person loose weight and feel good while eating white bread, sleeping bad makes this person gain weight. If made universal - Users could use this for diet, sleep patterns, learning what makes them achieve amazing muscle growth, or many other.

<comment><AUTHOR> I am not sure i get the idea, can you be more specific? + do you know ML :)?

</comment></comment><comment><USER2> Idea 2: App that contains database of exercises you can perform at gym/home/outdors. I have a friend that is one of the best personal trainers in Poland, and he has extensive medical knowledge and I have a friend that is doctor and physiotherapist. They both said that if I'll create app that will be database of exercises - they will populate it with data, pictures, videos and so on. There is no app that I know of that stores exercises with parameters like [when exercise is hardest, is it when muscle is contracted, extended, or in the middle - this information is crucial in finding similar exercises][secondary muscles that are engaged in this exercise - crucial for finding similar or completely different exercises][which conditions forbid using this exercise - you have tennis elbow syndrome, app should tell you which exercises are not for you][progression - level 0, just normal dumbbell curl, on next level rotating hand while doing contraction movement, on next level squeezing pinky finger - all of them are intensifications and they matter][what equipment can be used to perform this exercise - you don't have a exercise ball, use bench] and so on... Finding similar exercises can come in handy if user has a training plan but all machines are taken, or he does not have equipment at all. Finding different exercises is holy grail because it helps shock the body and grow muscles faster (as body adapts fast to new things). GraphQL is probably perfect in searching through that kind of data set to find opposites and similars. I've started doing this in GraphQL but I suck at backends :P

<comment><USER2> Database could be later extended by feature of auto-generation of training plans for specific conditions or goals not only for one day but for a whole year because of so much information about each exercise that was in previous plans, that can be used to generate new plan with exercises that target the same muscle group but in a completely different/shocking for the body way. We have used this solution without technology and it works great - but without tech it is very slow to create each plan.

<comment><AUTHOR> The idea looks researched a bit. Send me over email the database table definitions an we can take it from there. One thing i suggest to donfirst is to spin up a wordpress and use that as an admin interface for your fruends to fill in the data, then we'll only need to import it and create an api over it.

</comment></comment></comment><comment><USER3> I have tables users (id, name, email, password, created_at) post (id, title, body, favs, created_at) post_favs (user_id, post_id)

Api should return post (id, title, body, favs, created_at, is_faved) And should cache post

<comment><AUTHOR> What's the project about?</comment></comment>


Show HN: Acme-tiny, a tiny 200-line Let's Encrypt client - <AUTHOR> https://github.com/diafygi/acme-tiny <comment><USER2> I'd love to see this paired with your [https://gethttpsforfree.com/](https://gethttpsforfree.com/) which was very easy and pleasant to use (loved the: _This website is static, so it can be saved and loaded locally. Just right-click and "Save Page As.."!_ at the bottom of the page).

I guess this tool is what's needed next to get the auto-renewal crontab

<comment><USER3> Both tools are made by the same user.

<comment><USER4> That's why he said "paired with your"

<comment><USER3> When I commented `your` was not part of that comment.

</comment></comment></comment></comment><comment><AUTHOR> Fun fact. There's really nothing stopping you from using a PGP/smartcard/HSM keypairs for the ACME account key. Would love to see someone adapt this or another client to use a yubikey or other hardware key.

<comment><USER5> Thanks for making this and letsencrypt-nosudo!!! I used letsencrypt-nosudo and it worked like a charm.

Frankly, this kinda thing is what I expected from Let's Encrypt and was bummed when I saw the bloat they ended up shipping.

<comment><AUTHOR> No, thank you for using https!

</comment></comment></comment><comment><USER6> Also along these lines is [https://github.com/kuba/simp_le](https://github.com/kuba/simp_le) , which is quite a lot larger than acme-tiny, but still much closer to something I'd want to stick in a crontab.

<comment><USER7> +1 for that. Guide with auto-renew cronjob here: [https://blog.philippheckel.com/2015/12/04/lets- encrypt-5-min...](https://blog.philippheckel.com/2015/12/04/lets- encrypt-5-min-guide-to-set-up-cronjob-based-certificate-renewal/)

</comment></comment><comment><USER8> Please be careful using urllib2, unless you are on Python 2.7.10+ or 3.5+ it does not do HTTPS certificate validation.

<comment><AUTHOR> Indeed. However, it's important to note that even if someone does MITM letsencrypt.org, they only see your public key and CSR. The private keys never get sent over the wire, so you don't risk leaking your private keys. However, a MITM could issue you a fake certificate that doesn't chain back to the Let's Encrypt root. This risk isn't any more than the way most CAs do it now (they email you the signed certificate).

<comment><USER5> I don't see the point in verifying that I'm connecting to Let's Encrypt. If I am not connecting to Let's Encrypt then the cert I get back won't show as being issued by them.

<comment><USER9> So you'll display a challenge on your website issued to someone else. This certifies an attacker's key for your domain.

An authentic connection to LE is literally fundamental.

<comment><USER10> > An authentic connection to LE is literally fundamental.

Unless you validate the certificate that you get using a pre-installed LE root certificate.

</comment></comment></comment></comment></comment><comment><USER11> I think this is a nice option. I gave it a try —and read the source code. :) I opted for acmetool[1] though, which albeit much larger (and thus much more difficult to verify), is easier to use [2].

The more impressive option I've seen is caddy server [3] which sets up everything automatically. You start the server and it automatically requests certificates, serves your content (static, fcgi, proxy etc) through TLS and redirects plain traffic to SSL. You don't even need to know what let's encrypt or ssl is. It has a bug though, every time you start the server it requests a new certificate, so after a few restarts you will get your domain temporarily banned from let's encrypt.

[1] [https://github.com/hlandau/acme.t](https://github.com/hlandau/acme.t) or `go get github.com/hlandau/acme/cmd/acmetool`

[2] acmetool quickstart && acmetool want example.com www.example.com

[3] [https://github.com/mholt/caddy](https://github.com/mholt/caddy)

<comment><USER12> > It has a bug though, every time you start the server it requests a new > certificate, so after a few restarts you will get your domain temporarily > banned from let's encrypt.

There is a bug in the case of a failure in which it doesn't write the successfully-obtained certs to disk, but that will be fixed in the next patch release. Caddy _does_ reuse certificates if it already obtained them before; it persists them to the disk for next time.

<comment><USER11> Thank you for the clarification and your work on caddy! I really like it and recommend it.

Indeed, the bug affects an edge case, but due to caddy being relatively new (thus you have many new users) and let's encrypt being very new, I think this edge case will be a bit more common for the next few days/weeks. :)

</comment></comment></comment><comment><USER13> I set this up yesterday and it worked great.

I went from a blank slate on lets encrypt, to deployed SSL cert in less than an hour. Most of the time was spent discovering that 1) acme-tiny requires Python 2.7 or above to be installed and 2) you need to create the .well- known/acme-challenge/ directory structure manually.

After that it was all smooth sailing.

<comment><AUTHOR> Would love for feedback on how to make this script python 2.6 compatible! [https://github.com/diafygi/acme- tiny/issues/9](https://github.com/diafygi/acme-tiny/issues/9)

<comment><USER14> I think it would be better to let 2.6 wither on the vine. Everyone is _supposed_ to be migrating to 3.x. Supporting defunct 2.x series with new code doesn't help matters. Anyone so glacially stuck that they can't upgrade to 2.7 has more security issues than lack of HTTPS.

<comment><USER15> Agreed. 2.6 is was EOLed over 2 years ago and is consequently already missing significant security patches (e.g. CVE-2014-1912). I think it's unnecessary and maybe even unwise to support it, especially for a security-critical application.

</comment></comment></comment></comment><comment><USER16> Very close to [https://github.com/diafygi/letsencrypt- nosudo](https://github.com/diafygi/letsencrypt-nosudo)

<comment><AUTHOR> Yep, I wrote both. The difference is that letsencrypt-nosudo doesn't have access to your private user account key, so you need to manually sign the requests. Acme-tiny does have access to your private user account key, so it signs the requests for you.

I was getting a lot of requests to automate letsencrypt-nosudo, so I did with this client rather than starting to ask for private keys in letsencrypt- nosudo.

<comment><USER17> Great approach. You rarely see people these days willing to push a new project to solve a similar problem rather than changing the old one to suit some feature request demand.

The script is great, but on that decision alone you really deserve a slow clap.

</comment></comment></comment><comment><USER18> After trying a few other Clients, which all were too complicated to get to work on my ancient Debian, i sucessfully used this one. I only needed to patch some sting formatting (replace {} with {0}, {1} etc). And install argparse from pip.

<comment><USER19> Debian stable (jessie) _and_ oldstable (wheezy) both have python 2.7, which supports the {} syntax. Why are you still running Debian oldoldstable (squeeze) or older? The standard security support ended long ago, and even the LTS security support ends in February 2016.

<comment><USER18> It still works and because LTS only ends Februar 2016. never change a running system.

</comment></comment></comment><comment><USER20> Thanks for this, diafygi. I set this up this afternoon with Ansible, and it's working really well. Very nice indeed.

</comment><comment><USER21> I have just used this script and it worked great. I used the lets encrypt normal client and it felt very bloated for me: virtual env, docker, tons of dependences. I hope lets encrypt folks put their client on a diet.

</comment><comment><USER22> How do we know that Let's Encrypt isn't an NSA/CIA program? Like a way to make it easier for agencies to MITM or something?

<comment><USER23> With the current CA scheme you'll always have to trust someone at some point. I think trusting the EFF with not collaborating with the NSA is a pretty good bet.

</comment></comment><comment><USER24> This is awesome! I have had a Let's Encrypt private beta email sitting in my email for a while, but didn't want to install the client because it has so many dependencies.

Are you sure it does all the proper SSL verification, that is, what versions of Python is it safe to use this with given the likes of PEP 476?

<comment><AUTHOR> This uses the default ssl verification in whatever version of python you have. Even though all API requests use public key signing (so nothing really private is ever sent), if you're worried about someone MITM the API requests to letsencrypt.org, please use python 2.7.9+.

</comment></comment><comment><USER25> Just stopping by to say thanks. I used this yesterday and it worked great -- simplicity wins.

</comment><comment><USER26> I miss you Daniel <3

<comment><AUTHOR> Come visit!

</comment></comment><comment><USER27> Looks great! Thank you.

</comment><comment><USER28> oh dear

[https://en.wikipedia.org/wiki/Acme_%28text_editor%29](https://en.wikipedia.org/wiki/Acme_%28text_editor%29)

<comment><USER29> It was named after the protocol: [https://github.com/letsencrypt/acme- spec](https://github.com/letsencrypt/acme-spec)

<comment><USER28> oh dear

[http://acme.cat-v.org/](http://acme.cat-v.org/)

<comment><USER30> Let's just skip to the end, shall we? [https://en.m.wiktionary.org/wiki/ἀκμή#Ancient_Greek](https://en.m.wiktionary.org/wiki/ἀκμή#Ancient_Greek)

<comment><USER28> that's not a piece of software

<comment><USER30> You're right, it's a Greek word.</comment></comment></comment></comment></comment></comment>


A Spoon That Shakes to Counteract Hand Tremors (2014) - <AUTHOR> https://www.npr.org/sections/health-shots/2014/05/13/310399325/a-spoon-that-shakes-to-counteract-hand-tremors <comment><USER2> This reminds me of a product I saw linked in HN, at least once, but I think it deserves a mention since it serves some of the same audience:

[https://www.steadymouse.com/](https://www.steadymouse.com/)

Disclosure: I have no relationship with the dev, just think it could be useful for some folks. I almost recommended it to a colleague before thinking better if it since it would infringe on them.

<comment><USER3> Also the Emma Watch [1]. Mechanically it's related to the spoon, but simpler in that it just generates white noise rather than trying to explicitly counter the tremors. The theory is that Parkinsons causes the brain-muscle feedback loop to overshoot and the white noise eases the overshoot.

[1] [https://parkinsonsdisease.net/news/emma-watch-wearable- devic...](https://parkinsonsdisease.net/news/emma-watch-wearable-device- tremors/)

</comment></comment><comment><USER4> It's a pretty great use of technology! The article is about Liftware's first device (now called Liftware Steady), also see their Liftware Level!

[https://www.liftware.com/steady/](https://www.liftware.com/steady/)

[https://www.liftware.com/level/](https://www.liftware.com/level/)

<comment><USER5> The extra attachments aren't cheap (and feel like they should be included in the starter pack or at least the customer should be able to choose their one attachment) but I'm sure that being able to feed yourself again would make almost any price worth it for the people who suffer from the various conditions that result in a tremor.

</comment></comment><comment><USER6> I bought the spoon set for my aunt after meeting the founders at a senior living conference in 2014. She's used it daily since then and loves it. Sad that something so clearly useful for huge populations is not covered by Medicare at all.

</comment><comment><USER7> I have Essential Tremors, and have since I was in... middle school maybe? The tremors aren't to the extent where I'd need a device like this but seeing as my grandfather could've benefited for years I suppose it's good to see that the tech will exist later when mine inevitably get worse, unless some other medical procedure or medicine can help.

<comment><USER8> Me too. Mine is to the point that I no longer order soup in a restaurant.

Looking into Liftware's products tomorrow.

</comment></comment><comment><USER9> This is wonderful use of technology but I wonder if it couldn't be done without electronics? Something like the Steadicam.

<comment><USER10> Doesn't steadicam work because it has a huge added hanging mass pendulum? I'm not sure that would be senior citizen friendly.

</comment></comment><comment><USER11> I bought one of these for my neighbor a year back, ill say that it was a hell of a hard time finding it online when I didnt know what to search for. It seems if they did some better marketing, SEO, listings on Amazon etc they would be common place for elderly people.

</comment><comment><USER12> These guys sold their company to Google!</comment>


Impacts of User Experience Design on E-commerce - <AUTHOR> https://medium.com/@LetsAlign/user-experience-impacts-on-e-commerce-a5a953eb76e6

<comment><USER2> Very informative</comment>


Show HN: Q.uiz.me – Learning resource aimed towards primary school aged children - <AUTHOR> http://q.uiz.me

<comment><USER2> There are a couple of things you could consider around submitting question series that could make it perfect for teacher lead quizes in class, too - happy to help with a few ideas if you were looking on expanding in that direction.

<comment><AUTHOR> hey i was aiming towards the class room as well as a study aid

<comment><AUTHOR> hmm part of this got lost!

I'm aiming for this to be used as a study aid with possible classroom aspects, so always looking for feedback, especially from teachers / other educators :)

<comment><USER2> is there a good way to contact you? I couldn't find anything on the website.

<comment><AUTHOR> you can contact me at feedback [at] jamiefraser [dot] co [.] uk. thanks :)

</comment></comment></comment></comment></comment><comment><USER3> Q: What is the french word for color Yellow?

A: Juane

It should be _Jaune_ , just a small typo.

<comment><AUTHOR> Fixed, thanks for pointing it out :)

</comment></comment><comment><USER4> That's really nice! Do you plan to support translations, and if so how could people contribute submitting them?

</comment><comment><AUTHOR> thoughts / comments / improvement suggestions welcome

as well as topics and categories for questions

<comment><USER5> The different games are very clean and function as I would have imagined. Nice job! Can you describe your tech stack?

<comment><AUTHOR> theres not much to it really, a jquery powered script onto a static html page, backed by a PHP api to load questions, coloured in by Materialize CSS to make it look nice. server site there's really nothing to it, just a linux, nginx, mysql php setup :)

</comment></comment></comment><comment><USER6> Interesting, my startup has the same name (with another domain)</comment>


Barcelona Bans Cars and Boosts Tech - <AUTHOR> https://www.wsj.com/articles/barcelona-bans-cars-and-boosts-tech-1501579801 <comment><USER2> Paywall</comment>


A Fourier Synthesis Character Generator - <AUTHOR> http://www.glensstuff.com/fouriersynthchargen/fouriersynthchargen.htm <comment><USER2> Amazing find! I really think everybody should check out the rest of his website, it's full of gems. I especially like his Telefunken's Bouncing Ball implementation.[1] Ever since I took a dive into hardware, I've been excited by the possibilities of analog computing.

It's great to see fun and stimulating examples that you (might) be able to reproduce yourself. Also, his Analog Computing Bookshelf photo is very cool.[2]

Anybody else on HN have experience / pointers on where to find more stuff like this w.r.t. analog computing?

[1] [http://www.glensstuff.com/ballimkasten/ballimkasten.htm](http://www.glensstuff.com/ballimkasten/ballimkasten.htm)

[2] [http://www.glensstuff.com/analogbookshelf/analogbookshelf.ht...](http://www.glensstuff.com/analogbookshelf/analogbookshelf.htm)

<comment><USER3> These are some absolute gems here, great find.

As someone with little experience in hardware, what kind of cost would you be looking at for the oscilloscope?

<comment><USER4> About $200. The one shown is an antique from the analog age: [http://w140.com/tekwiki/wiki/422](http://w140.com/tekwiki/wiki/422)

Various 20MHz secondhand scopes are available on ebay and suitable for beginners. Delivery is usually expensive as they are heavy, the CRT ones even more so. If you want more bandwidth the cost goes up exponentially.

You can get ones that are cheaper and use a PC interface, but they have other limitations and lack a certain authenticity.

</comment></comment></comment><comment><USER5> I was just talking about this sort of thing with a friend. I really admire the 'all in' analog (or analogue :-)) mode in which he built it. I would be sorely tempted to do it with a DSP chip and an AD9361 :-).

</comment><comment><USER6> > It probably doesn't need to be said that figuring out the Fourier components > values for each character, and thus the resistor values of the R.O.M. board, > was a particularly tedious and laborious task. Each character was first > traced out on to graph paper. As a periodic waveform is a closed function, > once the character was manually scribed, the curve had to be closed by a > segment of a length commensurate in proportion with the time of the blanking > interval to the net 50 uS period. This was achieved by measuring the total > length of the visible portion of the characters curve with a length of > string. The string was then cut down in length to the correct proportion > (six eighths visible to two eighths blanked) and then used as an aide to > trace out the segment length closing the curve.

This seems like a fun math problem to solve - given some basic character traces, create the appropriation using the given harmonics.

<comment><USER7> Fourier analysis and Fourier synthesis are two sides of the same coin.

</comment></comment><comment><USER8> Great post, I'm intrigued!

I don't know how an oscilloscope works... can someone tell me how the 4*5 1D sin/cos functions are related to the 2D image of the number 2?

It's obviously not the sum... I also don't think the 2 has been separated into small 2D chunks in which each one has some of the sins/cos?

I know harmonic analysis well but I'm not getting where the Fourier part is here

<comment><USER9> It's the sum of the sin/cos with coefficients. There are two outputs, one for X and one for Y that draw the shape of the number without "raising the pen".

He describes how he calculated the coefficients by drawing the shapes on paper first.

<comment><USER8> Ah okay he is plotting x(t) vs y(t) to make 2d images where x is a sum of sines and y is a sum of cosines. These are called Lissajous figures.

</comment></comment></comment><comment><USER10> Feels like a faintly real version Mary Malone's computer from The Amber Spyglass book...

</comment><comment><USER11> I really like how the image drifts in the last 2 seconds of the video. Analogue indeed.

</comment><comment><USER12> Great! My father would loved this.

</comment><comment><USER13> So this won't make a new D&D character for me?</comment>


Show HN: Brutu Timer – Stay focused or burn your money - <AUTHOR> https://brutu.app <comment><AUTHOR> One of the hardest parts of being a freelancer is not having a boss. Having a rigid external structure can be both a curse and a blessing. Daily deadlines, defined commitments and face to face meetings can be very effective for one's productivity.

One of my biggest productivity hacks is using financial incentives to make myself more accountable. If I'm running late and don't leave home until after my 9:30 a.m. goal, I pay a $5 "penalty" to a friend who acts as a referee. I have a goal of doing at least seven pomodoros (25 min timers) of focused work a day. If I do less than seven I pay $3 for each one unfinished. It's quite surprising how risking even small amounts of money can motivate me to be more productive. Reaching my goal of focused work for the day has a much higher value than the few dollars I sometimes lose from my penalty. I think that using small monetary stakes works so well because of loss aversion — we are proportionally more afraid of losing something than we are excited about gaining something. I trick my brain into being scared of losing a few bucks and in return I get much more valuable gains in my productivity.

Because I'm a freelancer, at any moment I can delve into the mysteries of the cosmos on Wikipedia, daydream about the exotic trip on my friend's Instagram, or jump into a statistics tutorial on a YouTube channel. Each one of these things feels important at the moment. And with every coming year technology will only become more distracting. Algorithms are getting better at figuring out what makes us uncontrollably want to engage in technology. I struggled with being distracted by Instagram, Facebook, YouTube and other apps. I managed to find a couple of effective tools to block distracting websites on Mac (check out Freedom or SelfControl). However due to system limitations, these tools mostly don't work on iPhone and iPad. That's why I created Brutu Timer.

Brutu is an iOS timer that helps you stay focused. Select an amount of money and start a timer. Put your phone down and stay on task. If you leave the app Brutu will charge you. You can still receive phone calls or swipe to the notification center. You can also add a break — leave the app and Brutu will notify you when to come back.

How you can use Brutu Timer: _Start 8 h timer with 30 min break to make sure to only use your phone for 30 min before bed_ Start a 25 min Pomodoro timer and quickly repeat it using timer templates *Start 4 h focus timer with 10 min break when you can use your phone as much as you'd like</comment>


The French Language and Why We Learn It - <AUTHOR> https://lareviewofbooks.org/article/the-useless-french-language-and-why-we-learn-it/ <comment><USER2> As an English speaker since age 3 I found it both valuable and pleasurably to learn French and German, as the three languages are like the vertices of a common triangle, with so much shared history that speaking one provides insights into the other two.

The article points out another factor though: I am lucky (?) enough to use all three daily; in the US there is no reason for that to be the case. If you learn a language as a "foreign" language it will forever be foreign to you; if you learn another language as a living, thing that you _must_ use you will internalize it. That's not a moral judgement; simply the way of the world. And in many countries one language suffices.

<comment><USER3> It's even more interesting with exposure to neighboring languages. You observe more and more how they flow one into the other. Modern nationalities have introduced something of a step function feature to this, but not at all thoroughly.

Americans, for one, often wonder at how many languages a European may speak. And there's significant instruction and emphasis on this, I understand. (My own experience is with the U.S. education system.) But, too, there's simply the fact that over relatively small distances -- in our modern world -- language changes. And you grow up accommodating that.

<comment><USER4> > It's even more interesting with exposure to neighboring languages. You > observe more and more how they flow one into the other. Modern nationalities > have introduced something of a step function feature to this, but not at all > thoroughly.

This is called a dialect continuum [1] for those curious.

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

</comment></comment></comment><comment><USER5> UKer here: the French my daughter learns at school is very different from the language I studied 40-odd years ago - much more emphasis on how young people communicate and vastly more English loan words (and no French writers in sight as far as I can see). At the same time, the French themselves, who were infamous for their uncompromising linguistic pedantry in my youth are now far more relaxed and accommodating: whereas before speaking English to a Parisian seemed something akin to a crime, now it is considered quite normal.

<comment><USER6> I can confirm, French people had always been so proud of their language, but now not only tourists life is much easier in Paris, english words are also being used daily incorporated in their language.

A very common example that younger generations use is the expression "c'est cool ca" to simply say that something is cool.

source: I live in Paris

<comment><USER7> I heard "On y go" in Paris, made me laugh.

<comment><USER8> I saw a shop in Köln with this name. Multiple layers of amusement.

</comment></comment></comment></comment><comment><USER9> Interesting take.

There is something to be said about how proud the French are about their culture and language. What would be seen as exaggerated nationalism in other country, seems perfectly acceptable for the French.

I'm wondering if that glowering pride pushes more people to learn French.

<comment><USER10> I think you're right on the first part, we're proud about some particular aspects of our culture and society (bread, wine, holidays, hospitals). But that doesn't make the french nationalists.

You will never see a flag of France in a garden. Except for the 2 weeks of the world cup or during the terrorist attacks. Politically, we're lost trying to copy the silicon valley and Germany. Most people are convinced today it's better to in a sense dilute the country in the European union.

<comment> barry-cotter If being proud of _your_ culture and history doesn't make you a nationalist what does? The fact that French and American nationalism are expressed differently doesn't mean the French aren't nationalist. Irish nationalism is expressed to an amazing and annoying extent in hatred of the English. Flag waving is not the be all and end all of nationalism.

<comment><USER11> Being proud does not make you nationalist. The issue with flag waving is the association with expansive military actions, repression of minorities etc. As in, outside sport match situation (where anybody waves flag), flag waving people were and are usually pro expansion, quite hateful and fearful of other ethnic groups, authoritarian etc.

Likely the association in USA is different. But here, when I see flag in backyard, I would expect open or at least above average animosity toward tourist of wrong color. And also expect support for authoritarian anti democratic group.

<comment><USER12> > The issue with flag waving is the association with expansive military > actions, repression of minorities etc. As in, outside sport match situation > (where anybody waves flag), flag waving people were and are usually pro > expansion, quite hateful and fearful of other ethnic groups, authoritarian > etc.

France has proven itself to be more than capable of that ugly side of nationalism, whether or not they are waving flags.

<comment><USER11> The point here is that when/if it turns ugly, perpetrators will wave flag. Hence association of open flag waving with "the ugly stuff is about to happen in the open and for real".

<comment><USER12> > The point here is that when/if it turns ugly, perpetrators will wave flag.

It already _is_ ugly, and in plain sight. That's my point: people who aren't themselves directly affected by it don't notice it or dismiss it because it doesn't look like the jingoistic, flag-waving nationalism that _they_ think of, but that doesn't mean it's not there.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> I've been learning for a couple years, and recently thought I'd practice on a French speaker I met at a conference. He listened politely for a couple sentences, remarked that I was "killing the French language", and continued in English. So I do see the authors point on that.

<comment><USER14> Chances are, he was just remarking on your pronunciation, which is all anyone cares about with French. I studied it for 5 years (IB/college many years ago) and still managed to get the brusque English-menu treatment in Quebec. For the past year I've listened to almost exclusively French music and my pronunciation has improved dramatically. Now even when I whip out a couple lines of simple A1-level stuff, natives compliment my French. The only thing that has changed is that I talk more like the songs I've learned.

</comment></comment><comment><USER15> You wouldn't say "Je suis la jeune fille", you'd say "Je suis une jeune fille". (I am the young girl vs. I am a young girl)

What was actually said in the ad: "Je suis le grand Muzzy"

Thanks anoncoward111

<comment><USER16> Je suis le grand Muzzi-- I am the great Muzzy!!

everybody knew Muzzy growing up :) also you're correct, but conceivably there's a situation where one might say, "je suis la jeune fille avec qui tu parlais hier soir"

</comment></comment><comment><USER17> This article just gave me a decently compelling reason to finish learning Spanish - for business. I grew up right on the border of Mexico, so it's weird that I don't know it. But I do know French fairly well and have never found it very useful.

</comment><comment><USER18> I learned French for a couple of years and would be happy to compare my own experiences with the author's. However, having read the whole article, I failed to understand the author's main ideas.

I would be very grateful if someone could give a tldr summary of it.

<comment><USER19> It was surprisingly badly written for the LARB.

</comment></comment><comment><USER20> Garbage review of a garbage book. Not sure why I spent all that time reading something uselessly long.

Calling a language "useless" is shallow and trite. Learning a language, wherever it ranks on the world's popularity list, is about learning a culture, opening new doors, conversing with a people and broadening your mind.

The only way to learn a language properly is to immerse yourself in it. The US-centric model of endless classes and then going off to Europe to party with a bunch of your friends with whom you only converse in English will only set you up for failure. The initial impetus to learn was potentially a romantic one, to learn a foreign language. But your dream was dashed by the actual difficulty and perseverance required to learn.</comment>


How do entrepreneurs make sure they read only books which matters every month? - <AUTHOR>

How do entrepreneurs make sure they read only few important books which matters every month and disregard the others due to information overload ? <comment><USER2> (Trusted) recommendations. (Filtered) online reviews. Need.

</comment><comment><USER3> recommendations from others.</comment>


Firefox falters, falls to record low in overall browser share - <AUTHOR> http://www.computerworld.com/s/article/9249566/Firefox_falters_falls_to_record_low_in_overall_browser_share?utm_content=buffer5b13c&utm_medium=social&utm_source=facebook.com&utm_campaign=buffer

<comment><USER2> Ever since it was found out Brandon Eich contributed $1000 to Prop 8 people decided to quit using Firefox and use something else instead. Even if Eich resigned people still hate Mozilla for being gay-bashing bigots.

I have a lot of friends who tell me they won't use Firefox or anything else from Mozilla because they aren't gay friendly. I should note those friends are not technical but are political experts.

</comment><comment><USER3> I guess the adoption of HTML5 DRM didnt't "help" as much as they thought it would?

<comment><USER4> that isn't in any generally available release yet, so it doesn't make sense to even mention it.</comment></comment>


PHP: Bug #45647 - <AUTHOR> https://bugs.php.net/bug.php?id=45647 <comment><USER2> This seems perfectly reasonable to me.

      00-00-00 is a two digit year, hence 2000-00-00
      2000-00 is the month before 2000-01, hence 1999-12
      Then we have 1999-12-00
      That's the day before 1999-12-01, hence 1999-11-30

And that's what it gives.

If you're going to ask for month 0 and day 0, expect "interesting" results.

<comment><USER3> Just because there is a way to explain a certain behavior doesn't mean it's the right way for the code to behave. This definitely violates the law of least surprise.

Furthermore, no one who writes "00-00-00" means "2000-00-00" because that's not a real date. We can say with certainty that no one actually wants "00-00-00 00:00:00" to mean a date in 1999!

That string -- a date with all zeros -- is common in MySQL when an empty value is passed to a not-null date field, so we can be even more certain that interpreting that weird date as "some time in 1999" is going to introduce lots of bugs.

It would make much, much more sense for PHP to just fail to parse the date.</comment></comment>


Show HN: Invoicing and Timesheet APP- Revised to inc Timesheet and multi region - <AUTHOR> http://www.costrak.com <comment><AUTHOR> The App is downloaded from testflight.apple.com . We are looking for beta users. The App can serve your timesheet and invoicing needs free for 85 days . In App purchase are free on TestFlight.apple.com

Features include Timesheet input and Pdf timesheets to send Invoice timesheets with pdf invoice Configure sales tax rates Data import and export UK VAT filing (MTD compliant)</comment>


Show HN: A new iOS app which lets you chat nearby people without Internet - <AUTHOR> http://getflows.com

<comment><USER2> nice and handy app. can be used in many places/situations.</comment>


Tiny, Perfect Staircases Made by French Woodworkers - <AUTHOR> https://www.atlasobscura.com/articles/compagnons-tiny-staircases-models <comment><USER2> I know it's in "flyover country" for most of you, but if you ever find yourself in Kansas City, the National Toy and Miniature Museum [0] has exhibit after exhibit of miniature woodworking (and miniature ceramics, and miniature metalworking and miniature textiles, etc) that is well worth the $5 entry fee.

[0][http://www.toyandminiaturemuseum.org/](http://www.toyandminiaturemuseum.org/)

<comment><USER3> Is there good barbecue nearby? (I'm only half joking.)

<comment><USER4> Q39 is a nine minute drive from there and it's arguably one of the top three barbecue joints in town at the moment–this is always a hotly contested topic locally, but I'll go to the mattresses for their burnt ends and/or smoked sausage[0]. The toy and miniature museum itself is right next to UMKC campus just south of The Country Club Plaza, making the plaza a ten-minute walk. Jack Stack BBQ is on the Plaza, while not the best in town it is quite good, probably top 10. It's more about the sides than the meat if that's your thing. Their cheesy corn bake and hickory pit beans are to die for. There's also about a fifty other shops, bars, and restaurants on the plaza, too.

[0] No affiliation, just a fan.

</comment></comment></comment><comment><USER5> > _a Secret Society of French Woodworkers..._

One of my great grandfathers was a Compagnon ( _couvreur_ : slater). He made a table with a single piece of slate of 2m diameter and maybe 5cm thick, on top of a medieval column marquee (taken from a church that was being renovated). The table is in my garden, it's beautiful.

As for the society, there has never been anything "secret" about it --- maybe some specific rituals, I'm not sure, but the fact of being a member is very public: it's actually the whole point.

<comment><USER6> That's awesome! Do you have any pictures of the table/garden available online?

</comment></comment><comment><USER7> My brother is a companion stone carver. He's always there when there is an historical monuments to repair, as most insurance companies insists the work is done by them.

he's full of cool stories, and taught me quite a few cool tricks, like how to 'listen' to wood when taping it with the handle of a screwdriver to 'hear' if it's still green and/or has faults/cracks.

<comment><USER8> How does the trick with the screwdriver work, exactly?

<comment><USER9> Water content drastically changes the acoustic transmission properties of porous materials. A tap with a screwdriver is pretty close to a pure impulse, which means it contains all possible sound frequencies overlapped. By tapping wood, listening to it, and then cutting it open, you an learn a correlation between the sound and the water content of the wood and avoid cutting wood too early or too late.

</comment></comment></comment><comment><USER10> If you like this sort of thing and find yourself in Chicago, the Art Institute of Chicago has a room of 68 fully-furnished miniature rooms all in different period and architectural styles. They're pretty impressive and kids tend to love them also.

[http://www.artic.edu/aic/collections/thorne](http://www.artic.edu/aic/collections/thorne)

</comment><comment><USER11> This reminds me a lot of the father in 'All the Light We Cannot See', building their neighbourhood in miniature for his blind daughter to learn from. As a novice woodworker and obsessive builder of all things small and useful, I find small scale construction like this fascinating. To have spent so much effort on something so devoid of practical use seems impossible for the era.

</comment><comment><USER12> The American College of the Building Arts was founded with the Compagnon model in mind, and was mentioned in a linked article.

They offer four-year liberal art degrees in Architectural Carpentry, Architectural Stone, Classical Architecture, Forged Architectural Ironwork, General Education, Masonry, Plasterwork, and Timber Framing.

[https://www.youtube.com/watch?v=xNqqomuL-64](https://www.youtube.com/watch?v=xNqqomuL-64)

[http://americancollegeofthebuildingarts.com/](http://americancollegeofthebuildingarts.com/)

</comment><comment><USER13> Fascinating, but not a single photo of a staircase model from this or 20th century...

<comment><USER14> I guess that is partly because of changes in architectural tastes. Large staircases in grand houses are more as likely to be concrete or steel today. I suspect most woodworkers would never be asked to create something like that today, so perhaps there is no way to learn it?

<comment> GuB-42 Most compagnon masterworks are a show of skill rather than practicality. Staircases are typically chosen because they are a recognizable item and involve most of the techniques required to be a master craftsman.

Compagnons in other professions don't have the luxury of having everyday objects that work well as a show of skill. Plumbers masterworks, for example, usually look like an intricate mess of pipes with no purpose. It doesn't speak much unless you know the trade.

Another thing to realize is that compagnons are not any workers, they are masters. Maybe few people want grand wooden stairs today, but some people do, and compagnons are the ones who are getting the job.

</comment></comment></comment><comment><USER15> "Glory be to Work and Scorn upon Idleness—Work and Honour, this is our wealth."

What a quote!

</comment><comment><USER16> This is great. It perfectly fits the scale of the space that I can afford to buy in San Francisco. Now if I can just shrink my body we will be set.

</comment><comment><USER17> For those of you in Los Angeles you can see some of those tiny staircases in the wonderful weird museum of jurassic technology. The tiny staircases are displayed on the wall of one of the museums actual staircases.

</comment><comment><USER18> Actually, the world have inherited something well known from compagnons : the word "chef d'oeuvre". It's translated as "masterwork" in this article, but it's something a bit more specific for compagnons : any compagnon is supposed, at the end of their "compagnonage" (companionhood) to realize their chef-d'oeuvre, the piece that should be the best thing they'll ever do in their live and that will be used as a rite to end their education. It's their thesis, on some sort.

<comment><USER19> TIL that chef-d'oeuvre has such origin. Thank you.

</comment></comment><comment><USER20> We need this for programmers.

<comment><USER21> We already do, a four degree and a final year project.

<comment><USER20> The equivalent of a miniature staircase, perfected and fascinating for all future generations would be what, in software? Few final year projects would fit that description.

We have a hard time even imagining or, if it exists, celebrating those rare pieces of code.

<comment><USER22> > The equivalent of a miniature staircase, perfected and fascinating for all > future generations would be what, in software?

A perfectly written little compiler or interpreter, a little database? Something like that?

<comment><USER23> It needs to be something that non-practitioners can also appreciate.

</comment></comment></comment></comment></comment><comment><USER24> I recommend to everyone tied of social networks and coding to try to build a wooden ship model. It takes about a man-month. This one is very detailed [https://www.ebay.com/itm/Brigantine-Phoenix-1-72-wooden- kit-...](https://www.ebay.com/itm/Brigantine-Phoenix-1-72-wooden-kit-ship- model-Master-korabel-MK0401/222881849754) and does not require any special skills.

<comment><USER25> For those of us who are a little lazier or less meticulous but want to experience something like this, I recommend the Lego Architecture series. I enjoyed this one and it makes a nice little display piece for my home:

[https://shop.lego.com/en-US/Fallingwater-21005](https://shop.lego.com/en- US/Fallingwater-21005)

<comment><USER26> On the other hand, if you want to sink endless hours to model building that is also possible in the other end of the spectrum. I find this video series quite inspirational, I hope one day if/when I retire I can do similar thing:

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

He also has another video on a smaller boat which bit less intimidating and actually makes this sort of modelbuilding to look almost feasible.

</comment></comment></comment><comment><USER27> > Measuring only a few inches in height, they are self-supporting, graceful, > and impossibly delicate.

Every example shown in the article is 2.5-4 feet in height...

<comment><USER28> The first is just 20 inches tall, which is less than 2 feet.

The Second is a bit more than 11 inches tall.

The fourth is less than 13 inches.

The sixth is 19 inches.

And the last is 17 inches.

I agree this isn't "only a few inches in height", but most of them are less than 2 foot tall.

</comment></comment><comment><USER29> Wow, some of them even have tread wear patterns. Now _that_ is some serious attention to detail!

</comment><comment><USER30> It's a pity that the article didn't have pictures of more recent pieces.

</comment><comment><USER31> Missed opportunity to headline this 'l'esprit de l'escalier'

</comment><comment><USER32> I don't know why it's on hacker news but it's cool.

</comment><comment><USER33> Having visited France a few times I agree they are the best woodworkers in the world.

</comment><comment><USER34> I remember seeing full-scale versions of these in actual houses long ago.

Man technology has advanced for the better. These things are brittle, require regular maintenance, they are tiny in width (try getting a fridge up a few floors), ... This actually used to be a pluspoint: when maintenance is lacking, specific portions will deteriorate : so walking upon them there will be a circular fault, which your leg will sink into (as opposed to the whole staircase collapsing entirely). The thing is, this happened to someone I knew on a yearly basis. It can only be fixed by replacing the whole thing.

And of course, these were actually put into houses sometimes 5 floors high. Exercise !

<comment><USER35> I think you are confusing the regular spiral staircase with the properly made 'geometric' staircase which most of these models represent.

Spirals are a menace, but a spacer saver. In contrast geometric stairs were installed in the grandest homes, on huge scales and have often survived for a couple of centuries.

<comment><USER36> Can you explain the difference between a "regular spiral staircase" and a "geometric staircase"?

<comment><USER35> In a spiral staircase the stairs 'rotate' around a small diameter centre pole. They save a lot of space but seriously limit access for large items. They can be useful to access a loft space for example, where you want something better than a ladder but don't want to lose much floor space below. The small diameter centre pole seriously limits the way timber can be jointed. Long lasting timber joints need ways to deal with shrinkage, and therefore are better with a large contact area. Spirals are better made out of metal for this reason.

Most of the images here are a much grander form of stair that 'rotate' around a large stair well leaving a large open space in the middle, which makes it easy to move furniture up by overhanging the handrail or even winching up the middle. The well can be circular or elliptical at the turns, and often have straight flights between. Since building a set of geometric stairs is complex and time consuming it is unlikely that you will see them outside of grand hotels and stately homes. It is likely that the simplest ones built in a traditional way would cost well over $100k. I struggled to find a reference that explained the true complexity outside of this classic book

[https://books.google.co.uk/books/about/Modern_Practical_Join...](https://books.google.co.uk/books/about/Modern_Practical_Joinery.html?id=KzNSAAAAMAAJ)

Although here is a basic diagram here showing the curved strings and open well.

[http://year3shopfitting.wikispaces.com/Geometric+stairs](http://year3shopfitting.wikispaces.com/Geometric+stairs)

Of course it is true to say that either type could have been made poorly and require maintenance, it is less likely that a common wood-butcher would attempt the second kind.

Disclosure: I can use the term wood-butcher as in a former life I was qualified in that area!

</comment></comment></comment></comment><comment><USER37> What is the recent trend of Atlas Obscura articles posted to HN? Do they have a new social media manager to drive traffic?

<comment><USER38> Atlas Obscura just happens to print a lot of interesting articles in the style of long-form journalism. Them and Nautilus get a lot of love from the HN community.</comment></comment>


Firefox for Android ratings plummet after Fenix rollout - <AUTHOR> https://www.appbrain.com/app/firefox-browser:-fast-private-safe-web-browser/org.mozilla.firefox#ratinghistory <comment><USER2> This is strange, can anyone shed any light on why the ratings would drop so much?

My assumption was their choice to use Android components was to provide a better experience to users.

<comment><USER3> Because the new version was pushed out without warning, wiped out the ability to use all but a handful of extensions, and made drastic changes to the UI:

[https://news.ycombinator.com/item?id=24269168](https://news.ycombinator.com/item?id=24269168)</comment></comment>


The Best Way to Reheat Leftover Pizza - <AUTHOR> http://broeats.com/best-way-reheat-leftover-pizza/

<comment><USER2> How does one get to the point of making this video and posting it online without realizing that this amount of effort is completely antithetical to the idea of eating day-old pizza?

<comment><USER3> Why is there much effort? Take a pan, turn on the heat, put the pizza into the pan. If you keep the cheese from touching the pan, you could even get away with not cleaning the pan.

<comment><USER2> He says it takes 4-5 minutes, but you might need to experiment with the best times for you, plus it involves crafting a lid out of foil. This is a preposterous amount of effort compared to removing pizza from a box and stuffing it into your face, or even just throwing it in the microwave for 20 seconds.

</comment></comment></comment><comment><USER4> Eat it cold. It's delicious.</comment>


Show HN: rewrite, a rust-powered in-place file rewrite utility - <AUTHOR> https://neosmart.net/blog/2017/rewrite-a-rust-powered-in-place-file-rewrite-utility/ <comment><AUTHOR> So before anyone chimes in and asks why the title (or the OP) feels the need to point out that this was written in rust and perhaps any upvotes this submission has garnered are just from the rust fanclub.. you're right, I mostly wrote this in rust because of a desire to further familiarize myself with the language (it's been a year since I last used it).

However, I was going to write this anyway as it satisfies an itch I've had for a while. I had an implementation of `rewrite` as a bash script previously, but was not satisfied with it because I'm using `rewrite` in critical parts of my workflow and just don't trust bash the same way I do rust (or C/C++ or any other language, for that matter).

If you're also new to there are a few new things I've learned about rust that show up in the commit history (though not as much as I would have liked). In particular, using .expect() and .to_string_lossy() to avoid using .unwrap() directly (except where user input isn't a possible cause of failure). I had some try! code in there that was replaced by the new ? operator (not to be confused with the same operator in other languages like C#, the ? in rust is more of an inline try..catch rather than a null test/coalescing operator) but that code didn't even make the first commit.

</comment><comment><USER2> There is also the "sponge" tool from Joey Hess' moreutils.

> You see, sort is too smart to read the entire file into memory, sort it, > then spit it out on stdout, which is how it can manage sorting huge amounts > of data without completely trashing your system memory.

This is not why the file is empty. sort doesn't need the original file for very long. Very likely it starts a merge sort by sorting smaller chunks of the input file to temporary files. As soon as all these initial-size chunks have been read, the input file is no longer needed.

The reason for the file being truncated is the semantics of I/O redirection:

        anyprogram somefile > somefile

means that the file is truncated by the shell (because of the redirection) before "anyprogram" even has the chance to open that file.

<comment><AUTHOR> You are right and I was wrong.

I do however routinely run into cases where

        some chain | tee inputfile.txt > /dev/null

also results in lost data. I will try to find it.

<comment><USER2> That's a similar case, with the difference that there is a race condition here. "some chain" and "tee" are started in parallel, and it's a random process who comes first: "some chain" for opening inputfile for reading, or "tee" for opening (a new file, but with the same name) it for writing.

You can provoke it by

        echo a > a
        (sleep 1; cat a) | tee a

very likely "a" is empty now.

<comment><AUTHOR> That makes sense. Thank you. `rewrite` should work in those cases.</comment></comment></comment></comment>


Fast Hash Implementations - <AUTHOR> https://github.com/switch33/sha130000000- <comment><AUTHOR> its coded in lorem ipsum</comment>


Collision Detection and Response - <AUTHOR> http://www.metanetsoftware.com/technique/tutorialA.html

<comment><USER2> This looks very deep. It would be an improvement if the title (at least here) was a bit clearer; there are many kinds of collision detection so it would be helpful if it said "For Games", or something like that.

<comment><AUTHOR> I gave up on trying to make good titles a while ago because they have been moderated back to the site provided title every time. :(

<comment><USER3> So mods greatly prefer the original titles of articles (unless they are grossly clickbait). The other exception is old (>1 year?) articles where they add the year in brackets like [2010]. Perhaps they would accept clarifications in a similar style like:

Collision Detection and Response [games]

</comment></comment></comment><comment><AUTHOR> I love the interactive diagrams in this tutorial. The presentation of the Voronoi regions was also really interesting having never seen it before.</comment>


Ask HN: Please review workola.com. Can I coexist with Facebook? - <AUTHOR>

Hello,
As a whole, I tried to create a site that would compliment a facebook account and create a virtual desktop, ala igoogle or netvibes.
http://workola.com
A. Online storage - Freemium model
B. Interactive HTML5 desktop application.
     2. Task, Bookmarks, Ideas, RSS feeds
     4. Modular widget 'Toolbox' (youtube, hulu, weather, getglue and tokbox)
     5. Pixlr integration
     6. QR code generator & management
     7. Online notes module
     8. Mobile App - Remote Time Tracker (sync with dropbox)
     9. Unique platform for multitasking
     10. office dog
Desktop information is stored in your browser cache and remains private. Desktop application only works in Chrome and Safari.
There are a few known bugs...so if you get an error logging in with facebook connect just click 'my files'.
http://workola.com
Any feedback would be great!
Thanks, Dave <comment><USER2> Quite honestly I couldn't figure out what workola _does_ after about a minute of scanning over the landing page. I see here that it's in the flavor of netvibes. On your site, however, you simply make mention of a "remote desktop" and have a picture of an iPhone. These two things (desktop and iPhone) paired together confuses me even further.

It all looks very nice, and I'm sure there's value to the concept, but your site simply doesn't convey what that value is. That being said, shoot me an email and I'd love to have a more in depth conversation!

<comment><AUTHOR> Thanks for the feedback! Currently working on the overall presentation but I would compare the functions of Workola to that of a modern day briefcase. Users can store and share files (folders), add rss feeds (newspaper) and create online notes (sticky notes with email backend). Users can also create multiple projects to organize their feeds, tasks and ideas more efficiently.

The 'Tools' section adds a very modular dynamic to the desktop in that you can add your own code or any widget code you find on the web to customize your desktop. Tools are loaded into their own container so you can run a tool and multi-task with the other features on your desktop. I built the Toolbox to offer what I thought would be the baseline widgets a general user would be interested in.

I also added a few others tools to the 'Desktop' that provide what I would consider to be the baseline utilities for online life, Photo/Graphic editor (Pixlr) and online chat (ebuddy).

Workola also offers a mobile time tracker app that you can sync with dropbox and share between your mobile and desktop environments.

Here is a link to a folder with some mp3's: <http://www.workola.com/user/folder.php?id=6>

</comment></comment><comment><USER3> I haven't had time to test it but the first thing that pops in my head is maybe you shouldn't have a header that is a copy of facebook's. It's the kind of things that could get you in trouble, plus, the plain blue color of Facebook doesn't look too good on your website and your header could look a lot better.

</comment><comment><USER4> The name reminds me of those singing Ricola commercials ;) I do have to agree with one of the other posters that a direct copy of Facebook's overall look and color scheme may not be in your best interest. I doubt they would care so much, but I would think you'd want to establish your own brand that could still be complimentary to Facebook.

</comment><comment><USER5> Some copy-editing would be good: "You _does_ not seem to be logged in to the website. Please _login in order to_ view this page." (try "Please log in.")

</comment><comment><USER6> Clickable: <http://www.workola.com>

<comment><AUTHOR> Here is a link to a Workola Folder: Clickable: <http://www.workola.com/user/folder.php?id=6></comment></comment>