11 ms·
Rails Idioms + Django Templates + Erlang Power = Chicago Boss
- middus 17y agoBuzz + Buzz + Buzz = Boss Looks interesting, though.
- tortilla 17y agoA little bombastic, but I got a chuckle out of this line: All other web frameworks will break down and cry if you ask them to process more than a few dozen simultaneous requests on a single machine.
- njharman 17y agoChuckle? Ignorance and/or disenguity(sp?) pisses me off. I'll read more but I'm getting the impression that people behind BOSS are one or more of inexperienced, clueless, full of them selves and thus not worth my time.
- agazso 17y agoUsually it's not the web framework itself that is unable to process the requests, but the web application in which one http request ends up in a few database requests, and the database is the real bottleneck. By writing something in Erlang does not make your program automagically perform well (and this applies to CouchDB too).
- subbu 17y agoWill his default data store choice (Tokyo Tyrant) solve this? It could be a bit too early to answer that.
- catch23 17y agoShort answer is no. Most of the "slow" queries that happen in databases are usually complicated select/join/update statements -- the same can happen for key/value databases. Even with TC, you're still programmatically writing the code to do the query and if you write slow code, your query will still be slow. The sweet sweet technology isn't going to magically solve anyone's problems.
- rbanffy 17y agoThe most basic cause for bad technical decisions are wrong assumptions about technology. If you believe every other web framework will get crushed with a few dozen simultaneous requests, you will be absolutely sure this is the solution you have been waiting for. I am curious to try Erlang out, but I know exactly how many dozen requests my current tools can handle. And it's a lot more than a couple.
- Periodic 17y agoI'd be interested in some numbers. Is it "a few"? "some"? Give us some vague quantifiers here!
- rbanffy 17y agoBefore I roll-out apps to the folks who will really torture them in production-like servers, I play with about 100 simultaneous connections.
- count 17y ago100 is really only a few dozen :)
- cschep 17y agobut it's close to 10 dozen...which is almost a dozen dozen... I dunno. Vagueries. :)
- LogicHoleFlaw 17y agoGross.
- rbanffy 17y agoBut that is on a notebook. The numbers the server folks put them through are much higher.
- ubernostrum 17y agoIf you can't get more than a couple dozen req/sec out of other things, you probably won't manage it with this, either.
- chasingsparks 17y agoI strongly dislike developing web front-ends in Erlang. However, if you are interested in doing so, please also see the comparably stable http://erlyweb.org/ http://erlyweb.org/ by Yariv, who is a visible figure in Erlang web development.
- deleted 17y ago[deleted]
- johnohara 17y agoGeographically: The University of Chicago [edit]: Hey down-modder: It's the last entry on his website. What's the -1 for? Are you saying those of us from Chicago shouldn't be proud of our institutions? Asshat.
- icey 17y agoMy guess is that saying "Geographically: University of Chicago" doesn't really add anything to the conversation. Also, it wasn't in the linked page when I went there, so maybe there was some confusion. Although, I just downmodded you because it seems like you've got a tough time being civil.
- jrockway 17y agoThe server's IP is definitely not a UofC IP.
- mattdennewitz 17y agoyou've never talked to anyone in chicago before, have you? zing!
- sant0sk1 17y ago"APIs will change, features may be broken, your car may explode when you turn the ignition, etc." I think I'll wait awhile on this one...
- Periodic 17y agoYeah, I'm with you. I haven't found a way to load my car into a test sandbox where failure doesn't result in the loss of the car.
- mbreese 17y agoI have yet to find a way to get my car in a test sandbox* where success doesn't result in the loss of the car. *Note: for this to work, you will need a large sandbox. If it is too small, your car will be fine, but just try explaining what happened to the sandbox to your kid.
- jdbeast00 17y agoblocked at work for potentially unsafe content? wow, this must be powerful
- falsestprophet 17y agoHow is Chicago Boss different from Rails/Django/Mason/CakePHP/My Favorite MVC Framework? Chicago Boss is fully asynchronous, using one single process to handle hundreds or thousands of simultaneous requests, and thus it solves the classic c10k problem. All other web frameworks will break down and cry if you ask them to process more than a few dozen simultaneous requests on a single machine. Chicago Boss is built with Erlang, the same platform used by banks and telecoms to achieve unprecendented scalability and (no exaggeration) 99.9999999% reliability. Oh my
- gloob 17y agoIt reminds me of those Powerthirst videos on YouTube.
- chrismear 17y agoMUNCTIONAL PROGRAMMING FOR REAL MEN http://www.youtube.com/watch?v=1yH_j8-VVLo http://www.youtube.com/watch?v=1yH_j8-VVLo
- randallsquared 17y agoit solves the classic c10k problem. Of course, this is the problem you get once you've solved the hard problems already, which is how to get that many visitors in the first place. At this point you have the money to buy a bunch of servers, typically, so this is aimed at people who are really great at getting incredible numbers of hits, but really poor at monetizing them.
- wglb 17y agoBut isn't it true that scaling is not linear with dollars/development effort spent?
- tibbon 17y agoI dunno, I'm pretty interested in playing with it. I'm a little cautious of trashing this based on the claims so far without seeing where it goes. Anyone remember the iPod thread on Slashdot that declared it as a useless product that would never take off? For all I know there was a similar one about Rails. It does make some big claims, but I've been looking for a reason to mess with Erlang for a while and this seems pretty neat.
- jobeirne 17y agoSuch a great pitch for a web framework.
- paulsmith 17y agoThis is by Evan Miller, whom this crowd may know from what was once titled the "Balls Out Guide to Nginx Module Development": http://www.evanmiller.org/nginx-modules-guide.html http://www.evanmiller.org/nginx-modules-guide.html
- jhancock 17y agoHere's a few things I experienced when building an erlang webapp 4 years ago: During dev, I had a server live for users to play with. The data structures were in flux, there was zero traditional data input protection. My users were domain experts, no tech background and would type in all sorts of odd inputs as there was no training or documentation on how to use the webapp. But I never once had data corruption issues and never once did the server crash. I was able to run this "test" server with no admin or headaches while I was doing dev. The reasons are due to a few characteristics of erlang: 1 - you write concrete pattern matching, not abstract object containers. So a controller or model function would spec out a clear data structure that was expected as input. Anything else failed right at the point where the data didn't fit the patterns and guards. 2 - each request is handled by an isolated erlang process that fails gracefully and doesn't effect the rest of the system. So my early testers would get error dumps from the server for bad data inputs but they never corrupted the data or crashed things. I was able to take these error messages from test users to see how they were using the system incorrectly. 3 - Single assignment and functional programming were a big win in terms of writing once, testing once (not writing separate test code), and knowing that that piece of code was solid and I could move on. The app was very responsive. All requests were ajax and this system felt like the server was running on the same box as the web browser. When we had errors, the erlang error message almost always showed the crash at exactly the point in the code that needed attention. These characteristics speak to the power of the dev process, not scalability which is what you normally hear about erlang.
- icey 17y agoWhat do you work with now? If it's not erlang, what prompted you to not use erlang?
- jhancock 17y agoThat's a good question. I've been using merb lately. I started with rails and didn't like it but thought ruby was ok. The main reason for going with ruby was to be able to hire other programmers and get out of the way of coding everything myself. I assumed 3 years ago when I made the decision that I would eventually be able to hire others. This has not worked out as planned. I am still coding everything. It turns out erlang has taken off enough that it may be reasonable to do a new project in erlang. I'm still not a fan of using erlang for writing view templates, but choices for this have improved greatly as well. When viewing the erlang vs. ruby programmer talent pool, there is a gut feel that the erlang pool may have a higher quality ratio although its a much smaller pool. I can tell you that although merb is a nice framework, I still end up digging through code at times to find bugs that would be much easier to spot if it were in erlang.
- ktharavaad 17y ago>>>Chicago Boss is fully asynchronous, using one single process to handle hundreds or thousands of simultaneous requests<<< >>>All other web frameworks will break down and cry if you ask them to process more than a few dozen simultaneous requests on a single machine.<<<< Isn't this what facebook Tornado, Orbited and all the other servers using select()/epoll() solves?
- jrbedard 17y agoSounds like a good project! is the name an americanized version of "Tokyo Tyrant"?
- zvikara 17y agoI can't wait working with "Chicago Boss" web framework with the upcoming "London Queen" Ajax framework and "Moscow Oligarch" distributed SCM.
- stevejohnson 17y agoIt needs a "Chicago Closet" to go with it.
- ams6110 17y agoCapone's Vault.
- saurabh 17y agoThis website's is a wreckage in IE8, just so you know.
- anamax 17y agoWith IE7, the site is basically empty. There's nothing after the line with the links to api, .... download on any of the pages.
- alnayyir 17y agoSite wasn't made for IE users, it was made for developers.
- saurabh 17y agoSometimes I browse in IE because Chrome, Safari, Firefox, Opera, Arora are full of tabs that I have yet to digest.
- alnayyir 17y agowhistles loudly YC haet you. :P
- anamax 17y agoI use IE and I'm pretty sure that I'm a developer. What makes you so sure that I'm wrong about the latter? My other open window is running emacs; it's where I've been writing Python code for App Engine for the past few weeks. If that doesn't qualify me as a developer, please describe the requirements, as I've been writing code since the late 70s.
- zol 17y agoI've been a lurker for a while but this comment has prompted me to create an account. Of course the previous poster is making a generalization. If you're in the minority of developers using IE, good for you. Developers are usually smarter than to use a browser with appalling performance and a plethora of bugs (that never get fixed) when much better choices are just a few clicks away. This is probably a troll, but i'm hitting reply anyway...
- juvenn 17y agoI'd like trying this to fine-grain my Erlang skills.
- joshu 17y agoAre Django Templates really that worthwhile to be compatible with? They seem quite annoying to me...
- mitko 17y agoa.k.a. Al Capone
- iamaleksey 17y agoHaving worked on several Rails projects and now working on a large erlang application, I'm not sure that bringing Rails idioms to erlang is a good or desirable thing. I also find it somewhat funny that it includes an ActiveRecord port - an object-relational mapper in a functional language to talk to a non-relational backend (tokyo tyrant).