HNHacker News
TopNewBestAskShowJobs

j2d2j2d2

630 karma · joined September 9, 2010

Python, erlang and guitars!

Twitter: @j2labs

Code blog: j2labs.tumblr.com

Code: https://github.com/j2labs

submissionscomments
j2d2j2d2··on Brubeck: A new Python web framework running on mongrel2
That's a fair point, but there's a lot to love about Mongrel2!
j2d2j2d2··on Brubeck: A new Python web framework running on mongrel2
That is a goal of Brubeck too. By using DictShield for modeling you get all your modeling needs, including serializing to Python dictionaries or JSON strings, but it doesn't have an opinion on what database you us.

Your database layer might change, for whatever reason, so you adjust a few queries for loading data and you're back in action.

In addition to this many people haphazardly choose their framework and make the mistake of using Tornado without understanding how nonblocking I/O works. If a user chooses.

Brubeck, they would get nonblocking support for free, which makes it a considerably safer haphazard choice.

j2d2j2d2··on Brubeck: A new Python web framework running on mongrel2
I think it's unfortunate that the power of choice isn't as appreciated outside the Python world but I can also relate to people who feel they have to read way too much stuff.

In spite of this, however, Brubeck indeed aims to be a one-stop shop. It uses coroutines + nonblocking I/O to make scaling up easy but it also a web.py style routing system because all of us know this style already.

j2d2j2d2··on Brubeck: A new Python web framework running on mongrel2
J2 Labs is the name of my consulting company (and twitter account @j2labs).

Brubeck + DictShield are both projects that have risen from building API's for startups. I aim to make Brubeck as useful as possible for building web projects a quick and easy process, without sacrificing easy scaling.

My thinking here is that a solid model should help developers build their idea fast and make it through the early days of startups without breaking their backs.

I don't particularly like working with Tornado because it offers little support for the plethora of Python drivers that are blocking only. On top of that, the callback model, while powerful, can lead to some seriously confusing code.

I believe people will find the combination of Mongrel2, eventlet and a database agnostic modeling system (DictShield) very flexible.

j2d2j2d2··on Brubeck: A new Python web framework running on mongrel2
The difference here is that Brubeck answers ZeroMQ messages from Mongrel2 instead of being a web server. So instead of using WSGI, Brubeck connects to Mongrel2 via a ZeroMQ socket and reads messages representing the web requests.

Beyond that I attempted to create a familiar interface for everyone who's used a pythonic web framework before. Indeed, a lot like Flask, but also like Tornado.

* Tornado style routing: https://github.com/j2labs/brubeck/blob/master/demos/demo_min...

* Flask style routing: https://github.com/j2labs/brubeck/blob/master/demos/demo_noc...

j2d2j2d2··on Brubeck: A new Python web framework running on mongrel2
Brubeck is a Mongrel2 handler which makes it effectively a ZeroMQ Framework. But it is built with web serving in mind so I (I wrote it) attempted to also bring many of the customs we're used to with web frameworks to the Python + Mongrel2 world.

There are many python frameworks and each serves a different need. If you are a Tornado user but find the blocking / nonblocking paradigm confusing, you would probably get a lot out of Brubeck because it replaces the IOLoop (like Twisted's reactor) with a simpler system, eventlet.

I'm glad you think it's hip! It's only a couple months old.

j2d2j2d2··on China: High GDP, 64 million empty apartments.
Everything you've said assumes these cities are going to explode with 1) enough people to buy the apartments and 2) enough people who can afford them.

Could you clarify your view on those two issues?

j2d2j2d2··on NYC Startup Co-Living Space
Indiegogo is a ridiculous rip off of Kickstarter. Good grief... even the design is ripped off.
j2d2j2d2··on Newly Discovered Quasar Defies Age of Universe
Why does this defy the age of the universe?
j2d2j2d2··on Chrome Disses Developers
Overly dramatic title.
j2d2j2d2··on Linux 3.0-rc1 is here
You are correct. I am on 11.0.696.71.

I was wrong when I said 8.

j2d2j2d2··on The Harder I Work, The Luckier I Get
Many folks have said basically the same thing. Great sentiment tho!
j2d2j2d2··on Linux 3.0-rc1 is here
thanks!
j2d2j2d2··on Top overcrowded start-up niches
Powerset was bought by Microsoft and became part of bing. Stopped reading after that tho.
j2d2j2d2··on Linux 3.0-rc1 is here
It shouldn't. Open source version numbers greater than 1.0 dont mean a whole lot.

Chrome, the browser, around version 8 (give or take). How much sense does that make?

j2d2j2d2··on Microsoft makes 5 times more income from Android than from Windows Phone
Seems odd that Linus, who built git over a license dispute, wouldn't just code a replacement for whatever MS has rights to.

Is that hard, for some reason?

j2d2j2d2··on Microsoft makes 5 times more income from Android than from Windows Phone
Under what grounds does MS get patent rent from Linux?

(I'm legitimately unsure why this works, not saying it's impossible)

j2d2j2d2··on Google blocks movie service on rooted Android devices
This affects rooted devices only. Perhaps a little less than 1% of users will even notice.
j2d2j2d2··on A benchmark comparison of Node.js, Tornado, and 3 Erlang servers
I should have clarified to say that the Erlang frameworks beat both Node and Tornado thoroughly.
j2d2j2d2··on A benchmark comparison of Node.js, Tornado, and 3 Erlang servers
Personally, yes. I like to use eventlet in Python partially because of that. Interacting with the scheduler is implicit in eventlet (and gevent, which some prefer) so you write code that looks synchronous.

On top of that, you get nonblocking I/O almost for free, similar to what node attempts to provide, where instead of real nonblocking I/O the system will make blocking I/O look like it's nonblocking. Scala does this too.

But, users of Twisted could also use inLineCallbacks for a similar feel, though it's not required. I'm curious if Node.js could just build the same?

j2d2j2d2··on A benchmark comparison of Node.js, Tornado, and 3 Erlang servers
I agree. It's interesting to see node fans get huffy when Erlang people say, "hey, we're still #1"

But for people who already love JS, node is a dream come true. It's really fast. Not as fast as Erlang, but more than fast enough to justify building massive projects in it. Assuming you are one of those that loves, or believes in, JavaScript...

j2d2j2d2··on A benchmark comparison of Node.js, Tornado, and 3 Erlang servers
All three Erlang frameworks beat the pants off node.js. Not just his.
j2d2j2d2··on The Ballmer Days Are Over
Agreed. Mentioned primarily so interested people know to pay attention to changes in Googles behavior as a result.
j2d2j2d2··on IBM doesn't care about node.js people
What do you mean? This was a conversation I had with him.
j2d2j2d2··on IBM doesn't care about node.js people
What a joke. These same people (nodejitsu) said I/O has been done wrong for 30 years without, themselves, having done the research.

http://www.betabeat.com/2011/04/20/nodejitsu-raises-750k-fro...

I have also heard Charlie Robbins say you can't build a web framework without threads, in spite of Python having multiple single threaded systems. When challenged, he said, "that's still a thread." Riiiiight...

So, back at you nodejitsu.

j2d2j2d2··on The Ballmer Days Are Over
Howard Schultz and Michael Dell come to mind first. Larry Page is the most recent.

Yahoo is a good counterpoint, though I'd suggest externalities like a lack of visionary leadership or a lack of intellectual capital, compared to their rivals, are more to blame.

Edit: Schultz wasn't a founder, but I believe he was their first visionary leader.

j2d2j2d2··on The Ballmer Days Are Over
I'd like to see a return of Gates. Microsoft will continue being unvisionary if they bring anyone else to the table.

You just can't fake the magic of the founders.

j2d2j2d2··on Geography Students Pretty Accurately Predicted Osama Bin Laden's Location [pdf]
Quite the contrary... these people hacked information for some goal, which is EXACTLY the essence of HN.
j2d2j2d2··on Electronic Arts is using Erlang
Agner is your solution!

http://erlagner.org/

j2d2j2d2··on Batching Mechanical Turk Jobs at the Command Line
I have also worked with boto and mturk. Here is a code snippet where I create a hit and then post it mturk entirely in Python.

https://gist.github.com/740267

Page 1 of 5Next →