Hacker Timesnew | past | comments | ask | show | jobs | submit | monjaro's commentslogin

This has nothing to do with Gödel's incompleteness theorem. It's much simpler than that: https://en.wikipedia.org/wiki/Wittgenstein_on_Rules_and_Priv...


Thanks for the link! That was an interesting read, but I don't think I understand the premise of the argument.

From the article

  ... It is perfectly consistent with your previous use of 
  'plus' that you actually meant it to mean the 'quus' 
  function, ...
That may be true, but only if you assume I'm not referring to the plus derived from the axioms of principa mathematica. I am. Is it then the question that when I refer to the principa mathematica that I'm actually referring to principa quus? If I then describe axiom 1 can you not know my words are referring to axiom quus?

It seems the only power of this assertion is that language provides no absolute common ground.

Am I understanding this correctly?


This makes my head hurt. Surely Wittgenstein had permission to use Occam's razor? I mean, if it's possible that you actually meant quus_5 then it's equally possible that you meant quus_3 or quus_114, but since you didn't mention that, I will just assume you meant whichever requires the least amount of parameter-guessing from my side. After all, you have written it down for a human receiver, not for an alien from the Quus_8th dimension.


Would you feel the same way if a grocery store played a sad song when you were depressed?


The key here is the majority of the content on your Facebook feed is what your friends and family post. Your friends and family's posts have massive meaning to your life, and you will take on board their sentiment more than, say, an ad.

The meaning behind the music in a supermarket is negligible - you don't give any weight to songs played in a supermarket other than "I like this song" or "this song is annoying".

In a sense this whole fiasco is a good thing. The feed, for me, has now become less attractive as a "news source" for what my mates are up to. And that can only be a good thing. I dislike how much everyone (including myself) has taken to Facebook as a means of friends/family communication.


And this is the key issue - Facebook is not some buff actor telling you that you're inadequate if you don't buy a certain aftershave. Facebook is the lens through which people see a significant and important portion of their world. Friends, family, etc.

Artificially adjusting what is seen though that lens with the express intent of modifying someone's mood is horrifying by itself. It's even less acceptable when it is done without consent.

I'm very surprised that so many HN commenters seem to be unable to see, or unwilling to accept, this crucial and key difference.


What a fucking terrible analogy. Do you meet up with all your family and friends to discuss things at the grocery store?

Here's a non-shit analogy: what if Verizon only let you receive depressing phone calls?


Your analogy doesn't make sense because Verizon doesn't select which calls you receive. A phone company that drops any calls (positive or negative) is just defective. Facebook always curates what they show on your newsfeed. The neutral case where the experiment isn't being run still involves Facebook picking and choosing what to show you.

If you want an analogy relating to socializing, how about a dating site experimenting with showing you more or less attractive people? Is that terrible and unethical?


Depends on their motivation. Facebook wanted to make me depressed if I was part of the selected group.


This is utter nonsense. García Márquez wrote some of the most compelling and beautiful stories of the 20th century. Borges wrote the literary equivalent of late night stoner conversations, covering up a lack of substance with erudition.

I don't deny that the Nobel Prize can be political, but García Márquez was one of the most deserving recipients.


Yeah, that must be why entire philosophy courses are based on Borges. Stoner lit.


I was considering phrasing my comment as "conversations between stoned philosophy students", so yes, that sounds about right.

Not to mention the fact that a philosophy course about Borges will likely be examining the work of the philosophers Borges was referencing. I've yet to see anyone make the claim that Borges originated any of the important philosophical ideas in his stories.

Edit: Just to back this up a little more, here is a quote from the man himself: "But I wonder if they are my ideas. Because really I am not a thinker. I have used the philosophers’ ideas for my own private literary purposes, but I don’t think that I’m a thinker. I suppose that my thinking has been done for me by Berkeley, by Hume, by Schopenhauer, by Mauthner perhaps."

http://denisdutton.com/jorge_luis_borges_interview.htm


I've yet to see anyone make the claim that Borges originated any of the important philosophical ideas in his stories.

The idea of text as a finite construct struck me as original when I first encountered it in The Library of Babel. Are there any earlier sources that I should be aware of?

As someone who's interested in interactive fiction, I found a lot of prescient thinking in Borges. His work becomes more relevant over time, even as it posits its own eventual redundancy. I'm not sure anyone can say that about García Márquez. But like others are saying, there is no need to take away respect from one of these authors to pay it to the other.

Edit: Just to back this up a little more, here is a quote from the man himself: "But I wonder if they are my ideas. Because really I am not a thinker. I have used the philosophers’ ideas for my own private literary purposes, but I don’t think that I’m a thinker. I suppose that my thinking has been done for me by Berkeley, by Hume, by Schopenhauer, by Mauthner perhaps."

In other news, http://en.wikipedia.org/wiki/Impostor_syndrome is a thing.


> I've yet to see anyone make the claim that Borges originated any of the important philosophical ideas in his stories.

The publication of The Garden of Forking Paths predates Hugh Everett's PhD on the "Many Worlds" interpretation by 15 years.


Borges was mostly a short story writer, it's just another format, more condensed.


I don't think it's necessary to impugn Borges to make the case that Marquez was a wonderful writer. They were both remarkable.


Clearly, we don't agree. I feel a similar feeling towards Marquez as you do towards Borges.


Please don't use this. It doesn't do anything you can't do with the default go tools, and it doesn't follow the standard project organization.

He even links to the guide that tells you exactly how you should be setting up a project: http://golang.org/doc/code.html

There is nothing here that requires a Makefile.


There may be a standard project organization that "makes sense" to people familiar with Go, but based on the amount of confusion out there about this, that page is obviously not succeeding in its mission.

Consider items like these:

> The GOPATH environment variable specifies the location of your workspace. It is likely the only environment variable you'll need to set when developing Go code.

> If you keep your code in a source repository somewhere, then you should use the root of that source repository as your base path. For instance, if you have a GitHub account at github.com/user, that should be your base path.

> To compile and run a simple program, first choose a package path (we'll use github.com/user/hello) and create a corresponding package directory inside your workspace:

> $ mkdir $GOPATH/src/github.com/user/hello

Keeping the above snippets in mind, here's my thought pattern while reading the page:

So... I have only one workspace for all my work and I can set GOPATH once, in my .bashrc? Or I have one workspace per project and I need to set it differently for each project, kind of like a Python virtualenv? But then what's the difference between a "workspace" and a "project"? I do have a github account with a bunch of different projects -- err, repositories -- so that seems to reinforce the first way, but I don't typically work on them at the same time, so why would I combine them into a single Go workspace? And what's a "base path"? I must have missed that definition... nope, it's not in there, ok, I guess it's the root of where I'll put my... _new_ code? (Is it going to sync down all my repos?) But wait, here's an example where they say to create a Go "package" directory github.com/user/hello -- AHA! A Go "package" is like a git repository! Wait, that doesn't make sense... I'm planning to check this whole directory structure into github as a single project -- err, repo. Or am I not supposed to do that? But then I'd have to recreate all this on any machine where I want to work... is that really the intent? Yep, sure enough, they eventually say I should put the package directory into its own repo. So yes, I'm really only supposed to have one workspace for all my Go projects (I think). I wonder how Go manages dependency isolation for completely unrelated packages -- err, projects? -- that have the same output filename but are in the same workspace? Anyway, it sure would be nice to have a shell script or something to set up the workspace scaffolding for me, since I'm not supposed to check it into github...

And so we end up with folks like the OP doing exactly that. I'm sure there's a way to beat your head against this stuff until you eventually "get it", but it ought to be far easier than that to teach people coming from other environments.

At the very least, it would be helpful for this page to start by explicitly defining the mappings between the way Go uses words like "workspace", "package", "project", etc. and the way other languages/environments use them.


You can use gvp (https://github.com/pote/gvp) to isolate your workspaces (GOPATHs, really) for each of your projects, you can then include your dependencies in your project's repo or have a Godeps file specifying versioning which you can use with gpm (https://github.com/pote/gpm).

Hope you find it useful! :)


Even if it's consistent within files, you can still run into big problems. If the different macros supply slightly different functionality, you could end up in a situation where you have two different types of classes that can't be used interchangeably. It's not a problem if you write all the code, but once you start pulling in other code all bets are off.


This is a low quality article from someone who, given his qualifications, should know better.

The criticisms of functional programming languages range from trivially true (you can't be purely functional and have side effects) to incorrect (it is certainly not difficult to create a circular data structure in Haskell - it's easy given laziness).

The criticism of OOP is verging on nonsensical. Of course functions can be objects. A general definition of an object (following Cook somewhat) is something that satisfies an interface along with some form of dynamic dispatch. There is no reason why a function can't fall under that definition. The distinction between “fundamental” and “derived” isn't a technical argument, it's pseudo-philosophical junk. As several others have pointed out, the fact that Java doesn't have proper first-class functions is also utterly irrelevant. In fact, it is possible to program in a very pure OOP manner in any language with proper closures.

If the author is representative of the quality of researchers working on programming languages, it's no wonder the field seems stagnant.


> This is a low quality article from someone who, given his qualifications, should know better.

It really depends which audience this article is targetting (Do you believe that S. Peyton Jones speaks in monads to his mother?). If this article was written in response of a talk between undergraduates in a TA session, it is perfectly acceptable, and even provides links to advanced material for the curious.

> A general definition of an object (following Cook somewhat) is something that satisfies an interface along with some form of dynamic dispatch. There is no reason why a function can't fall under that definition.

Yes, but why have that definition, if you already have functions as builtin types? Conversely, if there's a need for functions as builtin types, why force programmers in using that clunky alternative? That's pretty much the point made by the article: don't corner yourself in one paradigm when others might be better at some tasks.

> As several others have pointed out, the fact that Java doesn't have proper first-class functions is also utterly irrelevant. In fact, it is possible to program in a very pure OOP manner in any language with proper closures.

Careful, the wording is a bit lacking here imho: you join two different ideas and make it seem like the second one validates the first, while it's not the case.

> If the author is representative of the quality of researchers working on programming languages, it's no wonder the field seems stagnant.

That shows you probably don't follow much the field. Anyway, this article doesn't fit your standard (see first point), ergo this man's whole work doesn't, ergo the whole field doesn't? That twice too much stretching from someone who isn't very careful in his own argumentation.


> It really depends which audience this article is targetting...

I disagree. Low quality articles like this are part of the reason why many undergrads are full of strongly held opinions about things they don't know much about. They think you can dismiss a huge paradigm with a glib one-liner: "functions are not objects".

> Yes, but why have that definition, if you already have functions as builtin types?

Because we can't talk about objects without having a definition of what they are? I have no idea what point you're trying to make here. I'm just trying to be clear about my terminology.

> Careful, the wording is a bit lacking here imho: you join two different ideas and make it seem like the second one validates the first, while it's not the case.

Think about it a little bit and you'll see why they are actually very related. His statement about Java is meant to imply that proper higher order functions and OOP are in opposition in some way (at least I assume that's his point, it's still not clear to me because that is obviously incorrect). I am saying that proper higher order functions alone are enough for a very pure form of OOP, so there is clearly no opposition.

> That shows you probably don't follow much the field. Anyway, this article doesn't fit your standard (see first point), ergo this man's whole work doesn't, ergo the whole field doesn't? That twice too much stretching from someone who isn't very careful in his own argumentation.

I'm going to ignore the digs at me and elaborate on what I meant. The author wrote an article about programming languages that was full of elementary errors, both in logic and in technical details. If he can't make a simple argument correctly, how am I supposed to have faith that his research isn't similarly full of errors? It's easy to disguise sloppy thinking in technical writing.


> I disagree. Low quality articles like this are part of the reason why many undergrads are full of strongly held opinions about things they don't know much about.

I doesn't happen with undergrads only (but that doesn't make the whole profession guilty of it all the time).

> They think you can dismiss a huge paradigm with a glib one-liner: "functions are not objects".

I don't think the article dismisses any paradigm whatsoever. It dismisses the entrenchment in one paradigm at the expense of any other. That's the main point. The explanation given is perhaps a little bit careless, I can concede it.

> Think about it a little bit and you'll see why they are actually very related.

Relation does not imply causation, which I perceived in your wording, but I might have been mistaken. Was I?

> His statement about Java is meant to imply that proper higher order functions and OOP are in opposition in some way

I don't think he meant that, but rather that the way Java never included functions as "primitive types" was a mistake because of that need of OO purity. The Runnable interface (or any interface containing a single method) is an example of that problem (there are other reasons which may support the existence of that interface though).

> I am saying that proper higher order functions alone are enough for a very pure form of OOP, so there is clearly no opposition.

That's debatable. I totally agree with you on the idea that FP let you implement OO. Likewise, OO let you implement closures easily (there's a duality there obviously, as in algebra vs coalgebra). However, I think that OOP (or FP) as a full fledged paradigm included in any language - and not just a library built on top of closures (or closures on top of objects) - makes a lot of sense: it let the language incorporate syntactic sugar for all the specific constructs related to OO, and it also enable the compiler to perform better code analysis (though I suspect that it should be possible with a library based implementation, but that would imply either the compiler to know about it, or it having a very flexible - plugin like - mechanism to include enhancements as libraries as well). I don't think that the latest evolution in Java to include FP is a coincidence. Many languages have already been mixing these paradigms with good success.

> I'm going to ignore the digs at me [...]

Good. Let's get that out of the way. I'm glad we're having a saner discussion.

> If he can't make a simple argument correctly, how am I supposed to have faith that his research isn't similarly full of errors?

I understand your point better now. Initially, I was very afraid you'd be having the very same issue.


jsgrep looks very neat as well. I like the patch syntax. However, I don't think this example is quite equivalent. In the grasp example, it replaces every binary operator, not just that specific call. Could you show how to represent the same thing in jsgrep?


Not possible in jsgrep without enumerating all of the binary options (I can't think of a good reason for needing to do that though). It's more suited for doing API changes:

  -foo(A, B, true)
  +fooWithOption(A, B)


You are assuming more about the Planck units than is currently known. Directly from wikipedia:

"There is currently no directly proven physical significance of the Planck length; it is, however, a topic of research."


This article is very low quality. The account of Zeno's paradox is wrong on pretty much every count, which makes it hard to trust anything else the article claims.


The Ask A Mathematician page linked is quite a bit better.

http://www.askamathematician.com/2012/03/q-is-the-quantum-ze...


You're right, that's a much better article.


Tabloid level at best, indeed. I dropped after the second paragraph. Its obvious the guy understands shit about Science and about Greek science in particular. Take one theory out f context and loosely tie it with quantum physics and you have enough paper for your next toilet trip.


Seems okay to me - what precisely do you think they got wrong?


"He did this by setting up a series of paradoxes that showed, among other things, that half a given span of time is equal to twice that given span of time, that time and space are neither continuous nor discrete, and that nothing ever moves. Ever."

None of those things are true. One minute isn't equal to four minutes, Zeno didn't prove anything about time and space being neither continuous nor discrete, and things clearly do move.


The only correction I'd make to their sentence is change "showed" to "appeared to show". And his paradoxes did appear to show all those things. Of course empirically you (and the ancient Greeks) could see that they must be wrong - the challenge was to find the logical flaw in his arguments. Finding that took a very long time.


Perhaps I'm being overly pedantic, but in my mind "showed" and "appeared to show" mean very different things.


A low quality article on the Gawker network? Surely not!


That's not true though. Zeno's paradoxes are all pretty easy to resolve using first-year calculus. They certainly don't prove that time or space is discontinuous.


It's actually the other way around - if space AND time is discrete Zeno Paradoxes are paradoxes, because you cannot have finite sum of infinite number of elements, if the elements can't get arbitrarily small.

So if anything Zeno proved (by contradiction) that space and time behave like they are continuous, at least for events in human scale (because arrow does move so our assumptions were wrong).

Now we see that this breaks at quantum level.


Calculus doesn't resolve the paradox. It's just a tool, and it doesn't involve any literal division of anything into infinities. You're making a map vs. territory mistake.

[edit] i can't reply to monjaro's comment, so I'll put my reply here: does calculus prove that there are actually an infinite number of positions between any two positions?


The map vs. territory issue at hand depends on whether you take Zeno's paradoxes to be statements about physics or statements about logic. If it's the latter, calculus resolves those with ease. If it's the former, well, then you have to look at the physics. And the physics are described in our maps by math which includes differential equations of complex numbers, and hence the paradoxes are again resolved as best as we're capable unless some new representation of physics comes along that makes the paradoxes manifest.


As a response to your edit, no it doesn't. So what? If you can infinitely divide space in the manner of Zeno's paradox, then the sum is well defined and easy to do. If you can't, the paradox doesn't apply to reality. What's the problem?


If you don't belive you can apply calculus to solve the problem what makes you believe you can use division or addition to define the problem? These are tools too.


Calculus is a tool for reasoning about exactly this kind of thing. If you think there is an actual paradox present, please explain what it is.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: