OpenPiton – The Open Source Princeton Piton Processor - <AUTHOR> http://parallel.princeton.edu/openpiton/ <comment><USER2> I happened to bump into one of the people working on this a few weeks back, the 1/2 billion cores per system aspect is very fascinating and because it's SPARCv9, there's quite a lot of software that already works. It's definitely a project I'll be watching closely.

</comment><comment><USER3> I've got a naive, hopelessly optimistic view of Moore's Law. And I'll share it here, because either it'll make you happy as a technologist, or you can laugh at me and that can make you happy too.

1) The end of the free lunch of density/frequency scaling is forcing us to pursue novel architectures to continue progress. If x86 were doubling in performance every 18 months, would this project have ever been started? Even the relatively benign trend towards GPGPU is a symptom of this.

2) These architectures are going to have us revisiting the way we write software. Sufficiently Smart Compiler has long been a joke, but we're going to see something pretty damn clever in the next few decades; taking a core algorithm, written almost in pseudocode (to make as few assumptions as possible about the underlying architecture), and optimizing it for different architectures with wildly different performance constraints.

There's no use in building garbage collected or transactional memory, memory with built in processors, runtime reconfigurable FPGAs, ridiculously NUMA machines, inexact computing if we have to rewrite everything every time we want to use them - the companies will go out of business first.

If this doesn't seem plausible - consider if you had to lead a team to write such an SSC, or build a CPU that beats Skylake with the commercial constraints that come with it (it has to be performant and bug free on a deadline), which would you rather tackle? We're already performing ridiculous engineering feats, but we set the bar lower in software.

3) Our current transistors are stone age compared to what is possible. We're probably a lot closer to physical limits on an exponential scale than we were when we were using vacuum tubes, but in 100 years we're not going to be fabbing the same silicon transistors on a cheap, ultra mature process technology, because they're good enough.

The combination of all 3 is going to yield computing power of unimaginable comparison to what we have today, in our collective lifetimes. We're in a dark place of stagnation now, but we're not done yet as an industry.

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

</comment><comment><USER5> A more in-depth on what this is [http://www.nextplatform.com/2016/08/24/inside-manycore- resea...](http://www.nextplatform.com/2016/08/24/inside-manycore-research- chip-power-future-clouds/)</comment>


Show HN: Implementing the pull-and-zoom effect on mobile browsers - <AUTHOR> https://github.com/sandropaganotti/pull-and-zoom

<comment><USER2> Demo: [http://www.sandropaganotti.com/wp- content/goodies/misc/tws/d...](http://www.sandropaganotti.com/wp- content/goodies/misc/tws/demo.html)

</comment><comment><USER3> Talking about zoom and mobile devices, why does the HN comments section insist on staying fixed width with Chrome/Android?

</comment><comment><USER4> No scroll effect observed for Chrome or Safari on iPad.</comment>


I will only eat leaves picked by virgins in the moonlight - <AUTHOR> http://www.amazon.com/Steve-Jobs-Exclusive-Biography-ebook/dp/B005J3IEZQ/

<comment><USER2> Yeah, I lol'd

:D</comment>


1.7M DiRT 3 keys leaked from AMD promo due to missing .htaccess - <AUTHOR> http://amd4u.com/dirt3promo/keys/

<comment><USER2> I don't know how they'll resolve this...

Ban all the steam accounts of people who've activated the keys? They'll get a whole lot of people who legitimately submitted hardware keys at the same time.

Invalidate/revoke the keys from steam? The hardware IDs they were using to run the promotion are still going to be out there in the wild, so they can't re- run the promotion, this would just minimize their losses in terms of lost profit.

As far as the keys being in plain text on the server, this doesn't even make sense from the perspective of how you design a web app; why not put the data on a separate remote/secure server? Why not at least encrypt it? Also, how are they matching the hardware IDs to the keys when people submit the official promo; are they actually doing a search through each text file to find the matching hardware key? The .htaccess mis-configuration is bad enough, but it's not the only issue here.

</comment><comment><USER3> Keys on the left activate on Steam. I'd personally recommend against using one, although they are supposed to be consumed by the public (they're available if you enter your details, it's not as if these were supposed to be charged for) if AMD request it Steam will revoke them and it has the _potential_ to put your account in bad standing (although v. unlikely)

<comment><USER4> They've already dealt with similar problems and haven't put any accounts into bad standing. The good standing/bad standing is more for VAC anyways.

</comment></comment><comment><USER5> This is really not the proper way to report a vulnerability.

<comment><USER3> It has been _all over the internet_ for most of today, the original list was leaked and now someone has leaked the directory.

</comment></comment><comment><USER6> The other piece that everybody seems to be missing is that they've just leaked the unique IDs for every eligible AMD product. I don't know if those can be abused in some manner, but those are out there too, now.

</comment><comment><USER7> Mine worked, thanks I guess? Already own the game for XB360.</comment>


Senate to Google: How Did You 'Forget' About Nest Secure Microphone? - <AUTHOR> https://www.geek.com/tech/senate-to-google-how-did-you-forget-about-nest-secure-microphone-1776530/ <comment><USER2> Most likely: It was put in because of mics being a rather cheap component with tremendous benefits for future use in a home automation product but product management didn't yet consider it a feature because it wasn't enabled/available to the customer upon launch and it thus never landed on the spec sheet.</comment>


Power your car with Aluminum grains - <AUTHOR> http://nocamels.com/2012/06/new-cleantech-co-to-power-cars-with-aluminum-grains/

<comment><USER2> > The reactor ... feeds on aluminum grains and water and produces hot > hydrogen. This hydrogen is then converted into electrical energy that > replaces the battery in an electric vehicle.

>The products of the reaction are warm air and water vapor which are later chilled and reused. "The water is not consumed, it is returned to the tank after it goes through the process. Even though the system works on aluminum and water, in practice it doesn't use up the water," Yampolsky tells NoCamels.

Ok, so if water (H2O) and aluminum go in, and hydrogen, water vapor, and hot air comes out (and later the article says aluminum oxide comes out as well), and the water is not used up, where does the hydrogen come from?

I.e.: 1(Al) + 1(H2O) -> 1(Al2O3) + 1(H2O) + heat + H2

Now, the system could obtain oxygen from the atmosphere, so the excess output oxygen could be accounted for that way. But from where does the excess H2 come from, if the water is not consumed?

Something does not add up, given what the article reports.

<comment><USER3> When the hydrogen is used to generate electricity (very likely in a fuel cell) it's almost certainly going to be converted back to water.

Of course, you're going to have to use electricity to produce the aluminum in the first place (more than you're going to get out after going through multiple conversion steps) but it may still be better than tooling around with a big pressure tank of hydrogen bolted on to your car.

</comment></comment><comment><USER4> The Alydro reaction takes place in a reactor at elevated temperatures of up to 900 Celcius. ->> Well, there's your problem.</comment>


Ad tech is having a premature midlife crisis - <AUTHOR> http://digiday.com/platforms/pulse-ad-tech-midlife-crisis <comment><AUTHOR> I wouldn't call it premature. I think it's overdue. Coming home to roost.</comment>


New UK newspaper with no website or app - <AUTHOR> http://www.nytimes.com/2016/04/04/business/media/the-new-day-a-british-upstart-casts-its-fate-to-the-newsstand.html?_r=0 <comment><USER2> I definitely admire their courage. Whether or not you agree with their philosophy, it does represent what disruption should be about imho.

On another note, the revenue model of digital-only newspapers isn't particularly sustainable looking. People constantly complain if they're paywalled, and constantly complain when they have to look at ads. They're not exactly isolated or unwarranted either.

</comment><comment><USER3> > Home subscriptions are not an option

In the UK market, the local newsagent will usually deliver to your door, so no need for a subscription team at the paper.</comment>


Convert email newsletters into an RSS feed - <AUTHOR> https://emails2rss.appspot.com/ <comment><AUTHOR> Lots of website have replaced RSS feeds with email newsletters in order to try and grab more of your attention. This website is useful for converting this into an RSS feed you can read on your feed reader.

Forwarding confirmation email appear in the feed, so it works smoothly with Gmail.

</comment><comment><USER2> over quota as of 01:50GMT Wednesday.</comment>


Ask HN: Secure Alternatives to Dropbox - <AUTHOR>

Please provide us with your recommendations
Consolidating suggestions here:
1. http://www.tonido.com/
2. http://owncloud.org/
3. https://www.aerofs.com/
4. http://www.bitcasa.com/
5. https://spideroak.com/
6. http://www.sparkleshare.org <comment><USER2> <http://spideroak.com/faq/> = cross-platform, client-side encryption / decryption note for clarify - not associated with Spideroak in anyway, just a happy home user (100GB) and I've introduced it at work (2GB free account). Considered and rejected were google drive (privacy concerns), and I've moved away from Carbonite (also for privacy reasons).

</comment><comment><USER3> Cofounder of SpiderOak here. We started in 2007, have always supported all platforms, and have a zero knowledge privacy policy about encryption of customer data. Looking at stored customer data is very boring for our sysadmins because they can't see anything on the server except sequentially numbered encrypted data blocks.

Also, you can backup/sync/share arbitrary folders.

</comment><comment><USER4> SparkleShare is something you host yourself, and uses a git backend (or its own). So it is as secure as you can manage it. (or secure as you can keep the keys with smudge/clean encryption filters).

Alternatively, use a git provider such as github as a backend - I'm not sure "secure" is the right description, though, if you do that.

</comment><comment><USER5> I am looking into dropbox alternatives, and from the above I chose to try owncloud and aeorofs.

1\. Tonido is out of the game, because the file syncing is limited (2 GB) so it is useless for me.

2\. OwnCloud looks very good. I am going to try it..

3\. AeroFS - In theory what I need (but unlike onwcloud is not open source) but in reality the experience was terrible - sometimes it didnt sync my files for no apparent reason, sometimes it eats too much memory.. I didnt like the experience very much..

4\. Bitcasa seems too magical, I dont know how it works, I dont trust it..

5\. Spideroak looks just like another dropbox, dont need that..

6\. Sparkleshare is good idea, but using GIT as syncing mechanism means that it is not suitable for media files, so it is out of game for me..

So my hopes are with OwnCloud :)

</comment><comment><USER6> What aspect of security are you referring to or do you just mean overall?

I have been using mediacloud ( <http://mediacloud.cc/> ) for the past few months and I've been very impressed with it. They have built-in file acceleration to give you the maximum upload speeds your network allows. I've been using it to upload files anywhere from 1mb to 20gb and have never had a problem.

As for security I know they use AES256 SSL, but again, am not sure which aspect of security you are interested in.

</comment><comment><USER7> <http://www.filosync.com> Planning to be ready for beta testing by August 24. On-premise version available.

</comment><comment><USER8> Bitcasa? AeroFS? (Both currently in Beta, the former in public beta, the latest in private beta).

</comment><comment><USER9> Any HIPAA compliant Dropbox alternatives out there?

<comment><USER10> It looks like there's a third-party product built on top of Dropbox that is HIPAA compliant: [http://techcrunch.com/2012/07/15/dropbox-tigertext- announce-...](http://techcrunch.com/2012/07/15/dropbox-tigertext-announce- partnership-users-can-send-files-with-expiration-dates-remotely-revoke- access/)

<comment><USER9> Thanks, I'll check it out. This could solve a big problem for me!

</comment></comment></comment><comment><USER11> Microsoft live mesh

<comment><AUTHOR> Is it not skydrive now?

</comment></comment><comment><USER12> owncloud?

<comment><AUTHOR> Can we run owncloud in windows? Looks interesting. Thanks

</comment></comment><comment><USER13> I recommend Tonido. You can do private sync without relying on online cloud storage systems like dropbox and drive.

<comment><AUTHOR> Looks interesting. Thanks for the suggestion

</comment></comment><comment><USER14> getcloudapp.com? I've been using it since the very start, never experienced any problems. Native Mac app, alternatives for Windows and as well free apps for all iOS deviced. Couldn't ask for more, really.

</comment><comment><USER15> Googledrive?

<comment><AUTHOR> How it is more secure than dropbox?</comment></comment>


Startup Quote's Steve Jobs Special Issue #1 - <AUTHOR> http://startupquote.com/post/11095967157

<comment><AUTHOR> Being the richest man in the cemetery doesn't matter to me. Going to bed at night saying we've done something wonderful, that's what matters to me.

\- Steve Jobs

<http://startupquote.com/post/11095967157></comment>


Drauger OS – Make your gaming experience perpetually pleasurable - <AUTHOR> https://draugeros.org/go/ <comment><USER2> So does this come with a bunch of Linux gaming software preinstalled and preconfigured, or is the main draw just the optimizations? I feel like the Home & About pages could include more details.

</comment><comment><USER3> Wow, and another Linux Distro with the focus "HIGHER PERFORMANCE" and "A FOCUS ON SECURITY" and "Make your gaming experience perpetually pleasurable", just WOW.

</comment><comment><USER4> Amazingly, it just denied me from browsing the site when I clicked the about page. It says, "Forbidden - Visitors from your country are not permitted to browse this site."

Feels aggressive.

<comment><USER3> What?? Witch country is that?

<comment><USER5> I too got that error. I tried to open that page ([https://draugeros.org/go/](https://draugeros.org/go/)) from India.

<comment><USER3> That sound's terrible, is that even legal to restrict the distribution of GPL'd software to different countries?

</comment></comment></comment></comment><comment><USER6> You could at least have a media page in the website for people to see how it looks like.</comment>


U.S. Seeks to Send Checks to Americans as Part of $850B Stimulus Package - <AUTHOR> https://www.wsj.com/articles/trump-administration-seeking-850-billion-stimulus-package-11584448802 <comment><USER2> So they can buy more toilet paper?

<comment><USER3> I was actually thinking about test kits.</comment></comment>


Policy – A fork of the Scala compiler - <AUTHOR> https://github.com/paulp/policy/blob/master/README.md <comment><USER2> I'm so happy to see this! Thank you Paul!

Paul may have been hurting perception of Scala community by his rants a bit lately. But the fork is a greatly welcomed! All the things Paul said make sense. The fork can prove the value of those ideas.

Simpler compiler => more compiler developers => more productive => better compiler => better for the whole community!

As for Typesafe. There are doing great job. Just two releases ago Scala was not compatible even between minor releases. Stability, documentation, training, driving the community, good roadmap for 2.12, etc. Great job! Plus they are build a great framework around akka and play which is gaining traction.

Policy is actually not really a fork. Forks are, imho, projects which diverge code base one day and there's really no sharing between them anymore. Paul is merging from scalac all the time. It really is just vastly simplified scalac with some wise decisions like modularizing some aspects (like parallel collections).

BTW: Anybody worried about a friction while trying to push a bold change in a team of more than one person? Have you ever worked in a team of more than one? :-) Just do it. Prove it. Dismiss the FUD.

Fist questions on my mind: 1) Future? Is this repo intended to pull from scalac or diverge more? 2) Dropping reflection? Does it means removal of macros as well? For the time being or for good? 3) How about leaf node invariance in collections (and other collection stuff you talked about)?

<comment><USER3> I will continue to merge from scalac for as long as I can, because with no meaningful specification it is the only way to retain compatibility.

I didn't say I'm dropping reflection, I said I'm dropping the scala-reflect layer. It's a gigantic and useless abstraction penalty. I'll fold the pseudo- compiler into the compiler.

We'll see about collections. Here's where it stands: [https://github.com/paulp/psp-std](https://github.com/paulp/psp-std)

</comment></comment><comment><USER4> I just watched the talk, and it is full of insight. Highly recommended even if you've never used Scala (as I have not).

Some samples (some are quotes, some are paraphrased):

* "The compiler [should be] designed around inputs which are Diff[T]s against an in-memory understanding of the last successful compilation.... As a result, both Repl and Debugger are _superfluous as separate tools_." (emphasis mine)

* "I want to programmatically generate ASTs and feed them in"

* The AST (the tree) is fundamental, not the language. For example, if you have an AST you're working with, and you hate curly braces, theoretically you could see the same tree "rendered" as text without those curly braces.

* "True power is in restriction" & "unnecessary expressiveness is the enemy" \-- whatever your language lets you "say", the "other side" (the compiler or interpreter) has to be able to understand. So unlimited language means horribly over-complicated compiler that cannot do nearly as much optimization as you'd like.

* The more free your code is of "over-precision", the more powerful that code is, because the compiler can do more with it. Example: the well known example of an imperative for-loop versus the functional "map".

* "If you want fast, start with comprehensible."

<comment><USER5> "I want to programmatically generate ASTs and feed them in"

Going by the experience with preprocessors in Ocaml, not the best idea IMO.

<comment><USER6> Doesn't Ocamlpp4 or whatever its called generate OCaml source code and pass that to the compiler, not OCaml AST? The new ppx extension in 4.02 allows direct manipulation of OCaml AST, but that hasn't been used enough yet to determine its effectiveness.

</comment></comment></comment><comment><USER7> Can someone with some familiarity with Scala community explain why someone who seems to be the largest contributor to Scala felt the need to create a fork? It seems completely justified due to his credentials, but he doesn't give any specific reasons why he created this fork.

<comment><USER8> Paul Phillips' 2013 rant/talk: [https://www.youtube.com/watch?v=TS1lpKBMkgg](https://www.youtube.com/watch?v=TS1lpKBMkgg)

<comment><USER9> After watching this talk I don't care what he comes up with in the future, I want to use it.

Excellent talk.

<comment><USER10> Are you familiar with JetBrains MPS?

[http://www.jetbrains.com/mps/](http://www.jetbrains.com/mps/)

It sounds very much like what he is describing.

<comment><USER3> Yes, MPS and "language workbenches" in general are chasing something similar. Ideas like these are entirely in the details though, and so far I haven't found anything which does it for me. I could easily be missing it, in part because systems like MPS have a high up-front investment, and I have regretted such investments more often than not.

</comment></comment></comment></comment></comment><comment><USER11> Can anyone more familiar with the matter tell me what is wrong with the parallel collections? Does he plan to reimplement them in a more maintainable way? Or do away with them altogether?

All the talk about scala makes me wonder what the language would have looked like if Java compatibility was never a goal. I'm no language designer and I'm probably wrong but some things that come to mind are 1) no nulls, 2) no distinction between classes and their companion objects, 3) no distinction between traits and abstract classes.

<comment><USER12> For a short answer to the first question, see his slides on the collection library[0], particularly number 42. The gist is that the Scala collections have too many dimensions (mutable/immutable, sequential/parallel, strict/lazy), all of which share code -- but it turns out that the right implementation for a lazy immutable parallel collection is not necessarily good for a strict mutable sequential collection, and juggling all these variations makes it much trickier to modify or reason about the code. He seems to be fine with the existence of parallel collections, but probably as something that lives on top of the standard library instead of being layered into it.

To your second paragraph -- I believe that #2 might have found its way into a Scala-from-scratch, but the others certainly wouldn't. I think the big difference would be in the type system, which could be much simpler if it didn't have to interop with Java's weird generics.

[0] [http://www.slideshare.net/extempore/a-scala-corrections- libr...](http://www.slideshare.net/extempore/a-scala-corrections-library)

</comment></comment><comment><USER13> Paul, why do you say it's wrong that Float(Long.max - Int.max) is equal to Float(Long.max)? Float has less than 32 significant binary digits, and Long.max - Int.max has the same MSBs as Long.max. You would need to use Double to see the difference. I'm not sure what implicit conversions/promotions have to do with that - you want a warning or error when going from Long to Float? That would be reasonable. You can even lose significant digits between Int->Float and Long->Double even though they have the same total number of bits, so you could require those to be explicit. (from a slide in [https://www.youtube.com/watch?v=TS1lpKBMkgg](https://www.youtube.com/watch?v=TS1lpKBMkgg) )

<comment><USER3> > Paul, why do you say it's wrong that Float(Long.max - Int.max) is equal to > Float(Long.max)?

I don't. You have inserted coercions.

I'm aware of how many bits things have. It's hard to make it through five years on a compiler without gaining some awareness of such details. I consider the introduction of lossy type conversions into the global scope to be a kind of insanity. People should be recoiling from such practices, not looking for ways to justify them.

</comment></comment><comment><USER14> Is the name "Policy" a pun on "Paul SC" (Paul's Scala Compiler)? Or is there another meaning?

<comment><USER15> That's what I thought, and it's clever.

</comment></comment><comment><USER16> It appears to be a fork of the _compiler_ not the _language_ itself.

I don't know much about Scala but I believe that most of its facilities are in the libraries rather than the language itself.

Since he seems to know more about compiling Scala than everyone else I guess it must be a good thing. Lets hope others get to fill the inevitable gaps.

<comment><USER17> > It appears to be a fork of the compiler not the language itself.

They are the same thing. There is no spec for Scala (no recent one anyway) so the specification is the Scala compiler. And based on everything that Paul has been saying these past months, the compiler is very close to being unmaintainable.

<comment><USER18> There actually is a recent spec, although I'm not sure if it still needs some updating. [http://www.scala- lang.org/files/archive/spec/2.11/](http://www.scala- lang.org/files/archive/spec/2.11/)

<comment><USER3> There is "a spec" yes. Now let's see someone implement a compatible implementation based on that. We're not talking about fiddling at the boundaries here. For instance type inference is completely unspecified. There is no aspect of scala compilation which is not heavily influenced by how type inference unfolds, yet there is nothing. And that is the tip of the iceberg.

If you're always hearing about how amazingly small scala's specification is, now you know why.

</comment></comment></comment></comment><comment><USER19> Shouldn't this be called Standard Scala?

Too soon?

<comment><USER20> Or "Enhanced Scala Compiler System"?

</comment></comment><comment><USER21> Wait.. is it called policy?

That's going to be a nightmare to Google

Almost as bad as 'play' (which has largely fallen back to 'playframework')

<comment><USER22> Thank goodness you can search "golang" for things related to the go language. That's sometimes a nightmare too.

<comment><USER23> Unfortunately this SEO justified change has permeated the community and now people call the language "golang" instead of "Go".

<comment> Tuna-Fish s/Unfortunately/Fortunately/

Go is a terrible, terrible name.

<comment><USER24> Golang is a terrible name.

<comment> Tuna-Fish Agree. Still vastly better than go.

</comment></comment></comment></comment></comment></comment><comment><USER25> Why are parallel collections an "albatross"? I can understand it if he plans to replace the functionality you get by writing "list.par.map(func).seq" with "list.parmap(func)" or something, though. Parallel list functions are one of my favorite features in Scala, and I think it would be a serious loss if they disappeared.

Also, I wonder what the two Scala forkers are thinking about Dotty (the next- gen Typesafe scala compiler) and how they imagine merging their ideas in.

<comment><USER3> It's not a question of whether they should exist at all but of whether they should infiltrate the collections hierarchy to the extent that someone has to maintain code which looks like this. And there's plenty of it: this is only an example.

      trait ParIterableViewLike[+T,
                                +Coll <: Parallel,
                                +CollSeq,
                                +This <: ParIterableView[T, Coll, CollSeq] with ParIterableViewLike[T, Coll, CollSeq, This, ThisSeq],
                                +ThisSeq <: IterableView[T, CollSeq] with IterableViewLike[T, CollSeq, ThisSeq]]
      extends GenIterableView[T, Coll]
         with GenIterableViewLike[T, Coll, This]
         with ParIterable[T]
         with ParIterableLike[T, This, ThisSeq]

<comment><USER25> Well, that's a pretty good reason to fix something, I agree. But what are your thoughts about Dotty? I assume it's insufficient for you, but is Typesafe going in the right direction here, is it not relevant to what you are doing or will it make things harder?

<comment><USER3> Dotty is unlikely to attain relevance - for me or as a future version of scala - because there's no reason to expect it to be any less of an implementation nightmare than is scalac. It is being written by the same person, applying the same engineering standards and the same checks and balances, so starting with a less unsound type system isn't going to matter.

<comment><USER26> I worked on scalac for two years, so I know most of the same warts and issues; I also have had my differences with Martin in the past. But you know what: he has been courageously innovative and has come up with code that works pretty well considering the risks taken for Scala. Most people would have thought what Scala was trying to do was impossible (combining FP and OO with type inference? But semi-unification is undecidable!). But he did it, and you know what, scalac isn't that bad either. Heck, I've done much worse, but the point is to just keep trying.

You want everything to be a nice well understood package because its "easier that way?" But sometimes it isn't easy and the code isn't pretty; not because the programmer is horrible, but because the problems are hard and not very well understood. Does that mean we should shy away from the problems and just do something safe and conservative like C#? If everyone thought like this, we would make no progress.

Kudos to Martin for being fearless, and let's hope he doesn't cave.

<comment><USER3> That's right, I'm the stodgy conservative one and martin is the fearless innovator. Where is this version of the movie playing? I'd enjoy seeing it.

Your second paragraph lands somewhere between completely wrong and "not even wrong" if it is supposed to have some bearing on the matter. You don't appear to know the first thing about what I've said, what I've done, or what is really going on here.

Reflexive loyalty of this kind, unhinged from any objective reality, is what has brought us today's scalac. You should reconsider whether your having worked on the scala 2.7 eclipse plugin nearly a decade ago qualifies you to take a position on this. Then to position martin as the scrappy underdog - "let's hope he doesn't cave" \- just let us know when the novel is finished, and I hope it's better than the movie.

<comment><USER26> You are right, I don't know you beyond these online interactions. I was giving you the benefit of the doubt, but you sound very vindictive, and I get it, you know stuff. Building and designing things is a journey, it won't be perfect unless you set your expectations low.

I didn't just work on the scala plugin, I changed scalac to be completely incremental at the AST level (better than everything being a Diff[T]), which was no easy feat (nor did it last, but it worked and became its own tech [1]). I've dug deeper into scalac front end code (Typers, namers, parsers) than most scalac devs have; I know Martin's style very well as a result.

[1] work on making scalac incremental eventually led to [http://research.microsoft.com/en- us/people/smcdirm/managedti...](http://research.microsoft.com/en- us/people/smcdirm/managedtime.aspx)

<comment><USER3> I am intimately familiar with your work on scalac, and that's all I can bring myself to say about that.

<comment><USER26> You and miles must be best friends. Its fine. Phew, really glad to be out of the Scala community at this point, it just wasn't worth it to being around those people.

<comment><USER27> Paul and I don't see eye to eye on many things, but on this we're in complete agreement.

<comment><USER26> So is life. Its great to see that you fixed the plugin and it works very well now. Congrats!

I'm just glad to be out of it. The Scala community really was becoming toxic, sleeping was hard. Hopefully you guys have all resolved your differences now and things are more harmonious.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER28> What is the goal of Paul Philips? He is obviously frustrated by his experiences at Typesafe, but what does he really want? Show us that he can do better? Create an alternative Scala? This seems not be realistic and he seems to be realistic enough to know it. All this sounds like emotional actions from a disappointed ex-lover.

Paul, if you read this: why don't you do something completely different? Leave Scala and your personal rage behind.

</comment><comment><USER29> Heh +1 to `trailing commas! I think that's the only "feature".` I don't know why they were removed in the first place.

<comment><USER30> Because the one thing Scala is missing is more ways to do the same thing.

<comment><USER29> Same things? I don't know what you mean, It was a language feature back in the 2.7 days I think? I was a long time ago, hard to remember when they got rid of it. It's really nice for this:

      val color = List(
      "Red",
      "Yellow",
      "Green",
      )

If I want to add a 4th element I just ctrl+alt+down, I don't have to go back up and add the comma at the end of the last line, I spend too much time juggling commas in lists for my liking.

Some programmers work around it like this (which breaks head-inserting, but that's typically a lot less common) :

      List("Yellow"
      ,"Red"
      ,"Green"
      )

Which is pretty ugly (to me). It's one of those minor QOL improvements where I don't see what the downside is.

Frankly I wish every language had this feature.

<comment><USER30> > It's one of those minor QOL improvements where I don't see what the downside > is.

That's a nice example why 99.9% of developers out there should never design a language.

<comment><USER31> You really like to insult everyone who disagrees with you, don't you?

</comment></comment></comment></comment></comment><comment><USER32> The "A Fork!? You Should Improve Scalac!" section is delightful.

</comment><comment><USER33> What the hell is going on? We're in the middle of a major investment into Scala, and now there's forks left and right, both amicable and not-so- amicable. This doesn't inspire confidence, although I'm still classifying it as growing pains/healthy lively ecosystem. I really don't want to stick with Java 8.

<comment> village-idiot Clojure isn't forking...

<comment><USER34> But it also doesn't offer many of the benefits and much of the functionality that Scala offers. A familiar C-like syntax, static typing, and so on are very important for a lot of Scala's users.

</comment></comment></comment><comment><USER35> I don't get that outcry and panic inside the Scala community. We should give the 2 forks a chance and see what it leads to. There is still the chance then to reunite the community behind "one" scala. Also they could have great influence on Typesafe Scala. As far as i know the compiler (which is not very much): The 2 forks will anyway not move away from Typesafe scala at huge speed.

Let's come here again in 6 months and see where we stand.

</comment><comment><USER36> asfq1</comment>


Facebook Warns Investors to Expect 'Additional Incidents' of User Data Abuse - <AUTHOR> https://www.siliconvalley.com/2018/04/27/facebook-got-an-earnings-boost-but-heres-the-fine-print/ <comment><USER2> I told people ten years ago that they were doing this sort of thing and got blown off. Now I've had some of the same people come to me and tell me to get off Facebook in patronizing tones that reminded me of my grade school teachers and irritated that I didn't warn them. I don't know if I've ever been so infuriated at someone face-to-face in my whole life.

<comment><USER3> Unsolicited advice: These are people you need to let go from your life.

<comment><USER4> If you just let go people who irritate you once then you're going to die alone

<comment><USER3> Sure but this doesn't sound like a one time thing. And if it causes emotional distress why hang on?

<comment><USER4> the way da_chicken wrote it, it sounded like a one-time thing

<comment><USER2> Yes, it was a one-time thing. I've just had three different people do it one time.

I assume the response was for the same reason relationship advice from strangers is always "break up immediately." People are really bad at judging things they know only one thing about.

</comment></comment></comment></comment></comment></comment><comment><USER5> It's not abuse, it's what the platform was built for. Calling it "abuse" it following the spin, don't do it.

<comment><USER6> There are two aspects: technical and legal.

Technical: companies got the data in a way that system was designed. No abuse there.

Legal: companies didn't adhere to TOS and used data in a way that were not supposed to. This is why is it called abuse.

<comment><USER7> TOS aren't necessarily enforceable legally[0], setting aside jurisdictional issues. If you have an account, sure facebook may use such to disable/delete it, but there are many ways to get data from facebook without having an account.

[0] [https://www.eff.org/issues/terms-of- abuse](https://www.eff.org/issues/terms-of-abuse)

<comment><USER6> It's still violated on agreed terms (even if not legally enforceable) so it can be called abuse.

Also, how does the provided link support claim that they are not necessarily enforceable legally? I read it but saw only criticism of TOS in general, nothing about whether they are or are not legally enforceable.

<comment><USER7> > _It 's still violated on agreed terms (even if not legally enforceable) so > it can be called abuse._

If you grab data hosted on facebook or any other website, without having an account, where is the explicit contractual agreement? Are HTTP requests contractual agreements? MITM/DPI'ing facebook users who connect via your hardware contractual agreements?

The extent that is abuse, is that facebook (or any other site) service is engineered in such a way that makes such information it collects available to any degree in the first place. True, anyone can make dubious claims of abuse.

> _Also, how does the provided link support claim that they are not > necessarily enforceable legally? I read it but saw only criticism of TOS in > general, nothing about whether they are or are not legally enforceable._

"These "terms" are actually purported legal contracts between the user and the online service provider (websites MMORPGs communication services etc.) despite the fact that users never get a chance to negotiate their contents and can often be entirely unaware of their existence."

purported legal contracts != legal contracts, i.e. just because someone says it's a legal contract, doesn't mean it actually is.

<comment><USER6> > purported legal contracts != legal contracts

Oh, learned the new word today. Do they have also some analysis that say why TOS should be purported legal contract and not valid legal contract?

> If you grab data hosted on facebook or any other website, without having an > account, where is the explicit contractual agreement?

I assumed that we were about platform API abuse. In such case, each developer had to agree with TOS before he is allowed to use the API. So in this case, developer explicitly agreed to terms that subsequently broke. So I think it can be called "abuse". It's not random HTTP request.

For random HTTP requests, that is much less clear. My stance on this is that as long as you are respecting robots.txt, and not trying to circumvent any blocking measures by the site you are using, everything is fair game (in general, maybe there could be exceptions). I don't think it's right/moral to violate those two. And whether it is legal, it depends on jurisdiction, who you are scraping (I am assuming we talk about automated access), if you respect robots.txt, if you try to go around blocks, ...

Two interesting cases in scraping I know about are these ones: [https://en.wikipedia.org/wiki/Facebook,_Inc._v._Power_Ventur...](https://en.wikipedia.org/wiki/Facebook,_Inc._v._Power_Ventures,_Inc). [https://arstechnica.com/tech-policy/2017/08/court-rejects- li...](https://arstechnica.com/tech-policy/2017/08/court-rejects-linkedin- claim-that-unauthorized-scraping-is-hacking/)

> MITM/DPI'ing facebook users who connect via your hardware contractual > agreements?

I am no expert in law, but MITM/DPI to extract data sounds highly illegal. I don't think that TOS have to handle this case.

> The extent that is abuse, is that facebook (or any other site) service is > engineered in such a way that makes such information it collects available > to any degree in the first place.

So you are arguing that Facebook should be walled garden, with minimal possibilities for users to share their data with developers (not that I disagree). I don't think this is problem with existence of these platform / capabilities, but that the users are not understanding implications of what they are allowing (but doing that is gargantuan task, they will probably invent new nobel prize for anyone who manages doing that).

<comment><USER7> > _I assumed that we were about platform API abuse. In such case, each > developer had to agree with TOS before he is allowed to use the API. So in > this case, developer explicitly agreed to terms that subsequently broke. So > I think it can be called "abuse". It's not random HTTP request._

Even assuming that, developers who check in their credentials to public repos, third parties that use such never agreed to the terms. You can do this do today, without agreeing to facebooks terms (i.e. go to github, get access tokens, connect to "open graph", no accepting terms or creating accounts needed).

> _Do they have also some analysis that say why TOS should be purported legal > contract and not valid legal contract?… For random HTTP requests, that is > much less clear…_

It's not really about random HTTP requests or not, it's that any of this will have to be argued in courts. From the examples you have listed, in the US, this is not really in Facebook's favor (unless they can scare people to stop doing such before getting to the courts).

> _So you are arguing that Facebook should be walled garden, with minimal > possibilities for users to share their data with developers (not that I > disagree)…but that the users are not understanding implications of what they > are allowing_

Personally, I don't think facebook should be this at all, and although they may have sold developers on their platform, this has been less of the case over all as time goes on (bait and switch). They say they want to connect the world, but what they really mean is that they want to connect the world on their terms (and they have every right too, but they can't necessarily stop others from doing something).

I don't think it is facebook's responsibility to give its users any illusions of privacy since any "friend" they have on the platform or any third party app they connect with is just another attack surface agaisnt such: by design. I think every user of any platform needs to take to protections in their own hands, if they care about such, first and foremost. Expecting governments/corporations/organizations to coddle them and provide everything that they desire without doing anything for oneself, is just naive to how humans have operated throughout history. It's been over a decade since facebook has been around, people can keep saying that people just dont understand, but I will think people will keep saying such even after another decade (or more) if facebook is still around.

<comment><USER6> > . You can do this do today, without agreeing to facebooks terms (i.e. go to > github, get access tokens, connect to "open graph", no accepting terms or > creating accounts needed

if I go to pastebin and find login credentials dumps, i can login to those services without accepting any TOS. Yet, I would probably go to jail of caught. This seems to be similar case. but I doubt that user access token (that you need to access that users data) is somewhere on github. app user token sure (as sometimes you have to ship it with the app, or app can be opensource), but user access tokens are like passwords, so they should not be in the code.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> The most interesting part of this story to me is apparent divide between the perception of how people should react to their data being mishandled and how they actually react.

Anecdotally, most of the outrage I've seen has come from white men in their 50's who don't actively use the platform. I don't mean this as a jab, I literally have seen the most outrage from this group although I'm not sure why. Perhaps it's just coincidence or that is the most outspoken demographic.

Meanwhile, I haven't seen any change in usage from those people I know who actively use Facebook/Instagram/WhatsApp.

I think that people feel that this story should adversely affect the company and it's earnings, but there is no evidence that it actually will.

<comment><USER9> > Meanwhile, I haven't seen any change in usage from those people I know who > actively use Facebook/Instagram/WhatsApp.

Over the last three years, the percentage of my friends who are active on these platforms has dropped dramatically, like ~80% to ~20%. I think most of the people who understood that Facebook and associated properties were toxic tailed off using those services well before the Cambridge Analytica thing.

</comment></comment><comment><USER10> I deleted my Facebook because I was using it mainly for messenger. I simply didn't feel comfortable having my private conversations on their servers, so I got my close friends to (begrudgingly) pivot to Signal.

Later, it would some out that Cambridge Analytica (and likely other bad actors) had been siphoning up PMs:

[https://www.theverge.com/2018/4/10/17219606/cambridge- analyt...](https://www.theverge.com/2018/4/10/17219606/cambridge-analytica- private-facebook-messenger-messages)

</comment><comment><USER11> That's no surprising. I already developed a game for Facebook a few years ago and was amazing how many information about the user and his friends was possible to collect. There were simple no restriction.

I try to imagine games like Farmville that were played by millions of people, how many information they collected.

Nowadays, Facebook has Graph API. You need to specify exactly what information about the user you want. And depending on the information, Facebook needs to review in advance.

</comment><comment><USER12> I think that they are preparing for the future where everyone will realize that the whole Facebook is a user data abuse (and more because they are tracking non users without their consent).

I think they have decided to take the hit rather now (in the stock price) than in the future assuming that the hit now will be smaller now than later.

</comment><comment><USER13> I can think of at least a couple of startups I've come into contact with that collect data from user profiles on FB and other social sites. Wouldn't surprise me if there are hundreds of them out there.

<comment><USER10> What sort of data? It's normal and expected to collect public facing stuff like profile photo, name, gender. I'd be much more irritated if they're scraping entire profiles.

</comment></comment><comment><USER14> Do warnings like this have any impact on future lawsuits against Facebook? Does it help Facebook in other ways?

<comment><USER15> I wouldn't dare to guess either way if I had to put money on it, but from what I have learned of US investor reports -- companies are legally obligated to list known and anticipated business risks in their filings.

Maybe not in those very words, but the concept comes up quite frequently in Money Stuff[0]. Recently I've seen a recurring theme around "everything is securities fraud". Which boils down to a very utilitarian and cynical core: if you are a company and do X but don't disclose to your investors that doing X may have an effect on the value of their investment, then the investors can sue you for securities fraud and try to claw back whatever future profits they feel they had been entitled to.

0: [https://www.bloomberg.com/view/topics/money- stuff](https://www.bloomberg.com/view/topics/money-stuff)

</comment></comment><comment><USER16> Making such a warning should in no way reduce the consequences that Facebook should be forced to face for their responsibility in dragging all of us kicking and screaming to this place.

That is, of course, precisely why they spoke up. Their lawyers and accountants determined that would be the least costly approach.

As an aside, why do we continue to tolerate this kind of behavior from corporations? They aren't _really_ people and they don't deserve and should not be afforded the freedom to experiment with their impact on our society and our lives that real people are privileged to enjoy. Regulations and massive punitive consequences are _good_ things to ensure corporate behavior serves the public interest. And yet this has been going on for almost a century and nothing ever happens to change it?

It's nothing but an evolution of the robber barons.

</comment><comment><USER17> this is my surprised face.</comment>


The inevitable future of private tech worker towns - <AUTHOR> https://levels.io/facebook-city/ <comment><USER2> If you're young & single why not. When you have a family / kids being forced to relocate only because you change employers is unacceptable</comment>


How Heartbleed Leaked Private Keys - <AUTHOR> http://blog.cloudflare.com/searching-for-the-prime-suspect-how-heartbleed-leaked-private-keys

<comment><USER2> Every time I see a blog post from the Cloudflare team I am impressed.

It isn't just their attention to detail that is impressive. They go out of their way not just to point out issue, but suggest fixes.

Too many Heartbleed blog posts from across the blogosphere, and sadly, HN comments, set out to criticize without suggesting something better.

Cloudflare has shown again that they are actively engaging the community for the communities benefit as well as their own.

This seems to be a very effective marketing strategy (I assume it is anyway).

<comment><USER3> I would have been more impressed had their original assessment of heartbleed (on nginx) not been "We've reviewed the code and we don't think it's vulnerable."

Looking impressive with hindsight is relatively easy.

<comment><AUTHOR> The original blog post on Heartbleed said: "Here's the good news: after extensive testing on our software stack, we have been unable to successfully use Heartbleed on a vulnerable server to retrieve any private key data. Note that is not the same as saying it is impossible to use Heartbleed to get private keys. We do not yet feel comfortable saying that."

In that same blog post we also said that we were revoking and reissuing all our SSL keys, and started the challenge web site to see if private keys could be retrieved.

[http://blog.cloudflare.com/answering-the-critical- question-c...](http://blog.cloudflare.com/answering-the-critical-question-can- you-get-private-ssl-keys-using-heartbleed)

So, yeah, we didn't from the outset figure out how to get the private keys, but we decided that the risk was too high so we want ahead with revocation.

<comment><USER3> I don't think it's unfair to paraphrase this statement:-

"And, we have reason to believe based on the data structures used by OpenSSL and the modified version of NGINX that we use, that it may in fact be impossible."

as

"We've reviewed the code and we don't think it's vulnerable."

Obviously you disagree.

<comment><USER4> Yeap, when I read the original statement it really seemed to be telling the customers there was nothing to worry about, and I think that's how it was meant to be read.

When the original statement was posted I actually went back to the header to check the author, thinking "surely jgc wouldn't post something this marketroid?"

Only in hindsight do they point at the get-out clauses.

</comment></comment></comment></comment></comment><comment><USER5> I am still surprised there is code like

          if(b->d) OPENSSL_free(b->d);

in OpenSSL :(

<comment><USER6> Forgive me for asking but what is wrong in particular with this single line?

To me it reads fine and the idea is that is frees that data address if its occupied. I'm sure I'm not the only one who is curious why this is bad.

<comment><USER7> The sensitive data that was saved in that address is still there. Memory has been freed so the os can use is again but the actual data is still there is memory untill get get overwritten by something else...

The program will work with no problems, but sensitive data that has been used then freed is available for retrieval when bugs like heartbleed are found.

As the article suggests the right way is to clean the data from memory ( by overwriting it with something else) before freeing it.

<comment><USER8> I've been looking at this recently, part of the problem with that approach is that compilers will often optimise out an overwrite if they can't see anything happening afterwards.

For instance if you set a stack-resident buffer that contained a key to all zeros using memset, then simply exit the scope, most optimisations will detect it as unnecessary (wtf? this never gets read back, who cares?) and ditch the line.

Search for memset_s (part of the C11 standard) for a clear function that can survive optimisers.</comment></comment></comment></comment>


Mass. shines in tech study, Calif. loses luster - <AUTHOR> http://ap.google.com/article/ALeqM5hpWq7lNj_3AoEUwircDB85-5T5vwD91D8Q984

<comment><USER2> "Drawing upon a complex index that analyzes a variety of factors" -> "Based on a set of weightings they assigned arbitrarily, and have no way of calibrating"

<comment><AUTHOR> I thought this might catch your eye. Tell me, do you have some kind of notification system that alerts you to topics of interest as soon as they are posted, or just all posts, or you are just on news.yc as much as i am?

<comment><USER2> I just check the site a lot.</comment></comment></comment>


Oxford announces new degree in Computer Science and Philosophy - <AUTHOR> http://www.comlab.ox.ac.uk/admissions/ugrad/Computer_Science_and_Philosophy <comment><USER2> Caveat: this is an anecdote, and your mileage may vary, but I think it illustrates a point of contention in the "two cultures".

As a computer science major in the US, I once took a "philosophy of mind" course out of a genuine multi-faceted interest in AI. I was working on undergraduate machine learning research at the time, so I used to pore over the green Norvig/Stewart AI book like a religious text. Unfortunately, the philosophy course seemed deeply rooted in classical theories like dualism (which I think of as a rationalization for religious dogma), ignoring any and all modern advances in neuroscience. The final straw was the lecture unit on "artificial minds". There was a lot of uninformed speculation about AI, which really disappointed me. The professor (and textbooks) completely ignored beautiful advances like Godel's theorem, which would make a great foundation for philosophizing about axiomatic "minds". I tried to speak up about what AI really is, even tried bringing Russell/Norvig into class, but I don't know if it was the professor or the students who were more resistant to facts clogging up the debate.

Anyway, I have nothing against philosophers, and I believe that they are an important part of the intellectual framework of academia. However, in inter- disciplinary cases like this, I really hope that they get people that can successfully straddle both sides of the divide. Stephen Hawking's quote in his new book comes to mind. I don't remember the exact words, but it was along the lines that a lot (not all, naturally) of philosophers have closed themselves off to science and thus denied themselves access to the greatest intellectual developments of the 20th century.

<comment><USER3> If physics was taught the same way philosophy is, we'd learn about the four elements before getting to Newtonian mechanics.

<comment><USER4> Every high school chemistry textbook I've seen actually works this way! It's horrible. The chapter starts with Dalton, works up through Rutherford and Bohr, and the last two or three I've seen ended there. Each section is presented as fact, and the kids are quizzed to make sure they know the material, before tearing it all down and teaching them a new bogus theory in the next section. Ugh.

<comment><USER5> Am I the only one who enjoyed this approach?

I was taught atomic theory chronologically starting with the plum pudding model, then rutherford's model, then Bohr's model and finally the quantum models.

At each stage, the focus was on:

* What observations led the scientists in question to propose the model? e.g. in Rutherford's case, there was an extensive discussion on the gold-foil experiment, the observations he saw, and the conclusions he drew from it (e.g. that a lot of mass must be packed into a tiny space).

* What properties follow from adopting them model? e.g. with Rutherford's model, the notion of an accelerating charged particle (electron) would mean that the electron would continuously lose energy until it crashes into the nucleus. obviously this isn't happening.

* Repeat the cycle: how did bohr's model attempt to overcome these problems.

We did the same with the theories on acids and bases: how Arrhenius' concept required the notion of liquid to be present, how Bronsted and Lowry formulated it more generally as proton donation and acceptance, and how Lewis formulated it in terms of electrons.

I like that at each step, we learned WHY these models were proposed and how they explained the phenomena seen until then. We learned WHAT the consequences of making a physical model are, and we learned WHAT new observations could not be accounted for. Then we learned about how concepts are generalized to account for more information.

In contrast, if I had just been shown a beautiful but complex model at the beginning, I'm not sure I would have learned as much or held as much interest. The difference is like seeing a very elegant proof to a problem vs seeing the different half-correct approaches culminating into a final solution. I feel that if the goal is to teach people how to think like scientists, show them the process not the final result.

<comment><USER6> I last took chemistry in 10th grade, and I too was exposed to the progressive chronology of atomic theory.

While today I would appreciate it for what you point out, at the time, those lessons were lost on me, and I was a thoughtful kid. I think if the pedagogy were more oriented around the progess of the scientific method, it would have been fantastic.

It seemed misguided, though, in the context of a chemistry chapter on the nature of atoms. Let's also not fail to acknowledge that a gifted teacher can make all the difference in how a given approach might be, and I imagine that the more complex, contextual picture that respects that our understanding is still evolving would be superior in the hands of a gifted teacher.

</comment></comment></comment></comment></comment><comment><USER7> These two fields have been begging to merge for several years now. Great to see it happening.

I'd like to see extended to a post-grad program. You could choose either business coding or academic coding. Both are rich areas for combining these two disciplines. Philosophy gives CS a broader, more conceptual view of how things fit together, and CS gives philosophy something useful to do -- it provides a hard edge from which to judge whether one philosophical stance is more or less useful in a given situation.

<comment><USER8> You can manage to do something like that as a CS PhD if you have the right advisor, though it's harder to pull off than it used to be as CS has gotten much more obsessed about being a rigorous science. It especially used to be the case in AI, and in some corners still is, that a good thesis makes conceptual and philosophical advances in analyzing problems and domains (or proposing new problems), which are "validated" not only via mathematical theorems, user studies, or benchmarks, but by arguing for your conclusions, the way a philosophy thesis would (though of course technical results can be used to bolster the argument where appropriate). The PhD theses Douglas Hofstadter supervises are an example.

<comment><USER9> I would deeply appreciate advice from you or anyone who has thoughts.

I did a double major in CS and Business during my undergrad at CMU ('09) and focused very much on practical learning (read: programming/web apps) and corporate/startup endeavors. However, I was always drawn towards studying the relationship between minds and machines on my own time. Mostly triggered from Godel's theorem, reading GEB/AI books, and some obsessive impulse to learn about my own mind.

Now that I'm working my first job, this impulse is stronger than ever. I find myself reading papers/books on philosophy, anthropic mechanism, AI, etc. during what free time I have. I suspect that I should study a PhD in this subject, given this impulse doesn't seem to be going away.

However, I have absolutely no research experience and had little contact with professors during my undergrad. Would you advise I seriously pursue this intellectual interest as a PhD (versus during my free time)? If so, do you have any thoughts on how I should go about applying? Given that most applications require research recommendations, I was thinking of contacting professors of papers I admired, but am not sure how well that approach would work.

Thank you for reading! My email is in my profile if that works better.

<comment><USER10> A PhD is a formal license to do research and it marks the start (not the end) of a lifetime of research. You need such a license if you plan to work at a company with a rigid corporate ladder or in academia.

The only additional reason to get a PhD besides the license is an increased probability of being in contact with peers who you can collaborate with. People often undervalue this but empirically it's pretty clear what the benefits of having at least one research collaborator are.

If you actually do decide to go for a PhD, you're going to need at least one strong recommendation that speaks to your research ability if you want to get into a top program. Your undergrad institution and GPA put you in the running to be sure, but admissions committees are looking for evidence that you can perform research. Recommendations that say "this kid got an A in my class and is a good student" don't really have an impact on your application either way.

</comment></comment></comment></comment><comment><USER11> As an undergrad philosopher who became self-taught hacker after graduation, I can say with confidence that this is a great synthesis.

While contemporary academic philosophy is little more than a circular passing of jargon, there is no doubt that the practice of philosophy has inspired great science. Kant, for example, wrote books about anatomy and other empirical topics prior to this metaphysical work, and made prescient suggestions about the existence of other galaxies and the theory of evolution. Perhaps an infusion of CS will help win Philosophy back from the ivory tower.

<comment><USER12> As another undergrad philosopher turned self-taught hacker I wouldn't see why you'd want Philosophy to come down from the ivory tower. It's hard to imagine what would be of Philosophy today if Kant had spent all his life writing about science and hadn't given us the Critique of Pure Reason.

<comment><USER11> The point is that the CPR was only possible because of his earlier work in the "hard" sciences, at least in IMHO.

</comment></comment></comment><comment><USER13> How does an American get in to a program like this? Especially if, say hypothetically, they dropped out of school to work.

<comment><USER14> The teaching at Oxford (and Cambridge) is stellar and more Americans should consider it as an option. Getting onto an undergraduate programme is competitive but egalitarian: you need to show you are a top performer academically and then impress at an interview. Your competition at the application stage is (very roughly speaking) the smartest kid from every British school. Very few of them will get in; every course has many more applicants than places.

The Oxford University Entrance requirements, [http://www.ox.ac.uk/admissions/undergraduate_courses/courses...](http://www.ox.ac.uk/admissions/undergraduate_courses/courses/courses_and_entrance_requirements/) , state the following:

"US qualifications: Successful candidates would typically have SAT Reasoning Test scores of at least 700 in Critical Reading, Mathematics and the Writing Paper, or ACT with a score of at least 32 out of 36. We would also expect Grade 5 in three or more Advanced Placement tests in appropriate subjects or SAT Subject Tests in three appropriate subjects at 700 or better."

\- I have no idea what that all means, but for comparison, every single Brit applying will have straight A-grades in their A-levels, and selection is almost entirely based on the interview (and in some cases, extra advanced examinations). So take these entrance requirements with a pinch of salt; they're necessary but not sufficient.

All that said, the colleges have extremely wide lee-way in how they make their offers, so exceptional candidates with a slightly offbeat scholastic record might have a chance. Some cynics also note that foreign students may have an advantage because they bring in far more money. But all in all the academic requirements are quite high. To sum up, it's very hard to get in, but not because of prejudice or snobbery, just intense competition.

<comment><USER15> Overall a good answer, however there is something to add.

For British students, once you turn twenty-one you no longer have the same strict entry requirements, instead it's more a case of proving that you're the kind of person they want than showing what exams you've passed. (Though they're likely to ask you to do some studying before applying, to demonstrate that you're willing/able to learn.)

Most likely the same for international 'mature students' as well.

<comment><USER16> Yeah, I applied as a mature student to an MSc program and was accepted. At the time I had a first class IT and Philosophy BA, 4-ish years commercial programming experience, and an E grade at AS level Psychology.

</comment></comment></comment></comment><comment><USER17> I did a math and philosophy double major. The danger of a degree like this is that the stark reality of a programming job will seem unbearably boring in comparison to what you studied in school.

<comment><USER18> I would say you have the wrong type of programming job then. Some can be massively creative and require "philosophical" thought. Areas that come to mind are the ones in computer science which bleed over naturally into philosophy, e.g. AI.

<comment><USER19> Yes, and graduates with an interdisciplinary background and strong reasoning skills are more likely to get the interesting jobs than pure software engineers who know JUnit inside-out.

(Generalizing from myself with a sample size of one)

</comment></comment></comment><comment><USER16> I completed my MSc in Computer Science at Oxford in 2009. My undergrad degree was a joint honours IT and Philosophical Studies BA (UoW Lampeter).

From my (limited) knowledge of how comlab/Oxford works, it looks like students will be splitting their time between the philosophy department and comlab.

I can't quite see how they're marrying the two together. I know from my first degree that it's a great combination - there's more crossover than you'd initially think. But it does rather seem as though you'd just be splitting your time between two very different departments, rather than literally studying the two subjects in harmony.

Interesting development though.

(PS: happy to answer your questions about Oxford/CS/applying/etc)

</comment><comment><USER20> Peter Naur (Turing award winner) wrote an Antiphilosophical Dictionary. <http://www.naur.com/Antiphil.html>.

</comment><comment><USER21> I'm a computer scientist currently taking the History and Philosophy of Science course at Cambridge (an interesting combination that is one of the perks of being an exchange student) and wholeheartedly endorse this. Logic, with its philosophical roots, has had an enormous impact on Computer Science, and I believe Philosophy of Science and Philosophy of Mathematics have a lot to say about Computer Science. (AI is a kind of special child: I think you need some neuroscience added in as well.)

</comment><comment><USER22> I'm studying Computer Science+Philosophy in Munich, although, technically, Philosophy is a part of my CS studies (one can choose a subject different from CS to do some credits in, many choose Math/Physics, I chose Philosophy). The fun thing is that when I wrote my motivational letter about why I wanted to do Philosophy, my reasoning why I'd want to do it was almost the same as in this article.

</comment><comment><USER23> I recently completed my M.Sc in Software Engineering at the University of Oxford (Soft Eng is closely affiliated with ComLab, but is a slightly separate department) and I can only speak well of the program, its lecturers, and its resources. This looks like a great program; if I were 18 again I might consider going to Oxford for this undergrad degree.

<comment><AUTHOR> There are several Oxonians on HN from the looks of it. I read for my DPhil in Computing, as did @cperciva.

<comment><USER24> There certainly are. The Oxbridge mafia is everywhere _shifty eyes_.

I'm pretty sure there's at least a few dozen moderately active HN users from Oxford (I'm one).

<comment><USER25> And there are a number of Cambridge grads here, too. (And quite a few that are YC founders!)

</comment></comment></comment></comment><comment><USER26> My college (RPI) had been pushing something very similar for a while now, which is why I have a degree in Computer Science and Philosophy.

They strongly encouraged CS majors to dual-major in CS/Philosophy or CS/Psychology. It was called the "Minds and Machines" program and was a precursor to their full-on undergraduate Cognitive Science program, Which didn't exist when I started in 2006 but does today.

I went in as Computer Science and picked up the CS/Philosophy dual-major in my first semester after talking at length to my advisor (who was head of Minds and Machines and is now head of Cognitive Science).

People ask me about it a lot when they find out, but to me it always seemed like an impeccably good match.

<comment><USER27> > My college (RPI) had been pushing something very similar for a while now, > which is why I have a degree in Computer Science and Philosophy.

That almost happened to me. I started with CS at RIT, but since they didn't have a philosophy major, I left as a sophomore.

Apparently, the year after I left, they got a major. I was told by a professor that I was one of the examples used in the lobbying for the major. This didn't make me feel much better.

</comment></comment><comment><USER28> I was reminded of the following excerpt in Howard Marks' book "Mr. Nice", who wanted to study Philosophy of Science in Oxford University many decades ago:

"There was a problem with respect to how my diploma course would be financed. In those days there were two main grant-giving bodies funding postgraduate study: the Department of Education and the Science Research Council. The former limited its grants to graduates in non-scientific subjects while the latter would only fund students undertaking research degrees in the pure sciences. These regulations precluded my Philosophy of Science studies being funded by either body."

</comment><comment><USER29> Strongly reminiscent of John Galt's (and his friends') degrees in Atlas Shrugged by Ayn Rand--they studied physics and philosophy together. Then then changed the world.

</comment><comment><USER30> I actually majored in both computer science and philosophy at a school with a top 5 CS program and a top 50 philosophy program. I found the combination useful, but eventually grew frustrated with much of the philosophy. My classes often spent more time splitting hairs than trying to say useful things. The philosophy that actually proved most useful were my logic courses, and one or two papers from philosophy of mind.

That said, philosophy is incredibly important. But, as PG has noted, we tend to do a poor job of it (<http://paulgraham.com/philosophy.html>). We need to spend more time focused on saying useful, testable things. In short, the best scientific results merge with philosophy. So, everyone should be a philosopher, but should do the majority of their philosophy as science.

Again, both philosophy and computer science are important, but after studying both pretty intensely for 3.5 years (I graduated with over 180 credit hours), you have to pick and choose the philosophy. It's mostly useful for setting the initial biases on which the rest of your science will depend and for continuing to think about things science can't speak to, yet.

</comment><comment><USER31> Hey, get this ...

Maybe Comp. Sci. is too important to be in the "Sciences". What about all those in the humanities that would benefit from knowing how to code and having the basics of knowledge about data structures and algorithms?

I know many numbers of people with history degrees, philosophy degrees (myself included), you name it - who taught themselves how to code because it was impossible for them to take comp sci course as part of humanities.

There is this new field of electronic poetry where poets use the power of computers and the internet to create a new kind of poetry. These people generally come from a background in literature and they are very creative types but they have to enlist the help of graphics designers and programmers to do computer side of things as opposed to the poetic side of things.

It is like literacy. Before the twentieth century pervasive literacy was not the norm. I would argue that computers are nearly too ubiquitous and will only become more and more so that computer literacy is a real hindrance. The option should be there to those that want it.

Computer science, mathematics and logic should inhabit a third academic space in academia I would argue. Science/Engineering, Comp Sci/Math/Logic, Humanities ...

Any takers? :)

<comment><USER32> I'd say basic coding should be taught in the typical "typing and MS Office" classes, if possible. I don't mean higher level concepts, but a simple footing in it can help a lot.

</comment></comment><comment><USER33> How many people on Hacker News have actually studied philosophy? Judging by the top-ranked comments it seems like a) few have studied philosophy seriously, and b) few seem to think there is much value in philosophy.

(And by "seriously", I mean beyond a passing understanding of philosophy of mind. If you haven't read the better part of the canon, including boring folk such as Kant or Descartes, that isn't being serious)

<comment><USER34> I took a few classes and probably could have written exactly what PG wrote[1] on it.

[1]: <http://www.paulgraham.com/philosophy.html>

</comment></comment><comment><USER35> This looks extremely exciting for the realm of social robotics, as the two disciplines will feed off of each other. It will be interesting to see the depth of the behaviour algorithms created while learning more about philosophy. Perhaps we will be more concerned with other factors in the behaviour, rather than just how it "appears" to the human (or whatever is interacting with it).

Hopefully they won't rely too much on SAT marks for the admission process, and will look at our portfolios. It would be a shame to miss out on a potential star for this program because of low standard test grades. This is a super opportunity!

</comment><comment><USER36> I majored in philosophy at university. My business partner has a PhD in computer science. When we started working together, we discovered that we had studied many of the same things - Godel's theorem, the halting problem, boolean logic, etc. Much of his overlapping stuff came from a subject called "Theory of Computation", whereas mine came from "Formal Logic" and "Metamathematics".

I think the idea of combining the fields is really brilliant. Nowadays I do a lot of programming (I founded a couple of businesses that are software- focussed), and would love to have had just this kind of educational background.

</comment><comment><USER37> Many of you are confusing "analytic" philosophy with all of philosophy. There are numerous distinct schools, with distinct thinkers and lines of thought. Assuming that a single quality applies to a uniform field of "philosophy" is completely misguided. There is no such thing as a uniform field of philosophy.

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

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

</comment><comment><USER38> This is only reasonable, after all, philosophers at the beginning of the 20th century are responsible for theories about languages and logic that directly lead to the computer. If only those wanking on about "the semantic web" cared to look at some of the philosophy done since the 70s by folks such as Saul Kripke, they might discover that the idea of semantically competent computers is as likely as conscious computers.

</comment><comment><USER39> Hah. Did this combo as a undergrad.

Loved CS. Loved Philosophy. Hated their intersection, which I thought I was going to base my career around, when I was 17. Oops.

Still a fun degree though.

</comment><comment><USER40> I hated worked with people who did philosophy degrees.

The biggest problem with them, that they dare to reason about things, which they never learnt or have no hands-on experience.

They will substitute benchmarks and experiments by their theoretical logical conclusions.

Same thing happens with people, who have PhD in one field and try to reason about things in different distant domain.

</comment><comment><USER41> I tried to sort of create a program like this for myself 15 years ago. I ended up with a B.S. in comp sci and math - with one credit short of a philosophy minor. Unfortunately there were no professors asking the fusion questions, but I did some reading when I could.

<comment><USER31> That's a real shame. I hope you still keep up to date with philosophical thought.

You might think that philosophy moves very slowly but a few disciplines that have emerged are bio-ethics, deep-ecology, connections between aesthetics and justice and all ground is gone over all the time.

I got a degree in phil. and math. I taught myself how to program and read theoretical comp sci books on data structures and algorithms, operating systems and compiler theory, type theory and symbolic calculus and the church / turing thesis and so on to flesh out the other side but I would dearly love to have been formally taught the comp sci stuff because in truth I went through it all for the love of it and have rarely applied that knowledge :)

I feel like I'm split down the middle, I am delighted that there now exists a course like this. The more I think about it, the more sense it makes.

</comment></comment><comment><USER42> I double-majored in CS and Philosophy during undergrad, but didn't want to stay an extra semester to complete the requirements for the latter. It's something that I hope to complete one day so maybe several months in Oxford is an option for the future.

</comment><comment><USER43> Its almost eerie (in a positive way) that I see this post right when I was thinking about something along the lines of how an effective engineering course should be structured. Only recently I developed an interest in the classics (greek and roman) and also started reading Milton's "Paradise lost", and Seneca's "On the shortness of life". Two things stood out in a lot of these works - 1) the richness of content - meaning how inevitably it makes you think hard while reading, and 2) the usage of language in a way that makes you see the language in a whole new light (especially in Milton's classic - English never looked so beautiful!!). During the process of reading these classics, I was convinced that a 3-4 year study of an engineering (or science) discipline would only be vastly improved if the subject matter had its share of philosophy and literature (call it "lit-phil"). I would go so far as to say that it should be a 50-50 split. There There will always be a debate as to what works should be included, but the amount of quality work is so vast that being selective would not matter. We can argue that to incorporate this into the same 3-4 years of study, we could eliminate some of the engineering course material to make way. Do we really need all those engineering subjects in that much detail?

So then should be an arts degree at all? I would say yes, and thats only for people who just feel overwhelmed by science or engineering (who I come across aplenty) and prefer to study only the arts. If there should be an arts-only degree, why would I propose that engineering be always accompanied by study of lit-phil? Simply because I believe that a mind that needs to grasp engineering has to be somewhat prepared by philosophy and literature and whetted constantly by it during the study.

Now, the only kicker is that at the age of doing a bachelors (which is between 17-19 and 21-23 for the majority), the average engineering bachelor student would not be mature enough to appreciate a healthy dosage of lit-phil. They would inevitably ask why they are being subjected to something totally unrelated - whereas they do not understand that the subject matter is slowly working on their brain in the background (if they care to put an effort into it).

Hope this does not come across as a rant against engineering. I studied electrical engineering and have utmost regard for the field (much more so than "software engineering" - and I am not talking about computer science and engineering here). But I believe its crucial to pay attention to how we inculcate that engineering knowledge into minds in general. And develop engineers that are not afraid to think and contemplate.

</comment><comment><USER44> How is this different from majoring in computer science and minoring in philosophy?

<comment><USER45> This is approximately a "double major".

For those in the UK unaware, "X and Y" suggests an approximate 50:50 split. "X with Y" suggests a heavy emphasis on X, more of a 75:25 split.

And as others have pointed out, in the UK, apart from in some specific degrees (Cambridge Science Tripos springs to mind), the idea of completing a degree out of mainly self-selected units is a bit crazy.

</comment></comment><comment><USER46> Rand's theory of concepts is the explicit cognitive framework of induction and abstraction - both vital to comp sci endeavors. To overlook her work is a tremendous oversight, a detriment to this congruency.

</comment><comment><USER47> This sounds great. My favorite semester during college (majored in comp sci / engineering) was when I took a philosophy course along with my regular CS and math courses.

</comment><comment><USER48> When is this being implemented? It wasn't an option for the 2011 application cycle, and unfortunately it's a real hassle to change courses from the one you applied to.

</comment><comment><USER49> I did my BA in philosophy (focusing mainly on ethics and political philosophy) and my MS in computer science, and I personally found the mix to work incredibly well, though not in the obvious way many people expect (which tends to be around epistemology and logic on the philosophy side and AI on the computer science side).

The point of a philosophy education is not to teach you anything in particular; there's no body of knowledge to absorb in the same way that there is for math or any scientific or engineering discipline. At most, you can treat a philosophy education as a history course focusing on the history of human thought (which is why, in response to some other posters, it's important in philosophy to study the past, even if no one believes such things anymore: it's more like history than physics).

The really valuable thing for me, however, was learning the process itself: how to make assumptions and pre-conditions clear and separate them from the rest of your thinking, how to make arguments clearly and fairly, how to break complex questions or topics down into smaller pieces and the put them back together, how to not take it personally when someone disagrees with you. A philosophy course of study will also make you a better, clearer writer and communicator. (And yes, sure, there's plenty of room for BSing and incomprehensibility in there, but if you take that away from a philosophy course you're missing out.)

All those skills translate and complement computer science very well. At its core, the process of software engineering (as opposed to just programming) is the art of taking something really complex and breaking it down into the right set of components: ones that are large enough to be useful, but small enough to be correct, and with the right relationships between them. Taking a large program or problem and breaking it down like that is basically exactly the same set of skills that you develop when you study (and do) analytic philosophy. Being able to clearly separate assumptions, facts, conjecture, predictions, and arguments is also a key skill in a domain like CS where thinking outside the box, as it were, is always important, and where the rules and possibilities change so rapidly. And of course, it never hurts to become a better writer: I've worked with and known some brilliant engineers who were far less productive than they should have been simply because they couldn't present their ideas clearly enough to other people, and there's simply no way to get a team to all work in the same direction if they don't all share the same vision. A brilliant idea that no one else understands because it's been poorly communicated is usually fairly worthless.

As an aside: I know PG doesn't seem to think he got much value out of his philosophy classes, but I wonder if his essays would be as clearly thought out and put together as they are without it. I certainly know my own writing would be far less clear (and far less rigorous) if I hadn't done my BA in philosophy and if I'd just focused on CS.

<comment><USER50> I also did my BA in philosophy (epistemology and Heidegger) and my MS in computer science. I sell my philosophy experience as an ability to quickly understand and manipulate abstract concepts. I used to be pretty confident with this position, but these days I am less so.

I think the greatest benefit of my undergrad years haunting the philosophy department is that if I'm going to argue a point, I'm damn sure I'll have satisfied myself with my position, and have ready refutations for all counter- arguments I can think of. I don't comment much on web sites because the rigour of this far exceeds the two cents my opinion is worth.

My advice for anyone contemplating philosophy is this: learn to be good with analogies. Explaining abstract concepts is difficult and a good analogy (and here I mean a genuinely fitting one) goes a long, long way. If you spend a lot of time just thinking about stuff anyway, studying philosophy really gives you a lot of quite interesting stuff to think about: what is truth? Can we know something without expressing knowledge of it? If so, how can I know that you know something without your expressing it? A heady trapdoor indeed.

</comment></comment><comment><USER51> So take a degree, CS, which is almost irrelevant to most working developers, and mix in something that is irrelevant to almost everybody alive.

I'm already seeing job adds for sysadmins, php programmers and front end developers requiring a CS degree. In the future they'll be philosophers too?

</comment><comment><USER52> Philosophy is what you do when you don't know something and don't know how to actually discover anything about it but you are not wise enough to let it go and find something you could actually discover something about.

<comment><USER53> _Philosophy is what you do when you don't know something and don't know how to actually discover anything about it but you are not wise enough to let it go and find something you could actually discover something about._

That sounds like a lot of research in maths and CS.

<comment><USER52> Math and cs can be researched because hypothesis in math and cs can be shown to be wrong. Can you point one theory that was ruled out to be wrong thanks to philosophy? If you can't then how can you find philosophy and (any) research similar?

</comment></comment></comment><comment><USER52> Great. Next joint course: Operating Heavy Machinery and Scrapbooking.</comment>


A new definition of ignorance - no Twitter! - <AUTHOR> http://scobleizer.com/2008/05/27/scoble-has-a-productivity-problem/

<comment><USER2> In this post, Scoble writes 1200+ words on how awesome it is to be Scoble. A flock of smug webcocks eat it up and pat each other on the back for being so on top of things and not "ignorant" like the poor deluded soul that had the gall to send email (email! how quaint!) suggesting that the Emperor might be looking a tad scandalous.

</comment><comment><USER3> "Hint: sitting on a couch and drinking beer isn't going to help me get to my goal."

That's ignorant: saying that someone who doesn't have this guy's whizzy high- tech lifestyle is just a couch-potato with zero motivation.

Technology used to be about productivity, but most of what happens now has nothing to do with work -- it's about fun. It would have been better if this guy had just admitted that rather than writing 2000 words of nothing much at all.

</comment><comment><USER4> I think that Mr. Bob has very valid points, but the question is whether Scoble is the right person to address them to - for him it's a job to play with new tech and review it.

Anyway, it's interesting that Bob has a 3-letter .com domain registered (bly.com), so he isn't that much behindhand as it might look.

</comment><comment><USER5> Scoble is fast on his way to becoming the Dvorak of his generation.

<comment><USER6> I actually remember John C from the days when he wrote for PC Magazine (I am only four years younger than him). I enjoyed his writing and I even enjoy him as a guest host on TWIT. I would argue that Dvorak is quite different from Scoble. John reads a lot, knows a few things in depth and has original thoughts of his own.

</comment></comment><comment><USER7> I think he rather succinctly managed to prove the opposite of his point.

</comment><comment><USER7> I do especially like "Is it better to change Milan's diapers or answer another email?"

I think diapers are a little more time-sensitive than just about any email. Ok, a lot more time-sensitive.

</comment><comment><USER8> Using twitter to keep up with the Mars Rover??? why oh why...

<comment><USER9> If the rover had crashed and stopped responding then that somehow would seem appropriate.

</comment></comment><comment><USER10> What cell phone is he using? Edit: I found some references to a Nokia N82, is that it? Sounds good anyway.</comment>


Women's expectations of the opposite sex are at least as unrealistic as men's - <AUTHOR> http://www.economist.com/news/science-and-technology/21576061-womens-expectations-opposite-sex-are-least-unrealistic

<comment><USER2> As there was no counter-study they cited, it's not clear that women's expectations are "at least as" unrealistic. While this may be a result I would expect, I don't see the data backing it up (and nowhere in the actual article does it attempt to).

That being said, it would be exceedingly unsurprising to find that women are equally influenced by social norms/social constructs of attractiveness as men.

</comment><comment><USER3> Another example of shoddy science reporting. Sure, it reports on a study done on attractiveness of males to females. But the title is not supported by the article - nowhere in the article does it cover men's expectations in a similar quantitative fashion.

And as for the opening 'men wondering what women want', _people_ want different things. Finding what's generally attractive to a gender does not conversely mean that you know what individual members of that gender want. And even if either gender were homogenous anyway, what you want changes significantly as you age - what a 20-, 40-, and 60-year old want are frequently very different things, even in the same person.</comment>


APIs are Copyrightable - <AUTHOR> http://www.crn.com/news/applications-os/300072804/oracle-wins-appeal-in-google-android-suit-court-rules-it-can-copyright-java-apis.htm

<comment><USER2> What is "Supreme Court Law" exactly?

<comment><USER3> It's de facto law based on previous Supreme Court decisions. If the facts of this case are very comparable to previous cases the Supreme Court has heard (or decided not to hear), it's reasonable to assume the outcome would be the same.</comment></comment>


Tailbone: Automatic RESTful backend for AppEngine for building single page apps - <AUTHOR> https://github.com/dataarts/tailbone#validation

<comment><AUTHOR> Sorry, could someone change the url to <https://github.com/dataarts/tailbone> instead? Thanks.</comment>


A fleet of computers helps settle a 90-year-old math problem - <AUTHOR> https://www.wired.com/story/a-fleet-of-computers-helps-settle-a-90-year-old-math-problem/ <comment><USER2> The four color theorem was proven with the help of a computer in 1976 [0]. The event gave rise to the concept of non-surveyable proof [1]. As far as I can tell, it has never been proven without the help of a computer.

[0] [https://en.wikipedia.org/wiki/Four_color_theorem#Proof_by_co...](https://en.wikipedia.org/wiki/Four_color_theorem#Proof_by_computer) [1] [https://en.wikipedia.org/wiki/Non- surveyable_proof](https://en.wikipedia.org/wiki/Non-surveyable_proof)

<comment><USER3> As the Wikipedia article states, the main countermeasure to non-surveyability is to express the proof in formal logic, which can then be verified by an automated proof checker. In fact, this is exactly what the authors of the proof of Keller's conjecture have done. And likewise, the Four Colour Theorem has been verified in this way.

I don't think non-surveyability is really the issue here.

<comment><USER2> Non-surveyability was introduced precisely as a criticism of the 1976 proof. I believe that the four color theorem was proven with the help of an automated proof checker only in 2005.

</comment></comment></comment><comment><USER4> I had to search the original publication to see what kind of computer cluster they used. Here it is in case you are curious:

"We ran all three experiments simultaneously on 20 nodes on the Lonestar5 cluster and computing on 24 CPUs per node in parallel."

It seems it took less than an hour. I think that calling it a "fleet of computers" is a little too much. It makes it look like they brute-forced the problem while the truth is that as usually the merit was on the algorithm.

</comment><comment><USER5> I brushed up against SAT solvers in school, but never quite got a grasp on them. The "proof" at the end is 200 GB - is that size related to SAT solvers in general, this particular problem, the dimensionality here? A billion-sized search space giving a 1.6 trillion bit proof sounds awfully exhaustive to me, but I also can't imagine what such a large proof would even be about.

<comment><USER6> If you're talking about boolean satisfiability, all you have as "memory locations" are bits and you describe their relationships. I guess the result you want is "unsat".

Say you want location 1 not equal location 2, then you have

(1 or 2) and (not 1 and not 2) in the expected normal form. This blows up fast if multiple variables are involved. There are tricks like Tseitin transformation that can reduce the size of the clauses but introduces additional variables.

Also, if you want to use 8-bit-numbers, you'd need 8 variables each. Addition would need more clauses.

</comment></comment><comment><USER7> Am I the only one wondering why they used 40 computers, if the computation only lasted for 30 minutes? Does anyone who read the full paper jnow the reason? The article does not explain anything in that direction, but I would expect that if they could just do it on one computer and wait for two days, they would have done it...

<comment><USER8> Paper is at [https://arxiv.org/abs/1910.03740](https://arxiv.org/abs/1910.03740).

Skimming it the answer appears to be "because they had that cluster". They say they only used 20 machines (each with 24 CPUs, so I guess these are fairly beefy)

Given the 224 GB (binary) size of the proof memory usage might be a problem, too.

</comment></comment><comment><USER9> For math as an art form (a lot of theoretical math), are computer aided proofs destroying the core value of the endeavor?

<comment><USER3> I guess the problem with many Computer Assisted Proofs is that they don't explain "why" something is true, only _that_ something is true. But if that's the best you can do, then it's certainly better than nothing.

Also, advances in CAPs can have applications outside of pure maths.

Finally, CAPs are not common enough - or viable enough in most cases - to make a dent in the practice of pure maths. At least that's the impression I get.

</comment></comment><comment><USER10> Original source: [https://www.quantamagazine.org/computer-search- settles-90-ye...](https://www.quantamagazine.org/computer-search- settles-90-year-old-math-problem-20200819/)

<comment><USER11> The author of both articles is the same, as far as I understand, so I don't understand how one article can be "more original source" than another.

<comment><USER12> The other article was discussed here: [https://news.ycombinator.com/item?id=24220149](https://news.ycombinator.com/item?id=24220149)

</comment></comment></comment><comment><USER13> Interesting. I hope what the author says isn't actually done. So the computers generated a proof nobody can understand, but fret not, a second computer program can assure us of its validity. Well that's heartwarming. I hope they are not building the foundations of future math on this house of cards.

<comment><USER14> Perhaps you can offer something better?

<comment><USER15> How about: a group of highly sophisticated and very skilled mathematicians generate a proof no mere mortals (and lesser mathematicians) can understand, but fret not: another genius mathematician can assure us of its validity.

Hmmmmmmm. Yeah, that sounds much better. What do you think?</comment></comment></comment>