HN user

no-espam

41 karma
Posts0
Comments34
View on HN
No posts found.

He's not too smart is he? Married in CA right when the money starts rolling in. HALF! I hope he has a good prenup.

#3 I'm not undestanding. Are you doing async? I don't know the socket API but it should be something like this:

it("should wait for socket", function(done) { socket.write("asdfadf", function(err, response) { assert.ok(response.indexOf('token') >= ); done() ); });

#4 If you need a new event loop then write the tests in another module, then simply run your test utility. `mocha` will run all tests in test/*test.js.

RSpec is DOG SLOW! I can run 100s of test in a couple of seconds. Can RSpec even startup in that time?

Goodbye, CouchDB 14 years ago

Being one of those idiots who went all in with MongoDB with our startup, I can relate. NoSQL should really be called NoDB. There will come a point where you ask, "Dude, where is my database?"

Riak looks interesting but its overkill. They recommend at least three nodes. We went back to PostgreSQL.

Sorry, I have to disagree about chiclet keyboards and I consider myself a keyboard Connoisseur and a touch typist. I own a couple of vintage IBM Model M keyboards, a Northgate, a Filco ... I've grown fond of the Apple Keyboards and my better halves and those who work around me thank me for it. Vim + Apple keyboard is coding heaven.

I do agree the ThinkPad keyboards were the best in its class.

And I have used it in a previous project. I'm not questioning the quality of the driver.

My point is the inconsistency of the driver API vs the syntax used in the `mongo` utility. I don't know how many times I've looked at the MongoDB docs and then have to figure how to do the same thing with this driver.

I use my own migration utility using `psql < 01-up.sql`. Too obvious really.

Yes Rails does all that for you automagically but you can use a lightweight ORM like FastLegS. A model is as simple as this:

UserDao = FastLegs.Base.extend({ tableName: "users", primaryKey: "id" });

To expose it:

app.get("/user/:id", function(req, res) { UserDao.find(req.params.id, function(err, result) { res.json(result.rows[0]); }); });

Let's not forget about unit tests. I can run well over 100 test cases in just over ONE second! Rails is PAINFULLY slow at this.

I've done enough Rails to know how productive it is, and there are many things I miss. I'll argue though I'm more productive with node.js since we do most GUI with Backbone on the client. I can share code between client and server, for example validations.

Setting unicode, changing backspace, setting xterm-256 as the TERM variable, etc ... PuTTy configuration is unintuitive when you first try to configure it. There's a well known page dedicated to configuring PuTTy properly on Windows.

Windows! I spend most of my time coding in PuTTy + Vim when I'm on windows. In my limited testing this works as I expect with xterm-256, tmux, and Vim on my Ubuntu 12.04 Server without having to configure anything. PuTTy is a pain to configure on a new box.

Google Drive 14 years ago

But why? I'm not loyal to Dropbox. Competition is good for the rest of us. I get 25GB free from SkyDrive. I hope the others follow suit.

Google Drive 14 years ago

Confusing. It says upgrade to 25GB for less than $2.50/month then it says 20GB for $5.00/year. You would think with Google's budget they would have some person read the front page and the pricing page.

Interesting, I just did a grid layout in Twitter's Bootstrap framework and thumbnails look exactly like that. Looks like Bootstrap thumbnails is a Reform Revolution clone :) Oh wait, this reminds me of Polaroids ...

The new icon is worse. It doen't look like a key. I only figured that out after reading the article. It's not square made worse by the perspective. The other alternatives look much better.

I still dont get who would use grove? IRC users aren't exactly looking for a client replacement. Existing IRC clients just work, like Craiglist. Colloquy on the Mac, etc.

I was bummed `await` and `defer` was not merged in. However, after thinking about it, the same result can be had using a good async library. The code is self-documenting if you choose good property names.

.

follow = (from, to, cb) ->

  # Invokes four async operations in a series, which requires 4 `await`, `defer` 
  # using iced. Note how error handling is handled 
  # in one place rather than each step.
  # That's a big drawback for me with await/defer.

  async.series
    user: (cb) -> User.find name:from, cb

    addFollowing: (cb, results) ->
      results.user.following.push to
      User.save results.user, cb

    followee: (cb) ->
      User.find name:to, cb

    addFollower: (cb, results) ->
      results.followee.followers.push from
      User.update results.followee, cb
    
  , (err, results)
    cb err, results

Vim is great but learning requires a good investment of time. If somebody tells you, you can be as productive as with your current editor in a few weeks, don't believe it. If all you need is notepad or gEdit, Vim is not worth the debt. Spend your time learning another language or create an open source project.

I live in a terminal so Vim is my weapon of choice. I tried and bought a license for Sublime 2, which is awesome n vintage mode, but Sublime is not Vim.

This is very surprising. Node is not mature yet and the guy with "the vision" is stepping down. Makes you wonder if node is heading in a direction different than Ryan envisioned and it's no longer a labor of love.