Large analysis finds that low-fat diets have low impact - <AUTHOR> http://www.nature.com/news/low-fat-diets-have-low-impact-1.18678 <comment><USER3> We need to eliminate the idea of the diet. The only way to lose weight and to keep it off is to commit to a long term lifestyle change. Similar to how recovering addicts continue to go to meetings years have they've gotten sober, people need to make the same kind of commitment to their weight and general health.

Disclosure: I lost nearly 100lbs 15 years ago. The most I gained back was 20 pounds. Never going back.

<comment><USER4> I _gained_ 100 lb in less than one year. Most of that showed up in 6 months.

That's the side nobody talks about. Losing a pound in a random week is easy. Keeping a pound off for 15 years is much harder and I commend your resolve.

<comment> torrent-of-ions If it's hard then you are doing it wrong. The point of the post you are replying to is that people shouldn't "go on a diet" and spend weeks or months not enjoying their life. Instead you should find a way to eat a normal amount of food and enjoy it. Then you'll lose weight and never gain it back.

<comment><USER4> I don't mean hard as in will power. Rather, there is a huge trend to gain weight as you age. [http://stateofobesity.org/obesity-by- age/](http://stateofobesity.org/obesity-by-age/)

PS: The 65+ numbers seem to be better except morbidly obese people tend to die young and weight loss is often a sign of a medical issue.

</comment></comment></comment></comment><comment><USER5> "No matter what the diet, the key to weight loss is to burn more calories than are taken in. Fats contain more than twice as many calories per gram as proteins or carbohydrates. It seemed logical, then, to reduce fat as a means of reducing calories overall, says Hall."

Translation: we were wrong, but it was logical to be wrong and we still have some other ways to be wrong, like the "all calories are equal" mantra to replace old wrongs that we can't say anymore with a straight face.

<comment><USER6> I call the logic behind 'burn more calories than taken in' the 'bucket with a hole in the bottom' theory of metabolism and homeostasis.

</comment></comment><comment><USER7> In summary, diets do not work (low fat or high fat). If you actually want to reduce your weight it really does comes down to permanent lifestyle changes.

<comment><USER8> Low-carb diets do work.

<comment><USER9> They might just work because they make it easy to eat less - very simple rule to follow that rules out most unhealthy snacking.

<comment><USER10> When you look at ketogenic diets being used to control epilepsy you realise there is likely more to it than just behavioural.

</comment></comment></comment></comment><comment><USER11> Key quote:

 _Dieters tend to adhere strictly to their diet in the beginning, but quickly begin to revert to old habits, says Hall. By about six months, dieters have often reached their lowest weight but are back to consuming nearly as many calories as they did before they started dieting. From there, they start putting the weight back on_

So the dieting works, as long as people stay on the diet. Eating less is still a reliable way to weigh less. The hard part is keeping it up.

<comment><USER12> If something is reliable but almost impossible to keep up, I wouldn't exactly say that it "works". That's like saying to a student that they'll pass a course if only they study hard enough, without giving any further study or motivational advice. It's true but it's pointless.

<comment><USER11> I just wonder how many research dollars we're going to spend if the advice basically stays: "Eat plenty of fruits and vegetables, don't eat more calories than you expend and do moderate exercise a couple of times a week. If you're overweight you shorten your life."

<comment><USER13> Probably until it gets driven home to the type of people who read and comment on studies like this that education alone is one of the worst interventions for behavioral change.

Edit: proper emphasis - "that education is" => "that education alone"

</comment></comment></comment></comment><comment><AUTHOR> A pretty cool study, IMO. This finding plays directly into the oft-mentioned HN biases against nutritional sciences.

</comment><comment><USER14> _saturated fats are still thought to be associated with poor heart health_

When you remove the passive voice from this, you get something like "The people who've been telling you _all_ fats are bad have been wrong for decades, but they still think _saturated_ fats are bad." Why should we trust what these people think? I'll have some whole pastured eggs cooked in grass-fed ghee, thank you very much.

</comment><comment><USER15> I eagerly await reading the next headline in 10 years:

"Even larger analysis finds that low-fat diets have low impact"

And then in 20 years:

"Large analysis finds that low-salt diets have low impact"

But I think I'll die before low-fat and low-salt foods stop being marketed, since there never really was any good evidence for them in the first place...

<comment> torrent-of-ions People seem to very readily believe that things which they enjoy are bad for them. It's a funny thing. So the appeal of "low x" where x is something generally nice will probably not go away.

<comment><USER16> One of the most amazing is "r/nofap" in reddit.

Some dude said in TED talk that "We have no idea how porn affects brain. Porn happened suddenly and now we don't even have a control group because everybody is doing it." And with some logic this is good reason to stop masturbating altogether.

This of course doesn't work out. Regular guy is going to get pretty irresistible urge at some point. And that's instrumental for it too. Because relapses enforce your quilt and wallowing in quilt is part of the appeal. Another part is "competing in faith", they have no-fap clocks there too.

Some people do the similar guilt tripping with food and exercise. I hear lot of: "It's bad to drink after workout. You reset your hard work." Also some people seem to think that chips and anything "organic" balance each other out.

<comment> torrent-of-ions Well there are also people on there who really do have a problem to the point of addiction. It absolutely can negatively effect your sex life and even your entire life. What I see on there is more that people like to accept that a panacea exists to improve their entire life. It's a nice thing to believe, but it's rarely true.

</comment></comment></comment></comment><comment><USER17> Lurked for months, finally registered in order to post the following opinion: when somebody is very obviously overweight, they got that way by eating and exercising abnormally. To get healthy, sometimes the best route is, then, to eat and exercise abnormally.

'Lifestyle change' is in order -- agreed -- but it's honestly a lot easier when you push harder. For some people anyway.

It's like smoking. Sometimes just quitting cold turkey works better than continuing to reward yourself with a cigarette.

My brother lost 70kg in 2 years by hitting the treadmill for an hour a day. He's now just 70kg, and still runs for an hour a day. The extreme worked for him (he doesn't under-eat).

The first bite of food in a day starts the pangs for more, so sometimes delaying works really well. If you hit the gym for 90 mins (including commute, let's say) and cook instead of getting fast food, and get 7-8 hours of sleep, suddenly the time you have to stuff your face is drastically reduced. That's one benefit of doing stuff other than sitting.

What you do has a lot more of an impact on your diet than the actual food. You won't feel like eating a 500-calorie chocolate bar when you can see the spectre of 500-calorie-burning you sweating tonight at the gym.

</comment><comment><USER18> Low carb high fat diet is easier to follow because one doesn't feel hungry. The problem is carbs are everywhere and often hidden in sauces etc, so it takes immense will power to sustain unless you're a hermit. Intermittent fasting also definitlyworks and has significant health benefits,butter in coffee mct oil - ideas promoted by David Asprey Bullet proof executive - helps. Ignorent nonsense opinions on saturated fats still promoted as factual, even in this article, saturated anaimal fats such as grass feed butter are much much healthier than vegetable oils, unsaturated oilds degrade easily and become poisonous easily esp at high temp, olive oil and coconut oil are the only ones safe. Most oils have to much Omega 6 wich is danngerous for health.

<comment><USER19> From the article:

> And although there was a slight benefit to higher-fat diets that were also > low in carbohydrates, Hall says that this difference — which is about 1 > kilogram — is clinically meaningless.

It's frustrating that the low-carb people keep saying "all the science was bollocks, and low carb is the way to go", but then ignore the science that says that low carb might not be the way to go after all.

</comment></comment><comment><USER20> To be more specific, they talk about low-fat, moderate-carbs and moderate- protein, processed and toxic food. In that case it doesn't matter if it's low- fat or not. Drinking all day coke ore eating all day fruit are both low-fat. Guess what, there is a difference.

<comment><USER21> What's so great about fruit? I bet people just think it's healthy because it's in the phrase "fruits and vegetables". You're not going to get scurvy or colds or anything if you go without.

</comment></comment><comment><USER22> > "No one knows for sure why this strategy failed"

We've launched the Hubble but the general public is still reading horoscopes, there's gonna be a reality vs culture disagreement.

Completely ignoring the psychological impact. You are fat you suck you are a lower class loser you should be made to suffer we should all shame you now go cry in a corner and eat horrible tasting unsatisfying high carb / low fat special diet food, oh look high carb makes you even fatter well being fat is the modern witchcraft trial so you deserve your pain and suffering you suck now die young you need will power. You will crave and suffer and you should enjoy it because thats what your kind deserves, craving and pain. That's traditional neopuritan original sin dietary advice as pounded into us for decades, in a nutshell. Personally I think its a complete load of crap, and medical science has advanced beyond it but culture still hasn't.

Compare that with the psychological impact of: its not your fault, there was a major scientific and marketing screw up and high carb actually makes you very fat, aren't steaks tasty and savory and luxurious and aren't salads yummy now enjoy your low carb diet. Tastes great, doesn't it? Life should be without cravings and suffering, isn't it awesome not to feel bad? And oh my god does it piss people off that you're losing weight without neopuritan suffering, like they want to slap you so you can feel the pain you deserve as a loser fatty subhuman how dare you climb out of the lobster pot, its a sin to say you don't belong in purgatory how dare you blaspheme against the holy authorities. They can't feel good unless they see you suffer. That's before you try to get between an addict and his corn syrup fix, then the freak out really gets started. You think you've seen alcoholics and nicotine addicts rationalize, you haven't really seen anything until you get between a sugar addict and his corn syrup.

This is before we get into the staggering secondary effects of high carb making people lethargic and tired whereas low carb subjectively feels like being on energy drinks all the time, and that leads to a lot of bro-science about protein magically melting away fat, when reality is high carb leads to laying on the couch two hours later watching TV while snacking feeling exhausted and low carb leads to playing with the kids in the park or going on a hike an hour later and feeling energized. Sure you are the same 800 calories but two hours later the high carb guy is eating a 400 calorie snack while laying exhausted on a couch watching TV and the low carb guy is exercising burning 50 calories per hour on a hiking trail ... its not magic that protein and fat seems to melt fat off a body.

<comment><USER23> I dont even know where to start with this wall of text.

There's a lot of fat people self-persecuting to find a reason to be upset. More to the point, medical science still says that being fat lowers your life span, and you seem to be implying there is even an iota of truth to the Health At Every Size nonsense being spewed for fat justification and medical science denial. If I stood a room with 10 fat people selected at random 9 would have no willpower, and one MIGHT have a condition warranting their weight. In fact, being fat IS your fault even with a condition, because you are not being considerate of your personal needs, or overindulging in dopamine releasing delicious carbs because you're a fiend.

High carbs don't make you fat, just like low carbs don't make you fat. Avoiding carbs altogether eliminates many bad foods that make you fat, and as a by product causes you to lose weight. Weight loss is strictly calories in vs calories out, and always will be. Want to lose weight? Have some self control and eat less - its that simple. How do you explain the average weight of an Asian person being much lower than ours, and they consume a considerable amount of carbs?

You have a lot of sources to cite regarding carbs. A LOT. When I was bodybuilding I ate 400g of carbs a day - more than your average fat person, and felt like I had more energy to do things than when I was on a 100g of carbs a day cut.

I'm pretty sure you actually have no idea what you're talking about. Quit trying to rationalize being fat and do something about it.

<comment><USER24> I'm pretty sure you actually have no idea what you're talking about.

</comment></comment></comment><comment><USER25> _Processed_ fat?

There is absolutely no problem within population with cultures traditionally relying heavily on _fresh /unprocessed_ (0-day fresh chicken/mutton) meat diet (Kashmir, Ladakh, Pakistan, etc).

<comment><USER26> Heavy? The per-capita meat consumption in Pakistan is five to ten times less than in the West.

<comment><USER25> That means nothing. What is important is what are traditional everyday dishes and how they cook them. Hint: everything that was brought 0-day fresh in the morning has been sold/eaten till night. The cooking is also quite simple - <USER2> overheating, mostly boiled (different kinds of curries, to get maximum value for a money spent).

Perhaps, before conducting studies one has to understand cooking. That overheated fat is not the same as slowly boiled fat, that pure butter has nothing in common with margarine, and no one knows what kind of shit corporations and fastfood joints are using to save costs while processing junk food.

Tribal/traditional foods tells you what is good and what is bad (and most economically efficient for given location) without any crappy studies.

There is also Chinese/Thai tradition in cooking of not overboiling foods, which, it seems, has a substantial impact on health in the long run.

And to hire a professional cook in the research team is a good idea.)

<comment><USER26> > That means nothing.

That's an empty claim without evidence.

<comment><USER25> I've explained my logic.

One doesn't have to be a machine learning expert to notice the correlation between health issues and overconsumption of processed/junk foods. Traditional foods, on the contrary, are evolved, so causation is not in the base ingredients, but in processing and substitutes.

<comment><USER26> One sees what one wants to see. There's also a correlation of consumption of _any_ meat and health issues. I don't claim to know what is the real causation here, but presumably it's more complicated than "processed==bad", especially as "processed" has no good definition and is mostly used as a fnord to make people uncomfortable.

<comment><USER25> >There's also a correlation of consumption of any meat and health issues.

Nope. Meat is just an evolutionary adaptation which allows the human race to inhabit northern regions.

There are obviously some crosscultural differences in comsumption of meat, but there are no replicable studies that meat eaters of, say, Japan, Middle East, Greece, Georgia or Nepal are worse off than strict vegetarians of India.

This adaptation happened, perhaps, at Homo Erectus time, so, do not worry, everything is already OK.

What we never had in our long past are supplements and substitutes. One should look here.

<comment><USER27> We also never in our long past lived past 60.

<comment><USER25> I should have put supplements in double quotes.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Cobol on Cogs - <AUTHOR> http://www.coboloncogs.org

<comment><USER2> (c) DATE OVERFLOW - hilarious! The help is audio cassettes and binders with screen prints! Hahaha! And there's screen burn!

</comment><comment><USER3> Well, that's one definition of scale.

</comment><comment><USER4> thank you, truly enjoyed it :)

</comment><comment><USER5> Neat, if you highlight all the next, you see a cog.

</comment><comment><USER6> Fantastic, thank you for making my day. :3</comment>


DHH answers: What makes Rails a framework worth learning in 2017? - <AUTHOR> https://www.quora.com/What-makes-Rails-a-framework-worth-learning-in-2017/answer/David-Heinemeier-Hansson?srid=tfS&share=1 <comment><USER3> This reinforces what I see a lot too - people creating yet another XYZ, but rarely I see someone go and create an integrated solution to streamline development processes or make things easier or clearer.

There are a lot of vocal people who make it seem like you should be doing everything in Go or Angular or what have you, but I want nothing to do with either, and do not have problems that those are meant to solve. I love ruby, and I love rails.

DHH regularly sounds the drum of rationality - in a community at large of idealists and extremists. He is the reason I got into programming, and constantly serves to remind me that what I'm doing is, in fact, perfectly fine; and that everyone else puts up with a lot of nonsense for no great reason.

There are other frameworks out there, but you'd be hard pressed to find one with a leader that has such a sense of direction and reason for why the framework does what it does, and does not.

<comment><USER4> I am a rails dev. I inherited a legacy application. The biggest problem with Ruby/Rails is that anything Ruby will allow, someone will do. Ruby is the language I learned data structures and algorithms in, built my first significant projects in. It has a generous wealth of helpful builtins. But it makes me long for strictness, static typing, a language where not just anything can completely modify any other.

<comment><USER5> This. Often, you can't find where this variable or function comes from. You read the sources only to discover that there is no trace of this variable and it is probably defined dynamically in some callback. You can only find this kind of stuff with the help of debugger. The dynamism, which allows one to create beautiful interfaces, and is often advertised as a programmer's friend, is actually the enemy of the programmer who is going to read the code afterwards.

<comment><USER4> I've actually run into methods defined from names concatenated from multiple strings, i.e. methods you can't even use grep over the whole codebase to find. This has left me with a lingering vague fear ever since.

<comment><USER6> I've seen worse.

A system that would load chunks of code out of MySQL and eval them in place.

Magic variables with magic meanings... _shudder_

<comment><USER7> Sounds like the coder was might have been imitating the idea of SQL stored procedures.

<comment><USER6> Actually he was imitating Lotus Notes...

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> > formalizing conventions, eliminating valueless choices, and offering a full- > stack framework that provides great defaults for anyone who wants to create > a complete application

Maybe I've drank the kool-aid too much, but I agree with this whole-heartedly.

It reminds me of when I want to paint a room. I can go to Home Depot and spend an hour picking out all the tools I need, or I can buy one of those pre-packed toolkit and get to the actual painting immediately.

Rails + Heroku = My product will be ready to demo by end of the week.

Obviously this mentality only applies to people like me who wants to get things done quickly. People who value craftsmanship and specificity should do what pleases them. (That's not to say you can't do quality work with pre- packed toolkits)

<comment><USER9> In the last few months I've built a brand new Node + Express application, and I've built a brand new Rails 5.x one.

ES6 has taken the edge off of some of the more obnoxious parts of JavaScript, but it still has a long way to go to catch up to Ruby, and Express is a cheap imitation of Rails.

It takes me over a day to get an Express application up and running. There's dozens of dependencies to wrangle into place. There's hundreds of lines of code to sketch in even the most basic of applications. So many directories to create, so many new files you have to basically build by hand. There's Gulpfiles to configure. There's a lot of work to integrate Passport. It's a lot of work to get as far as "Hello, world".

Meanwhile rails new and some Gemfile dependencies get you almost all the way there within an hour. Then you're making database migrations and laying in CSS and layouts.

I love both Node and Ruby for different reasons, but the out-of-the-box experience for Express is total garbage. You can't even parse a cookie without installing a module for that.

Node is way easier to create real-time services, like a Socket.io server in JavaScript is way less fuss than Ruby+EventMachine. It absolutely kills it when writing thin JSON APIs, and in terms of performance it's ridiculous. There's nothing preventing Node from having a Rails-like easy start for web applications but the attitude of the community where making decisions for people and having sane defaults is apparently against the rules.

<comment><USER10> > It takes me over a day to get an Express application up and running.

I feel so much better after seeing this sentiment here. I've tried to dip my toe into the node.js world repeatedly only to feel like I'm trudging through setup for hours.

Of course I may have incorrect memories of how difficult/easy it was to set up my first rails app however long ago.

<comment><USER9> I should also add it "only" takes me a day because I can crib from a half dozen other Express projects I've created in the past and cherry-pick cut-and- paste parts that I like.

As one example my web app Gulpfile has evolved significantly from the first iteration and it would take multiple days to recreate all of that from scratch.

The Rails Asset Pipeline might be obnoxiously rigid, but at least it _works_ without having to tear your hair out.

<comment><USER11> Forgive me, but what apps do you work on that have such a complex and lengthy gulpfile?

<comment><USER9> Nothing exotic but even a routine web application can have 150-250 lines of Gulp directives. Zero of this is provided for you.

Each chunk is fairly small, but they add up. You want linting, auto-restart on changes, tests, your various asset chains to compile things correctly, etc.

<comment><USER11> Ok, I see your point. I, too, hate writing boilerplate code. But I did three things to resolve this: I built a `config.js` file, which contains the paths to resource files in a more compact format, and is sourced into the gulpfile. I then replaced long path strings with easier to read code.

I also threw my standard gulpfile into a git repo, so if I need it, it's there.

Lastly, I built a yeoman generator. Now, not only is my gulpfile standardized, but I have the rest of my skeleton application built in a matter of minutes. All my favorite libraries/npm modules, custom scss files, basic routing to the standard pages of a simple site, are all built out for me to my preferences while I make a cup of coffee. You can even provide yourself command line flags to determine whether or not to include tests, which preprocessors for html or css you prefer, etc. Really a worthwhile investment.

Write once, utilize many times.

<comment><USER9> Tools like Yeoman can help here, but they're also relatively obscure and there's a lot of yak shaving involved in getting them working correctly.

In a sense complaining about this the Node world is like asking fish how they can stand being wet all the time. It's just part of the terrain.

I'm not saying what Node is doing is fundamentally wrong, but that this almost absurd aversion to making decisions for users is sometimes a bad thing.

For example, I'd love to be able to declare dependencies for an NPM module that are open-eneded, like "any one of A, B, or C will do", but like it is with Ruby, Python, etc. you must declare all or none.

I'm not trying to restrict choice, just cover the base condition of when you don't care of providing a sane default.

To a degree Rails has this: The first thing I do in a new project is jettison all the garbage I don't want (see you later turbolinks) and drop in all the things I do want. It's actually just a few lines to manipulate, so I can hardly complain.

In the Node world there's a lot of hand-holding required to get even the most basic application up and running. I can see this getting cut down dramatically if you had things like "npm install express +extras" where there was some way of saying "plus whatever other stuff you think is a good idea", or even an "express-fully-loaded" version of the package that comes with a bunch of stuff out of the box.

I really like Gulp and _when configured_ it gives you an amazing amount of control over your build process. Although the Rails Asset Pipeline system works as a pretty good default out-of-the-box they really should steal some ideas from Gulp on configurability for those occasions where you want to change the default behaviour.

Vinyl.fs ([https://github.com/gulpjs/vinyl- fs](https://github.com/gulpjs/vinyl-fs)) is an amazing thing that the Ruby world desperately needs.

<comment><USER11> Yup. I think, as you say, it's a part of the terrain of the ecosystem. Could the makers of Express have created a more comprehensive boilerplate that includes things like Helmet, Async, Moment, gulp, etc., etc.? Yeah, and I definitely think it would be a good addition to the community if they had. On the other hand, I do agree with the general sentiment that by forcing you to include the dependencies you desire, the programmer exerts more control over what is in the app, and it forces them to actually understand what they're doing with each package.

In the end it boils down to: Start with a monolith and chisel away the stuff you don't want - RoR, or start with a skeleton and add what you need as you need it.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Rails showed us all that web development didn't have to be PHP and Apache and constant headaches. Node and Phoenix and the modern paradigm in general wouldn't have come into existence, or achieved the popularity they have, without an act like Rails to follow. That's awesome, and I respect it for that.

But can it truly be said that Rails has a purpose today? Its default performance remains lousy with any kind of load. Its convention-first approach means Rails knowledge doesn't easily generalize, as can be seen in this very comment thread from the experience of those who've approached the Node ecosystem as though it were "Javascript on Rails". The "history? what history?" attitude of its BDFL and his clique makes cause for trepidation out of the prospect of maintaining a Rails app over a significant length of time. And even by comparison with ES5, Ruby is a hot mess.

I get that DHH has to defend it. It's his baby, after all. But it's been a long time indeed since Rails had anything unique to offer beyond an ideology which is, in its own way, every bit as much a straitjacket as RMS' \- and Rails' inheritors have innovated in ways that straitjacket makes it very hard at best for Rails to match.

<comment><USER13> Agreed. Would love to see DHH build an opinionated framework for node rather than waxing poetic about Ruby.

<comment><USER14> This is the first time I've seen someone complain that Ruby is a worse language than JS(ES5). Care to elaborate for those curious?

<comment><USER15> JS is simply the language that runs in the browser... even with newer options for compiled code coming close to being a reality, it'll be a while before tooling catches up.

JS is actually a decent language, and imho with more recent advancements better still. Combined with npm there is simply anything you might need available (for the most part). Not that there aren't a lot of gems out there.

In the end, having one language to think about, rather than how to shoehorn communications and logic between two languages is simply more difficult. I went, similarly from C# to node, not because I didn't like C#, but because the friction in writing JS on the server and the client was so reduced from two differing languages throughout the day.

Similarly a lot of devs went to simpler data stores so they don't have to deal with layers of ORMs that only half work, and can simply store and query basic data forms. Mongo fits this development model well, early hiccups in the technology aside.

In the end, it allows you to build web apps in one language, and not have to write translations to get from one to the other on the client.

<comment><USER16> Absolutely agree.

I've helped maintain REST APIs in both Java and NodeJS at different points in time.

Doing so in Java was always a painful iterative process; ask the ORM for data, painstakingly map the data to Java DTOs created mostly for defining JSON structure, pass it off to RESTEasy or some similar framework, see how the JSON turned out. Adjust and repeat until satisfied. Yuck.

In NodeJS, by contrast, fire off the SQL to get the data, map into the JS object that you need and return it.

Kind of funny how, years back, a selling point of GWT was that you could use the same language across the stack. It wasn't a bad idea, just a poor choice of language.

</comment></comment></comment></comment></comment><comment><USER17> I completely agree on one aspect, anywhere I go, the kitchen sink is missing. You want to compress responses? well, there is an npm / jar / pip library for that. Want to have ORM? just npm / pip / "your package manager here" and you are done.

You can say a lot about Rails but I like the idea that everything I commonly need as a web developer is most likely already in the framework, and there is usually a best practice way to do things. Options are great, but moving out of plumbing and into generating value to customers is still having a value.

If you don't like opinionated, batteries included solutions then Rails is not for you.

However there are other solutions that kind-of cloned some aspects of Rails. Playframework (Scala has a lot more similarities to Ruby IMHO than to Java, at least in philosophy). Also Spring Boot or JHipster (Spring boot + Yeoman - super opinionated)

</comment><comment><USER18> Maybe Rails has changed from when I last used it five years ago, but I dealt with many of the issues DHH makes against other technology.

> That people spent hours, if not days, just setting up the skeletons. The > basic build configurations.

I spent hours everyday getting the asset pipeline to work, or it would break again, meaning I would have to fix it again.

> The vast majority of activity today is for yet another option on the a la > carte menu.

Every week the developers want to switch out some module for another module within Rails because it was the hot new thing.

Maybe I worked on a bad project. Maybe I didn't get it. Maybe it was a growing pain that has passed. Rails was a pain in the ass to get to work. The ORM was cool, but did it save me time or mistakes from writing SQL - no.

I would love other people's opinions who have stuck with Rails.

<comment><USER19> > I spent hours everyday getting the asset pipeline to work, or it would break > again, meaning I would have to fix it again.

I used to have this problem too -- more so in the early days of asset pipeline. Mostly when trying to use some client side framework. Rails is working on (or maybe already available, I'm not sure) yarn/webpack support.

> Every week the developers want to switch out some module for another module > within Rails because it was the hot new thing.

Replacing the batteries which are included can be painful at times. If you want to use the new hotness in Rails, it comes at a price of extra work getting it working... but it only seems painful when comparing to the included batteries -- they just work. Support for different test frameworks, orms, templating languages are pretty good anymore though and are easier to swap out.

You'll definitely have a better experience with Rails if you forego the desire to run the latest and greatest and just use what Rails already has.

<comment><USER12> Until a new point release comes out and everyone forgets about the one you're running. Then you get to find out how much of your code you'll need to rewrite so it'll run with the Rails chefs' wild new menu. And there's no point even trying with an app written for an earlier major version. Just give up now, because the whole ocean's been boiled and recondensed since then, and now occupies but few of the basins it once did.

Granted, it's been a couple years since I dealt with any Rails apps. That's in large part by design, because every Rails app has a relatively high curation cost just to keep it up to date with the latest and greatest, and you have to do that if you want to be able to add features or usefully maintain anything without undue agony, because the Rails community has the collective memory of a goldfish and even less interest in maintaining continuity with the past.

I get that that's the big selling point, the drum DHH and his fans never stop beating: "Rails is omakase." This is a fundamentally broken metaphor, because sushi is dead by the time it gets to you, and all you have to do with it is eat it; the history of the ingredients is of little consequence. Would that software were so simple.

<comment><USER19> > Until a new point release comes out and everyone forgets about the one > you're running

This is definitely a pain you'll feel with rails, and any other combination of software pieces which you bring together.

For what it's worth, within the last month, I've touched rails 3.2, 4.0, 4.1, 5.0, and 5.0.1 apps which are running in production. It's possible to maintain these apps on old releases, but the idea of never upgrading will be painful in the end.

<comment><USER12> It's worse in Rails because of the rate of change and the near-total lack of interest in backwards compatibility. Granted that the change in question often improves Rails' performance or stability, but that so much scope seems to go on existing for such improvements is in itself concerning, and the larger question, of whether it would be wiser to instead invest in a less volatile and more stable platform, remains valid.

</comment></comment></comment></comment></comment><comment><USER20> I admire the way DHH writes .. confident and persuasive.

However, I'd just like to point out that in the same span of time JavaEE has undergone significant simplification (omakase API standards, anyone ;)) and if you check out the work of Adam Bien, you'll quickly find old myths of bloated memory consumption and fiddly XML configuration debunked.

Java is also lucky to have a parallel full-featured stack in the Spring ecosystem. Projects like JHipster do an opinionated take on how to wire things up and take you to quickly to orbit.

So basically, I disagree with DHH that there is "Very little activity in integrated solutions."

<comment><USER21> I took his comment about "very little activity in integrated solutions" to mean "[in the JavaScript world]" but maybe that's not what he meant.

I do think that's pretty true of the JS ecosystem though. There are things like Sails, but most of the "new" stuff that comes out is build systems, tools, small libraries, and view libraries.

As to why... it's anyone's guess.

My guess is that making a full-stack opinionated framework like Rails is a big undertaking, and most people are focused on what they see as "quick wins" \-- solutions to the obvious surface-level pains like "npm is slow" and "making forms with React is hard" that can gain traction quickly and rise to stardom on Github.

Maybe this is cynical to mention, but fame and recognition (and maybe interesting job offers) seem to be a big driving force behind the constant influx of new and better JS libraries/tools.

<comment><USER22> > As to why... it's anyone's guess.

I think its because recreating rails in javascript just doesn't make sense in the current ecosystem. Either you are rewriting stuff like express from scratch (and why are you doing that?), or you're building on top of those modules and adding configuration conventions and scripts, in which case, congratulations, you've just written Sails.

When Rails first got started, ruby didn't have anything close to the ecosystem that JS enjoys today, so DHH et al. had to write most of the individual components themselves, with the intention of making them all work together.

So in my view, its similar to how Humans and Gorillas evolved from a common ancestor, but you won't see Gorillas becoming Human anytime soon.

<comment><USER23> Personally I think Sails is pretty cool in it's own right. As far as websockets go I feel like that is one area where Sails makes things dead simple and I've not been amazed by the overcomplicated Rails 5 implementation of websockets.

That said, I don't see Sails gaining a ton of traction even though it's been around for quite some time yet, and with it's security settings and beta status I don't feel great about building production apps with it yet.

<comment><USER22> I certainly like sails, and can't levy too much criticism against it (except its ORM left quite a bit to be desired, although I haven't looked at it recently). I'm only asserting that it will never be Rails, partially because of how and when each respective framework came to be.

</comment></comment></comment></comment></comment><comment><USER24> So, I have seen rails code and I did not fall in love with the code. Instead what I saw just black magic and all sorts of conventions. Reminded me of perl. You have to invest a lot of time knowing all the magic stuff.

<comment><USER25> There isn't much black magic. Most of it is pretty sane naming conventions which could be OK in any sw project, plus database schema autodiscovery. The bonus is increased maintainability.

<comment><USER26> > The bonus is increased maintainability.

It will never have strong-typed discipline though... (sad)

<comment><USER25> They are talking about adding some optional type inference in Ruby 3.0. See the rejection comments of [https://bugs.ruby- lang.org/issues/9999](https://bugs.ruby-lang.org/issues/9999) This is the most stong typing I'll accept for Ruby. There are plenty of other languages if strong typing is important for a project. They usually look bad (not because of strong typing) but if one really needs them...

</comment></comment></comment></comment><comment><USER27> Its DHH, not DDH. Mods, please update the title.

<comment><AUTHOR> corrected - <USER2>

</comment></comment><comment><USER28> Maybe a more relevant question is whether Rails is worth learning if you're looking for a job. Searching Indeed.com's API by title, which removes duplicates, there are currently 133 Rails jobs in the USA compared with 763 PHP (excl. WP, Drupal etc.) and 467 Node.js. In the UK there are 104 Rails jobs compared with 1013 PHP (excl. WP, Drupal etc.) and 230 Node.js. However, if you deleve deeper it turns out that half of the Rails jobs are in London. Outside the capital there are 22 PHP jobs to every Rails job (35 including WP, Drupal etc.) and 3 Node.js jobs to every Rails job so it would appear that unless you have a particular preference for the Ruby language Rails is not a good bet in today's job market.

<comment><USER29> So you are saying that PHP is worth learning in 2017? I think it goes beyond job posting counts.

<comment><USER28> Have you looked at Laravel recently? With Vue.js integrated into the framework and adopting the best bits of Rails I'd say it's looking in better shape than Rails right now.

</comment></comment></comment><comment><USER30> Rails has become so much more enjoyable since all the hipsters left for node.js. [What makes Rails a framwork worth learning in 2017]

</comment><comment><USER31> DHH also answers a few other questions about Ruby and Rails in the same Q&A

[https://www.quora.com/session/David-Heinemeier- Hansson/1?sri...](https://www.quora.com/session/David-Heinemeier- Hansson/1?srid=pvwn&share=1)

</comment><comment><USER32> I have been thinking of rails lately. I used both Rails and Merb way back when, but for many years now I have just used Ruby + Sinatra.

I wish that I had a more complex web app to do because it would be fun to get reacquainted with Rails. That probably won't happen since I have been going it the opposite direction, having updated a few Sinatra and PHP sites to be 100% static, and using cloud storage and CDNs.

<comment><USER33> If you are familiar with Sinatra, have you checked our Padrino [0] ?? Padrino gives you a lot of the Rails goodies without too much bulk added.

I've developed and deployed several 'real world' web apps in Padrino now. I looked at Rails in the early days, but for some reason could never really get to grips with it (probably because it was _too_ opinionated for me). Sinatra/Padrino's DSL methodology seemed to sit better with me, and I ran with it.

[0] - [http://www.padrinorb.com](http://www.padrinorb.com)

</comment></comment><comment><USER34> Ember.js attempts to do what the front-end what Rails has done for server-side application development. Worth a look, if you're trying to choose between React / Angular / something else.

</comment><comment><USER35> The only thing I'd really take much issue with is the "provides great defaults" statement made in passing. There are several things that are defaulted more to what I'd call "lowest common denominator" than "great." For example, sessions.

<comment><USER13> This a great point that gets to the heart of the problem with the premise of a full-stack framework. Defaults end up more "good enough" rather than "great"

<comment><USER36> But a collection of consistently good enough components is better than tying together two dozen different things of wildly different quality and conventions.

I hear this a lot about Django. The ORM is really good but "not as good as SQLAlchemy". The templates are great but "Jinja is better".

The thing is that as an engineer I value that the components are incremental improvements with sane defaults where change is deliberate and the benefits of what I'm missing out on are truly, honestly irrelevant. There's really very few times where I said to myself, "Oh of only my templating language had better support for these idioms". I just write a decent workaround because I've been using the same tool for years and it's maintainable and the total number of workarounds is so small that there are no good reasons to switch to an alternative even in the long term.

This is much better than the alternative of looking for 5 alternatives for the same component, discarding the first 3, using one for a month until I find it has fatal flaws, and finally settling for the last one.

<comment><USER13> Once one critical component in the framework is no longer good enough it can be very difficult to upgrade.

Frameworks aggregate many dependencies. Managing the dependencies that deliver value while ignoring those that are irrelevant can net out as more productive.

</comment></comment></comment></comment><comment><USER37> > You get to use Ruby, which [...] remains the most extraordinarily beautiful > and luxurious language I've yet to encounter.

I've used Ruby sporadically as gap-fill in small projects, but I didn't feel the language has any qualities that sets it apart from others.

Perhaps I missed something, any Ruby devs care to comment?

<comment><USER38> This article might be helpful: [https://martinfowler.com/bliki/HumaneInterface.html](https://martinfowler.com/bliki/HumaneInterface.html). I use Ruby occasionally only, but agree with DHH's point. At least compared to the languages I knew before I learned Ruby, I found it to be designed to be aesthetically pleasing to humans. This might be even be the cause for the parse ambiguities.

<comment><USER37> Thanks! I agree Ruby looks to be far user-friendly in this context.

Just to add, my work revolves around the JVM ecosystem, but mostly in Scala and some Kotlin... Both already provide a nicer interface for Java :) e.g. in the context of collections both have `list.head` or `list.first` and `list.last`.

</comment></comment></comment><comment><USER13> Each user today commands a personal fleet of many devices. "You get to use Ruby" is a weak justification for a monolithic architecture.

<comment><USER39> Sorry, but I've really got no idea what you're saying here. What's the connection between users having many devices and the monolithic architecture bit?

<comment><USER13> There was a moment in web development where a single "full-stack framework" was possible, that moment has passed, and that moment was more rare and unique than it seemed at the time. The future seems to be more about lambda functions[1], api gateways, and many native clients.

Quoting DHH, the Rails pitch was use Ruby for everything:

> The core premise of Rails remains in many ways as controversial today as it > was when it premiered. That by formalizing conventions, eliminating > valueless choices, and offering a full-stack framework that provides great > defaults for anyone who wants to create a complete application, we can make > dramatic strides of productivity.

That premise is irrelevant today. A complete application today isn't just a website. It's a website, a phone app, a car app, a TV, a kiosk, a conversational bot, etc. Choosing even the highest common denominator across all those platforms means eliminating unique opportunities to delight the user.

If now the premise of Rails is that it's a great way to generate JSON on the server, sure but that's a fraction of the stack. The selling point for Rails is now simply an aesthetic choice between Javascript and Ruby. DHH admits as much with his closing argument:

> Just look at some code. I dare you not to fall in love.

Since the core premise of Rails remains full-stack, plugins at best are a cycle behind innovation. Conventions have to be explored elsewhere before they can be formalized, and before choices can be exposed as valueless. At worse, plugins are multiple cycles behind innovation due to pointless infighting.

This just seems way too slow, I'd rather get my hands dirty today.

[1] or process containers, let's not get bogged down in vendor details.

<comment><USER39> Your first quotation is something you're seriously misreading, I think. It's not about using Ruby for everything. It's about not spending time on minor decisions that don't affect the outcomes you're pursuing. And that's what that quote says – nothing about Ruby; everything about pruning down the pointless decisions you need to make as a developer.

> A complete application today isn't just a website. It's a website, a phone > app, a car app, a TV, a kiosk, a conversational bot, etc.

I disagree pretty strongly with that. A complete application can be any one of those things. Sure, if you have a need for all of those at once, then Rails isn't going to be your one and only tool. But it could still well be the tool for your complete web application, and at the same time your API server for (some/all) of the other tools.

> DHH admits as much with his closing argument

No, he says that Ruby's beauty is an _additional_ reason to use it. It's hardly an admission that it's all that differentiates Rails from other options.

</comment></comment></comment></comment><comment><USER40> This answer sounds a lot like what Microsoft's answer to Java was. C#. Everything in this answer reminded me of c#.

</comment><comment><USER41> What does Ruby have to do with immutability

<comment><USER42> Let's consider the quote:

> You get to use Ruby, which, even in a world that has rediscovered the > benefits of functional programming and immutability, remains the most > extraordinarily beautiful and luxurious language I've yet to encounter.

He's saying there are other beautiful paradigms - especially of the FP variety. However, Ruby is really, really damn elegant.

And he's right; it's a joy. [I say as a C++ dev]

</comment></comment><comment><USER43> I think Rails is always worth learning, but is it worth learning right now if you want to find a job?

</comment><comment><USER44> Here's a reason: money. Rails is still very popular, so there's plenty of work out there.

<comment><USER28> See my top-level comment about this. Rails' presence in the job market is definitely declining and dwarfed by both PHP and Node.js.

</comment></comment><comment><USER45> What stack do you recommend if not rails for a person that dislikes JavaScript (well rather ecosystem than the language / syntax itself) ? I love Rails and Ruby do not take me wrong but I am not sure if the sole existence of Rails can make Ruby relevant in 2017.

In terms of jobs prospects and similarity to Rails/Ruby what do you guys recommend ? Java ?

</comment><comment><USER46> It's always important to study history :)

<comment><USER39> Snarky, low-content comments really aren't valued highly here.

</comment></comment><comment><USER47> Rails, as any backend system such as Drupal or Symfony, is inevitably a dead end technology.

The web is increasingly moving frontend and the system of 2018 onwards will simply be the M in MVC.

Note, I'm not saying Rails is not worth learning. I'm just saying it's now the Cobol of web technology.

<comment><USER48> If I read your comment correctly, I believe you are suggesting that backends will provide APIs, which would leave us with the MC in MVC, the controller is still needed to map data structures to API endpoints.

My question to you is this: why do you believe that? I think we have all witnessed a growth in popularity in front-end MVC frameworks, but are they the correct solution to all problems?

<comment><USER49> _> the controller is still needed to map data structures to API endpoints._

I mean, kind of. You don't really need much controller logic most of the time anymore. Last Rails backend I wrote probably involved personally writing a few lines of code here and there. Generally, I'm just pushing a JSON object back and forth. Auth and emails can just be 3rd party. The vast majority of controller type behavior ends up client side at this point. Partly, because its way simpler to scale with you push as much processing to the client as you can. Also, look at something like Firebase or Hoodie as examples of simple stores that require no backend logic.

Its not that Rails and Symfony are useless, I use them all the time, its just that they are kind of dated concepts. Heck even Wordpress solves a specific problem on the backend enough to be useful sometimes. That said Drupal at this point is such a dated concept(superseded by things like Rails and Symfony many years ago) that is should no longer be used.

<comment><USER28> Well, I don't think anyone's taking much notice of that advice if you go by job stats. Drupal is enjoying tremendous adoption and if you look at Drupal 8 code you'll discover it is built on Symfony components.</comment></comment></comment></comment>


The Sheldon Conjecture - <AUTHOR> https://fermatslibrary.com/s/the-sheldon-conjecture <comment><USER2> Here's the proof of the Sheldon Conjecture

[https://math.dartmouth.edu/~carlp/sheldon022119.pdf](https://math.dartmouth.edu/~carlp/sheldon022119.pdf)

<comment><USER3> From the proof:

"The episode of The Big Bang Theory that contained the discussion about 73, was actually the 73rd of the series!"

</comment></comment><comment><USER4> There are two conjectures here. The first is that 73 is the only number that matches these criteria. The second (as stated by Sheldon) is that meeting the criteria make a number "the best number". The second conjecture... let's just call that "unproven".

<comment><USER5> I would call that second one a definition, not a conjecture. "Best" is an arbitrary value judgment. You can't prove what is or isn't best because it is not an objective question.

But yes, it is an open question.

</comment></comment><comment><USER6> My pet peeve with 73 being "best" number is that a lot of these properties relies on representing this number in decimal (or binary in case of Sheldon- Norris number). I'd like properties that were independent of base selected to represent the number.

<comment><USER7> That's fair enough, but binary is the lowest base anyone can use...

</comment></comment><comment><USER8> I lost it at Sheldon-Norris primes.</comment>


8 Lessons I Learn from Arianna Huffington During Her Recent Boston Visit - <AUTHOR> https://medium.com/code-like-a-girl/8-lessons-i-learn-from-arianna-huffington-during-her-recent-boston-visit-931ec342056f#.vr54t9s6x <comment><USER2> Wow, this is one of those times when I would dearly love a "down-vote" button. What a ludicrous piece of fluff.

<comment><USER3> The DinahDavis account appears to exist almost solely to promote this web site, with postings to it about once per day for months.

Nor is DinahDavis active on following up with the many times that someone has left a comment on HN.</comment></comment>


Siberian Fire and Flood Apocalypse - <AUTHOR> http://siberiantimes.com/ecology/others/news/fire-and-flood-apocalypse-with-wildfires-raging-and-dire-threat-to-baikal-worlds-deepest-lake/ <comment><AUTHOR> The sun looks impressive, it is terrible, it is red, even during a day. Siberian sky has a steel color.

[https://biwork.ru/uploads/images_07-2019/images/7jzR0S33.png](https://biwork.ru/uploads/images_07-2019/images/7jzR0S33.png)

[https://biwork.ru/news/adernoe-leto-samye-zlovesie-snimki- sm...](https://biwork.ru/news/adernoe-leto-samye-zlovesie-snimki-smoga- sdelannye-zitelami-sibiri)

<comment><USER2> This is terrible. Russia is going to lose a pretty substantial chunk of its forests if there are no heavy rains soon. We've had very high levels of air pollution for the last few days here in Kazakhstan, with visibility levels of a few hundreds of meters. I mean, how many trees do you have to burn for the air to be so bad more than a thousand kilometers away?

<comment><AUTHOR> Imagine we managed to be better than the fire and touch an international community faster, then its smoke will did, could such a level of attention change the situation and and push government(s) to use some kind of aviation to extinguish the fire?

The rain is the only hope...

</comment></comment></comment><comment><AUTHOR> Some more links.

Online co2 monitoring map [https://www.windy.com/-CO-concentration- cosc?cosc,57.744,96....](https://www.windy.com/-CO-concentration- cosc?cosc,57.744,96.787,3,p:off)

Petition (on russian) to introduce a region-wise emergency with more than half million supporters [http://www.change.org/p/требуем-ввести-режим-чс-на-всей- терр...](http://www.change.org/p/требуем-ввести-режим-чс-на-всей-территории- сибири-по-лесным-пожарам-июль-2019г)

<comment><USER3> The Nulschool earth weather/climate visualiser is also useful.

PM2.5: [https://earth.nullschool.net/#current/particulates/surface/l...](https://earth.nullschool.net/#current/particulates/surface/level/overlay=pm2.5/orthographic=-262.35,52.87,720/loc=88.985,61.823)

CO: [https://earth.nullschool.net/#current/chem/surface/level/ove...](https://earth.nullschool.net/#current/chem/surface/level/overlay=cosc/orthographic=-262.35,52.87,720/loc=88.985,61.823)

SO2: [https://earth.nullschool.net/#current/chem/surface/level/ove...](https://earth.nullschool.net/#current/chem/surface/level/overlay=so2smass/orthographic=-262.35,52.87,720/loc=88.985,61.823)

<comment><AUTHOR> Indeed!

Something also happens at the east coast of US. Is it a usual level of air pollution at that period?

<comment><USER3> NYC. Yes.

There's a calendar date selector which shows history. NYC, Chicago, and LA are strong CO emitters. SO2 is emitted by coal-fired pwerplants, ships (you can literally trace out shipping routes), and volcanos.

<comment><AUTHOR> Sometimes our planet reminds me an infant with a fever.

<comment><USER3> It'll be over it soon.

<comment><AUTHOR> I hope so. Some people talk about singularity, others speculates about a great collapse. Maybe thes two just are different names of the one thing? Two sides of the same coin?

I think not, and I hope that we will find a cure and come back to the point of balance.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> > 'We can only pray now," said one campaigner pointing to a risk of a dam > burst on the Solzana River where a bride had been swept away already.

I'm really hoping it's a bridge that was swept away. That's obviously still terrible, but not quite as tragic.

<comment><USER5> I hope the "Russian Maldives" thing is getting to people and the IG wedding photo crowd is learning their lesson

</comment></comment><comment><USER6> > Almost 3 million hectares on fire, including Arctic, with fumes having hit > area larger than European Union.

I always have a hard time making sense of very large numbers like this, especially in units that I'm not particularly familiar with. So I checked and noticed that this is about a state of Massachusetts. The area on fire is one Massachusetts.

<comment><AUTHOR> The area with ashes and smoke instead of usual air is several times larger... It covers Siberian part of Russia, Kazakhstan an probabaly China and Mongolia.

Certainly, such wildfire events are not new as we can read from [https://www.stolenhistory.org/threads/what-happened-to- the-s...](https://www.stolenhistory.org/threads/what-happened-to-the-siberian- forests-200-years-ago.33/)

But it is scary anyway.</comment></comment>


What are eigen values? - <AUTHOR> http://www.physlink.com/Education/askExperts/ae520.cfm

<comment><USER2> That was an excellent explanation of the intuition and motivation behind eigenvectors.

Eigenvectors are also used extensively in pattern recognition. Notably, in facial recognition: <http://en.wikipedia.org/wiki/Eigenface>

<comment><USER3> And it's for the same reason as stated in the article.

</comment></comment><comment><USER4> After reading the article, I have but one question: What are eigen values?

A quick lookup on Wikipedia reveals that they are used in linear algebra and, for example, matrix transformations. I think this article failed by trying to relate eigenvalues to everyday scenarios, similar to when beginning calculus books give examples involving total pressure on an underwater dam door or mass of a rod as examples for the usefulness of definite integrals. In those cases, you end up calculating the area under the curve, but the curve happens to be the graph of a constant function or a first-order polynomial. Calculating such areas can easily be done by using the elementary formula for the area of a trapezoid.

<comment><USER5> In linear algebra, for a given linear transformation (a certain kind of matrix which generally represents some operation) M, an eigenvalue of M is a scalar c such that given a non-zero vector v (called the eigenvector), Mv = cv, where multiplication on the left is matrix multiplication and multiplication on the right is multiplication of v by the scalar c.

The definition is significant because it says that for a certain vector v, the transformation M, no matter how complicated it may be, just scales v by a factor of c. This is useful, for instance, if you want to determine an axis by which to evaluate the range of the transformation, because by choosing an eigenvector, you are choosing a "simple" or "natural" perspective from which to evaluate the range.

<comment><USER6> Look, I am good at Math. I even love Number Theory. But what you wrote scares me. Can I run away now?

(I hope to one day be able to look at it and say 'my, that is so simple...' like I do with high school math)

<comment><USER7> This is the problem I had with Linear Algebra. The first half of the class felt like I was just being drilled definitions. But once all the definitions click, it's rather simple.

<comment><USER8> Honestly Linear Algebra is the next time you have to do a 'jump' in the regular sequence of math.

You hit algebra, new concepts, you have to jump a little. Same with calculus. Linear algebra is that next time.

<comment><USER9> And it gets easier. Linear Algebra is no more complicated than calculus --- rather less so. But it tends to be more abstract.

</comment></comment></comment></comment></comment></comment><comment><USER10> Ahh. The Internet: teaching me what school failed to teach

</comment><comment><USER11> It depresses me a bit that in college I knew exactly what all this was... for a month... until the day after I was tested on it.

<comment><USER12> The thing is, at least for me, we learned these concepts in college, but it was only in terms of getting the right answer on the test. They only provided the abstraction, not its basis in reality.

This would have been very helpful to have a grasp of for my research in university where I had to explain eigenvalues and eigenvectors to fellow computer science people. It probably also would have helped me understand what the hell my own code did.

</comment></comment><comment><USER13> Wow, that's the best explanation I've read. Very intuitive. Not to say I didn't know the original definition at some point but having such a concept tied to a concrete example makes it much easier to remember.

It makes me wish that most mathematical concepts were explained with some kind of real world analogy.

</comment><comment><USER14> This is ridiculous. I was just thinking last week that even though I took linear and did fairly well I never really grasped eigenvalues and eigenvectors since I see them coming up fairly frequently as far as math concepts go and don't instantly have an intuitive grasp. Literally the next week I see this posted on hn.

</comment><comment><USER15> I first encountered eigenmagic in machine learning --- we were interested in the eigenvectors of the adjacency matrix of a graph. When the space that the matrix lives in is so abstract, 'real world' examples don't make it any easier to visualize what's happening.

If you really want to understand them intuitively, I reccomend plotting a few hundred matrices and their respective eigen- values and vectors. When you feel like you can predict what the results will look like at each frequency, _then_ the stories about rubber bands and shiny coins will make sense.

Or maybe you're faster, and the stories helped you make the leap --- in which case, ignore me!

</comment><comment><USER3> That was a very nice explanation. I love the rubber band analogy. But one minor qualm: A transformation, when applied, typically has several eigenvalues and eigenvectors associated with it. The "first" (usually selected as the largest, or the "principle component") eigenvector and it's associated eigenvalue is really being discussed. There are (or at least, can be) more of them! We could think about stretching the elastic along its width as well.

</comment><comment><USER16> I still remember the following question on my linear algebra test in college:

"Prove that A and A-Inverse have the same Eigen Values and corresponding Eigen Vectors."

The solution to this made no sense, but I managed to memorize it so that I could pass the test.

Forest through the trees?

<comment><USER17> It's not quite true, is it...?

      Av = cv        v is an eigenvector, c the corresponding eigenvalue
      (A^-1)Av = (A^-1)cv
      v = c(A^-1)v
      (1/c)v = (A^-1)v

So if c is an eigenvalue of A, then 1/c is an eigenvalue of (A^-1). (c can't be 0 because A is invertible, I think.)

</comment></comment><comment><USER18> If ever there was a time when I wish every browser had the MathML plug-in... _sigh_.

</comment><comment><USER19> This is a pretty good explanation for an essentially mathematical/abstract concept.

Another name for eigenvectors is "identity" vectors, iirc (it's been a few years...).

<comment><USER20> "identity vectors"... do you perhaps mean "unit vectors", of length 1?

<comment><USER18> Yes.

For a linear system (of any kind of equivalence) within an N-dimensional vector space, the Eigenvalues represent the scaling factors across those dimensions when the system's state is represented by an NxN sparse- diagonalized matrix (i.e. all values are 0 except for the main diagonal).

Those non-zero values along the main diagonal are its Eigenvalues and its rows are Eigenvectors.

For the common 3D isometric (e.g. xyz) coordinate system, the Eigenvalues can be thought of as a kind of multiplier across the unit vectors (Eigenvectors) [[1,0,0][0,1,0][0,0,1]]. This is the "stretching" analog mentioned in the article.

FWIW, Eigenvalues are not just a salient property of linear systems (i.e. matrices), but also of higher-order tensors.

Finding (or more-often approximating) these "characteristic scaling states" is a critical step in numerical analysis in everything from quantum mechanics, financial hedging strategies, and even consumer product marketing plans.

If you've ever represented a system as a series of Markov probability chains, every row of the "convergent/dominant" (if any) state contains an Eigenvalue.

<comment><USER21> I'm afraid there are several errors in that.

1\. A linear mapping is not a "kind of equivalence" by any reasonable definition. For instance, the function that maps every vector to 0 is a linear mapping, and it has plenty of eigenvectors. (All with eigenvalue 0.)

2\. The eigenvectors are not the rows of the diagonalized matrix. They are the rows (or columns, depending on just how you define things) of the matrix that does the coordinate transformation to diagonalize your matrix.

3\. I think the paragraph beginning "For the common 3D isometric ..." is rather confused. I certainly am when reading it. Perhaps the problem is in my brain; what exactly do you mean? (Here's the nearest true thing I can think of to what that paragraph says: For many, but not all, linear transformations from a space to itself, there is an orthogonal coordinate system with respect to which the transformation's matrix is diagonal; then the eigenvectors are the axes of that coordinate system, and the eigenvalues are the amounts by which vectors along those axes get stretched.)

4\. Tensors are just as linear as matrices. (You can do nonlinear things with a tensor, but then you can with a matrix too.)

5\. The probabilities in a Markov chain's stationary state are not eigenvalues. (Well, I'm sure they're eigenvalues of _something_ ; any set of numbers can be made the eigenvalues of _something_ ; but they aren't, e.g., eigenvalues of the transition matrix.) What you may be thinking of is: a stationary state of a Markov chain is an eigen _vector_ of the transition matrix, with eigenvalue 1; all eigenvalues have absolute value at most 1; if the Markov chain is ergodic (i.e., can get from any state to any other), then there is exactly one stationary state, exactly one eigenvector of eigenvalue 1, and all the other eigenvalues are strictly smaller. This is enough to guarantee convergence to the stationary state.

Also: If eigenvalues are as important in dealing with higher-order tensors as they are for the second-order case (i.e., matrices) then that's news to me. Tell me more?

<comment><USER9> > 1\. A linear mapping is not a "kind of equivalence" by any reasonable > definition. For instance, the function that maps every vector to 0 is a > linear mapping, and it has plenty of eigenvectors. (All with eigenvalue 0.)

Linear mappings are the homomorphisms between vector spaces. So they are a "kind of equivalence".

See for example [http://en.wikibooks.org/wiki/Linear_Algebra/Definition_of_Ho...](http://en.wikibooks.org/wiki/Linear_Algebra/Definition_of_Homomorphism)

<comment><USER21> The zero mapping is a homomorphism. I would not call it a "kind of equivalence"; would you?

<comment><USER9> It's a special (and quite trivial) "kind of equivalence".

See <http://en.wikipedia.org/wiki/Equivalence_class>

<comment><USER21> I know what an equivalence class is, thank you. How does that make the map from (say) R^3 to itself that sends everything to 0 a "kind of equivalence"?

It gives rise to an equivalence relation on R^3 in a fairly natural way, as indeed any function gives rise to an equivalence relation on its domain: x~y iff f(x)=f(y). But that doesn't mean that it _is_ a "kind of equivalence".

Now, obviously, "kind of" is vague enough that saying "an endomorphism of a vector space simply Is Not a 'kind of equivalence'" would be too strong. But I would like to know what, exactly, you mean by calling something a "kind of equivalence", because I'm unable to think of any meaning for that phrase that (1) seems sensible to me and (2) implies that endomorphisms of vector spaces are "kinds of equivalence".

(Looking back at what bonsaitree wrote, I see s/he said "of any kind of equivalence", which I unconsciously typo-corrected to "or any kind of equivalence". But perhaps I misunderstood and bonsaitree meant something else, though I can't think what it might be. bt, if you're reading this: my apologies if I misunderstood, and would you care to clarify if so?)

<comment><USER9> Yes, any function gives rise to equivalence classes. And linear functions give rise to equivalence classes that preserve structure in vector spaces.

(I guess our discourse has reached its end of usefulness here.)

<comment><USER18> Yes. Thanks for the correct re-wording as "or" and "equivalence class".

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> I'll put my vote in for this being a poor explanation of what eigenvalues are.

</comment><comment><USER23> Linear algebra felt like the same thing stated in 5 different ways.</comment>


23andMe – Data Protection - <AUTHOR> https://www.23andme.com/gdpr/ <comment><USER2> Wasn't data from 23andme used recently to track down some suspect via a relative?

Giving these people your DNA is frankly nuts. All you get is some pseudo report which is mostly made up but you are giving away your DNA and are paying for it.</comment>


Show HN : bash script to generate tree structure of a directory - <AUTHOR> https://coderwall.com/p/qw2eoq

<comment><AUTHOR> well! `tree` is the best. but I saw that it was not installed on my system and I was without internet, so tried this one :)

</comment><comment><USER2> How is this different than `tree`?</comment>


Ask HN: The current state of DotNet Web development - <AUTHOR>

Hey Guys,
I've been out of DotNet development for a few years (was pretty experienced with 2.0).  What are people's current favourite frameworks / approaches for DN development these days.  Definitely keen to hear about what people are doing in the land of alt.net as things were starting to get pretty useful even back in the 2.0 days.
BTW, I'm not looking for 'best practice' as I actually don't think such a thing exists, and when people say things like 'best practice approach' I break out in a nasty rash ;)
Nice to have features would be RESTful support and having simple lightweight JSON serialization would be a plus. If the best option is just vanilla DN MVC then I'll go and check it out, but I was interested to hear about alternative options before I start deeper investigation...
Thanks in advance for any suggestions :)
Cheers, Damon. <comment><USER2> .NET 4 is fantastic, and highly productive. There are plenty of cool things you can do with the Entity Framework, and WCF Data Services, to get your data tier built quickly, and give you 100% queryable web services that support both OData and JSON without mush hassle.

On the MVC side, ASP.NET MVC 3 is due out any day now, and they have a new rails-like Razor syntax that can really cut down on the coding, if you're into that sort of thing. These days, I do most of my work in Silverlight, because I like rich applications.

If you want to learn how to do these things, Channel9 on MSDN is a HUGE help, with plenty of videos and training on a variety of topics.

I personally think that now is the best time to be a .NET developer... .NET 4 really makes things easy without a whole lot of effort. If you get the option to start from scratch and not have to take a lot of legacy, BS decisions with you, you'll go far quickly.

HTH!

Robert McLaws <http://www.windows-now.com>

</comment><comment><USER3> ASP.NET MVC3 is chugging along nicely - I've been using it my new projects and the Razor syntax they introduced has been a huge productivity booster for me. It makes it easier to transition from markup in the view to code (imagine doing (
@Model.Property
 instead of
<%: Model.Property %>
) and it makes it easier to read.

<comment><AUTHOR> Looks like MVC3 is definitely on the table then too...

</comment></comment><comment><USER4> For the RESTful stuff, there's a big push by the WCF team (now with Glenn Block of MEF fame) to build an HTTP framework: <http://wcf.codeplex.com/wikipage?title=WCF%20HTTP> There's also a half dozen Sinatra clones. MVC is still a strong option and MVC3 is about to be released. Another popular OSS server framework is OpenRasta. For REST clients, check out Hammock (hammock.codeplex.com) and RestSharp.org (which is my project).

JSON is still a mess in .NET. System.Json should be the answer, but it's not everywhere (it's in Silverlight but not the desktop or phone frameworks). JSON.NET is still the best option. There are some other up and coming JSON libs as well.

Any other questions or areas of concern?

<comment><USER5> You can just compile Mono's System.Json if you want it on the desktop. a lot of people using the Newtonsoft.Json stuff too.

<comment><USER4> I know I _could_ (and I've stolen HttpUtility from mono so I could have it in one place everywhere) but it's a hassle.

</comment></comment></comment><comment><AUTHOR> For those tracking the thread, current short list:

Server Frameworks

\- ASP.NET MVC3 (<http://www.asp.net/mvc/mvc3>)

\- OpenRasta (<http://trac.caffeine-it.com/openrasta>)

\- Kayak (<http://kayakhttp.com/>)

REST Clients (not needed straight away but will be handy)

\- Hammock (<http://hammock.codeplex.com/>)

\- RestSharp (<http://restsharp.org/>)

Thanks for the comments so far, it's going to make things a lot simpler.

Cheers, Damon.

</comment><comment><USER6> I've used ASP.NET MVC since 1.0 ( ~2 years ago ) for a few projects. It's a pretty nice framework. It's still evolving, so it's not quite RoR/Django yet, but it's really close. I wouldn't go near WebForms anymore, though you can integrate the two.

Aside from ASP.NET MVC, there's a few other frameworks out there. You can check out the web parts of Spring.Net ( [http://www.springframework.net/docs/1.3.0/reference/html/spr...](http://www.springframework.net/docs/1.3.0/reference/html/spring- web.html) ) or MonoRail from Castle ( <http://www.castleproject.org/castle/projects.html> )

</comment><comment><USER7> I've been very happy with ASP.NET MVC 3's support for the new Razor view engine. I took the leap early and built a couple production apps on that platform. All has been well, thus far.

Exposing your models as RESTful endpoints that return JSON is still accomplished easily enough easy via controller actions that return JsonResult. You can return any object that JavaScriptSerializer can serialize by simply using `return Json(object);`.

<comment><AUTHOR> How "pure" is the JSON generated using the out of the box serializer? I guess what I'm asking is there much MS cruft in there or does it look pretty clean?

<comment><USER7> Completely clean...

Except for DateTime types. Since it uses JavaScriptSerializer under the hood, Json() serializes DateTime values as \/Date(ticks)\/. That, of course, is more the fault of JavaScript lacking a Date literal than Microsoft's serializer. Everyone has to solve that problem some way or another.

</comment></comment></comment><comment><USER8> Take a look at this for details on various alternative servers that have been springing up lately:

[http://mikehadlow.blogspot.com/2010/12/explosion-of- alternat...](http://mikehadlow.blogspot.com/2010/12/explosion-of-alternative- web-frameworks.html)

</comment><comment><USER5> Kayak and OpenRasta might suit your needs.

<comment><AUTHOR> Looks like OpenRasta has a pretty solid community built around it and the general design abstraction looks pretty good.

Kayak also looks pretty nifty, but seems to be in a bit of state of flux at the moment (more so than OpenRasta).

Both added to the shortlist though :)

<comment><USER5> I guess while I'm at it I'll throw my project into the mix. Its still very much under development though and more focused on Mono and running on OSX/Linux.

<http://manosdemono.org> (nothing really there right now) [https://github.com/jacksonh/manos/blob/master/docs/tutorial/...](https://github.com/jacksonh/manos/blob/master/docs/tutorial/page-1.md)</comment></comment></comment>


Electronic Medical Record Sharing Is Hurt by Business Rivalries - <AUTHOR> http://www.nytimes.com/2015/05/27/us/electronic-medical-record-sharing-is-hurt-by-business-rivalries.html

<comment><AUTHOR> The bottom line is that government can play a tremendous role in leveling the playing field. Gov't can incentivize behavior any number of ways (taxes, certifications are two that come to mind) towards cooperation. As it stands there can be no question that vendors and institutions are disincentivized to share data. My recommendation is the following[0]:

"At it's core the government need only do one thing to encourage innovation in the interoperability space and it is this:

\- The government, by means of regulation and incentive, ensure that any vendor of data systems that create or store data make adequate interoperability features and documentation available for said system.

I call this the Core Mandate. The core mandate must be unequivocal with no loopholes. What do I mean by "interoperability features"? Simply:

-If a system creates data, the ability to read that data is fully described in documentation. -If a system stores data, the vendor will provide an API and/or SDK, with accompanying documentation, such that authenticated requests may create, read, update or delete that data programmatically as appropriate.

A system is defined as any software application or hardware device."

[0] [http://siculars.posthaven.com/health-data-integration- regula...](http://siculars.posthaven.com/health-data-integration-regulation- and-incentivization)</comment>


Infinity Is Not a Number - It's a Free Man - <AUTHOR> http://nrich.maths.org/public/viewer.php?obj_id=2756

<comment><USER2> Infinity is a number if we want it to be: we can do math in whatever kind of topological space we want, including ones with defined ∞, such as the one point compactifications of ℝ or ℂ, the latter of which has a nice wiki page: <http://en.wikipedia.org/wiki/Riemann_sphere>

As wikipedia says, "arithmetic with infinity does not obey all of the usual rules of algebra, and so the extended complex numbers do not form a field." But they're quite handy for some uses.

</comment><comment><USER3> In the opening paragraph she mentions that you may be convinced that 1 = 0, if you believe infinity is number. I don't think she showed the proofs there, so here goes:

Take equation: ∞ + 1 = x

Suppose that ∞ is a number.

Suppose ∞ ≠ x. Because ∞ + 1 = ∞, (same cardinality; you can make a bijection), you get ∞ = x. This is a contradiction, so x and infinity must be the same.

Suppose ∞ = x. Then the equation becomes x + 1 = x. Subtract x on both sides. 1 = 0. This too is a contradiction.

Therefore ∞ cannot be a number.

<comment><USER4> A shorter form:

Take equation: ∞ + 1 = ∞

If ∞ is a number you can subtract it from both sides giving 1 = 0

So ∞ cannot be a number.

 _But_ then 0 too is not a number:

Take equation: 0 * 2 = 0

If 0 is a number you can divide it into both sides giving 2 = 1

So 0 cannot be a number.

0 is special. You cannot multiply and divide by it unconditionally.

∞ is special. You cannot add and subtract it unconditionally.

<comment><USER5> All you managed to do is show why division by zero is not allowed. It doesn't show 0 is not a number.

<comment><USER4> 0 is a number all right, and division by 0 isn't proving anything. My point is that maybe subtracting ∞ doesn't prove anything either.

</comment></comment></comment></comment><comment><USER6> Ok, I understand the math part, don't quite get the 'Free Man' part. Is it a reference to something? Enlighten a poor soul.

<comment><USER7> <http://en.wikiquote.org/wiki/The_Prisoner>

<comment><USER6> Ah, that clears it up. Thank you, good Sir!

<comment><USER8> Be seeing you.

</comment></comment></comment></comment><comment><USER4> It depends, I think. In some circumstances ∞ is just a special number, as 0 is a special number.

Consider the operation (||) of parallel coupling of resistors

      1Ω || 1Ω = 1/2Ω   cf.   1Ω + 1Ω = 2Ω
      1Ω || 0Ω =   0Ω   cf.   1Ω + 0Ω = 1Ω
      1Ω || ∞Ω =   1Ω   cf.   1Ω + ∞Ω = ∞Ω

For the operator || ∞ is the identity element as 0 is for operator +

<comment><AUTHOR> Do we really consider infinite resistance a numerical value of (a measurement of) resistance?

<comment><USER4> No we don't consider ∞ a _numerical_ value.

The big question is: Is it a value nonetheless?

Edit: Infinite resistance is as well defined as zero resistance.

Infinite resistance equals zero conductance.

Infinite conductance equals zero resistance.

Edit2: So if you measure the conductance of an infinite resistor you get the numerical value 0.

<comment><AUTHOR> I think this reasoning ends up being something like dividing by zero. A measurement of "infinity" can't be in any definable place on interval scale.

<comment><USER4> Well then a measurement of zero can't be in any definable place on interval scale either.

<comment><AUTHOR> Above you wrote,

 _No we don't consider ∞ a numerical value._

So you are agreeing with the title and with the substance of the submitted article, which I submitted for truth and for admiration of how it was written.

As for an interval scale

[http://en.wikipedia.org/wiki/Level_of_measurement#Interval_s...](http://en.wikipedia.org/wiki/Level_of_measurement#Interval_scale)

the zero point is well defined as the midpoint between -1 and 1, that is halfway between the values defined by those numbers. (It is commonly noted that the numerical designation of any point on such a scale is arbitrary, and the familiar examples are the Fahrenheit and Celsius scales of temperature, each with a different zero point, which in both cases is equidistant between -1 and 1.) No comparable definiteness of position is enjoyed by "infinity."

Psychologist Joel Michell makes the very good point that his fellow psychologists are probably abusing language by referring to interval scales as "measurements,"

[http://www.questia.com/library/book/an-introduction-to- the-l...](http://www.questia.com/library/book/an-introduction-to-the-logic-of- psychological-measurement-by-joel-michell.jsp)

but for our purposes here it is enough to note that you, I, and the whole world notice that zero has a place on an interval scale if such a place is arbitrarily set, but infinity does not have such a place.

<comment><USER4> I think infinity is well enough defined - for measurements at least - on the reciprocal scale:

       -4   -3   -2   -1    0    1    2    3    4
      --|----|----|----|----|----|----|----|----|--

      -1/4 -1/3 -1/2  -1    ∞    1   1/2  1/3  1/4
      --|----|----|----|----|----|----|----|----|--

I certainly didn't intend to devaluate the submitted article. Just wanted to point at some circumstances where infinity in fact is considered a distinct and definable value; by the example of resistance being the reciprocal of conductance.

<comment><AUTHOR> That's still a division by zero error. Division by zero is no more valid in engineering than it is in mathematics. While I was out on a walk in my neighborhood I thought about the practical engineering problem you first mentioned above: whatever kind of resistor you are talking about, I think a lot less than infinite electricity could jump the gap filled by any finitely sized resistor, even if you initially regard it as having infinite resistance for purposes of analyzing the circuit. But I will leave further discussion of this point to readers here who have formal training and experience with electrical engineering, as my childhood best friend does. I'm not aware that he considers infinity a number or that he puts it anywhere on the number line.

<http://mathforum.org/dr.math/faq/faq.divideby0.html>

<http://mathworld.wolfram.com/DivisionbyZero.html>

<http://en.wikipedia.org/wiki/Division_by_zero>

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> It's excellently written, but I wish I could turn off the analogies. For me, analogies only muddle the point.

</comment><comment><USER10> Infinity is the substrate on which numbers are defined. It's the space that numbers are carved out of.</comment>


Bootstrapping the Industrial Age From Scratch - <AUTHOR> https://medium.com/bootstrapping-civilization/dc8a100b351d

<comment><USER2> why am I being prompted to sign in with twitter just to read an article or blog post?

<comment><USER3> No clue, I wasn't.

And it was a pretty good article too.

<comment><USER2> I tried again and no sign in now - odd</comment></comment></comment>


Ask HN: Hadoop or Hortonworks Data platform Users: What are you using today? - <AUTHOR> Till September 2019, it was possible to get the Hortonworks Data Platform (HDP) binary packages and use them free of charge.
After the merger with Cloudera, you need either a subscription or just get access to the plain source code which you need to fiddle out how to get your local HDP cluster to update.
Who of the HN readers used the Hortonworks platform or another Hadoop "distribution" without subscription and what are you using in 2020?
Are there solutions or distributions I haven't seen? <comment><AUTHOR> nobody?</comment>


Explaining Consciousness with Color-Coded Cartoons - <AUTHOR> https://www.lisperati.com/#!Understanding_Consciousness_With_Color-Coded_Cartoons <comment><USER2> Why does the content appear twice?

<comment><AUTHOR> It's a custom web platform I built, a new edge case bug was triggered just as I published this post. Will fix later today.

<comment><USER2> OK ... good luck!</comment></comment></comment>


Show HN: Crowdsourced guide to staying safe during Covid-19 Outbreak - <AUTHOR> https://www.coronasafe.in/ <comment><USER3> Stay safe from COVID - <USER2> [https://www.coronasafe.in/](https://www.coronasafe.in/)

Looking for some contributors,

Need help with translation. localizing the content could help many more people.

[https://www.coronasafe.in/contribute](https://www.coronasafe.in/contribute)

[https://github.com/coronasafe/coronasafe.in/issues](https://github.com/coronasafe/coronasafe.in/issues)

</comment><comment><USER4> Great work. Much appreciated, having all the fake news spreading regarding the outbreak.

</comment><comment><USER5> Cool Concept. Looking forward to working with you folks

</comment><comment><USER6> Looks interesting. Nice initiative people!

</comment><comment><USER3> Looks interesting, How can we contribute?

<comment><AUTHOR> [https://www.coronasafe.in/contribute](https://www.coronasafe.in/contribute)</comment></comment>


Ask HN: Created an MVP, where do I go now? - <AUTHOR>

After many years of "my idea is not good enough" and "i'm programming just for fun" I finally made to the MVP point.
I created MemoryAlbums (http://www.memoryalbums.co) which aims at finding a way of sharing your photographies easier. I was able to program everything on my own, go through FB registration process etc. According to Lean Startup methodologies, I am supposed to get feedback from my customers (a.k.a early adopters) to decide on the next steps.
So, here's the problem. I have no idea where do I go now. I have not seen a single entry to my web page, nor the registration. I suppose I should try using some ads (FB, I guess?), but really has no experience with that. Any suggested next steps? Any reads/courses?
TL;DR: Programmer published his first app, has no idea where to go with it. <comment><USER2> Another trick (never tried it myself) go to a coffee bar with your laptop, ask customers if you can buy their coffee and get 5 minutes of their time. They then test your website and give you feedback while testing it, answering your questions you are validating (UI/Price/Pain/etc.)

</comment><comment><USER3> [http://www.producthunt.com/posts/blnkk](http://www.producthunt.com/posts/blnkk) Blnkk: An online community for crowdsourcing your startup needs. This could help.

</comment><comment><USER4> Try posting on some of these sites. [https://github.com/mmccaff/PlacesToPostYourStartup](https://github.com/mmccaff/PlacesToPostYourStartup)

</comment><comment><USER5> Steve Blank's Four Steps to Epiphany will help you on your way to starting a business if that's what you want.

Spend some time to figure out who's going to use your app and reach out to them. Use Google, LinkedIn, Twitter.. go anywhere your customers are going to and connect with them.

</comment><comment><USER6> The book "Traction" by Weinberg and Mares is often referred in these sorts of discussions. [http://www.amazon.com/Traction-Startup-Guide-Getting- Custome...](http://www.amazon.com/Traction-Startup-Guide-Getting- Customers/dp/0976339609)

</comment><comment><USER7> Skip the ads.

Get out there and set a goal of having ten people try it each day. Strangers. Buy a cheap netbook if you need to. See what they like and don't like. Try out a new idea. Test that new idea with a bunch of more people. Converge on the most wanted features, but not everything feature.

</comment><comment><USER8> Start with some free places like Twitter.

<comment><AUTHOR> Sound legit, but... how do I do that? Got any sample account I could take a look how it should be made?</comment></comment>


Ask HN: Have you emigrated from the USA? - <AUTHOR>

If so, care to share your story? Where'd you go and how did it turn out?<p>How's the cost of living and quality of life? <comment><USER2> Moved to Copenhagen, and have been here for a few years. It's nice. Moved mainly for work: there was a job opening at a university exactly in my field of research, and it seemed too good to pass up.

How the cost of living compares depends a lot on where you're coming from, and what your lifestyle is like. I would say overall it's cheaper than the SF Bay Area, though the first few prices a tourist sees are likely to be shockingly expensive ($8 coffee, $10 beer). The main thing that is more expensive is eating out, mostly because there is less income inequality (even McDonald's employees make ~$40k/yr). Food at supermarkets is roughly the same price, maybe a bit more expensive. Rent is much, _much_ cheaper; I have a really nice 2-bd apartment in a great walkable area, near the city center and with a view, and it's under $1500/mo. Transit depends on your lifestyle; it would be much more expensive to own a car, but I found I didn't need one anymore, because public transportation is very good, and you can walk/bike most anywhere anyway. So my transit costs went down, but those of others might well go up.

Good quality of life I'd say. Lots of parks, nice city, interesting neighborhoods, good work/life balance, low crime, fairly multicultural. Easy to get by in English as well (even when dealing with the government or healthcare). The large role of English in public life surprised me a bit; it's not just that people speak English, but many public events are also held largely in English (especially at museums, universities, festivals, hackerspaces, etc.). That makes it a fairly easy place to meet non-Danish Europeans, because there are a lot of them and they come to such events. So I've met a bunch of Germans, Spaniards, Italians, Poles, etc. who I doubt I would've met in their own countries. On the other hand, the general English- friendliness of Copenhagen makes it harder to learn Danish, or to meet Danes who aren't also part of the mixed-nationality social scene (especially those who aren't part of the academic or tech scenes, which are more internationally oriented than society in general is).

Biggest downside imo is that it's gray and overcast about 6-7 months a year, and for 3-4 of those months the days are also very short. On the plus side, people as a result _really_ appreciate nice days, and almost literally the entire city will be outdoors grilling and lounging in parks on nice summer days, with a palpably positive mood.

<comment><USER3> Here's an odd question: how's the soundproofing in your apartment? Can you hear lots of street noise even with all the windows closed?

<comment><USER2> Street noise isn't really an issue for me. The windows are double-pane with a thick space between the panes, and in my particular case the apartment isn't on a street with much automobile traffic anyway. Unlike an NYC-style grid where every street is a major street, Copenhagen has a lot of "neighborhood" streets that are deliberately designed to be hard for cars to use as through streets (chicanes, changes of one-way direction, etc).

The bigger noise problem in older buildings (this one's from 1910) is internal noise; they're not very well isolated between floors and units. Newer buildings are better for that.

<comment><USER3> Ah, thank you! Poor sound isolation is one of the biggest reasons I don't live in a city at present.

</comment></comment></comment></comment><comment><USER4> I'm building a site that collects stories like these (from expats and slow travelers) if you're interested:

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

An interesting post from a man who's lived in Japan for 17 years:

[http://www.istorical.com/countries/japan/experiences/78](http://www.istorical.com/countries/japan/experiences/78)

A rather well-written post about living in Hong Kong:

[http://www.istorical.com/cities/hong- kong/experiences/88](http://www.istorical.com/cities/hong-kong/experiences/88)

A good post about Berlin:

[http://www.istorical.com/cities/berlin/experiences/138](http://www.istorical.com/cities/berlin/experiences/138)

<comment><USER5> The guy who lives in Japan sounds like a complete dickhead.

Not sure he'd by my poster boy.

This comment appears to be unpopular, from the link

> Western women don't last because they realize they are fat and they can't > get laid and this makes them bitter.

I'm sorry that makes him a complete dickhead.

<comment><USER6> I agree with you. This quote as well is quite dickish: "I'm a white male which is the most awesome thing to be anywhere on the planet. "

</comment></comment></comment><comment><USER7> I left the USA (I'm a US citizen, born in the US) for several years at a time under fairly different circumstances each time.

1997: I moved to Anguilla to (legally) get around ITAR and other stuff. Stayed until we had visa problems there, just before e-gold disintegrated. My salary was nominally $1500/mo with a bunch of equity and all living costs met; it was fine.

2000-2002: Sealand. Lived in London for a while, then out on Sealand. Traveled a lot. Startup. Was fun. Went back when it imploded.

2003-2010: Iraq/Afghanistan/etc., as a civilian company founder, and then defense contractor. Was...interesting.

I'd probably like to do Asia for a year (CloudFlare's going to open an Asian office before the end of the year somewhere, so that's an option, at least for weeks/months at a time), and probably someday Berlin for a few years at least.

<comment><USER8> You lived on Sealand? I would love to hear more about that.

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

</comment></comment></comment><comment><USER10> I'm originally from California but I've lived for about 20 years in Europe. I lived first in Berlin, then Zurich, then Prague, and more lately the south of France.

I love it here. It matches my personality more than the States. But it's always a mixed bag; every country has its pros and cons. I wouldn't have changed a thing, though. The cost of living is much higher in Europe for almost everything, strangely, but the quality of life (which is a personal metric) is unmatched, and everything I hoped it would be.

My email is in my profile if you want more details.

</comment><comment><USER11> Do you accept the answers from those who had immigrated to USA?

<comment><USER12> Haha, there will be a lot more stories there, it almost gets boring. Being a European in the US, I'm actually interested in knowing where Americans in tech want to go.

</comment></comment><comment><USER13> A 3rd Generation US born Citizen, his wife & 3 children turn their backs on the corrupt and apostate citizenry of the USA:living the American dream in Vienna, Austria:

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