HNHacker News
TopNewBestAskShowJobs

IsaacSchlueter

3,218 karma · joined May 22, 2008

I'm isaacs from Node and npm and JavaScript and stuff.

I don't look at this site much.

http://blog.izs.me/

https://bsky.app/profile/isaacs.bsky.social

https://www.reddit.com/user/isaacs_/

submissionscomments
IsaacSchlueter··on Lamer News
It seems like the software isn't very good at determining the difference between a "voting ring", and a small-ish subcommunity that's interested in a specific technology niche.

For myself, as a node developer, articles about rails, python, erlang, and iOS apps aren't so interesting. I don't upvote them. Articles about node, politics, system programming, http, and JavaScript are interesting, so I do. As it turns out, a bunch of my friends are the people who write node-related articles, and often post them on Hacker News, and then tell me about it.

I'd be surprised if I wasn't one of these alleged puppets. Of course I'm more likely to vote up something that someone mentions to me in IM, because I have to see it before clicking the button.

I can see how this looks like sock puppets. You've got a few dozen users that always upvote the same articles from a few dozen other users, and are much less likely to upvote other articles. I'm not sure the best way to know that we're all humans. If there were fewer people using/excited about/writing about ruby on rails, then the behavior would appear very similar, I suspect.

The term "gaming" is really vague. It's not at all clear how "this is something interesting that I'd like to share and discuss" is much different from "this is something that I'd like to get people to look at." It seems to me like the ultimate purpose of a site like this is to be gamed in a particular way by a particular population.

IsaacSchlueter··on New HTTP Codes
"Apart from the semantics", the difference is 16.
IsaacSchlueter··on Ask HN: What Node.js fanboys?
He's not a troll. This is simply a clash of cultures.

In the node community, it is considered impolite to discuss performance without reproducible benchmarks and specific numbers. Mr. Dziuba, a newcomer to our shores, did exactly this. While many of us were offended, Glen decided to give him the benefit of the doubt, and provide the example program that Ted had neglected to share.

The results are facts, not opinions. I'm not sure how you could think they're trollish.

IsaacSchlueter··on Ask HN: What Node.js fanboys?
Which bloggers are saying that you should use node for applications that aren't IO-bound?

I ask because I would like to correct them explicitly.

IsaacSchlueter··on Ask HN: What Node.js fanboys?
I gave a talk where I pointed out that node didn't invent much of anything, but rather assembled a lot of already-proven technologies: http://video.nextconf.eu/video/1914374/nodejs-digs-dirt-abou...

Unnecessary invention is the mother of necessity.

IsaacSchlueter··on Ask HN: What Node.js fanboys?
Ok, that post is pretty hilariously pro-node. But still, it never mentions using node for anything other than a web server. I'm not seeing the "One True Tool" claim that node fanboys allegedly make.
IsaacSchlueter··on Node.js has jumped the shark
I'm just saying we should be supportive of Ted's recovery, rather than enable him, that's all.
IsaacSchlueter··on Node.js has jumped the shark
Your comment is indicative of the anti-mental-health sentiment in our society: that diagnosing or treating mental health issues is an admission of failure, rather than a sign of courage and responsibility.

You should check your priors, and maybe help create an atmosphere where people with these problems don't feel like their only options are denial or self-destruction.

IsaacSchlueter··on Node.js has jumped the shark
Hm...

Bunch of people with limited social skills or sanity, in a virtual desert, having flame-wars with strawmen?

Sounds like burning man.

IsaacSchlueter··on Node.js has jumped the shark
> I can understand how, as a fanboy of something that was criticized

Can you define "fanboy" for me, please? I don't know what it means.

> Actually, you opened this comment by personally attacking Ted

I wasn't attacking Ted. Actually, my heart really does go out to him. I mean, he's a human being, right? Could you imagine living with such a crippling psychological disorder? Just think of it. The pain, the emptiness. The worst part is that he's almost certainly too proud to ask for help. It's tragic.

> I think the most likely reason that you would contradict in such an obvious way something you just wrote is that you don't have a great deal of working memory.

Sorry, I lost you like a third of the way through that sentence.

IsaacSchlueter··on Node.js has jumped the shark
Author seems to have missed that node-fib is a joke.

Ted Dziuba is clearly a person suffering from profound intellectual insecurity, and a lack of technical acumen. We should offer him our sympathy rather than enable his self-destructive behavior by praising his "previous trolling" activities.

This article, like the poor sad unfortunate Mr. Dziuba himself, seems to be combatting a strawman: the idea that Node.js users and developers are advocating that it be used for everything. It's a fun platform to use, and pretty good for a lot of tasks, but any grownups close to the project (and there are a few of us) are quite vocal about the fact that it is targeted at a very specific use case: IO-bound network programs.

People get excited about the programs they use, and want to see how well it can do things. When your hammer is fun to swing, you want to see what happens with you hit stuff with it. Ted Dziuba has previously advocated using xargs instead of Hadoop for parallel map-reduce, so I would have thought he might understand that sometimes you use the tool that you understand (if it works) rather than something else, even if that other thing might be objectively better for that particular task.

I don't know what node users articles like this or Ted's are talking about. I've been using node almost as long as Ryan, and totally love it. I don't know how we could be more clear about what node is and isn't good for.

At NodeConf, in the Committer Panel, someone asked, "What isn't node good for?" We all rattled off a variety of things. The node community is actually pretty sane. We just laugh at stuff like this, since it's so ridiculous, and make jokes like node-fib.

IsaacSchlueter··on An Easy Way to Build Scalable Network Programs
Agreed. If you have a network program that isn't IO bound, then in what meaningful way is it a "network program"?
IsaacSchlueter··on A response to Node.js is cancer - The Diagnosis
When you wrestle with a pig, you both get dirty, but the pig likes it.

Dziuba is the very paradigm of an ill-informed lazy troll. He has made his reputation giving other lazy people reasons to not learn new things.

IsaacSchlueter··on A response to Node.js is cancer - The Diagnosis
> AFAIK nothing's stopping anyone from writing a CGI module for Node.

Indeed, nothing has stopped several people from doing it:

    $ npm search cgi
    NAME            DESCRIPTION                                                   AUTHOR             KE
    cgi             A stack/connect layer to invoke and serve CGI executables.    =TooTallNate
    fastcgi-stream  Fast FastCGI Stream wrapper for reading/writing FCGI records. =samcday           fc
    koku            Node.js bindings for the Mac finance app Koku                 =cgiffard
    nodeCgi         A fastcgi-like server designed to accept proxied requests from a web server and exe
    scgi-server     SCGI (Simple Common Gateway Interface) server                 =yorick            SC
IsaacSchlueter··on Poll: Non-Founders, Why Are You Not Starting a Start-Up?
I get paid to work on my open source project.
IsaacSchlueter··on JavaScript is Not Web Assembly
I'd like to respond to a few of the comments here.

Jeremy imagines correctly. This blog post was essentially a continuation of the subject on the node mailing list, and particularly the assumption that if you feel you shouldn't compile to JS, then you should just write in Assembly, or that JavaScript is only worth using if you want to be "closer to the metal". I believe that these points of view are wrong.

Yes, of course I'm aware that C++ was originally cross-compiled to C. That's why I chose it for the analogy, like Lassie on display in the Louvre. People tend to take comparison that as either a compliment to CoffeeScript, or an insult, depending on their feelings about C++ vs C. I consider both interpretations to be correct.

I have no problem with people compiling to JavaScript, though I personally prefer dealing with JavaScript directly. I like stack traces with line numbers that correspond to the line numbers in my editor, and it's not such a bad language. One of the biggest things I've found lacking with both Node and Browser JS is post-hoc debugging. Syntax sugar doesn't help with that. I'd be much more excited about efforts to produce state-capturing crash dumps that would let a developer revisit an error condition and investigate it after the fact. Other language have this, and it makes me very envious.

"Expressiveness" is a measure of how many tokens are required to write programs. Read some of pg's essays about arc and blub. A less than 10x increase would still be relevant, but.. well... meh. It's not a major leap in power that Assembly to C is, or C to JavaScript is.

Increases in expressiveness often come at the cost of also increasing the difficulty of reasoning about programs' precise behavior, but increase the ability to reason about their intent. Reading assembly isn't exactly fun (in my opinion), but it's also quite clear exactly what the computer is doing -- so much so that it can be tricky to figure out exactly what the human was trying to accomplish.

C is much more humane, and still pretty clear what's going on. It's an obvious sweet spot for many tasks. JavaScript, on the other hand, runs on this huge black box, but it's much more expressive than C (and thus, much easier to write), and it runs in web browsers (which makes it inescapable), doesn't require a compilation step, and is quite fast for a lot of tasks. I've yet to see any similar leap from a to-JS language. They're just other high level languages that all have pretty much the same basic set of features. A lot of them are a bit nicer than JS, but they lack JavaScript's relevance factor.

I must not be a very good writer, because people often read things I write, and seem to come away with the impression that I have these strong prescriptive views about syntax and coding style. I don't. The reason I'm so unenthused is because most high level languages don't really seem to differ all that much. Coding style doesn't solve very many problems, and the problems it does solve aren't particularly hard.

IsaacSchlueter··on JavaScript is Not Web Assembly

    A compiler that did an 'identity compilation' on a strict 
    subset of real JavaScript, and rejected any problematic 
    or confusing constructs would have value.
It would. But it would be a linter, not a compiler.
IsaacSchlueter··on NodeUp: A Node.js Show
Recorded Live in Oak Land, California, JavaScript capital of the world.
IsaacSchlueter··on [dead]
Well, because we're apparently contribution-hostile. https://twitter.com/ericflo/status/107963620159266816

(I'm isaacs, node core dev and author of the url parsing module, and closer of the bug in the OP.)

IsaacSchlueter··on [dead]
I see that you also hate freedom.

We should hang out.

IsaacSchlueter··on [dead]
This is hilarious.

I did this because I hate freedom.

IsaacSchlueter··on San Francisco Subway Muzzles Cell Service During Protest
It was kind of lame that I couldn't read LessWrong on my commute home. I really enjoy that part of my day.

Otherwise, yeah. The comparisons to Egypt are a little over the top. It's awesome that cell phones work in the Bart tunnels at all.

IsaacSchlueter··on How we used Node.js to build real-time award flight search
No. Node is a lower-level API than Twisted.

The "fibers" utility is quite popular. There are also several different promise libraries, and a few code-translation approaches that simulate coroutines.

They all build on top of the very simple EventEmitter and continuation-passing-style ("callback") style that the node-core API uses.

As a JavaScript luddite, I prefer passing functions around and listening to events :)

IsaacSchlueter··on How we used Node.js to build real-time award flight search

    > Node gets a lot of attention despite
    > not doing much of anything new
Most people close to the project (Ryan, me, Mikeal, Felix, etc.) are usually pretty quick to point out that node does virtually nothing that hasn't been done before. Async IO is not new. Event loops aren't new. IOCP isn't new. JavaScript isn't new.

If anything, node's success so far has been a result of combining established technologies in ways that make it easy for more people to write reasonably fast programs that use the internet in fun and interesting ways.

Novelty isn't really what it's all about. If anything, I look at novelty as a hazard. Most ideas are bad, and it's hard to tell when they're new. If you can take some existing good ideas, and make them more fun, that tends to be a more successful strategy (or at least a more enjoyable one.)

IsaacSchlueter··on How we used Node.js to build real-time award flight search
Great point! I bet that now thanks to your razor wit, dcaylor will think twice before saying something nice about node without also saying something nice about every other programming platform.
IsaacSchlueter··on How we used Node.js to build real-time award flight search
There are deferreds in node as well.
IsaacSchlueter··on Anonymous hijacks Syria's government pages
Every time someone says "By definition" as if it means something, a little vomit rises to the back of my throat.
IsaacSchlueter··on Arguments Object: Doctor Jekyll and Mister Hyde in Node.js

    > theoretically compiler could have inlined slice
    > and looked one level deeper to see that.
I'd suspect that optimizing Array.prototype.slice.call(arguments, n, m) at the v8 level would yield pretty significant gains, even if no other arguments-object abuse was supported intelligently.

For almost any complicated operation on the arguments, your first step is to convert it (or part of it) to a true Array. Most libraries do that using Array.prototype.slice, in my experience.

IsaacSchlueter··on Evolving the Node.js Brand
> It looks like it is claiming to support lots of internode cluster-type communication

There are a few projects that specifically take advantage of node's ability to proxy and distribute work across multiple processes.

Check out these projects:

http://learnboost.github.com/cluster/

https://github.com/nodejitsu/node-http-proxy

https://github.com/substack/dnode

Or my very early prototype botnet thingie: https://github.com/isaacs/sodn

IsaacSchlueter··on URL shorteners are dead, long live URL shorteners
It'd be nice of the awe.sm blocking regex didn't block blog.awe.sm, since that's not a url shortener.
← PreviousPage 6 of 22Next →