HNHacker News
TopNewBestAskShowJobs

weareconvo

304 karma · joined December 21, 2012

submissionscomments
weareconvo··on Introducing "Functional JavaScript"
A good point, well-made. I would edit my post, but I don't have much to add to your reply.
weareconvo··on Introducing "Functional JavaScript"
If you want to be precise about it, "the goal" is specific to each human being. I would hope it's something like "Make the world a better place" though.
weareconvo··on Introducing "Functional JavaScript"
In all of this, let us never forget: "Functional Programming" is a great lens through which to look at a large class of problems... but it is never the goal. Code re-use is the goal. FP and OOP are just means to that end.
weareconvo··on Clojure: All grown up
I know that, in the Java world, you guys probably don't really understand this fact, but 3x slower is not only bad, it's so bad as to be completely unworkable in the real world.

Source: I was a Google engineer for 5 years.

weareconvo··on Maxis Insider: SimCity Servers Not Necessary
You guys are all raising good points, but, at a higher level, did anyone really believe EA to begin with?
weareconvo··on Clojure: All grown up
> Would I trade a 1000% performance hit on write ops in exchange for the ability to scale out over 10000% as many cores simply? Every day of the week.

And this is, in my opinion, the best possible argument in favor of using Clojure. Off the top of my head, I remember Rich Hickey saying something about how he developed Clojure due to his irritation at working on a huge project that wrote code to handle thousands upon thousands of interconnected nodes. That makes perfect sense.

However... writing a web app with Clojure, at least to me, doesn't.

weareconvo··on Clojure: All grown up
> That's true to some degree, but for well-written code...

This is sounding painfully close to No True Scotsman argument. Also, for the number of times I've heard Clojure programmers say this, you'd think I would have at least ONCE been shown some of the programmer's actual code, in an effort to provide a concrete example of how elegant Clojure is.

weareconvo··on Clojure: All grown up
Honestly, one of the things that bothers me the most is how Clojure enthusiasts get hand-wavey when people talk about performance. They will often "prove" its performance characteristics instead of providing solid real-world examples, and will often dismiss other peoples' benchmarks as having something to do with the quality of the Clojure code on which the benchmark is run.
weareconvo··on Clojure: All grown up
> As someone who has breathed Clojure for the past three years, I very rarely come across code that is truly difficult to understand.

I'm not really arguing that Clojure code is "truly" difficult to understand, if that is taken to mean reasoning about its performance and effects. Rather, I'm talking about the fact that idiomatic Clojure code encourages writing functions upon functions upon functions, which continually builds up layers of abstraction that inherently make code more and more difficult to read. Example:

console.log("Hiya.");

console.log("How's it ");

console.log("going?");

vs.

printFirstString();

printSecondString();

printThirdString();

function printFirstString() { ...etc }

weareconvo··on Clojure: All grown up
> I find that the more familiar I become with Clojure, the better all other Clojure programmers seem to become.

That could be. However, I believe it's more to do with the fact that idiomatic Clojure encourages continual definition of nested layers of abstraction. Which makes the code beautiful from a certain viewpoint. However, it's also very similar to essentially writing a new language and adding features to it. If you buy this comparison, then reading your own Clojure code is like reading code written in a language you wrote, which is tailored to your own ideas about aesthetics and interfaces.

Which is great. However, that would then mean that in order to read anyone else's Clojure code, you would have to learn a new programming language every single time. I would buy that this gets easier the more you do it, because my second programming language was definitely easier to learn than my first.

weareconvo··on Clojure: All grown up
It seems like that mentality would make building a community of any kind difficult, as programming communities (companies, shared libraries, etc) are all about being able to read and improve one another's code.
weareconvo··on SXSW and Reddit’s Introspection Problem
> you've tried to belittle my point by emphasizing it.

No, no I didn't. I was just making a joke.

weareconvo··on Clojure: All grown up
> Clojure has some very clever immutable data structures based on Phil Bagwell's work [1] that help mitigate the slow down.

This is true, and I've read some of the papers describing said structures and was blown away by the cleverness. However (and I don't have a source here, so please forgive me if I'm just totally wrong) I have watched many of Rich Hickey's hour+ long talks, and in one of them, I distinctly remember him saying that his vectors were "Within an order of magnitude of mutable vectors performance-wise, which is good enough for me".

I was... put off by that.

EDIT: Now that I think about it, it might have been Maps that he was talking about. I are not good at remember.

weareconvo··on Clojure: All grown up
> I'm sure a lot of people would spontaneously barf on their screen if they saw my code though.

This is exactly the problem I had. My canonical "getting to know your new language" project is always writing a simple chess engine. After writing a few of the high-level constructs, my next step was to try to browse some other .clj libraries, because I was pretty certain that a lot of the tedious tasks involved in writing a chess engine had already been solved.

After reading their code, I very quickly gave up.

weareconvo··on SXSW and Reddit’s Introspection Problem
> it's not censorship to hold the other people in your forum or message board to certain standards of communication.

It really depends on the method used. Simply using downvotes to indicate disapproval, while not a route I would personally go, is, in my opinion, a productive way to discourage negative content.

weareconvo··on SXSW and Reddit’s Introspection Problem
I took "social janitorial work" to mean cleaning up other peoples' comments, which really isn't possible without altering or deleting them.

If it was used to mean "indicating disapproval", then I have absolutely no problem with it.

weareconvo··on SXSW and Reddit’s Introspection Problem
I'm not sure trying to assign "value" to Tweets is terribly productive, either.
weareconvo··on Clojure: All grown up
I tried switching to Clojure, and while I love the purity, simplicity, and logic of it, two things always bothered me:

1) Immutable data structures are always going to be slower than their mutable cousins.

2) "Clojure code is beautiful" should be changed to "Your OWN Clojure code is beautiful". When I finished writing a compact piece of logic or data transformation, I was often struck with the beauty of it. When I tried to read someone ELSE's Clojure code, however, I couldn't even begin to make sense of it.

I am ever open to being proved wrong, however. Any Clojure programmers reading this, please reply with some code that is readable, elegant, and performant, to provide a counterpoint to my pessimism.

weareconvo··on SXSW and Reddit’s Introspection Problem
> Social janitorial work

This is the most hilarious euphemism for "censorship" I've ever heard.

weareconvo··on SXSW and Reddit’s Introspection Problem
Now you are the one who is being disengenuous.

The context of "dropped out" is universally "The person went from participating to not participating". Alexis was never participating.

weareconvo··on The New Facebook News Feed: A UX Breakdown
Your picture is awkwardly large on my 1920 x 1080 screen.
weareconvo··on Why Haskell Is Worth Learning
> I'm pretty sure every time I have learned a new programming language I came away a better programmer.

You might want to think a little bit about the fact that you are predisposed to believing that your efforts are not wasted.

If you spend the time to learn a new programming language, you're then predisposed to believing that it wasn't a waste of time, and are thus susceptible to confirmation bias, which causes you to ignore all evidence to the contrary.

weareconvo··on The Rise Of The Artist
Hopefully a Chuck E Cheese that's near a pub.
weareconvo··on The Rise Of The Artist
So you wanna hang out or something?
weareconvo··on The Rise Of The Artist
I think it's odd that from my comment, which was solely dedicated to correcting your misinterpretation of his comment rather than expressing my own endorsement of it, you have extrapolated that we "disagree".
weareconvo··on Why We Switched From Stripe To Balanced
I'm not sure if you're being disingenuous, but that's what the title is intended to imply.
weareconvo··on The Rise Of The Artist
Don't be pedantic. It's clear from the context that he meant in terms of "right-brained = creative, left-brained = analytical".
weareconvo··on How Search Works
Grammatically, that makes no sense :)
weareconvo··on Journo and Literate CoffeeScript
But that sounds haaaaaaard.
weareconvo··on Journo and Literate CoffeeScript
I've always been excited by the idea of literate programming, and after having flirted with most of the other Javascript meta-languages, now use Coffeescript as my main language for both server-side (node.js) and client-side code. Is there currently a good syntax highlighting mode that properly displays .litcoffee files? I currently use Emacs with the coffee-mode major mode, but I don't think it's been updated yet.
← PreviousPage 3 of 5Next →