On object-oriented programming: "That which obscures my code is bad." - <AUTHOR> http://dubroy.com/blog/2008/05/06/if-this-is-object-calisthenics-i-think-ill-stay-on-the-couch/ <comment><USER2> Whenever I hear strong opinions about coding styles I politely nod, agree and then launch into a series of questions designed to understand the background of whoever is articulating the opinion.

Yes, coding style is shaped by personal preferences (where do YOU put your curly braces?), cultural affiliation (Microsofties and Hungarian notation) and a variety of other minor factors. However these are secondary to the main issue of how programmers build an underlying structure of the code. Structure is somewhat of an elusive concept, but use of object oriented programming (proper use) certainly leads to structural changes in the code. Along the same lines, use of recursion leads to a different structure than use of procedural style and so on. In short, structure for me is the underlying mathematical solution to the problem addressed by the code, regardless of the specific programming language.

So going back to the issue of the coding style, I find that the background of the programmer is so important because it shapes their thinking about typical code structures. Someone with a background of writing payroll or other corporate financial systems (like many Thoughtworkers) falls naturally into a habit of thinking about code as a close approximation, if not a one-to-one representation of real worlds objects. Others with a systems background, who excel at using Nth order pointers to save 5Kb of RAM in a device driver care less about the real worlds objects than about differences in x86 parallel processing instruction semantics.

However, if you put a systems dev guy and a corporate dev guy in a room together and make them talk to each other about programming they'll happily argue for days about how the corporate dev guy is a loser for not saving memory through pointer arithmetic and the systems guy is an idiot for not "getting it" about object oriented programming.

So, to make the long story short, conversations about how <insert programming paradigm here> rocks/sucks are pretty much useless unless one first understands the target audience for the paradigm.

</comment><comment><USER3> Interestingly, research results on this come out in favor of longer functions. I read this a long time ago (in the book Code Complete) and remembered it because it went against my assumptions. Can't get at it in Google Books but a summary appears here: [http://www.augustana.ab.ca/~mohrj/courses/2003.fall/csc220/l...](http://www.augustana.ab.ca/~mohrj/courses/2003.fall/csc220/lecture_notes/routines.html)

Examples:

      Routine size is inversely correlated with errors, up to 200 lines of code
      Larger routines (65 lines of code or more) are cheaper to develop per line of code

There are all sorts of objections one can make to this. Perhaps it indicates as much about the weakness of software research as anything. But I still find it interesting enough to temper my opinions.

<comment><AUTHOR> I don't find that surprising at all. For a given piece of functionality, if it is spread across more methods, it means:

\- more methods to look at, and more things to hold in your short term memory

\- more (possible) entry points to any given piece of code, so more things to test, and greater possibility of error

\- more lines of code to accomplish the same task

\- harder to grok the overall behaviour/capabilities of a class

And most of my experience with big OO libraries is with the supposed best cases: Smalltalk class libraries (Squeak and IBM) and the Eclipse framework.

<comment><USER3> Those are great points.

Here's one issue that I think is lurking in all this. Even agreeing that a large function is easier to read than, say, 10 small ones, it doesn't follow that a _system_ written that way is easier to understand. You still have the problem of how to factor the system into large functions as opposed to small ones - a question that is not addressed by this discussion (or, I'll bet, by the research). And it's a big problem, because complex systems usually have a great deal of intertwining, partly-but-not-completely overlapping functionality. If you _could_ factor all this into a few large functions, you'd probably get something more readable, but in most cases you can't. So in order to build a well-factored system (with minimal duplication, separated concerns and so on) you carve things into smaller pieces that can then be cobbled together to create the various behaviors you need. (At least, that's how you do it in OO.)

So the business of function length plays out quite differently at the system level than it does at the function level. The function level is easier to discuss and to study, but what matters in practice is the comprehensibility of the system as a whole. That's why your caveat, "for a given piece of functionality" is a very well-placed one. You're presupposing that the functionality has already been carved into pieces.

</comment></comment></comment><comment><USER4> I don't think you've identified badness with OO programming styles; I think you've identified badness in the community of Thoughtworks developers.

<comment><AUTHOR> As I said in the article, I definitely am not against object-oriented programming. What I _am_ against is this notion that we should strive towards some kind of "pure OO style" where encapsulation and polymorphism become goals in and of themselves.

Object-oriented techniques are a part of a balanced programming breakfast.

<comment><USER5> This style strikes me as similar to higher forms of database normalization. The efforts generally outweigh the benefits.

</comment></comment></comment><comment><USER6> I quite liked the guidelines in that blog post. I don't do _exactly_ that myself, but as rules of thumb they aint bad! But like a few folk have pointed out, it's about personal style, background and context.

One thing I like to do is use naming of Packages & Namespaces to tell a story about the system. So, you can look at the packages and understand what the important aspects to the system are.

Example:

\- Spidering \- Feeds \- Pages \- Control

\- Indexing \- Strategy \- Scheduling \- Lucene

Also, when you return to a code base years later, you can scan the namespace story to get a reminder of the key areas of the system.

</comment><comment><USER7> This is all a matter of personal taste.

With small methods you indeed make code hard to read and harder to debug. Plus you generate method calling overhead (yes I know, a smart compiler will inline - but if thats true, you can inline yourself). Combine atomic methods with a wealth of design pattern, and your code may become absolutely unmaintainable (all in the name of pure object orientation and better maintainablility).

If - else chains cannot be avoided with small methods (one for if and one for else). You just move the if else to the point, where the decision for the one or the other methods has to be made. A smart replacement for if else chains is switch.

But as I said, please no flamewar. I think the best you can do is to leave every programmer with his own style. That will make him most productive. All these stupid rules come from non programming managers, who want one style throughout their whole codebase, because they believe this makes every programmer easily replacable. This is no developers interest (and its not true anyway).

Pure oo style leads to some very dangerous constructs. In my experience, the true oo scholars often produce slow code, thats a memory sink (ever created a new object in a loop?).

Like with patterns, it needs a lot of experience to know, when to use them and when to avoid them. These truly simple rules, are in my opinion made for beginners (and I tend to say also: by beginners).

What matters most, is a clear style, comments, well chosen variable names. Everything that makes your code easier to understand - and that mainly for you, the author, because if someone has to maintain your code, he very likely will rewrite it. And that can be smart, because most of the time its the faster way.

<comment><USER8> I agree with your comments generally, but I'm not sure I'm willing to say "it is all a matter of personal taste."

Would you be opposed to a guideline that no method should have a cyclomatic complexity above, say, 15?

<comment><USER7> Personally I write my methods like I write text: one thought, one paragraph, one method.

But: if a method is always used as an entity, meaning you don't need to reuse parts of its code elsewhere, there is no single reason split it only because it exceeds an arbitrary number of lines. There are reasons not to split it in that case.

I know developers who write more than 15 lines of comments into their methods. That can be perfectly fine.

My goal is to fit the code of one method on my screen without having to scroll. If its one thought, it should be comprehensible at one glance (Thats again personal taste, because it depends on the size of my screen ;o).

If it has to be longer, its not a problem of metrics. Its more a problem that the design is not clear enough and the things to do are too complex.

<comment><USER8> I agree. I'm not suggesting splitting a method that exceeds an arbitrary number of lines. Instead, I'm asking about the cyclomatic complexity (<http://en.wikipedia.org/wiki/Cyclomatic_complexity>)

My point being that while the original article was quite ridiculously reductionist, it should be possible to have some concrete metrics that serve as good guidelines (and which naturally could be superceded by programmer judgment on occasion.)

</comment></comment></comment></comment><comment><USER9> I am reminded of the constant fight to explain the difference between "if" and "iff."

We observe that really great OO code has small methods that do one thing well. IF great-oo THEN small-methods.

So is the answer to go out and refactor code so that each method only does one thing? This makes a different assumption: IF_AND_ONLY_IF great-oo THEN small- methods.

<comment><AUTHOR> Do you mean that the Jeff Bay essay is a short method cargo cult? Or are you saying that I missed the point?

The original article contains several suggestions that address things other than method length. Numbers 3, 4, 8, and 9 enforce extreme encapsulation.

<comment><USER9> I mean that the original essay provides an interesting exercise that, IMO, would be helpful to try as an exercise.

However, I do not suggest that the resulting software--as a whole--will necessarily be better after the exercise than before. I picked method length as one example, but I think it applies to all of the suggestions.

Just because we observe some property of good software, it doe snot follow that software deliberately written to exhibit this property will be good. That's what I was suggesting.

<comment><USER10> Programs with short methods are easy to understand. My program uses short methods. Therefore my program is easy to understand.

so if follows....

Cats have Eyes. I have Eyes. Therefore I am a Cat!

<comment><USER9> Hmmm. Actually, I disagree with your statement as written.

"Programs with short methods are easy to understand" expresses that the set of programs with short methods is a subset of the set of all programs that are easy to understand.

Therefore, every program with short methods is easy to understand, or (easy to understand) if (short methods), or (short methods) -> (easy to understand).

I was expressing that it there exists a very large set of programs with short methods that are not easy to understand.

To make these statements less subject to procedural wrangling, given a particular working program, the set of all possible permutations and refactorings that produce the same output contains many permutations with short methods that are not easy to understand.

</comment></comment></comment></comment></comment><comment><USER11> I'm sure that object decomposition does not per se, automatically, lead to code obfuscation. If the design is decent, it should be, if not obvious, then at least possible without too much ado to determine where in the file tree methods shaved off larger objects should be placed so that somebody who knows how the file names are chosen, but doesn't know the code itself, can find them by looking at a list or a diagram.

I find a "limit" at indentation depth 1 a bit overly harsh, but I at least casually consider it whenever I reach depth 2, and at depth 3, I _really_ try bailing out, foregoing "else", too. And sometimes I even do it at depth 1, and get a nice fuzzy warm feeling from that. _Edit: This was underplaying it too much. "Callisthenics", cleverly used, really_ do _help to organise the code if you have something conceptually larger, e.g. a DSL, to capture the knowledge as it is abstracted from the data._

Then again, I prefer using function composition over inheritance whenever I can, so my whole work method is geared towards managing many small files. Systems of names, essentially. I think a lot in terms of names and naming systems.

Transparency, AFAICT, needs to be built into the design, via an ongoing effort for the seperation of concerns (systematic naming is crucial in that). Which has me trending towards smaller objects over the years. That's just my experience; YMMV. But I don't see how moving from, say on average, 50-LOC- objects to 100-LOC-objects now would make my codebase in any way less "obscured".</comment>


Ask HN: Where are all of the mature developers? - <AUTHOR> Getting kind of sick of HN because of all of the young, inexperienced developers. Where are the more mature developers hanging out online these days? <comment><USER2> I'd consider myself mature. What are you wanting to get out of a community?

Sometimes my stories may interest or bore younger devs but man I like listening to them, sometimes they show me something new or Shiny, and sometimes I may even pass on some knowledge they can chew on and perhaps even use. I enjoy coaching and mentoring and value those interactions.

I think the mixture of people, skills and experiences are why we take part in any community really.

Edits: poor keyboard usage.

</comment><comment><USER3> "Maturity" can be defined many ways (including age, temperament, or depth of skillset).

I doubt that there's any magical hiding place that differs from other developer hangouts. It's not like we are all out there despondently pining for new comp.lang.c articles while chasing those damn neighbor kids off our lawns.

Perhaps specifying a more specific metric (languages, environments, databases, etc.) could facilitate your search?

</comment><comment><USER4> I've been developing professionally since 1999, and while I'm pretty active, I think in general "more mature" developers are less likely to "hang out online". This is a product of being more mature, which loosely correlates with age, which loosely correlates to family and property ownership and all the time-suck that goes with. Personally I just take what I find valuable from this community and try (not always successfully) to filter out the noise.

</comment><comment><USER5> 1\. In management.

2\. On HN, but development is a popular career path now and there are just a lot more younger developers than there used to be.

</comment><comment><USER6> If by 'mature' you mean 'gray'... unemployed.

<comment><USER7> No, gray, employed.

Some companies are smart.</comment></comment>


The side of machine learning you're undervaluing and how to fix it - <AUTHOR> https://labelbox.com/blog/the-side-of-machine-learning-youre-undervaluing-and-how-to-fix-it/ <comment><USER2> Interesting approach from Matt Wilder

</comment><comment><USER3> Love the wizard of Oz-ing concept

</comment><comment><USER4> great article</comment>


2018 statistic of the year: Plastic waste fact tops list - <AUTHOR> https://www.bbc.com/news/uk-46602969 <comment><USER2> That's because "recycling" is just the packaging industries way of avoiding blame for manufacturing infinite garbage.

One day the world might realise that we live in an infinite garbage world because we pay the packaging industry to make infinite garbage.

Recycling is not meant to work, it's meant to keep attention away from the packaging industries role in destroying our beautiful planet.

It's all about the money.

The solution isn't to clean up/recycle the garbage - it's to stop making it.

Turn off the tap.

It's like the sugar industry - for decades everyone thought that obesity was caused by fat in food and the solution was to eat less fatty food and to lose weight by exercise. This suited the sugar industry extremely well because it turns out that obesity is caused mainly by sugar, but they no doubt big sugar was very happy that everyone was pointing the finger at fat as the problem and exercise as the solution - that lets the sugar industry off the hook very nicely.

The packaging industry must laugh behind its hands at all the people trying to recycle and clean up all the garbage that it makes, when the real solution - which no-one currently proposes - is just to stop manufacturing garbage in the first place. Everyone is focused on how to deal with the garbage - there's no problem to deal with if you stop making it.

If you read all the comments in this thread you'll see how the number one focus of most people is to work out how to handle the packaging - there's no questioning at all of why it exists.

<comment><USER3> This is a great point. I've been told that in my local area you can't even recycle thin film plastics. Which is probably at least half my plastic waste if not way more since I don't buy disposable water bottles...

</comment></comment><comment><USER4> When I read something like this I really wish the people who use all their smarts for selling more ads to sell more crap would instead work on figuring out trash separation and recycling. It's a very interesting problem: Recognizing different items, handle it, and recycle it. It has it all: AI, computer vision, robotics. It would make the world a much better place.

<comment><USER5> I still think consumers need to take responsibility for what we buy. I can complain that someone else isn't fixing our problems, but then I go to the store and I buy detergent that comes in a plastic tub. Why can't they dispense detergent in to a reusable container? Why do I buy all this plastic crap? Can we form a collective that researches options and bulk buys products in a low waste manner?

<comment><USER6> Consumers aren't just consumers - they're also voters, and can take responsibility by voting/demanding better environmental regulation.

Great change is rarely brought about with merely individual action.

<comment><USER7> They're also voting with their wallet with every purchase. Not buying plastic crap that gets thrown out after one use would help.

<comment><USER6> Companies would love nothing more than to convince consumers that's all they should do. But it wasn't voting with wallets that got us food and electrical safety standards, the 40 hour work week, or banned leaded gasoline.

And markets carry no detergents in reusable containers you could 'vote' for in this manner.

</comment></comment></comment></comment></comment><comment><USER8> Why is plastic pyrolysis not being employed to recycle on a massive scale? Seems all that is needed is to site them near oil refineries, and you have a clean, self-powering means of recycling plastic into oil/fuel.

<comment><USER9> It's because we insist on recycling glass, requiring it to be separated, which is expensive: Glass is heavy, worthless, and breaks into tiny shards.

If we removed glass from recycling then you could have two streams: Metal, and burn. Where we would burn paper and plastic for their energy, requiring less energy to be extracted from the ground.

</comment></comment><comment><USER10> Wow the stat about Russia shocked me. So I looked it up [1]. Some rough reference points for men living to 65: Canada is 88%. U.S. is 82%. Russia is 57%.

[1] [https://data.worldbank.org/indicator/SP.DYN.TO65.MA.ZS?view=...](https://data.worldbank.org/indicator/SP.DYN.TO65.MA.ZS?view=chart)

<comment><USER11> Fascinating page. That's unchanged from the 1960's stats. I'm really curious what causes that (or what people think causes that.) It looks similar for a lot of the old USSR countries with strong ties to Russia - but that could be either genetics or culture/lifestyle or both.

<comment><USER12> I hear alcohol addiction is rampant.

Wikipedia about alcohol consumption in Russia[1]:

> High volumes of alcohol consumption have serious negative effects on > Russia's social fabric and bring political, economic and public health > ramifications. Alcoholism has been a problem throughout the country's > history because drinking is a pervasive, socially acceptable behaviour in > Russian society and alcohol has also been a major source of government > revenue for centuries. It has repeatedly been targeted as a major national > problem, with mixed results. Alcoholism in Russia has according to some > authors acquired a character of a national disaster and has the scale of a > humanitarian catastrophe.

Wikipedia mentions a study in chapter Impact, Demographic:

> A study by Russian, British and French researchers published in The Lancet > scrutinized deaths between 1990 and 2001 of residents of three Siberian > industrial towns with typical mortality rates and determined that 52% of > deaths of people between the ages of 15 and 54 were the result of alcohol > abuse.

[1] [https://en.m.wikipedia.org/wiki/Alcohol_consumption_in_Russi...](https://en.m.wikipedia.org/wiki/Alcohol_consumption_in_Russia)

<comment><USER13> Other things aside, could cold /not "pleasant" weather cause people to drink more?

<comment><USER10> Iceland, Sweden, Norway, etc. All make it into the high 80s on that site. So do other cold regions. I doubt their alcoholism is as troublesome.

<comment><USER14> Swedish alcohol taxes are so high that its impossible to be alcoholic unless you're well off. It's a pretty big problem in Finland with a 30% alcoholism rate. Finnish alcohol taxes are somewhat high as well, but many people in Helsinki bypass that by buying from Estonia.

[https://yle.fi/uutiset/osasto/news/finlands_unacknowledged_p...](https://yle.fi/uutiset/osasto/news/finlands_unacknowledged_problem_alcoholism/9062483)

[https://nordic.businessinsider.com/alcoholism- finland-2016-8...](https://nordic.businessinsider.com/alcoholism- finland-2016-8/)

</comment></comment></comment></comment></comment></comment><comment><USER7> There's also the fact that it often gets shipped very long distances.

It'd be helpful if we placed much more emphasis on reduce and reuse, so there's less in the first place. Patagonia is a good example of a company doing this, but an all too rare one.</comment>


Evictionland - <AUTHOR> https://www.curbed.com/2018/1/24/16925074/apartment-eviction-process-gentrification <comment><USER2> To me, this isn't a story about gentrification. It's more of a story about the modern American job, housing, financial, and social status markets.

1\. The job market, especially in media jobs, has changed into one where you can be fired at any time. Similarly, forty years ago, someone who had a good media job would not have felt safe making such inflammatory (right or wrong) statements.

2\. American housing markets have adjusted higher to essentially consume all of the practical discretionary income of renters and buyers. A lot of this has to do with the securitization of these obligations, and the corresponding loosening of credit requirements. If the rope that the bank or the landlord is willing to give you increase, it's not just a personal decision about how much risk you're willing to take, because it affects the loans and leases everyone else in the market gets. Just because your neighbor is taking out a crazy loan he can't afford if anything goes wrong doesn't mean he isn't pushing up the housing prices just as much as if he could do it comfortably.

3\. The financial markets have become much more sophisticated on one hand, but also much less local and much shorter term focused. If 10% of borrowers default, that's not necessarily a problem as long as the cost they cause covers the profit from the others. If the 10% cause major social problems, the holder of the CDO in Qatar has no idea, and wouldn't care if he did.

4\. The increased availability of credit, and the increased willingness of markets to give credit to risky borrowers has forced people to extend themselves to the max in order to compete for social status. If your friend has a BMW and a big house even though he's practically bankrupt, you are pushed into doing the same thing. The girls at the next table at the bar have no idea that he's is being fiscally irresponsible, they just know that he has a cool car and a nice house.

<comment><USER3> > The increased availability of credit, and the increased willingness of > markets to give credit to risky borrowers has forced people to extend > themselves to the max in order to compete for social status.

This is optional, though. If you opt in to it, that's somewhat on you. Granted that our social systems could be improved so that natural human tendencies push people toward right actions. However, I think the injustice is far more severe in cases where there's no out that's within a person's power to reasonably grasp.

And "the girls at the next table in the bar," don't know about your friend's car or house, unless your friend is an insufferable jerk who carries pictures of his ride in his wallet. And they likely don't care that much either way.

<comment><USER2> The kind of girls you want to settle down with can see through that shit, but it doesn't change the short term problem. The 25 year old with the BMW doesn't buy it because he has some love affair with German engineering, he buys it because it's going to get him girls. America is the land of risk takers and optimists. It's full of people who know how to get in on the next big thing and are going to work to grab it. This all works great as long as credit isn't too available, and when the next big thing isn't as big as someone thought, he can always get a job at the GM plant. The problem we have now is that he gets overextended on his securitized mortgage and has to take a job for $11 at Wal- Mart.

</comment></comment></comment><comment><USER4> I live in one of the lowest income sections of my city. But the rent still isn't really cheap, it's $1200 for a one bedroom. This apartment complex is month-to-month. One month I didn't save and was waiting to get paid for my contract (payment promised on the 1st) to be able to make rent. I was short about $100 and they would not allow me to pay part of it. Three days after it was due, there was a notice on my door saying they would file for eviction or something with the court in three days. I didn't get paid for another two days so theoretically I was a day away from getting served for eviction when I paid my rent about a week late.

Recently I have been doing a better job of saving so I don't cut it close like that.

There is no severance or anything for most contracting jobs and if you are like me and have trouble saving much then the point is that it could be as little as a few weeks to become homeless. Like I said now I am saving at least to give myself a 30 day cushion but if I had any significant expense that would evaporate.

BTW, please no lectures about personal finance or other advice. The point of this comment is not to solicit that. The point is that it is even easier to become homeless than is depicted in that article.

<comment><USER3> That sounds like a harrowing experience.

Leaving aside the particulars of your own situation, I do want to comment on your assertion about the price of rent. $1,200 is maybe higher than we'd like, but it's still pretty low. It's manageable as long as you're making $30k per year or more. It doesn't seem crazy to me.

There's also the more option of getting roommates. In all of NYC there are just three units on Streeteasy going for less than $1,250. However, there are more than seven hundred two-bedroom units going for less than $2,500.

<comment><USER5> $1200/mo on a $30k salary is >60% of post-tax take-home pay. That's... more than a little crazy.

</comment></comment></comment><comment><USER6> I find this article pretty infuriating.

Poverty and housing insecurity are definite societal problems, but does that make it the fault or responsibility of each individual landlord?

The author of this article basically stole tens of thousands of dollars in free housing from some private party and then wrote an article blaming them for the end result.

There was apparently no attempt to work something out, no attempt to move out without being forced out, no recognition of their own responsibility in this situation, and I suspect no ultimate attempt to pay back what they owe.

I have owned several small rental properties for almost 15 years. I've had to evict two tenants, never getting quite to the point of having the Sheriff show up while we pile their stuff on the curb, but I have that scheduled right now for Feb 22. This tenant has not paid their rent since Oct. The eviction has been grinding through the process since Nov. Every week, it's a different sob story about the bad luck that is preventing this tenant from paying their rent.

I'm not a monster. I don't want to force anyone out. But seriously, what am I supposed to do? I can't afford to just let my tenants not pay rent, and without the threat of eviction, some wouldn't. So seriously, what am I supposed to do?

I've been at this long enough that I know the answer: give one second chance, then evict. But it still infuriates me to see people who are happy to steal from me write articles implying that I'm a racist heartless monster because I dare provide market-rate housing and hold them to their word when they sign a lease.

EDIT: think of it like this: someone hires you to work on their website idea. You work for months, fully fulfilling your end, then they refuse to pay. You take them to court and "win" (though you still never collect), then they write an article about how web developers are too greedy and expensive and they actually have the audacity to demand payment for their work!

<comment><USER5> > _Poverty and housing insecurity are definite societal problems, but does > that make it the fault or responsibility of each individual landlord?_

I've been living in the SF bay area for nearly 15 years, and in SF itself for half of that. I've watched rent prices go up. The only reason those prices went up was because of higher demand. The higher prices didn't get anyone anything extra: the properties weren't maintained any better, or renovated or upgraded faster or better. On the landlord's side, there were no magical new costs coming into the equation to justify the higher rents.

If a landlord could rent out a place in 2005 for $1500/mo (and cover all costs and make some profit), there's no _need_ for them to rent it out for $4000/mo in 2018. They're doing that because they _want to_ and because they know someone will pay it. I'll absolutely agree that's capitalism in action right there, and in general that's not a bad thing. But we get gentrification and displacement as part of that bargain.

So yes, landlords should accept some of the burden of fault and responsibility. I'm not saying there isn't plenty to spread around, between existing homeowners, the city government, and incoming renters/homebuyers themselves, but... nope, sorry, landlords don't get to pretend they're innocent in all this.

(As an aside: I see you posting a lot on this article, and I want to say that I don't think you're "irredeemable" or greedy or whatever. I'm happy you've chosen to engage and have a productive discussion, at the very least. I just think you might be getting a little caught up in... something... and are missing the point that we're talking about housing and homelessness here, and that's a terrible thing for someone to have to fall into, regardless of reason or fault. Assuming you've been financially responsible on your end, missing rent payments from a tenant for a few months shouldn't put you out on the street, but... you as a landlord do have the power to put someone out on the street, and it'd be nice if you'd be cognizant of the extra power you have.)

<comment><USER7> How is the price of rent going up the fault of landlords, when terrible urban planning (and NIMBYism) has limited housing in the Bay Area for decades. In the Bay Area, blaming landlords is shooting the messenger. The truth is that in a lot of these places existing homeowners are happy to see people priced out. At the same time, job growth is getting more concentrated in expensive urban environments. Local governments respond to local (property) tax payers, who don't mind gentrification. State and national governments do nothing, because the political pressure is zero. So, yeah blame the landlord.

<comment><USER5> You might try actually reading my comment. I mentioned exactly those other things as well as being partly at fault. Landlords don't get a free pass, though.

</comment></comment></comment></comment><comment><USER8> What's missing: The complexity of life. Even in Europe with its stronger social welfare it doesn't take much to get seriously tumbled. A job loss coupled with a depression episode is enough to derail one's life.

I being Deaf know many people who struggle in Switzerland. For example they don't understand the letters social welfare sends them. Hell, even a hearing woman whose son attends kindergarten with my son, openly admitted that she had an episode where she stopped opening letters because she was just overwhelmed.

Here at Hacker News there seem to be people who are successful and simply don't understand that they were lucky. They learnt to navigate and overcome hurdles. But what about people who grew up under not so ideal circumstances and will be always somewhat limited in their resiliency?

It's not completely their fault if they stumble.

</comment><comment><USER9> I've been close to this issue lately. My family owns many rental properties, and most of our income comes from rent. Several months ago I left my home at my wife's request and had a huge dilemma. You see, I had a situation with some storage units last year that helped me to discover that I HATE paying rent. Seeing it from the landlord side for many years has shown me how worthless it is for the tenants... They pay upward of %30 of their income, and next month do it again. It's truly modern slavery.

I hate paying rent so much that I'd rather be homeless than pay someone else rent. I slept in my car, and on the side of the road and thought a lot about this problem. Rent and homelessness are big issues, and I discovered that the real problem is a major stigma in our society against truly affordable or alternate housing.

Housing doesn't need to cost $2k per month. Most people don't need huge houses. Many people could do just fine in MUCH cheaper housing, shared housing, or even non-housing such as sleeping in a car.

Super cheap housing can be a legal problem. In my town, it's illegal to rent a house to more than 3 unrelated people. That's totally insane. If people want to shack up 5 to a room to save money that should be their right. Reducing the stigma against this would essentially reduce housing demand and lower prices across the board.

I'm also working on a project to turn the entire real estate market on it's head... This will also help to solve this housing catastrophy.

I'm confident this housing problem will be seen as one of the most preventable inhumane practices we currently engage in.

</comment><comment><USER10> I'm pretty ignorant when it comes to gentrification, so perhaps someone could help me understand: how it is that we're simultaneously hearing about how poor millennials apparently are overall compared to their parents generation, and gentrification and spiraling housing costs in seemingly every city?

<comment><USER11> Millenials are probably waiting for their parents to pass away, and then inherit their property. It's the path with least resistance.

<comment><USER12> I qualify as a Millenial and I don't know a single person who's planning on doing this. I rent right now in a major city but am looking to buy, maybe, in the next few years. For my peer group anyway that's the norm. What I do find as one of the major drivers of increased housing costs are actually _Boomers_ (aka my parents generation) engaging in a nasty kind of NIMBYism - a sort of "I got mine" mentality. My fear is that we're building in a lot of tail risk into our cities by behaving this way and not building. There's all sorts of absurd zoning rules all over the country. Things won't change until there's another collapse.

</comment></comment></comment><comment><USER13> So finding somewhere to live that cost less than $2K a month wasn't an option?

<comment><USER14> This specific case is perhaps not the best example, I personally had to choose to keep reading after he discussed how his own behavior greatly contributed to his dilemma.

That said, I'm glad I finished the article, because it seems to clearly describe the state of the overall affordable housing market in the country, which is pretty awful, and there were some eye-openers in there for me, such as one in five renters facing eviction. That's a ridiculous number.

I don't know the answer to this problem, because telling rich people they just can't buy in certain neighborhoods doesn't seem like a viable option to me, but we have to at least acknowledge it is a problem.

<comment><USER15> The real solution is building lots and lots of buildings. To make that happen we need to massively relax regulations. It's not practical to build affordable housing right now because the fixed legal and planning costs are too high, so only higher end housing really makes sense to build.

<comment><USER16> New supply equivalent to the oldest and crappiest apartments on the market would still not be affordable, because they aren't either.

The positioning of new supply within the basic<->luxury spectrum is vastly overblown. The entire range of market rates needs to come down by thousands of dollars.

<comment><USER15> If we don't solve the problem by building more, how is your ideal outcome going to look?

<comment><USER16> We must lower the overall market by building a ton more. The level of luxury that "more" is pitched at is irrelevant - the problem is that whole market is too high, not that it skews towards luxury.

<comment><USER15> Sounds like we are in violent agreement ;)

Edit: my crazy fantasy is to replace a huge portion of the avenues in SF with a massive arcology. That would solve the problem for Sf and set a great example for elsewhere. But of course that isn't going to happen.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> FYI, here is the original reason for he was fired for the curious:

[https://www.washingtonpost.com/blogs/erik- wemple/post/politi...](https://www.washingtonpost.com/blogs/erik- wemple/post/politico-suspends- reporter/2012/06/22/gJQAvvf8uV_blog.html?utm_term=.4b981f47c6d5)

I know it's not related to the eviction process immediately, but I think given that we (I) are learning from this as a narrative and a data point, I think for some the context can be interesting at the very least.

To me it seems like a badly-thought-through comment on his side but not worth being fired over.

</comment><comment><USER18> reading this makes me think that social media is the 21st century's debtors prison</comment>


Vision-Correcting Displays [video] - <AUTHOR> https://www.youtube.com/watch?v=SNdapCs6vR8 <comment><USER2> If I understand this correctly, this is a light-field display.

The implications are bigger than vision correction - LF display can reconstruct actual 3d images, as opposed to the stereo images being marketed as "3d" today. Stereo displays give two different pictures to two different eyes, but the don't provide perspective shift (the picture doesn't change when you move your head left and right), and they don't provide different focal planes (your eyes focus on the screen plane regardless of how far the object is supposed to be, creating a dissonance between the distance inferred from the angle between the eyes and the focusing distance).

<comment><USER3> Yup, I wonder if this technology could be used to improve head-mounted displays, to be able to focus on different parts of the virtual scene, not just being always focused on infinity (probably together with high-precision eye-tracking to figure out depth where you try to look at).

<comment><USER4> It can and will in relatively short order: [https://www.youtube.com/watch?v=deI1IzbveEQ](https://www.youtube.com/watch?v=deI1IzbveEQ)

Douglas Lanman, the researcher behind this technology work at Nvidia was hired a few months ago by Oculus VR.

</comment></comment></comment><comment><USER5> Don't get this, what's the point in 1 device being corrected while the rest of the real world is blurry?

One use case example was a guy in a car with GPS navigation. So he can then see the GPS nav but how does he drive if he can't see properly!?

<comment><USER6> If someone's far-sighted, as many people above the age of forty are, they might be able to see the street perfectly well, but have trouble reading a GPS screen that's only fourty cm away from their face.

And speaking as one of the people whose vision defect can't be corrected by glasses, but only by uncomfortable contact lenses, there'd be immense value to me in a computer I can use without lenses - especially since reading on a screen is basically the only thing I need the damn things for while I'm at home. For someone whose work is mostly computer-based, you might be able to get away with taking your lenses out for the entire day and only wear them for the drive to work and back.

<comment><USER7> > they might be able to see the street perfectly well, but have trouble > reading a GPS screen that's only fourty cm away from their face

So they would also not be able to see their speedometer, or their fuel guage...

This is a technological solution looking for problems that are far more conveniently solved by conventional means.

<comment><USER8> By conventional means, do you mean reading glasses? Observing people needing/using them, to me it seems like a hassle and definitely not a solution that most are satisfied with.

The video mentions both the GPS and speedometer as potential targets for this technology. Giving it some thought and being close to the age where I might benefit from this, it isn't such a bad idea after all.

<comment><USER7> Obviously I can't speak for other bespectacled folk, but I wouldn't call them a huge hassle. I put them on in the morning, and take them off at night. Once in a while I clean them. That's about the extent of my interaction with them.

(Although I'm short-sighted, so the arguments above don't apply to me anyway.)

<comment><USER9> While I've seen my dad struggle with reading glasses (and now bifocals) after not needing to correct his vision for the first 40+ years of his life, I've had mostly the same experience you describe for the last 20 years (thanks to inheriting my vision problems from my mom's side). However, in the last couple of years I've started taking my glasses off if I am reading for long periods of time, because my distance vision is getting bad enough that the correction is making the closer text slightly more difficult to read than it is without the lenses. Eventually, this might also lead to needing bifocals myself, despite the fact that I have no problems reading very small text within arms- length without glasses.

Essentially, I'm getting close to doing the opposite of what most people do with reading glasses. For now, I do most minor reading tasks and my work with my glasses on, but for lengthy reading I take them off. Over time, I'm sure, I'll end up taking them off (or looking below my glasses) for almost every reading task, and eventually for work as well.

In the end, though, I don't think the technology will be likely to really solve the issue for me, except to correct a few displays for my corrected vision. I have to pin most of my hopes, at the moment, on improvements in surgery and eventually being able to afford the surgery.

</comment></comment></comment></comment></comment></comment><comment><USER10> Additional details here [http://newsoffice.mit.edu/2014/new-display- technology-automa...](http://newsoffice.mit.edu/2014/new-display-technology- automatically-corrects-for-vision-defects-0731)

</comment><comment><USER11> Check this out: [https://news.ycombinator.com/item?id=180224](https://news.ycombinator.com/item?id=180224)

</comment><comment><USER12> One can imagine a pair of normal eyeglasses which have an IMU or accelerometer of some sort in them. When they sense they are being taken off, the users' phone switches profiles, the screen blurs, and the user moves seamlessly from glasses to phone without ever realizing what took place.

Would be a neat touch. I like connected appliances that aren't. (if that makes sense)

</comment><comment><USER13> I've always thought it would be interesting to correct vision at the brain/neural level rather than the physical level. Can anyone comment on whether this would be possible?

<comment><USER14> This is indeed an interesting question. Why can't the brain develop a reverse blur function? We can do this with algorithms ([http://en.wikipedia.org/wiki/Adaptive_optics](http://en.wikipedia.org/wiki/Adaptive_optics)). There was a fad (I guess) once about correcting your vision with practice ([http://en.wikipedia.org/wiki/Bates_method](http://en.wikipedia.org/wiki/Bates_method)).

I guess this is a limitation of the plasticity of our brains. People who have hearing or vision or other losses as young children adapt faster and better than people who have these losses when older.

It would be interesting to understand if young children with vision deficits can learn to see better with time.

My personal recollection is that I had NO idea things were blurry until my first visit to the optometrist when they put glasses on me. Things were so SHARP!

I think the core of this is that out adaptability depends on sensori-motor loops. We can calibrate our responses for faulty sensors, but we don't correct just for the sake of correctness.

<comment><USER15> > Why can't the brain develop a reverse blur function? We can do this with > algorithms

Adaptive optics requires more than just algorithms -- the algorithms' output are fed into a rapidly moving reflective surface to de-blur the incoming light [1] -- so this is a bad analogy. You might be thinking of some of the deconvolution algorithms [2] that the Hubble Space Telescope used before its "eyeglasses" were installed in 1993 to improve its flawed images.

[1] "Adaptive optics works by measuring the distortions in a wavefront and compensating for them with a device that corrects those errors such as a deformable mirror or a liquid crystal array." [https://en.wikipedia.org/wiki/Adaptive_optics](https://en.wikipedia.org/wiki/Adaptive_optics)

[2] "The error was well characterized and stable, enabling astronomers to optimize the results obtained using sophisticated image processing techniques such as deconvolution." [https://en.wikipedia.org/wiki/Hubble_Space_Telescope#Flawed_...](https://en.wikipedia.org/wiki/Hubble_Space_Telescope#Flawed_mirror)

<comment><USER16> Exerpt from [http://www.inference.phy.cam.ac.uk/itprnn/book.pdf](http://www.inference.phy.cam.ac.uk/itprnn/book.pdf) (page 564):

"Deconvolution in humans

A huge fraction of our brain is devoted to vision. One of the neglected features of our visual system is that the raw image falling on the retina is severely blurred: while most people can see with a resolution of about 1 arcminute (one sixtieth of a degree) under any daylight conditions, bright or dim, the image on our retina is blurred through a point spread function of width as large as 5 arcminutes (Wald and Grison, 1947; Howarth and Bradley , 1986). It is amazing that we are able to resolve pixels that are twenty-five times smaller in area than the blob produced on our retina by any point source. Isaac Newton was aware of this conundrum. It's hard to make a lens that does not have chromatic aberration, and our cornea and lens, like a lens made of ordinary glass, refract blue light more strongly than red. Typically our eyes focus correctly for the middle of the visible spectrum (green), so if..."

I recommend the read for those interested. There's even an experiment you can do yourself to experience your own eyes limitations!

</comment></comment></comment></comment><comment><USER17> Link to the paper and supplemental information:

[http://web.media.mit.edu/~gordonw/VisionCorrectingDisplay/](http://web.media.mit.edu/~gordonw/VisionCorrectingDisplay/)

</comment><comment><USER18> I'd love for this to become common, since I have worn glasses for near sightedness since childhood. However, the biggest problem I see with this is that it is customized on a per user basis.

So, while I can use my phone just fine, you can't cause it's calibrated to correct my vision deficiency. I guess that it can be used on something extremely personal; like a phone, but I don't see it becoming main stream for most displays, like a shared tablet or a computer or something.

</comment><comment><USER19> It's an interesting idea, but even for the narrow use-case of looking at a display it does not replace for everyone the need of wearing glasses/lenses. This kind of display may only "fix" something that affects both eyes in an equal measure. If the image distortion have to be different from one eye to another, then an individual-eye-level correction is needed.

</comment><comment><USER20> Can this be done at the software level? I.e. feature built in to OS that modifies displayed image in the same way this screen does.

<comment><USER21> _In the researchers' prototype, however, display pixels do have to be masked from the parts of the pupil for which they're not intended. That requires that a transparency patterned with an array of pinholes be laid over the screen, blocking more than half the light it emits._

<comment><USER16> This is required to create the intended light field, but the light field approach isn't the only one, you can do simple deconvolution also. I wonder how well that would work.

</comment></comment></comment><comment><USER22> Cool, but I think most of the people with glasses wouldn't want to rely on gadgets even more. If you can see display, but can't see physical controls or paper, that's an issue waiting to happen.

</comment><comment><USER23> I think this is a great idea, and wonder why it took so long. I'd love to be able to take my glasses off and read in bed, or take my glasses off for a few hours at work while in front of my monitor.

</comment><comment><USER24> [http://chronicle.nytlabs.com/?keyword=germany.vietnam.iraq.r...](http://chronicle.nytlabs.com/?keyword=germany.vietnam.iraq.russia)

</comment><comment><USER25> I wonder if there's an analogy to be drawn between the pinhole mask they use and the lithography masks used to etch ICs on silicon.

</comment><comment><USER26> Sounds like the old "Magic Eye" pictures

</comment><comment><USER14> I was told the following legend about how shoes were invented. A haughty princess wanted to leave her pristine castle and explore the world. But she found the world very dusty. She told her wise men to come up with a plan to cover the world in a lush carpet. The wise men pondered and said that this could not be done. The princess threw a fit. The wise men pondered some more. Then they said "Princess, we can not cover the world in a large carpet, but we can, however, cover your feet in a small one". And the princess was pleased. And that, kids, is how we got shoes.

<comment><USER27> It's not crazy to go barefoot/slippers in your home though.</comment></comment>


CRISPR-Cas9 gene editing causes lots of mutations - <AUTHOR> https://www.dw.com/en/getting-real-crispr-cas9-gene-editing-causes-lots-of-mutations/a-44742022 <comment><USER2> Actual source: [https://www.sanger.ac.uk/news/view/genome-damage- crisprcas9-...](https://www.sanger.ac.uk/news/view/genome-damage- crisprcas9-gene-editing-higher-thought)

Paper: [https://www.nature.com/articles/Nbt.4192](https://www.nature.com/articles/Nbt.4192)

</comment><comment><USER3> Cas9 does not edit DNA, it cleaves DNA. What happens afterwards is up to the cell. The hype machine has ignored this fact.

One of my favorite George Church quotes: "CRISPR: some call it genome editing. I call it genome vandalism".

Base Editors can actually edit DNA, but only single bases at a time. [http://www.sciencemag.org/news/2017/10/novel-crispr- derived-...](http://www.sciencemag.org/news/2017/10/novel-crispr-derived-base- editors-surgically-alter-dna-or-rna-offering-new-ways-fix)

There's a big prize waiting for the person who can harness DNA repair pathways in conjunction with Cas9 to make precise, multi-base DNA edits. Lots of folks are working on that now.

<comment><USER4> Does it cleave a whole segment off (two point cut), or just a single cut?

<comment><USER5> Single cut.

</comment></comment></comment><comment><USER6> Sometimes I think these gene editing techniques are more like having a fantastic hex editor... but with a 5GB binary.

<comment><USER7> I think that if you wanted to reframe it this way, it's more like like editing a 800MB binary with sed/regexes (with some degree of random side effects injected sometimes)

<comment><USER8> And no way to really test it without just running it in production!

<comment><USER9> Really curious how far are we from being able to simulate the human body's response to drugs/modification.

<comment><USER10> We are so ridiculously far that it's not really worth thinking about. We're still at the stage of simulating how molecules interact with each other. To work our way up even to the single-cell organism level would be a historic human achievement.

To simulate an entire human body is computationally mindboggling. The number of cells are in the tens of trillions and we'd need to simulate their responses, not just to the drugs we care about, but doing so while "operating" (feeding, sleeping, etc.) the simulated body.

<comment><USER9> I have no experience in this area, but. Once you get the molecules and their interactions down wouldn't that make all other types of cells easier to produce?

And at a certain point couldn't you just feed the simulation DNA and watch it grow?

<comment><USER11> It takes supercomputers days to simulate milliseconds of interactions between a million atoms using classical mechanics (ie Newton's Laws, basically a ball and spring model so not even accounting for quantum effects except through very rough approximations in the spring constants). We don't even have an accurate model for water yet.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Not entirely unexpected to see stuff like this come up. We're still in the early days of what gene editing is and will become. Keeping my fingers crossed for its future.

</comment><comment><USER13> tl;dr: (1) The paper's main finding has been known by the DNA repair community, (2) relying on DNA double-strand breaks for genome editing has been known to be non-ideal in the long-term, and (3) current ex vivo therapies are unaffected since we can screen cells after editing.

The root cause here is the DNA double-strand break induced by Cas9, and the ensuing DNA repair processes that occassionally produces large deletions (the paper reports two thirds or 32/48 were less than 50 bp and 21% or 10/48 were greater than 250 bp). This has been largely known by the DNA repair community for 20+ years.

Currently, our most powerful genome editing techniques rely on CRISPR's ability to induce double-strand breaks, such as HDR (for inserting designed sequences, used in gene drives for instance) and NHEJ (for knocking out genes, used in all current early-phase therapies under development). However, a double-strand break is among the most traumatic experiences a cell's genome can experience. We're currently taking advantage of the cell's freak-out attempts to repair its DNA for genome editing purposes, but the process is noisy and produces highly variable and stochastic outcomes. HDR, for instance, has a baseline efficiency of less than 20% in many cell types and conditions of therapeutic interest. Many papers have shown dramatically increased HDR rates at the expense of altering the cell's DNA repair pathways, but these were never going to be humanity's dominant therapeutic approach -- messing with DNA repair is dangerous and closely linked to cancer.

The holy grail is a genome-editing tool that is highly precise, with no off- target effects (edits only exactly in the genome where we want) and highly precise on-target effects (results in the same change everytime we apply it) and flexilbe (many designable changes). The messiness of cellular DNA repair is a major challenge to the second goal. The scientific community has recognized this and has been working on CRISPR-related genome-editing technologies that rely less or not at all on inducing double-strand breaks, thereby skipping the messiest part of the genome-editing process.

One example is base editing, where the endonuclease domains of Cas9 are disabled (called dCas9, sometimes explained as "dead" Cas9), and alternative enzymes that transform nucleotides (such as C->T) are attached to dCas9. In this setup, dCas9 provides the "homing" targeting while the attached enzyme enacts the editing without inducing a DSB. As it stands now, base editing is very exciting, but further work remains to develop base editors for all possible nucleotide transformations (a -> b for all a != b in {A, C, G, T}); it's not as flexible as HDR.

I do want to note another therapeutic domain of ex vivo therapies, where the messiness of DSB-associated genome editing strategies is much less of an issue, since cells can be screened after editing in vitro to control which genotypes we're inserting back into the patient.

<comment><USER14> As a software engineer super interested in genome editing, are there any software out there that will educate me through the process?

<comment><USER13> Nearly all the software are tools for designing CRISPR gRNAs, not really educational software. There are videos and books for learning more about the whole thing though.

</comment></comment></comment><comment><USER15> Every time I read about gene editing, I think of the short story _Sisters_ by Greg Bear: [https://www.baen.com/Chapters/ERBAEN0036/ERBAEN0036___1.htm](https://www.baen.com/Chapters/ERBAEN0036/ERBAEN0036___1.htm)

</comment><comment><USER16> Isn't this the basis for the movie "I Am Legend"?

In all seriousness, how likely will the gene mutations from people self experimenting lead to a contagion? There are many CRISPR kits that people can buy to do their own experimentation.

<comment><USER17> I suspect you're much more likely to give yourself cancer than cause an I am Legend-style mutation.

<comment><USER16> Probably so, but I don't have any statistical data to form an opinion. Does anyone track genetic incidents / blunders at a global scale?

</comment></comment></comment><comment><USER18> >CRISPR-Cas9 gene editing causes lots of mutations

This is still a very controversial statement, and far from definitively proven. Yes, even with a nature paper.

I also take issues with the phrase "lots". So far this effect has been observed only locally.

I believe the result, and I think it needs broader investigation but a summary like "gene-editing causes lots of mutations" is not accurate.

<comment><USER19> I don't think this is a controversial statement at all. Any CRISPR-Cas9 paper published will at least discuss the prospect of undesired mutations; this is a well-known concern.

You may be interested in my comment from the last time this journal article was posted to HN.

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

<comment><USER18> Speaking as a biologist. Among my colleagues, it is still very controversial.

It should be noted that "controversial" scientifically means something different than in the general public. What I mean is that we see and believe the current observations but are still waiting to fully understand the extent and reproducibility.

<comment><USER19> > Speaking as a biologist. Among my colleagues, it is still very > controversial.

I'm also a biologist.

I guess I don't understand where your concern arises. I and others I know have used CRISPR-Cas9 to introduce arbitrary DNA mutations at loci of interest. We see many different types of lesions, ranging in size.

<comment><USER18> I shouldn't have brought credentials into this, its bad form on my part.

But anyway, I was just relating what I've heard from colleagues and my dis- taste for the articles definitive title.</comment></comment></comment></comment></comment>


Azure Storage: How fast are disks? - <AUTHOR> https://www.grsplus.com/blog/2018/07/azure-storage-how-fast-are-disks/ <comment><USER3> Perhaps this is separate, but Azure has a bit of a latency problem on their App Service Plans and the storage. I know that it has something to do with how they are able to offer instant scaling up, down and out. And the ability to move an app slot to another service plan instantly. However it does have some major performance issues, it's also very slow to unzip items. Unzipping from the terminal will end up just timing out (though the process will complete, eventually.) This causes auto-update failures way too often. Wordpress, Magento, etc objects load really slow for example. I hope someone at Microsoft reads this and figures out a way to bring this latency down. It's a really great service otherwise, in that you don't have to worry about patching your server.

I've never had an issue with their blobs or CDN speeds, but the app service disk latency is an issue. Specifically, in my case, with PHP apps.

<comment><USER4> We've had similar issues and timeouts in Node and PHP apps.

<comment><USER3> There is a cache setting you can put in your slot that will fix it, but the app has to be restarted to clear the cache. It's not selective on what gets cached...and it doesn't work well with most apps. If you could selectively add directories that cache it would work so much better, or if it worked in some asynchronous way if a file changed in the cache (for apps that auto-update.) I don't know the solution, but it's an annoying problem.

If you Google/Bing for "Azure Website slow" this issue is the cause is 99% of all the complaints. The current solution "Local Cache" is lacking. It does work, but not in my use cases.

[https://docs.microsoft.com/en-us/azure/app-service/app- servi...](https://docs.microsoft.com/en-us/azure/app-service/app-service- local-cache-overview)

<comment><USER5> If something works poorly without manually applying cache, it reminds me of WordPress. It seems it's nearly impossible to get Azure on par with the rest in terms of performance.

</comment></comment></comment></comment><comment><USER6> Azure disk speed for VMs is absolutely horrendous for the amount you have to pay. Our workloads are so bad because of this.

<comment><USER7> I completely agree. For some reason they're not 100% ssd and that changes everything. That is the main reason I avoid Azure. Last time I tested (about 8 months ago) I got a new windows server instance with 4gb ram and do a windows update. In my laptop takes 20 minutes, aws takes 40 minutes or so, azure takes almost an entire day! Partly this is because MS doesnt keep their images as updated as AWS, but mostly is because HDD instead of SDD as default. Not advocating anything, just my experience.

<comment><USER5> What is the point of using Azure if the performance is way worse than competitors?

<comment><USER8> is the performance worse than aws?

[https://www.datadoghq.com/blog/aws-ebs-latency-and-iops- the-...](https://www.datadoghq.com/blog/aws-ebs-latency-and-iops-the- surprising-truth/)

<comment><USER7> I know what I see in my apps. Yes, Azure is worse than AWS. AWS has its flaws, but Azure is simply very slow in comparison.

</comment></comment></comment></comment></comment><comment><USER9> It would be far more useful to see the upper percentiles of latency than an average, and to see the tests run over a sustained period of time.

As usual, the interesting information comes not during regular operation, but during incidents, where it is not uncommon for the latency to spike _massively_.

<comment><AUTHOR> Hi,

The percentiles are in the images, I was being lazy and didn't add them to the text. If enough (well a few) people want them I'll add them.

Azure storage either works for days and weeks 100% consistently or they have an outage and are down for days so even when I have run longer tests they don't show any didference.

If you monitor and they have an outage the latency basically goes to a day an iop :)

<comment><USER9> Heh - I only did a scan read, but the 99.9th percentile would be much more useful than the average in the table.

I agree on the last part - but I think it's important to measure the effects during outage too. One we often see is fsync operations taking minutes with write caching disabled - this is more common than just during outages however!

<comment><AUTHOR> Leave it with me and I'll get some longer runs

</comment></comment></comment></comment><comment><USER10> I ran some quick tests on Azure with an app which relies heavily on fast write ops. On a dedicated server with SDD this is very fast in the range of <1ms (in relation negible latency). But on Azure there were random spikes of >1s writes. I haven't tested any more but will do some more thorough tests.

</comment><comment><USER11> > HDD uncached read latency: 11ms, SSD: 4.5, local SSD: 1ms

I am surprised by the poor performance of the remote SSD. I was under the impression that the ip latency within the same datacentre would be <1ms. Does anyone know what is causing this?

<comment><USER12> We even have two completely different datacenters within Frankfurt, connected through redundant waves that are most of the time < 0.6-0.8ms

<comment><AUTHOR> This is a good point, I'll replicate some of the tests across regions to compare, I expect there will be a difference, maybe within datacenters too

</comment></comment></comment><comment><USER13> A lot of FUD in this thread here.

If you're using the free tier of App Service plans, yes you're going to have perf limitations. And that's not Azure specific.

If you choose hard drives that are HDD and not SSD, you're going to have perf limitations. That's not Azure specific.

The costs for SSD is about the same between AWS/Azure/GCP.

</comment><comment> what-the-grump I've pulled 40k iops across 3 disks in azure running ssd. The new managed disks are fast enough for our workloads. Yes they cost money, but looking at overall cost disk is ~15-18% of total spend for us.

There are some bugs with the new archive tier and some weird behaviors for non ssd disks when you start forcing high queues.

<comment><USER6> What sort of monthly spend?

<comment><AUTHOR> We stripe two sets of 4 P30's to get up to 2,000 MB/sec on GS 5's - <USER2> costs about £800 per vm per month for that.</comment></comment></comment>


Book Review: The Body Keeps the Score - <AUTHOR> https://slatestarcodex.com/2019/11/12/book-review-the-body-keeps-the-score/ <comment><USER2> > First, I think van der Kolk downplays the importance of the APA's > philosophical commitment to categorizing by symptoms rather than cause. > Consider four patients, Alice, Bob, Carol, and Dan. Alice has poor > concentration caused by child abuse. Bob has poor concentration caused by > bad genes. Carol throws tantrums because child abuse. Dan throws tantrums > because bad genes. The current DSM would categorize Alice and Bob as ADHD, > and Carol and Dan as intermittent explosive disorder. Van der Kolk would > like to classify Alice and Carol as having Developmental Trauma Disorder, > and Bob and Dan as…I don't know. Bad Gene Disorder? Seems sketchy. When the > APA decides not to do that, they're not necessarily rejecting the > seriousness of child abuse, only saying it's not the kind of thing they > build their categories around.

This seems like a problem with the APA. Why would they categorize around symptoms? The same symptoms can have different root causes and would then require different treatments. So doesn't it make sense to categorize around root causes?

The rest of medicine seems to be more concerned with causes. A sore throat might be a cold, or it might be cancer. Obviously they require different treatments, so they don't lump them all into "sore throat" and do the same thing every time there's a sore throat.

Likewise if someone exhibits the symptom of ADHD and the cause is "Bad Genes" but you're trying to treat them for non-existent trauma, it doesn't seem like it's going to be effective.

<comment><USER3> A lot of diseases are treated symptomatically. Every time the doctor prescribes aspirin/Tylenol/ibuprofen, rest & fluids, cough suppressants, or anti-emetics, you're treating the symptoms. Rest, isolation, and IV fluids for Ebola is treating the symptoms, and does it very effectively, to the extent that the death rate from Ebola is 10% in developed countries but 80% in the DRC. Psychodynamics, CBT, DBT, and most other types of talk therapy treats symptoms, though I think what we're finding out about the mind is that there's a bit of a causal loop and if you treat the symptoms long enough that _is_ the root cause. To the extend that medication treats root causes of psychiatric illnesses it does so in a very blunt way; wasn't there just a HN comment to the effect of 'People like to say things like "seratonin is the drug that makes you happy," or "oxytocin is the drug that makes you feel love," or "dopamine is the brain's reward mechanism," but those statements are simplified to the point of being wrong.' [1]. Our regular treatments for injuries like burns, acute organ failure like pancreatitis, or physical trauma like car accidents is to treat the symptoms until the body has time to heal itself.

Oftentimes the root cause in medicine is something we can't fix, and sometimes something we can't even identify. Biology's the domain of complex causes, where few things have a single cause and a lot of things are interlocking systems governed by homeostasis.

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

<comment><USER4> Amen to treating symptoms!

I feel like I've wasted years and a lot of money with psychotherapists who insist on bullshit root causes.

Treating symptoms allows you to break the problem into smaller issues, monitor progress, change course and so on.

There is no treating "root cause" \-- the root cause happened dacades ago; it allows lousy psychotherapists to continue to be lousy psychotherapists.

There is no way to objectively quantify the root cause and to train psychotherapists to "treat the root cause".

The "treat the root cause" psychoterapies, starting with psychoanalisis are just bullshit psychotherapies, no better than the "detoxifying" and "holistic" diets.

</comment></comment></comment><comment><USER5> Another summary of the book that was discussed on HN three weeks ago: [https://praxis.fortelabs.co/the-body-keeps-the-score- summary...](https://praxis.fortelabs.co/the-body-keeps-the-score-summary/)

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

</comment><comment><USER6> This might be one of the only books that I would classify as a "must read".

The perspective of being able to debug your own brain is invaluable and understanding other methods to do the same are worth the price of the book.

Buy an electronic and paperback. Great book.

<comment><USER7> I do agree. I stand with SSC's criticisms about the details, but I do believe that despite its flaws, it does communicate a very important message effectively.

Namely, that your mental health is part of your body, not part of your mind.

It really changed my perspective, where before I had contempt about my body, saw it as a nuisance, I now understand I -am- my body. It's as much a part of me as my mind.

It helped me look into the right direction for treatment and additional resources.

<comment><USER8> The other side of the coin that this book helped me to see is that I am not my symptoms.

There were parts of my behaviour that held me back, but I thought were crucial to my identity so I was reluctant to let them go. After I realised that they were symptomatic of psychological injury and not part of my fundamental identity, I allowed the change to happen.

It felt more like going through a process of healing in the same way that I might treat a muscle strain, and not spend the rest of my life limping because of a bad fall.

I realise that sounds a bit contradictory - I guess the idea is that my mind is part of body and can be treated as such, which makes it necessary to liberate the ego from the rest of the mind. It made the concept of mindfulness finally click for me.

</comment></comment></comment><comment><USER9> Interesting bit burried in section IV that I'm posting here in the likely event that most people don't read that far.

TL/DR- he's mostly critical of the book, but provides this update:

>[Update, written a few weeks after the rest of this post: maybe it is all wizardry. I recommended this book to a severely traumatized patient of mine, who had not benefited from years of conventional treatment, and who wanted to know more about their condition. The next week the patient came in, claiming to be completely cured, and displaying behaviors consistent with this. They did not use any of the techniques in this book, but said that reading the book helped them figure out an indescribable mental motion they could take to resolve their trauma, and that after taking this mental motion their problems were gone. I'm not sure what to think of this or how much I should revise the negative opinion of this book which I formed before this event.]

<comment><USER10> Yes I found this very amusing. For several reasons:

\- Within a week he seems to have found that the content of the book was more effective than years of his treatment of atleast one patient

\- He buries this as deeply within the article as possible

\- This experience casts light on the crux of my issue with the article, which is that it is very much a "prereplication" book review.

The reality is that neither the author of the book or the review have solid empirical evidence one way or the other, in terms of modern style studies. The book review seems to be drawing an overly negative conclusion about the research because of this fact. To me this is a demonstration of an overreliance on empiricism that seems to dog alot of western medicine practitioners in general.

I found this line very revealing:

>later studies – done in an atmosphere of boredom, by large multi-center consortia – are almost always disappointing.

I'm not sure what the phrase "atmosphere of boredom" signifies but it doesn't sound like a faithful attempt to get something to work. If you are doing any of these treatments in an atmosphere of boredom will it actually be effective? Is doing it in an atmosphere of boredom really a valid way of testing it?

I haven't read the book but will read it. It does seem to me that the thesis of the book, that trauma causes the mind to disconnect from the body and shapes the body, is something that Chinese medicine / Qi Gong practitioners have known about for thousands of years. I don't have any empirical evidence to back these specific practices but I have mountains of anecdotal evidence that would seemingly be rejected by the author of the review.

<comment><USER11> _> I'm not sure what the phrase "atmosphere of boredom" signifies but it doesn't sound like a faithful attempt to get something to work. If you are doing any of these treatments in an atmosphere of boredom will it actually be effective?_

If you have a broken bone, it doesn't matter how bored the nurse who sets your cast is - as long as they follow established procedure, you have an extremely high chance to make a good recovery.

The issue with psychiatry is that it doesn't really follow that model for many (most?) "conditions". As the author points out, wild new approaches seem to work when everyone is excited about them, and then fail to do much better than a placebo when scaled out.

<comment><USER10> Clearly a big part of these approaches is the affect of placebo. Placebo is also a big part of the impact of many parts of western medicine. In clinical trials antidepressants barely outperform placebos for instance.

You've raised a good point that this makes it even harder to determine how well something is working. Was it 100 percent placebo or did change take place outside of the effect of the placebo?

However just because the placebo effect is present doesn't mean we should dismiss it out of hand.

The term "scaling out" and a "boring environment" to me requires a treatment as simple as for instance setting a broken bone. A procedure like this is very easy to train someone to perform and there is relatively little in the way of differentiation between patients. An arm is an arm, it's very easy to see the problem as well as to see how a treatment is working.

But for instance in the case of acupuncture or qi gong or yoga, it would be very hard to replicate on a large scale. The practitioner matters a huge amount, as does the exact condition of the patient. Is the patient actually trying ot do the yoga? Is the acupuncturist good (most aren't). What kind of yoga is the person doing? Is the yoga or qi gong teacher leading them in the right direction for their particular issue? It isn't nearly as simple as a routine medical procedure.

I'm not saying that all of these treatments necessarily are effective. The issue I have is how quickly some are to dismiss treatments as not being backed up by evidence when the evidence will be very hard to come by, and ignoring the nuance involved. Personally my experience has led me to believe that acupuncture done by someone that knows what they are doing will work more than a placebo. The same certainly goes for qi gong in my personal experience.

</comment></comment></comment></comment><comment><USER12> On a minor pedantic note, its more like the amygdala keeps the score. There is no difference between physical abuse and emotional abuse when it comes to the final end result on the brain.

<comment><USER13> That's .. the unsolved research question under discussion? As to whether there is a score at all, where it is kept, and how it might be affected? And while is seems there is some evidence, we're still in the middle of the replication crisis?

<comment><USER14> According to Dr. Sapolsky (Why Zebras Don't Get Ulcers, Behave), there's ample evidence of enlarged, hyperactive amygdalas in chronically stressed individuals, both on artificially stressed lab rats and when looking at differences in individual human beings.

</comment></comment></comment><comment><USER15> >> The standard textbook of psychiatry at the time stated that incest was extremely rare in the United States, cocurring about once in every million women.

This would seem incredibly low, even for a non-expert. At the time, as the article notes, there were 100 million women in the US - for incest to only impact 100 women in the country and yet be something that there is a word (noun) for, laws against, and historical records of stretching back millenia stretches credibility, surely.

<comment><USER13> This sounds like more confirmation that the old standard textbooks about psychiatry contained far more traditional belief and sexual pseudoscience than the profession was willing to admit. Remember how long it took to get homosexuality removed from the DSM?

It's a bit like global warming denialism. Admitting that child abuse within families is not extremely rare has absolutely horrifying implications for people's moral universes. Much easier to deny it happens.

> [Update, written a few weeks after the rest of this post: maybe it is all > wizardry. I recommended this book to a severely traumatized patient of mine, > who had not benefited from years of conventional treatment, and who wanted > to know more about their condition. The next week the patient came in, > claiming to be completely cured, and displaying behaviors consistent with > this. They did not use any of the techniques in this book, but said that > reading the book helped them figure out an indescribable mental motion they > could take to resolve their trauma, and that after taking this mental motion > their problems were gone. I'm not sure what to think of this or how much I > should revise the negative opinion of this book which I formed before this > event.]

"We have some treatments; they seem to work sometimes, although we don't really understand why and they're not entirely reliable" is still a far better place than "we have no treatments", which in turn is far better than "your condition does not exist and you are lying". I feel slightly better about SSC for admitting this and being willing to carry on working in an uncertain environment.

<comment><USER16> The practice of psychiatry is filled with disasters, and has been more of a reflection of our culture than a science for much of its history. It is good of you to point out how there's been steady improvement-- we should remember that the field's utility can be improved.

I still would hesitate to recommend a psychiatrist's services to anyone without an extensive disclaimer, though. [In a way that I wouldn't with a general practitioner, or even a talk therapist.] It would be great if that changed one day.

<comment><USER17> Wondering what the disclaimer would be? And why wouldn't it apply to a talk therapist?

<comment><USER16> The key distinction is that a talk therapist doesn't prescribe drugs. These drugs are poorly understood, as are the conditions they ostensibly help treat, and there are a great many concerns about the validity of much of the research that went into justifying their use. There are also large numbers of people reporting long term side effects from said drugs which arguably made the patient worse off. I would caution everyone to avoid them in all but the most clear cut, 'textbook' cases.

I've also noticed - both personally and from talking with others - that a disturbing number of practitioners in this field seem to lack empathy and/or professionalism, which in my view are absolutely critical when dealing with mental health issues.

</comment></comment></comment></comment></comment><comment><USER17> > Even the studies that have passed the test of time look a little weird. The > Adverse Childhood Experiences study found that obesity and other seemingly > nonpsychiatric diseases were linked to child abuse, and recent studies > confirm this – but the controls for socioeconomic status are always > insufficient, and there's surprisingly little shared environmental > component.

I'm not sure of the author is purposefully ignorant about this, but the original ACE study was done on middle class households, 75% white. [https://www.npr.org/sections/health- shots/2018/09/17/6487108...](https://www.npr.org/sections/health- shots/2018/09/17/648710859/childhood-trauma-and-its-lifelong-health-effects- more-prevalent-among-minorities)

<comment><USER18> I'm not sure I follow. The US is 75% white, and by many definitions (I can't tell from this article how they defined it) is mostly middle class.

<comment><USER17> Perhaps whiteness is irrelevant, perhaps not. Socioeconomic background was controlled for the fact that the participants were from the middle class. Whether that's inherent to the US population due to the fact that it's a big part of it, or not is irrelevant. Unless I've missed your point?

</comment></comment></comment><comment><USER19> > Like so many things, PTSD feels self-evident once you know about it.

Only from the myopic perspective of people only used to a life of luxury and ease.

Throughout most of history several of the people most close to you would have made an early and often quite unpleasant exit before you reached adulthood -- most of your siblings and children would probably not make it into adulthood and women had a double digit chance of dying from child birth[1]. And that held true even if you were an affluent member of a relatively stable and successful society.

[1] [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1139114/pdf/med...](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1139114/pdf/medhist00088-0087.pdf)

So a priori it seems extremely unlikely to me that severely unpleasant experiences have psychologically crippling effects on a majority of people. Because that would seem to be extremely maladaptive for almost all of the last few millenia.

<comment><USER20> A common misperception about ptsd is that it results from discrete traumatic events or episodes. It doesn't in general. More often it results from discrete or continuous traumatic events or episodes _together with_ one or more of alienation, lack of social support, or ostracization. That is one reason why not everyone who experiences a shared traumatic event will develop PTSD.

So what is maladaptive are there breakdown in social ties and cultural/social infrastructure and process for supporting humans going though hell, not, in fact, my PTSD, thanks

<comment><USER21> 1\. PTSD is in actuality frequently triggered by a single, discrete, traumatic event. 2\. The feelings of ostracization/alienation and general disengagement from social discourse are indeed well known markers -- except, they follow, rather than lead the onset of PTSD. In other words, they manifest as a result of PTSD -- not the other way around.

Source: [https://www.psychiatry.org/patients-families/ptsd/what-is- pt...](https://www.psychiatry.org/patients-families/ptsd/what-is-ptsd)

</comment></comment></comment><comment><USER22> The reviewer shows lack of critical thinking and lack of understanding of how genes work when he goes on a political rant at the end of the first section. Armchair scientists have got to go.

<comment><USER23> It seemed reasonable to me, but I'm no expert. What do you think he got wrong and do you have any recommendations for further reading?

<comment><USER22> My issue is that he implies that there's something nefarious going on because of a lack of discussion of genes. I claim he lacks critical thinking because he ignores that the book's primary audience is a person with past trauma, not someone with sufficient biological understanding to get the nuances of "genes". So, instead of implying some political agenda, it's safer to infer that the author left out the discussions to prevent an overly-generalized explanation that may cause more harm. For example, see what happened with BRCA. Look also what happened with "The Bell Curve". It's easy for a lay reader to view genetics as _the_ cause rather than one (extremely nuanced) factor of many. And, when we see that many victims of trauma are, by circumstance, at the lower end of the social class spectrum, this leads down a slippery slope.

Second, medical doctors aren't usually also research scientists. They're specialists in clinical treatment of physiology. He's probably smart and well educated. But, not a scientist. As an analogy, it's similar to when I cringe when I see a programmer try to write a new cryptography protocol or algorithm. Some things are complex and risky enough to leave to the experts.

<comment><USER23> I haven't read the book so I don't know who's right. But this sounds a little too much like "how dare he question authority?"

The reviewer is a doctor and doctors are supposed to be able to understand genetics and read the scientific literature. Maybe not at the same level as a specialist, being able to follow along and tell good science from bad is useful.

As a programmer, I wouldn't be so foolish as to write my own cryptography code, but I understand the basic principles, I do try to keep up, and I expect a researcher writing a book to discuss security issues without dumbing it down too much. If I were reviewing a book saying something about cryptography that seems wrong I would definitely point it out. (Though, not being an expert, it might be in the form of asking questions.)

We can't get anywhere without trusting experts, but that doesn't mean we can't read critically.</comment></comment></comment></comment>


Objective-C Tuesdays: C strings - <AUTHOR> http://blog.ablepear.com/2010/06/objective-c-tuesdays-c-strings.html

<comment><USER2> I wish I knew what this was addressing before actually reading through it. Is there some kind of weird relationship between ObjC strings and C strings... ?

<comment><USER3> Nope. No relationship between the two, besides a few helper methods on NSCFString to go either way. And characterAtIndex: will return a unichar, not a char, anyway.</comment></comment>


Flutter vs. React Native: Let's See Who the Winner Is and What You Need to Know - <AUTHOR> https://firstname.lastname@example.com/flutter-vs-react-native-lets-see-who-the-winner-is-and-what-you-need-to-know-20038efd73ac <comment> takahiro-saeki I think it's worth comparison. I'm favor React Native though, Flutter has a brighter future. Unfortunately, React Native's popularity is so much better than Flutter, so I think this difference won't be changed at least in 1 - <USER2> years.

<comment><AUTHOR> As per stack overflow servery React and .Net Core also important to many developers.</comment></comment>


Small Data: Why Tinder-like apps are the way of the future - <AUTHOR> https://medium.com/p/1a4d5703b4b

<comment><USER2> Really interesting!</comment>


Apple blocks out daylight to poverty-hit families in London apartment block - <AUTHOR> https://www.independent.co.uk/news/uk/home-news/iphone-ad-block-windows-light-hackney-london-poverty-a9204566.html <comment><USER2> Ads, like peacock plumes, are a net drain on society. Unlike peacock plumes, they look ugly. It's time to severely restrict them by law. Hawaii, Vermont, Maine, and Alaska all banned billboards - the move isn't even close to unprecedented.

</comment><comment><USER3> I doubt Apple has anything to do with it. More likely they used an agency that chose the location, and even that agency was probably unaware of who or how would be affected by the ad.

<comment><USER4> I assume that if did have anything to do with it, you find that to be a problem, yes?

One of the problems of our economic system is that we can "sell" our bad things - wash our hands of responsibility and it be someone else's problem.

We can buy clothes made from slave labor, or sweatshop labor, and ... are we responsible? Did we have anything to do with it?

We can buy electronics containing tantalum, which funds the war in the Congo. Are we responsible? Did we have anything to do with the deaths of millions?

It seems like many people can be responsible for this. Eg, the council, for providing substandard housing. But afters of "austerity", they probably don't have the resources, so can we blame that austerity-mongers? Or go back to the Thatcher-era and the selling off of council housing?

Really, this isn't simple finger pointing, but the indictment of the system - "a 'shocking indictment' of inequality in the 21st century", to quote the article.

<comment><USER3> I think the landlord has absolutely no right to block the windows, I see it as a human rights violation. Unless the tenants signed the lease when an ad was already hanging there.

<comment><USER4> Are there any other human rights that you can sign away?

In any case, it's clear from the article that the tenants here didn't agree.

Why can't Apple be partially at fault? Perhaps not in a legal sense, but in a moral sense.

Couldn't they agree to only work with ad companies which don't violate human rights? And set up compliance oversight?

Or, agree to pay more taxes in order for the government to have the resources to do that? (Or rather, not fight having their taxes raised for this purpose.)

</comment></comment></comment></comment><comment><USER5> I'm blaming the landlord. Wonder if he's violating city housing laws by selling the space.</comment>


SaaS Onboarding Metrics for Developers - <AUTHOR> http://www.expatsoftware.com/Articles/saas-onboarding-metrics-for-developers.html <comment><USER2> The whole time I'm reading I'm wondering, "Why did he build a relational analytics system? That can be painful to scale." and "Why did he roll his own analytics stack vs using something drop-in like KeenIO?"

The last two paragraphs about signing up for his service instead of rolling your own clarified all that. I'm a big fan of this blog and it is high value, so I don't fault the author for a little self-promotion, but I do wish this would have been mentioned at the top.

Nonetheless it's a solid article and I think rolling one's own analytics system is a fun exercise for the reader, especially when you have time to do so. On the surface it's such a simple schema but making analytics fast at a big scale is challenging.

On Unwaffle - I like that the pricing is based on number of new users per month vs total users. I didn't see the length of the trial period defined on the pricing page (please add). P.S. Trying to load the pricing page in Mobile Safari breaks a little bit — I had to refresh to see it.

<comment><AUTHOR> One nice thing about SaaS is that scaling problems are almost always a good thing. This was something I actually first built to shake the trial churn out of S3stat, and to be honest there's nothing that would make me happier than to see that trial funnel grow to the point where it starts choking the little analytics ping catcher.

"[personal assistant], be a doll and grab a few hundred thousand out of the petty cash drawer and hire a few contractors to scale the analytics server" (Sent from my BennetonShipToShorePhone)

As to Unwaffle, right now the trial period is "30 days, plus however long it takes Jason to get around to implementing billing". I'll experiment with 60 and 90 day trials once it becomes an issue. For now, though, it's definitely at the beta stage.

</comment></comment><comment><AUTHOR> Author here. This is a technique I've been using for a while that I find to be as effective as A/B testing if not more so in moving the needle, trying to gain users for my product stuff.

I'm happy to answer questions about anything I glossed over in the article.

<comment><USER3> Thanks! This is really cool.

I wonder if you could delve into some of the more long-tail SaaS tracking methods you have found to be successful. Additionally, if there were any pitfalls you found specific to the SaaS space, I would love to know about them.

We are embarking on a new (mostly) discrete segment of our existing SaaS product, and we know that we need to learn more about how users are using our site from the very beginning. Hoping for a big early win, as you said :)

</comment></comment><comment><USER4> So how does Unwaffle differ from Heap Analytics and Mixpanel?

<comment><AUTHOR> Focus.

Those other things are good general purpose analytics tools of the "throw tons of datapoints at them and they'll give you pretty reports" variety. I think one of them can even track data for specific users.

But they're all things to all people, whereas we're Onboarding & Lifecycle things for SaaS people. So we know and have opinions about things like Trials, paid vs trialing vs expired vs cancelled, etc.

And while you can probably get some good actionable data out of those other tools with a bit of work, it won't be front and center on your dashboard right out of the box.

With our thing, your overview screen will be filled with things you care about, no customization required. And there won't be any extraneous reports lying around that don't fit what you're doing.

<comment><USER4> So one will still need one of those to keep tracking app usage post trial/conversion to paid?

<comment><AUTHOR> Not for retention or lifecycle stuff, at least. Unwaffle also watches paid users as they churn away or stick around, and works the same magic on them.</comment></comment></comment></comment>


How to Build an Advisory Board - <AUTHOR> http://bostinnovation.com/2011/03/03/how-to-build-an-advisory-board-expert-susan-hammond-weighs-in/ <comment><USER2> I was hoping there would be more detailed information in this article, but HN usually does a good job of filling in the missing pieces.

I'm in the process of forming an advisory board now. What's the appropriate way to compensate people for sitting on it? Is it the norm to do that? The people I've approached about it so far have immediately said yes without discussing any kind of compensation; but I'm not sure what the norm is.</comment>


The historical roots of inequality  - <AUTHOR> http://www.voxeu.org/index.php?q=node/5788

<comment><USER2> Slightly off topic but, I thoroughly enjoyed Jared Diamond's Gun's Germs and Steel[1]. Though his argument has some weaknesses, it makes an interesting case for why racial inequalities exist in the fashion that they do.

[1] <http://en.wikipedia.org/wiki/Guns,_Germs,_and_Steel>

<comment><USER3> It's a great read, although as you say there are plenty of weaknesses. One of the theories this paper looks at is the impact on historical land distribution inequalities to the situation today, and that feels like a very Diamondesque argument.

</comment></comment><comment><USER3> interesting analysis, arguing that of three ways that inequality rooted in slavery continues to have impact, it's the "human capital" impact of educational differences that has the primary impact today.

the full paper is at <http://www.rcfea.org/RePEc/pdf/wp26_10.pdf></comment>


The Exact Words to Use When Negotiating Salary in a Job Offer - <AUTHOR> https://money.usnews.com/money/blogs/outside-voices-careers/2013/02/21/the-exact-words-to-use-when-negotiating-salary <comment> bra-ket The exact words to use - "I'm very interested in joining your company but I have an offer from other firm of x amount, can you match it"

<comment><USER2> Huh. Not bad. I've accidentally done this before, and it did indeed work quite well.</comment></comment>