Draft Let's Encrypt Subscriber Agreement - <AUTHOR> https://letsencrypt.org/2015/05/21/draft-le-sa.html <comment><USER2> Perhaps it's time to supplement this legalese with an equivalent amount of explanatory language in layman's terms what your _intent_ for these clauses is. You're starting to spook people because of what can be read into the legalese, and though your comments here seem to justify the clauses, that does not help other people that aren't reading this thread. Sort of like an app publisher explaining why they need such-and-such permission. I won't install some apps unless I have a pretty good explanation of why it needs certain permissions.

</comment><comment><USER3> Maybe it's just the effect legalese sometimes has of making your head spin, but that looks like kind of a lot of "ifs" for something that's being touted as so universal it can justify killing HTTP.

A few requirements:

\- You have not participated in the seizure of a domain name that had ongoing lawful uses

\- all information in Your Certificate regarding You or Your domain name is accurate, current, reliable, complete, and not misleading

\- all information You have provided to ISRG is accurate, current, complete, reliable, complete, and not misleading

\- You have taken all appropriate, reasonable, and necessary steps to secure and keep your Private Key secret

They can send you away even if you do everything they ask:

\- ISRG may, in its sole discretion, refuse to grant Your request for a Let's Encrypt Certificate, including for reasons not stated in this Agreement

\- ISRG may also, without advanced notice, revoke Your Certificate if it determines, in its sole discretion, that … Your Certificate has become unreliable

\- ISRG may also, without advanced notice, revoke Your Certificate if it determines, in its sole discretion, that … information in your registration with ISRG or request for an Let's Encrypt Certificate has changed

<comment><USER4> Those seem like fairly reasonable 'ifs' to have. They have to cover themselves and prevent abuse, or else no one will trust the certificates they issue.

<comment><USER5> Why? It seems to me like it should be really simple: I prove I control domain X, they issue me a certificate for domain X. End of story. Does there need to be more?

<comment><USER6> What if someone hijacks a domain? Should they issue one then?

I'll say this, I don't want to see "Let's Encrypt" go on some moral crusade deciding not to grant a certificate to a website because that website contains offensive content, but their job is to verify at least somewhat the identity of the requester to try and stem impersonation.

<comment><USER7> > What if someone hijacks a domain?

But that's a registrar problem, not a "proof that this connection comes from someone who controls that domain" problem. These aren't EV certificates.

<comment><USER8> Part of HTTPS is making sure that the person you're talking to is the person you think you're talking to.

<comment><USER7> That's what EV certificates are for.

Otherwise https only gurantees that you're actually talking to the domain you see in the URL, not who that domain belongs to.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> > You Warrant to ISRG and the public-at-large that You have not participated > in the seizure of a domain name that had ongoing lawful uses.

Is this meant to refer to the domain you're requesting, or does it literally mean that any person or organization that has ever participated in the seizure of any domain name that had ongoing lawful uses is banned? (For example, this would ban Microsoft, as well as arguably the entire U.S. government, from legally requesting certificates. The cases in question were a bit reprehensible, but it seems like an oddly specific requirement.)

...While this is of course standard for contracts, I also like the use of all caps and bold in the warranty disclaimer, which makes it extremely difficult to read, despite the U.C.C. clause that semi-not-really requires it being intended to ensure that signatories were aware of such terms! Let's Encrypt is a forward thinking organization; even if it's not terribly important, can't you take a stand against such absurdity and satisfy the conspicuousness requirement in a way that actually makes sense?

<comment><USER10> > For example, this would ban Microsoft, as well as arguably the entire U.S. > government, from legally requesting certificates.

It would also prohibit many current and former employees of Microsoft and the U.S. government, and domain name registrars (both themselves, and current and former employees) whose participation was necessary to effect such seizures, even though they had no discretion in them, and law firms (both themselves, and current and former employees) involved in seizure, from getting certificates.

I also think the entire idea is unsound; the mere fact that a domain name had some ongoing lawful use shouldn't make seizing it a bad thing; I mean, if the primary use of it was for users exchanging, say, child pornography, but it also had a minor and incidental, but certainly ongoing, use for the same users to exchange perfectly lawful messages, is being involved -- even as a direct and primary actor -- in seizing the domain something which should result in an actor being punished by having a higher cost to participate in the emerging TLS-only internet community the way the Let's Encrypt policy suggests?

<comment><USER11> I don't see how the company's actions would affect the employees. If they directly participated in the seizure? Sure. But a random software developer at Microsoft, or a random CSR at the registrar shouldn't be affected by that clause.

<comment><USER10> > If they directly participated in the seizure?

The exclusion language in the agreement does not specify direct participation, merely participation.

But even the most direct participation is going to involve a large number of employees performing job functions as directed, and include firms (and employees at those firms) participating under a direct, non-discretionary legal mandate.

<comment><USER11> Sure, but you're not participating if your company participates, that's my point. An individual is separate from the company they work for. Microsoft as an entity can't request a certificate, sure. An employee that was involved in the seizure can't, sure, same deal. But an employee that had absolutely no involvement in the seizure but happens to work for the company? Nothing in that language says that they'd be banned.

I also highly doubt the scale you're talking about. I doubt that "many" employees are involved in a seizure. It's a sensitive matter, in the best interests of everyone to keep it as contained as possible.

</comment></comment></comment></comment></comment><comment><USER12>
      > ISRG may modify this Agreement from time to time. Each modified
      > version of this Agreement shall be posted to ISRG's Let's Encrypt
      > website (letsencrypt.org) and shall be effective on the date
      > specified on such website.

So what's in the agreement doesn't actually matter since it can be modified unilaterally at any time with a notice period of 0 milliseconds?

<comment><USER13> The idea here is that we need to be able to modify terms quickly if need be (e.g. if a critical issue is identified), but hopefully that will never be the case. Under normal circumstances we will post the updated agreement quite a while before it takes effect. Current thinking is that we'll try for 45-90 days.

Thanks for your feedback.

<comment><USER14> The problem with this approach is you're inflicting your legal liability on me.

A more appropriate way to deal with this would be to state that there will be a 30 day consultation period for every change, and if you do identify a "critical issue", to revoke every certificate and have everyone re-agree to it.

Now, I know you don't want to do that because if you do find a critical issue, solving it that way makes everyone mad at you, but here's the thing: that's how it works in every other business.

Withdrawing cars or software or nail polish or recommended finance strategies from use takes time, and if you make a critical fuckup then the methods for speeding up the withdrawal time are either non-existant or _really_ piss people off.

It's a quirk of the legal system that you can "patch" these issues instantly, but you still have to unilaterally fuck people (at least in potentia) to do it.

The correct way to do it would be to take responsibility for the quality of your work and guarantee you won't change the agreement on people.

At the very least, you could state any changes will be binding for one week, and anyone who hasn't explicitly opted in to the new version after a week gets cut off until they do, but is released from that version.

</comment></comment></comment><comment><USER15> Minor quibble, but I think the "Key Pair" heading of the Definitions section mixes up i.e. (id est, 'that is') and e.g. (exempli gratia, 'for example').

Digital signatures are one example of things you can do with a key pair, and it is specifically the public key that can't be used to recover the private key.

</comment><comment><USER16> Man, there's a lot of references to the ACME client.

 _" The contents of Your Certificates will be based on the information You or Your ACME Client Software sends to ISRG."_

 _" Your Key Pair (Public and Private Keys) will be generated by You or Your ACME Client Software on Your systems."_

 _" Your ACME Client Software may perform this task for You."_

 _" You may make a revocation request to ISRG using ACME Client Software."_

 _" If you wish, You may configure Your ACME Client Software to notify You of such changes."_

To be clear, ACME is a protocol. You don't need the ACME client to get a free ssl cert. You will be able to perform the steps needed with just openssl and curl. I hope this agreement doesn't get interpreted such that you must use the official ACME client to generate the ssl key and make the http requests.

<comment><USER17> "1\. Definitions and Terms "ACME Client Software" — a software application that uses the ACME protocol to request, accept, use or manage Let's Encrypt Certificates."

</comment></comment><comment><USER18> My limited understanding is that Let's Encrypt's mission is to make encrypted web traffic available to as wide a population as possible. A six page legal agreement seems like an obstacle to that, especially if they want to serve that portion of the population who might not be accustomed to such things.

Keeping it short and simple would seem like a high priority; though perhaps this is as short and simple as it can reasonably get.

<comment><USER19> I encourage people to propose ways that it might be made shorter.

The CA/B Forum requires CAs to have legally-binding subscriber agreements covering the issuance of certificates. For example, check out section 9.6.1 of Baseline Requirements 1.3.0 ("CA Representations and Warranties").

[https://cabforum.org/wp-content/uploads/CAB-Forum- BR-1.3.0.p...](https://cabforum.org/wp-content/uploads/CAB-Forum-BR-1.3.0.pdf)

<comment><USER20> Is it necessary for lets encrypt to be a part of the cab forum? One might argue that the cab forum is part of the problem.

<comment><USER6> They're definitely part of the problem, but they're a powerful kingmaker in the industry. Without their approval several vendors won't include the Let's Encrypt CA at all.

So it ultimately boils down to: Dance with the devil and become relevant, or maintain the moral high ground and accomplish nothing.

<comment><USER21> You've got things a little confused here. Let's Encrypt doesn't need to be part of the CABF in order to be included in the browsers, but they do need to demonstrate that they abide by the rules that CABF defines (the Baseline Requirements). They only need to join CABF if they want to be able to vote on those rules.

</comment></comment></comment></comment></comment><comment><USER22> "This Agreement is effective once You request, accept, or use a Let's Encrypt Certificate."

"Use" needs to be defined, otherwise it catches end-users who visit the website.

</comment><comment><USER23> Argh, that is an awkward title. "Draft Subscriber Agreement for Let's Encrypt" would be clearer. Or even just adding quotes around "Let's Encrypt" would help.

</comment><comment><USER24> There is probably a multi million dollar market in a well thought through tool for editing, commenting upon and finalising legal agreements... In fact I'd say online law tools for managing a whole firm in general could be an excellent business.

</comment><comment><USER25> Could you post it on github or something like that so it's easier to suggest edits and fixes? Thanks.

</comment><comment><USER26> Why is a subscribe agreement necessary?

<comment><USER21> The CA/Browser Forum Baseline Requirements require that the CA have you sign one:

"Prior to the issuance of a Certificate, the CA SHALL obtain ... either: 1. The Applicant's agreement to the Subscriber Agreement with the CA, or 2. The Applicant's agreement to the Terms of Use agreement."

[https://cabforum.org/wp-content/uploads/CAB-Forum- BR-1.3.0.p...](https://cabforum.org/wp-content/uploads/CAB-Forum-BR-1.3.0.pdf)

<comment><USER27> Then I can't exactly support the "Let's Encrypt" effort. Any child should be able to make a website without having to sign a bunch of legalese. That's more important to me than encrypted traffic, frankly.

</comment></comment></comment><comment><USER28> Did you have a lawyer who does this sort of work read this? I am not going to give you advice here since I'm not your lawyer, but you need to have one look at this. There are issues in this draft that need to be addressed.

Someone might even be willing to do it pro-bono.</comment>


The Busy Person's Lies - <AUTHOR> http://www.nytimes.com/2016/05/15/opinion/sunday/the-busy-persons-lies.html?_r=1 <comment><USER2> I did an analysis on my own time once, ignoring the breakdown of my work day and just focusing on overall time available:

      1130-0000 - prepare for bed, relax
      0000-0600 - sleep (roughly)
      0600-0700 - stuff (shower, shave, personal email)
      0700-1630 - work + lunch + commutes

So I had 7 hours each day I was "leaving on the table". Most of it was spent on TV or video games, possibly socializing. I felt exhausted from work so I didn't want to do anything. But realizing I was "wasting"[0] 35 hours a week of my time. Reprioritized, started going to the gym, setting aside the block between work and gym for language study or reading. By the time the gym is done, while I may be tired, I'm in a totally different mental frame from work and can actually get work done on my side projects or more reading or more socializing (that shower after leaves me feeling refreshed, even when I feel like I've been hit by a freight train after BJJ takedown practices).

[0] In the sense that I had things I wanted to do but they never got completed due to poor prioritization.

<comment><USER3> _0000-0600 - sleep (roughly)_

I must admit I am always a bit jealous of people like you who can function on 6 hours sleep every day. After 3 days of that I am wreck.

<comment><USER4> You should start measuring the quality of your sleep using apps like Sleep Cycle. I used to be exactly the same way. Then I realized that the reason I was sleeping for 9-10 hours was because my sleep was "shallow" and kept getting interrupted. It all changed drastically after I optimized my sleeping environment: totally dark, 68 degrees year around, appropriate mattress type for my sleeping position, etc.

Now I can get by comfortably with 6-7 hours of sleep.

Apps can also wake you up at the right time, as opposed to during deep sleep. That makes it easier to wake up as well.

<comment><USER5> Would you recommend Sleep Cycle the most? Do they require the phone physically on your bed or nearby?

<comment><USER6> After an update about a year ago, it only requires being nearby (nightstand works for me) and uses sound to do the sensing.

<comment><USER5> Cool, I'll give it a try tonight!

</comment></comment></comment></comment></comment></comment><comment><USER7> The story seems to be that most people are under the delusion of being busier than they actually are, and if they just paid closer attention they would realize this.

To me the far more interesting question is, why do we _feel_ so busy? I've made the observation to my family on numerous occasions that the most stressful and exhausting work days for me are the least productive, those days when I'm just sitting at the computer staring at the screen for 8 hours. After a day like that, at 5 o'clock I'm literally brain dead; nothing left. When I have some productive goal I'm working towards, my work has the opposite effect; I close my computer feeling energized & ready for whatever's next.

<comment><USER8> The same is true for me. Not having work at work leaves me more worn out.

Or, possibly worse than having no work, having small amounts of annoying work, but nothing else. The worse is when all I have to do all day is this one annoying bug I havn't been able to figure out. It should take 2 hours to solve but it ends up taking three days.

I'm most energized when I start a new project and I have lots of stuff to build.

<comment><USER7> Sounds like you're a programmer too. I wonder if any other professions have this problem.

Believe it or not, I have the opposite perspective. I'd rather spend a whole week debugging something in a gnarly legacy system than architect/build one from scratch. I like being able to say, "it wasn't working before; now it works," and then get on with my life, rather than live with the consequences of a hundred wrong turns. Different strokes, I guess!

<comment><USER9> If you have a clear bug and you nail it that's a great feeling. But what's annoying for me is when you have a simple task of doing X, but you then realize that you need to replace Y for this, but A replacement doesn't work with B part and so on.. and when it's all done, few days later, all you've done is you just finished that simple 1 hour task.

<comment><USER10> That's what's killing me currently. Get a task, fairly straight forward, legacy system makes debugging a nightmare, end up spending a day or two on a task the output of which is < 10 LOC.

</comment></comment></comment></comment></comment><comment><USER11> The author is clearly well into the upper-middle class financially, talking about nannies and "solo beach days" on both coasts. Wow, how out of touch is the typical New York Times writer these days.

Poor and working class people have truly busy lives compared to professionals. We should all remember that.

<comment><USER12> I think it depends a lot on the specifics. Of course, there are certainly lots of Americans who are both poorer than the author and work harder. But in the US, the very poorest people tend to be those who don't work at all, or only work part-time. People who live their whole life in a small town with one or two big employers, which move away when the economy crashes; people whose skills go out-of-date, and can't afford a retraining program; people who may be hard workers, but just really suck at interviewing, and always get rejected; people who want to work more, but their employer only gives them a few odd hours a day, and no one else wants to hire them when their schedule is unreliable; people who get job offers in other cities, but can't afford to move. This underclass doesn't work that many hours, and some would call them "lazy", but I think it's usually more like despair. It's terribly depressing to be broke, to not know if you can do anything other people see as valuable, and to have nothing better to do than watch TV or play video games.

<comment><USER13> That view that it it's "terribly depressing to be broke" and all the despair the poor in America feel because they can create no value could only be thought up by us smug hacker news software creators. I know first hand that much of the poor are content to live off the government, never had any aspirations and ultimately don't need much to survive and be content enough. They don't know what they don't know and therefore they don't suffer from the despair of not being the next Steve jobs. That was never on their list. They are truly ignorant enough to be content with video games. I'm not talking everyone but this probably is the majority. Things work and all you need is to be able to hold a minimum wage job for a few years at a time and when you get fired you can take a few years off while another friend or family member is on deck, meanwhile you're contributing food stamps the whole time, 6 months of an unemployment check, money from a few scams here and there, electricity bill deductions and many other such benefits you can get if you are below the poverty line. These are all meaningful contributions you can contribute well past the 6 months of paid unemployment. You have to understand you also have old people in the household collecting social security at $1k per month. There are not only other people not working, but other non-workers coming up with money and resources. It becomes just as normal for a working-age male to not be working as grandma. After all we aren't talking 1 person or couple cramped into an over priced San Francisco apartment. In short, the family doesn't need as much money and everyone bands together, and can go for a very long time bringing in very little money. And though totally in the hands of the "public" health care system whose bills they will never pay if they get into an accident, they are more than content with tv and stolen movies/shows via apps like "ShowBox" until that happens, and even after. They have near zero ounce of fight in them for anything more, certainly not to be the prolific CEO or CTO of a tech company. That's far out of their field of vision. I am one that believes to not aspire to something is not healthy. So for now ignoring the other psychological issues surrounding the more privileged all feeling disproportionate pressure to be somebody, I'll just say the opposite extreme we are discussing now is worse and it's out of ignorance. An ignorance most here can't understand or have forgotten. A true "ignorance is bliss" syndrome. To us it may look like that as a result they are content to live in squalor. The truth is the squalor of those living standards have risen. It all just feels normal to them. What I call "poverty trap sweet spots" certainly do exist in America.

<comment><USER14> ... I barely know how to respond to this. If you think the _most_ poor people are content being poor it's hard for me to craft a rebuttal given how out of touch you are with reality. I grew up poor myself. Like lived on the streets for 2 years, spent time in the state grouphome system, had shoes held together by safety-pins level of poor and I now make six figures. On my way from there to here I spent a lot of time with other poor people and the vast majority of them were extremely unhappy in their situations. A lot of them were working hard to get out of that situation, others had given up because they realized they didn't really have the aptitude or mental temperament or the resources to bootstrap to anything better. I met only a very-very small handful of people I would have described as "content" or "eager to game the system forever". Your disdain for the poor is frankly disgusting and sounds like it comes from a place of having never had to scrap and scrape for your next meal or make hard choices about which bills to pay this month because you can't afford to pay all of them. I can promise you it never feels normal to be just a few dollars, or one mistake away from homelessness.

<comment><USER12> It's good to hear about your experiences, but please don't make personal attacks on HN. Usually, commenters here are quasi-anonymous; even when they're wrong, it's bad to make assumptions about who they are as people, since in most cases you just don't know.

<comment><USER15> It's deserved, he painted a broad segment of working class folk as welfare queens. Why bother with that computer shit when there is a next to zero chance of it ever being useful? God help you if you want to progress into a field where the knowledge is locked away in the ivory tower or behind expensive texts/journal memberships.

Quite frankly it's disgusting and repulsive. Community rules be damned.

</comment></comment></comment></comment></comment></comment><comment><USER16> I've heard a great saying once: "Happiness is the difference between expectation and reality." The more time I think about it, the more I agree.

I am starting to see that it applies to time as well. I used to feel like I have no free time. However, after thinking about it, it feels like that because I have big ambitions. I just want to do a lot.

I want to do my job well, work on my side project, spend quality time with my wife and kids, keep the house in good shape, get myself into better shape, help those around me, cook and eat healthy, grow my tomatoes, develop my mind, entertain myself, read books, keep up with the news, socialize with friends, call mom and dad, travel the world, and also have time to be by myself and cultivate calmness through solitude.

That is a lot. I've realized that I was demanding too much from myself. I made a conscious decision to lower my expectations of myself. I will still do all of the things above, and likely many more. I just won't try to do them this week, this month, or perhaps this year.

<comment><USER17> >I've heard a great saying once: "Happiness is the difference between expectation and reality." The more time I think about it, the more I agree.

In a similar note. I believe that it is has been shown that happiness is believing that the future will be better.

So it more important to have positive expectation of the future than your present reality. Because you adapt to your present reality whatever it is but you always need to know that things will be better.

</comment></comment><comment><USER18> Part of it is that constantly being busy can create a lot of physical and mental fatigue and stress, making it difficult to do things you might otherwise even if there is some free time. "I never have time" can technically be a lie, "I can't do all this and stay sane" usually isn't.

I've found even the thought of worrying about work I need to do in the near future can prevent me from participating in hobbies, despite having ample time for those hobbies.

<comment><USER19> As a fairly new parent, I have had a similar realization. I have some free time, but because of the lack of sleep and exhausting nature of the work I am doing, I can't do the productive things I want to do in my free time. I am simply too tired to give the mental or physical energy required.

</comment></comment><comment><USER20> The article seems to assume that context switching takes no time. If that were true I have a _lot_ of free time.. it's just never contiguous.

<comment><USER21> Funny thing I noticed: when you start a family and have kids, you are forced to get better and better at the _skill_ of context switching quickly. You learn how to be productive with twelve 15-minute slots divided by interruptions instead of a contiguous 3 hours. Being able to do this is a skill like any other. I no longer buy the whole "in/out of the zone" thing as if it is some fundamental law of nature.

<comment><USER22> I just constantly find myself out of the zone with a family/kids around.

<comment><USER23> Hence the utility of having some people in a family specialise in staying in the zone, and others specialise in handling child-based interrupts, not entirely different from having one CPU devoted to main processing tasks and other processing units handling ancillary tasks.

During the nuclear-family era, the idea was that dad would specialise in in- zone work and mom would specialise in interrupt servicing, but both before and after I think it was rather more fluid.

<comment><USER24> Prior to that children were vastly more independent as well.

<comment><USER2> Contemporary (starting in the 50s at least) suburban living styles makes letting your kids be that independent very difficult. Not just the hyperbolic fear that some have about child safety, but just what they can do locally without needing a parent or older sibling to drive them.

Setting aside rural/country living where your neighbors were miles away, urban (large or small city) living was more centered around local shops, parks, and other environments. Now they live in a sea of houses, and have to travel way outside it to get to other activities or free space like woods and parks for play.

<comment><USER24> Are you attempting to imply that cities did not exist 50 years ago? I'll think you'll find that not only did they exist children were far more autonomous in them. The fact is helicopter parents have won the day.

<comment><USER2> The explosion in suburban-style living happened (in the US) largely post-WWII, [EDIT: starting] in or around the 1950s. That's the shift I'm referring to. Living in suburbs makes it easy for kids to wander the streets (parents feel it's safe), but the design (or lack thereof) of many of them make it difficult for kids to be "independent". It's hard to be a 12-year old who wanders to the local candy store to spend your allowance when the nearest shop like that is 10 miles away because of suburban sprawl. Some areas did a better job than others of trying to make their suburbs more like towns with local shops, theaters, and such. But many did not.

Cities certainly have existed for ages, and they did allow for children to be quite autonomous. It's the post city move to the _suburbs_ (setting aside the helicopter parent cultural shift we've had) that created a large impact on the availability of options for kids to act as independent people.

Additionally, for teens, suburbs make having their own jobs very challenging (though it can reward the entrepreneurial few who start their own service businesses like lawn mowing or raking). Again, short a car, suburbs make life difficult for them, they require the assistance of their parents or others to transport them around, which reduces their autonomy.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER25> I've never gone full log analysis on this question but several times in my career I've wondered "Am I really getting less done than I used to or am I mis-remembering the past?"

Doing a surface analysis of that highlighted lots of places where I was doing something I wanted to do and later counting it as "wasted" time. So for example if I spent an hour watching a television show and later felt I had wasted an hour watching TV, I could go back and re-score that to "I wanted to watch television and I did, why are my priorities for that time different now than they were then?"

And for me, there were two things that were key to me getting better with my time. One was to be explicit about my priorities, and the other is the bin packing problem.

If you spend three hours on things, separated by 15 minutes between hours, you end up "losing" 45 minutes because 15 minutes is too short to spin up a new task but long enough to be meaningful.

If I wanted to address the bin-packing problem then it meant being a lot more thoughtful about planning my use of time. And doing three one hour things back to back (with a plan to switch tasks at the earlier of "I'm done" or "it's been an hour" that coalesces the three 15 minute chunks into one 45 minute chunk which is enough time to watch an hour long TV show if you can skip all the commercials.

</comment><comment><USER26> I keep track of my own time quite well and don't really agree with the article at all in fact I started coming up with my own outlandish solutions. One of them is that I segment my sleep like people used to do before the Industrial Revolution. When I get off work I sleep for 2-3 hours and then go to bed much later for 3-5 hours. I've found that I used to waste more time preparing to try and sleep for 8 hour blocks than doing anything else. Now I just go to sleep when I'm actually tired along with the creativity boost you get between 1-3am when you segment your sleep. I'm not distracted during those hours because no one is still awake to distract me and the time becomes more useful.

<comment><USER27> What system do you use to keep track of your time?

</comment></comment><comment><USER28> From the article: "I think that time tracking deserves a try. A life is lived in hours. What we do with our lives will be a function of how we spend those hours, and we get only so many."

It's high-status to be busy. Time tracking, while useful for some, is more likely to be a way for people to play the status game.

<comment><USER29> I agree on the status point - talking about how 'busy' you are is basically bragging about your status.

I suspect the working poor or people who actually have less control over their time are more likely to say they're exhausted/tired/overwhelmed than 'busy'.

Busy to me is someone just advertising they're important.

</comment></comment><comment><USER30> In my experience, It's never time which is the problem, it's mental attention. Having 4 hours of free time at the end of a tiring day is meaningless if you don't have the mental energy to actually use it.

</comment><comment><USER31> There's quite a few money-budgeting apps out there (Mint, YNAB, etc...) to help you figure out where your money is going, but I haven't seen much for time-budgeting apps.

I know I wasn't great with money until I counted every cent for a while, I wonder if the same effect could be replicated for people who don't spend their time as effectively as they'd like.

<comment><USER2> YNMT (You need more time)?

Offer a similar "budgeting" experience as YNAB, but constrained (you literally have 24 hours a day, no more, no less). Create categories and subcategories. Work - Programming, Meetings, blech; Meals - Breakfast, Lunch, Dinner, Preparation, Shopping; Kids - Transport, playing with, working with; Home - Bathroom, Kitchen, Floors, Mowing; Financial - Bills, Budgeting.

Open the app and log your time, specifying the appropriate category. Reallocate time. You wanted to spend 24 hours at the lake this month (rented a cabin, camping), but you needed to clean the gutters and forgot about it so you go to the lake later on Saturday, not first thing in the morning.

Would be able to generate reports at different levels of granularity, like a budgeting/accounting app can. Generate a daily, colored, chart so you can see where in each day you spend time (or don't for unaccounted for time) and identify trends and problems (I go to bed between 8pm and 11pm, maybe I should make that more regular).

</comment></comment><comment><USER32> I've fallen into the busy trap pretty often lately.

Busy to me - paradoxically - is correlated with not getting shit done. It's one thing to have a lot to do, and get 90% of the tasks done, and another to have a lot to do, and get 10% of the tasks done, with the other 90% rolling over onto the next day.

It's the roll-over that's really the stressor for me, when I feel most "busy", and that creates a self-fulfilling prophecy for the next day, when you have that much more to do.

</comment><comment><USER33> Nice! We have a lot of time. Hey morons, stop whining and work more.

This article represents a crazy mindset. We are not in the middle of the Industrial Revolution. Nobody should have to work so much any more.

BTW. She has 4 weeks vacations.

</comment><comment><USER34> "To me, 'busy' implies that the person is out of control of their life." – Derek Sivers

<comment><USER35> Well, I am out of control of my life. Because I need money to live, and so does my family. So I'm slaving the days away.

<comment><USER36> Sure. People that need to work to feed their family (as opposed to working by choice, on things they like at their own terms, and having the financial support to not work for years on end) are out of control of their life in that regard (they have to be somewhere for 8+ hours each workday, they cant change places unless they found a job at the new place, etc).

</comment></comment></comment><comment><USER37> The lack of time is really a perception caused by mental overload. Most people I know have extra time. They're just incredibly overwhelmed with the background noise of work. They have time, but extremely little of it is mentally useful time.

</comment><comment><USER38> I have a time tracking code called "HN". 33.19 hours logged so far this year. I think it's time well spent...

</comment><comment><USER39> What kind of systems do you guys use for time tracking, priority organization, and achieving goals/finding meaning? I've flittered around with various systems, but never settled on anything. (Planning out my week in advance, time tracking from 15 minute intervals to morning intervals with what I have during the day, to do lists organized by urgent+important // important // urgent // neither, etc. It can be overwhelming, but I strongly suspect a system that makes me cognizant of my behavior, decisions, and where I am adding/finding the most value is superior to having no system at all.

<comment><USER40> I've found that a rough version of GTD has really helped me focus on "getting things done" when I feel i need structure because I am pulled in many different directions.

Don't worry about all the self help material, it really is a simple workflow:

[https://goo.gl/images/R7ciME](https://goo.gl/images/R7ciME)

From an overall "how to think and act effectively" philosophy, the original is still the best IMO: "The Effective Executive", by Peter Drucker, written in 1967. It contains very simple ideas, but I've found them to be tremendous life lessons on how to do the right things, rather than just doing things right.

</comment></comment><comment><USER41> Are there any suggestions for time tracking apps? Start-stop timers don't seem to fit me very well: I fall off the wagon real quick. I also tried reporterapp (www.reporter-app.com) but that didn't last long either. Any advice?

</comment><comment><USER42> Fascinating. But there is something wrong with this analysis and I can't quite figure out what it is. Maybe there's a presumption that efficiency leads to happiness - it's not explicit but I'm sure it's hinting at it.

I'm a big believer in not trying to fit too much in. As the author says, there are only so many hours in a life time, so actually experiencing it rather than trying to fill it is perhaps another way to look at it.

</comment><comment><USER43> nice article, but i think its the wrong metric. as others on here have noted, its _energy_ not time that is the true finite resource. i have only about 3-4 good hours of focus per day. who cares about free time when thats the bigger constraint?

</comment><comment><USER5> Is there a Chrome extension or program that does something like mentioned in the article, asking you every half-hour "what did you do this last half-hour?" I think that would be an effective way to get me logging my time.

</comment><comment><USER44> Reading this made me want to watch an episode of Real Housewives.

</comment><comment><USER45> Reminds me of the WSJ's infographic of tax-hike impacts and the forlorn expressions on their faces.

[http://i.huffpost.com/gen/944732/original.jpg](http://i.huffpost.com/gen/944732/original.jpg)

<comment><USER46> Wow, those income numebers are insane. Was that a sarcastic infographic or was it serious one?

<comment><USER47> It was from this article on the upper middle class: [http://blogs.wsj.com/economics/2016/06/21/not-just- the-1-the...](http://blogs.wsj.com/economics/2016/06/21/not-just-the-1-the- upper-middle-class-is-larger-and-richer-than-ever/). The HuffPo article conveniently omits "upper".

<comment><USER48> I wouldn't call that upper "middle" class, I would just call that upper class...

<comment><USER49> Upper class is when you no longer have a salary, just investments. Upper middle is when you have a high salary and some investments, but your main source of income is still leveraging time and skill for money.

<comment><USER48> So a CEO with a seven figure salary is still upper middle class? I think not.

<comment><USER49> If said salary is their main/only source of income, why not? Afaik as long as you _need_ a salary to maintain your lifestyle, you're middle class.

Grey areas abound of course. Whichever definitionwe write down, someone can find an example that doesn't _feel_ right.

Like, what if your 7 figure CEO is 8 figures in debt and all their assets are leveraged to the brim and if they lose their job it's all getting foreclosed by the bank and they're homeless in a month?

What if a 5-figure small business director/owner lives a comfy life well within their means and has 10 years of fuck you money?

Life's weird.

</comment></comment></comment></comment></comment></comment></comment><comment><USER50> This is going to be devastating to feminists:

"I have found that for women especially, it is the best antidote to the pernicious narrative that professional success requires harsh sacrifices at home."

and

"... a narrative of craziness, the sort professional women in particular tell one another as we compete in the Misery Olympics,"

<comment><USER51> How so?

<comment><USER50> Well, think about it:

These quotes minimize the legitimate problems women face. It authoritatively relabels the real concerns women have in communicating their struggles as "crazy" and a "misery olympics." It tells women their experiences are a superficial social game rather than actual problems.

Feminism has been trying to instruct the world as the seriousness of women balancing careers and family life, but this article tells them these stories, based on real experiences of learning and coping are just "pernicious narratives."

After reading this article, they're going to have to battle uphill to regain ground lost by this (ironically) woman telling them the issues they face are "lies."</comment></comment></comment>


An experiment in garbage collection written in the Rust programming language - <AUTHOR> http://pliniker.github.io/rust/2016/03/13/introduction-to-mo-gc.html <comment><AUTHOR> Here's another attempt to implement a GC in Rust that got quite a bit further:

[https://www.reddit.com/r/rust/comments/552lsf/rust_as_a_lang...](https://www.reddit.com/r/rust/comments/552lsf/rust_as_a_language_for_high_performance_gc/)</comment>


An alternative to ASANA? - <AUTHOR> We are looking for a task management / tracking platform for a small team. <comment><USER2> Give a try to ProofHub, a great alternate to Asana. It's much more feature rich and user friendly. With ProofHub, your projects, teams, clients and all the communication stays in one place without the need of investing in too many different tools to run your business. This makes it easy to create plans, collaborate with teams and clients, keep things organized and deliver projects on time. Here is the link: [https://www.proofhub.com](https://www.proofhub.com)

</comment><comment><USER3> Many companies go with Atlassian's JIRA because of wide adoption, large degree of customization, built in issue query language (JQL), and integration into other good Atlassian products such as their wiki Confluence, or their VCS BitBucket.

Commercial companies ok with not self-hosting their issue tracking have other options. One of the better ones is Trello, made by FogCreek software, the same folks that brought you Stack Overflow. They also have a self-hosted solution called FogBugz that is very high quality from what I've heard, but doesn't have a huge amount of adoption in the companies I've worked at.

One thing to consider is whether the product matches your workflow. Are you more Kanban, or Scrum, or something else? Trello is great for a Kanban style issue management, but doesn't have the issue track specific advanced features that JIRA does, e.g. JQL.

<comment><USER4> > One of the better ones is Trello, made by FogCreek software

FYI, Trello is now owned by Atlassian. Luckily they haven't made any real changes to it since buying it from FogCreek so far.

</comment></comment><comment><USER5> I've been quite happy with [http://clubhouse.io/](http://clubhouse.io/)

It's more or less Trello++, striking the right balance between simplicity and power.

</comment><comment><USER6> this is an interesting one I found [https://www.crocagile.com/](https://www.crocagile.com/)

it's designed like a game</comment>


Physicists grab individual atoms in groundbreaking experiment - <AUTHOR> https://phys.org/news/2020-02-physicists-individual-atoms-groundbreaking.html <comment><USER3> I don't understand why it takes at least three atoms to form a molecule. In a cloud of hydrogen atoms, what is the third one doing in the production of h2?

<comment><USER4> Layman's guess. It probably has to do with conservation of energy and momentum. To form a molecule, you have to change the energy state of the electrons in both atoms, and in order to do so you have to respect the conservation laws, so I guess it takes a third atom to absorb/provide the required amounts of energy or momentum.

<comment><USER5> I think this is correct, and that a good illustration is planetary orbits - <USER2> bodies alone can never collide if they didn't start out in intersecting trajectories. They need a third to perturb their movements or they will just keep orbiting the same way forever.

<comment><USER6> Won't the orbits decay due to tidal forces in some cases?

<comment><USER5> In reality, yes - for purpose of illustration, I was thinking of idealized planets acting as point masses.

</comment></comment></comment></comment></comment><comment><USER7> One step closer to us getting our matter compiler!

<comment><USER8> 3-D printing materials like gold would destroy the world economy, that should get interesting.

<comment><USER9> You can 3D print _with_ gold molecules, but you still need the molecules. You're not going to be fusing junk atoms into gold atoms any time soon.

<comment><USER10> Well, you _can_ , it's just not economically feasible at all.

<comment><USER11> You will need to stretch the definition of "can" here too, you need energy equivalent to an exploding star or two neutron stars colliding [1] to make it :)

[1] [https://en.wikipedia.org/wiki/Gold#Gold_production_in_the_Un...](https://en.wikipedia.org/wiki/Gold#Gold_production_in_the_Universe)</comment></comment></comment></comment></comment>


What are the best site hosting services? - <AUTHOR>

I'm looking to put up my sign-up site but I'm kinda confused about what hosting service I should go with. Any ideas? <comment><USER2> Heroku is a fast and easy option.

</comment><comment><USER2> Google App Engine is OK, too.

<comment><AUTHOR> Thanks mate</comment></comment>


Deconstructing K&R C (2010) - <AUTHOR> http://c.learncodethehardway.org/book/krcritique.html <comment><USER2> `safercopy` also does not always terminate, say if one of the passed pointers point to invalid memory, which then segfaults when accessed. Similarly, you can have problems if the destination buffer overlaps the saved return address of the stack of another thread.

C's type-system is unsound, and even if it was sound, it is too weak to express interesting invariants, certainly it is far too weak to express invariants required for termination. In fact, no popular language can express the invariant "this doubly-linked list doesn't contain a cycle", which is essentially required for termination when working with these.

Even ignoring termination, in essentially all languages, including C, there are properties like "this object isn't going to be accessed by another thread" which can't be expressed in the type system, or even checked at runtime, but are required for any interesting kind of correctness.

<comment><USER3> Doesn't Rusts linear type system ensure the latter?

<comment><USER4> Functional languages, along with Rust's linear type-system, can ensure this for single-ownership structures (trees, singly-linked lists), but not for structures with more complex ownership, like doubly-linked lists. The unpopular languages I was talking about were Agda and friends.

<comment><USER5> To be clear, though, Rust's type system can ensure thread safety of doubly- linked lists if you use the doubly-linked list structure in the standard library (or write one yourself using RC/etc.)

</comment></comment></comment></comment><comment><USER6> Well this if fun folks, but frankly, you all have proven just how conservative programmers are. My chapter advocating something as "revolutionary" as including the lengths of strings when you process them has received more hate mail than anything I've written. And I'm the guy who gets death threats because I don't like Ruby.

If you are reading this and saying, "This guy's wrong about including the lengths of strings!" Then I ask: Why are you using _any_ modern language? Nearly every language in use today include the lengths of strings and backing buffers in their string implementation, and you all use it and appreciate it, but when I advocate it suddenly it is heresy and deserving of vitriol.

I personally don't care what you all think, which I know insults your pride at being the smartest people in the room, but until you are willing to admit that your hatred of that chapter is based entirely on nostalgia and not on the merits of my fairly simple claim that K&R (or any) C code is error prone, then you are not going to advance the state of the art any further than the 1970s.

This is what makes me sad about computing today. You are all desperately clinging to the notion that you are radical free thinking futurists while you desperately cling to reverence for the past and are incredibly resistant to any change. If something as simple as a thought experiment to look objectively at how things are done and try something better makes you angry, then you are not free thinking futurists.

Anyway, enjoy your day folks. I'm going to go do some painting.

<comment><USER7> Hi (sorry for hijacking the thread),

Is there a plan for a french version of learning the hard way in the future ? That would be awesome.

<comment><USER6> That'd be up to my publisher (A/W) but I do believe they roll out French versions of my book depending on market demand. How that demand happens I have no idea.

<comment><USER7> Thank you.

</comment></comment></comment></comment><comment><USER8> This needs (2010) in its title and was discussed here three times already:

[https://news.ycombinator.com/item?id=5012432](https://news.ycombinator.com/item?id=5012432) [https://news.ycombinator.com/item?id=4095294](https://news.ycombinator.com/item?id=4095294) [https://news.ycombinator.com/item?id=3448573](https://news.ycombinator.com/item?id=3448573)

<comment><AUTHOR> Thanks for that - I've edited the title.

I hadn't seen the previous discussions, but the last one was two years ago, so maybe it's worth having this here so people can add any new thoughts or comments.

</comment></comment><comment><USER9>
        Many people have looked at this copy function and
        thought that it is not defective. They claim that, as
        long as it's used correctly, it is correct. One person
        even went so far as to say, "It's not defective, it's
        just unsafe." Odd, since I'm sure this person wouldn't
        get into a car if the manufacturer said, "Our car is
        not defective, it's just unsafe."

Terrible analogy.

A rapidly spinning piece of steel is unsafe, flammable liquids are unsafe, sparking hot metal is unsafe, cars contain all of them.

A copy function is obviously a component, and not a whole car.

<comment><USER6> Two links, 1, a small tiny component can be the equivalent of a spinning piece of unsafe steel:

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

And a small component is all it takes to make a vehicle unsafe:

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

</comment></comment><comment><USER10> For anyone who has picked up a copy of K&R wanting to learn C and hit a wall I highly recommend C Programming: A Modern Approach, 2nd Edition by K N King.

Having read many books on C over the years I think King's book is without doubt the best intro book to C. K&R is great but it is a reference more than a tutorial in my opinion and is better to read once you have the basics of C (and programming) under your belt.

<comment><USER11> Costs 100€+ on Amazon, anybody knows if this available as an ebook?

<comment><USER12> _cough_ library genesis _cough_

</comment></comment></comment><comment><USER13> I think everyone is failing to see the wood for the trees. The great thing about "The C Programming Language" is that it is short and to the point. It's a great way to learn about about many aspects of programming. I don't think anyone recommending it would ever expect it to be perfect; I recommend it to people in the hope that they will think about the business of coding and I suspect that Kernighan and Ritchie hoped the same. I agree that it is a shame that the code examples have errors, perhaps those who have the time and expertise should contact the publishers to point them out so that the 43rd (or whatever it is now) printing stands a chance of being correct.

It's a great pity that this discussion has descended into an exchange of insults.

</comment><comment><USER14> Nit: I would suggest not using assert() for checking error return values. Compiling the program with -DNDEBUG disables the check. assert() is for finding bugs in your program. A malloc() call returning NULL is not a bug.

<comment><USER6> I know, that's why I have these:

[http://c.learncodethehardway.org/book/ex20.html](http://c.learncodethehardway.org/book/ex20.html)

But, when talking about this I didn't want to muddy the waters with my own assert alternatives. Programmers have a hard enough time focusing on the issue of a for-loop vs. a while loop.

Edit: malloc returning NULL means you're out of heap. That's usually catastrophic in almost all cases, but the important part is that people don't _detect_ that, then use the NULL pointer. That's the bug.

<comment><USER15> In a chapter about deconstructing someone else's book, your own book also does dangerous things according to yourself:

> The problem is, as with _every_ book with code ever in the universe, > beginners will copy that code out and use it somewhere else and then the > function is wrong.

Yet, if a beginner copied some of the code in this chapter they'd have the exact bug you are talking about here (using the NULL pointer returned from malloc()).

I think you should probably expand that into the safer checks (don't forget to free(line) if longest is NULL too!).

<comment><USER6> Are we looking at the same code? I use an assert to quickly check for NULL, and this is a simple example of how to work with the function. Other parts of the book use more extensive error checking and I use my debug.h macros quite a lot, but if you find bugs feel free to email me them. I'd really appreciate it.

<comment><USER15> I'm referring to this code on the originally linked page [1] (you'll have to scroll back a bit because your header blocks the content).

In the context of this thread, brghts states that this is dangerous because if you compile with -DNDEBUG the assert is optimized away.

So if I copy that code with the assert statement, it will be optimized away and your code no longer performs the NULL check. This is bad.

As you mention, beginners tend to copy code off the Internet and cause bugs. If you recognize this and claim to be teaching people you should not use bad practices in your example code. Period.

If you don't want to muddy the waters with your custom debug macros, then you should still play it safe when checking return values the a beginner may simply copy and think is correct.

[1]: [http://c.learncodethehardway.org/book/krcritique.html#code--...](http://c.learncodethehardway.org/book/krcritique.html#code --krc--1.9-1.c-pyg.html-24)

</comment></comment></comment></comment></comment><comment><USER16> > That means the for-loop will never loop forever, and as long as it handles > all the possible differing lengths of A and B, never overflow either side. > The only way to break safercopy() is to lie about the lengths of the > strings, but even then it will still always terminate.

So what? The function is still crazy dangerous. Buffer overflows are still possible, and therefore buffer overflow attacks are still possible. It's still possible (and very easy) to trigger undefined behavior, and it's meaningless to make claims about whether a function terminates if it triggers UB, and there are as a result still security concerns.

This isn't a slam on Zed Shaw's book, as much as it is a slam on C. You can adopt whatever heuristics you like, but at the end of the day you're always working in C, where it is possible for your program to self - destruct (or worse!) unless your function inputs are _exactly right_.

<comment><USER6> Curious, did you find a bug I'm not seeing? How do you think an alternative copy function that uses lengths would have buffer overflows?

<comment><USER16> You said it yourself:

> The worst possible scenario for the safercopy() function is that you are > given an erroneous length for one of the strings and that string does not > have a '\0' properly, so the function buffer overflows.

Your argument is that the safercopy() function is "safer" in that it is guaranteed to terminate regardless of whether the underlying buffer has a NUL byte in it. While that's true, it's sort of missing the point a bit, I think. The unsafe copy() function wasn't primarily unsafe because there was no guarantee it would terminate -- it was unsafe because it corrupts a bunch of memory, exposing you to a wide range of insecurities (the least of which is that your program might crash). safercopy() is still prone to that behavior if the lengths you pass in aren't accurate. While it is guaranteed to only corrupt _n_ bytes of memory rather than an arbitrarily large number of bytes, the damage might as well already be done by the time you corrupt those _n_ bytes. So to answer your question:

> How do you think an alternative copy function that uses lengths would have > buffer overflows?

It's unsafe in exactly the same way that the unsafe copy() function is: if the arguments you pass into the function are incorrect/don't point to the data you think they point to, you'll corrupt memory. Now, you could make the argument that it's much easier to just remember the lengths of all the buffers you allocate than it is to remember to NUL-terminate all your C strings -- I would agree -- but I don't know if the article does a great job of explaining that.

<comment><USER6> > It's unsafe in exactly the same way that the unsafe copy() function is

No, that's the logic error every programmer makes. The copy() function is _always_ wrong, because it can't confirm that the string has the right length without looking at the string which causes the error.

With my function I can go to as great a length as I want to confirm that the string is actually as long as I say it is. I can't mitigate every possible error of misuse, but the errors safercopy() can have are much smaller than copy().

Your argument is effectively stating that because you can exploit one with a general "UB" error, that it's the same size and classification of errors as with the other. That's invalid, and proven in my writing.

</comment></comment></comment></comment><comment><USER17> I find it, above all, baffling that since k&r, we still write language specs in prose, rather than in a formal language...

<comment><USER18> [https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form](https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form)

<comment><USER19> BNF can specify the syntax, but not the semantics ie the meaning. There are several methods of specifying the semantics[1], it's known to be notoriously difficult to completely specify the semantics of a language, with some languages more suited to a formal definition than others. I believe Haskell is the most commonly used language today with the best formal definition.

[1] [http://en.wikipedia.org/wiki/Semantics_(computer_science)#Ap...](http://en.wikipedia.org/wiki/Semantics_\(computer_science\)#Approaches)

</comment></comment></comment><comment><USER20> The code in K&R looks correct to me as written. The copy function is only called on char arrays obtained from getline which properly null terminates the array. As pointed out, C style "strings" do not work if the null terminator is not present. If underlying assumptions are not valid in any context, nothing can be assumed to work. The text about malloc vs stack is both wrong and not relevant.

<comment><USER6> Thank you for proving my point. It is right as long as the tower of babel it's used in never collapses. The problem is, as with _every_ book with code ever in the universe, beginners will copy that code out and use it somewhere else and then the function is wrong.

And, you literally just repeated every single argument I demolish in the chapter, which means you didn't read it.

</comment></comment><comment><USER21> His "Stylistic Issues" section also leaves a lot to be desired.

The second if statement is clearly not part of the loop structure, it might be possible to throw somebody off (if they don't know how this stuff works) if you were to indent the second if statement, but we don't, and your linter(you're using one, right?) will also complain.

<comment><USER6> I'm sure the people who wrote gotofail [https://www.imperialviolet.org/2014/02/22/applebug.html](https://www.imperialviolet.org/2014/02/22/applebug.html) would disagree with you on how "clearly" you can see those kind of braceless structures.

</comment></comment><comment><USER22> Relevant Lobsters thread: [https://lobste.rs/s/kwrape/deconstructing_k_rc](https://lobste.rs/s/kwrape/deconstructing_k_rc)

</comment><comment><USER23> What a terrible article. I feel dumber having read it. It's one of those articles that sounds good and takes more effort to correct than it took to write, and thus causes a net loss.

Just one example: "That gives every path to this function a 50% to 75% chance it will fail with just the inputs above." I mean, what kind of nonsense is this? This is pretty much saying that the odds of winning the lottery are 50%, because either you win or you don't.

Most of the article is spent on discussing the perils of a strcpy reimplementation. Yet there's no discussion of a fix. The author simply assumes the existence of a magical "safercopy" function that behaves correctly on all inputs. Of course the author doesn't provide the implementation of this function, because if he tried to write it, he'd discover that it's impossible.

In short: flagged for being awful.

</comment><comment><USER24> This is so dumb.

       safercopy(42,a,33,b);

Just use lisp!

<comment><USER25> How do I link LISP into my C project to do this safer copy you recommend ?

<comment><USER26> First, you must build a half-baked version of Common Lisp in C.</comment></comment></comment>


The Economist Who Thinks Owning a Home Is a Terrible Investment - <AUTHOR> http://www.theatlanticcities.com/housing/2013/10/economist-who-just-won-nobel-prize-thinks-housing-terrible-investment/7240/ <comment><USER2> Absent massive government intervention it wouldn't even be close. With the fixed rate, 30 year mortgage with no prepayment penalty, low down payment and massively subsidized rates; mortgage income deduction & the income exemption for imputed rent; and other government programs it becomes something of a closer call. Even so, it's still a highly leveraged asset that is as non- diversified as an investment can be, with very high transaction costs, significant carrying costs, and only moderately liquid markets at best.

The government policies to subsidize homeownership are unfortunate in that they are very regressive and they are quite expensive for the meager positive externalizes that _possibly_ flow from widespread ownership.

<comment><USER3> Can anyone shed some light on why all this government intervention exists? In other words, why so much propaganda/pressure from the man to buy houses?

<comment><USER4> Some people think, rightly or wrongly, that home ownership:

* Results in citizens that care more about the neighborhood

* Nudges people into saving for retirement

* Allows the average Joe to take advantage of inflation (this is true IMO). House goes up in value, so does their net worth.

<comment><USER2> On the second and third points, all other things being equal, (which they aren't because of government intervention) people would be far better off with a diversified portfolio of debt and equity than a house.

<comment><USER5> And when Interest rates return to normal and they lose 30% or more in a bond crash on their "safe" government bonds what then?

A diversified portfolio should also include property which is why I have investments in REITS as well as shares.

<comment><USER2> There are many REITs traded on stock markets and included in broad total market funds including residential, commercial, retail, and industrial. E.g. AVB, VNO, EQR, SPG and many others.

</comment></comment></comment></comment></comment></comment><comment><USER6> At various times I've owned houses and rented. Currently, I rent. People tend to seriously underestimate the costs associated with home ownership because they are more diffuse than when you rent.

Unless you can afford to pay for most or all of the cost of the house upfront, you will often find it easier to increase your net worth by renting after all the opportunity costs and losses are added up.

This is how landlords make their money. If they own a house outright then their cost basis is less than a homeowner with a mortgage and manageable downpayment. In many cities, you are better off renting and saving until you can make a big enough mortgage payment (or pay cash) where the purchase starts to make sense relative to renting.

<comment><USER7> I'm in the same position as you. Even though we got lucky and our house appreciated 17% over 7 years, after fees it works out about a 2% return per year (and that's not even taking into account property tax, insurance and maintenance). Right now we rent and we've put our money into the stock market - it generates a much better return with much less effort.

Even if you do have the capital to buy your house with cash, it's still not a good investment. Basically you are tying up all that capital that could be earning 4% per annum or more in an index fund over the long term.

</comment></comment><comment><USER8> I've liked Shiller's opinions and seen them before, and agree with them. Just because it makes a "terrible investment" however doesn't mean it's a terrible thing to do. You look at your home as an essential element of life (shelter) and do the math for rent vs. buy, but you don't worry about making a huge return from it.

Use other investment vehicles for growing capital.

<comment><USER9> Another point is that if you see it as an investment, you should see it as a _hedge_ against runaway prices:

If you rent, and are unlucky, you might find yourself priced out of the market for the type of properties you would like to live in, and at the same time become priced out of purchasing.

Where I live, purchase prices and rents have increased 30% or so in the 8 years since I bought, while my repayments are the same. My repayment + interest has been substantially below rental prices since a few months after I bought.

If it had gone the other way, yes it would have been a bad investment, but it would have been a cost I'd still be ok with because of the predictability it gives (and if prices dropped, I'd use it as an opportunity to trade up, still hedging against prices increasing again).

Essentially by purchasing I have locked in an upper limit on the vast majority of my housing costs for the duration I stay in this house, and also reduced the risk of a substantial jump if/when I move, as the value of my current house is likely to move reasonably close to the overall market.

That hedge is worth a lot to me.

<comment><USER10> You're completely ignoring the downside of your home. If the job market in the area where you live declines, you'll find it more difficult to move to an area where you're able to find work.. and if the decline in your area is severe enough, you may also find yourself unable to sell your home and/or must sell at a substantial loss.

Your potential downside is not the difference between a lower rent and the cost of a home. Your potential downside is the entire cost of your home.

This is actually one of Shiller's points about rent vs ownership (mobility).

<comment><USER11> The real evil is that it's impossible to be zero-beta to housing, because even if you own your house (neutral position; renting non-owners are short) you are still exposed if you need to move. Unfortunately, I can't see a real fix for this except for more remote/mobile work.

One thing Europe has that is good is a _lot_ of public housing, even for middle-class people (like typical renting programmers)-- not just US-style "projects". This is great because it keeps the price down on the private market as well. You still need to build enough to avoid scarcity, of course. Otherwise, you end up with hellish queues.

<comment><USER12> Is this public housing in Europe anything like public housing in the US?

I'm a US citizen with ambitions to one day move to Europe (I'm a DevOps/Sysadmin/Operations guy); how does public housing in Europe work?

<comment><USER5> Depends on country in the UK a single person will _never_ get a council house unless your a single mum.

</comment></comment></comment></comment></comment></comment><comment><USER13> _" It can't be true that homes rise 10 percent a year. If they did, in the long run no one would be able to afford a house."_

This is such an obvious observation, but one most people miss completely. Math doesn't lie.

</comment><comment><USER14> I am firmly in the Schiller camp, however I did just buy a home. It was a tough decision for me but I think it was rational. I say that because I am fully aware of the statistics of home ownership as well as its historically poor performance.

The prime reason that we purchased a home is because we could not renovate and open our basement for business in a rental property. Overall our net costs of home ownership now are eclipsed by the amount we are making from being able to do the things only home owners can.

The other major reason is that for us, even when factoring in estimated maintenance costs, we would pay less monthly on a mortgage than we would renting. Even if we lose some home value over the period that we are planning on living here (~6 years) we would see the return of some of it rather than none in a rental scenario.

The bottom line is, this whole argument is much much more complex than what the retail value of your home is between the time you buy and the time you sell. As with pretty much everything, the economic costs are not captured in the pricing data.

</comment><comment><USER15> Owning a home is a terrible investment when compared to other investments, but you really shouldn't compare it to other investments (at least with your primary residence) because the choice isn't "spend money on a house" vs "spend money buying stocks". You have to live somewhere, and the choice to not buy a house (i.e. the choice to rent) brings with it a significant chunk of spending on which you lose every cent you put into it.

<comment><USER16> > (i.e. the choice to rent) brings with it a significant chunk of spending on > which you lose every cent you put into it.

I really dislike this line of thinking. Renting is not "throwing money away" because you have to live somewhere. Buying gives you the opportunity to capture any upward movement in the housing market and provides a stable payment over the long run but it also exposes you to risk of downward pressure and makes for a very illiquid asset. Renting gives you the ability to relocate on very little notice (in most places, your maximum is a year, assuming you get a better offer within a day of signing a new lease) and shelters you from immediate maintenance costs.

The problem is that primary housing isn't an investment. It's just as much an emotional and financial decision as buying a car (versus, say, going car-free or leasing a car).

</comment></comment><comment><USER17> Someone smarter than me once told me, "never bet against the fed."

Being short on housing seems like doing just that. Not only have they been keeping money dirt cheap, bailing out banks, taking over Fannie & Freddie, but the Fed even went so far as to buy junk mortgages directly.

In a perfect laissez-faire fantasy world, this guy is probably right. In the world we live in, where the US Government and Federal Reserve do everything they can to keep the music playing, perhaps not.

<comment><USER18> the reason why you never bet against the fed is more subtle. You should never bet against the fed, not because it never causes downturns, but because by the time it actually causes the downturn you've lost ground because of your short position, and hard. Unless, you're really lucky.

</comment></comment><comment> jack-r-abbit After owning my first house for about 12 years I was able to refinance it and pull out enough of my equity to cover the down payment of my second house. Now I rent out my first house. The rent I get _almost_ covers the mortgage + property taxes. So after 12 years, someone else is buying that house for me. This might not be the greatest investment... but I wouldn't put that anywhere close to "terrible." YMMV

<comment><USER19> "The rent I get almost covers the mortgage + property taxes."

You are lucky to have bought a house that can benefit from high renting prospective. This is not the case everywhere and whereas taxes might go up (whenever the authorities will want more money), the rental profits simply might not. It's not a scenario easy to accept - renters usually have the flexibility to move to other cheaper places or to group together (shrinking the rental market BTW), but the house-owning costs are there to stay. Also, the worst case is when the entire area enters in decline, housing costs plunge and render the entire multiple-house ownership a bad investment.

</comment></comment><comment><USER20> The question is, what's a better investment?

Investing in the home you live in gives you tax breaks (jurisdiction dependent).

You will look after your own home, instead of having renters with no vested interest.

You need access to a home anyway, why involve a 3rd party (landlord).

The leverage you can get is fantastic, and the interest payments are generally similar to what you'd be paying in rent anyway.

This does no apply to Buy to Let however, the advantages above don't really apply. A second property makes much less financial sense to me.

Having said that, I currently rent. I'm not settled down enough to tie myself to a single location, Australian property is super expensive (I think overpriced, but that's just a gut feel), and I'm keeping my non startup risk profile low to try and balance the risk I take on as an entrepreneur.

<comment><USER21> >The leverage you can get is fantastic, and the interest payments are generally similar to what you'd be paying in rent anyway.

Careful.

The interest payments are only one piece of the puzzle, albeit a big one. A renter does not need to pay maintenance/upkeep, taxes, and (sometimes) utilities.

For a single family home, these later items could be in the ballpark of $1000 per month (sometimes less, sometimes more).

</comment></comment><comment><USER22> The key here is that "you shouldn't buy a house simply because you're hoping to pump money out of it in the long run". I think that some people working on their first startup or simply on a project for a great software idea will agree that this is one of their core beliefs; that making money is not the ultimate goal, but instead a side effect of a great product. When you have a great idea, you put everything you have on it, and if it ultimately makes you money, it will obviously be welcomed, but the goal is to just get started and to have something to call your own, something to propel you. Maybe a house stays at the same value over time, but in the end, this may be enough for some home owners who simply want a place of their own.

</comment><comment><USER23> Owning comes with two big benefits.

First, if you own your home, you can more easily withstand a financial crisis, whether it be a lost job, medical bills, or a totaled car...at least you have somewhere to live. If you can't pay rent and become homeless, it's a lot harder to recover. Second, you can pass it on to your kids so at least they'll have some security. If you rent, you can't give them that.

But both of those only apply once you've paid off the mortgage. With the trends being cost of living increasing while pay rates stagnate or decrease, and cost of real estate having skyrocketed in the last few decades, for a lot of people, even middle class, it becomes an unrealistic dream to actually be able to pay off a mortgage within a single lifetime.

<comment><USER24> That's not really a difference between owning and renting. It's a difference between having assets and not having assets. If you remove the hidden variable, it probably tilts in favor of the renter.

Someone who rents and has, say, $100k in the stock market or bonds is arguably in a better position than someone with a $100k house. The renter can much more easily move to a new location to get a better job. Plus, they can afford to eat and pay other expenses while doing so. You can't eat a house.

<comment><USER5> But almost all people wont be able to build up 100k whilst renting. The difference between renting and mortgage if it existed woudl never allow you to build up this nest egg and 90% of people dont have the discipline to invest in this way they would spend it on day to day living.

</comment></comment></comment><comment><USER25> I wish the same could be said about Australia. [http://thingsboganslike.com/2010/02/15/85-residential- proper...](http://thingsboganslike.com/2010/02/15/85-residential-property- investment/)

There's a huge stigma against renters here.

<comment><USER26> That might have to change - [http://theage.domain.com.au/real-estate- news/with-more-peopl...](http://theage.domain.com.au/real-estate-news/with- more-people-renting-than-30-years-ago-change-is-needed-to-protect-tenants- rights-20131012-2vf3x.html)

</comment></comment><comment><USER27> What about the old saw that population is increasing but square miles are not?

<comment><USER28> developed square miles are certainly increasing, developed land remains less than 1% of land that can be developed easily, and population is tapering.

</comment></comment><comment><USER29> I wonder if Shiller owns his home.

<comment><USER30> It is irrelevant to his point whether he does or not. Lots of people who are well off own $100k+ non-classic luxury cars or at higher levels yachts and such, the difference between those and houses being that no sane person would argue the cars or boats are a good financial investment. OTOH, with houses and other forms of real estate the idea that they are universally a good investment is widely seen as accepted wisdom to the point where it is almost a religious belief.

</comment></comment><comment><USER31> Other items that are terrible investments: BABIES

<comment><USER24> Yeah, but no one _thinks_ that babies are good investments. Lots of people seem to think that houses are.

I've heard people describe renting as "throwing money away" more times than I can count. I don't think I've ever heard anyone say that about not having children...

</comment></comment><comment><USER32> Who do you rent from?

</comment><comment><USER33> Sounds very reasonable assumption.

House prices are fundamentally tied to the income of people living in the area. There can be ups and downs but eventually it all comes back to fundamentals. Labor's share of national income has been in steady decline in all OECD countries since mid 70s. Smaller part of GDP will be available to be spend to housing.

</comment><comment><USER34> Is a 0% return better than a -100% return for the equivalent rent?

<comment><USER35> I would suspect the general counter would be that the capital required for home ownership is substantially higher than that for rent.

If you're going to have this money there are many better ways you could invest it than taking a 0% return from buying a home (and hopefully also overtake the cost of rent).

<comment><USER36> In my city (Christchurch, New Zealand), renting is more expensive than mortgage repayments for an equivalent house. I don't see how renting could be a good idea in this case.

That said, I recognize that different cities have different conditions, and what makes sense in one city might not make sense in another.

<comment><USER37> Rent is an all-inclusive expense usually, while a mortgage is not. Rent covers maintenance, taxes, cost of future renovations, and you usually don't have high transactions in getting or leaving an apartment. So you can't directly compare mortgages and rent amounts.

<comment><USER38> A good rent vs. own comparison like the one on the NYT website will take expected maintenance costs into account

[http://www.nytimes.com/interactive/business/buy-rent- calcula...](http://www.nytimes.com/interactive/business/buy-rent- calculator.html?_r=0)

</comment></comment></comment></comment></comment><comment><USER39> The return he quotes is an average over an aggregate of course. But if you do proper research, you can beat that average substantially, and many people do.</comment>