Mathematical Metaphysics (2015) [pdf] - <AUTHOR> http://shelf1.library.cmu.edu/HSS/2015/a1626190.pdf <comment><USER2> "the mysterious Platonic bridge between the mathematical and the physical" (31).

This bridge between mathematics and physics can be well explained in the thought of Thomas Aquinas. Mathematical objects have a a foundation in extramental reality, but their notions are completed by an act of the mind. Physical objects have an immediate foundation in reality (e.g. 'stone' in this stone), and mathematical objects have a remote foundation in reality (e.g. 'line' in a 'stone' of this stone). Mathematical objects are "mental elaborations remotely based on real quantity but proximately on the mind's constructive activity" (Maurer, 55).

See Armand Maurer, "Thomists and Thomas Aquinas on the Foundation of Mathematics," Review of Metaphysics 47 (1993): 43-61.

</comment><comment><USER3> I had already independently come to the conclusions in the introduction, so the rest of the paper served as an exploration of an alternative path.

One thing that really pops out to me is that there's no inherently rational reason to choose rationality, and this lack-of-reason suffers infinite ingress. This is something people often quip about, but not necessarily good or bad. It means, rather, that one must choose to climb up from a position of non-rationality into a position of rationality, and from there a self- supporting rationale materializes. In a similar way, mathematics is like a house with many doorways but no foundation, where every floor is supported by another ceiling and there is no ultimate truth.

In the extremely-precise refutation of anticipated objections (what Hackernews would call "replying to strawmen and steelmen") the author doesn't make a summary refutation: Any statement about the physical world can either be operationalized into a logically-precise (and thus mathematically-precise) statement, or is meaningless word salad designed to attempt an end-run around any kind of logical or structural analysis. This might be an extreme position, but I see that most typical statements about reality are actually of the former case, and people are just lazy in their precision most of the time. But we can still deduce things logically from what people say, can't we!

The author doesn't know about probability sheaves and other relatively-recent advantages in foundational probability. (An interesting intro is [0])

The author doesn't know about, or disregards, the de Broglie/Bohm QM model, which is an interesting and IMO much less-philosophically-loaded model than Copenhagen. They do mention that Everett also gets around Copenhagen's problems, but Everett also comes with baggage (although HN seems to really like many-worlds theories, so maybe this is okay!)

I greatly appreciate that Chapter 4 continues the grand philosophical tradition of, having achieved some sort of rational basis, immediately applying it to reach silly conclusions.

[0] [https://www.youtube.com/watch?v=IMGoluu1mgc](https://www.youtube.com/watch?v=IMGoluu1mgc)

<comment><USER4> > In a similar way, mathematics is like a house with many doorways but no > foundation, where every floor is supported by another ceiling and there is > no ultimate truth.

There are a couple foundations for mathematics. The traditional one is set theory[1], and there are some newfangled ones based on type theory[2].

[1] [https://en.wikipedia.org/wiki/Set_theory](https://en.wikipedia.org/wiki/Set_theory) "Set theory is commonly employed as a foundational system for mathematics, particularly in the form of Zermelo–Fraenkel set theory with the axiom of choice"

[2] [https://en.wikipedia.org/wiki/Type_theory](https://en.wikipedia.org/wiki/Type_theory) "a type theory is any of a class of formal systems, some of which can serve as alternatives to set theory as a foundation for all mathematics"

<comment><USER5> I'm speaking out of my expertise here, but I think he's referring to Godel's incompleteness theorum/the halting problem, when he says 'no basis'.

<comment><USER6> It could also be the admission that you can't beat pure skepticism. That is, you can't actually beat Descartes' deceiving demon; you need to start any line of reasoning with an assumption that your reasoning is somewhat sound. When you're starting out to build a foundation, you have no basis for making that assumption.

<comment><USER4> We're up to three _completely different_ interpretations of "like a house with many doorways but no foundation, where every floor is supported by another ceiling and there is no ultimate truth". My takeaway: be wary of analogies; they will be misunderstood.

</comment></comment></comment></comment></comment><comment><USER7> "The maximal generality (universality, comprehensiveness) criterion of a reality- theoretic identity, or ontologically necessary and sufficient "Theory of Everything", means that a fully general formal structure must be selected as the skeletal identity or ToE framework of reality. This structure is distributive by definition, applying hologically to every point and part of reality."

.....

Not to be nitpicky, but why? I feel like this sentence was generated by a Markov chain. "Hologically," I couldn't find a definition anywhere. I presume he means wholly?

<comment><USER8> Hology is a logical analogue of holography characterizing the most general relationship between reality and its contents, [http://ctmucommunity.org/wiki/Hology](http://ctmucommunity.org/wiki/Hology).

<comment><USER7> So he invented the word. Got it. [http://ctmucommunity.org/wiki/CTMU_sources#Papers](http://ctmucommunity.org/wiki/CTMU_sources#Papers)

<comment><USER9> Is this related to CTMU or are you confusing Carnegie Mellon University with CTMU?

<comment><USER7> that I am, mea culpa.

</comment></comment></comment></comment></comment><comment><USER10> I admittedly did not finish reading the paper, but I find the idea not persuasive at all. Maybe the paper addresses my objections past the point where I started just skimming it, but I did not notice anything like that.

There seems to be a huge asymmetry between our universe or reality or whatever you want to call it on the one hand and mathematics on the other hand; the set - or is it a class? - of all mathematical structures seems to be enormously richer than reality. On the one hand it seems quite unproblematic to think that there is a set of mathematical structures that are useful to describe reality, on the other hand it seems quite problematic that all mathematical structures are embodied in reality.

In what sense does a 79 dimensional vector space over GF(43) exist? Sure, you can take a huge pile of stones, arrange them in groups forming sets of stones, combine those sets to build natural numbers, and work your way through layers upon layers of abstraction to end up with an arrangement of stones that, under the right interpretation, represents whatever mathematical structure you had in mind. But that seems a pretty wired way to justify that a 79 dimensional vector space over GF(43) really exists, I would be much more inclined to say that you managed to emulate it with what reality offers you.

I also would bet that there are mathematical structures that are impossible to emulate in this sense in our universe. And if the position is that there is another universe separate from our universe which is a 79 dimensional vector space over GF(43) or which allows emulating it in a more meaningful way than can be done in our universe, that seems not very appealing either. You are postulating a rather strange collection of universes without any obvious benefit. And it seems like you also get all the problems of Platonism - how do we know about and work with this vector space if it is in a separate universe.

As a lesser point I find the idea repelling because it seems incredibly convoluted, at least in the way presented here. For a - at least at first glimpse - simple idea like all mathematical objects exist, there are a lot of technicalities and complications just to state what you really mean without becoming inconsistent and failing right from the start. So yes, I am really unable to see any merits here. I probably also did not do a good job explaining my position, I don't like this comment at all. But I hope anyone reading this will at least be able to get an idea of what I mean and want to say even if the comment is rather rough and not without flaws.

<comment><USER11> What's the difference ontologically between observing the properties of a 79 dimensional vector space and observing the properties of, say, a stone, or even a proton.</comment></comment>


How to make a police shooting disappear - <AUTHOR> http://www.gq.com/story/tamir-rice-story <comment><USER2> Geeze, there's no mystery here. Point a realistic fake gun (1911 airsoft replica with the orange band in front removed) at an armed person and, surprise, in return they'll shoot you with their real gun. And no sane prosecutor or grand jury will try to prosecute them for clear, white line self-defense. What's so difficult to understand about this??

There are _so many_ bad cases of police shooting or otherwise killing people when they had no cause or worse, why focus on ones where they were justified?

<comment><USER3> I see that you failed to read the article.

Literally the second paragraph:

      > Because the boy never pointed a gun at a cop. He wasn't given the chance to even put his hands up.

<comment><USER2> Sorry, initially I just skimmed the article to see if it said anything new and interesting, it seems I'm misremembering and he just started to draw his gun, and was only prior to that pointing it at the people (a felony, BTW) who called 911, but that makes no difference, it was a justified shooting based on the video and the known facts of the case.

That Roger Clark who they're leaning on so much in the story? He wouldn't be afraid if someone pointed a gun at him? He's an idiot, or simply someone lacking the normal emotion of fear; if the latter, such people are useful, but are not representative of the normal population, the standard by which we determine justification for using lethal force.

<comment><USER4> This is basically the whole point of the article. That people only remember the press release, not the details.

Their experts didn't agree that the video showed him pulling the gun at all. One said it showed him reaching for it, the other side it showed him jerking after he'd been shot. And personally, I'd have a hard time believing either of them can be conclusive - in one frame between we both his hands clearly, one single frame in dispute, and in the next frame he's already been shot.

It's far from clear-cut.

<comment><USER2> In terms of judging if the police committed a crime, it's sufficiently clear cut, the standard comes down in favor of the (potential) defendant's side when if it's not "conclusive" like you and some of the experts claim.

Assuming, of course, their testimony was credible, sufficiently consistent, etc.

And my memory error wasn't "from the press release", but from the fact that he _was_ pointing it at people prior to the police showing up.

<comment><USER4> Oh totally agree that the video isn't enough to find anyone guilty (it doesn't pass "reasonable doubt"). But the question here was whether it even deserved a trial. And they argued the video was conclusive enough that a trial wasn't warranted. And that I'm less comfortable with, personally.</comment></comment></comment></comment></comment></comment>


Chrome is blocking wired.com - <AUTHOR> http://www.wired.com <comment><USER2> Often when this happens with a large site, it's because of an malware-laden ad. Typically with a smaller site, it's because the site was somehow hacked or didn't stay fully up-to-date on security patches.

Added: Looks like it was an actual hack, not just a bad ad. The Wired folks will want to make sure there's no more iframes from hxxp://zlu bob.org. Folks can use our free Fetch as Google tool to see what we see when we try to fetch a page. You can find out more about the Fetch as Google tool here: [https://support.google.com/webmasters/answer/158587?hl=en](https://support.google.com/webmasters/answer/158587?hl=en)

</comment><comment><USER3> This happens to many small business sites.

If they leave their WordPress un-patched, or have a crappy plugin installed with security holes, or their FTP info is guessed, etc, hackers drop some malicious Javascript on their sites, and the next thing you know, their site cannot be accessed in Chrome, and usually Firefox as well. Depending on what services pick-up on the bad javascript.

For me, it usually takes a day(ish) from the time we are notified of the issue, update the sites, remove the malware, install webmaster tools from Google, submit and wait for the review to be unblocked.

On one hand, this is very frustrating, but on the other hand, many small businesses would have no idea their site had been hacked without it being blocked.

The only thing I'd like to see personally is if Google were somehow able to notify the domain registrant of the block via email so they find out right away, and not after a few weeks (or longer) in some cases. Some small business owners don't check their sites very often. We like to monitor our client sites, but sometimes new clients come to us with these problems and have no idea how long they've been down.

<comment><USER4> I connected my site to Google's Webmaster Tools.

I get notified via email when Google finds any issues on my site.

<comment><USER3> Yes, but they still block websites that are not connected to Google Webmaster Tools, and the site owners may not realize it. It would be nice if they notified the domain registrant as a heads-up because most small biz site owners that find their way to me may have sites that were designed years ago that need little to no maintaining, so they don't know they've been blocked as they barely ever look at their own sites.

<comment><USER2> We explored trying to email whois contacts or standard addresses (such as email@example.com or firstname.lastname@example.com) and essentially got zero pickup. That's one of the reasons we provide Webmaster Tools, and so far it's our best channel to notify small business owners.

We can sometimes label sites as hacked in the search results, but Webmaster Tools is definitely the preferred channel for communication of stuff like this.

<comment><USER5> "We explored trying to email whois contacts or standard addresses"

Ironic since the original reason for the tech contact was exactly to be notified for issues like this.

Would like to add that as a registrar though we get a reasonably good response to emails that we send. [1]

Perhaps there is something about getting an email from google that says "it's probably spam". Or any large well known company that is often the subject of spam attempts.

Even given that though it's hard for me to believe that the results were close to zero.

[1] We also find that when a domain is deleted for non payment the person frequently claims they received no email notice but then proceeds to make some reference to something that was on the email notice.

<comment><USER2> Man, we could talk about this for hours. There's a lot of nuances involved in trying to alert site owners to issues, especially at a large scale. We've tried about 6-7 approaches over the years, and I'm still not completely happy with where we are. Freehosts are especially tough (WordPress, Blogger, etc.) because whois would just never work there.

</comment></comment></comment></comment></comment></comment><comment><USER6> Blocked for me, Ubuntu 13.10, Firefox 28.0.

The main page is not blocked but anything I click on is blocked.

Here is the Why page:

Safe Browsing Diagnostic page for wired.com/2014/04

What is the current listing status for wired.com/2014/04?

        Site is listed as suspicious - visiting this web site may harm your computer.

What happened when Google visited this site?

        Of the 135 pages we tested on the site over the past 90 days, 0 page(s) resulted in malicious software being downloaded and installed without user consent. The last time Google visited this site was on 2014-04-05, and suspicious content was never found on this site within the past 90 days.

        This site was hosted on 12 network(s) including AS31377 (AKAMAI-BOS), AS701 (UUNET), AS12989 (HWNG).

Has this site acted as an intermediary resulting in further distribution of malware?

        Over the past 90 days, wired.com/2014/04 did not appear to function as an intermediary for the infection of any sites.

Has this site hosted malware?

        No, this site has not hosted malicious software over the past 90 days.

How did this happen?

        In some cases, third parties can add malicious code to legitimate sites, which would cause us to show the warning message.

Next steps:

        Return to the previous page.
        If you are the owner of this web site, you can request a review of your site using Google Webmaster Tools. More information about the review process is available in Google's Webmaster Help Center.

<comment><USER7> Chrome lists two images as "malware":

        http://www.wired.com/playbook/wp-content/uploads/2013/07/soccer_w.jpg

        http://www.wired.com/playbook/wp-content/uploads/2013/06/bike-press-w.jpg

Both return actual images, so perhaps at some point in the past when wired.com was scanned these URLs redirected to somewhere malicious?

Screenshot: [http://cl.ly/image/1m3g3L2v3w3C](http://cl.ly/image/1m3g3L2v3w3C)

</comment></comment><comment><USER8> They had a 'technical issue' earlier today it seems:

"WIRED: @Freakonomicss @hoffin205 Yeah, we had a technical issue this morning, but our tech team fixed. Waiting for @googlechrome to clear us"

[https://twitter.com/wired/status/452490353283588096](https://twitter.com/wired/status/452490353283588096)

</comment><comment><USER9> Weird: [http://safebrowsing.clients.google.com/safebrowsing/diagnost...](http://safebrowsing.clients.google.com/safebrowsing/diagnostic?site=http%3A%2F%2Fwww.wired.com%2Fplaybook%2Fwp- content%2Fuploads%2F2013%2F07%2Fsurf-shaper-w.jpg&client=chromium&hl=en-US)

The page essentially says "We believe this page is suspicious, and we have no evidence to back up that claim."

EDIT: They must have updated it/ busted a cache. The page is now reporting some evidence.

<comment><USER10> funny it says "Of the 20 pages we tested on the site over the past 90 days, 0 page(s) resulted in malicious software being downloaded and installed without user consent. The last time Google visited this site was on 2014-03-25, and suspicious content was never found on this site within the past 90 days." does zero count to be blocked?

<comment><USER11> First, it's already been unblocked.

Second, this is what it says at the above link:

\--SNIP--

What happened when Google visited this site?

Of the 26 pages we tested on the site over the past 90 days, 4 page(s) resulted in malicious software being downloaded and installed without user consent. The last time Google visited this site was on 2014-04-05, and the last time suspicious content was found on this site was on 2014-04-05.

Malicious software is hosted on 1 domain(s), including zlubob.org/.

\--SNIP--

They're doing a good thing with this, and they're helping webmasters who can't help themselves.

<comment><USER12> > First, it's already been unblocked.

It's still blocked for me, with Google branding wired.com as "a known malware distributor."

<comment><USER11> Well that's technically a correct statement.

Try:

chrome://net-internals/#dns Click "Clear host cache"

<comment><USER12> Actually the issue was that I was using Google's DNS. When I disabled that, it worked just fine. But thanks for showing me the Chrome trick.

As to the technically correct statement, don't you think that saying a site is a "known malware distributor" is a bit more sweeping than saying something more accurate like "we discovered malware on this site"?

In other words, they are using the same language I would expect to see directed towards sites that have malicious intent and should never be visited.

<comment><USER13> How should they word when the site is known to distribute malware? There is no difference between discovery and distribution, if you consider the method of discovery.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> It's blocking in Safari too so I think it's a MacOS diagnosis rather than a Chrome one perhaps? Or both browsers are detecting the same thing

<comment><USER15> Firefox 28 also detects it. On Ubuntu 14.04

<comment><USER16> Firefox sources their malware detection from Google.

[https://support.mozilla.org/en-US/kb/how-does-phishing- and-m...](https://support.mozilla.org/en-US/kb/how-does-phishing-and-malware- protection-work)

So it makes sense the error would show up both places.

</comment></comment></comment><comment><USER17> This is almost always due to a malicious ad.

</comment><comment><USER18> The message I got when I proceed is:

\</comment><comment>- The website at www.wired.com contains elements from sites which appear to host malware – software that can hurt your computer or otherwise operate without your consent. Just visiting a site that contains malware can infect your computer.

Below is a list of all the unsafe elements for the page. Click on the Diagnostic link for more information on the thread for a specific element.

Malware [http://www.wired.com/playbook/wp- content/uploads/2013/07/soc...](http://www.wired.com/playbook/wp- content/uploads/2013/07/soccer_w.jpg) Safe Browsing diagnostic page

Malware [http://www.wired.com/playbook/wp- content/uploads/2013/06/bik...](http://www.wired.com/playbook/wp- content/uploads/2013/06/bike-press-w.jpg) Safe Browsing diagnostic page </comment><comment>-

I wonder what's wrong with these two pictures?

<comment><USER19> The wired homepage itself is fine for me, but Firefox 28.0 is blocking both of those images in your post along with any links I try to click from the Wired homepage.

</comment></comment><comment><USER20> I can reproduce on Chrome 33.0.1750.154 m on Windows 8. Screenshot: [http://imgur.com/cUEZJYe](http://imgur.com/cUEZJYe)

The safe browsing diagnostic page shows no negative current or previous reports for wired.com despite describing it as suspicious:

[http://safebrowsing.clients.google.com/safebrowsing/diagnost...](http://safebrowsing.clients.google.com/safebrowsing/diagnostic?site=http%3A%2F%2Fwww.wired.com&client=googlechrome&hl=en- US)

> What is the current listing status for www.wired.com? This site is not > currently listed as suspicious.

> Has this site hosted malware? No, this site has not hosted malicious > software over the past 90 days.

</comment><comment><USER21> Any chance it's related to this?

[http://www.incapsula.com/blog/world-largest-site-xss-ddos- zo...](http://www.incapsula.com/blog/world-largest-site-xss-ddos-zombies.html)

Security company found a vulnerable Alexa Top 50 site where someone was able to inject XSS code in the comments section creating "DDoS Zombies" of the visitors.

</comment><comment><USER22> Safari and Firefox are also blocking Wired.

<comment><USER23> (I think I accidentally downvoted you, I'm sorry.)

</comment></comment><comment><USER24> I just tried to go there using Chrome on Ubuntu and I got a malware warning: "Content from www.wired.com, a known malware distributor, has been inserted into this web page. Visiting this page now is very likely to infect your computer with malware."

</comment><comment><USER25> Safari also -- not the home page but the articles. Showing up as phishing attack.

</comment><comment><USER19> Sucuri shows wired.com as clean on all lists and not blocked by anyone: [http://sitecheck3.sucuri.net/results/wired.com](http://sitecheck3.sucuri.net/results/wired.com)

</comment><comment><USER26> Not on OSX (33.0.1750.152)

<comment><USER27> Blocks on OSX for me (33.0.1750.152) Does not block on Safari Version 7.0.3 (9537.75.14)

</comment></comment><comment><USER28> In my laptop (Win 7, Dell 1555):

Blocked in Chrome Version 33.0.1750.154 m

Not blocked in ie11, Firefox 20

In my Mobile (HTC One M7 4.4.2):

Neither blocked in Chrome(33.1) nor in the stock browser

Doesn't Android Chrome support malware detection?

</comment><comment><USER29> They had some technical issue this morning, but it's supposedly fixed now. And they're just waiting for Chrome to unflag them.

</comment><comment><USER30> The "more about" link shows that there are no malicious codes detected, etc. Maybe someone is sending false warnings?

</comment><comment><USER31> I'm a little confused how a webpage can infect a machine with malware?

Is this typically through Java Applets/other plugins?

<comment><USER32> Exploiting programming errors in the browser is one way.

Because browsers are written in very unsafe programming languages (C++), bugs are regularly exploitable so that by specially crafting the bug-triggering input data they can be fooled to scribble content-controlled data inside the browser's memory space. For example, a memory handling bug might let the page overwrite some of the browser's code with data coming from the web page.

This lets the web page break into your computer, running arbitrary code of its choosing on your box.

Browser plugins can be similarly targeted instead of the browser itself.

<comment><USER33> While some of the vectors you've mentioned could potentially be exploitable, blaming a "very unsafe programming language," isn't really a good explanation. These issues could occur in any program and any programming language -- it's not a problem specific to C languages.

<comment><USER34> Most(?) browser vulnerabilities are caused by errors in C++ code which would not be exploitable in memory safe languages. One of the goals of Mozilla's Servo is to write a browser that's memory safe without compromising performance.

<comment><USER33> I think Servo's "safety" is ultimately due to the fact that it's built on Rust. Rust, however, seems to be ultimately built on C, unless I'm mistaken (having a hard time telling by briefly glancing through their Github, but it looks that way).

My point was that it's not a C specific problem, though. Most browsers are in fact built on C, I agree. This is due primarily to the speed and performance of the language that is harder to reach with other languages.

It is definitely a more difficult language to write, as it is much more "raw," but that doesn't make it inherently unsafe to use, or any more unsafe than other languages.

<comment><USER33> Care to comment down voters? If you're voting because of my rust comment, maybe read the part where I said "not sure, haven't read much about it."

If you vote because you think C is unsafe, carry on. You're wrong, though.

</comment></comment></comment></comment></comment></comment><comment><USER35> Works fine for me, Chrome 33.0.1750.152 on OSX

</comment><comment><USER36> Does block for me OSX Version 33.0.1750.152

<comment><USER37> me too 33.0.1750.152

</comment></comment><comment><USER38> Not on iOS in either Chrome or Safari.

</comment><comment><USER39> Definitely on Chromium 33.0.1750.152.

<comment><USER40> Just accessed it under Chromium Version 33.0.1750.152 (256984) (arch linux) with no problems (except for some lag).

<comment><USER39> Super weird -- I'm on Arch Linux, too. Could it be DNS-related?

<comment><USER40> Probably some dns caching, I just rebooted and am greeted by 'malware ahead' now.

ps: Mozilla Firefox 31.0a1 is ok with wired.com

</comment></comment></comment></comment><comment><USER29> The block is lifted now. Supposedly.

</comment><comment><USER41> Not in Android (?) Nexus 5.

</comment><comment><USER42> Works ok on ubuntu..

</comment><comment><USER43> Oh, and I was thinking Google were just disagreeing with somebody in Wired's management on some personal viewpoint. Silly me!

</comment><comment><USER44> Not on Chrome for Android. Yes on Chrome for Windows. However, it's been years since wired.com has been relevant, so it won't be missed.

</comment><comment><USER45> I always thought that using the safe browsing feature is asking for trouble so it is disabled in all my browsers. So my browser doesn't need to make an extra request to Mozilla/Google/etc every time I load a new website and the web is not censored if there is a technical issue

<comment><USER46> The browser has a local copy of the blocked sites database; so it doesn't have to do any extra request in order to check if a web site is blocked or not.

<comment><USER45> I didn't know that and I think that it is very surprising since Google usually doesn't turn down free information about it's users.

<comment><USER46> I believe Chrome is much more strategical than that.

Google could lose enormous market share if any major browser decided to change the default search engine. So they created their own major browser.

Chrome is not an information source for Google, it's a way to maintain Google as a default search engine.

They fund Mozilla for the same reason.

<comment><USER13> Your premise about Google's motivation for creating Chrome is belied by the fact that they were dominant in search for _years_ before Chrome came out. They never had anything to worry about there.

<comment><USER47> Being dominant doesn't mean that there is no foreseeable threat to dominance. Preventing a hostile browser monopoly which could work against Google's search dominance is a credible motivation for Chrome (though probably not the sole motivation -- moving web technology in a direction favorable to Google's non- search roadmap was clearly a factor, as well.)

Similarly, a major reason for Android could be seen to be preventing a hostile mobile-platform monopoly which would either block or extract monopoly rents from (and thus limit the value of) Google services reaching mobile users.

</comment></comment></comment></comment></comment></comment><comment><USER27> So when does robot slander/libel suits begin? I'd be mighty ticked if google started labelling my sites as malware when they're clearly not.

<comment><USER23> This is why we can't have nice things. Chrome was doing yeoman's work by stopping their users from going to a site that was malicious earlier today.

<comment><USER27> True, I usually wait until the facts are in, but I'm more curious about the question itself. At what point do semi-autonomous programs or constructs become liable for their words or actions.

</comment></comment></comment><comment><USER48> I am surprised why anyone is still using Chrome. Their debacle with remotely disabling extensions that are not from the Web Store should have spooked users enough.

</comment><comment><USER49> I can't believe on HN of all places people are using Chrome its malware- detecting-capabilities. Friendly reminder that EVERY REQUEST you make with it enabled, will be passed through Google its filters.

You should turn all Google networking activities in your browser off. By default, there are at least five or so enabled which will happily send every request you make to Google. Some services even go as far as logging every keystroke you make.

<comment><USER2> pearjuice, this simply isn't true. The way that Chrome does this is periodically downloads a file from Google. The file consists of hashes of known-dangerous web pages. When you visit a new URL, the URL is hashed locally and checked against the client-side list of hashes of known-bad pages. If there's no match, Chrome proceeds normally. Only if there is a hash collision does Chrome do more checking to see if the URL is safe.

Here's more information in case you want to read more: [https://code.google.com/p/google-safe- browsing/wiki/SafeBrow...](https://code.google.com/p/google-safe- browsing/wiki/SafeBrowsingDesign)

<comment><USER49> It still holds regarding all the other Google activities in Chrome.

</comment></comment></comment><comment><USER50> I've stopped using chrome for general browsing since this latest scandal.</comment>


Will you drown? - <AUTHOR> http://game.notch.net/drowning/# <comment><USER3> From a personal revelation about his late father:

[http://notch.tumblr.com/post/37823268132/i-love-you- dad](http://notch.tumblr.com/post/37823268132/i-love-you-dad)

I remember that story and it kind of remained with me. As soon as I saw the title of the "game" I recalled this part of this story:

> ... turn around, see my dad being really close to the dog when all of the > sudden a big chunk of ice around him breaks loose, tips over, and my dad > falls in. I freak out. Then he stands up, the water only reaching about hip > height.

I urge you to read the whole story.

</comment><comment><USER4> At the end of every episode in "Once Upon Atari," Rob Fulop (author or co- author of Demon Attack, Night Driver, Space Invaders, and Missile Command for the 2600) talks about how many children in the 80s played thousands of hours of Atari 2600 games and the effect that it had in their psychological development. Specifically, he believed it produced a nihilistic generation due to the overarching message that "you always lose" in the end. He contrasts it to the early television he watched as a child where the overarching message was "it will all work out" in the end. He says that he thinks about this a lot, and that him and everyone at Atari is responsible for that.

<comment><USER5> That seems a little harsh. It was a nihilistic time. Missile Command was brutal, but no more so than The Day After[1]. You always lose pinball in the end, too, but nobody blames that for ruining the youth. Well, nobody in that generation. Previously, like everything else novel the youth do, it was Satan's handmaiden.

[1] [http://en.wikipedia.org/wiki/The_Day_After](http://en.wikipedia.org/wiki/The_Day_After)

<comment><USER6> It's positive in a way. Sure, you always lose in the end, but you can have a lot of fun in the meantime.

<comment><USER7> Indeed. To paraphrase Alan Watts, life isn't like a pilgrimage with a very important goal at the end, it's more like a musical thing, and you are supposed to laugh and sing and dance throughout, not just wait for the final chord.

</comment></comment></comment></comment><comment><USER8> Here's the full graph of the game logic (SVG) (spoilers):

[https://cdn.rawgit.com/CyberShadow/11329584/raw/5d295c9557d3...](https://cdn.rawgit.com/CyberShadow/11329584/raw/5d295c9557d31d0225791d39c82e5035f59b47f1/drowning.svg)

Code: [https://gist.github.com/CyberShadow/11329584](https://gist.github.com/CyberShadow/11329584)

Legend:

      - Round nodes are problems
      - Rectangular nodes are things you can have
      - Gray round nodes are problems that don't go away after solving them
      - Green lines are things solving problems gives you
      - Red lines are things needed to solve a problem
      - Dotted black lines are things you need to have for a problem to appear
      - Dotted red lines are problems that disappear when a problem is solved

<comment><AUTHOR> Thanks that is it a dot graph? OK I see, it is. I recall (not a CS grad here either) using that on something complex I did several years ago. Your graph really puts Notch's logic and my decisions while playing his game, into perspective.

</comment></comment><comment><USER9> Wow. This really struck me - what an incredible piece of art. Thank you notch, for helping me to spend some time this morning reflecting on how I want to live my life.

</comment><comment><USER10> This is great... I love the way it lays out popular ways of narrativizing our lives and making sense of what we need to be content. This game captures a popular narrative and popular needs, but it's also a great starting point for ruminating on how we differ from each other. For example, some of us may have little ambition or no pressing need to create and yet may be perfectly content. We should recognize our own needs as important to us while also viewing them as deeply personal and not necessarily universal.

This isn't a knock on the game in any way. I love how it cleverly expresses one man's view on what matters in his life.

<comment><USER11> For me, the game is more about the increasing complexity of life and the difficulty in managing it. As a toddler, all you had tow worry about was play and learn.

Pretty soon, you add in jobs, worries, lovers, heartbreaks, friendships, losing friends, money, self esteem, etc. And the more you try to optimize one area, the more you neglect the other areas, and the game becomes increasingly difficult to balance, just like life itself.

What a beautiful piece of art.

</comment></comment><comment><USER12> Play automatically:

      setInterval(function(){ $("a").click() }, 100)

(Edit: Yes, this leads you through a very fast, very bad life. Play manually and have a better life.)

<comment><USER13> Hilariously, this gets stuck buying "Stuff" over and over and doesn't seem to ever complete the game

<comment><USER14> It is appropriate that relying on a static heuristic to point one's path leaves you unfulfilled, bitter, and dead.

<comment><USER15> I wasn't aware that clicking different things in different orders affected the outcome. I have just been clicking solve every time it comes up and not reading the captions.

<comment><USER8> > I wasn't aware that clicking different things in different orders affected > the outcome.

I don't think it does.

Here's the relevant part of the (dart2js'd but slightly cleaned-up) code:

[https://gist.github.com/CyberShadow/11329584](https://gist.github.com/CyberShadow/11329584)

Edit: I made a full graph of the entire game: [https://news.ycombinator.com/item?id=7652770](https://news.ycombinator.com/item?id=7652770)

<comment><USER16> yes that version 2 if u open up the original js ull see bazzillion ifs

</comment></comment></comment></comment></comment></comment><comment><USER17> You just keep clicking on whatever links show up? I'm not catching the spark.

But it reminds me of A Dark Room, which was excellent. [http://adarkroom.doublespeakgames.com/](http://adarkroom.doublespeakgames.com/)

<comment><USER18> It has potential, but I had a hard time relating to my character. I need a lover as a teenager? And 2 broken hearts to stop being a teenager? And the only way to get experience is by losing friends.

<comment><USER19> ages may differ but our stories are all so similar maybe the age isn't what matters.

"And 2 broken hearts to stop being a teenager? And the only way to get experience is by losing friends."

i'm not sure i directly relate to this either, but it really doesn't sound too crazy or unfamiliar.

<comment><USER18> I guess it means that moving on usually requires leaving friends behind, and not that experience requires some kind of drama or even explicit un-friending. But the presentation makes it seem like losing friends causes gaining experience instead of the other way around.

</comment></comment></comment></comment><comment><USER20> What a simple and profound game....

I hope Notch is feeling ok.

<comment><USER21> > I hope Notch is feeling ok.

That was my first thought, and I suspect that's not the case at the moment :-\

<comment><USER21> I'm out of the edit window, but he's actually fine :-)

[https://twitter.com/mxech/status/460058856216072192](https://twitter.com/mxech/status/460058856216072192)

</comment></comment></comment><comment><USER22> As long as you relax, make love and create, you will live forever.

Thats the message I got from it. Beautiful.

</comment><comment><USER23> I absolutely loved this game. In the beginning, I took my time, thought about what each [Solve] would do, and really paid attention. As more and more options popped up, I ended up clicking faster and faster. This lead to a bitter life and then death. I don't think I've ever played anything as profound as that moment, when I realized I had just rushed through life. What a game.

</comment><comment><USER24> Is the game deeper as it seems on the first playthrough?

Are there any harder to reach options, like having children or reaching old age?

edit: I looked in source, there are no hidden options, you will get everything on the first playthrough.

</comment><comment><USER25> End up going in circles at one point because I didn't realize I had any integrity. Similar to life indeed.

<comment><USER26> Same here. I just replayed it and realized I didn't notice when exactly I got it. I had to play it for a third time to see the exact point. It made me go: "oh".

Brilliant.

<comment><USER27> can you explain? i can't understand what 'integrity' means for a toddler to get, and why would it cost knowledge.

<comment><USER26> I think it's more the fact that this one is "hidden" in the beginning than anything else, but there are possible rationalizations one might conjecture as to why at that age.

</comment></comment></comment></comment><comment><USER28> Written in Dart.

Can anyone familiar with Dart to JS explain what is going on with:

      var B=new dart
      delete B.x
      var C=new dart
      delete C.x
      ...

<comment><USER29> In JavaScript every object is basically a hashtable. In order to get acceptable performance JS engines build type descriptions ("hidden classes" or sometimes just "maps") behind your back. That is, if you create a JS object (hashtable) with fields `x` and `y` it will create a hidden class with those two fields. This way it can access the fields efficiently. See [http://mrale.ph](http://mrale.ph) for much more information on JS engines.

These hidden classes are built on the fly: say you add `x` to a instance to get an object with a configuration that was never seen before. In that case, the engine creates a new description with that new field and remembers the transition (so that further objects with similar configurations can reuse the same hidden class).

Keeping track of these hidden classes takes time and space. If you actually use the JS object as a hashtable, then there will be lots of unnecessary hidden classes, that will never be used again. However, there is a trick to tell the engine that an object is actually a hashtable (and shouldn't be optimized as if it was an instance of a class): when deleting a field from an object v8 (and probably all other engines) assume that the object is used as a hashtable and don't create these hidden classes anymore.

Dart2js uses this trick to avoid this cost some important big hashtables (`B`, `C`, ...).

</comment></comment><comment><USER30> Very reminiscent of Passage ([http://hcsoftware.sourceforge.net/passage/](http://hcsoftware.sourceforge.net/passage/))

</comment><comment><USER31> The dark aspect of the flow is that this seems like a life that ends in suicide.

It's a question of interpretation, of course, but where does a retirement of any kind fit in? Not "stop work and focus on my gardening" type of retirement (which doesn't go so well for people who have defined themselves by their work!), but a switch back to _more_ play and learning, a less rigorous schedule (and less "stuff") but more profound connections.

There's not a possible flow where "go to work" disappears, but "play" and "learn" remain.

Instead, Play/Learn drop out, as does the possibility to get a better job -- which implies that my capacity to grow fails while I'm still in my main working life; so my career will plateau while I go through "you are troubled", "you are bitter", and finally (as options disappear) "you are starting to accept".

"Accept" that I've lost the ability to learn/play and nothing but work (but with no hope of further self-improvement) and "get stuff" remains in my life? That's bleak. I can't even make new friends, apparently.

When I solve "You are starting to accept", that costs me "Life". I.e., accepting that there's nothing more I can expect from my life (in a game titled "Drowning in Problems", I end it.

Counterpoint: "Hope" is the last thing to go -- that doesn't fit with the narrative I'm describing here -- but that strikes me as a red herring, possibly intentional.

I have a bunch of interpretation to add to this -- is this a "too successful too young" anomie? Devaluation of the wisdom that comes with half a century of learning/playing because most people _don 't_ learn and play so long? Devaluation of what a relationship with another (friend or love) can be after decades of shared experience, because that doesn't seem to happen?

But yeah, I've spent enough time on HN already today.

</comment><comment><USER32> Another depression-oriented game. Well, thanks to parallelization, I got to make love during work hours, so I must say my life wasn't all bad.

</comment><comment><USER33> Depressing, but interesting. I find it interesting that even before you have a life, you start out with hope. What does that mean, I wonder? Hope of your parents? Society (for that "someone" who will make a difference)?

</comment><comment><USER34> Still trying to figure out what exactly this is, but it's totally addictive. Which is odd.

<comment><USER35> It's a skinner box disguised as a game.

<comment><USER36> If you remove the skinner box from almost any game, you have very little left.

<comment><USER37> Sorry, but you are playing some really shitty games, then.

</comment></comment></comment></comment><comment><USER31> I didn't try automation, but I noticed pretty quickly that the actions can run simultaneously -- e.g., I clicked on Play and Learn while I was reading & clicking other things, just to keep those two running as frequently as they could.

[-- until those 2 options disappeared, which I felt was too soon; why should play & learn disappear as possibilities when work and get stuff are still available? Ugh. That's not my plan!]

But a more interesting point -- I liked that while you _can_ rapid-click to get a lot of plates spinning at once (and obviously "progress" faster in the game that way), you start missing things. E.g., I spent a minute just clicking every Solve I saw without reading carefully, and didn't notice how I gained/lost a few things.

To experience life deeply, you have to do things one at a time, in other words.

</comment><comment><USER38> At some point this became depressant for me, but interesting concept.

</comment><comment><USER39> What I learnt : We need to embrace randomness to keep life simple! Could not complete the game with a "monotonous" set of instructions;

function solve(i, selector) { if(i > 0) { if(selector('a' || Math.floor((Math.random()*100)+1) % 3 == 0) == null){ setTimeout(function(){ solve(i,selector);}, 1000); } else { selector('a').click(); solve(i-1,selector); } } }

solve(1400,$); //worked thrice under 1400

</comment><comment><USER40> I thought it was stupid. Turned out to be slightly profound. I enjoyed that.

</comment><comment><USER41> Does this [http://game.notch.net/drowning/packages/browser/dart.js](http://game.notch.net/drowning/packages/browser/dart.js) actually run Dart? The home page looks like it has Dart scripts on a web page, but actually it does not?

<comment><USER42> No, that script looks for scripts of type "application/dart" in the page and then tries to find a compiled-to-JavaScript version of any scripts it finds by appending ".js" to them.

It looks like the actual Dart file hasn't been uploaded - which is sensible, in a way, since browsers don't natively supports Dart right now, with the exception of Dartium (?).

</comment></comment><comment><USER43> This is Notch's (the creator of Minecraft) submission to Ludum Dare 29 where the theme is "Beneath the Surface". The competition ends tonight.

[http://www.ludumdare.com/compo/](http://www.ludumdare.com/compo/)

</comment><comment><USER44> You have:

Hope

Body

Life

Love

311 Memory

Integrity

16 Friend

Job

35 Experience

40 Respect

3 Stuff

7 Crushed Dream

6 Broken Heart

9 Project

Lover

5 Money

Knowledge

You are troubled. [Can't afford] -Integrity -Lost Ambition

You need to try harder. [Can't afford] -5 Respect -10 Stuff +Lost Ambition

Man why do I even want to buy more stuff. I have projects to complete. Yeah, so seven of them failed. Nine of them didn't. And like a good third of those memories are of making love. Yeah, time to close this browser window and get back to my RL projects. Or to some playing, it's late.

</comment><comment><USER45> Reminds me of the old Alter Ego .. sadly the JS reboot is down right now. [http://jayisgames.com/archives/2010/11/alter_ego.php](http://jayisgames.com/archives/2010/11/alter_ego.php)

</comment><comment><USER46> This is more art than game.

<comment><USER36> You say that as if those concepts were not totally orthogonal.

<comment><USER47> but they're not bird-like at all :S

<comment><USER48>
      ornithological = relating to birds
      or  tho  gonal = perpendicular/independent

</comment></comment></comment></comment><comment><USER49> After about 5 minutes, this just reminded me too much of real life and I couldn't take it anymore. As in no matter what you do, it doesn't work out... very profound.

</comment><comment><USER50> hmm. I think I'm gonna go look at kittens

<comment><USER51> I would like to see a cat version of the game. There could be specific outcomes, e.g. if you don't want to end up de-balled/hysterectomied then you can be an alley cat and live a shorter life that may be harsher. Alternatively you could go for the cosy life by purring lots.

</comment></comment><comment><USER52> Reminds me of the top iOS paid app right now - A Dark Room. I wonder if he got some inspiration from that game.

</comment><comment><USER53> Automate the clicking with this small snippet: [https://gist.github.com/jadekler/11337433](https://gist.github.com/jadekler/11337433). Ironically, you never move past 'teenager' if you always choose the first option available =)

</comment><comment><USER54> I had a physical chill after the last few steps:

        You are dead.
        You are forgotten.

My immediate thought was that I must build a legacy...

P.S. If you stick around long enough after that step, everything starts from scratch:

        There is nothing. Solve.

</comment><comment><USER55> I got to "You are dead. (Solve: -Body)" and was slightly cheered up by the fact that I would still have Hope left. Then it says "You are forgotten. (Solve: -Hope)". Great. Just great. Very realistic for such a simple game.

</comment><comment><USER56> The first time I played through, I thought you could "Solve" only one need at a time. It made for a more interesting game and made the choices seem much more consequential.

</comment><comment><USER57> I played this for a while with redshift on, and so didn't realize that the requirements for needs were listed (in invisible red).

I think it may have actually made the game better in some ways.

</comment><comment> hungarian-eel A strange game. The only winning move is not to play.

<comment><USER58> Not really. You can farm as much stuff/money/ETC as you want.

<comment><USER59> That's a reference to the movie, WarGames.

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

</comment></comment></comment><comment><USER51> I like it how there is always 'hope', from before being born to after death (until you are forgotten).

<comment><USER60> [http://www.great- art.de/media/catalog/product/cache/1/image/...](http://www.great- art.de/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/b/a/balloon_png.png)

</comment></comment><comment><USER61> Somehow this is extremely profound. After playing this, I feel like I need to digest my feelings for a while.

</comment><comment><USER62> I loved that this required no instructions. Really beautiful.

</comment><comment><USER63> I don't get it. The outcome doesn't seem to change, even if options are selected in a different order.

<comment><USER64> Kind of the point, no? The outcome doesn't change in real life either, no matter how important it seems at the time what options you pick and in what order.

<comment><USER65> Only if you base your evaluation of "outcome" on what will happen to _you_ , completely ignoring the effect you've had on this world.

Which is why I am disappointed with this game and utterly false "wisdom" it's trying to convey.

<comment><USER64> I thought about this as I wrote my reply, and concluded that yes it's important, but that too is usually a rounding error.

I'm all for feeling good about what you've done in the world, but for most of us whose names aren't going to be repeated for centuries it's a drop in the ocean and only becomes less relevant over time.

Even something like parenting, which I don't think any of us will argue is not important. Each generation that goes by, your relative contribution is halved. I'll bet most of us can't tell very many stories about great-grandparents, for example. And we have twice as many great-great-grandparents, etc., which even fewer of us will be able to keep track of. So even as a father, while I try to do the best job I can, I have to admit that's going to happen to me too, and any impact I can have through parenting is going to be blended with an exponentially growing set of people. That's not bad, that's just how it works.

I'm not saying you shouldn't enjoy life or be ambitious or do a good job in the things that you do, or that helping people and doing big things is not worth it, but at some point we'll all likely have to humbly admit it: we aren't as important on the individual scale as some would like or expect.

<comment><USER65> > Each generation that goes by, your relative contribution is halved.

I prefer a different way of measuring contribution: suppose that (for simplicity) the checkpoints on the progress of humanity are fixed and the only difference you can make is to delay or accelerate reaching the next checkpoint. Your contribution is how much time you've won or lost for humanity. Then contribution stops being relative – if you've made future happen five years earlier, this is _permanent_ , period. Your children and grand-children will arrive into their respective futures five years earlier, too, because of you.

> that too is usually a rounding error.

There are no rounding errors! Why do you think that just because you can see how much you've influenced _one_ person thru parenting, but can't see how you influenced _the entire world_ thru your actions, the first influence is somehow "bigger"? Yes, it's epsilon, but it's epsilon × world. And the world is big.

(By the by, the same logic applies to voting – yes, your contribution to the final decision is small, but since the decision itself is so important, in the end your contribution doesn't turn out to be less than contributions from your other decisions.)

<comment><USER64> Fair points. My "devil's advocate" type of stance would be that for every person who brings the future 5 years early, there are millions more who don't, some of them not for lack of trying, others might not even get to try due to circumstance (health, socioeconomic status, etc.). Those who succeed by your "5 years early" definition are eclipsed by the people who 30 years later set the world ahead 100 years, or whatever, and so on...

Take a long enough view and maybe humanity meets some crisis and gets set back or stops altogether - is that 5 years going to matter then? It sounds defeatist and negative but IMO a valid question.

I'm not going to fault you or anyone for trying to be in that category that sets the world ahead N years, but there is also no shame in being part of the much larger group who lives and dies without accomplishing it, or in admitting that it's very rare to get there.

<comment><USER66> 5 years is not the timeframe to think about - how about 5 minutes? Approximately every 5 minutes someone dies from cancer. We might at some point cure cancer - if so, accelerating that point by 5 minutes is equivalent to saving a life, and if your actions cause that point to be delayed by 5 minutes, than that's essentially murder.

Think about it. Most people don't have any effect on that whatsoever, but there are many publicly visible people in medicine, politics, tech, research and finance that _do_ have a much larger impact on it than 5 minutes.

And cancer is just one tiny part of it all. I believe that at some point in future we might reach an event where we eliminate almost all death as such; or an event where we destroy ourselves completely. A somewhat cynical implication of this could be, playing the devils advocate, that there are exactly two kinds of actions (and people?) - those that change some +/\- epsilon to one of these two events, and those that are irrelevant.

<comment><USER64> > A somewhat cynical implication of this could be, playing the devils > advocate, that there are exactly two kinds of actions (and people?) - <USER2> > that change some +/\- epsilon to one of these two events, and those that are > irrelevant.

I was with you until somewhere around here. As I said I don't see any shame that one might be in the "irrelevant" group. Maybe you tried and failed. Maybe something else prevented you from doing that. Maybe you just didn't have it in you. It seems wrong get judgmental on that.

<comment><USER66> I'd believe the key difference is in the possibility. Like, if I'm peacefully watching a sunset while a kid drowns on the other side of the world, then it's not shameful in any way; but if I'm peacefully watching a sunset on a beach while a kid is drowning next to me, then people _should_ be judgemental.

It's perfectly understandable that most (perhaps even 99+%?) of the global population won't have any non-local influence, and that's okay, it can't reasonably be much different. However, there are things that scale, and they have a disproportionally large effect. For example, politicians are a particular group who can have huge long-term impact even as unintentional side effects; so are public NGOs. And many of them are intentionally doing things that cause delay in much-needed technologies or increase risk of us killing ourselves - I'd say that this is equivalent to [mass-]murder, even if the deaths are not specific, named individuals but "just a statistic"; and not today but a bit in the future. Perhaps we should be _more_ judgemental about that, instead of agreeing to disagree.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER67> What if we could live forever?

</comment><comment><USER68> What if you're Plato or Aristotle? Presumably then you never get forgotten.

<comment><USER69> Given that 'You are forgotten.' takes a long time to 'solve,' it could be a reflection that even the greatest will eventually be forgotten. (Say, if the human race manages to survive millions of years, and colonizes different planets light-years away.)

</comment></comment><comment><USER70> Cute presentation of his thoughts. Not a very fun game though.

</comment><comment><USER71> It's a one way trip. it's inevitable.

More money. More Problems.

</comment><comment><USER72> There is nothing to do on an iPhone it seems.

</comment><comment><USER73> My favorite twist in there is how little "creating" you are pushed to do...

</comment><comment><USER74> I wonder if I would have done better if I'd somehow acquired a Fedora early in life...

</comment><comment><USER75> Boiling every experience in life to make it nearly meaningless and lack any glimpse of context will eventually become depressing and appear highly relatable to others. Someone get this man some help.

<comment><USER76> Is it possible that he is not the one who needs help?

<comment><USER75> Edgy.

</comment></comment></comment><comment><USER77> Wow. I didn't think this would be possible, but Notch has managed to top Minecraft.

This is even duller than that borefest.

</comment><comment><USER78> I spent a while looking, but I'm pretty sure there's no actual game there.

</comment><comment><USER79> I don't really understand what this is. There was just text that said there was nothing to solve but it had a link to click that said "Solve". I clicked it and it ran something and just said "You are not." which doesn't make sense. So I left.

<comment><USER80> It gets more complex. Just keep solving things.</comment></comment>


Decision to store geocodes - <AUTHOR>

I am working on a website and am planning on implementing a google map on each page and would need to make between 10-50 geocode requests on each page. Is it smart to have a whole new table just for storing these geocode address or is it easier to just hit google every page refresh? <p>Thanks in advance. <comment><USER2> Epi0Bauqu is definitely correct that you do not want to access google 10-50 times with each page refresh, that would be very slow.

However, with the number of pieces of data you are requesting you'll have to be intelligent with your storage and querying mechanism. Example: you will very likely want to fork your queries to google to make the entire batch of requests simultaneously instead of sequentially. When you start implementing a caching/storage mechanism you'll want to keep this in mind too: accessing memcached 50 times sequentially will be slower than querying PostgreSQL once (in general, although if the database is very large and has to be paged in and out of memory, etc, this may not hold). So you'll probably want to figure out a way to store these requests in your database, and have a single query that can recall all the relevant geocodes (I don't know the details of how the geocodes will relate to each other, so I can't really be specific), and _then_ you will want to cache that entire request. This will mean that you will (when dealing with data you have already retrieved from google... and prefetching data that you expect to see wouldn't be a bad idea) have at worst one SQL query, and at best a quick access in memcached.

If you can't think of a way to group requests like this, I strongly suspect you will need to rethink your application. Performing 10-50 external requests per page refresh will put a serious damper on your site's performance, and making 50 database queries per page refresh or even 50 memcached queries per page refresh is probably untenable (although you could start caching the entire created pages, depending on what exactly your application does). To get sufficiently quick speed to do 50 queries, you'd probably have to use local memory (which is significantly quicker than memcached), but using local memory will open the door into a thread safety hell.

</comment><comment><AUTHOR> sorry let me in explain. i will have a database of locations and it already stores the address. i havent looked to deeply into the google maps api, so i am not sure if I will make just 1 request to google for the entire map or if it requires 50 requests to get every marker on the map.

so, would it make sense to cache the results? anyone have good links for tips on memcache?

thanks already for the great feedback

</comment><comment><USER3> Definitely store them, or at least cache them.</comment>


John Carmack's presentation at Facebook Connect [video] - <AUTHOR> https://www.youtube.com/watch?v=sXmY26pOE-Y <comment><USER2> This talk was such a treat. After all the carefuly crafted hype from Zuck and the gang, Carmack threw huge bucket of cold water on everything. I think it's just wonderful that he's allowed to speak so openly, about the things he's proud of, the things he thinks are failures, internal politics, the possibilities for improvement, the real hard physical limits VR is running into, and his growing pessimism for the future of VR. I could really hear it in his talk why he moved on to spend more time on his next passion.

Since it sounded to me like the low hanging mobile VR fruit has been picked, I went ahead and pre-ordered my very first HMD afterwards. Time to see for myself if this is the computing future or an evolutionary dead end.

<comment><USER3> I sure hope you want for a pc vr headset and not the oculus quest. HTC Vive Pro and Valve Index are simply stunning and can see them become the future of gaming.

<comment><USER4> With the Quest being able to be used as both a PC VR and and standalone, why not Quest? I'm saying this as someone who owns 4 different VR headsets, and I find myself using my Quest 1 the most.

<comment><USER3> Interesting - i steered away of oculus generally speaking as it was by far the buggiest headset I owned. From what gather tho it can only play low spec games decently. For instance, how does it handle Alyx?

<comment><USER2> I think it can only play Alyx through the link on PC, unless Valve decides to port it at some point in the future, which seems unlikely since they have their own investments in VR as a platform.

<comment><USER3> Valve is not able to port it - and likely never will be - simply because as a low end headset, the quest cant handle it. From what i read, oculus link leads to latency and compression quality losses so it cant really he played via cable either.

<comment><USER5> There are two ways to play pc vr games on quest. First is via wifi, with apps like Virtual Desktop, this gives you very good quality, but depending on your setup can range between perfectly acceptable latency, or terrible jittering and lag.

Oculus link gives you very good latency, but with the default settings the quality leaves a lot to be desired. You can tweak the render settings though, which fixes the issue, and it ends up looking about as good as Virtual Desktop. Only real unsolvable problem is the cable, but it's not a huge issue for me.

Alyx is quite playable through both of these setups (assuming good latency for a virtual desktop setup).

</comment></comment></comment></comment></comment></comment></comment><comment> dynamite-ready He is an incredible public speaker.

The first time I heard him, almost 10 years ago, speaking to a journalist at E3, I was shocked. So much detail, but so well communicated. I can happily listen to him talk on almost any subject.

<comment><USER6> His Joe Rogan podcast is pretty incredible, if you haven't seen it yet.

<comment><USER7> Thank you for this comment, didn't know he had been on Joe Rogan

<comment><USER8> Rogan was a massive Quake player back in the day

</comment></comment></comment></comment><comment><USER9> If you want even more: after this talk John took questions in Horizon

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

<comment><USER10> It's interesting the way that talk demonstrates the limits of the software he was talking about.

In a big picture way, it's also interesting to hear a prominent Facebook employee being frank about the limitations of the product. Perhaps they're just not allowed to do that when it comes to privacy issues.

</comment></comment><comment><USER11> I think his point about latency is a big one.

I suspect a lot of the problems with videochat (and VR) has to do with this.

Bad latency is frustrating and wears you down, at some point it's not worth attempting to speak up because it's tiring to deal with.

In real life communication transitions between people are fast and you can overlap a bit.

VR could solve the issue of what people are looking at least which I think is the other issue, though I'm not sure how well avatars will fit in for that.

<comment><USER3> Chatvr seems to have plenty of "players" - in the millions actually. Premature optimisation is not ideal, and a delay in the tens of ms is not unheard of in regular chat apps either. I mean how many live on a 10 Mbps home connection with high latency yet they make perfectly fine calls.

<comment><USER11> The full quote of that premature optimization trope is this:

"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%"

People often ignore that second half.

> "I mean how many live on a 10 Mbps home connection with high latency yet > they make perfectly fine calls."

I'm not sure I agree with 'perfectly fine', people just suffer through things being terrible because they don't know they could be better. Latency on a 1:1 call is bad, but tolerable - things get a lot worse as you move towards group interaction (dealing with group video chats often because of covid it's clear how much worse this is than in a real life room).

It's not premature optimization to get the latency down when that's probably the most critical feature tied to usable performance and better experience, arguably everything else should be lower priority.

<comment><USER3> We may have experienced different kinds of latency but in my experience i havent noticed much of an issue when using chat vr. I may be biased as i am keen on vr going mainstream and looking back at the times of dialup i cant help but wonder what would happened if we waited for fiber optic before using the internet, because it was laggy. So it may suck for a while but its just fine - no worse than a laggy skype call 5 years ago.

</comment></comment></comment></comment><comment><USER12> It occurs to me that there are a bunch of fairly simple things that could be changed to make wireless headsets more practical for actual work.

My smartphone hasn't been working, so I've been using the headset a lot more as a secondary computing device. The keyboard is not nearly as practical as it could be task switching requires quitting out of each application. The pass- through environment is only available in the base applications, and it's difficult to use when you have multiple guardians and are switching rooms. Also, the hand-tracking interface is really bad. If there were some way to just grab controls directly in 3D space instead of using the pinch-as-a-mouse mechanism, that'd be way nicer. it borrows the poor windowing support of mobile that was driven by screen real estate constraint, even tho there is less constraint on real estate even than desktop.

If Oculus engineers have any notions of making the Quest 2 (or later headsets) into a general use platform, they should try doing all their work in one. Get rid of their laptop and smartphone and do everything in the headset. I'm sure we'd soon see better text rendering, better support for keyboard and mouse, better switching between applications and guardians, better copy/paste behavior between applications, ability to take pictures with the tracking cameras, more control over how the headset goes to sleep or content pauses (or doesn't) when donning and doffing the headset, etc.

<comment><USER13> They are working on it, it's just not there yet. Quest 1 has a bit too low resolution for readable text. The hand tracking is fairly recent and not fully integrated. They are inventing pinching keyboards[1]. It's all moving in the direction of AR glasses to fully replace your phone. I think Apple is moving the other way, they will probably drive AR through iPhone.

The camera access is a huge privacy issue. I would also love to get access to cameras. It's in OpenXR standard, so we can hope they will implement it at some point.

That said, Quest is already useful for productivity. There's a modern browser, keyboard support (usb or bluetooth), Termux app that gives you capable posix shell, also apps for streaming your PC monitors.

I've built an in-VR live coding environment that I use to prototype and debug Lua 3D [2].There is also another environment by MrDoob [3]. I'm actually surprised how much Quest is open platform and usable as standalone headset. Very unhappy about FB account though.

[1] [https://www.youtube.com/watch?v=2BV1lYp04vk](https://www.youtube.com/watch?v=2BV1lYp04vk) [2] [https://twitter.com/j_miskov/status/1275135068282007555](https://twitter.com/j_miskov/status/1275135068282007555) [3] [https://twitter.com/mrdoob/status/1304465880462643200](https://twitter.com/mrdoob/status/1304465880462643200)

<comment><USER12> Yeah, Quest 2 has twice the usable subpixels (50% greater pixels plus a full RGB stripe, better than the pentile of Quest 1), so I suspect text rendering is pretty good.

Yeah, Carmack mentioned some official tracked physical keyboard being announced soon, which is definitely the way to go for useful work. Good tracked keyboard and mouse support plus some decent windowing will make it dramatically better than a cellphone and perhaps even a typical tablet as far as productivity whereas by default (i.e. just controllers or default hand tracking) the Quest 1 is slower for precise input than a smartphone.

I actually don't think it'll replace phones. More likely to replace large laptop displays for on-the-go productivity as resolution approaches retinal quality in the next few years.

</comment></comment></comment><comment><USER14> I thought he locked himself up in a cabin in the woods and tried to get into AI lately.

<comment><USER9> As I understand it he now works part-time at Oculus, dedicating the rest of his time to AI, he mentions it in passing in the Horizon session [0] by but he tries to keep it really separate because he doesn't want to be the subject of another billion dollar lawsuit [1]

[0]: [https://www.youtube.com/watch?v=P7mFEGah27c](https://www.youtube.com/watch?v=P7mFEGah27c)

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

<comment><USER15> Still, too bad IMO - I personally enjoyed him talking about games and CG much more than about VR (which I don't care too much about) even though there is, of course, an overlap. I wonder whether I will enjoy him talking about ML even less since I hear that all the time already in my day job.

<comment><USER16> You should really try out a good VR headset. I think it will change your mind.

<comment><USER15> As much as 3D TV did?

<comment><USER16> Sorry old timer, wasn't around for the 3D TV phase. Sorry your tech back then sucked so hard though!

</comment></comment></comment></comment></comment></comment><comment><USER17> Has Occulus ever tried electromagnetic motion sensors. Sixense probably did that once, thought they never went into production but they said it was super precise and has very low latency.

Occulus is tracking motion with camera which is way more CPU intensive than calculating position based on electromagnetic signals.

One trouble they had though that it wouldnt work well with high energy electric items nearby.

So dooes anyone know if Occulus or HTC vive or other well in market consumer VR device ever tried that or has plans to do so? is this even possible?

EDIT: They also made controllers for Razer. [https://support.razer.com/console/razer- hydra/](https://support.razer.com/console/razer-hydra/)

<comment> GuB-42 I think that the goal for Oculus is to do everything using headset-mounted cameras, without the need for a base station, so it makes sense for them to focus on image processing instead of specialized sensors. Cost also matters, especially for a $300 standalone headset, and extra sensors aren't free.

One thing to realize is also that cameras (or lighthouses in the case of the Vive) are not the primary sensors. What really do the job are accelerometers and gyroscopes. Cameras only provide reference points to correct for drift.

<comment><USER12> Cameras are also nice for enabling pass-through views. Works much better than you might think on the Quest. My phone hasn't been working the last few days, so I've been watching videos (etc) in the Oculus browser with the passthrough environment, and I can walk around a bit and do stuff (brush teeth, etc) while watching a video on a large screen, and it's relatively practical (hand tracking is still annoying and largely 2D so it's still better to use a controller), but this could be improved with software updates and the improved Quest 2. The view is stereoscopic and so eye-hand coordination works basically flawlessly (much better than I thought it would).

It'd be sweet if someone eventually made a headset with pass-through view with high resolution and ability to choose wavelength (UV to IR, maybe even a phased audio array to visualize sound sources for the deaf).

If you could make the tracking cameras work in the Sun and figured out a way to harden the display (perhaps using a protective electronic shutter system) to sunlight, it'd be closer to a general platform.

</comment></comment></comment><comment><USER18> Would anyone be so kind as to enumerate some of the things he talks about?

<comment><USER2> It's a wide ranging and frank talk on the many technical and management challenges that come with creating a cutting-edge product. His bits about latency and compromise should be required reading in all Compsci curriculums.

</comment></comment><comment><USER19> I always love John Carmarck's talks and try to not miss it when I come across a new one. He genuinely makes me feel smarter. The worst thing about him leaving id Software was the end of his QuakeCon talks !

</comment><comment><USER20> Consumers should stand their ground and not buy Oculus headsets until Facebook login is removed.

What is next? Facebook login required to use a pointing device, keyboard, printer? Before you know it you will be completely oppressed.

</comment><comment><USER21> Recent related discussion (Oculus Quest 2 announcement): [https://news.ycombinator.com/item?id=24495138](https://news.ycombinator.com/item?id=24495138)

</comment><comment><USER22> I really love John's presentations. His candidness and passion make his talks not only compelling, but also entertaining.

</comment><comment><USER23> question for VR people: is the tech at a place yet where a headset could be a monitor replacement for productivity work? i mean my laptop screen is 13" \-- could i instead be coding on a virtual 100" screen, still using my regular OS, keyboard and trackpad?

<comment><USER24> Carmack talks about this a bit, the Quest 1 had enough pixel density that a big screen in VR (such as the Netflix app) could give you about 720 of useful resolution. With the new screens, it's more like 1080p. But if you're doing multiple smaller screens rather than a big movie theater, they'll be less than that.

They're launching an official project for this, called Infinite Office. You see the world in black and white through the tracking cameras, but you have colorful VR screens around you.

<comment><USER23> thanks. the infinite office demos are pretty funny. all the users doing "office productivity work" are just browsing facebook

<comment><USER2> Welcome to Facebook's vision of the future of work!

</comment></comment></comment></comment><comment><USER25> Could Oculus 2 serve as an ok display for coding?

<comment><USER26> I use it with a Quest, and the ImmersedVR application.

I love it for learning, or working out a coding challenge.

The benefit to "code inside a void" is immense for people who really struggle with ADHD. I've never felt the ability to zone in like I can in VR.

But I have to blow the text size up quite large. And I don't do it for more than an hour, because the resolution isn't quite there for an all day reading experience.

I have a lot of fun playing my 2D games in VR this way as well. Starcraft is crazy fun on a screen that feels like its the size of a movie theater.

</comment></comment><comment><USER27> I see many developers betting on VR. I could see it happening everywhere but at home.

At best VR somehow is a perfect argument on why people should play escape games or paintball/airsoft. It sound like a second version of the google glass.

You just need to use some common logic: a video game works on a screen. It's too difficult to add new sensors. You cannot bridge reality and virtuality. You either have a video game or a normal game/toy/puzzle, you cannot have both.

Maybe the military will come up with new sensors, but until then, I would not bet on VR.

<comment><USER28> I tend to disagree. I won an Occulus Go at a meetup and almost gave it away- I didn't realize what I had won and just assumed it was some kind of upgraded google cardboard.

I was really surprised and delighted at how cool it was. It felt raw and fresh- almost like when I first got on the internet, there was just a whole new world to explore, and different types of content and games- some were cool, some were not, but were at least interesting in their mechanics. Especially during covid, I found it super neat that I could watch a basketball game in a "section" of a stadium and chat with those around me, and similarly watch a band perform.

The biggest drawback is that the form factor isn't all that comfortable, and battery life is an issue, but I think there is a tremendous amount of potential in terms of experiences.

<comment><USER29> You should try a 6Degree of freedom headset like the Quest or a PCVR headset too. It really does click into a sense of reality.</comment></comment></comment>


Ten Years of Purely Functional Data Structures (2008) - <AUTHOR> http://okasaki.blogspot.ru/2008/02/ten-years-of-purely-functional-data.html <comment><USER2> it mentions me! my one claim to fame... here's the review [http://developers.slashdot.org/story/04/02/19/2257203/purely...](http://developers.slashdot.org/story/04/02/19/2257203/purely- functional-data-structures)

<comment><USER3> I wonder what other interesting books are out there that just need someone to review them on slashdot.

</comment></comment><comment><USER4> These ideas are one of the foundations of the Clojure language. Rich Hickey mentions in one of his talks that this book got him quite excited. You can see reference to it in Rich Hickey's Clojure bookshelf on Amazon <http://www.amazon.com/Clojure-Bookshelf/lm/R3LG3ZBZS4GCTH>

</comment><comment><USER5> I took his PLT class at Columbia and TA-ed the class later. Best professor I ever had. I believe he is now at West Point where students won't whine when he hurts their brains.

Would like to see the book re-done with Haskell as the base (rather than appendix) because that language is more "purely functional" and seems to finally have the legs it needed back in 2008.

</comment><comment><USER6> His thesis is quite useful:

<http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf>

</comment><comment><USER7> Some questions. Background: I'm coming to the whole world of functional programming via Ruby (via C).

Doesn't Clojure have purely functional (immutable) data structures? Whenever this area is talked about I always hear Clojure mentioned. Do other functional languages have libraries (standard or otherwise) of these? Are these data structures implemented in Clojure itself?

I kind of see Ruby like a hybrid functional language. Could Ruby be used to implement the data structures in this book, or would that be like a square peg in a round hole? Didn't Ruby recently get official lazy evaluation?

Hum, so many questions, so little Google :(

<comment><USER8> Yes, Clojure does have many purely functional data structures built in to its core. I don't know the precise implementations, or if they're written in Clojure or Java, but I believe they're based on the work of Phil Bagwell.

Every functional language implementation I know of has many of these data structures available as a library somewhere.

You certainly could implement these data structures in Ruby, though it's likely they wouldn't mesh as well as in a more functional language.

This Stackexchange answer has links to many papers if you're interested in more:

[http://cstheory.stackexchange.com/questions/1539/whats- new-i...](http://cstheory.stackexchange.com/questions/1539/whats-new-in- purely-functional-data-structures-since-okasaki)

<comment><USER9> Clojure was also the _first_ mainstream (non-PF) language to implement Okasaki's as first class data structures.

I know Scala quickly followed suit, since I remember Odersky bragging in a meetup that he went out of his way to find the scientists that improved on Okasaki's work and based Scala's data structures on their work instead.

</comment></comment></comment><comment><USER10> Great book. Although I'd like to see an "open source" version when you can get all the code snippets expressed in the language of your choice. When I read the book I wanted Haskell, but now I think I'd like to see it in F# or maybe even C#.

<comment><USER11> It does have the Haskell versions in the appendix.

Besides, depending on your perspective, both SML and Haskell are basically functional pseudocode.

<comment><USER10> There was something missing from the Haskell stuff, but I can't recall the details -- it's been almost 10 years ago since I read it.

But when I am reading a data structures/algorithms book, I don't want to have to deal with code (SML in this case) that I'm not super familiar with. Little things get in the way. With modern software, and the ability to dynamically swap out content, it seems a pity that we don't better tailor content to the reader.

</comment></comment></comment><comment><USER12> Brilliant. I can donate $100 to get it updated and as a PDF.

<comment><USER13> What is this referring to? I see nothing obvious that mentions a donation or PDF.

<comment><USER12> I'm offering to donate $100 to the author if he would like to update the book as he mentions in his story, and I'd like to get the book as a PDF instead of on paper because of the code samples and searching.

This is my personal gift to him because I value his ideas and I hope to learn more. This may also inspire other people here to offer to donate, which will be great if it happens.

</comment></comment></comment><comment><USER14> (2008)</comment>