HN user

jesusabdullah

210 karma

http://github.com/jesusabdullah

Posts6
Comments44
View on HN

Equal representation for O-Town!! What's the history of T-graph? Peralta? San Parblo? I bet MLK (nee Grove) has some interesting history.

(I assume T-graph followed a telegraph route between Oakland and Berkeley. I more or less know where West MacArf got its name.)

Julia webstack 13 years ago

There are some tools for using npm for large scale deployments. Packages are scoped locally to an app, you can bundle them if you want, and there's a "shrinkwrap" command for making sure the installed deps are exactly the same every time. Personally, I would either go with, "peg every version to an exact semver" or "bundle ALL the deps".

Julia webstack 13 years ago

I think getting a usable web stack on julia will take it a long way in terms of making it useful for problems at-scale.

My major nitpick with julia so far, if I can be real, is that its package tooling isn't enough like npm. <_< While this gives away my obvious biases, I do think that spending time on making a really good package ecosystem is important, and is something not enough people take seriously.

> the imprecise Imperial Unit

englilsh units aren't any less precise than SI/metric ones. They're just more awkward and less used worldwide. The cases which I find particularly irritating in US units are lb mass vs. lb force, and HP/BTU/foot-pounds/calories/Calories (and kWh) when all you need is a J.

Just passing through. Anyways: Nodejitsu made package.json.jit.su well over a year ago (August-ish 2011 iirc) and I'm honestly a bit surprised to see it popping up here now of all times.

Generator's not bad. Nodejitsu never made anything like that on the web, though `npm init` and jitsu's built-in prompts fulfill a similar need on the cli.

numpy and scipy are poor examples because they're not core python modules. You still install them from separate people.

As a noder, I'm like half-way with you.

In javascript, as with other languages, you can totally use inheritance (prototypal in js) when making things. But, it's usually better to expose an object than a constructor (imo) when it comes to exports. Being expected to do something like:

    var Foo = require('foobar').Foo;

    var Bar = function (opts) {
      Foo.call(this, opts);
      this.baz = "biff";
    }

    require('util').inherits(Bar, Foo);
This sort of behavior is all well-and-good, but it should be contained because it's boilerplate-y. In javascript, at least, it's not a very good pattern, and I suspect this carries over to other environments (to an extent).

I also think that standard libraries have to strike a balance between "batteries included" and "not cluttered with a bunch of crap that was relevant in 1995", and that different standard libraries attempt this in different ways. I think python neglects the latter to supply the former, while node swings the other way and compensates by having a really nice package manager. Time will tell which is a better approach, but I'm betting on Node's model.

> The "radical reusability" section is just the author realizing that modules are awesome. Again, welcome to the party.

Modules are awesome! You sound like a python guy, meaning your module system is actually pretty good when it comes to qualified imports. Compare python imports to ruby's require, or browser-side script tags sometime, and I think you'll find that there's an awareness problem when it comes to qualified imports. :( That said, the package management side is kinda shitty for python (at least when compared to npm).

> Best HN username goes to you.

<3

> It just kind of hurts me a little bit to see a great product come short in design.

I do have to wonder what the design would look like were a "pro designer" to get their hands on it. I think SubStizzy did a pretty admirable job, but man design is hard. I know I'm pretty terrible at it anyway.

[dead] 15 years ago

I'm willing to admit I'm wrong, but I scoured those comments and I'm really not seeing it. If it's there, please, quote it, and I'll own it.

[dead] 15 years ago

Disclaimer: I work at Nodejitsu, but my words are my own.

> It's such a drag that HN comments now become news stories.

Oh, c'mon. This isn't like some quiet "just my buddies" forum. HN, whether you like it or not, is a place where "movers and shakers" communicate what's happening to them or what they think, so of course it's going to become news. It's like complaining that people actually pay attention to your tweets.

> I didn't even realize Heroku was the company they were claiming I'd banned them to help.

People may have insinuated that YC/HN was/is engaging in shill-esque activities (it's an easy thing to do), but I don't think anybody representing Nodejitsu made this claim, nor do I think they would if pressed.

There are debugging, profiling and coverage tools though they're maybe not as well-developed as you'd like.

If you have any node questions, you should drop by the #node.js channel on freenode! It's a good place to get help and chat about asynchronous IO with (generally) friendly people.

[dead] 15 years ago

It's only sock-puppeting if you use multiple accounts to upvote your own shit. Posting under a throwaway and sock-puppeting are not the same thing.

"The only way beginners are going to learn is experimenting with the command line, not having their hands held with a a tiny subset of what's available."

    function public_ip() {
      curl -sL myip.dk | egrep '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}'
    }
Do you seriously think that people should have to type that text mess for the sake of "learning?" In fact, except for the sed and base64 commands, I'd say none of these are anywhere near trivial.

Truth be told, if anyone actually gets butthurt because xp duplicates functionality found elsewhere, then they're just being silly. People duplicate functionality all the time. In a lot of cases, we just call it "competition."

So, here's a question: I've noticed that the nodejitsu guys usually use Cloudhead's node-static for static file serving. On the other hand, I usually use Connect's staticProvider. Why do they use node-static over staticProvider? Also, can node-static be used as Connect middleware? Given that fileServer.serve seems to take "req" and "resp" arguments it would seem so, but I also see it being used with the stock http interface in all the examples.

SML On Stilts 16 years ago

You have no idea how much I want Cobol on Cogs to be real.

Another one I'd like to see is Node on a Dirt Bike.

G-Wan web server 16 years ago

Interesting idea, but I think it ignores the fact that languages aren't equal. You may be able to save on hardware with gwan, but there's also the fact that writing your webapp in C could take a lot more time and effort than, say, php, ruby, python, javascript, etc. Even if the language itself isn't necessarily better, the available libraries are likely more complete in a language more often used for the web.

(Yes, I noticed that the authors seem to think C is the best language, but they certainly haven't proved it. YMMV, I guess.)

I don't write my equations by-hand the same way I do on the computer. For example:

    ( (1 + 2)/(3 + 4) )**2
vs.
       ,                .  2
      /      1 + 2       \
     |    -------------   |
      \       3 + 4      /
The difference may seem subtle, but it's shockingly important. A better example may be
      ,-, b
      \
       \    x + 1  dx
        \
     '--' a
instead of something like
    trapz(a, b, @(x) x+1);
The truly human way of writing down math requires much more flexibility than a typical text editor can really afford. This isn't to say that some sort of pseudo-visual programming is Teh Futar though.

(I do think a LaTeX --> solved expression tool would be awexome though.)

prefix, not postfix:

    (* (+ 1 2) (/ (+ 3 6) (+ 1 2)))
I was also skeptical regarding the readability of prefix notation vs. postfix for large problems. However, when I tried it, I actually found it easier to handle. For example, here's a very obnoxious heat transfer correlation that I typed in common lisp:
    ( * 4.364
        (expt (1+ (expt (/ Gz 29.6) 2)) 1/6)
        (expt
            (1+ (expt (/ (/ Gz 19.04)
                         (* (expt (1+ (expt (/ *Pr* 0.0207) 2/3)) 1/2)
                            (expt (1+ (expt (/ Gz 29.6) 2)) 1/3)))
                3/2)) 1/3 ))
Versus, in infix it's more like:
    4.364 * (1. + (Gz/29.6)**2)**(1/6) 
          * (1 + ( Gz/19.4/(
                 (1 + (Pr/0.0207)**(2/3) )**(1/2)
               * (1 + (Gz/29.6)**2 )**(1/3)
            ))**(2/3) )**(1/3)
Now, I admit that my sense of whitespace is pretty inconsistent, but still: Here is a real case of a very annoyingly nested expression in both infix and prefix notation. While I think it would take quite a while for anyone to sort out what the Hell is going on for either of these regardless of experience (versus, say, rendered LaTeX), I would put forth the suggestion that the common lisp is actually easier to understand.