The Best Investment Advice You'll Never Get... From Google - <AUTHOR> http://www.sanfran.com/content_areas/home/view_printable.php?story_id=1507

<comment><USER2> I was promised "advice [I'll] never get" but I think we've all been hearing about index funds for quite a while now. In fact, it's the current conventional wisdom. Buying index funds is probably tantamount to betting on the change in the GDP. The people who work in finance want nothing but incoming money, low fees or high fees, and .23 percent of a trillion dollars is still a pretty nice skim.

Well, the components of the S&P are publicly available: The most mathematically sound thing to do (if you have 200K or more) is to buy a sample (30 or more) stocks on the index through a broker, and your total costs will be about 300 dollars. The one-time fee will be 300 / 200K = 0.0015 = .15 percent. Why aren't they recommending this course of action? Index funds are good because they are "stupid" (because stupid is cheap)...but anybody can do "stupid".

There is wealth to be extracted from people who think they are clever (but aren't) and people who think they are dumb (and are). You can make very good money on the market (1 percent a day or more) by buying on the noise. But this depends on one thing: An upward trend, however small. That upward trend depends only on money flows.

Re: Betting on the GDP. Notice the close similitude between the American and Foreign trends:

[http://finance.yahoo.com/q/bc?t=5y&s=VFINX&l=on&...](http://finance.yahoo.com/q/bc?t=5y&s=VFINX&l=on&z=m&q=l&c=VGTSX)

...with one rather frightening difference. Obviously, they are reacting to the same things, but one of them is looking unhealthy in a fundamental way.

My investment advice: Buy boxes of young, but good, wine. And cellar them. Only do this, however, if you don't like drinking wine.

<comment><USER3> "I think we've all been hearing about index funds for quite a while now." Agreed.

"The most mathematically sound thing to do (if you have 200K or more)" your basic assumption here is a problem.

Index funds allow you (well me, maybe you do have $200K) to invest a small part of your income per month. That is a service, and obviously, I'm willing to pay for it.

"Buy boxes of young, but good, wine." Apparently this is a good idea: <http://www.wamllp.com/home.php>

</comment></comment><comment><USER4> I've dabbled a smidgen in picking stocks and managed funds.

What I've realized is that I don't trust anyone with my money more than myself. Feel free to blame hubris. The second-most-trusted entity for me is "the market".

Lately I've taken that to an extreme, and I've even backed away from choosing individual stocks. I've met multiple CEOs over years and a small fraction have struck me as having any sort of intellectual horsepower.

Instead, I'm betting on my startup (as close to under my control as anything can be) and retirement money goes into index funds.

I feel like this bounds the problem!

</comment><comment><USER5> I can imagine that random picking equals any other strategy, but it seems to me that the index fund thing can not be the ultimate strategy. Just imagine if everybody would only buy index funds, it would not be a normally functioning market anymore.

<comment><USER6> The article was seriously editorialized. For example, while Warren Buffett tells newly minted rich people to invest in index funds, he tells aspiring investors to gamble on their brightest ideas (and not their seventh), since that's the one likely to make you rich. The article, of course, doesn't mention this.

There's a philosophy he goes by: stick within your area of expertise. It's done well for him, though it might not be quite so fun as trying your odds on the market.

</comment></comment><comment><USER7> "a Minneapolis-based firm, the Leuthold Group, distributed a large poster nationwide depicting the classic Uncle Sam character saying, "Index Funds Are UnAmerican," implying that anyone who was not trying to beat the averages was nothing more than an unpatriotic wimp."

Patriotism is truly the lowest form of virtue... (or is it a virtue at all, anytime?)

</comment><comment><USER8> I have been wondering about these claims that it is better to invest in an index fund than in an actively manged one. Certainly, the statistics show that on average, actively managed funds come out behind index funds. But the best actively manged funds have been able to beat their indexes for at least ten years, even in periods with negative growth.

Anyone else have any thoughts about this? It could, of course, just be that the best funds happen to get lucky every year for a decade. But that seems a bit simple to me, are there really statistical anomalies that are that big? It seems to me that if you are going to pick an actively manged fund, you better pick one which has a proven track record. Aren't most of these funds managed by businesses not preaching too loudly about their past performance?

<comment><USER9> You need to keep in mind that past performance does not always equal future performance. This isn't just true of the stock market, but also in every aspect of life.

I do agree that if you pick an actively managed fund picking one with good past performance is safer than one with poor past performance.

My money will still be heading into index funds.

<comment><USER8> I've always figured that the "past performance, future performance" phrase principally was just legalese, not investment advice. I'd like to see a study on this.

On the other hand, it would be very interesting to see the "past performance" of these J.P. Morgan whiz kids claiming that they always come out ahead of their reference indexes. Past performance corrected for buyouts of successful funds.

<comment><USER10> > I've always figured that the "past performance, future performance" phrase > principally was just legalese, not investment advice. I'd like to see a > study on this.

You do realize that any such study would necessarily be based entirely on past performance, and would not necessarily predict future performance. ;-)

See also: <http://en.wikipedia.org/wiki/David_Hume#Problem_of_induction>

<comment><USER8> It doesn't have to be entirely based on past performance - you could do some statistical analysis on the number of funds, which funds are associated with individual investors, fund returns and find whether the distribution of returns overlaps with the distribution that says "the best funds were just lucky".

What I am interested in knowing is whether the best investors are able to beat the market over time. And there is a lot of anecdotal evidence that suggests this, for example (a rather extreme one, though) the best hedge funds which have generated an annualized 30% return over more than 15 years. With especially high returns when the rest of the world is tanking. Although this is an edge case, this kind of track record doesn't exactly scream "lucky".

<comment><USER10> > It doesn't have to be entirely based on past performance - you could do some > statistical analysis on the number of funds, which funds are associated with > individual investors, fund returns and find whether the distribution of > returns overlaps with the distribution that says "the best funds were just > lucky".

Right, and as fast as you can generate that data, it immediately falls into the category of "past performance". It's not a market problem, it's a philosophy-of-empiricism problem. ;-)

> What I am interested in knowing is whether the best investors are able to > beat the market over time. And there is a lot of anecdotal evidence that > suggests this, for example (a rather extreme one, though) the best hedge > funds which have generated an annualized 30% return over more than 15 years. > With especially high returns when the rest of the world is tanking. Although > this is an edge case, this kind of track record doesn't exactly scream > "lucky".

Now, that part _is_ a market problem, and for that, "past performance" really does come into play: are today's best investors universally superior market animals, or are they just uniquely adapted to the current climate?

</comment></comment></comment></comment></comment></comment><comment><USER11> I wanted to get better that investing, so I started off buying shares, some through tip offs and then some through my own "research" on those companies, and some did well and some didnt...to get a better hold of this, I read Peter Lynch's books and basically, at the end of it all, the take home message from those books seem to be: "Trust your common sense in the domain you work in or are most informed about", "dont diversify" and "dont invest for short term gains".

</comment><comment><USER12> FYI, this article is from December 2006.</comment>


Dr. Memory: A Memory Checker Faster Than Valgrind - <AUTHOR> http://drmemory.org/ <comment><USER2> Another option is AddressSanitizer. Available in GCC and Clang. Compile with -fsanitize=address.

[http://clang.llvm.org/docs/AddressSanitizer.html](http://clang.llvm.org/docs/AddressSanitizer.html)

<comment><USER3> I'm often amazed how many people simply are not aware of address sanitizer.

It's orders of magnitude faster than valgrind - and it can find bugs that are simply impossible to find with a runtime-only tool (e.g. most stack oob accesses). However it can't find uninitialized memory (there is msan for that, but that's a bit tricky to set up and not available in gcc).

<comment><USER4> I think when I tried to use it, it enlarged all my stack allocations. When using precise stack allocations (user threads), it causes all the stacks to blow up.

<comment><USER5> It think it uses a lot of extra memory as part of a design a tradeoff that keeps CPU overhead to a minimum. The documentation above mentions the memory cost in the limitations section.

By the way, there's a great talk from C++ Going Native 2013, called _The Care and Feeding of C++ 's Dragons_ [1] talking about a number new C++ tools, including AddressSanitizer. It's been two years since then, but it's probably still a good introduction.

[1] [https://channel9.msdn.com/Events/GoingNative/2013/The- Care-a...](https://channel9.msdn.com/Events/GoingNative/2013/The-Care-and- Feeding-of-C-s-Dragons)

</comment></comment></comment></comment><comment><USER6> While probably a biased blog, folks might find it interesting to read Julian Seward's (valgrind's maintainer) thoughts after experimenting with drmemory;

[https://blog.mozilla.org/jseward/2015/10/05/dr-memory-a- memo...](https://blog.mozilla.org/jseward/2015/10/05/dr-memory-a-memory- checking-tool-for-windows/)

<comment><USER7> Looking at the post it seems that the issue is that the underlying host is much more Complex and hard for the program to have a complete picture of what is happening. Does Microsoft have an solution similar to drmemory or valgrind?

<comment><USER8> Microsoft has App Verifier: See: [https://msdn.microsoft.com/en- us/library/ms220948(v=vs.90).a...](https://msdn.microsoft.com/en- us/library/ms220948\(v=vs.90\).aspx) Or: [https://randomascii.wordpress.com/2011/12/07/increased- relia...](https://randomascii.wordpress.com/2011/12/07/increased-reliability- through-more-crashes/)

</comment></comment></comment><comment><USER9> For better or worst, I prefer to write my own memory leak checker for most of the projects I worked on.

After did it a few times, it normally take less than 1 days to put in the code - basically wrapper for malloc, free, etc, new, delete. Add some table code to track bytes alloc/ free per filename/line#.

       It must have a very concise high level table  dump memory alloc/free associate with file:lineno.

       file:lineno:  #Alloc_ByteCnt #Free_ByteCnt

Advantages: It works very well on app that need to runs forever. One can easily track memory usage/leakage over time, but adding a trigger to dump the memory table without killing the app. The trigger can be TestAPI call or external URL.

       If you have a full functional regression test coverage system in place (All my projects has them), one can easily trigger the memory table dump along with certain test points.    Fairly easy to ID memory leak associate with very high level functionalities  such as

       * certain image load trigger 200K leak per test loop.
       * Certain URL access trigger file:line leak 64 bytes per test loop
       * , etc

       Once all these setup in place, memory leak are fairly trivial to solved.   I have not seen any user space memory leak that take more than 1 hours to solve and verify.

       The most complex memory leak I had to debug was the EGL app that trigger EGL kernel driver memory leak at ~20MB per over night testing.   To debug that was much harder.....

Because that was the kernel/system memory is leaking not just user APP memory.

<comment><USER10> Valgrind can also dump leak information while the program is running. For that, you have to use the Valgrind API. There is a request for it.

       #include <valgrind/memcheck.h>
       ...

       // in the code:

           VALGRIND_DO_LEAK_CHECK;

I like to put

       #ifdef CONFIG_VALGRIND_SUPPORT

around this stuff so it can be compiled out. The Valgrind API call macros expand to some machine code instruction patterns which execute harmlessly on a regular CPU, and have no effect, but are recognized as triggers by the Valgrind execution core. These instructions add bloat and burn cycles.

Valgrind has the advantage that it has a real leak checker: i.e. reports of still-allocated memory that is definitely unreachable by any pointer. It can also report blocks which are reachable only by pointers into their interior, not to their base address.

Having the stack trace for each allocation is also nice. If something is leaked, it can sometimes be useful to know where it was allocated (by what chain of calls). Of course you might know that every dynamic struct foo came from foo_alloc. But who called foo_alloc for a given leaked struct foo? And who called that caller?

</comment></comment><comment><USER11> "Dr. Memory currently targets 32-bit applications only."

:(

<comment><USER12> Add a 32-bit target? Or is the memory usage too high?

<comment><USER13> Some applications are not designed to be portable to 32-bits targets, regardless of memory usage... (whether or not this is a bad thing is another story, but at a point where such non-trivial application exist and has to be checked this is just a fact you can't retroactively bypass)

</comment></comment></comment><comment><USER14> Google's gperf is much faster than valgrind and has been around for several years. I've used it successfully in large products to track down hard to find memory leaks.

<comment><USER15> I think you mean gperftools and not gperf, which is a hash generaor.

<comment><USER14> That's right. I call it gperf for short.

</comment></comment></comment><comment><USER16> What about "application verifier" it is only for windows. i am not aware of the advantage of using drmemory or valgrind over appverif.exe (except the multi platform part). Can you tell me the advantages if any?

</comment><comment><USER17> Love what I see in the first two paragraphs. Also comes with a descriptive paper and source. My favorite kind of research effort. :)

</comment><comment><USER18> Sounds good! I've never found memory-leak detection to work well; hopefully this one will do a good job.

<comment><USER14> Really? I've found the devs who say this are just having trouble understanding the results these tools put out. No offence intended but do you think that could be the case?

<comment><USER18> Nope. Been doing this 20 years, tried them all. The biggest mistake is, they report all memory allocations as 'leaks'. Instead of just repeated allocations without corresponding freeing. So you get 1,000 reports of which 1 or 2 are really problems.

Then they like to carp about exactly how the memory was freed, which primitive etc. Which can matter when multiple heap disciplines are in use. But when they aren't its just more noise.

I remember an embedded fibre channel router we did, 16 processors and 100's of server message handlers. We tried a heap validation tool of some sort (valgrind?) and after a week of struggle we found exactly one sort-of problem ( a small leak ) out of the thousands of false alarms. Definitely not worth the effort.

<comment><USER14> This is exactly what I'm talking about. You can enable options to filter though these warnings. Too many devs get overwhelmed by the output and give up early. It takes some practice to use correctly but tools like valgrind are invaluable.

Also, if you are ignoring warnings about using the wrong deallocator in C++ then you are making a big mistake. Your code may work but this causes nasty bugs. E.g. if you allocate with 'new []' and then deallocate with plain old 'delete' or worse 'free()'.

<comment><USER18> I understand all that. In the end, I've experienced no benefit from these tools.

The example about new[]/delete; is a good one. That is important only if the element has a ctor/dtor. Yet the tools flag simple scalar arrays as well - pointlessly adding to the noise.

</comment></comment></comment></comment></comment><comment><USER19> And it works on Windows? Sign me up.

</comment><comment><USER20> The problem with valgrind is that they don't update it often enough. Is once a year enough?

<comment><USER21> Why does it need to be updated? Valgrind is that rare piece of software that always has been working absolutely flawlessly for me.

<comment><USER22> If you wish to use new CPU features such as the imaginary AVX-1337, have fun waiting a year before being able to run your leak check.

And no, I don't want to maintain multiple code paths on my system, even for compiled generated AVX[2,512,SSE4.1] code. If you do so, you end up having a dev system unrepresentative of the production one.

</comment></comment></comment><comment><USER23> +1 for the Firesign Theater reference. Anybody else catch that?

<comment><USER24> Read me Dr.Memory?</comment></comment>


A College Bubble So Big Even The New York Times And 60 Minutes Can See It - <AUTHOR> http://www.forbes.com/sites/jerrybowyer/2012/05/22/a-college-bubble-so-big-even-the-new-york-times-and-60-minutes-can-see-it-sort-of/

<comment><USER2> A recent podcast from NPR's Planet Money had someone on arguing that the sticker price for private colleges is soaring, but the average actual cost (after grants and scholarships) is actually tracking inflation. If you believe that, then there's no bubble in college tuition prices. Why do colleges raise their sticker price? First, they can do price discrimination, charging rich people more to subsidize poor people. Second, (I didn't know this) giving a kid a $20K scholarship is a great marketing tool to get them to come to a school. Apparently, it works.

</comment><comment><USER3> "and then there was the 60 Minutes piece, hosted by Morley Safer which focused on PayPal founder Peter Thiel's attack on the college bubble. The piece was, of course, strongly biased. It was a venerable old dinosaur hosting a venerable old dinosaur in order to defend a venerable old dinosaur."</comment>


Ask HN: Fun DIY projects to do with a month free? - <AUTHOR> For the next month, I have essentially nothing to do, and I was interested in working on a project, preferably one that ties together engineering and coding. I'm a competent coder, but only have a little electronics or engineering experience. There's a hard limit of $350 for the project, though the cheaper the better.<p>I was thinking of building and coding a magic mirror[1], but I'd love to hear any suggestions you have!<p>[1]: http://michaelteeuw.nl/tagged/magicmirror <comment><USER2> It's obviously a very personal decision. But I would point you in the direction of problems that need solving that aren't obviously tied to coding or engineering.

Maybe a few hours spelunking through the half bakery would yield some treasures that get your creative juices flowing.

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

</comment><comment><USER3> I saw this Magic Mirror at the Maker Faire, pretty impressive.

[https://www.youtube.com/watch?v=-RFM5woK2LI](https://www.youtube.com/watch?v=-RFM5woK2LI)

</comment><comment><USER4> Clickable: [http://michaelteeuw.nl/tagged/magicmirror](http://michaelteeuw.nl/tagged/magicmirror)

</comment><comment><USER5> hack a sports watch.</comment>


Rarely-Asked Questions (2006) - <AUTHOR> http://www.paulgraham.com/raq.html <comment><USER2> I really miss pg.

I have given away many copies of _Hackers and Painters_ and have forwarded many more pdf copies of it (pirated, sorry, but for a good cause) due to exactly the same reason that Gideons place their book in hotel rooms or YW's give away their "literature": I was trying to convert people to his way of objective, no holds barred, minimalist way of thinking/writing. Unfortunately, his approach has been equated by many to the "SV hacker types have an answer to all world's great problems and they're all wrong and naive" school of thought, the belittlement and maligning of which is very much in vogue nowadays.

But these people miss the point. pg is interesting precisely because he was (is?) so different from mainstream SV thinking (compare&contrast sama's writings and his essays, not saying one is better but they are quite different). Read his essay "What You cannot Say" ([http://www.paulgraham.com/say.html](http://www.paulgraham.com/say.html)) as an antidote to current hysterical state of thought, "What You'll Wish You'd Known" ([http://www.paulgraham.com/hs.html](http://www.paulgraham.com/hs.html)) should be required for _all_ high school students around the world trying to shape their lives.

Hero worship from a founder-wannabe? Perhaps. Read the essays yourself and find out.

<comment><USER3> Did he stop writing/publishing/being active? pg so fundamentally changed my way of looking at things like not a lot of authors before. It also made me very depressed because I began to realize how fucked up life as an SE can be if you work in the wrong environments. But it also enlightened me and now I know precisely where I want to be.

<comment><USER4> He used to be a prolific commenter here on HN, but he hasn't posted for 2.5 years[1] though he did write three short essays in 2017[2]. I assume that middle age, wife, child, and running a startup incubator/accelerator are major impediments to anyone continuing with comments, essays, and programming.

[1] [https://news.ycombinator.com/threads?id=pg](https://news.ycombinator.com/threads?id=pg)

[2] [http://www.paulgraham.com/articles.html](http://www.paulgraham.com/articles.html)

<comment><USER5> Reading (not even) between his lines it seems that it was the increased hostility of online discourse that stopped him from writing more.

I'm sure he hasn't run out of ideas and wouldn't mind sharing them if there was less screaming in response to them.

<comment><USER6> I wonder if some nominal fee might filter out those who wish to troll him and his content. Like maybe a buck a month to read his content, 2 to be able to comment and add to the discussion.

It could still be moderated to filter the trolls with means, but I haven't run across too many people who are willing to contribute 24 bucks a year in order to scream at someone else online.

Maybe a scheme like Pinboard, where each user raises the cost in a small way as a selective pressure for handling user growth.

But I could be deluded. I believe his ideas and content are worth far more than the prices I mentioned, but if he'd give them away, why not to folks who are willing to put some skin in the game?

For me, he's one of the few writers online where I'd pay for consistent thought pieces.

</comment></comment></comment></comment></comment><comment><USER7> > I'm about to become a teacher. How can I be a good one?

I think his point #1 is what was good for Paul Graham, rather than what makes a good teacher. Some teachers would try single me out for my lack of work ethic, & it would further disengage me. I learnt better from who would expose us to ideas, & then leave us to our own devices, play makes for good learning, & play must be voluntary. The teacher I respected most taught both Physics & Programming in my senior years ( [https://ca.ratemyteachers.com/michael- harwood/579411-t](https://ca.ratemyteachers.com/michael-harwood/579411-t) ). He didn't have high standards. Which meant I was free to explore whatever I felt like, building pyramids out of rulers, playing chess, reading about random programming languages. Still keep in touch with him. I liked teachers who would go off on tangents during a lecture. Whereas I had to drop Data Management & Probability when the teacher wouldn't allow me to read in class

As for #2, there was a biology teacher who was a good teacher, very passionate, very much meets #1 & #3, but he broke a ruler while smacking it on a desk in rage, & he would tell us we all needed to be beaten like the Chinese: [https://ca.ratemyteachers.com/bela- nagy/452449-t](https://ca.ratemyteachers.com/bela-nagy/452449-t)

</comment><comment><USER8> PG says a lot of interesting things, but he sure is invested in the idea that the solution is a startup, for darn near every problem. He seems to think it's something virtually anyone can do with some hope of success. I don't think that squares with how hard people report having to work to make a serious try of it, and the high rate of failure.

<comment><USER9> I think you misunderstand his intended audience. He is talking mostly to people who already want to do a startup, and more specifically to people who agree with his definition of what a startup is. Within that group, his writings help refine ways to work. But it is definitely targeted to a very specific type of business and entrepreneur.

<comment><USER10> This is true when he's writing about ideas like "do things that don't scale" or "every transformative startup looks bad at first."

It's less true when he's writing about broader topics like "how to be a good teacher" or "how can we solve economic inequality across all of society."

</comment></comment></comment><comment><USER11> _> How can I avoid turning into a pointy-haired boss?_

 _> The pointy-haired boss is a manager who doesn't program. So the surest way to avoid becoming him is to stay a programmer. _

Staying a programmer is a good way to avoid becoming a pointy-haired boss, but I've seen many programmers become pointy-haired bosses even as they continue to write code. The most common way good people become bad bosses is to blame people for their mistakes, because they're nervous about the commitments they make and don't know how to leave themselves enough options. The closer you are to the code, the less likely you are to suffer from this prolem (but it still happens).

Jenny Greene and I wrote about this in Learning Agile: [https://twitter.com/AndrewStellman/status/971810876830502912](https://twitter.com/AndrewStellman/status/971810876830502912)

</comment><comment><USER12> _How can I become really good at Lisp programming?_

 _Write an application big enough that you can make the lower levels into a language layer. Embedded languages (or as they now seem to be called, DSLs) are the essence of Lisp hacking._

When I think about Clojure, the "layers of languages" metaphor doesn't spring to mind.

Can anyone familiar with the language describe how well the metaphor holds for it? Also, is there a difference in how well it holds for how Clojure is presented and used in practice, vs. what's technically possible in the language?

<comment><USER13> Clojure is an opinionated Lisp whose focus on simplicity, and orientation around data, may draw people away from the nested language approach.

You certainly can use macros to build DSLs in Clojure (the Midje and Korma libraries make heavy use for them, for example). But over-heavy use of macros is discouraged when common library functions operating on simple data structures will do.

For a very different approach which feels much more aligned w/ PG's comment, have a look at Norvig's "Paradigms of AI Programming: Case Studies in Common Lisp." Reading it changed my notion of what Lisp is / can be; you can write Clojure programs that look similar, but it seems to be rare to do so.

</comment></comment><comment><USER14> I'm not huge into YC, SV culture, etc. but the section with history book recommendations was what started my passion for history and art history about five years ago.

</comment><comment><USER15> PG's anti-philosophy agit-prop is always very juvenile.

The "philosophy is proto-versions of everything else" schtick is such a confused, petulant view.

Research academic analytic philosophy as practiced in contemporary universities at post-grad level, as published in journals, has nothing to do with the "philosophy" of history which meant _any_ "thinking systematically".

(Imagine "physics" being held to account for artistotle's Physics!)

Research philosophy is metacogition, ie., the application of concepts-about- concepts to whichever concepts are of interest to a given philosopher: everything from programming to physics to art.

This isnt a proto-version or a degraded version or anyhting. Its an enitrely different discipline. Physicists do not regard cycling has some "proto" version of classical physics.

The employing of domain concepts is different to employing metacognative concepts to that domain. The latter is a whole field of independent research with its own goals, criteria, method.

<comment><USER16> I think you demonstrate PG's point that words are unclear and this is a source of much confusion. Even today, different people use "philosophy" to mean radically different things.

> Research academic analytic philosophy as practiced in contemporary > universities at post-grad level, as published in journals, has nothing to do > with the "philosophy" of history which meant any "thinking systematically".

If post-grad philosophy is so thoroughly different from what is taught as "philosophy" in undergrad, it would behove them to use a different name.

<comment><USER17> I think the rest of the world is just fine with understanding concepts or words that have overloaded meaning. I don't see how this is some showstopper idea.

<comment><USER18> I notice that there is a lot of conflict these days about what should be called 'racism' or 'sexism' and a lot of it stems from words with overloaded meanings. People actually come to blows over this.

</comment></comment></comment></comment><comment><USER19> That list of history reading appears depressingly Euro-centric. At the very least, China and India have significant written history too.</comment>


Default Behavior and the Internet Operating System - <AUTHOR> http://www.avc.com/a_vc/2009/05/default-behavior-and-the-internet-operating-system.html <comment><USER2> I don't think craigslist would be my first option for concert tickets. But for search I usually use my browser search box. Movies fandango, ruby news, ruby.alltop.com</comment>


US issues emergency cyber security directive as hackers strike during shutdown - <AUTHOR> https://news.sky.com/story/us-issues-emergency-cyber-security-directive-as-iran-linked-hackers-strike-during-shutdown-11616241 <comment><USER2> The civilian agency I worked for during the 2013 shutdown had the majority of it's IT staff from fully funded contracts, the net effect of which was IT operations were not significantly impacted in spite of federal workers being furloughed. While this shutdown is longer than any that came before it, I expect a number of these agencies are continuing relatively normal IT operations.</comment>


Show HN: ScribbleGrid – multiplayer drawing website - <AUTHOR> http://scribblegrid.com/ <comment><AUTHOR> This version of ScribbleGrid is only a couple of weeks old but I've created a pretty cool map of the first grid: [http://scribblegrid.com/maps/origin/](http://scribblegrid.com/maps/origin/)

As expected the place is filled with swastikas and penises but there's also some fine art on there:

[http://scribblegrid.com/maps/origin/#9/0.9503/-24.8126](http://scribblegrid.com/maps/origin/#9/0.9503/-24.8126)

[http://scribblegrid.com/maps/origin/#9/-8.8498/117.6224](http://scribblegrid.com/maps/origin/#9/-8.8498/117.6224)

[http://scribblegrid.com/maps/outliers/#5/-80.852/-4.438](http://scribblegrid.com/maps/outliers/#5/-80.852/-4.438)</comment>


Everyday Vim – A Basic Vim Commands Cheat Sheet - <AUTHOR> https://spin.atomicobject.com/2016/04/19/vim-commands-cheat-sheet/?utm_source=hacker_news-ao&utm_campaign=vim-commands-cheat-sheet&utm_medium=referral <comment><USER2> hjkl are more or less under the fingers of touch-typists but not everyone is a touch-typist. hjkl are not that useful anyway, no need to insist on those keys.

The token/word distinction is wrong. What the author calls a "token" is a "word" and what he calls a "word" is a "WORD". See :help word.

Ctrl+B and Ctrl+F are "PageUp and PageDown". Ctrl+U and Ctrl+D have no generic equivalent. There's also Ctrl+Y and Ctrl+E for scrolling line-by-line.

Same comment about "token" for *#.

Maybe explaining what a "find command" is wold help the reader understand what nN actually do.

Same comment about "token/word/WORD" for cwcW. (The mistake is repeated a lot so I won't repeat myself.)

c is "change", not "correct".

The description of cwcW is wrong. They unintuitevely work like ce and cE: change from the cursor to the end of the current word/WORD. See :help cw.</comment>


America After Climate Change, Mapped - <AUTHOR> https://www.citylab.com/environment/2019/12/green-new-deal-atlas-climate-change-mcharg-center-maps-model/603415/ <comment><USER2> Very odd they feature earthquakes so prominently on their map of supposed climate change effects. There is very little evidence to suggest climate change has any affect on the frequency of earthquakes humans can feel.

"We're simply not in a position at this point to say that climate processes could trigger a large quake."

[https://climate.nasa.gov/news/2926/can-climate-affect- earthq...](https://climate.nasa.gov/news/2926/can-climate-affect-earthquakes- or-are-the-connections-shaky/)

<comment><USER3> The article is written by a political activist. Might as well include solar activity and locust plague map to demonstrate how much the world is on fire.

</comment></comment><comment><USER4> How climate change will affect the frequence or intensity of eartquakes?

I agree that, on current predictions taking already know effects, heat, floods and hurricanes should increase.

And, as we are getting into new global conditions compared with historic records, we may face other negative effects due to feedback loops and unexpected interactions, but I don't know how that will affect eartquakes, unless it forces people to move to areas where they are more common.

<comment><USER5> It was demonstrated pretty convincingly over a decade ago that variations in atmospheric pressure can increase fault activity.

[https://www.nature.com/articles/nature08042](https://www.nature.com/articles/nature08042)

<comment><USER6> In addition, there is a newly discovered phenomenon called a stormquake. As storms become more powerful due to climate change, we may also see increased seismic activity.

[https://www.nationalgeographic.com/science/2019/10/new- seism...](https://www.nationalgeographic.com/science/2019/10/new-seismic- phenomenon-discovered-named-stormquakes/)

<comment><USER3> Those are slow earthquakes that can be ignored [https://en.wikipedia.org/wiki/Slow_earthquake](https://en.wikipedia.org/wiki/Slow_earthquake)

Also there are already hurricanes in the map legend. Nobody would notice a little earthquake during a hurricane.

</comment></comment></comment></comment><comment><USER7> If sea levels rise, the coastline should change. This map isn't really reflecting that.

<comment><USER8> Sea level is only going to rise by a few feet. How can a map reflect such a small change?

<comment><USER7> Large parts of Florida are not much above sea level. Some articles have explored that with maps already, for example:

[https://earthobservatory.nasa.gov/images/4818/elevation- of-s...](https://earthobservatory.nasa.gov/images/4818/elevation-of-southern- florida)

<comment><USER8> Worst case is 2.5m rise by 2100, which is half the smallest change in your link.

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

<comment><USER7> The link I posted isn't predicting what the future looks like. It's about dealing with flooding and storm surge.

You asked how it can be mapped. It absolutely can be mapped.

</comment></comment></comment></comment></comment><comment><USER9> im definitely nitpicking but earthquakes should be yellow and wildfires red. are earthquakes actually impacted by climate change?

<comment><USER6> It seems more and more likely.

[https://www.nationalgeographic.com/science/2019/10/new- seism...](https://www.nationalgeographic.com/science/2019/10/new-seismic- phenomenon-discovered-named-stormquakes/)

</comment></comment><comment><USER10> Seems like the Green New Deal (since they mention it in the article) is more about socialism than not the environment..?

I'm wondering why people are still using that term.

<comment><USER11> What part of the Green New Deal is socialism?

<comment><USER8> The restructuring of the economy?</comment></comment></comment>


Facebook is using AI to spot suicidal thoughts - <AUTHOR> https://www.theverge.com/2017/11/28/16709224/facebook-suicidal-thoughts-ai-help <comment><AUTHOR> I'm mostly worried what they will do with the information -- I feel like deciding how to surface the information to the user requires an exercise in sensitivity subtlety that facebook may not be able to handle it well.</comment>


TLDW – Search inside of videos from YC, VCs and established founders - <AUTHOR> https://usetldw.video/ <comment><AUTHOR> Javaughn here, I'm on the team that built TLDW. The most precious things for founders is usually time and knowledge/insights. Having to watch start-up videos often waste time, so why not skip to the part of the video that answers the questions you're trying to ask?

TLDW allows you to do that and so much more! Enjoy and upvote us if you like it.

Happy to answer any questions you have too!

<comment><USER2> Why doesn't your website respect the "back" button?

<comment><AUTHOR> hi qppo, we built this site over the last few days for a hackathon, so haven't be able to make all the product edits we wanted to create a delightful experience

thanks so much for your comment and for checking our site

</comment></comment></comment><comment><USER3> Hi. I did something similar back in 2016 - scripting/abusing the youtube api to skip inside the video.

[https://tldws-16b54.web.app/#/discover](https://tldws-16b54.web.app/#/discover) A little side project that went nowhere.

Website's up, but I'm not sure api calls work anymore.

Anyway, I'm all for TLDWing videos. You are welcome to message me if you think I can contribute email@example.com

<comment><AUTHOR> Thanks, Stratenjine! Also love the name YouTuLong

</comment></comment><comment><USER4> I think this is a great product you've built.

Suggestion: for each snippet / moment you show, show the thumbnail at that time.

Related: Google's Key Moments effort: [https://blog.google/products/search/key-moments-video- search...](https://blog.google/products/search/key-moments-video-search/).

<comment><AUTHOR> that's a good idea! we're definitely looking into how to do that

</comment></comment><comment><USER5> This is really cool! I'd love if I could search a phrase and have all video snippets coalesced together!

<comment><AUTHOR> Good idea!

</comment></comment><comment><USER6> Great product, couldn't resist sharing on Twitter [https://twitter.com/shacrw_/status/1305602760491053057](https://twitter.com/shacrw_/status/1305602760491053057)

<comment><AUTHOR> glad you liked it! thanks for the tweet

</comment></comment><comment><USER7> I think this is a great idea.

I wish you luck.

You probably have plans to promote. If not already, you should start building the email list for your self and launch on as many platform as you can, ex: product hunt, pitch ground, app sumo, there are so many :)

As a founder myself, i wish you all the success!

<comment><AUTHOR> Thanks, Nurag. We'll get on those

</comment></comment><comment><USER8> If only you could run this on all of youtube..would save so much time

<comment><AUTHOR> oh ya that would be amazing!

<comment><USER9> And also on Twitch VODs (recordings of past streams).

<comment><AUTHOR> oh didn't think of that! thanks codetrotter

</comment></comment></comment></comment><comment><USER10> Yes! Finally. Feature request: user generated time-synced commenting Breaker, Genius.com-esque?

<comment><AUTHOR> Really good, idea! We'll add it to our list for next products

</comment></comment><comment><USER11> This is awesome and will personally save me hours of time! Congrats Javaughn and team!

</comment><comment><USER12> This is really great. Will YouTube let you monetize this in any way?

<comment><AUTHOR> That's a good question, Casey!We're not sure, but will look into it

</comment></comment><comment><USER13> Awesome product! Looking forward to using it.

<comment><AUTHOR> You can use it now, Sora! [https://usetldw.video/home.html](https://usetldw.video/home.html)

If you have a set of videos you'd like us to add let us know!

</comment></comment><comment><USER14> Cool, which search engine are you using?

<comment><AUTHOR> We'll using Elastic Search

</comment></comment><comment><USER15> this is amazing javaughn + co!

<comment><AUTHOR> Glad you like it Joship!

</comment></comment><comment><USER16> Love it! Go #OnDeck Fam!

</comment><comment><USER17> Awesome to see!

</comment><comment><USER18> Upvote!

<comment><AUTHOR> Thanks, Zoooey!

</comment></comment><comment><USER19> upvote!

<comment><AUTHOR> thanks, Smile!</comment></comment>


What Is Defi? - <AUTHOR> https://medium.com/fleta-first-chain/what-is-defi-b721ca027973 <comment><USER2> I wondered when FLETA would be entering into the crazy world of DeFi!</comment>


Developers Need to Teach Programming in K-12 - <AUTHOR> http://www.edsurge.com/n/2013-05-14-opinion-best-development-challenge-ever-teach-coding

<comment><AUTHOR> OP here. I've taught STEAM for about five years now on a completely voluntary basis at a low SES, high ELL school in Brooklyn.

I went looking for a job a few months ago in NYC. When potential bosses asked me what I was looking for in a work place, I say a company that lets me take time off to teach in schools. This caught them all off guard, and not in a good way. I don't care about your beer fridges and ping pong tables. More developers should be demanding this in their perks and benefits.

Kids need teachers real experience to see the power of programming and STEM, and they won't find that in most traditional teachers. It's up to developers to pick up the slack.

Current STEM policy conversations are around future job availability. Great, just what every 10-year-old wants to hear, "one day you'll be able to help Google sell more ads or work 60-hour weeks for a VC." Programming is so much more than that, but kids will never hear it without talking with real developers.</comment>


Web Framework Benchmarks round 9 - <AUTHOR> http://www.techempower.com/blog/2014/05/01/framework-benchmarks-round-9/

<comment><USER2> A dupe of [https://news.ycombinator.com/item?id=7680242](https://news.ycombinator.com/item?id=7680242).

<comment><AUTHOR> Ah, I guess we posted at the same time.</comment></comment>


Bitbucket Down - <AUTHOR> http://status.bitbucket.org/#06-03-2014

<comment><USER2> Still no information neither on Twitter nor on [https://status.bitbucket.org](https://status.bitbucket.org)

<comment><USER3> There is now on status at least but no word on twitter yet.

<comment><USER4> The status page is also serving and invalid certificate (wrong domain).

Looks like a fun day at Bitbucket HQ.

</comment></comment></comment><comment><USER5> Today was a bad day to send my proposal for introducing bitbucket to my new company X_X

</comment><comment><USER6> looks like it's back, at least for browsing repositories</comment>


More Venture Capital Co-investment Networks - <AUTHOR> http://www.drewconway.com/zia/?p=2509 <comment><USER2> For me, the most interesting thing about this post is the embedded "zoom.it" graphics, which allow for amazingly smooth zooming -- without Flash or other plug-ins. Very cool.

<comment><AUTHOR> I believe he's using Seadragon, I'm a fan of it myself. It turns our Microsoft still produces some cool stuff. It lies on top of Silverlight I believe and a similar technology underlies Bing Maps w/ Silverlight which I highly recommend trying out.

<comment><USER3> zoom.it is what was formerly known as Seadragon, but the new version does not require Silverlight.</comment></comment></comment>


Is Apple using Intel to fabricate their 64-bit A7 processors? - <AUTHOR> http://macdailynews.com/2013/09/16/is-apple-using-intel-to-fabricate-their-64-bit-a7-processors/

<comment><USER2> I thought they had their own equipment colocated at tsmc, or somewhere. This is based on their earnings call last winter, but my mind is fuzzy.</comment>


IPhone Developer Quits Day Job After 'iShoot' Hits Number One - <AUTHOR> http://www.iphonesavior.com/2009/01/iphone-developer-quits-day-job-after-ishoot-hits-number-one.html <comment><USER2> The screenshot looks pretty similar to atomic tanks which is an awesome game.

<comment><USER3> Others are finding similarities with "Scorched Earth", "Worms" and some C64 games too.

The hardcore game thing has gone too far. Time to go play the 80s and 90s game and revive some oldies. The iPhone seems to be a better platform (financially) than web/flash.

</comment></comment><comment><USER4> Until Apple has a way to let users download a paid app but only charge after say 30 minutes, releasing a free lite version of an app must be the best way to market your paid game.

</comment><comment><USER5> Is game design copyrightable? Everything I've heard about this game is that it's a clone of several others.

<comment><USER3> > it's a clone of several others.

Which indicated that it is not a copy of any single game. More like a remake of a genere of games. Fair enough.

</comment></comment><comment><USER6> Would you ever hire someone like him? Or recruit him as a co-founder?

I'd think twice.

<comment><USER7> The guy who create a successful app all by himself? You bet.

<comment><USER6> True, that's what it seemed to me at first.

However after some further thoughts, I changed my mind:

I've played Worms before. He pretty much copied the entire game design from Worms. So basically, he didn't even create the element that attracts the users in the first place.

He was smart to create a Lite version, so maybe he is intuitive about marketing. That's hard to say from one example.

He got lucky, but didn't realize that he did (apparently the app store environment is rather arbitrary). He thinks he has lots of talent at things he didn't design, so he went all-in by quitting his job. Now, he spends his afternoons watching Judge Judy (or as the article says.)

Yes, he knows how to write code. That's about all I can infer.

On top of that, he makes rash decision, lacks hindsight, spends his afternoons doing useless activities.

Now I don't know him. I'm sure he's a good guy. I just think the publicity he got was rather negative for his future.

But hey, any publicity is good publicity, right?

</comment></comment></comment><comment><USER8> <gag></gag></comment>


Reach Customers on Facebook Messenger Using the Twilio Messaging API - <AUTHOR> https://www.twilio.com/messaging-apps <comment><AUTHOR> Note: if you choose to reach someone over the phone number linked to their Messenger ID, there's a one-time $99 fee to Facebook.</comment>


Tetration - <AUTHOR> http://en.wikipedia.org/wiki/Tetration <comment><USER2> This is a fantastic article on "big numbers" (and discusses tetration):

<http://www.scottaaronson.com/writings/bignumbers.html>

(I think someone has posted it to HN before, which is why I am leaving it as a comment)

<comment><USER3> Definite upvote. That essay is insanely fascinating; I tend to re-read it every few months.

<comment><USER4> I like the article, too, but I'm always disappointed when it doesn't cover Knuth's up-arrow, which seems absurdly relevant.

<comment><USER5> Thanks. Obviously <http://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation>

Shorter read: [http://www.daviddarling.info/encyclopedia/K/Knuths_up- arrow_...](http://www.daviddarling.info/encyclopedia/K/Knuths_up- arrow_notation.html) , which comes quickly to next step:

 _Three up-arrows together represent a still more vastly powerful operator, equivalent to hyper5 or pentation, or a power tower of power towers_

</comment></comment></comment></comment><comment><USER6> Addition, multiplication and exponentiation all have pretty clear day to day applications.

Is there a laymans explanation for how you could apply this in an 'ordinary' setting, in other words is this from my non-mathematical background a useful construct or should I treat it as a curiosity?

I find it interesting that there is a simple order to the operations +, *, ^ and so on that apparently can be extended further than I was aware of, is there a limit to that?

How would a fifth element in that series be applied?

Edit: as to the last, it seems the series builds on the previous operation in the series to build the next, so possibly 'pentation' would be a series of tetrations?

2+4 = 6

2x4 = 2+2+2+2 = 8 (edit2: using an 'x' here because hn eats asterisks thinking you mean italics)

2^4 = 4x4x4x4 = 256

2^^4 = 2^(2^(2^2)) = 65536

2^^^4 = ...?

<comment><USER7> This ([http://en.wikipedia.org/wiki/Knuths_up- arrow_notation#Introd...](http://en.wikipedia.org/wiki/Knuths_up- arrow_notation#Introduction)) describes how it can be extended without limit. And there's are numerical examples at the end of that section demonstrating how. And this (<http://en.wikipedia.org/wiki/Pentation>) focusses specifically on the next step on "pentation".

I'm not aware of any "real-world" applications of tetration in the way that eg exponentials can describe certain physical or economic processes. But it does have some genuine uses in pure mathematics such as calculating the upper bound of some numbers. It's not just making big numbers for the sake of it.

<comment><USER6> hehe, funny, I _just_ caught on to that (see edit above).

It's pretty logical really, but I can't seem to come up with what it should work out to. But the notation, once you go from ^ for exponentiation to ^^ for tetration immediately suggests ^^^ for the next step. I feel pretty dumb now for not realizing right away that was what was intended. (edit: I suck at math, in case that wasn't clear yet...).

Thanks!

</comment></comment></comment><comment><USER7> Tetration is used to express Graham's number (<http://en.wikipedia.org/wiki/Grahams_number>) which appeared in the Guinness book of records as the largest number ever used in a serious mathematical proof.</comment>


Show HN: GIF to Ascii Animator; Django Appengine - <AUTHOR> https://oswalpalash.appspot.com/gif

<comment><AUTHOR> I'd love your feedback on the application. It's open sourced and it's presently deployed on App Engine. I want to optimize it :)

Thanks

<comment><USER2> It's fast, but if i put a single .gif in it disappears immediately.

<comment><AUTHOR> The frame rate is presently set to 24 fps. So it's independent of the gif you input. For single frame images, gifs: [https://oswalpalash.appspot.com/ascii](https://oswalpalash.appspot.com/ascii)</comment></comment></comment>


Show HN: Docary (Weekend project) - <AUTHOR> http://docary.me

<comment><USER2> I use some logging apps regularly (The Eatery, Weightbot) but the apps have to be REALLY good for me to log things. (and even then it's hit or miss)

It is way too much of a burden to manually log everything and I think solutions for these kind of things are going to be leap frogged by the Nike Fuelbands, Fitbits, and Jawbone UPs of the world.

Might make since to look at importing and visualizing that data.

</comment><comment><USER3> I do have feedback, but I don't have a twitter account (gasp!) nor a Trello or Github accounts. Oh well.

<comment><AUTHOR> This is useful feedback in itself. For now, can you contact me through here: <http://jclaes.blogspot.com/p/contact.html> ?</comment></comment>


Michael Jordan turned down a two-hour, $100M appearance, his agent says - <AUTHOR> https://edition.cnn.com/2020/05/01/sport/michael-jordan-100-million-spt-trnd/index.html <comment><USER2> What a bullshit article.

Quote:

> "I brought him a deal three years ago for $100 million. All he had to do > was, other than giving his name and likeness, make a one two-hour appearance > to announce the deal and he turned it down," Falk said

They offered $100 million for Michael Jordan's name and likeness.

Air Jordan's brand is worth over $3 billion dollars, and they offered Jordan a fraction of that value for the core of that business.

Do they think Michael Jordan is an idiot?

Do the authors of this article think their readers are idiots?

</comment><comment><USER3> The guy is worth 2.1 billion dollars.

There is no lifestyle difference between 2.1 billion and 2.2 billion.</comment>


Imgix: A New Step Forward - <AUTHOR> https://blog.chriszacharias.com/imgix-a-new-step-forward <comment><AUTHOR> Hi everyone, Chris, the founder of imgix here. We are just beginning to talk about what we are going to be rolling out over the next few months, so I wrote this piece about how and why we are moving in the directions we are moving, with a focus on explaining things from the developer perspective. There will be plenty more to follow so stay tuned. For the moment, I am happy to fill in any details that I can.</comment>


Ask HN: Does your DigitalOcean droplet get hacked often? - <AUTHOR> Hi folks,
For those of you using DigitalOcean, wondering how many of you had your droplets compromised? I don't even know where to begin investigating how they were able to penetrate.
I'm also considering moving away given that I have repeatedly received emails from DigitalOcean telling me that "I'm the cause of traffic spikes and attacks on other websites". Contacting support is also quite useless as they assume I'm at fault.
Thankfully, it's only a personal website being hosted but it's still quite annoying. <comment><USER2> Never had an issue. Here's how to search for trojans: [https://www.digitalocean.com/community/questions/my- droplet-...](https://www.digitalocean.com/community/questions/my-droplet-has- been-compromised-and-is-sending-an-outgoing-flood-or-ddos-what-do-i-do)

DO has put out _a lot_ of information on how to harden your server. Beyond that, an old Wordpress installation is the most obvious attack vector.

</comment><comment><USER3> Sometimes ago I had a personal website hosted on DO, never had issues with it.

</comment><comment><USER4> Never. What are you running on it? word press?

<comment><AUTHOR> The one droplet that got hacked actually had Ghost on it.</comment></comment>


BP Statistical Review of World Energy 2014 - <AUTHOR> http://www.bp.com/en/global/corporate/about-bp/energy-economics/statistical-review-of-world-energy.html

<comment><USER3> Looks like big oil is shorting renewables again rightly or wrongly. There can't be any denying how quickly coal and gas are growing, likewise how renewables has had a shakedown in the last few years.

What is intriguing however is just how big oil - BP, Shell, Exxon etc - <USER2> really going to move away from the fossil cash cows in the future when the stuff gets too expensive to extract or when everyone moves onto something else.

Definitely, renewables is a huge opportunity for new entrants, possibly the biggest economic opportunity in business today in many ways given what's at stake.</comment>


Iterators and Streams in Rust and Haskell - <AUTHOR> https://www.fpcomplete.com/blog/2017/07/iterators-streams-rust-haskell <comment><USER2> I feel like the author has felt obliged to include the full results, which is noble, but it's mostly obscuring the interesting results.

What does it matter if the "cheating" versions are faster, since they're doing something completely different? (OK, in principle it could be the same with an unrealistically magical optimizer.)

Seems to me the key point is that a bunch of high-level constructs in both Rust and Haskell are very nearly as fast as a tight loop in C. That's great!

The versions that are much slower don't seem very surprising, as they involve boxing the ints. _(Edit to add: OK, reading more closely, I guess 'Haskell iterator 5' is interesting to dig into.)_

<comment><USER3> No idea why people reacting here so far got fixated on the "cheating" versions - it's clear to me they were included mainly to set a maximal speed baseline/benchmark and are not the main point of the article.

<comment><USER4> I find the "cheating" versions peculiar because I don't see the purpose of it. What's the point, and in what way is it cheating? It's just a different algorithm, and doesn't add any useful information to the subject at hand.

<comment><USER5> Numerical operations in a loop are often subject to aggressive optimisation by C compilers, which makes them tricky to use in benchmarks: are we measuring the intended loop, or has the work been optimised away? Often comparisons are made of "Blub vs C", where the C result is an order of magnitude smaller, and it's not clear if that's because C is fast or whether it's been optimised away.

Including an "optimised away" version lets us know when this has happened: the "non-cheating" benchmarks take much longer than the "cheating" ones, so we can assume they've not been optimised away.

I assume the author only went into detail about them because they're independently interesting, regardless of the main topic of the post.

<comment><USER4> The solution to this is to deliver arguments at runtime, rather than baking them into the program as constants. Describe some computation by a data structure that is delivered at runtime, and see which implementation does best. That way there can be no cheating.

<comment><USER5> > The solution to this is to deliver arguments at runtime, rather than baking > them into the program as constants.

Functions already take their arguments at runtime. Except when they don't, due to optimisation.

For a benchmark to be automated, reproducible, etc. those constants have to be baked in _somewhere_ , even if it's in a Haskell program using FFI (as in the article), or a shell script, etc. Whilst optimisers don't (yet) cross the language/process boundary, it still makes sense to include such sanity checks, rather than assuming we know what the optimiser will/won't do.

After all, the whole point of a benchmark is to gather evidence to question/ground the assumptions of our mental model. The less we assume, the better. The more evidence we gather, the better.

</comment></comment></comment></comment></comment></comment><comment><USER4> I find it really interesting that the idiomatic Haskell implementations (basically math) are the best-performing, while the Rust-like Haskell implementation (using an IORef) is orders of magnitude slower. This is exactly what I want: describe the logic of the operation, and leave the compiler to optimize for the hardware (in this case a CPU which mutates registers). The Rust implementation makes assumptions about the underlying hardware (has registers we can mutate), and is only about 15% faster than the Haskell implementation which makes no such assumptions.

In essence, this is why I love Haskell, and choose it over Rust: it allows me to write my application logic directly, without having to think about it in terms of mutation, and have the generated code be pretty fast. If GHC becomes well-optimized enough it can render Rust obsolete, since "no runtime overhead" becomes pretty meaningless if it's actually slower than Haskell (e.g. using LinearTypes, which removes need for GC). Rust can't render Haskell obsolete, however, since Haskell's goal is basically allowing you to write logic directly, using types as propositions and values as proofs. So Haskell's goal is a qualitative one (execute logic) while Rust's is a quantitative one (performance/no runtime overhead), which results in Haskell being able to take the place of Rust if GHC gains sufficiently in performance.

<comment><USER6> > _If GHC becomes well-optimized enough it can render Rust obsolete [...]_

Ah yes, the mythical Sufficiently Smart Compiler (TM), scheduled to arrive any day now. Will it also be able to reliably transform non-trivial functions that are accidentally O(n) in memory consumption due Haskell's laziness, to O(1) versions?

The keyword here is _reliably_. There are many clever but brittle compiler optimizations that aren't used much in the field, because when performance is crucial, you can't rely on the compiler to detect this transformation opportunity in some cases and not in some other cases, so you code it explicitly.

<comment><USER7> _reliably transform non-trivial functions that are accidentally O(n) in memory consumption due Haskell 's laziness, to O(1) versions?_

What you're describing is called strictness analysis. [0] I believe that attempting to solve it in general runs up against the halting problem. That being said, GHC does perform some strictness analysis when optimization flags are turned on. [1] The language itself also includes strictness annotations on the fields of data constructors. [2] Experienced Haskell programmers know how to use these to avoid allocating unnecessary thunks.

[0] [https://en.wikipedia.org/wiki/Strictness_analysis](https://en.wikipedia.org/wiki/Strictness_analysis)

[1] [https://wiki.haskell.org/Performance/Strictness#Strictness_a...](https://wiki.haskell.org/Performance/Strictness#Strictness_analysis)

[2] [https://wiki.haskell.org/Performance/Data_types#Strict_field...](https://wiki.haskell.org/Performance/Data_types#Strict_fields)

</comment></comment></comment><comment><USER8> > But look again: C is taking 87 nanoseconds, while Rust and Haskell both take > about 175 microseconds. It turns out that GCC it able to optimize this into > a downward-counting loop, which drastically improves the performance. We can > do similar things in Rust and Haskell to get down to nanosecond-level > performance, but that's not our goal today. I do have to say: well done GCC.

Downward-counting or not, it is simply impossible for GCC to generate code that executes all 1,000,000 iterations of the loop in 87ns. That would be 87 femtoseconds per iteration, on average.

More likely, GCC figured out how to collapse the entire loop into a closed- form expression that is a function of the loop length.

<comment><USER9> I just tested this on my machine (gcc 5.4.0). At -O2, gcc produced normal looking assembly code. At -O3, gcc produced a monstrosity [0] that I don't feel like fully deciphering.

However, from a brief glance, it does not appear to have created a closed form solution. Instead, it contains a single loop:

        .L4:
            addl    $1, %edx
            paddd   %xmm1, %xmm0
            paddd   %xmm2, %xmm1
            cmpl    %edx, %eax
            ja  .L4

which seems to be using a SIMD instruction (paddd[1]) that adds does 4 32-bit integer additions in parallel.

After this loop, it does some "housekeeping" (read, something I don't understand) before proceeding to an unwound version of the last iterations of the loop:

        leal    4(%rdx), %ecx
        addl    %edx, %eax
        cmpl    %ecx, %edi
        jl  .L2
        addl    %ecx, %eax
        leal    8(%rdx), %ecx
        cmpl    %ecx, %edi
        ...
        jl  .L2
        addl    %ecx, %eax
        leal    28(%rdx), %ecx
        cmpl    %ecx, %edi
        jl  .L2
        addl    %ecx, %eax
        addl    $32, %edx
        leal    (%rax,%rdx), %ecx
        cmpl    %edx, %edi
        cmovge  %ecx, %eax
        ret

Where .L2 is just:

        .L2:
            rep ret

I assume that this is just some form of return, but the documentation I could find [2] seems to suggest that rep is a prefix for string operations, which doesn't make sense.

[0][https://pastebin.com/raw/Y55gQG7p](https://pastebin.com/raw/Y55gQG7p)

[1] [http://x86.renejeschke.de/html/file_module_x86_id_226.html](http://x86.renejeschke.de/html/file_module_x86_id_226.html)

[2] [https://c9x.me/x86/html/file_module_x86_id_279.html](https://c9x.me/x86/html/file_module_x86_id_279.html)

<comment><USER10> the rep in rep ret is ignored, is just used for alignment; the 'housekeeping' code is to handle non-multiple of 8 loop counts.

Still, unless I'm missing something, the code should be executing 8 adds per clock[2]; at 4ghz, that still above 1us for 500k adds.

GCC doesn't seem to be able to fold the loop given a constant expression, unless the function is explicitly declared constexpr; in which case it will complain about the accumulator overflowing, but gcc doesn't seem to be taking advantage of it.

Clang does not vectorize the loop but will replace it with a constant given a constant parameter.

Bottom line, I'm not sure what's going on with the article's measurements.

[2] potentially 12 for skylake or even 24 with avx.</comment></comment></comment>


At This Lost Alpine Resort, You Could Ski Among California's Orange Groves - <AUTHOR> http://www.atlasobscura.com/articles/at-this-lost-alpine-resort-you-could-ski-among-californias-orange-groves <comment><USER2> > Though the buildings are gone, the foliage is rich, the air is pure and > crisp, and the views are as amazing as ever.

But it has been many, many years since there has been any snow on Echo Mountain.

<comment><USER3> Here is a picture of snow on Echo Mountain in 2013 - you can just make out downtown LA in the background.

[http://i.imgur.com/Cqv5Zb1.jpg](http://i.imgur.com/Cqv5Zb1.jpg)

And wasn't there snow down to ~2,500 feet in early Feb this year?

<comment><USER2> I'll rephrase: it has been many, many years since there has been more than a light dusting of snow on Echo Mountain. It has probably been decades since you could last ski there.

</comment></comment></comment><comment><USER4> they had a pretty sweet set up. electric rail line to the top. alpine tavern. ocean view. beautiful big trees.

but, yeah, everything burned down.</comment>


Apple Worked A Broken Patent System - <AUTHOR> http://www.informationweek.com/mobility/smart-phones/apple-worked-a-broken-patent-system/240006568 <comment><USER2> I don't know enough to truly defend Apple's actions, but given that they started working on the iPad 10 years ago, and even when it was announced no one could figure out why it was a good idea until they used one... Apple has likely poured years and buckets of money into R&D full of trial and error, like a pharma company trying to hit on a chemical formula, and a good amount of that work can be copied for free by competitors in the absence of patent protection. In that way, what Apple is seeking is exactly what patents are supposed to provide.

For example, I still remember how incredibly novel it was to use a web browser on an iPhone and be able to zoom in to click on links, double-tap, etc. This isn't a superficial feature either, as it required a beefy graphics chip. Putting a powerful GPU in a phone and using it to zoom in on web pages and PDFs may have been as innovative as putting a hard drive, and wheel, and a graphical LCD together to make the iPod.

On the other hand, maybe "inventing" a form factor or a user interface paradigm and getting exclusive rights to it is as preposterous as it sounds, and the ghost of Steve Jobs should be content that Apple used its prescience to buy up all the high-res LCD panels. They have capitalized on their innovation quite well.

I do see Android as basically a piece-by-piece copy of the iPhone. I'd trust Google to build a JVM and throw together an API, and not much further.

<comment><USER3> This is mostly a straw man. The patent system isn't intended to reward "effort". Apple's work can't be copied "for free" by anyone, nor was it. Apple wasn't the first to put "a powerful GPU in a phone", nor was their browser the first to allow zooming (their innovation was the "pinch" gesture, and even that isn't as clear as it seems if you read the patent).

And if you don't see innovation in Android too, you're simply not looking (let me guess: you've never so much as installed the Android SDK, right?).

I am so tired of all the advocacy, yet terribly frightened of the implications. Isn't it enough that Apple made a great, ground breaking product that enriched us all? Isn't it enough that they're printing money with this device and the biggest tech company in the world? Must they really be a monopoly too? Didn't people learn anything from the 90's?

<comment><USER4> > Isn't it enough that they're printing money with this device and the biggest > tech company in the world?

They are last I checked the biggest company in history.

But apparently that is not enough reward for their efforts, they need the government to grant them a monopoly on some of the most ridiculously obvious ideas of the last 20 years.

<comment><USER3> This was hashed out over the last few weeks when they passed the record. They are the biggest in nominal ("dollar") value. The Microsoft of the 90's and IBM of the 80's were larger in inflation-adjusted market cap. And my understanding is that the US trusts of the 1920's were _much_ larger in terms of value as fraction of GDP.

But they're undeniably the biggest, most successful tech company on the planet right now. I think that's enough.

<comment><USER5> And lets not forgot Standard Oil of the early 20th century. Standard Oil was so big it's revenue (including all the subsidiaries and holdings) almost topped the value of the whole country.

Apple is far from that goal.

Apple might be the biggest company by market cap today but they're a pale comparison to the likes of Standard Oil or US Steel (in their prime).

Also, Apple doesn't have a monopoly is anything unlike (Standard Oil and US Steel). I wish most of you would stop trying to convince us all they do.

We've been down this road before. And it seems to happen every generation - some company gets very rich. And everyone starts screaming about unfair practices and monopolies.

Apple plays the patent game well. So does Google, MS, Samsung, IBM, Oracle, all the drug companies - and everybody else. So what's new?

<comment><USER3> Right. Everyone is screaming about unfair practices and monopolies _because unfair practices and monopolies hurt the market_. You honestly don't think MS hurt adoption of otherwise-good platforms in the 90's? There are a bunch of South Korean teenagers who probably wish you physical violence for holding that opinion.

<comment><USER6> You can't accuse people of using strawmen then proffer one yourself.

<comment><USER3> I'm reading back and forth between crag's reply and mine looking for a straw man and can't find one. Enlighten me? He strongly implied (it seems clear to me, though maybe you thought he was saying something else?) that the status quo was not a problem because it had happened before. I replied that it was a problem, had happened, and gave an example. Simply inferring an argument is not making a straw man.

<comment><USER7> The current system enables Apple to be the largest company in the world, in other systems other companies end up winning. So you don't get to assume the same companies win win after significant patent reform.

PS: Plenty of large companies have _overthrown_ governments and enabled atrocities on a massive scale. Sure, someone always wins but it's hard to point to a company as benign as Microsoft or Apple and assume something must be horribly broken. Honestly, after comparing the Apple ecosystem with Android Apple is far better for developers than the more 'open' platform. Ditto for Microsoft, they had their time in the sun and 'hurt' their rivals, but compared to say standard Oil, US steel, or the East India Company there practically a charity.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> When consumers realise they are paying too much (i.e. people in Asia will be paying less for the "same" phones), then things will get more interesting.

Apple's patent suits will enable it to charge inflated prices. And that's what they will do.

The comparisons commenters make to pharmaceuticals are amusing.

Apple is not like a drug company that charges high prices for it developed drugs. Those companies are reimbursed for their R&D through government programs and health insurance. Apple is reimbursed directly from people's paychecks or company budgets if the devices are purchased for employees.

These devices are cheap electronics. Few people can develop a generic version of a drug in their garage. But with 3D printing, the possibility of making protoypes that rival what Apple is selling is a real possibility.

Patents on biological materials came well before patents on software. The seriousness of the problems with the patent system (that would prompt people like Posner to speak out) is due to the behaviour of IT companies, not pharmaceutical companies.

</comment><comment><USER9> _Too many patents granted without enough understanding of the state of the art_

How far would $1B go to better understanding the State-of-the art?

<comment><USER2> Are you offering? :)

<comment><USER9> Proposal For Kickstarter:

 _Kickstart The US Patent System_

<Donations Accepted>

<comment><USER10> Nice!

Although that does make me wonder... what if Government organizations had to use something like Kickstarter to get funding?

<comment><USER11> I've wanted for a while a way of taking a small % of your taxes and allowing you the government agencies (or NGOs?) that you prefer. Maybe even a small % would be a useful thing to compete over - for instance NASA / NIH / NSF might get huge funding boosts if a certain segment of the population might give 1% of their taxes to such causes.

<comment><USER9> <http://www.janbanning.com/gallery/bureaucratics/>

Edit: Looks like a little backlog of problems to care of

</comment></comment></comment></comment></comment></comment><comment><USER12> I'm not sure I understand the article's point. In the very first sentence, the author says:

> Samsung too closely copied some elements of the Apple iPhone, and for that > it should be hung up in the public square.

But the rest of the article gives good arguments for why none of the Apple patents should have been granted in the first place, much less upheld in court. So why exactly should Samsung have been punished at all, then?

<comment><USER13> Samsung should be mocked publicly and shamed for taking such a loser's approach in ripping things off. If I wrote a story about a boy wizard called "Henry Porter", and had similar books like "Magicians Rock" and "Captive of Azitan", I'd be widely panned as just ripping off JK Rowling. But, it wouldn't be illegal.

So, a lot of folks feel like Samsung should be humiliated, that they shouldn't just ripoff designs, etc. But we also acknowledge that it should not be illegal, that if they want to make me-too products, that's fine. It's not like they were actually tricking people into thinking "yes, this is an Apple iPhone, and not a Samsung phone".

A part of me wants Samsung to get fines, just because I'm so personally pissed off with how bad they made Android look (e.g. the keyboard, the crappy backgrounds on icons), but overall, for society, we're worse off if we allow them to be punished for having poor taste.

<comment><USER6> Interesting point, but this is where people seem to disagree. At college plagiarism is expressly forbidden. It's seen as cheating to attempt to pass off someone else's work, or a close copy, as your own. It can lead to expulsion. And so it should. Samsung have done this, and appear to be continuing to do so. What makes it worse to me isn't the fact that they are attempting to mimick Apple's aesthetic to confuse, it's the liberal use of their design language with minor tweaks and the blatant denial from all and sundry that copying has taken place. It's the emporers new clothes!

Should it be illegal? That depends. The level that Samsung take things to should be. That said, their is nothing inherently wrong with being informed by other aesthetics when designing the look and feel of a product and that is where the line blurs.

<comment><USER14> Your comment seems reasonable at first sight. However, your argument presumes there being an "Apple aesthetic."

Rounded rectangles, bounce-back, swipe to unlock are refinements on what existed already. That does not imply they are novel. Apple, really is standing on the shoulders of giants(or-otherwise.)

Refinements and a reality distortion field does not an aesthetic make.

</comment></comment></comment></comment><comment><USER15> It would have been interesting to see if MS had patented AJAX, DOM and other browser goodies, singing its laurels on what an awesome IE6 browser was, where would the internet be today!</comment>


ACM Code of Ethics and Professional Conduct - <AUTHOR> https://www.acm.org/about-acm/acm-code-of-ethics-and-professional-conduct <comment><AUTHOR> I don't disagree with the impetus for neveragain.tech. What gets under my skin is that it takes a political scare to make developers talk about taking ethics seriously.

There already exists a code of ethics developers can choose to follow. There is no need to join the ACM or start writing a code from scratch. If it has inadequacies, blind spots or overreaches, we have a starting point for discussing the broad principals as well as finer details.

I want the idea of ethics in development to actually take hold. And while backlash to the idea of a Muslim registry is great, nobody that signed the never again statement is currently employed as a cog in a system used to deport muslims. A person I respect has a saying that your "principles only count when they're uncomfortable to uphold." There are some names on that list that have Google, Apple, Microsoft, Amazon, Buzzfeed or IBM next to them. I wonder how much they critically examine and stand up to their own practices and business goals.

<comment><USER2> I find it hard to swallow that tech firms actively engaged in spying and censorship really care beyond their perceived brand value about such things. It comes down to the fact that you cannot enforce ethics, and tech is largely indifferent to how it is applied.

The neveragain movement seems reactionary and self-ignorant ramblings of a party that lost. Be good for goodness sake. Not because you think the devil is waiting in the wings.</comment></comment>


Struggling Logitech Bites Bullet, Lays Off 450 - <AUTHOR> http://allthingsd.com/20120608/struggling-logitech-bites-bullet-lays-off-450/

<comment><USER2> I'm curious if the peripheral market as a whole is shrinking, with netbooks, smartphones and ipad-type devices being more prolific for daily computing? Are people less willing to but money into a better mouse for the home pc since they simply aren't using very often anymore?

It is a shame though, Logitech has made some of my favorite peripherals over the years. I wonder if they should have pivoted towards accessories for mobile devices a few years back?

</comment><comment><USER3> 450 people will result in a savings of $80 million per year? That an average savings of $177k per employee. Even with all the extra costs of employment beyond salary, like benefits and administrative overhead, that sounds like a pretty high average.

<comment><USER4> maybe they were able to shut down an office or two? I don't know... $80 million does seem strangely high</comment></comment>


Why are my hackernews posts not visible to anyone? - <AUTHOR>

My hacker news posts are not visible to anyone except me, when I am logged In. Infact, when I log out, they are not visible to me too, Why, What sort of algorithm does hacker news use to display posts and filter them? <comment><USER2> Firstly, what is the username you're claiming is invisible? I can certainly see this post.

But apart from that, you have, for some reason, been "hell-banned". Without seeing your posts and/or comments from around the time it happened I can't offer any suggestions or advice as to why it happened. Do note that sometimes it happens by accident. It happened to me the other day, and in a reply to an email I sent asking about it, PG said I'd been "fat-fingered" by accident.

With regards the algorithms, I have no inside knowledge, just deductions based on what I've seen and some experiments I've run. However, if you consistently get flagged, or get downvoted vigorously, I suspect there is an automatic hell-ban, possibly preceded by a "slow-ban" (wherein everything slows down and responds like molasses for a while). If PG was being completely honest (and I'm not suggesting he wasn't, but as a mathematician I tend to try to cover all bases) then some (and perhaps all) hell-bans are actually performed by the moderators, possible in response to flags thrown up by automated detection systems.

As an aside: Do you understand the effects of flags, downvotes, and their differences?

So if you want to know more, perform searches for "hell-ban", "flag", "downvote", "dead", and combinations thereof. You'll find plenty of discussion, and considerable complaints. For one, I think that PG has done remarkably well in keeping HN civil (although clearly not perfect) in the face of popularity, and the occasional false-positive and draconian measure might well be the price paid.

<comment><AUTHOR> Yes, this post is visible but all my other posts(which are URL links) definitely are not visible. This "hell ban" phenomenon is something I am unsure of how I got, I didn't make any such comments in the past.

<comment><USER2> I thought since you were complaining that everything was dead then it must have been a different username, and that you had created a new one to be able to post. It wasn't clear, but I guess you just didn't know.

I've never seen this sort of thing happen. Were they "dead on arrival"? When you posted the links, did you then check to make sure there was a reply comment box? Did you log out and see if they were there? Did they die after some time?

There are web sites that are banned, and links to them are simply never alive. I don't know the list off-hand - you can find them with a search. However it's certainly true that techcrunch isn't one of them, so that doesn't explain everything.

I've been on this site for a significant time, and I can't explain _all_ your links being dead, comment-less and point-less. You might send an email to PG and ask, but be I would suggest that you be clear, complete, concise, and patient. The shorter your email the more likely he can reply immediately.

I also suggest you run an experiment and submit a link to a page somewhere, see if it has a comment box, log out, see if it's still there, log back in, delete it, then include the result of that in your email.

<comment><AUTHOR> thanks Colin, Can you please tell me the email ID on which to send the query? Thanks very much for your help, I can't find a contact us section here.

<comment><USER2> <http://paulgraham.com/info.html>

</comment></comment></comment></comment></comment><comment><USER3> They all show up as [dead] for me, which means they've been essentially deleted. As to why, er, I have no idea. You displeased some algorithm in HN's guts.

<comment><AUTHOR> Exactly, I wish to know the algorithm that HN follows, it must be something really interesting.

<comment><USER4> Read the guidelines for posting, that should give you some clues. Then search HN.</comment></comment></comment>


The One-Traffic-Light Town with Some of the Fastest Internet in the U.S. - <AUTHOR> https://www.newyorker.com/tech/annals-of-technology/the-one-traffic-light-town-with-some-of-the-fastest-internet-in-the-us <comment><USER2> The town is McKee, Kentucky and the speed is one gigabit with plans to upgrade to ten gigabits. It quoted the price as $50,000 USR per mile and said that 20 million in government stimulus allowed it to happen.</comment>