Why Don't Rich People Just Stop Working? - ajay-d https://www.nytimes.com/2019/10/17/style/rich-people-things.html <comment><AUTHOR> This is a topic I've personally given a lot of thought.

I worked for a Silicon Valley company that became quite successful. I made enough money to quit and live off the investment income. I got to the level of wealth I needed and it was enough for me and retired. I enjoyed my work and my job, but I also wanted to do other things in my life, and having a full-time job in Silicon Valley precluded that.

I was at my employer early enough that I had quite a bit of personal contact with the CEO at this company, and he did not think like me at all. Money wasn't the main thing for him. He wants to chase down his competitor, watch it struggle in death, chew on the meat, bury the corpse, dig it up again, make sure it's dead, and then bury it again. This guy lives for the hunt, and the hunt is all there is.

When I figured this out, I realized I could never be him. I couldn't summon that level of motivation on a constant basis even if I used every bit of my willpower.

And I'm glad that I was on this guy's side and not his competitor.

<comment><USER2> It's their thing though, right? It's their passion.

The author seems to be making a weird argument, to me:

If you're working for love, status or meaning (rather than need)... you should... stop? Morally? Because you have enough money already?

There are poets, painters and golfers who continue their careers long after they achieve financial independence.

I wonder if this author would describe them in the same terms.

"You're too famous, get off the stage".

<comment><USER3> Maybe just take little to no additional pay and try to improve the ratio of pay between levels in your company? Then you can keep at your passion and maybe even improve productivity by employing a happier workforce.

I wouldn't be surprised if some executives do this. I know there are many that take $1 salaries and are compensated with equity, though I'm pretty sure that isn't quite the same thing.

<comment><USER4> This would involve the _opposite_ of the competitive instinct being describe here. IME - the type of executives being described here sees everyone else as a competitor.

Moreover, the billionaire executives I have met/worked for didn't seem to 'enjoy the competition' as much as they seemed unable to comprehend any other way to live.

</comment></comment></comment></comment><comment><USER5> It seems like the article totally misses the obvious explanation, which is that these people became wealthy by doing things that they enjoy and are passionate about, which just happen to also pay them money. Maybe the people during the dot-com boom whose plan was to make $2M then retire to Napa Valley did exactly that, and by definition, never became billionaires. There are probably billionaires who don't enjoy their work, but I suspect they aren't common.

<comment><USER6> This comment hits the nail on the head. The few billionaires I know love what they do. They are way beyond the retirement age and are still spinning up new businesses all the time.

<comment><USER7> I think this argument is more about why they continue trying to make money, not "working" because it's something they enjoy.

Why are they spinning up businesses instead of non-profits or cooperatives? I think that's what this article is exploring.

<comment><USER6> > why they continue trying to make money

That is just a by-product of doing what they enjoy. They certainly spend it and donate a lot of it.

> Why are they spinning up businesses instead of non-profits or cooperatives?

They do both.

</comment></comment></comment></comment><comment><USER8> There should be another word for it.

"Work", for most people, is a thing you have to do until you die or retire.

"Work", for rich people, is a hobby that you can quit whenever you want without suffering dire consequences.

Same word but totally different meanings based on your net worth.

<comment><USER9> Indeed, also most wealthy people I know don't really worry about their PTO, asking their boss if they can travel when necessary, explaining to someone why they were out of the office playing golf, etc.

Most of the wealthy people I know work plenty, but they also do it on their schedule and make it fit with their priorities.

</comment></comment><comment><USER7> A lot of the comments in this thread are saying it's because the rich are passionate about what's making them money, or their work is like a hobby to them.

I think "work" as it is said in this article, is maybe better read as "making money". The article is more about why do the comfortably rich continue putting in so much effort to make even more money. Sure, they can continue to do hobbies or whatever and call it "work", but why continue trying to make a profit, instead of paying employees more, or running non-profits, or pursuing hobbies in ways that doesn't generate them more massive amounts of money?

</comment><comment><USER10> Because the only thing left to do is contemplate your existence. Ever tried that for an extended amount of time?

<comment><USER11> Um, the opposite of work is "play", not "do nothing and rot."

I have plenty I'd like to do out of pure enjoyment if I didn't have to wage slave 8 hours+commute time a day.

</comment></comment><comment><USER12> When I was at a start up the CEO was someone who had started a business, sold it, then retired. He said he enjoyed it for a month, he did some things he wanted to do, cooked. Then ended up missing work and applied to our company. Some people love to work.

</comment><comment> crooked-v Why don't all retired people just stop working?

Why don't actors who could live a comfortable middle-class lifestyle off TV residuals just stop working?

It's the same answer: most people like to do productive stuff at least some of the time.

</comment><comment><USER13> From the Gita:

The demoniac person thinks: "So much wealth do I have today, and I will gain more according to my schemes. So much is mine now, and it will increase in the future, more and more. He is my enemy, and I have killed him; and my other enemy will also be killed. I am the lord of everything, I am the enjoyer, I am perfect, powerful and happy. I am the richest man, surrounded by aristocratic relatives. There is none so powerful and happy as I am. I shall perform sacrifices, I shall give some charity, and thus I shall rejoice." In this way, such persons are deluded by ignorance.

</comment><comment><USER14> I suspect that for a lot of people it's more fun to make the money than to spend it. Some people (like myself) would rather try to do hard things and fail than to never try at all. If you do this enough times, eventually you get lucky. Once you eventually find yourself with money, the novelty wears off quickly and you realize you want to get back to building and creating things.

This is probably part of the reason why many people who get windfalls (lottery, inheritance, etc) spend all the money and wind up broke again. Easy come, easy go.

</comment><comment><USER15> If you are good at doing something, in this example that something being making money, ceasing that activity means doing something you are less good at. I don't think many people have the discipline or curiosity to say: "Well that was fun, I figured it out, time to learn something new". It's a brain thing, we get a dopamine reward by succeeding. Moving on requires breaking that addiction. In my opinion, it's not unlike any other addiction.

</comment><comment><USER16> This is why a UBI doesn't create a nation of layabouts!

</comment><comment><USER17> A relevant quote from Pink Floyd:

take all your overgrown infants away somewhere and build them a home a little place of their own the fletcher memorial home for incurable tyrants and kings and they can appear to themselves every day on closed circuit t.v. to make sure they're still real it's the only connection they feel

</comment><comment><USER18> Because they don't work for money but for power.

The same reason rich kings don't just stop being kings.

</comment><comment><USER19> Michael Douglas said it best: "It's not about the money. It's about winning."

</comment><comment><USER20> They do, then they get bored

</comment><comment><USER21> They are not really working. They are now enjoying their hobbies which now includes making more money.

Make no mistake. People work to survive or maintain a standard of living or raise their kids. Many rich people are not doing this. Most of them are doing what they enjoy with extreme intensity. This is NOT work in the same sense that most people "work."

</comment><comment><USER22> Because sitting around doing nothing all day is boring. Most people that are rich are most likely very competitive and need that competition to feel happy and fulfilled.

<comment><USER23> Why would they do nothing?

With all the money they made they can do whatever the hell they choose to.

</comment></comment><comment><USER24> They absolutely do stop working and start "working"</comment>


Proportionate Response - <AUTHOR> https://slate.com/news-and-politics/2020/05/george-floyd-protests-minneapolis-police-fires.html <comment><USER2> Seems to be encouraging violence or justifying it at min.

Please refrain from posting links which promote crime and violence

<comment><USER2> Did someone not like getting flagged for promoting others who promote violence?

Are you upset because most believe strongly that one wrong does NOT justify another?</comment></comment>


Binary Search Eliminates Branch Mispredictions (2012) - <AUTHOR> http://www.pvk.ca/Blog/2012/07/03/binary-search-star-eliminates-star-branch-mispredictions/ <comment><USER2> It would be so _very_ awesome if Intel/AMD decided to make REPNZ/REPZ SCAS(B/W/D/Q) search, in parallel, an entire cache line at once (and in the case of multiple matches, a priority encoder would select the first one) - they're already doing this with associative memory for the cache tags. Much like the vectorised SSE version, but smaller (can't get better than a single instruction) and could even be put inside a binary search of the cache-line- sized blocks for more speed, basically a vectorised binary search. Would certainly be interesting to compare with the other approaches here.

</comment><comment><USER3> In my experiments conditional moves have been actually slower than predicted branches.

<comment><USER4> That's not a terrible rule of thumb, but one can often do better. If you (the programmer) know that consistently correct prediction is impossible (as it is often is for binary search) then it's often beneficial to convince the compiler to generate conditional moves rather than branches. This is what the article shows for the test results.

Conditional moves (CMP/CMOVcc) will always be slower than correctly predicted branches (CMP/JMPcc) if the branch is predicted correctly. If the prediction accuracy if 50%, the conditional move will always be faster. The threshold for prediction accuracy differs for different processors, but 85% is a reasonable approximation. This necessary threshold is moving higher with modern processors (CMOV is getting relatively faster).

</comment></comment><comment><USER5> Someone tell me if there's an error in my takeaway:

For short sequences, linear searches can be faster than binary searches because a short sequence of mostly predictable branches (no,no,no,no,yes) is usually faster than an even shorter sequence of unpredictable branches (yes,no,yes). To work around this, the author restricts his searches to compile-time constant sequence lengths so that GCC can unroll the fixed-size binary searches into short, fixed, linear series of branchless conditional move instructions. That setup executes reliably faster than optimized linear searches for in-cache sequences of size 8, 16, 32 and 64.

However, if the data is uncached, then memory latency dominates ALU execution time and the memory prefetcher's preference for forward, linear scans leads to linear searches being faster than branches binary because of the difference in memory access patterns. Interestingly, the behavior of the prefetcher on the author's machine appears to prefer forward scans over backward scans at a sub- cache-line level.

<comment><USER4> Yes, I think your first paragraph is the correct takeaway, but I'm not sure about the second.

Using Haswell as the example (because it's current and I'm more familiar with it right now), the linear search comparisons are really fast: the processor can handle 2 correctly-predicted branches-not-taken per cycle. But the single branch misprediction at the end costs about 15 cycles, plus the latency of reloading from L1 any registers where the load had already been speculatively executed (about another 5 cycles).

The conditional moves are slower than simple comparisons, but still very fast: the CMP/CMOVcc pair can have a throughput of 1 per cycle if unrolled, so half as fast as a CMP/JMPcc that is correctly predicted as not taken. But there is no penalty at the end of the loop, so the overall speed is better for small sizes out to a 64-byte cacheline or so. I haven't tested, but I think the branchless approach has extended his lead in recent years. He's using Westmere, which is pre-Sandy Bridge, which is pre-Ivy Bridge, which is pre- Haswell.

But the question of how this changes for data that needs to be brought into a cacheline from memory is probably more complicated than just the memory latency. I think the issue is more that the memory latency swamps the reading, and it isn't (or shouldn't be) that linear searches can take advantage of prefetching but binary can not. It just might take some 'trickery'. For the small sizes he's dealing with, you should be able to just load it all without waiting to see what you need. And I don't think that there is currently any advantage of forward versus reverse scans regarding prefetch, although one or the other might allow the loop to be structured differently.

</comment></comment><comment><USER6> Cool! I wonder if you can improve things even more by running several binary searches at once, by interleaving several of them together, then combine the results. This way there is work for the CPU to do during the data load latencies (or write back if it's not fully bypassed).

<comment><USER6> Well I tried it on an IvyBridge Xeon E5-2680-V2, gcc version 4.4.3 with -O3, table size = 32. Single table at a time ends up being faster:

        155 M searches / sec for one table at a time.

        108 M searches / sec for two tables at a time.

        88 M searches / sec for four tables at a time.

The interleaved version of the code looks like this (for two at a time):

        #define LOGSIZE 5

        unsigned dsearch (unsigned key, unsigned * vector)
        {
            unsigned size = (1 << LOGSIZE) / 2;
            unsigned * low1 = vector;
            unsigned * low2 = vector + ((1 << LOGSIZE) / 2);
            unsigned i;

            for (i = LOGSIZE - 1; i != 0; i--) {
                    size /= 2;
                    unsigned mid1 = low1[size];
                    unsigned mid2 = low2[size];
                    if (mid1 <= key)
                            low1 += size;
                    if (mid2 <= key)
                            low2 += size;
            }

            if (*low2 == key)
                    low1 = low2;

            return low1 - vector;
        }

The compiled code ends up branch free (gcc does a good job), but is 30 instructions instead of 18.

Oh well, was worth a shot..

<comment><USER7> I think the reason it's slower for you is that the CPU pipeline is starved for data... even when it is in the same cache line.

Since we are geeking out on binary search on a Saturday night, here's an approach I developed for traversing multiple binary trees in parallel with SIMD instructions, no branches and data prefetching. It's used at Bing to calculate the document score that ranks Web search results, and traverses thousands of Machine Learning derived decision trees. It resulted in a 4x speedup over the naive approach.

[http://web.cse.ohio- state.edu/~ren/papers/CGO13_BinRen.pdf](http://web.cse.ohio- state.edu/~ren/papers/CGO13_BinRen.pdf)

<comment><USER8> This is very cool. Thanks for sharing!</comment></comment></comment></comment>


UTF-8 Original Proposal - <AUTHOR> http://www.cl.cam.ac.uk/~mgk25/ucs/utf-8-history.txt <comment><USER2> One important way in which the UTF-8 standard differs from Ken Thompson's and Rob Pike's original proposal: The 5th and 6th bytes were eliminated. The encoding is now always 1 to 4 bytes long.

But UTF-8 can still represent all of Unicode's 1,114,112 code points.

</comment><comment><USER3> I'm a big fan of a lot of these 'back of the napkin' and 'seat of our pants' origin stories of the standards we often take for granted today. It always helps me appreciate what we have and the possibility that we can create something new.

</comment><comment><USER4> email@example.com ...</comment>


Yale Lecturer Advises: Flush the Prozac and Hack Your Own Happiness - <AUTHOR> http://www.wired.com/culture/culturereviews/magazine/16-02/pl_print

<comment><USER2> Even simpler: just be happy!

Yeah right...</comment>


Making Open and Machine Readable the New Default for Government Information - <AUTHOR> http://www.whitehouse.gov/the-press-office/2013/05/09/executive-order-making-open-and-machine-readable-new-default-government-

<comment><USER2> Worth noting: The White House released the memo on GitHub[1] and used GitHub Pages to publish[2].

[1] [https://github.com/project-open-data/project-open- data.githu...](https://github.com/project-open-data/project-open- data.github.io/blob/master/policy-memo.md)

[2] <http://project-open-data.github.io/policy-memo/>

</comment><comment><AUTHOR> Comments from the Sunlight Foundation: [http://sunlightfoundation.com/blog/2013/05/09/open-data- exec...](http://sunlightfoundation.com/blog/2013/05/09/open-data-executive- order-shows-path-forward/)

</comment><comment><USER3> >4(b) This order shall be implemented consistent with applicable law and _subject to the availability of appropriations._ <

>4(c) This order is not intended to, and _does not, create any right or benefit_ , substantive or procedural, _enforceable at law or in equity_ by any party against the United States, its departments, agencies, or entities, its officers, employees, or agents, or any other person.<

(emphases mine)

Don't these provisions take the teeth out of the order?

<comment><USER4> Re: 4(c) Executive orders creating causes of action is a very hairy topic. In theory, executive orders are instructions by the President to the bureaucracy to guide the executive's exercise of discretion delegated by Congress. They are not laws and generally are not construed to affect the rights of third parties by creating causes of action.

Re: 4(b), every action of the executive is subject to the availability of appropriations.

</comment></comment><comment><AUTHOR> The White House also posted a blog entry about this with many additional links: [http://www.whitehouse.gov/blog/2013/05/09/landmark-steps- lib...](http://www.whitehouse.gov/blog/2013/05/09/landmark-steps-liberate- open-data)

</comment><comment><USER5> This is an unsexy directive that could be a profound game-changer for civic society. If you've ever tried to get data from a public entity and had to argue about the particulars of PDF over Excel, this kind of statement is at least a good precedent to work from...some information will still be unparsable, just as much information, period, is still withheld despite transparency laws...but this is a pretty strong statement nonetheless.

Edit: I do think there's a large risk of an unintended chilling effect, as well-intentioned as this initiative. The blog post that was linked to later in this discussion talks about how defaulting to machine data will "ensure privacy"...which can only mean that there will be some process to decide which data should be machine data and which shouldn't...and, I think this will inevitably cause some datasets to just not be released at all, if there are large technical concerns in making sure the data doesn't "violate privacy"

As an example, a couple years ago the Obama administration took down a public database after a doctor complained that a newspaper was able to use it to track evidence against him in a story:

[http://www.propublica.org/article/how-complaints-from-a- doct...](http://www.propublica.org/article/how-complaints-from-a-doctor- caused-the-govt-to-take-down-a-public-database)

The database contained anonymized data about doctor malpractice records...but of course, if you have a doctor with a particularly long history of malpractice in a s single zip code, it's not hard to connect those anonymous records to an identity. So I think there will be some cases where an agency will decide not to put up data because of the fear that computerized analysis of it will reveal things that they don't want revealed.

<comment><USER6> > If you've ever tried to get data from a public entity and had to argue about > the particulars of PDF over Excel ...

Or my favorite, the entities that send a PDF export of an Excel spreadsheet.

<comment><USER7> Lucky. PennDOT sent me screenshots of a spreadsheet, pasted into a doc.

<comment><USER8> Oh man. That is a winner.

<comment><USER9> <http://thedailywtf.com/Articles/Web_0_0x2e_1.aspx>

</comment></comment></comment></comment></comment><comment><USER10> Now we need to work on getting all 50 States, and the various county/municipal governments to do likewise...

<comment><USER11> Sadly, the Supreme Court just (unanimously) endorsed steps in the opposite direction.[1][2]

The oral arguments included outrageous statements from the usual suspects, and what sounded almost like intentionally obtuse statements about the value of open government. Alito chortled in his written opinion, that with respect to freedom of information laws in general: "There is no contention that the Nation's unity foundered in their absence, or that it is suffering now because of the citizens-only FOIA provisions that several States have enacted".[3]

[1] [https://www.eff.org/deeplinks/2013/05/scotus-foils-foia- advo...](https://www.eff.org/deeplinks/2013/05/scotus-foils-foia-advocates- challenge-citizens-only-records-laws)

[2] [http://www.opengovva.org/foi-blog-list/1680-my-public- record...](http://www.opengovva.org/foi-blog-list/1680-my-public-record-im- mad-as-heck-at-mcburney-opinion)

[3] [http://www.washingtonpost.com/politics/supreme-court-says- st...](http://www.washingtonpost.com/politics/supreme-court-says-states-may- bar-information-requests-from- nonresidents/2013/04/29/37d41134-b105-11e2-bbf2-a6f9e9d79e19_story.html)

<comment><USER12> I read the Court opinion [1] (which is a fairly easy read).

The situation is that "Virginia's Freedom of Information Act (FOIA) grants Virginia citizens access to all public records, but grants no such right to non Virginians." [1] The plaintiffs claimed that this law violated their constitutional rights. The court disagreed (and cited precedent).

It is not the job of the court to decide weather or not a law is a good idea. It is only their job to decide weather or not it is constitutional.

[1] <http://www.supremecourt.gov/opinions/12pdf/12-17_d1o2.pdf>

</comment></comment></comment><comment><USER13> Specially patents.

Require all blueprints to be digitally accessible, with stl or step open formats for 3D shapes and svg for 2D.

I continue seeing crappy drawings in new patents. What year is it? 1891? In 1891 they were patents better formatted than today.

<comment><USER14> Patents will be treated in a special manner?

</comment></comment><comment><USER15> Its also useful to have the business of government open and machine readable. In Ireland we have recently had a change in how debate information from our Parliament was published forcing a complete overhaul of the website most people use to keep track of their public representatives. [http://www.thejournal.ie/kildarestreet-com-back-from-the- dea...](http://www.thejournal.ie/kildarestreet-com-back-from-the- dead-880278-Apr2013/)

</comment><comment><USER16> I wonder when the White House will be offering an RSS feed of citizens they've executed extra-judicially? Or perhaps a social network graph linking lobbyists and politicians & their staff?</comment>


Sorting the Slow Way: Perversely Awful Randomized Sorting Algorithms (2007) [pdf] - <AUTHOR> http://www.hermann-gruber.com/pdf/fun07-final.pdf <comment><USER2> I always liked the quantum bogo-sort algorithm:

1) Randomise list

2) if list not in correct order, destroy the universe

The universe that's left will have the correct answer.

<comment><USER3> Note that the random source should be truly (in quantum sense) random for this to work.

<comment><USER4> "Help, I used a PRNG and I accidentally destroyed all known universes"

<comment><USER5> Better check StackOverflow.

</comment></comment></comment></comment><comment><USER6> Choosing the swapped element from the head of the array while traversing backwards is even better:

[https://gist.github.com/SpComb/b8c722abde2b04a94b14](https://gist.github.com/SpComb/b8c722abde2b04a94b14)

And specific choices of random seed also have some impact :)

</comment><comment><USER7> I've implemented bogosort, though only for illustration purposes (honestly...). Drawing a graph comparing running times of two or three algorithms as the size of the input increases is quite instructive, especially once you see that bogosort goes off the scale (whatever linear scale you use) pretty quickly.

To be pedantic (and why not), I don't think that the procedures described in the paper strictly qualify as algorithms because there's no guarantee of termination. That's part of the fun, of course.

<comment><USER8> > To be pedantic (and why not), I don't think that the procedures described in > the paper strictly qualify as algorithms because there's no guarantee of > termination.

I don't think that's part of the description of 'algorithm' (although I don't know if the word _has_ a technical definition, so that we may be left arguing about how we use the word personally). Otherwise, there could be no algorithm for listing all the natural numbers, for example.

<comment><USER9> IIRC the formal definition is something like (but probably not) : any finite set of steps that can be represented by a Turing (complete?) machine.

I have seen definitions both with and without the requirement for a halting state.

Fortunately someone will be along shortly to explain it properly.

<comment><USER8> However, the _existence_ of a halting state does not imply that all execution paths eventually reach it.

Certainly I have never seen a definition (of an algorithm, rather than, say, a total language) that builds in that requirement; otherwise, what would be the objects considered in the halting problem? By this definition, they couldn't just be algorithms, or else "RETURN TRUE" would be a correct decision procedure.

</comment></comment></comment></comment><comment><USER10> Has anyone analyzed the MCMC version?

        while not sorted:
            swap(a[rand(n)], a[rand(n)])

<comment><USER11> IIUC that's covered in the paper, as bozo-sort (or bozo-sort+ if the two random numbers are different).</comment></comment>


Goodbye Old Friend. R.I.P. Rajeev Motwani - <AUTHOR> http://gigaom.com/2009/06/05/goodbye-old-friend-r-i-p-rajeev-motwani/ <comment><USER2> Holy shit. The article is not even entirely correct - he was teaching classes as recently as 3:15 this afternoon, when I took his CS154 final. I saw him yesterday, in a meeting. I didn't know him well at all, but he was a very good professor...he was going to be on sabbatical next year. This is a complete shock...I don't know what happened, but it must have been sudden, because he seemed perfectly healthy yesterday afternoon.

My deepest condolences go to his friends and family.

<comment><USER3> my condolences go to you too endtime. I can't imagine how shocked you might be when someone you have seen just yesterday is no longer with us.

<comment><USER2> Thank you...it is very strange and upsetting.</comment></comment></comment>


Ask HN: Help, What agile project mgmt tools work for you? - <AUTHOR>

I recently went from working at a great company to freelancing on my own. I'm about to start two projects where I will be acting more as a PM than the sole developer. I really want to follow a solid process and I'm trying to figure out the best set of tools to use and am pulling my hair out.
Things I would like: (1) An elegant, usable, hosted app (2) manage user stories (3) manage dev tickets features/bugs (3) track time against tickets (4) manage overall milestones and project status, feedback look w/ client
I feel like I've signed up for every trial out there and nothing really satisfies everything. The right solution feels like it should be some mashup of Basecamp + Harvest + Pivotal Tracker
What tool or combo of tools are you guys successfully using and can recommend with conviction? <comment><USER2> I've used Redmine extensively both as a freelancer and in small and medium sized shops. It satisfies (1), has the capacity for (2), especially with certain plugins, takes care of (3) better than any other app I've used...

You have (3) twice, but it also handles time tracking, and via other plugins handles it quite well and can even handle billing and invoicing from time tracking data. Project status, milestones (it calls them versions, but everyone I know uses them as milestones), and so on.

And if there's anything you don't like about it, hey, it's a rails app, or if you don't want to change it yourself, there's a very vibrant community around it, and I even know a guy who does custom Redmine development work for a living.</comment>


Microsoft has been making quality assurance mistakes lately - <AUTHOR> http://www.computerworld.com/article/2859902/at-microsoft-quality-seems-to-be-job-none.html#linkedin <comment><USER2> One of the main points:

> how in the world can a patch to the Web browser lock up the operating system > when you have an office suite installed?

In a perverse way, I enjoy stuff like this. Why? Because, someday, Raymond Chen will write about this and I will get to read about it on The Old New Thing, and while Chen will do a wonderful job of explaining the immediate causes, they will point to other technical oddities so bizarre that I will be reduced to a kind of mute incomprehension usually reserved for people who deal with the really _interesting_ anal insertion cases in our fine nation's ERs.

I enjoy that feeling.

[http://blogs.msdn.com/b/oldnewthing/](http://blogs.msdn.com/b/oldnewthing/)

<comment> mark-r Too bad there's only one Raymond Chen. I'm sure there is enough material within Microsoft to keep 10 of him busy.

</comment></comment><comment><USER3> This is exactly what I thought would happen when they gutted their QA staff and reassigned the surviving testers as developers. Your employees act in accordance with their incentives, and the incentives aren't there for QA. Microsoft made it clear that they only value feature development and shipping, and their employees now associate "doing QA" with "being fired en masse".

To corrupt a phrase, they've crapped their bed and now they have to lie in it.

Edited to add: I'm not some hardcore "M$FT SUXXXX" guy. I like and use their products, but I'm deeply concerned about the direction the company seems to be heading.

<comment><USER4> This is something that deeply bothers me in the software industry, the segregation between Dev and QA, and the low value placed in QA. "Oh whatever, QA are low-paid techs that just run scripts!" No. QA is vital to the _functionality_ of the product, and a proper QA person should be just as capable a programmer as a developer in order to 1) write and maintain a test suite and 2) understand the tested program and how best to test it.

My previous company in Europe understood this, and that seemed the norm in the surrounding industry. My current in America doesn't, and that seems the norm in the Silicon Valley.

<comment><USER5> I'm a Quality Engineer, and have worked for a number of large and small companies in the Valley after moving into quality from software engineering 13 years ago. I've seen a lot of teams.

Problem is it's a feedback loop. A lot of companies maintain (or did maintain) armies of unskilled people who basically were script executors, with maybe a bit of barely-trained skill in finding equivalence classes and boundary testing so that basic test plans could be written.

I wouldn't even call this QA, even if it was misidentified as such--it's Quality Control to catch problems after the fact, with no front end assurance whatsoever. It's honestly really only good for pissing off people when you stop the shipment at the last minute. And that lack of value has been broadly recognized. When you combine the high cost associated with the brute-force documentation associated with verbose test scripts, result templates, and other prehistoric process artifacts aimed at this level of tester (and which are usually simply unnecessary and actually detrimental to agility and pace) it's no wonder they're being cut.

Problem is as classic brute force QA teams get gutted, the market has been flooded with these testers, and most of them kind of suck. Hiring a decent quality professional has gotten damned difficult. And when everyone you meet with "QA" in their resume is a non-technical, uninfluential yo-yo, you get a pretty bad impression of the discipline.

In the meantime, everyone as skilled, interested, or immersed as you describe has been moved into software engineering, because QA was treated as an "entry- level" position and nobody wants to be a non-technical, uninfluential yo-yo. The rise of the Software Engineer in Test is as much a collective gambit to keep skilled people in quality as it is identifying a new skill-set. And for people in my line of work, identifying yourself as a SET has about a 30% pay differential over identifying yourself as a QA Engineer, so there's plenty of incentive to move in that direction.

But even then, the rise of the SET reflects an over-reliance on automation, and an under-reliance on process-based quality improvement and the type of fuzzy testing and intelligent guessing only a human is going to reasonably provide. The net result is that edge and corner cases escape, because automation is pretty shitty at catching those unless a fuzzer or an automated monkey (which is essentially a UI fuzzer) can be used. Generally, you only find problems where you've programmed it to look, which will be necessarily be pretty narrow, and the automation cannot use discretion to vary off the script to where new problems actually might lie. People have conflated the value of QA with the value of bad QA, and have chucked it out the window without understanding the cost. I'd guess that many have never even seen good QA to understand what it can do.

Nevertheless, this particular story is egregious. However much you cut back on quality control or assurance, the _ONE FUCKING THING_ you always guarantee is that the user can get out of any problems that arise with minimum damage to money, data, time, and customer goodwill, roughly in that order of priority. Bugs in updates that kill your code signing stack and block further updates are just plain unforgivable.

</comment></comment></comment><comment> sjm-lbm Unless I'm missing something, this article really seems unreasonably harsh. He cites two bad updates within the past months (one for Windows 7, one for Exchange) that have had to be pulled due to issues, but it seems like well over half the article is devoted to complaints about patches for Windows 10 - an (officially) unreleased product.

<comment><USER6> Yeah, this article is FUD.

The Windows 10 piece is stupid - it's a pre-release OS, these things happen. It's why they haven't released the OS yet, so I'd say their QA process worked. Pre-release OSes don't go through the same level of QA - if you don't like it, you should use a supported OS.

Second, with Exchange updates, there's kind of an unspoken understanding that there is no way MS can test every scenario their users will throw at Exchange. So updates are often released that can cause edge case issues, with the understanding that their large customers will test the updates in a test environment before deploying them. If issues come up, Microsoft can pull the update. These kinds of retractions are not uncommon with server software.

<comment><USER7> How long can you responsibly run Exchange on the internet after a security patch was released? The recent Drupal SQL injection [1] showed that attackers have databases of fingerprinted services, just waiting for an update that shows them how to exploit these systems. Reverse engineering the binary patches for Exchange and building a reliable exploit out of them probably takes longer than it did in the case of that SQL injection in Drupal. But how long a testing period is too long?

1: [https://www.drupal.org/PSA-2014-003](https://www.drupal.org/PSA-2014-003)

<comment><USER6> In the case of something like a corporate Exchange server, you can run an IDS/IPS system in front of them to block any specific exploits. Even then, enterprise configurations of Exchange are usually quite unique to the company, so there's a low likelihood of a security problem being exposed to the outside.

</comment></comment></comment></comment><comment><USER8> Ordinarily I would brush off complaints about prerelease alpha software quality. But the same problems are affecting mature flagship products.

Last month a Microsoft Visual Studio update intercoursed all our Azure development machines. We never got any reply from Microsoft, and had to reimage all the machines. I see from [https://connect.microsoft.com/VisualStudio/feedback/details/...](https://connect.microsoft.com/VisualStudio/feedback/details/1029189/after- update-4-has-been-installed-such-packages-are-failed-to-load) this has nearly a dozen repos, and still no official reply or workaround.

<comment><USER9> Forget Connect. It's a barren dustbowl full of tumbleweed. If it's urgent shell out for a PSS support issue. Can't remember what we pay per "urgent/high priority" incident but it's small potatoes compared to waiting around for a response on Connect.

I've emailed Scott Guthrie a couple of times in the past about the sorry state of Connect. Maybe they'll just shoot it in the head and stop pretending it's useful to anyone.

</comment></comment><comment><USER10> I stopped reading when he suggested MS buy Stardock and "call it a day". This is what passes as news/journalistic content at Computer World? And how in the world did it bubble up onto HN?

I hold out hope that Microsoft has bigger plans for it's operating system than simply pandering to the tech-media's demands for, of all things... the start menu to return.

<comment><USER11> The Start8 Windows 8 dock (in windows 8 mode) is more in place with current UI of Windows than Microsoft's Windows 10 one.

</comment></comment><comment><USER12> The title seems to apply to Apple, too (see iOS and Yosemite WiFi bugs), and could probably be applied to Google, too (Hangouts bugs, Lollipop problems, etc). But mistakes happen and many bugs are less obvious to reproduce than others, so I wouldn't point fingers too hard, personally.

<comment><USER13> If a car blew up and left you stranded whenever you filled it with gas, or unlocked its doors whenever you left it out in the rain, you'd demand a refund and perhaps compensation.

It's a testament to the usefulness of lawyers that the big players in the software industry don't even pretend they can work at the level of professional and managerial competence offered by almost all other consumer and B2B industries.

<comment><USER14> Seriously! You never hear about a car would accidentally accelerate when you try to brake, or that the tires would spontaneously blow out, or that they would just plain roll over. I mean, the phrase "automobile recall" is practically an oxymoron!

[1] - [https://en.wikipedia.org/wiki/Toyota_Prius_(XW30)#Recall](https://en.wikipedia.org/wiki/Toyota_Prius_\(XW30\)#Recall) [2] - [http://www.forbes.com/2000/08/18/mu3.html](http://www.forbes.com/2000/08/18/mu3.html) [3] - [http://www.cbsnews.com/news/toyota-will-recall-lexus-suv- for...](http://www.cbsnews.com/news/toyota-will-recall-lexus-suv-for-rollover- issue/)

<comment><USER15> The fact that "automobile recall" is something that exists and is expected when defects occur, but "software recall" largely does not exist, was his point.

<comment><USER16> It's almost as if software and automobiles were completely different things! These comparisons are pointless.

Reliability of hardware or software is a trade off. If your software or hardware is responsible for keeping people alive then more time and money is spent on ensuring its stability and that is then factored into the cost.

</comment></comment></comment></comment></comment><comment><USER17> The _Windows 10 Technical Preview_ is available to author as part of Microsoft's quality assurance program. Technical Previews are alpha software [1] by another name and Release Candidates are beta software in Microsoft speak.

[1] see: [http://www.hanselman.com/blog/IntroducingASPNETVNext.aspx](http://www.hanselman.com/blog/IntroducingASPNETVNext.aspx) and [http://blogs.msdn.com/b/cesardelatorre/archive/2014/05/12/th...](http://blogs.msdn.com/b/cesardelatorre/archive/2014/05/12/the- future-of-net-in-the-server-asp-net-vnext-optimized-for-cloud-and-server- workloads.aspx) for examples

<comment><USER4> Are you making the point that "it's beta/alpha, deal with it"? Because the author adresses exactly that, and the headline incident is only a one (egregious) example of a series of recent problems out of Microsoft.

<comment><USER17> My point is that the software is equivalent to an alpha release.

People can build there own points based on the author's calling it beta software.

</comment></comment></comment><comment> mark-r My own WTF moment came recently when we dropped XP support for our product. Suddenly the window frames started painting improperly. One of the system calls we use in NCPaint returns different values depending on whether the executable is marked as XP compatible or not, even with no other change to the program.

How are you supposed to create reliable software when you can't even count on the raw API that's been unchanged since forever?

<comment><USER18> They go through a lot of effort to make sure their software is backward compatible. (You're not supposed to make reliable software, you are supposed to make broken software and convince your customers to pay Microsoft to make it work on their systems.)

</comment></comment><comment><USER19> I've been using Visual Studio since it was called Visual C++. VS 2013 is one of, if not the buggiest versions I have used. The only responses I seem to see are "It'll be fixed with Roslyn, just wait!"

I'm curious as to what has shifted inside Microsoft. Part of me believes I'm seeing the work of new devs as the old devs have left. Another part believes this is the result of agile taking over. I liked my visual studio with waterfall releases. At least it worked without constant hangs, locks, and crashes.

<comment><USER20> Interesting, I use VS2013 with C++ and C# all days and rarely have any issues. In my team with 10 devs the only guy who run into problems often is the one who installs all extensions he can find (his VS looks like my mothers IE with all the toolbars). Compared to how often VS6 crashed for me in the late 90s and how buggy VS2003 was, VS2013 feels pretty solid to me. Guess we are not using it in the same way or for the same things.

<comment><USER9> I agree, 2013 is pretty solid and feels a lot snappier compared to 2012 and 2010 (I have all three installed).

</comment></comment></comment><comment><USER21> I found it a bit irritating that there were no news about the various Microsoft update issues on HN last week. The article at least mentioned the various problems, that's good.

Some articles that capture the whole timeframe:

[http://goo.gl/eOaCX3](http://goo.gl/eOaCX3)

[http://goo.gl/c8PJ3W](http://goo.gl/c8PJ3W)

[http://goo.gl/PzxJPX](http://goo.gl/PzxJPX)

[http://goo.gl/ozN3zT](http://goo.gl/ozN3zT)

<comment><USER22> > I found it a bit irritating that there were no news about the various > Microsoft update issues on HN last week.

Why didn't you post one?

(Edit: I hope that didn't sound accusatory; I mean it as a cordial invitation to post good stories that you think belong on HN.)

<comment><USER21> I read about it only in german IT news portals like [http://www.heise.de](http://www.heise.de) .

I really like HN, it replaces /. for me.

Therefor I try to not submit controversial posts (is it in US?). I assume it's not optimal to submit Google Translate links of german articles (like my links above).

<comment><USER22> Yes, that's not optimal; the only exception is when there isn't yet a substantive English version of a major story, or something particularly interesting.

I don't think this particular story would have been unduly controversial, but more importantly, thanks for your concern for the quality of stories on HN.

</comment></comment></comment></comment><comment><USER23> My favorite change lately is the one where they increased the version number on System.Web.Mvc in the GAC, thereby breaking almost all old ASP.NET MVC builds.

[http://blogs.msdn.com/b/webdev/archive/2014/10/16/microsoft-...](http://blogs.msdn.com/b/webdev/archive/2014/10/16/microsoft- asp-net-mvc-security-update-broke-my-build.aspx)

The comments on this article have some great vitriol.

</comment><comment><USER24> I think this about sums up the quality and obvious bent of this article: [http://cdn.meme.am/instances/500x/57216937.jpg](http://cdn.meme.am/instances/500x/57216937.jpg)

</comment><comment><USER25> Come on, the Preview is not even close to beta! That's why it's not pushed to everybody, but offered to enthusiasts who are fine with things being broken for a while. I mean, you can be upset all you want, but blaming an early preview for being unpolished is reaching.

</comment><comment><USER26> As an aside but related - I bought a Surface Pro 3 and was shocked to discover major issues with its WiFi when you have Hyper-V enabled. Basically WiFi "breaks" whenever you wake the device, and can only be re-enabled through a reboot. ([http://winsupersite.com/surface/will-microsoft-ever-fix- surf...](http://winsupersite.com/surface/will-microsoft-ever-fix-surface- pro-3-wi-fi-issues))

</comment><comment><USER27> That's the new Microsoft - less thinking about backwards compatibility and not breaking things, but faster development, reduced management overhead. Faster time to market HAS to come from somewhere.

</comment><comment><USER22> Since the HN guidelines ask for linkbait titles to be changed, we changed the somewhat baity title to a representative sentence from the article.

<comment><USER28> dang, have you considered aggregating these kinds of notifications onto a separate page, or maybe using a specific account for administrator action? It would be helpful for those of us who value transparency (and thank you for your continued transparency - it has been great).

<comment><USER22> Yes, we consider that and similar ideas from time to time, but I worry about unintended consequences.

<comment><USER29> Just a plain log would do.

<comment><USER22> It's the unintended consequences of a plain log that I worry about.

</comment></comment></comment></comment></comment><comment><USER30> > Microsoft has been making quality assurance mistakes lately

Well, that's news to me!

I've always thought that everything that came out of MS is a quality assurance mistake. Heck, even MS itself is a quality assurance mistake.

</comment><comment><USER31> lately? since 1980s</comment>


The US could end up running on gasoline forever - <AUTHOR> https://www.businessinsider.com/electric-cars-versus-gas-cars-america-compared-china-europe-2019-11 <comment><USER2> At $100/kWh, a 200kwh battery pack is just $20k. I expect the motor is approximately $5k. An F150 runs anywhere from $28k-$70k. Which means that the base F150 without gas engine is around $23k. Add in the electric, and you're up to $48k - still well in the middle of the F150 price range. The electric version would have incredible torque and reasonable range.

Even if the gas version gets 20mpg @ $3/gal, over 200k miles, you're spending $30k on gas. Electric is likely 1/3 the cost, saving $20k over the lifetime. This puts the electric truck on par with the lowest end F150 for TCO.

We are at the inflection point for battery prices driving TCO wins across major new sectors. The conversion rate to EV will accelerate.

<comment><USER3> A brand new combustion engine can be bought from JEGS or Summit Racing for less than $4,000 USD.

A used engine can be had for less than $1,000, and it often comes attached to a car if you are not interested in adding it to a different vehicle.

Electric cars are really cool, but I don't think hundreds of millions of Americans will be running out to switch until maybe 11 years from now, which is how long it took the USA to go from "nobody has a smart phone" to "everyone has a smart phone".

<comment><USER4> Smart phones had to wait for better wireless connection tech, electric vehicles have to similarly wait for infrastructure improvements. Once that happens, it'll be just as overnight as it felt with phones.

<comment><USER3> That's a good point- the revolution could have happened in 1980 if the tech was there.

I think it still is much longer away before mass adoption happens

</comment></comment></comment></comment><comment><USER5> If US attempts to run on gasoline forever it will simply not survive.

When the economy is fully electrified, at scale, the operational cost of energy becomes practically zero (no extraction, refinement, delivery, spill cleanup). Economies that run on fossil fuels will simply become too expensive and hence uncompetitive. If US doesn't shake off the grip of the fossil industry, it's not too hard to imagine the sunset of the American empire.

<comment><USER6> > When the economy is fully electrified, at scale, the operational cost of > energy becomes practically zero (no extraction, refinement, delivery, spill > cleanup).

This doesn't make any sense. How do you suppose that electricity is to be generated?

<comment><USER7> > How do you suppose that electricity is to be generated?

Without use of oil, which would make that electricity cheaper. Wind, solar, hydro, nuclear, geothermal...

<comment><USER6> Not sure why you think those sources have anywhere near "an operational cost close to zero", given that most of them are currently far more expensive than fossil fuels. Even in cases where some of them beat fossil fuels, that doesn't mean that cost benefit will scale, and you also have the significant, unsolved problem of energy storage required with some of those sources.

<comment><USER7> What are the operational costs of wind and solar sources?

I wouldn't say energy storage problem is "significant" in this context, though for different people, who see this subject differently, glass can be half-full or half-empty. Yes, there is a problem but not forbidding extension of deployment now.

</comment></comment></comment></comment></comment><comment><USER8> > That could be a bummer. But I might just have to live with it.

We have no choice but to move away from gasoline. Global warming is set to make this planet uninhabitable. The world is estimated to be on a course to 3-4C by 2100 which can only support $1 billion people (and note temperature doesn't stop increasing at 2100).

Sorry, we won't be running on gasoline forever, one way or another.

<comment><USER9> Please. Hyperbole that we'll be over capacity by 7 billion people due to climate change is irresponsible and deflects from changes that are actually achievable. Fear-mongering will do more damage to solving the problem then being rational.

<comment><USER8> At least the "Hyperbole" as you put it is based on scientific studies about the carrying capacity of the earth. It appears to me a perfectly rational position. In fact isn't it irrational to ignore these kinds of studies?

[http://dotearth.blogs.nytimes.com/2009/03/13/scientist- warmi...](http://dotearth.blogs.nytimes.com/2009/03/13/scientist-warming- could-cut-population-to-1-billion/)

Seems it is the economists who are the optimists, and we know how well economists are at forcasting anything...

[https://archive.nytimes.com/www.nytimes.com/cwire/2009/03/13...](https://archive.nytimes.com/www.nytimes.com/cwire/2009/03/13/13climatewire- scientists-see-more-grim-effects-of-climate--10121.html)

</comment></comment></comment><comment><USER10> What I've seen in my neighborhood (Colorado) is the 1 gas, 1 EV car household. EV for grocery store and work commuting, gas car for camping, skiing, and longer trips. If the US started moving this route it would be a big deal, even if it's not 100% electric.

<comment><USER11> Exactly what we did, and it's been great. And, in my city, an added (not insignificant) benefit is you can use the HOV lanes with an EV, which saves my wife around 20 to 30 minutes per day on her commute.

</comment></comment><comment><USER12> This is yet another discussion about nuclear energy to power the grid... with everyone 'delicately' and dubiously avoiding discussing nuclear energy to power the grid. Such things used to have popcorn value but now they are just annoying.

</comment><comment><USER13> There's a lot of handwringing over how long gas will stay relevant, but I really believe that adoption of electric vehicles is going to follow a S curve. I know that when I look for my next car in 2 to 3 years, I'm definitely taking electric vehicles into account, especially if the charging times continue to decrease and the range continues to increase.

<comment><USER14> My wife loves her Volt. It's at 50k miles now. Here's what a typical month looks like:

Fuel Economy: 250+ mpg

Electric Consumption: 31 kW-hr/100 miles

Electric Miles: 1,538

Gas Miles: 244

Total Miles: 1,781 mi

Percentage on Electric: 86 %

Estimated Gallons of Fuel Saved: 71 gal

Most around town driving is 100% electric but she can also take out of town road trips without worrying about finding a charger.

There's a lot more Teslas around here (Raleigh NC) than there used to be but I still wonder how viable they are for road trips.

One of the things that motivated the Volt purchase is the susceptibility of this area's gasoline supply which relies on a single pipeline that had multiple outages a few years ago[1]. On the other side, I know CA Tesla owners were not having fun during the PG&E blackouts. (Then again, without electricity, gas station pumps don't work either.)

Anyway, the flexibility of dual energy choices has been great for us. I'm sad GM canceled the vehicle and that it and other similar range plug-in hybrids aren't more popular.

1\. E.g. [https://www.nbcnews.com/storyline/hurricane- harvey/critical-...](https://www.nbcnews.com/storyline/hurricane- harvey/critical-east-coast-fuel-pipeline-reopen-weekend-company-says-n797956)

<comment><USER15> I have driven my Model S about 20k miles in the last year back and forth across the US. No issues, charging only from Superchargers and at home. Happy to share my lifetime drive map from TeslaFi privately if desired, total electrical costs are under $500 for those 20k miles (and I drive "spirited").

I would never purchase an internal combustion vehicle again, and everyone I have loaned my S to had ended up buying a Tesla of some sort (S, X, 3). n=1

[https://supercharge.info/map](https://supercharge.info/map)

<comment><USER16> How long was your average charge time on the Superchargers?

<comment><USER15> 15-20 minutes.</comment></comment></comment></comment></comment>


Swift available for Beaglebone/RasPi - <AUTHOR> http://www.housedillon.com/?p=2287 <comment><USER2> One step closer to Swift on Android.

One step closer to cross-platform, native mobile development in a vaguely tolerable language.

(I'm under no illusion as to how much further work is needed and how many things would need to fall into place - but I'm the optimistic type)

<comment><USER3> Swift on Android has been done already, by multiple independent groups:

[http://arctouch.com/2014/10/swift-make-android- app/](http://arctouch.com/2014/10/swift-make-android-app/)

[http://romain.goyet.com/articles/running_swift_code_on_andro...](http://romain.goyet.com/articles/running_swift_code_on_android/)

It's not exactly easy though, and I doubt that a single WORA language will _ever_ become the preferred way to do mobile development. (It already exists, anyway, in the form of Xamarin. Neither Xamarin or Java on the desktop became all that popular, though, because the apps you can write with them just aren't as good.) A native platform is a moving target: by the time your cross- platform abstraction layer catches up, new features will have been introduced.

It's more likely that a single app will become ubiquitous enough that you can count on it being on every platform, and then develop a programmable layer on top (a la the web). Either that, or everyone will continue developing native clients with a shared data/logic layer abstracted behind RPC calls. That's how we used to do networked applications back in the desktop days.

<comment><USER2> Maybe not WORA - but 'Write your business logic, a chunk of your UI logic once, then do something sensible for the rest of the UI code'.

Admittedly - there's problems even achieving that. Android intents, activities and fragments don't easily map to anything on iOS and they have big architectural implications.

<comment><USER4> Activities and fragments are pretty much just view controllers in iOS. People make view controllers meant to be reused and embedded into other view controllers all the time. Parts of intents are a navigation mechanism, the other part starting an app with an app specific URL. Working in such an environment with a C++ business logic layer and the iOS and Android UXs, the architectural differences weren't that big of a deal.

Also the business logic layer shouldn't care about the UI that much. It mostly should be a set of service objects that you interact with that give you a data set to render. The service objects handle persistence and network operations themselves. From that you build your own independent apps. Coupling the UX to the C++ layer results in pain unless your rendering the UI yourself in C++, like with most games.

<comment><USER3> I've found the trickiest parts of cross-platform app development is that some features on a platform just have no analogue on other platforms. For example, notifications on Android can have BigViews in either text, list, or inbox styles. They're also supposed to collapse, although some apps (I'm looking at you, Facebook) don't bother. The equivalent on iOS is just badging the icon and showing a short 1-line text string as an alert. That means that some information which would've gone straight into the notification on Android needs to be shown on app launch in iOS, which often completely changes the data structures you'd use to represent it. Oftentimes this can ripple through the app as well, where because you need to launch the app to see it on iOS, you might as well add extra interactivity to this data, but that's not allowed by the Android platform as long as you want to keep it in a notification.

This doesn't matter if all your cross-platform C++ or Xamarin library does is format strings, provide predicates, and clean data - which is probably what it should do. But it means that the dream of a business logic layer that just hands off objects to the UI to render is just a dream. You need to hand off wildly different objects for a short notification on Android vs. an inbox- style notification vs. an iOS notification vs. an Intent to start an Activity on Android vs. an options dictionary for application:didFinishLaunchingWithOptions:.

</comment></comment></comment></comment></comment><comment><USER5> My interest lies orthogonally to this… I wonder how much effort is required to port the runtime to a non-unix, non-c-standard-library API. (also not Windows, in case you were thinking that.)

</comment><comment><USER6> Since this is an ARMv7 build, it only works on the Raspberry Pi 2, not the 1 or the new zero.</comment>


Compound Interest is for People Too - <AUTHOR> http://avichal.wordpress.com/2012/04/26/compound-interest-is-for-people-too/ <comment><AUTHOR> The only problem I have with this idea is as follows: if the people I want to surround myself with are better at X than I am, by definition I am worse at X than they are. So if they follow the same advice, they'd never want to hang out/work with me!</comment>


The Graphing Calculator Story - <AUTHOR> http://www.youtube.com/watch?v=Dl643JFJWig

<comment><AUTHOR> Aw shucks. I meant to submit this as a way of finding where it had been previously discussed on HN.

<comment><AUTHOR> Found it: <http://news.ycombinator.com/item?id=3176595></comment></comment>


An act of extraordinary, underwater DIY - <AUTHOR> http://www.bbc.co.uk/news/magazine-34139309

<comment><USER2> Could someone explain better how they got breathable air? I didn't understand BBC's explanation.

<comment><USER3> Rudimentary carbon dioxide scrubbers[0], with a reserve oxygen supply.

0:[https://en.m.wikipedia.org/wiki/Soda_lime#Undersea_use](https://en.m.wikipedia.org/wiki/Soda_lime#Undersea_use)

</comment></comment><comment><USER4> Under the sea, under the sea... there'll be no accusations, just friendly crustaceans under the sea!</comment>


The new Safari scrapes ads - <AUTHOR> http://www.scripting.com/stories/2010/06/08/theNewSafariScrapesAds.html <comment><USER2> This was a really odd usage of the word "scrape," enough so that I was confused until I clicked through. Was I the only one who immediately thought "it uploads ads on the pages you look at to Apple? What for?"</comment>


Review: 6 slick open source routers - <AUTHOR> http://www.infoworld.com/article/3106865/networking/review-6-slick-open-source-routers.html <comment><USER2> Clicked on link, popover ad loads, I clear it, then am presented with a prompt to register to view the article.

Nope.</comment>


How should our kids play at recess? Alameda schools offer lessons - <AUTHOR> http://www.sfchronicle.com/education/article/How-should-our-kids-play-at-recess-Alameda-10995385.php <comment><USER2> When I was a kid, both the local park and elementary school playgrounds had climbable constructs made out of widely-spaced wooden logs, with many sections partially hollowed out. That meant you'd have bees, hornets and wasps nesting in there frequently. Add to that the risk of splinters.

To make matters even more interesting, these things were tall. Probably 20ft at the very top. If you fell, you'd either fall from that height into the stones and probably be fine, or you'd get unlucky and break your fall on protruding wood from the equipment on the way down. There were no rules governing how you could or couldn't play on the stuff, just common sense.

Of course, it was fairly easy to see how something like a bee sting, splinter or just plain bad luck could have resulted in a kid losing their balance, falling from a decent height, and ending up paralyzed (or worse) in the process. I knew of no serious incidents, but in the mid 90s all of that equipment was replaced with un-fun plastic stuff that was maybe a third of the height and impossible to fall from. I can only imagine how the earlier equipment would be received today.

<comment><USER3> Everything here got replaced with super safe stuff in the late 90s/early 2000s, but recently the _new_ new stuff going in seems to be getting more dangerous again!

A park just went in nearby and it's got a bridge of swinging pendulum things that you could easily fall off, all suspended about 2m off the ground. There's bark underneath but still, you could easily break your arm falling off it and it's prety much designed to tip you off. 15 years ago I feel like they'd be 30cm off the ground max.

<comment><USER4> Well, if you break your arm, what's the big deal ?

No, seriously ? Yes, you did break your arm, but I'm sure you can learn plenty of things in the process.

<comment><USER5> Generally I agree, but one problem is that most families can't easily absorb the cost of a trip to the emergency, X-RAYs, and a cast. It may be a good lesson, but it's also an expensive one.

<comment><USER6> That sounds like a healthcare problem, not a playground problem.

<comment><USER5> I agree, but the healthcare system is the reality we live in.

</comment></comment></comment></comment></comment></comment><comment><USER7> Parents don't want their kids to die so they place some reasonable restrictions on activities in order to reduce risk. After all, they only have 1 or 2 kids so they can't afford to lose one. Historically families had many more children and it was perfectly normal to lose 1 or 2 (usually to infectious disease).

With school bureaucrats the story is different. They place _unhealthily_ stringent limits on risk. They can't afford to lose a single child even though they have 200,000 of them. Because they might get sued or have their careers damaged.

<comment><USER8> I'm trying to imagine all the fortunes that schools are giving up by keeping kids safe.

<comment><USER7> I don't understand what you mean. Explain?

</comment></comment></comment><comment><USER9> Don't have citations handy, but the first generation of playground equipment actually was incredibly lethal (1930-1940s).</comment>


Migrating from Mandrill to Mailgun - <AUTHOR> http://blog.mailgun.com/migrating-from-mandrill-to-mailgun/ <comment><USER2> Just what I was looking for. Thanks!</comment>


YCRFS 4: New Ways to Use Live Video - <AUTHOR> http://ycombinator.com/rfs4.html <comment><USER2> I wonder if the augmented reality tech that Yelp is using on the iphone could be overlaid on a Justin.tv stream. Anyone watching a stream could click on a business in the video and connect to their site|Opentable|Yelp. If we could get solid object recognition working we could link to Amazon product pages (revenue!!) or such. Find a bottle of Pepsi|Coke in a stream, click on it, get a coupon for .50 off your next Whopper meal with a large soda. (revenue??)

<comment><USER3> I'm pretty sure this is technically possible. Eric and I both worked hard to get around Flash's often insane security stuff and make sure the bitmap of the video stream is available if you want it. So you should be able to just grab the bitmap periodically, do some computation on it, and then overlay whatever you want in a Flash layer that sits on top of our video layer.

I think jtv augmented reality apps would be great!

</comment></comment><comment><USER4> It's not much of a business idea, but I've recently been thinking about a way for communities (esp in high crime areas) to do an online neighborhood watch. IE, neighbors put webcams in their front windows and the site presents combined (customizable) views of these webcams a la security camera displays. What if Grandma could email the police a security camera sequence showing who vandalized the library? You could even imagine communities providing bounties for any tips leading to a conviction, so kids in India can protect Walmart parking lots for us.

<comment><USER5> There's an effort to use Justin.tv as a neighborhood security watch at Ourblock.tv, which is the successor to Adam's Block (if you remember that news report a while back) However, the team coding the site all have full time jobs, and development is moving slowly (but steadily).

</comment></comment><comment><USER6> My web presence is getting drawn more and more to live video, and my current solution works...sort of, and I'm always looking for better alternatives-- but it's good to see other alternatives that aren't just out of the box.

I know the justin.tv guys are on here, would love to ping some ideas off you and make some connections.

<comment><USER3> Feel free to email me - firstname.lastname@example.com - if I'm not the right person to talk to, I can help you find whoever is.

<comment><USER6> mike emailed me, thanks

</comment></comment></comment><comment><USER7> For those interested, here is a link to the JT API: <http://apiwiki.justin.tv/mediawiki/index.php/Main_Page>

</comment><comment><USER8> -Traffic monitoring. Partner with a few delivery companies, and you can start to push live traffic feeds to the web. Start in one city to test feasibility, then grow.

-Maps. Let people register to record a trip from their home to work. Send the package, they set it up on their dashboard, record the round-trip, then send the package to the next location.

-Secret shopping. Boy, do they treat people poorly at some places. Please take a live feed, so employees can be fired or rewarded on the spot.

\- Recording Clubs live, so I know what it looks like before I go and spend 10 bucks to get in and find it empty.

<comment><USER3> _Recording Clubs live_

We have <http://justin.tv/dnalounge> \- that one has worked out pretty well, but obviously jwz isn't your average club owner. I'd love to see someone start a jtv-based business that helps all the other clubs get online (but I have no idea what YC would think of it - just in case that needs to be said!).

<comment><USER9> Live music is the first thing that I thought of.

It would be cool for bands to be able to stream their shows live on their own sites, facebook pages, etc.

<comment><AUTHOR> We would be very interested in a startup that let bands make extra money by streaming their shows.</comment></comment></comment></comment>


Ask HN SanFran: Is there a Micro Center Equivalent in the city? - <AUTHOR>

I moved to the Mission from Cambridge and am looking for a local place for basic needs like RAM, etc. Cambridge had Micro Center which was awesome and had great prices.<p>Is there something here better than BestBuy? Thanks! <comment><USER2> Have you tried Fry's? <http://www.frys.com/> IIRC, they don't have any locations in the city, but you could visit one of their silicon valley stores.

<comment><AUTHOR> Nope hadn't heard of it. Thanks!</comment></comment>


Open Source DB for Web Apps that Syncs - <AUTHOR> http://dev.yathit.com/

<comment><USER2> I've been involved with, [http://pouchdb.com](http://pouchdb.com), a similar project that replicates (aka syncs) with couchdb, vs this which implements master master replications (aka bidirectional syncing) with ... anything?

<comment><USER3> I suspect this doesnt handle conflict resolution, which the key differentiator between Couch / Pouch and other sync solutions I see, its something thats hard to do nicely without in built support on the server side, and since this syncs with 3rd party servers.

However a lot of use cases are happy to trade last write wins with a simpified model, As mentioned in Vancouver I actually wish I had used a simple model for Pouch (that still included conflicts, future project).

But knowing how hard it is to get a cross browser syncing solution working, this from the outset seems amazing (close to to good to be true), its quite hard to understand the focus / specific use case because there is so much information about transactions / query models / syncing etc, but great job to the author, I am going to take a look at this and try to understand it a bit more, excited to see more people focusing on the same problems as Pouch

</comment></comment><comment><USER4> We are currently evaluating [http://www.breezejs.com/](http://www.breezejs.com/) as a general entity framework that can also do sync. This one seem to be a bit more low level, but probably a lot simpler to integrate.

</comment><comment><USER5> Nice! But why login with google to download a custom version?

Hope to find it soon on some CDNs.</comment>


Leap Motion CTO live demos Orion at SFVR #12 - <AUTHOR> https://www.youtube.com/watch?v=kfk78-GV-gc <comment><USER2> From what I've been reading on Reddit, the Leap Motion finally works.

[https://www.reddit.com/r/leapmotion](https://www.reddit.com/r/leapmotion)

Until this software release, everyone had pretty much given up on it

</comment><comment><AUTHOR> I've tried the new Orion drivers on my Leap at home. It's a very big improvement. Still not rock-solid. But, quite impressive for a software update.</comment>


This Automated Tool for Judging Programming Ability Is Kind of Ominous - <AUTHOR> http://motherboard.vice.com/read/this-automated-tool-for-judging-programming-ability-is-kind-of-ominous?utm_source=IEEEfb

<comment><USER2> I welcome automated tools to judge programming ability.

It'll make large corporations even more efficient at gobbling up all the mediocre, middle-of-the-bell-curve programmers, and it'll make it easier for me to hire the really smart ones.</comment>


Apple Apologizes for Misstep on Maps - <AUTHOR> http://www.nytimes.com/2012/09/29/technology/apple-apologizes-for-misstep-on-maps.html?_r=1&pagewanted=all#222

<comment><USER2> The original iPhone Maps app was only a client. It relied on Google's servers for its data, which already had years of polishing.

The iOS 6 Maps app is an excellent client. Its only problem is with the data it fetches from Apple. Their maps data is very new and rather less polished.

It is silly to compare the two. Building a worldwide database of map data is orders of magnitude more difficult than writing an iPhone app.

Edit: This comment was a response to OP's headline, which was "Apple built original Maps app in three weeks". He has since changed the headline.

<comment><USER3> The problem is, my mum doesn't know that. She just knows she had maps that worked well, now has maps that don't work very well. And there's evidently enough people comparing the two that the Apple CEO has had to write a public apology.

</comment></comment><comment><USER4> I like Apple's response, but I don't think we need to be reminded of it with every new article repeating their message (or in this case, not even bothering to share the message). It was nice seeing the link to Apple's site here the first time. The TechCrunch link didn't really contribute anything, though that's typical of TechCrunch. Far as I can tell, the only thing the NYT does here is summarize what led up to it and relate it to MobileMe and so on.

They also refer to Tim Cook as "Timothy D. Cook, Apple's chief executive," which honestly baffles me for some reason. I suppose it's just strange seeing an article not refer to him as just Tim Cook (which is what everyone else would use, including Apple). They also seem unable to spell "iPhone" correctly when it begins an article.

At any rate, I think the Apple's own page is sufficient unless something unique is added, and I just don't get the impression that the NYT is doing that. If anything, they're actually ignoring aspects of the message: there's no mention of the alternatives Apple suggested, including Bing. I personally found that interesting, and to ignore it seems a little strange.

<comment><USER5> They write it that way to conform to their style guidelines, the NYTimes Manual of Style and Usage. Most style guidelines (Chicago, AMA, AP, etc.) have similar styles.

<comment><USER4> Oh, I'm aware, it's just strange to see his name as anything other than "Tim Cook." One would think exceptions should be made to style guidelines to ensure the reader doesn't pause and think, "that's just weird." Strict adherence to style guidelines doesn't always produce the best results.</comment></comment></comment>


Ask HN: Is async request processing possible with Python Django? - <AUTHOR>

I started with Python Django to build my web app since it was mostly short-lived http requests rendering UI. As the product matured, now I realize that I need to support lot more web service calls (with no UI component). The web service calls need to be processed and responded to asynchronously for 2 reasons: 1) My code may call another web service in turn to get some data to service the call and I don't want to hold the original thread or process while doing so and 2) Certain requests can only be responded to after certain events happen on the backend and I don't want to hold the thread/process blocking and waiting for that event.<p>The more I think about it, the more it sounds like I may need something like nginx for my web service calls (from whatever I have heard about nginx). Can python django really be used in this manner with an appropriate web server and a set of middleware components? If so, can you recommend a particular stack choice? If not, what are my options and can you educate me on the pros and cons of those choices? <comment><USER2> Two ways you can do this:

1\. Long polling: It's definitely possible to have thousands of long-lived requests with something like gunicorn/tornado. Remember to turn-off buffering in your front-end nginx proxy if you want to use long-polling.

2\. Async with web hooks. Gather the request payload, push it to a job queue, and return the response. Process the job queue at your leisure and then call the web hook when complete. You can use celery, beanstalk or my personal choice rq (and django-rq.)

<comment><AUTHOR> Thanks gane5h. Can you point me to an example that shows how to use django framework for long-lived requests via gunicorn/tornado?

<comment><USER2> There're many examples on GitHub, here's one I found just by searching: [https://github.com/tbarbugli/django_longpolling](https://github.com/tbarbugli/django_longpolling)

</comment></comment></comment><comment><USER3> This sounds relativly simple. I would use Celery for this. would recommend reading this tutorial [http://sebastiandahlgren.se/2012/11/13/using-celery- for-asyn...](http://sebastiandahlgren.se/2012/11/13/using-celery-for- asynchronous-messages-in-django/)

It's pretty simple and straight forward

<comment><AUTHOR> Thanks. Google returned lot of pages suggesting using celery for async processing. I also read the the tutorial you have provided a link to. Using celery makes sense for deferring processing to another process/time. I'm still trying to figure out if I can get away with not returning any response in my view's page request process function (and return something that says will post a response later....hold the original http request).

</comment></comment><comment><USER4> You want this: [http://blog.fanout.io/2013/04/09/an-http-reverse-proxy- for-r...](http://blog.fanout.io/2013/04/09/an-http-reverse-proxy-for- realtime/)

<comment><AUTHOR> This is very interesting and sounds simple enough to get started. It seems to solve my long-poll problem fine. The other issue I'm dealing with is high- latency network iOS holding up the process/thread. Does push-pin have a solution for that? I'm dreaming but this is what I want to tell push-pin: "I want to invoke this out-bound API...Hold this http request, go invoke this API and call me back when the call is complete...". Basically an out-bound proxy with similar benefits. I looked at gevent/greenelets to make python concurrency work but it all seems a bit unnatural to me.

<comment><USER4> Hmm, that's definitely outside the scope of pushpin, but it's an interesting idea for a different project perhaps.

I guess you want a proxy that you could tell to make an HTTP request on your behalf but would return immediately. And then it would make an HTTP request back to you once it has received the remote response.

Another of our projects is Zurl, which is used for async outbound HTTP. You'd have to write some zmq handler code but potentially it could be appropriated for what you're trying to do.</comment></comment></comment>


Doctor Fortran in "The Future of Fortran" - <AUTHOR> https://software.intel.com/en-us/blogs/2015/03/27/doctor-fortran-in-the-future-of-fortran <comment><USER2> Fortran is still going strong. At a High-Performance Computing seminar I attended a few years ago, the speaker said that around 50% of high performance computing applications are written in Fortran (you know, these shiny little programs that can hog a million CPUs for a few hours or weeks or months). The other half being mostly C and C++.

However, programming in Fortran is uncomfortable. Just like programming in C. The advantage of Fortran over C in High-Performance Computing is that it's less uncomfortable to write maths and things with arrays in Fortran.

If you ever need to handle enormous arrays without breaking a sweat or solve systems of equations with hundreds of thousands or millions of variables, you can give Fortran a try. The syntax has come a long way since FORTRAN 77.

Fortran's strength has always been speed. In the early days most Fortran programs would run faster than C programs. The trick is to intentionally leave out features that bloat the language such that all there's left in the language can easily be optimized by the compiler. Only after the C99 standard (I think), C caught up to Fortran in most applications due to stricter aliasing rules.

<comment><USER3> The main reason Fortran is so extensively used today is not because of the merits of its new features but the incredible amount of (intrinsically complicated, but even more because it is highly optimized) legacy code. I guess that most of that 50% running in HPC is FORTRAN77 written many, many years ago, with a bit of Fortran90/95 and only an insignificant fraction of Fortran 20xx.

<comment><USER4> Assuming the FORTRAN77 was optimized for hardware circa a period when FORTRAN77 wasn't considered an ancient language, is it still optimized on modern hardware? Because it seems the vast increase in the relative importance of cache alone, not to mention the great changes in cache sizes, would make some optimizations fairly pessimal these days. (For example, loop unrolling blowing out I-cache.)

<comment><USER5> Languages aren't optimized, compilers are, and fortran compilers commercial and free are released regularly.

<comment><USER4> > Languages aren't optimized, compilers are

Actually, specific pieces of code get optimized, and compilers that can "undo" optimizations put in to the source code by hand are so rare I daresay they don't exist.

<comment><USER6> The intel compiler is considered to generate runtimes that runs about twice as fast as runtimes from gfortran. Haven't seen any recent tests of CLANG/LLVM yet. The statement that compilers, not languages, are optimized generally holds true for Fortran.

<comment><USER7> "Considered" maybe, but not measured in practice. Of course you need equivalent optimizations to generate similar code -- Intel even defaults to incorrect optimizations. GCC is also substantially more reliable in my experience watching users who insist on using Intel on HPC systems without actually measuring anything.

Of course compilers are relevant, but Fortran has long presented optimization possibilities that aren't typically available in other languages, like not passing by reference.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> unpossible.

           DO 100 I=1,10
      100  SUM = SUM + X(I)

No longer supported ? hWhat ? And don't get me started about COMMON and EQUIVALENCE.

To be blunt, FORTRAN 77 was probably the most practical language ever devised. What is this monster ?

I predict more code written in FORTRAN 77 is being used today that all of the code written in later dialects. And this will be the same for the next 20 years.

<comment><USER9> _Note that none of these will actually be removed from any compiler you are likely to use, but their use will be flagged if you ask for standards checking._</comment></comment>


Ask HN: Looking for markdown-editor feature ideas - <AUTHOR>

I am developing a Markdown editor for Windows. It will support some markdown extensions (like tables) live preview, export to docx, etc...<p>I am looking for good feature ideas. Wouldn't it be cool if the editor would support ... ? <comment><USER2> Who are your users going to be? What are their use cases?

If you focus on including cool features, your program will end up as difficult-to-use bloatware.

(I am not one of your future users because I don't use Windows.)

<comment><AUTHOR> "Who are your users going to be?"

That's a very hard question because a 'word-processor' is a horizontal product [1].

I want people to use it instead of Word. I want to create great UX, easy to use, clean interface, fast operation. But should I concentrate on technically inclined people, or should I concentrate on the typical Word user? At the beginning should I concentrate on a nieche (for example students and academics who use math equations in their writngs)? I have not completely decided it yet.

"If you focus on including cool features, your program will end up as difficult-to-use bloatware."

True. Still, I am trying to gather good ideas, 'user needs', but I will of course filter them to create a product which has integrity and market strategy.

[1] <http://www.joelonsoftware.com/items/2012/01/06.html></comment></comment>


Do algorithms reveal sexual orientation or just expose our stereotypes? - <AUTHOR> https://medium.com/@blaisea/do-algorithms-reveal-sexual-orientation-or-just-expose-our-stereotypes-d998fafdf477 <comment><USER2> Something that I found truly shocking is that, in the paper's data, the number of straight men is exactly the same as the number of gay men- and the same for women (for individuals with at least one picture, i.e. everyone; numbers for those with more than one picture are different).

The paper itself cites a 7% distribution of gay men in the general population. Yet they trained with a 50/50, uniform distribution. But- why?

Well- because a problem involving unbalanced classes, like gay/straight individuals, where your target class (gay men/women) is less than a tenth of your entire data is a bitch to train a classifier for. Now, if you artificially equalise the data, by just adding more of that class, you can get a pretty good "accuracy" score (precision over recall, which they used).

Except of course, that score is completely useless as an estimate of the true accuracy of your classifier in the real world, against the true distribution of your data, "in the wild". It's also completely useless as evidence for whatever hare-brained theory you want to posit, that involves, oh, say, the distribution of feminine and masculine features in gay and straight individuals' faces - you know, the point the paper was making.

This should be a cautionary tale: you can't just force a classifier to give you the results you want it to and then claim that those results prove your theory. That's just bad machine learning. Like bad statistics, but with more assumptions.</comment>


Chrome disables support for mandatory features of HTTPS - <AUTHOR> http://rkeene.org/projects/info/wiki/249 <comment><USER2> It seems like a stretch to call a feature "mandatory" which was described by a RFC as "deprecated" 17 years ago.

RFCs are not a death pact. Standards can change, especially where security is concerned.

<comment><USER3> this. The author sounds like a your usual snarky old burnt out IT dinosaur.

"Ughhhh, something changed again! Why does tech always do this?!"

<comment><AUTHOR> I'm not. I do a lot of interesting work, much of which does not rely upon any standards because it changes so much.

Standards CAN change. This standard DIDN'T change. The Chromium developers referenced this particular RFC (RFC 2818) in reference to a bug as to why this mandatory feature (per the RFC) was disabled, when the document they referenced doesn't agree with their conclusion.

<comment><USER3> The snark levels are off the charts though :)

<comment><AUTHOR> If you think that's snarky, see my (unanswered) question to the developers here: [https://bugs.chromium.org/p/chromium/issues/detail?id=308330...](https://bugs.chromium.org/p/chromium/issues/detail?id=308330#c39)

I'm pretty sure the answer is "Yes".

</comment></comment></comment></comment></comment><comment><USER4> Yeah, but google says no.</comment>


Show HN: A tool to learn how others feel after reading e-mails from you - <AUTHOR> https://xn--du8hsrobxe.ws <comment><AUTHOR> Hi!

Communication is hard. People mostly get bad vibes from e-mail. Combine these to and your get a lot of unnecessary misunderstandings. I think the world needs more emotional intelligence and that requires healthy feedback.

[https://xn--du8hsrobxe.ws](https://xn--du8hsrobxe.ws) is a simple tool to get feedback from people you communicate with.

1\. You get a simple HTML code you can paste into your e-mail signature.

2\. The code contains one question ("How did my e-mail make you feel?") and seven emoji.

3\. People can click emoji to give you feedback.

4\. You can see results for last 30 days.

I made this MVP during last weekend. I coded it only using left hand... right one was busy holding my baby daughter.

I'd be grateful for feedback. Thank you!

PS. Actually the URL is all emoji and .ws - too bad you can't post emoji in HN comments :(

<comment><USER2> Why the hell would you get a domain name that includes emojis? You realise that nobody can type that comfortably on a computer? (except maybe on a MacBook Pro with Touchbar)

Congrats on coding this with your left hand only, though!!

About the idea: I really like it! However, I wouldn't use it in professional correspondence because of the emojis in the link. People have been taught to not click on anything sketchy in emails. There's a good chance some people would suspect my PC to be infected with some kind of malware.

<comment><USER3> Ctrl + Cmd + Space on macOS brings up an emoji keyboard. Not many people know about that. But yes, I do agree that the domain is terrible. Idea is cool though.</comment></comment></comment>


SymPy – simplify - <AUTHOR> http://docs.sympy.org/latest/tutorial/simplification.html#simplify <comment><USER4> Sympy is pretty awesome. I use live.sympy.org a lot with my students because you can bookmark an entire interactive session as a (long) URL. For example, suppose you had to answer the following question. _Find the position of the object at t=3 seconds, if it starts from x_i=20[m], with v_i=10[m /s] and undergoes a constant acceleration of a=5[m/s^2]._ Ans: 72.5[m]. Sol.: [http://bit.ly/1hJS9P3](http://bit.ly/1hJS9P3)

Below are some more examples of cool stuff sympy can do.

Expand, factor, and solve polynomials:

      >>> P = (x-1)*(x-2)*(x-3)
      >>> P.expand()
      x**3 - 6*x**2 + 11*x - <USER2>

      >>> P.factor()
      (x - 1)*(x - 2)*(x - 3)

      >>> roots = solve(P,x)
      >>> roots
      [1, 2, 3]

Derive the solutions of a quadratic equation:

      >>> solve( a*x**2 + b*x + c, x)
      [(-b + sqrt(-4*a*c + b**2))/(2*a), -(b + sqrt(-4*a*c + b**2))/(2*a)]

Compute symbolic outputs of trig functions:

      >>> sin(pi/6)
      1/2
      >>> cos(pi/6)
      sqrt(3)/2

Sympy knows about trig identities:

      >>> sin(x) == cos(x - pi/2)
      True

      >>> simplify( sin(x)*cos(y)+cos(x)*sin(y) )
      sin(x + y)

      >>> e = sin(x)**2 + cos(x)**2
      >>> trigsimp(e)
      1

Find the solution to the simple harmonic oscillator differential equation (x''(t)+w^2x(t)=0):

      >>> sol = dsolve( diff(x(t),t,t) + w**2*x(t), x(t) )
      >>> sol
      x(t) == C1*sin(w*t) + C2*cos(w*t)

For v4.1 of my math book, I'm going to add a short sympy tutorial. I'll post a printable version of it to HN when I release, so stay tuned ;)

<comment><USER5> I am certain that the sympy mailing list would be extremely happy to hear more about your use of live.sympy.org. Especially if you have any suggestions or requests.

</comment></comment><comment><USER6> Is there any way to ensure simplified expressions are only defined over the same range as the original expression?

My guess is no, but it is often important to understand that, for example, a polynomial fraction is not defined when the denominator is 0.

To use an example from the page,

        simplify((x**3 + x**2 - x - 1)/(x**2 + 2*x + 1))

gives

        x - <USER3>

but should give

        x - 1; x != 1 + sqrt(2), x != 1 - sqrt(2)

This is not always what you want to see, but it would be cool if you could turn it on :)

<comment><USER5> This is because of a rigorously defined procedure called "extending by continuity". The function is continuous, your issue is just an artifact of notation.

<comment> jay-anderson Can you explain this more? From what I understand the original function has division by '0' at those specific values of 'x'. So the final reduced form has a different domain where it is valid.

<comment><USER5> I will give an example, not the general definition.

Consider the function f: x -> sin(x)/x. At x=0 you indeed have a division by 0, and if you stick to blindly using your notation it does not work. The function is not defined at x=0. However you usually (not always) are interested in the function as a whole. Look at the limit from the left, look at the limit from the right. They have the same values, it makes sense just to use this limiting value for the value at x=0.

See [https://en.wikipedia.org/wiki/Removable_singularity](https://en.wikipedia.org/wiki/Removable_singularity)

</comment></comment></comment></comment><comment><USER7> Appears to need a bit more robustification.

        >>> simplify(sqrt(x^2))
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/base/data/home/apps/s~sympy-live-hrd/43.373169527249054993/sympy/sympy/functions/elementary/miscellaneous.py", line 110, in sqrt
            return C.Pow(arg, S.Half)
          File "/base/data/home/apps/s~sympy-live-hrd/43.373169527249054993/sympy/sympy/core/cache.py", line 93, in wrapper
            r = func(*args, **kw_args)
          File "/base/data/home/apps/s~sympy-live-hrd/43.373169527249054993/sympy/sympy/core/power.py", line 119, in __new__
            obj = b._eval_power(e)
        AttributeError: 'Not' object has no attribute '_eval_power'

<comment><USER8>
        x^2

in Python is x XOR 2 :) You probably want

        x**2

</comment></comment><comment><USER9> For anyone looking for a symbolic computation environment - check out Maxima, I find it to be more pleasant than command-line SymPy.

<comment><USER5> Sympy for interactive use is usually meant to be used with ipython, where it gets a nicely rendered latex output.

<comment><USER10> Not sure what your point is; Maxima also generates LaTeX.

E.g. randomly googled: [http://hippasus.com/resources/symmath/maximatypeset.html](http://hippasus.com/resources/symmath/maximatypeset.html)

Since Maxima was once world class, I would be surprised if Sympy has surpassed it yet, but I'm out of touch.

Here's a comparison I just found: [https://github.com/sympy/sympy/wiki/SymPy- vs.-Maxima](https://github.com/sympy/sympy/wiki/SymPy-vs.-Maxima)

Sympy is presumably desirable if you're already using Python heavily.

<comment><USER11> IPython Notebooks come to my mind. [http://nbviewer.ipython.org/github/ipython/ipython/blob/mast...](http://nbviewer.ipython.org/github/ipython/ipython/blob/master/examples/notebooks/SymPy%20Examples.ipynb)

</comment></comment></comment></comment><comment><USER12> Great, another tool that decreases my motivation to actually work on sharpening my lagging calc skills.

<comment><USER4> I'd say you still need the calc skills so you'll know what you're doing: sympy helps with demos, explorations, and tedious calculations, but not with the theory.

For example, here's a little demo that shows that integration is the "undo" operation of differentiation [http://bit.ly/1dDD4dc](http://bit.ly/1dDD4dc) but that won't make you really _understand_ the fundamental theorem of calculus[1].

____________________

[1] [http://en.wikipedia.org/wiki/Fundamental_theorem_of_calculus...](http://en.wikipedia.org/wiki/Fundamental_theorem_of_calculus#Physical_intuition)

</comment></comment><comment><USER13> This is basically the sym() and simple() functions from Matlab, which is something I really felt wasn't nearly widespread enough. Knowing about this is fantastic and I'm going to use it heaps. Thanks!

</comment><comment><USER14> If anyone from sympy is reading this:

        simplify(exp(x)/exp(x - 1))

is causing a runtime error:

        RuntimeError: maximum recursion depth exceeded while calling a Python object

<comment><USER15> What version of Sympy are you using?

I get (tested Sympy 0.7.2-0.7.4):

        >>> simplify(exp(x)/exp(x - 1))
        E

<comment><USER5> It does fail on live.sympy.org

<comment><USER4> Worked for me: [http://live.sympy.org/?evaluate=simplify(exp(x)%2Fexp(x%20-%...](http://live.sympy.org/?evaluate=simplify\(exp\(x\)%2Fexp\(x%20-%201\)\)%0A%23--%0A)

<comment><USER16> It sometimes works and sometimes doesn't.

</comment></comment></comment></comment></comment><comment><USER17> Nice. The taylor series capabilities seem pretty alright too.</comment>


Verizon's "Six Strikes" Anti-Piracy Measures Unveiled - <AUTHOR> https://torrentfreak.com/verizons-six-strikes-anti-piracy-measures-unveiled-130111/

<comment><USER2> Who decides what is legal and what not? Is it even legal for an ISP in the US to monitor your traffic or to act like this without a court order on behalf of a shady company? I don't get it that nobody is protesting about this...</comment>


What is your favorite [word]- driven development method in 2018 - <AUTHOR> I am exposed to test-driven development, database, api driven development.
I am wondering if there are other methodologies in the wild.
Thank you <comment><USER2> Behavior, data, domain, hierarchic, are other words to put before driven development

</comment><comment><USER3> anger</comment>


New Sean Parker Startup: Airtime.com - <AUTHOR> https://airtime.com/

<comment><USER2> It's a live video site, which Sean hopes will "eliminate loneliness." He's building it with Sean Fanning. [1]

Quite a large problem to try and tackle. From the splash it looks like they're trying to go big right from the start. I don't know about the name, though. Makes me think of Facetime which does something similar to what the vague description of this promises.

[1] [http://thenextweb.com/insider/2011/09/22/sean-parker-and- sha...](http://thenextweb.com/insider/2011/09/22/sean-parker-and-shawn- fanning-are-building-a-new-live-video-startup-called-airtime/)

</comment><comment><USER3> Uh. What IS it?</comment>