Why New Technology Is a Hard Sell - <AUTHOR> https://www.collaborativefund.com/blog/tech/ <comment><USER3> Almost every technology was adopted at a rate commensurate with its cost/benefit. The car _was_ widely adopted virtually overnight once it became cheap enough (~1914). The airplane was in common military use less than a decade after it was able to carry the first passenger. Useful technology is rarely delayed by adoption; rather, adoption is often delayed by a technology's maturity and cost. In fact, technology is so usually adopted so quickly, that if _your_ technology isn't, it is almost always a sure sign that either it isn't as helpful as you think or its cost is too high. The statement, "It usually takes more time to convince people that your technology has changed the world than it does to invent a world-changing technology" is just not true. What is true is that it sometimes takes a while to make your technology cheap/safe/easy enough for it to actually be worth it.

<comment><USER4> There's a lot of room for survivorship bias in this rosy picture...

A classic counter example is how long it took for hand hygiene to be accepted as an important aspect of medical practice. The cost was just about zero. The benefit: thousands of human lives saved. Still took a hell of a long time.

<comment><USER5> Survivorship bias is absolutely right. Technology adoption really doesn't work that way.

Another example: scurvy. Known to be cured by lemons since 1601; took 200 years and the better part of two million lives for this news to be properly disseminated.[1]

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

<comment><USER6> But that article mentions that lemons can only be stored a limited amount of time, thus requiring restocking during long voyages. However the infrastructure for that wasnt there yet, only those 200 years later it is mentioned that "Spain's large empire and many ports of call made it easier to acquire fresh fruit" and enabling the first long distance expedition without scurvy.

Still looks partially like a cost/benefit thing (even though there were indeed many doctors not believing lemons were the cure and instead prescribing "fizzy drinks" with sulpheric acid).

</comment></comment></comment></comment><comment><USER7> One I think they're missing (though perhaps implicit in a couple of the others) is "People are skeptical of new things that promise a lot." Many new technologies have been oversold by the media and... salespeople, leading people over time to generally be skeptical that a really new technology can actually do all the things it promises. As a result, it takes time to convince people that, for example, the dish washer really _is_ better than washing dishes yourself and not just a gimmick to take more money out of your wallet.

In many cases, this skepticism is healthy because (as the article mentions in the beginning), a lot of new tech is _not_ actually ready for primetime for quite some time after it is invented.

<comment><USER8> Can't have a lot of engineering teams without salespeople or marketers though.

<comment><USER9> Can there be engineering teams with honest salespeople and marketers?

</comment></comment></comment><comment><USER10> Personally, I think this article is full of a kind of techno-utopianism. For example with the smart phone revolution the technology has been deployed extremely rapidly to billions (!) of people. In less than a generation we've gone from nearly zero to people and in particular children (hey I pretty commonly see infants with iPads positioned in front of their faces on the bus) spending the majority of their waking life in front of these devices. And because of this extreme speed of deployment we have no data on any long term developmental effects of this. The little slivers of research on some of these effects that we have do not look particularly great.

As such, I think we have the opposite problem from what the article suggests. We happily approve and deploy many technologies and find out about the environmental, health, mental and other hazards the hard way many years later.

</comment><comment><USER11> The article seems a bit condescending towards "regular people", when in reality the hardest, and most expensive, effort marketing wise is education.

To educate an audience is so expensive that one is better to place that responsibility on governments, most of the times through the education system, or other public services that make it mandatory/enforced.

A good example is the goddamn seat belt - a technological wonder that saved millions, yet people have them right next to their shoulders and still today a lot refuse/forget to use it, while being enforced by law in many countries.

That's why I think the article can be resumed to - educate people to change their behavior is hard, expensive and can take a long time.

The most seamless tech adoption is the one unnoticed, where people don't realize neither have opinions on it's usage. Or enforced, where people/manufactureres are forced to adopt new technology.

<comment><USER12> > _educating people to change their behavior is hard, expensive and can take a > long time._

And on the other side, in order to sell products, people are often "educated" into believing misinformation and myths that persist for generations:

[https://en.wikipedia.org/wiki/Carrot#Night_vision](https://en.wikipedia.org/wiki/Carrot#Night_vision)

[https://en.wikipedia.org/wiki/Diamond#Industry](https://en.wikipedia.org/wiki/Diamond#Industry)

Or see the many vintage adverts glamorizing products and lifestyles that are now considered hazards: [https://old.reddit.com/r/vintageads/](https://old.reddit.com/r/vintageads/)

Some of them literally show doctors approving cigarettes: [https://i.imgur.com/Pornn4E.jpg](https://i.imgur.com/Pornn4E.jpg)

<comment><USER11> >in order to sell products, people are often "educated" into believing misinformation and myths that persist for generations

You're correct, but like I said, it takes a lot of money and time (a bit redundant since time is money, but it's important to stress the time window).

Such campaigns take years, with several ads being displayed with high frequencies, with opinion leaders paid to advertise the product, product placements, it's a long term game that the average company can't sustain.

Specially now that technology moves so fast.

What took decades to build, for example, with the cigarettes industry by using ads, doctors, movies, tv shows, sponsorships, and many other forms of advertising and media, also is taking years to reverse.

The vaping, e-cigarret industry is growing thanks to years of government backed campaigns about the health issues related to cigarettes, with the addition of new laws set in place to ban advertising and smoking indoors for example.

So it's not like the new technology of vaping and e-cigarrets is making the investment themselves to educate people, they are riding a wave. To make it clear, it doesn't mean they are not investing, but that they aren't making the massive investment to change people behavior.

</comment></comment></comment><comment><USER13> Well for one.. It might be cool to have speaker in the kitchen to answer queries but I don't want every conversation to be recorded.

</comment><comment><USER14> There are other factors not mentioned in this article.

First, most technologies are challenging to use and expensive at first. There are often related technologies that are required to make the first technology actually be useful. For example indoor toilets are not really useful without plungers.

The second problem is survivorship bias. People are rightly skeptical of new technology, because most new technology turns out to be rather limited in its uses, at least initially. It's easy to comment on the slow adoption of some past technologies, because we can see their wide use later, yet we ignore all the garbage that they were also trying to ignore. See [https://xkcd.com/1827/](https://xkcd.com/1827/)

<comment><USER15> Peter Senge brought your first point to life for me:

 _The Wright brothers proved that powered flight was possible, but the McDonnel Douglas DC3, introduced in 1935, ushered in the era of commercial air travel. The DC3 was the first plane that supported itself economically as well as aerodynamically...._

 _The DC-3, for the first time, brought together five critical component technologies that formed a successful ensemble. They were: the variable-pitch propeller, retractable landing gear, a type of lightweight molded body construction called "monocque," a radial air-cooled engine, and wing flaps. To succeed, the DC3 needed all five; four were not enough. One year earlier, the Boeing 247 was introduced with all of them except wing flaps. Boeing's engineers found that the plane, lacking wing flaps, was unstable on takeoff and landing, and they had to downsize the engine._

[https://www.penguinrandomhouse.ca/books/163984/the-fifth- dis...](https://www.penguinrandomhouse.ca/books/163984/the-fifth-discipline- by-peter-m-senge/9780385517256/excerpt)

</comment></comment><comment><USER16> It is hard to tell fads from the real deal these days. There's rarely a Grand New Idea with no downsides or tradeoffs, and those promoting such ideas usually have an agenda. It's rational to let somebody else be the proverbial guinea pig. As our systems become more complex, the tradeoffs are also more complex such that the low-hanging-fruit of obvious benefits are mostly all picked.

A folding (two-screened) phone sounds like a good idea in theory, but whether they can be made reliable and if there is or will be enough useful software for them is still unknown. I'll wait it out...

I waited out the 3D TV fad and am glad I did. My grumpy geezerism paid off there.

</comment><comment><USER17> Innovation is easy if you can do it for yourself, by yourself, using stuff you have.

That's a paraphrase of something in somebody's book. but it is really true. If costs and benefits don't accrue to the same organization or individual, if cooperation of multiple players is needed, and if some unobtainable component or technical breakthrough is needed, then innovation is really hard.

</comment><comment><USER5> We're in the middle of a few different technological revolutions right now, and the kind of conservatism / lock-in that this article talks about is very much in evidence. It can be surreal to observe.

One revolution which I follow quite closely is in spaceflight. Since the beginning, it had been done one way and one way only, and its way of doing things had become a goal in itself. Its exorbitant cost was lauded for its ability to create jobs and -- for more ambitious initiatives -- to foster international collaboration, since surely it was too expensive for any one nation to undertake on its own. Its resulting rarity and exclusivity created a kind of mystique around rocket scientists and astronauts. This mystique and these justifications became fundamental to the narrative of what spaceflight was about.

Then SpaceX came along and screwed it all up, and practically nobody noticed. "Bad example," you might say: "Elon Musk is fetishized by millions, and is hardly out of the news cycle for more than a few minutes". Which is true, but Musk's status as a celebrity is entirely orthogonal to actually comprehending what he's doing, and adjusting one's model of the world accordingly.

What SpaceX has done/is doing, is this:

1\. Changed traditional aerospace engineering, management, and procurement practices, so that they were more focused on efficiently building/operating rockets than distributing work sites around a critical mass of congressional districts. Nothing at all heroic or sexy about this, but it reduced launch costs by a factor of 3 relative to the industry norm.

2\. Developed 1-stage reusability, which _is_ quite sexy, and reduced launch costs by a factor of 6.

3\. Developed the Falcon Heavy, which reduced launch costs by a factor of 8 (for large enough payloads, of which there currently aren't any).

What I find remarkable about this is that although the sight of boosters landing themselves has become common place enough to no longer grab headlines, the industrial / political community is still very much at the "Do Not Think Aeroplanes Will Ever Compete With Railroads" stage of comprehension. The fact that it's made Musk into a celebrity is, frankly, totally meaningless and facile. What's slightly more meaningful is that this has enabled a startup to capture the majority of commercial launch services in the world, and make a profit doing it. But ultimately, what a 8x reduction in the cost of spaceflight _should_ do is change the the entire nature of the spaceflight business: enable many new types of business cases and missions. This is a fait accompli, but it's taking a long time for the world to catch onto this fact.

If you browse through an archive of traditional industry magazines and forums and such, you'll find almost no mention of SpaceX's innovations apart from dismissal and derision. Typical themes are:

1\. Private companies can't afford to develop launch vehicles. (Still being claimed for a couple of years after they first reached orbit).

2\. SpaceX is losing money. (They're not.)

3\. SpaceX is only making money because they're subsidized by the government. (They're not.)

4\. Recovering a booster is impossible.

5\. Reusing a booster is impossible. (This argument was still being made long after SpaceX had started flying reused booster.)

6\. Rocket reusability will never be economically meaningful because [insert painfully tortured and ridiculous argument here]. (Said after SpaceX had captured the bulk of the world's launch services).

7\. Private companies can't develop heavy-lift launch vehicles. (Said as recently as a congressional hearing last week, after the Falcon Heavy has been successfully flying for almost two years)

8\. Look, astronauts should be the very best of the best of the best. We shouldn't just allow anyone into space. (Said ever since the very first space tourist booked a flight to the ISS in 2001).

The myopia here is really striking to me. But one thing I've noticed is that -- contrary to the article -- it mostly _doesn 't_ really come from a too- conservative Joe Public. Rather, it comes from well-regarded experts with a vested interest in their world not being upended. When SpaceX first successfully recovered a booster in late 2015, I found that my friends with no particular interest in space were able to comprehend the significance of that milestone far more accurately than executives from the old guard space contractors. And I genuinely think that the old guard didn't comprehend. They weren't publicly ignoring/rubbishing SpaceX, while privately doing intensive R&D in an effort to catch up. Privately, they were doing nothing differently. So they really didn't understand what they were seeing.

4 years later, they're _vaguely_ beginning to understand what has happened, and starting to think about how they might catch up. The European Space Agency is funding paper studies of reusable rockets which look almost exactly like the Falcon 9. SpaceX's main US competitor, United Launch Alliance, is aiming to start doing trials of partial reusability in 5 years. China is ahead of both of them, already doing booster-recovery experiments very similar to the early Falcon 9 recovery trials in 2013.

But this a terribly muted reaction to what has already been a significant revolution in spaceflight. And anyhow, it is all going to be much too little, much too late -- because actually the revolution was just getting started, and matching the capabilities of the Falcon 9 is about to be the least of any competitor's worries.

SpaceX is now developing the Starship, which will be fully reusable and plausibly stands to reduce launch costs by a factor of 50-100 vs. the prior industry baselines. This will be a mind-bogglingly huge development: at those prices, asteroid mining is viable, and building Mars colonies is with reach of many NGOs, never mind governments. At those prices, the fact that we live in a solar system with almost unlimited resources starts to become a meaningful statement. Once the culture has absorbed the fact that this is really happening, I would expect to see thousands of people emigrating off-world every year, to pursue the many opportunities elsewhere. This will be a BIG DEAL.

And it's happening right now. Starship's engines have completed development and are now being optimised for mass production. The first test-bed flew earlier this year. The first full prototype vehicle is under construction and will make its first trans-sonic flight as soon as _next month_. They expect to hit orbit by next year. Musk is saying as early as next Spring -- and this is undoubtedly too optimistic -- but at the pace they've been going, late next year is absolutely plausible.

Moreover, "the pace they've been going" isn't a matter of speculative kremlinology: they've been practically open-source about the whole endeavour, with all the parts laid out in a field and assembled in full public view. As if to try to convince the world: "hey, wake up, this is actually happening."

But so far, awareness of this seems to be largely confined to cult-of-Musk fanboys, and their equal but opposite anti-fanboys. With very few exceptions, few in the industry have noticed that this is actually happening. Based on what I've seen with the Falcon series, I fully expect this state of denial to persist for at least 5-10 years after Starship reaches orbit.

<comment><USER18> I only have a passing interest in space stuff, but it's obvious to me that SpaceX has ratfucked all big players. To me as neither a cult of Musk or an anti-Musk guy is mostly what Musk did is allow existing engineering talent to innovate. Which says that typical aerospace management is exceptionally shitty.

<comment><USER5> It's kind of worse than that: typical aerospace management is actually very good at their game. They're just playing the wrong game.

This is part of the reason that it can take so long to comprehend a genuinely innovative new technology: it doesn't win the game that's being played -- it plays a different game entirely.

When airplanes came along, rail companies could quickly (and correctly!) judge that they would never be hauling coal and cattle and such. Therefore: airplanes are just a toy; we can safely ignore them.

Similarly, when television came along, the radio industry said: "people listen to the radio when they are working, driving, or drifting off to sleep. You can't do anything else when you're staring at a screen, so television isn't a threat."

What these industries failed to realise is that while the the new technologies were non-competitive on the use-cases that railways and radios had optimised for, the new entrants could win on metrics that the old industry had never thought to care about.

(All this is fairly standard Christensen disruptive-technology stuff, BTW.)

Anyhow, the thing about the legacy aerospace industry is this: they weren't playing the "let's build and fly rockets" game. They were playing the "let's maximise our funding" game. The rules of this game are as follows:

1\. Spend all the money you get, otherwise your budget will be cut next year.

2\. Spend _even more_ money than you get, and do as little as you can with it, so that you can plead the necessity of a funding increase next year.

3\. The more money you get, the more of a political base you can establish. The more of a political base you've established, the harder it will be to cancel the whole program.

Underlying all of this is the axiomatic assumption that the spaceflight market is essentially inelastic. Weather and positioning and communications and spy satellites need to be launched at more or less any cost, but any reduction in launch prices won't be matched by a corresponding increase in demand. Therefore: if you cut costs, you're just leaving money on the table and putting your political base at risk. Don't do it.

Typical aerospace management was playing this game _exceptionally_ well. NASA's heavy-lift rocket, the Space Launch System, has spent $14B last time I looked, and is still years away from its first launch. Its launches will cost a billion dollars apiece. That's actually not easy to accomplish. If I gave you $14B and told you -- a person with only a passing interest in space stuff -- that I wanted a heavy-lift rocket in return, I'm quite you could do it. All you need to do is put out a tender for heavy-lift services, with payments made on a milestone/per-launch basis. Award these to several teams to keep things robust and competitive. Job done.

On the other hand, if I gave you $14B and told you to spend it on the _appearance_ of serious rocket development work, I think you'd find it quite challenging. Spending that money without flying a damned thing takes _exceptional_ skill. Hats off to any program manager who can accomplish this!

But when SpaceX comes along and decides that the rules they want to play by are "build and operate the most amount of rocket for the least amount of money", the rest of the industry simply couldn't figure out WTF game SpaceX was playing at. Most of the industry _still_ hasn't figured it out.

<comment><USER19> They're different markets with different motivations. SpaceX is in the get- shit-done market. Musk personally wants to get off Earth ASAP.

NASA's contractors are in the corporate pork market. They're strongly incentivised _not_ to get shit done.

But this is no different to the equivalent in the private sector - <USER2> B2B software, where the game is about locking corporate customers into insanely exploitative contracts while providing a service that mostly sort-of works, more or less.

This a solvable problem in at least certain circumstances. Kennedy fixed it problem in the 60s by giving NASA (+contractors) a deadline and by framing the project as a patriotic race. Under those conditions they did at least as well - possibly better - than SpaceX is doing today.

It would be harder to do the same today in aerospace because the political conditions are so different.

None of this has anything to do with some vague handwaving about "resistance to technology." Most people are just fine with new technology, as long as it doesn't blow up in their faces - literally or otherwise - and offers real and obvious benefits.

What they're not fine with is being sold crap that doesn't work and makes their lives harder. And IT has always been a mix of good stuff with a lot of crapware tagging along for the ride.

</comment></comment></comment></comment><comment><USER20> I don't think you can compare a vaccine with, say, cars. A vaccine works or it doesn't, there isn't much to be improved on from a usability point of view. Whereas the very first car compared to models, say, 20 years later - that's quite a difference. I wouldn't want a car for which I needed to study 6 months to learn how it works, so that I could fix it on the road every time it breaks down. Not to mention costs going down over time.

<comment><USER21> Do you have a modern car ? How long do you think it'd require you to come up with the tools and knowledge to fix it if it broke down on you?

<comment><USER22> Depends what breaks. Most of the failures the HN crowd is going to encounter can be fixed with a $30 socket and wrench set, another $30 in hand tools and an internet connection.

The overwhelming majority of those are going to be worn out wear items that only require an ability to follow instructions to rectify. Most of the rest will be plumbing failures (if your definition of plumbing is inclusive enough to include plumbing for electrons) which will require pliers and other "grabby pinchy tools" in addition to your $30 socket set.

<comment><USER23> Increasingly, even that is going to become rare. There are very few user serviceable parts in an electric vehicle. The thing is practically solid state. I heard one count that there were 21 moving parts. I imagine that they can only be replaced by a pro, but that they basically won't ever need to be.

I guess the headlamps might need to be replaced some day... but if they're LEDs, they may well be permanent.

</comment></comment></comment></comment><comment><USER24> The article contradicts itself.

It starts with polio vaccine, which was an amazing product that people needed. It as not a hard sell at all, lots of people died because of polio.

Then he puts the counterexample with penicillin and says it took 20 years to sell.

But it is wrong in the sense that it took 20 years in developing the industrial process that made penicillin cheap. Not because people did not want it, but because it was a real hard problem to solve.

I read years ago a book about the history of Penicillin and there were tremendous technical roadblocks that made the industrial production of it a chimera(until they were solved). I believe they won the novel price for solving this technical roadblocks(the industrial process, not just the discovery).

You can't analyze it backwards, from the point when all these roadblocks were solved and say, hey! people did no like it!

The equivalent today is nuclear fusion. It has technical roadblocks that makes it a chimera until they are solved. It is not that people do not want nuclear fusion, it is that they doubt scientist will solve the roadblocks so financing is very weak.

The real problem is that nobody(or very few) believe in what does not exist, what they can not see. In the Bible it is called "Faith". Innovation is by definition creating something that did not exist before.

Innovation needs people that could see the future as real, even when it does not exist yet. They are called visionaries, and are highly problematic people. Most people can't understand them, because they are dreamers, "pie in the sky" people.

By the way, most of those visionaries are wrong in their visions, and consume the wealth of those from the "real world" that trust them. 9 out of 10.

In fact, for a long time inventors were considered "Snake oil" salespeople, scammers.

The only difference is that today failing 9 times out of 10 is considered normal business and VCs approach it like a numbers game: They know the 1 out of 10 that success will pay for the failures.

The article makes a wrong assumption: That technologies are fixed and finished, you sell them and people do not want them.

But that is not the case, technologies evolve continuously: Take lithium batteries:They have been improving 7% a year, looks like nothing but it is exponential change, you see 10 years, 15 and the product is completely different.

I bought a RepRap machine when 3d printers patents expired. It was crap, nothing to do with RepRap machines today once 300.000 or more printers have been sold, and in the future when millions of 3d printers are sold the change will accelerate more, because more people will use and modify their printers.

Electric cars, solar panels, wind energy technologies evolve. When they are mass produced, prices get cheaper, as they get cheaper, more people want it, as there is bigger market, more companies invest in R&D, and technologies improve more.</comment>


JavaScript JVM Runs Java - <AUTHOR> http://developers.slashdot.org/story/11/11/21/0454254/javascript-jvm-runs-java

<comment><AUTHOR> I tried to link to the original source at [http://www.i-programmer.info/news/167-javascript/3360-javasc...](http://www.i-programmer.info/news/167-javascript/3360-javascript- jvm-runs-java.html) but it was immediately (and I mean immediately) killed. What gives?

BTW, code is at <https://github.com/nurv/BicaVM></comment>


Which other configuration management can bootstrap itself? - <AUTHOR>

When you are bootstrapping an infrastructure, you may first want to bootstrap a configuration management system to configure all other systems.
To bootstrap a cdist configuration management system (http://www.nico.schottelius.org/software/cdist/), you can use an existing cdist installation, add
case "$__target_host" in
   newcdisthost)
      __cdist /home/cdist
   ;; esac
to ~/.cdist/manifest/init and run
% cdist config newcdisthost
and you are done (cdist uses ssh to configure the new host).
I am wondering if any other configuration management system can bootstrap itself like that? <comment><USER2> Depends how strict you want to be with the term "bootstrap itself"

I've recently started using Apt packages from a private apt repo for server/service configuration. The private apt repo itself is created by an apt package, which (once setup) is served by the apt repo, so changes to the apt server are made by importing a newer package into the repo and then doing an `aptitude upgrade`

The setup process is basically, copy two .deb files to blank server, install with dpkg, fix dependencies and then run the setup script that the apt repo also serves up.

regular (non apt repo) servers then simply run the setup script and are on their merry way.</comment>


Sweat the small stuff - <AUTHOR> https://inconshreveable.com/09-09-2014/sweat-the-small-stuff/ <comment><USER2> Great post. I think just as UX has been growing as a field, CLI apps are surprisingly lacking in this arena. I guess technical types just assumes other technical types are willing to dig in and figure it out... but really, ALL CLI apps should pay attention to the experience like this.

Personally, I think it's a key factor in assuring tools are adopted and shared, and by extension a key avenue of ensuring the success of the developer behind it. A lot of stuff just gets released and forgotten about or the devs try to recover through marketing and adding new features. First impressions are everything!

</comment><comment><USER3>
        print out some additional help text that explains that you shouldn't try double-clicking it from explorer again.

Why not? If a large number of your users want to double-click it, why tell them that they are wrong? It sounds like you already support it now anyway.

<comment><USER4> Your point is well taken.

The thing is that ngrok does not do anything useful beyond printing out the help text when double-clicked, and without the text, I'd be worried that a user might actually try to double-click it _again_ when it doesn't do what they want instead of typing the command with useful arguments, if that makes sense.

<comment><USER5> How about asking people for the command line arguments once they double-click?

Telling users they are wrong seldom works in the long run, because this requires a change in the mental model. The program model most people using GUIs assume is "you open a program, then you tell it what to do". The CLI model of "you first decide what the program must do, then you run it" just requires more thinking. As Steve Krug points out, "don't make me think" :)

</comment></comment></comment><comment><USER6> Before I switched to Linux, I encountered this kind of issue. The popping console is annoying, even when you know how to use a terminal : navigating through the filesystem is painful in cmd.exe an starting an instance from explorer is not always an available option.

Netcat had an interesting approach: when you start it without any command line argument (say, by double-clicking), it opens a prompt and wait for a command. Using this idea together with some help message might be the simplest solution.

</comment><comment><USER7> Alan's one of the most thoughtful engineers I know. No surprise to see this post from him. Nice job!

</comment><comment><USER8> yuk. this is the sort of issue that should be solved at the level of the OS, not for every app.

*nix is pretty much "the" cmdline people refer to, and the unix cmdline was well established and in use at microsoft when microsoft created DOS and broke it to shit. No reason to retrofit the breakage backward.

plenty of unix tools don't say anything when you run them with no args, and they're not supposed to, "we" like it that way.

If you have a GUI that can't handle cmdline executables, how about distinguish GUI executables from cmdliners. don't foul the cmdline space with cruft, cruft that works in one context but not in many others. You are explicitly testing to see if you are a descendent of a specific program?

<comment><USER8> i just want to add, you have actually introduced a bug. if your program has any longevity, this misfeature of it will, i predict with confidence, break the program at some point, sooner rather than later, and for no reason other than "it's a hack".

</comment></comment><comment><USER9> Would it make more sense to include some sensible default configuration (i.e, have it run on port 80)?

</comment><comment><USER10> Microsoft KB article about the problem of console applications quickly flashing a console window and disappearing when launched from Explorer:

[http://support.microsoft.com/kb/99115](http://support.microsoft.com/kb/99115)

TL; DR: an application can guess (via an ugly cursor position based hack) whether it is running in a console window that was allocated just for it by the console startup code (the unwanted case), or whether it is in an inherited window (the intended use case for the code).

A reasonable solution, also, is simply to build two executables: a regular application and a console version of the program. Make the regular application (myprog.exe) attractive for clicking by giving it a icon, in comparison to (myprog-cmdline.exe) which has no icon. myprog.exe just puts up a usage dialog box and quits. Alternatively, they can both be console applications that are almost identical, except that the one with the click-bait icon pauses for console input before quitting.

</comment><comment><USER11> Interesting article; unhelpful title. Please re-title.

<comment><USER12> Are you used to people obeying your every whim just because you ask nicely?

<comment><USER11> The admins here retitle submissions all the time.

<comment><USER13> Typically the original title is favored. This matches the original title.</comment></comment></comment></comment>


Ask HN: which obscure Github projects have you found useful? - <AUTHOR>

There is a lot of great stuff on Github but it's hard to know where to start looking. I'm wondering if HN had any recommendations for useful tool suites or other noteworthy projects. <comment><USER2> Just in case you missed it, we have an "Explore GitHub" page that should get you started with some repos that you may not have heard of before:

<https://github.com/explore>

<comment><AUTHOR> The explore page offers a great snapshot. The search page is totally awesome too (seriously, it works really well) but only when you are looking for something in particular. It feels like there is a mind-boggling amount of potentially useful things sitting there that no one ever knows to play with because the people behind the projects aren't very good at PR or aren't looking for high usage of their product. I guess the main barrier to testing out projects/apps is the difficulty of installation. You have to know you want the product a lot to go through with the effort to get it up and going. I guess that's why recommendations can be a good guide to making sure it's worth the effort.

</comment></comment><comment><USER3> Not sure how obscure these would be here (I first learned about them on Hacker News), but I've found Backbone.js and Underscore.js to be extraordinary projects.

Links:

<http://documentcloud.github.com/backbone/>

<http://documentcloud.github.com/underscore/>

<comment><USER4> For a bit more information -- Backbone.js and Underscore.js are open source components of DocumentCloud, funded by the Knight Foundation's News Challenge, and are used to build this:

<http://cl.ly/3N0Z>

... and this:

<http://documents.latimes.com/la-county-plastic-bag-ban/>

</comment></comment><comment><USER5> <http://thechangelog.com/> is a great blog to follow for interesting GitHub projects, it also powers parts of the "Explore GitHub" page that @mojombo mentioned.

</comment><comment><USER6> I've really enjoyed skimming through other users 'dotfiles' or similarly named repos. It's a great way to find some small tips or shortcuts to make my day to day work more efficient, etc, without reading a long blog post about why some technique is the 'only sane, correct, right, proper way' and you'd have to be crazy to try anything else. I.e. great tips without the commentary.

<comment><USER7> Lol I found a bug in Ryan Tomayko's dotfiles when he put them up. [https://github.com/rtomayko/dotfiles/commit/d462da485294b516...](https://github.com/rtomayko/dotfiles/commit/d462da485294b5168687b20518881a50dea0b209)

</comment></comment><comment><USER8> The latest one I discovered is Slidedown: a simple tool to generate HTML slides (with syntax highlighting) from a markdown document.

Came in handy when I had to whip up a presentation for a recent meetup.

</comment><comment><USER9> I'm a big fan of zen coding, it's a way of writing HTML and CSS by shortcuts and expanding them, cross-IDE: <https://github.com/sergeche/zen-coding> it has sped up my html writing considerably.

If you're using Django with a MySQL heavy application, consider django-stored- procedures (written by a colleague of mine) <https://github.com/jeroeng/stored-procedures>

</comment><comment><USER10> Gordon; An open source Flash™ runtime written in pure JavaScript

EXAMPLE: <http://paulirish.com/work/gordon/demos/> GIT: <https://github.com/tobeytailor/gordon>

</comment><comment><USER11> qlmarkdown. It enables OS X to show (pretty/formatted) Markdown documents in Quick Look.

I also forked something called Add-Another for replicating parts of web forms (when you need to collect 0-n things from a user, e.g. emergency contacts, images, etc.)

</comment><comment><USER12> AppSales-Mobile to an amazing and well supported find to track your iOS app sales. <https://github.com/omz/AppSales-Mobile>

On the Mac Brotherbard's Gitx fork is very cool. <https://github.com/brotherbard/gitx>

GitFlow - takes your Git skills to the next level. <https://github.com/nvie/gitflow>

</comment><comment><USER13> Wukong, a Ruby-based Hadoop streaming framework. <http://mrflip.github.com/wukong>

</comment><comment><USER14> I found isaac to be pretty cool. I had to fork it and add features because it's not maintained too well, but a neat idea.

<https://github.com/ichverstehe/isaac>

</comment><comment><USER15> <http://github.com/rohityadav/cmakeqt> a qt-cmake example, with features like cross compiling, packaging, translations etc.

</comment><comment><USER16> Vim-inspired file manager for the console

<https://github.com/hut/ranger>

</comment><comment><USER17> Lots of goodies here: <https://github.com/MarcWeber>

</comment><comment><USER18> self-plug: GithubFinder <http://sr3d.github.com/GithubFinder>

Much better code/repo browsing for Github repos, especially with the bookmarklet or the Userscript plugin.

</comment><comment><USER19> libtelnet: A nifty little library that makes it easy to speak proper telnet.

<https://github.com/elanthis/libtelnet>

</comment><comment><USER20> What.js

<https://github.com/entmike/What> \-- I've been playing with this, written by a buddy of mine. It's a Node.js-based application server, complete with an HttpServlet implementation.</comment>


AT&T's WarnerMedia CEO Jason Kilar Ousts HBO Max's Top Leadership - <AUTHOR> https://www.wsj.com/articles/at-t-s-warnermedia-ceo-jason-kilar-ousts-hbo-max-s-top-leadership-11596833178 <comment><USER2> Tell me that this happened because HBO Max dropped Linux support. Please!</comment>


Does Scala as a FP Language Suffer From Its OO Syntax? - <AUTHOR> http://java.dzone.com/articles/does-scala-fp-language-suffer

<comment><USER2> Fundamentally, this post conflates _type classes_ with _functional programming_. Yes, type classes are one way that functional languages approach ad-hoc polymorphism (i.e. distinguishing which implementation of a function to use based on the types of its arguments.) This is not the only way to approach said problem. For example, OCaml has both objects and modules/functors to support ad-hoc polymorphism. That Scala and Haskell take a different approach to this problem does not make Scala "less" functional than Haskell.[1]

As usual, the real problem is one of terminology. If you take FP to mean "Haskell and Clojure", then one could easily find features of, say, Erlang or OCaml or Scheme that are "not FP." All of these are conventionally considered functional languages, and IIRC none of them—save Scheme-based ports of CLOS—feature multimethods or type classes. So, before nitpicking about whether a language is more or less FP, one should always clarify: _what do I mean by FP?_

[1]: Not on its own, anyway; there are other arguments that can be made both ways, but this is not the space to make them.

</comment><comment><USER3> Why the focus on type classes? Yes, type classes can sometimes be very helpful (the Num, Monad and Functor typeclasses in Haskell for example - where would we be without them?)

But overuse of type classes in any language is an antipattern. Luke Palmer sums it up well in his blog post [1]

 _Advanced type system features have their place, but plain old functions go a long, long way. Functions are the masters of reuse: when you use an advanced feature, you need a yet more advanced feature to abstract over it. But all you need to abstract over a function is another function._

Using type classes where they're not appropriate leads to 1. writing unnecessary boilerplate code, 2. torturing the type system and 3. a slippery slope of adding more and more advanced type system features to bludgeon your poor design choice into the right shape. Use functions!

It's also worth reading Gabriel Gonzalez's post on a similar topic [2]

[1] [http://lukepalmer.wordpress.com/2010/01/24/haskell- antipatte...](http://lukepalmer.wordpress.com/2010/01/24/haskell-antipattern- existential-typeclass/)

[2] [http://www.haskellforall.com/2012/05/scrap-your-type- classes...](http://www.haskellforall.com/2012/05/scrap-your-type-classes.html)

<comment><USER4> I think this point can not be stressed enough. Type classes have their place in day to day (Haskell) programming, but overuse quickly leads to bad abstractions that boil up from deep inside a codebase to all the way up to the public API.

My experience as a library author is that adding a type class for an additional layer of abstraction is easy and feels very natural. My experience as a library user is that understanding what problem the library author has solved using a type class can be very hard and confusing.

</comment></comment><comment><USER5> No. (<http://en.wikipedia.org/wiki/Betteridges_Law_of_Headlines>)

But seriously, I don't feel so, (though I came from writing Java). I like the protection of static typing, and haven't encountered yet anything that made the FP part suffer from the OO part.

p.s. if you haven't already, Martin Odersky himself is delivering a course named Functional Programming in Scala (still not too late to join) <https://class.coursera.org/progfun-2012-001> It might be too basic if you are fluent, but I found it just in the right level for me. In any case, learning a language from it's creator seems to give you some insights.

</comment><comment><USER6> Once you understand that Scala is a hybrid, all those not-pure FP aspects start to make sense in that context.

</comment><comment><USER7> I think you ought to see this the other way round: Scala as an OO language definitely benefits from its FP syntax.</comment>


Sri Yantra Carved in Dry Lake bed by UFO? - <AUTHOR> http://www.sanskritimagazine.com/india/sri-yantra-carved-in-dry-lake-bed-by-ufo/ <comment><USER2> [http://en.wikipedia.org/wiki/Betteridge's_law_of_headlines](http://en.wikipedia.org/wiki/Betteridge's_law_of_headlines)

</comment><comment><USER3> a) what is this doing on HN??

b) it's an art installation: [http://exopermaculture.com/2013/06/22/bill- witherspoons-oreg...](http://exopermaculture.com/2013/06/22/bill-witherspoons- oregon-desert-land-art/)

<comment><USER4> a) You could say that about many, many stories on HN

b) The article linked dismisses that explanation as not possible

I don't agree with 95% of the article's claims, and believe it to be man-made, but it does directly address the claim of Bill Witherspoon to have made it as being bogus.</comment></comment>


New York's vanishing shops and storefronts: 'It's not Amazon, it's rent' - <AUTHOR> https://www.theguardian.com/business/2017/dec/24/new-york-retail-shops-amazon-rent <comment><USER2> It's mostly the rent but it's also Amazon.

I recently took part in a commercial real estate search in Soho, probably the biggest shopping district in NYC. The prices in this neighborhood have gone up insanely: one storefront (about the size of a large Banana Republic) recently sold for ~250M dollars, which is obviously absurd. The broker told me that a lot of these stores were taking losses on their commercial leases with the (mis)calculation that the exposure and presence were worth it. This miscalculation is everywhere, you e.g. see the same thing with banks opening locations every 5 blocks. Where the real bubble lies, IMO, is that a lot of the places are going to see competition from online and will no longer be able to justify the losses they've been taking. NYC needs bodegas, bars, and coffee shops - things we can't do online - not Bank of Americas and Banana Republics.

<comment><USER3> Wait, banks OPEN branches in Manhattan?! Isn't internet banking a thing in NYC? Like, what would you even DO in a bank these days. They don't even carry money anymore.

<comment><USER4> > They don't even carry money anymore.

I have yet to go to a branch that does not "carry money". In fact, I occasionally use human tellers when I want specific denominations of bills for some reason.

> Like, what would you even DO in a bank these days.

* Loan origination paperwork

* Cashier's checks

* Notarization (I get it free for being a customer)

* Needing more than $400 cash

* Depositing coins

These are not things I need to do often, but each has come up at least once in the past couple years. I have also noticed that in Manhattan it is common for banks to have ATM lobbies in place of full branches. I hit one of those at least once ever couple weeks.

<comment><USER5> And that's just consumer banking. There's also commercial banking. Most businesses still take in lots of cash, and need to send an employee to their bank to deposit it on a daily basis, since having lots of cash in the store encourages robberies. (If you're a large store, you'll use an armored truck service to move cash, but a pizza shop probably doesn't.) This requires teller services, since depositing thousands of dollars in cash via an ATM would be cumbersome.

Thus, neighborhoods with lots of retail businesses also need enough bank branches to support these businesses.

</comment></comment></comment></comment><comment><USER6> Seems simple to fix. A building sitting vacant is depressing everything around it, pushing an external cost onto the city.

Leave it vacant and your property taxes triple to offset this cost.

<comment><USER7> You seem to have created a system with a runaway negative feedback loop.

<comment><USER8> I'm not seeing it. It may not be overall good policy, but it seems like this would induce rental, if perhaps at a lower price. Where is the negative feedback? Care to elaborate?

<comment><USER7> Suppose I my tenant leaves. I make the calculation that it'd be cheaper to sell the building. No one wants to buy it because it's missing a tenant. It stays unused, depressing the area around it. That depression, in turn, makes companies much more likely to fold if a tenant leaves. This makes more companies fold, which increases the likelihood that more companies will fold. Eventually, the entire area will be poison and not even under the most generous of rent agreements will either tenants or companies want to do business there.

<comment><USER9> _No one wants to buy it because it 's missing a tenant._

At some price someone will decide that the building is a worth while risk. You might not like that price, but there _will_ be a price you like more than getting hit with high taxes for owning an empty building. The point here though is not to keep you, the landlord, rich; it's to make a city full of shops with happy customers, taxable sales, etc. If you can't make your building work for you then your business has failed and you need to move aside to let someone else use that real estate asset. _That 's how capitalism works._

<comment><USER10> That just begs the question: why can't we leave the system as is, because at some price, the tax assessment on a vacant building without any tenant revenue will push the landlord to offer a lease price for which there is demand?

<comment><USER11> Because the timeframe of the system's feedback loop is too long. By the time the landlord reacts and accepts a lower price point, the customers might have had to move on to a different location, or the business operators too.

The whole reason we even have cycles of growth and contraction is because feedback loops are too slow so we always react too slowly, and when we do we over correct. But that might be an unsolvable problem and just a fact of nature.

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> Can anyone explain the economics of being a NYC landlord and keeping a property vacant for months or years?

I've experienced this in several different neighborhoods I've lived in, but it's worst in my current neighborhood (Upper West Side).

This article gives some high-level reasons (institutional investors more willing to wait for higher rent, banks devaluing non-chain properties, real estate bubble). But it's hard for me to imagine the math works out for leaving a space vacant in NYC for years.

<comment><USER12> A standard storefront lease is for 10 years. If you believe you can get 12% higher rent by waiting for a year, it's worthwhile to leave the space empty.

What I don't get is why there aren't more fun pop-up shops appearing in these spaces?

<comment><AUTHOR> I'm still skeptical (tell me what I'm missing) - are commercial real estate prices in NYC really going up 10% / year?

Certainly as a residential renter for ~12 years (in the same areas that have high vacancies) I haven't seen a rent increase like that.

<comment><USER12> It's not necessarily a market price increase that they're waiting for, but rather a higher bidder. Why rent now to a (price-sensitive) local pizza parlor if you have a chance to land a national bank that can afford double the rent without a second thought?

<comment><USER13> That makes sense to me if I saw properties lying fallow for a year or two... but there are tons of properties that just sit unused for many many years. I honestly don't remember the last time there was something in the amazingly- located spot next door to the Apple store in downtown Santa Barbara. I frankly bet it was longer than ten years ago! What are they waiting for? Bankruptcy?! I just don't get it :(. There are also lots of businesses that would be willing to sign on for just a year or two instead of for ten years. Hell: the average life expectancy of many businesses isn't even ten years, so you are essentially just refusing to sell your wasting good (minutes of building) to people who would love to pay you for it due to "I guess this is how people normally do it", which is _insane_.

<comment><USER14> > I honestly don't remember the last time there was something in the > amazingly-located spot next door to the Apple store in downtown Santa > Barbara. I frankly bet it was longer than ten years ago! What are they > waiting for?

The answer is probably that Apple has a clause in the contract that says that if you give another client a better price than you gave Apple, Apple gets to renegotiate.

If you got a particularly good rent from Apple, it's probably better to leave the place beside completely empty.

</comment></comment></comment></comment></comment></comment><comment><USER15> My opinion is just of an amateur, but I think way too many wealthy people are learning that it is way safer AND lucrative to use their wealth to buy property to "rent" out or to flip. It IS VERY safe and lucrative than investing in some venture or a business.

As more and more wealth flows into this type of venture, whoever wins the bidding war for a property has to charge higher rent to somehow recoup the investment they made to buy the property AND make profit on top of it.

And of course there aren't THAT many small businesses that can pay that kind of rent.

</comment><comment><USER16> $1,355,610,000,000 of consumer spending is missing from the demand side of USA spending, and that should be kept in mind whenever you read an article about retail going through hell. The big boom in retail in the mid-20th century was thanks a strong middle class. Conversely, the collapse of income of the middle quintiles of income must lead to a contraction of retail. Consider these charts:

Table H-2. Share of Aggregate Income Received by Each Fifth and Top 5 Percent of Households

[https://www.census.gov/data/tables/time- series/demo/income-p...](https://www.census.gov/data/tables/time- series/demo/income-poverty/historical-income-households.html)

Percent of income for the 3 middle quintiles in 1970:

10.8

17.4

24.5

total: 52.7%

In 2016:

8.3

14.2

22.9

total: 45.4%

The difference: 7.3%

The GDP of the USA in 2016:

18.57 trillion

[https://www.google.com/search?q=usa+gdp+2016&oq=usa+gdp+2016...](https://www.google.com/search?q=usa+gdp+2016&oq=usa+gdp+2016&aqs=chrome..69i57j0l5.5605j0j7&sourceid=chrome&ie=UTF-8)

So if the middle classes still had the same share of national income as they had in 1970, they would have an additional $1,355,610,000,000 to spend or save.

Retail spending in the USA in 2016 was around $5 trillion:

[https://www.emarketer.com/Article/US-Retail-Sales- Near-5-Tri...](https://www.emarketer.com/Article/US-Retail-Sales- Near-5-Trillion-2016/1013368)

Hold the spend/save ratio constant and we can say that retail spending would be 27% higher in 2016, if the middle quintiles still had the same percentage of national income as they had in 1970.

You can make some adjustments for the increased spending in the top quintile, but most of the income has gone to the top 1% and most of that goes to savings rather than spending.

Obviously, all of our current stories about retail would be different if the middle classes still had the same percentage of national income that they had in 1970.

And please, please, please note, Amazon only had $131 billion in sales during 2016. It's impact is very small compared to that missing $1,355 trillion.

<comment><USER17> Why would you measure it that way versus just looking at household income growth for the middle class? That would be a much more accurate driver of consumer spending.

</comment></comment><comment><USER18> I live in a famous third world city and the same thing is happening here. Sometimes stores with more than 100 years close because some hedge fund buys the entire street and, hoping to transform the place in a multi-million commercial condo for the ultra rich, raises the rent to impossible prices. E-commerce is a thing, but not as pervasive as in the US. The city culture is being put at risk simply by predatory capitalism

</comment><comment><USER19> Same thing is happening in the greater Boston area. Many city centers have empty store fronts. Even some chains don't survive the high rent. Walgreens opened a huge space in the city center of Cambridge just across the street of a busy CVS. They closed it down about a year later. Just think how much money they wasted on this.

For me the biggest problem is the independent restaurants and coffee shops that cannot afford the high rent. They have to increase prices to survive. Most people are not willing to pay $4 for coffee or $12 for a sandwich. When you go to a coffee place you're not thinking about the rent the place is paying and if their prices are justifiable or not. Many people find cheaper places to go to. These places are usually run by people that either lucked out with landlords who didn't increase their rent for many years, or ones who own the property and are not affected by increasing rents.

Others mentioned banks that don't mind losing money because the physical presence helps their Online banking. I noticed this trend around where I live too. A new coffee shop was recently opened after the place was sitting empty for many months. The new place runs by a catering company. They probably don't mind if the place is losing money as long as it helps their catering business. It's a different way of doing marketing.

<comment><USER20> Minor point: Porter Square is not the city center of Cambridge. Central Square is.

The Walgreens in Porter Square closed due to over-saturation, not necessarily high rent costs. They plopped a store in an area with staunch competition from others _and themselves_. Perhaps they thought they'd steal CVS' business. Clearly they could not after just shy of two years. This article has more details: [http://www.cambridgeday.com/2015/07/16/walgreens-closing- por...](http://www.cambridgeday.com/2015/07/16/walgreens-closing-porter- square-location-next-to-cvs-it-was-open-less-than-two-years/).

</comment></comment><comment><USER21> I'm a New Yorker who's sad to see a lot of shops close, but at the same time can't help but think: efficient markets always correct themselves.

Assuming markets are relatively efficient, it's a _good_ thing that landlords leave lots vacant -- they're waiting for a future higher-paying tenant who can afford to pay the higher rent because they'll provide more value to their customers -- and these landlords are paying through the nose in lost rent while making that bet.

This ensures there's space ready-to-go for the expensive wine bar customers would prefer over the cheap cafe that would otherwise already be occupying it, or the luxury bakery over the dollar store -- and just like anywhere in a capitalistic system, we assume that the store that produces the most profit (and therefore can afford the highest rent) deserves the storefront, because this is the best use/value for those potential customers.

At the same time, I'm ready to rip my hair out over another favorite shop being replaced by yet another Duane Reade pharmacy or Bank of America branch. But you know who I blame? The customers, not the landlords. As depressing as it is, it's clear people in that neighborhood will now pay more for the convenience of banking and aisles of toilet paper than the old stores, and so be it.

Which is why, for the first time, I'm moving from Manhattan to Brooklyn. Which is fine -- in my eyes, parts of Manhattan may be getting worse, but parts of Brooklyn are only getting better. Neighborhoods aren't supposed to stay the same. I'm not going to lament a lost New York, when a new one is always forming!

<comment><USER22> But the article points out that a major input into this system is the valuation of properties by banks, which prefer to see corporate renters. It seems possible, at least, that a corporate landlord may, because of this, prefer to push out an individually-owned renter in the hopes of securing a corporate renter, because the property valuation by the banks will then increase. This would be immune to the popularity of the individually owned shop, so immune to an actual demand signal.

In other words, it's not the customers, it's the banks and the corporations who own the buildings.

<comment><USER23> Also banks are big and take the losses. Small businesses can't.

You can never blame the customer. They can't find it at the price they can afford, they'll move elsewhere.

</comment></comment></comment><comment><USER24> Anecdotally, I've noticed that shopping mall rents have been increased sharply over the past 5-7 years for specialty food stores. Historically in specialty foods malls would target about 15% of sales for their rents. Lately that's ratcheted up to 20% of sales. It's getting harder and harder for independent (even franchised) operators to make money in the mall.

</comment><comment><USER25> > "When they, too, fail, the stores lie vacant, and landlords, often > institutional investors, are unwilling to drop rents."

And later it's said losses can be written off.

Point being, it sounds to me, like the tax code is such that it's a win if you lease, as well as a win if you don't.

That obviously drives up demand (to own such properties).

That obviously increases price / value.

That obviously increases the owners expectation on what to charge for rent.

So now we have owners who are subsidized (read: incentives with ill effects) and need not be mindful of the market.

What could go wrong?

</comment><comment><USER26> Our markets are constructed, with rules and tax codes that favor some players over others. Perhaps now more than ever, it pays to own real estate and seek rent.

</comment><comment><USER27> I don't know why Amazon gets most of the blame for such outcomes. It is true that amazon's efficiencies cannot be matched by most stores, but IMHO, I think it is the health insurance for employees that kills small businesses in the US.

I believe the situation was bad but manageable before Obamacare and it became unbearable for many small businesses due the the ever rising costs of employees' healthcare.

<comment><USER28> > "became unbearable for many small businesses due the the ever rising costs > of employees' healthcare."

yet one more reason why "health insurance" should not be something remotely tied to your employer nor employment status. :/

<comment><USER29> framing healthcare cost in terms of insurance is probably the wrong thing to do for a society, and because healthcare is framed as "insurance", it makes it easier to suggest that the employer pays (since they already pay other kinds of insurance).

healthcare cost ought to be called what it is : levies on society, so that those who get sick can get care without paying. healthcare tax, or medical levy.

<comment><USER28> "since they already pay other kinds of insurance"

what other types of insurance? social security / medicare? some employers might provide life insurance as well, but... that's it. oh... "unemployment insurance" I guess, in some states (all of this is assuming US for discussion, btw).

<comment><USER29> Usually, workplace insurance (something like life/continuance insurance).

Some employers provides vehicles, which also has insurance associated with it.

</comment></comment></comment></comment></comment><comment><USER30> It's rent only because the next guy is willing to throw $ at running a brick and mortar retail business at that level of rent.

If people get the message the rent will fall.

</comment><comment><USER31> we need more mechanisms to punish rent seeking.

<comment><USER32> You do understand you're talking about the business of renting real estate,don't you?

<comment><USER31> yes

</comment></comment></comment><comment><USER33> I've been wondering if this is actually a problem of over-regulation. When there are more and more regulations at the national, state, city, and neighborhood level, at some point, the little-guy landlords start to give up, out of fear that they'll never be able to comply with everything and ensure that they never get sued or fined. Maybe only the big companies, with the budgets to hire lots of lawyers and clerks to handle everything, and some political connections to smooth over any mistakes, are willing to touch real estate in this market. Now maybe these big companies don't care so much about a few months or years of being vacant, as long as the long-term numbers look good.

I'm not completely sure how big of a problem that is. I have a feeling there is a larger trend of the big companies squeezing out the little guys more and more. I don't think over-regulation is the whole picture, but I'm pretty sure it's at least a small part, and maybe a pretty big one. That makes it feel rather odd that the usual recommended solution is yet more regulations. One more set of regulations that the big companies will find a way to document their way around or use political pull to get around, while the little guy can't keep up with it all or document compliance with everything, and gets their business destroyed if they mess up.

I kind of hope somebody proves me wrong actually, since this makes me a little depressed about the future.

Related: [http://slatestarcodex.com/2017/02/09/considerations-on- cost-...](http://slatestarcodex.com/2017/02/09/considerations-on-cost- disease/)

</comment><comment><USER34> Rent is just a symptom. Rent is guided with what the average renter can pay staying in business. If a retailer can't win that competition it only means that it is losing... to Amazon.</comment>


React's diff algorithm (2013) - <AUTHOR> http://calendar.perfplanet.com/2013/diff/

<comment><USER2> Just a reminder: the best part of React isn't about its diffing algorithm or the virtual DOM. Plenty of articles have been written on this (e.g. [https://medium.com/@dan_abramov/youre-missing-the-point- of-r...](https://medium.com/@dan_abramov/youre-missing-the-point-of- react-a20e34a51e1a)). The diffing algorithm is a smart way of circumventing the fact that the DOM is so slow; there's nothing to be proud of working with such thing. Ideally your platform isn't so.

Web devs will keep reimplementing parts of React elsewhere; but at least, be inspired by some other parts of React please.

<comment><USER3> >we can focus on examining React's true strengths: composition, unidirectional data flow, freedom from DSLs, explicit mutation and static mental model.

So wannabe functional programming in JS ? I always wondered why Facebook didn't just go all-in on clojurescript when they did React, they have the resources to deal with any compiler/technical issues, heck they could reimplement the compiler themselves they already maintain a bunch of PHP VM/language stuff. It does everything react tries to do but better and by default.

<comment><USER4> There are a huge number of people who don't enjoy programming in lisps and don't buy the tradeoff that homoiconicity is somehow worth sacrificing all syntax for.

You can take 'good parts' from functional programming without going 'all in'. Many of us don't agree that the 'all in' is actually better.

(See Gary Bernhardt's 'Boundaries' talk [0] for an amazing explanation of what I mean by taking the good parts of FP).

React isn't really about functional programming, it's very object-oriented. And where the parent comment refers to 'composition', they mean composition of components/view code, not pure functions as you may have interpreted it as.

Personally my dive into the Clojure community has been very frustrating, I find very few answers on how to actually compose large apps, and the answers I do find basically point back to OOP (but implemented in a syntax-less, ad-hoc manner [1]).

If I've got this wrong, please tell me, I'm dying for better answers.

[0] [https://www.destroyallsoftware.com/talks/boundaries](https://www.destroyallsoftware.com/talks/boundaries)

[1] Stuart Sierra - Components Just Enough Structure - [https://www.youtube.com/watch?v=13cmHf_kt-Q](https://www.youtube.com/watch?v=13cmHf_kt-Q)

<comment><USER3> If you've actually seen the React wrappers in clojurescript they all look really nice primarily because homoiconicity allows you to describe DOM as clojure data (and clojure has a nice syntax for vectors/map literals which helps with readability and parsing) for eg. you have stuff like [:div {:style "width: 20px"} [:a {:href "#"} "blah"] "blah"] - that's more concise than HTML and no need to fuse HTML with JS to do it.

Also you can keep that representation as datastructures, do operations on it to transform and diff it, no need for custom objects or what not. Updates are also really nice because clojure datastructures are immutable an mutation is already isolated in to special constructs. The OO aspect of React is just a sad consequence of JS - clojure has different ways to deal with polymorphism.

My impression is that all the stuff FB guys did (React, persistent data structures, unidirectional dataflow) already exist or are more natural in clojurescript than hacking it in to JS but I'm not the authority on the subject.

<comment><USER2> Are you suggesting to throw away a decade of front-end engineering in favour of writing things in Clojure/ClojureScript? What's gonna happen next time a new language comes up in ten years? Rewrite everything?

People (at least the ones I talk/work with) do understand the value of lisp. And I myself am a defender of that Hiccup-style syntax ([https://github.com/facebook/react/issues/2932](https://github.com/facebook/react/issues/2932)) and a huge Cljs fan. But judging from this comment and previous, it seems that you underestimate the value of getting work done in an already established environment.

<comment><USER3> I'm just saying that they reinvented most of the stuff that you get from clojurescript by default, and they did it in a more awkward manner because they tacked it on top of JS.

Like they already have a JS preprocessor, have their persistent datastructures, etc. and have to deal with a lot of stuff they wouldn't need to deal with in a functional programming language.

<comment><USER5> So I'm going to try and answer your original question:

> I always wondered why Facebook didn't just go all-in on clojurescript when > they did React, they have the resources to deal with any compiler/technical > issues, heck they could reimplement the compiler themselves they already > maintain a bunch of PHP VM/language stuff. It does everything react tries to > do but better and by default.

You're not correctly estimating the resources required. Every Facebook endeavor I've heard of was an attempt to keep their millions of lines of production code unchanged with the added benefit to have new code be better. (eg. PHP->Hack, Untyped JS->Flow, DOM Manipulation->React, ...)

That said, perhaps you're not familiar with these types of codebases and aren't quite grasping the magnitude of code change that would first be required for Facebook to go "all-in on clojurescript". If you haven't had the opportunity to participate in a codebase of that magnitude, there aren't really words to describe it to you. Just know its multi man years worth of effort. In practical terms its not possible because a business also needs to iterate and release new features.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Nice explanation. I'm still wondering about something. Assume that I have one big data model (the main state). I build my virtual DOM from the main state. The states from all the sub-components are derived from this main state. Now, something in the main-state is changed, but the change should affect only a single sub-component in the tree. How does React know that only that sub- component needs to be re-rendered?

I guess that it is still necessary to call setState on the sub-component, but I suspect that the logic to figure out which component needs to be re-rendered can become quite ugly, and prone to errors. Are they not addressing this issue, or am I overlooking something?

<comment><USER7> > How does React know that only that sub-component needs to be re-rendered?

It doesn't. By default it will render the whole tree again. This happens in javascript and is probably much faster than you think.

However, when an app grows large enough, this can be a source of performance issues, which is why React provides ways you can inform it about work it shouldn't have to do, namely shouldComponentUpdate. If you can compare the data and determine that a particular sub-tree doesn't need to be updated you can implement a shouldComponentUpdate callback that does this. Immutable data that can be cheaply compared by checking reference equality is the preferred way of doing this.

More info on this was recently added to the docs: [http://facebook.github.io/react/docs/advanced- performance.ht...](http://facebook.github.io/react/docs/advanced- performance.html)

<comment><USER6> Yes, I'm aware that it is possible to go around this limitation. The problem I have with this is that it kind of defeats the purpose of the library: keeping the view logic in one place.

<comment><USER8> > keeping the view logic in one place

Each component has its own logic. If you are rendering your main app state in child components you will be passing the state via props.

        var UserInfo = React.createClass({
          shouldComponentUpdate: function (nextProps, nextState) {
            if (nextProps.id !== this.props.id) {
              return true;
            }

            return false;
          }
        })

which makes perfect sense

<comment><USER6> Imagine I have a control with a large number (say N) of sub-components. Now something changes in the state of the control, which corresponds only to one of the sub-components. This change has to propagate to the right component. However, the shouldComponentUpdate() function is invoked on each of the components. This is O(N) work. This seems unreasonable.

To work around this, I could determine which component needs to change in the parent control. But this would mean a separation of logic.

<comment><USER9> But are you really going to have a single list of 1 million components or are you going to have 1000 components that each contain 1000 components? The second case is much more common and is handled just fine. If you really do need a 1 million top-level sub-components, then you need to look at different data structures other than just a flat list

</comment></comment></comment></comment></comment></comment><comment><USER6> Is it possible to automatically (without any additional code) animate the differences between two versions of the DOM? This would make it possible to, e.g., animate the creation of some space between two DIVs before inserting a new DIV in between, and animate the removal of space when a DIV disappears. This is something that is not easy in CSS alone, and could reduce much of the flickering in web-pages which potentially makes users lose their orientation (if the DIVs are large).

<comment><USER10> That's what transition groups do. When you wrap something I a transition group, it will generate events when a child is removed or added, allowing you to add required transition effects.

The CSS transition group is pretty useful: When a child is removed, it is kept in the DOM, with a CSS "exit" class added (here you could have a CSS transition for opacity, for example), and then finally removed when React determines that the animation is done. Conversely, added nodes get an "enter" class.

Transition groups are explicit -- you have to wrap your components in them -- and that's a good thing, as it allows you to control what kinds of transitions are used in different contexts.</comment></comment>


Ask HN: What tool do you use to manage your small side projects? - <AUTHOR>

I'd like to hear what people on HN use for bug / requirement tracking etc. I'm currently writing everything down in a plain text file because project management tools seem to be an overkill for small projects. <comment><USER2> I use Trello, which makes it simple to set up and track todo lists. It's free and made by Fog Creek Software.

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

</comment><comment><USER3> I've been using fogbugz. It's free for teams of 1 or 2, and it's a full- featured bug tracker that doesn't feel too heavy for one-off projects.

[http://www.fogcreek.com/fogbugz/](http://www.fogcreek.com/fogbugz/)

</comment><comment><USER4> Bitbucket for closed source projects, and github for open source ones. They both have issue tracking. What´s wrong with them?

I love the bitbucket issue tracking, because my users can actually add bugs even though the project is closed source.</comment>


Chemists provide theoretical interpretation to understand chemical reactions - <AUTHOR> https://phys.org/news/2017-12-chemists-theoretical-chemical-reactions.html <comment><USER2> Computational chemist here. The phys.org article is a pretty bad rendering of the original paper. The "theoretical interpretation" described in the headline is nothing new. The actual scientific advance described in the paper is an experimental (not theoretical) technique for measuring transition states of molecules, involving making them very cold so the transition states last longer. This lets us verify some quantum mechanics predictions, but we already had a lot of verification. Calculating small-molecule reaction paths via quantum mechanics has been a standard part of theoretical chemistry for decades. We can do it at a very high level of accuracy using millions of CPU hours, or at a passable level of accuracy using thousands of CPU hours.

Big molecules are still a challenge because the scaling of the accurate methods is very bad (N^4 or worse, where N is the number of electrons!). These calculations are something that quantum computers could theoretically do much better than classical ones.

<comment><USER3> Dude, your job looks awesome. I have been thinking a lot about the ramifications of chemestry computation since last year.

This comment [https://news.ycombinator.com/item?id=16027737](https://news.ycombinator.com/item?id=16027737) about how to get around NP-hardness made me go "Oh, can you even ask such a question? Can you expect to solve getting around this kind of problem?" and so I went researching.

I found the paper Complexity of Protein Folding [https://www.gwern.net/docs/biology/1993-fraenkel.pdf](https://www.gwern.net/docs/biology/1993-fraenkel.pdf) and chapter 4 exposes two possible realities: either nature solves NP-hard problems in polynomial time or it functions in a classic Turing machine model. I was like "Welp I guess when you put it like this, talking about nature working within a machine model I suppose it sounds rather silly, yes. It may be that nature just does her thing in her own way somehow." The paper says a protein with 100 amino acids may assume 8^100 conformations and nature solves for that in 1 second. Also the spin glass [https://en.wikipedia.org/wiki/Spin_glass](https://en.wikipedia.org/wiki/Spin_glass) model is apparently some other thing that nature solver eerly fast.

Can we chain these natural occurances in order to calculate a function with inputs in record time?

<comment><USER4> > Can we chain these natural occurances in order to calculate a function with > inputs in record time?

That's essentially what a quantum computer does.

<comment><USER2> But, a quantum computer would not in general solve NP-hard problems in polynomial time (as far as we know). The known exponential speedups are for "easier" problems like factoring and finding quantum ground states, which are not NP-hard.

</comment></comment></comment></comment><comment><USER5> Is it me or is this article especially poorly worded? It took me a little too much effort to figure out what this figure caption even means:

> Negative ions typically have a geometry that is very close to the transition > state of the corresponding neutral reactions

CH3OHF anion is prepared and de-ionized with laser light. It dissociates into methanol and F radial, under very slight changes of the involved molecular geometries...?

<comment><USER6> Phys.org is a roaring dumpster fire, and frankly the domain should never show up on HN. If it's on phys.org, they found it somewhere, and that original source will be far better than the half-assed version on phys.org.

Actual original paper... [https://www.nature.com/articles/nchem.2804](https://www.nature.com/articles/nchem.2804)

<comment><USER7> The content at the phys.org link was written by the University of New Mexico press shop (see my other comment).

<comment><USER6> And? HN deserves better... click on the DOI link at least and submit that, not this garbled secondhand trash.

<comment><USER7> My point is mostly that the problem is larger than phys.org. UNM itself is the source of the lesser article.

That phys.org just aggregates material available elsewhere is also an additional reason not to link it. It's suggested to link original articles (in a different sense than you are using) in the submission guidelines.

<comment><USER6> You're certainly not wrong, and the endless parade of press releases and aggregators of press releases are indeed, terrible. Having said that however, I've never come across a site as popular and worthless as Phys.org (edit: in this space at least). The AAAS, iiie and other maintain decent aggregators, or the original is best.

</comment></comment></comment></comment></comment></comment><comment><USER8> I can relate to their enthusiasm.

For a pchem thesis my advisor was seeing unexpected experimental results and asked me to try explaining from first principles. I started with Schrodinger's equation, let the math do the work, and wound up with a fairly reasonable match.

Looking back on it now, perhaps I had a few too many free variables (J Neumann – "with four parameters I can fit an elephant…").

In any case, to me, it was so cool to see how such a fundamental equation connects to very complex experimental processes.

</comment><comment><USER9> This title has to be one of the most genericized-press-release titles posted on HN. Almost every other experimental chemistry paper would technically fit this title! Makes you feel for the copy writer trying to write a title for some complex chemistry paper during the holidays. Despite the bland press release title, it's a pretty interesting experimental chemistry research and the original paper reads well. It's surprising how clear the (apparent) transition peaks are in the graph data. These reactions occur on such incredibly minuscule timescales it's amazing to see it so clearly!

Interesting:

> The PES is fit using the permutation invariant polynomial–neural network > (PIP-NN) method [49].

This caught my eye as I recall reading some earlier attempts at NN based polynomial fitting in QM models, but this sounds more advanced. Does anyone know if generalized neural net methods for fitting the potential energy curves are common in QM modeling now? If so, are there limitations to the method that'd prevent adopting it for fitting polynomials in other applications?

</comment><comment><USER10> are there non-theoretical interpretations?</comment>


The ignorant VC  - <AUTHOR> http://venturehacks.com/articles/the-ignorant-vc?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+venturehacks+(Venture+Hacks)&utm_content=Google+Reader <comment><USER2> partial summary:

Euro is conservative, US is aggressive, fly by the seat of pants.

Euro startups do prove, build, scale. They are good at prove and build, but they are recalcitrant about providing the funding that will allow a proven idea to really scale well.

US skips directly to the scale stage, even with a donkey like cuil.

So, US is at a disadvantage in early stages because ramp up too fast, but euro is at a disadvantage once they have a horse worth backing. Both US and Euro have a lot to learn from the other.</comment>


I Have an Apple Watch, and I'm Ashamed to Wear It - <AUTHOR> https://medium.com/@alariccole/i-have-an-apple-watch-and-i-m-ashamed-to-wear-it-872f5d87e9b3

<comment><USER2> It sounds like this is more of a minor case of social anxiety than a problem with early adoption of the Watch to me.

</comment><comment><USER3> > Apple's push to build a fashion brand with this device was certainly > understood by me, but disliked.

To "build" a fashion brand?

Oh please. Apple has been about aesthetics and being a status symbol since the turn of the century.

<comment><USER4> but the tech is not inferior or compromised. except perhaps for the lack of high end gpus on their computers.</comment></comment>


Kiva expands to US - <AUTHOR> http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2009/06/10/MNPV183N78.DTL

<comment><USER2> Wondering how this could possibly work!

In my country (Romania) the news are full with stories how gangs are robbing people on E-bay.

Comparing to E-bay which is a regular business selling physical goods Kiba sells virtual goods - the hope you'll get back your money.

Where this trust come from? What makes Kiba lenders to feel their investment guaranteed?</comment>


Would my Life be better without Technology? - <AUTHOR> http://blog.jameseggers.com/would-my-life-be-better-without-technology

<comment><USER2> great article. really well structured. I really need to cut down too. Sometimes I just feel way too connected to the internet.</comment>


Ask HN: What would you do when your employer failed to pay your pension? - <AUTHOR> <comment> who-knows95 [https://www.thepensionsregulator.gov.uk/en/contact- us/scheme...](https://www.thepensionsregulator.gov.uk/en/contact-us/scheme- members-who-to-contact/help-with-concerns-about-your-workplace-pension)

look into this, don't know where you are based.

</comment><comment><USER2> this [https://www.reddit.com/r/videos/comments/aicpm7/unpaid_contr...](https://www.reddit.com/r/videos/comments/aicpm7/unpaid_contractor_destroys_travelodge_reception/)</comment>


Show HN: ShitChat, final project in network programming course - <AUTHOR> http://zolomon.github.io/ShitChat/

<comment><AUTHOR> This is very much tongue-in-cheek, and the name is play on the words "chit chat" and the swedish "skitsnack" which shit chat becomes the literal translation of. :)

Was a fun and quite rewarding project!</comment>


My app ShoveBox is on NYTimes.com for some reason - <AUTHOR> http://www.nytimes.com/external/gigaom/2009/11/16/16gigaom-shovebox-for-the-mac-and-iphone-helps-keep-your-s-23340.html

<comment><USER2> It looks like NYT syndicates GigaOm, like how the Washington Post syndicates TechCrunch.

When we're on TechCrunch I make sure to send my friends and family the Washington Post URLs, since it looks a little more impressive to people not familiar with TechCrunch ;)

</comment><comment><USER3> For some reason. Sounds like it is there because it is really excellent. Congrats.

</comment><comment><USER4> I'd be really interested in hearing how MacHeist has affected your sales, this press included.

<comment><AUTHOR> Actually only a pretty minor boost to Mac sales.

Nice windfall of iPhone app sales to the people who got the Mac app though. Ended up selling about $5500 of the iPhone app over the past week (usually only sell <= $400/month of the iPhone app itself). This will probably be the first month where iPhone revenue is more than Mac revenue.

Support has been kinda rough lately, hopefully it will die down. Sometimes I look at these MacHeist sort of things as kind of a Faustian bargain. But I think it'll have been well worth it. I'm looking forward to sending a limited, tasteful email campaign to those 300K people when my next product/version 2 launches.

<comment><USER5> _Support has been kinda rough lately_

Let me take a stab in the dark: you've found that folks who pay less for your application have higher expectations for it, are unwilling to read the documentation, are ruder, and cause many more support requests per customer than your customers who paid full price do? How'd I do?

This phenomenon is _very_ common with shareware developers. Higher prices tend to scare away many of the pathological customers.

<comment><AUTHOR> Yeah, kinda. There are quite a few wackos like that (I've seen it _all_ in the past week), but overall it's not _too_ bad considering I have 300K new "customers."

I had no qualms today about raising the price of the iPhone app back up, now that it's fallen off the top 10 charts. It's kind of a support intensive piece of the app (e.g. it requires wifi to sync, and a lot of people have shitty wifi).

I did release an update right before MacHeist that fixed some edge cases in the syncing (see my presentation here: <http://news.ycombinator.org/item?id=899656>). That seemed to help somewhat.

I've found the difficulty of the support load can be better quantified by the number of _unique_ requests rather than the number of requests.

I hired someone to help a few months ago to do support. I felt felt very lazy/extravagent/unresourceful doing so, but it's been a huge help, especially with MacHeist. She can't troubleshoot _every_ issue, but that's perfectly fine, because she does a great job weeding out the riff raff. And she has a way thicker skin than I do dealing with customers.

I also launched a fancy new support section for my site at the same time as the MacHeist thing.

Also, there's a special box for MacHeist visitors at the top of every page that kinda tries to get them to buzz off:

<http://files.dangrover.com/macheistbox.png>

<comment><USER5> I'd describe that as "prominent, effective self-help options", and your implementation is _brilliant_. Seriously -- if you write that up in a blog post I will cite it for a decade.

I try to strike the balance between "I am always, always happy to talk to my customers" and "There are thousands of you and only one of me so I can't talk to you all every day". Mostly I fix the app and website to answer the common issues without requiring my input and, for the recurrent ones ( _cough_ Registration Key management) emphasize that they get their answer a day quicker if they use the lookup form than if they send me an email asking me to, essentially, please use the lookup form for them.

(Apropos of nothing: I would gladly abandon Registration Keys if people actually paid money for software that wasn't access controlled. Happily, the change from downloadable software to a web app has eliminated this issue for about 70% of my customers.)

</comment></comment></comment></comment></comment><comment><USER6> Congratulations - when you've got an app that's useful, effective and solves a real pain, people are gonna write about it...

I wonder if this type of publicity will start to nudge ShoveBox into the 'tipping point' of success...

<comment><AUTHOR> Thanks!

It actually desperately needs a ton of work. I want to get v1.8 (free upgrade) and v2.0 (paid upgrade) out as soon as possible. The baseline level of sales has been dwindling gradually. The MacHeist spike is an anomaly.

But I'm really busy now with my next app which may or may not pay the rent the way ShoveBox does.

It's weird actually feeling overwhelmed with my own business for once. Maybe I should do the next one with a cofounder.

<comment><USER7> >But I'm really busy now with my next app which may or may not pay the rent the way ShoveBox does.

Have you considered if this is the best use of your time right now? Was it spolsky who said you generally make a lot more money by adding new features to your old product, than by creating a whole new product?

Not as glamorous or fun, I know, but...

</comment></comment></comment><comment><USER8> Congratulations!

</comment><comment><USER9> what do you mean "for some reason" -- it's my favorite app!

</comment><comment><USER10> For the curios: <http://en.wikipedia.org/wiki/MacHeist#MacHeist_nanoBundle>

</comment><comment><USER11> Nice! It sure does sound like a nice app. Congrats. BTW: Does the iPhone app syncs using mobileme (or at least automagically) or do we have to manually open both apps and sync (Things-like syncing)?

<comment><USER12> It's a things type of syncing, apple doesn't open up sync services for iphone apps.

</comment></comment><comment><USER13> Congrats Dan! Oh and I'd just like to add that WriteRoom is ridiculously awesome. Got it from MacHeist and have been using it ever since.

<comment><USER14> WriteRoom is cool for sure. If you ever need to "upgrade" a bit, then i've personally found Ulysses to be the next logical step. It has a fullscreen mode akin to writeroom, but also supports semantic marking for later output generation + system for keeping track of related documents in a "project"

No affiliation, just like it.

</comment></comment><comment><USER15> The said link: <http://www.wonderwarp.com/shovebox/>

</comment><comment><USER16> This looks really cool and would be extremely helpful in my work-flow. Thanks, i had no idea this existed!

</comment><comment><USER17> what is your team size and how much time it took you to develop this app i am really desperate to build a simple app in iphone .. please help me out to make an estimate so i can plan over my expenses

<comment><AUTHOR> Just me. The original version of the app was made in about 130 hours, the iPhone version + desktop syncing feature in about 160.

</comment></comment><comment><USER18> Why the heck is it on there?!

<comment><AUTHOR> I dunno. It says it's from GigaOm, but I can't find any article about my app on there. The same article is posted on Salon too.

WebWorkerDaily posts the article and it's in the GigaOm "network", but I saw the same article on some random obscure blog this morning and thought nothing of it.

I wonder if this means I can put a NYTimes logo on my page and have it link to the article, or if that would be sleazy?

<comment><USER5> _I wonder if this means I can put a NYTimes logo on my page and have it link to the article, or if that would be sleazy?_

I think your concern that it is sleazy is based off of the reflexive engineer disdain of marketing. You may wish to carefully examine whether you have a rational basis for that disdain.

"As seen in the New York Times" is 100% factual and a valuable trust signal (which will make a measurable difference in conversion rates -- A/B test if you don't believe me), because it lets you mooch off the Gray Lady's 100+ year reputation for crusading liberal journalism.

Their sole purpose in life is dictating what the reasonably well informed person should know about, and now they are saying that the reasonably well informed person should know about _you_.

Granted, in this particular instance you've gotten past the gatekeepers not due to the vaunted internal checks at the NYT but because they're syndicating cheap content from an outside blog network to get all the bang from their brand without having to pay for the journalism. That suggests to me that they won't have a brand to speak of in a few years because they can't live on previously accumulated goodwill forever but, hey, it isn't your job to conserve their brand equity.

<comment><AUTHOR> Thanks. I'm usually pretty good at getting past the "reflexive engineer disdain of marketing", but I still have a lot of hangups over stuff like that.

I'm gonna do a marketing push in a month or so around version 1.8. It's gonna have a redesigned page for the app, with a screencast video, and giant-ass unmissable download/buy buttons. And a huge, throbbing NYTimes logo. :-D

</comment></comment></comment></comment><comment><USER19> Great job!</comment>


How to Calculate the Phase of the Moon - <AUTHOR> http://witchy.co/trig/ <comment><USER2> Illustrations like this one only serve to muddy the waters - [http://witchy.co/triangle.png](http://witchy.co/triangle.png)

The moon is lit from the wrong side and it has a crescent shape in what's basically an overhead projection. And it's not like there's much else going on in the illustration, it's one of its main elements.

<comment><USER3> You're not wrong, and for the amount of effort put into this presentation, I'm surprised at this oversight. But if you can think of this image as a schematic, it's not a huge problem.

</comment></comment><comment><USER4> Some time ago I calculated moon phase for date of birth for 90k users and I found no correlation.

<comment><USER5> I calculated gpa vs. date of birth, there is a very slight skew towards post- july being more apt in terms of gpa.

Not sure if significant.

<comment><USER6> That would imply a student being towards the upper end of the age cut off for starting kindergarten/elementary school (in the US at least, varying by state).

</comment></comment></comment><comment><USER7> 9K of Javascript to handle common Sun, Moon calcs: [https://github.com/mourner/suncalc](https://github.com/mourner/suncalc)

<comment><USER8> Fwiw it's 9KB, not 9K SLOC.

<comment><USER9> Is this a common misconception? Personally, I assume KB in the context given.

</comment></comment></comment><comment><USER10> The initial diagram showing new/half/full moon goes off my screen, presumably because I'm at 150% desktop zoom and it possibly somehow gets confused by that?

Also the feedback about the wrong side being illuminated.

</comment><comment><USER11> Very hard to read on my iphone

</comment><comment><USER12> The font seems to have an extremely strong glare effect in combination with other colors on the page.

<comment><USER13> The font is made of sublimated astral magick.

</comment></comment><comment><USER14> Very nicely done.</comment>