Twitter Reportedly May Abandon Ruby On Rails
Raster Burn writes "According to TechCrunch, Twitter has plans to abandon Ruby on Rails after two years of scalability issues. Candidates to replace Rails are said to be PHP, Java, and Ruby without the Rails framework." The post links a brief comment (at 139 characters, probably a tweet) from Twitter founder Ev Williams saying it ain't so. The comments following the post embody the controversy over whether or not RoR sucks.
...and maybe it won't? Maybe the moon is made of cheese, but maybe it isn't! who's to say?! This isn't news, it's a conversation starter for people who enjoy arguing.
How complex can Twitter be on the inside? In the 1.5 years they've been publicly grousing about Rails they could have redone it ten times over.
I think there is a world market for maybe five personal web logs.
They're a very high volume site.
Twitter is a major site, even if you yourself have never heard of it, with many tens of thousands of users. As such it is felt by many to by *the* flagship RoR application. Unfortunately it has suffered from numerous outages, some of these lasting days at a time.
twitter is a microblogging system.
You can twitter from your cell or PC.
I think it is one of the most usless things on the face of the earth but it seems popular for some strange reason.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
A hilarious read:
http://www.zedshaw.com/rants/rails_is_a_ghetto.html
Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
I have an argument with a coworker frequently about architectural orthogonality vs performance. I fall on the "architecture should be clean and easy to understand and maintain" side of the argument and he falls on the "speed, memory, and response time at all cost" side.
What is more important? Is developer time and productivity over the software lifetime more valuable than CPU cycles? If the price of that productivity imposes a maximum limit on performance, how much optimization should be undertaken?
It's a hard question to answer. On the one hand employees are expensive and hardware is cheap. On the other hand, you can't simply forego developing for performance just because of some religious belief that architecture should be clean.
Well, Chandler, it's a site that lets people blog in minutia with a big emphasis on social networking. It has become quite a big deal, and the only "big deal" I am aware of that runs RoR. Or, it is the username of a Linux enthusiast on slashdot. Take your pick.
Let us not become the evil that we deplore.
This is what Twitter is for.
- None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
...and maybe it won't? Maybe the moon is made of cheese, but maybe it isn't! who's to say?! This isn't news, it's a conversation starter for people who enjoy arguing.Isn't that what we do here?
It's a service to announce to your friends what you're having for dinner, how satisfying your bowel movements are, and whether or not you intend to see the hip concert that is happening next week in your neighborhood.
It's the blog without the content, the conversation without the words, the letter to a friend without the feeling, and the kiss goodnight without the tongue.
As for the significance of them allegedly leaving RoR, that's anyone's guess. Probably to incite more PHP vs. RoR battles on /.
You think I sell candles?
Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
one debate that is yet to be resolved, if ever.
The whole cause is not real and debunked. But the crowd is spoiling for a fight.
there _are_ times when not to use your mobile...
http://www.penny-arcade.com/comic/2008/4/23/
The Bible: Historically verifiable fact from an observers point of view
Most popular things are useless.
Given that the linked "comment" is a status message on Twitter, it's most definitely a tweet. No "probably"Âabout it. Half an ounce of logical thinking would have told kdawson that.
And for all those Ruby people in denial to the fact that people have been saying this for years, here is your proof yet again. Of course I will be marked down as being a troll for pointing this out by the RUBY comunity but it is time that they acknowledge the inherent achilles heel of the language.
This is my sig. There are many like it but this one is mine.
You're right. Ruby is ugly if you try to write Ruby like you'd write PHP, or Python, or whatever language you think is beautiful. And although Ruby lets you code in that style, to really realize what Ruby has to offer you have to understand that Ruby is quite different than most other languages and use that to your advantage.
No, I think you are one of the actors from the TV show "Friends." What, you're not?
Let us not become the evil that we deplore.
Rails was the cat's pajamas two years ago. The future. The in-thing. Revolutionary. Exciting. Radical. Amazing!
Then like so many similar times before, reality set in. It turned out to be buggy, unstable, less performant, and heavily dependant upon an evangelical base.
Ruby the language is interesting. Not my personal cuppa, but I have nothing against it. Rails, however... After having analyzed it and developed a prototype application for my company, I came to realize that there are other frameworks out there that are more worthwhile, epecially in an enterprise environment. The problems I've seen Twitter experience only solidify this.
If you are doing green-field development Rails should probably not be your first choice. Yes, Rails is interesting. No, it is not the end-all-be-all, and it certainly has some rather major warts.
There is no link to any original statement at all only a link to the response. If it was a twitter was the original statement: "ROR: Fail". :P
Well, there's spam egg sausage and spam, that's not got much spam in it.
In my day, we had talk, finger, vi, and elm and we never complained! Green vt100 terminals were all anyone really needed! Get off of my lawn!
Seriously, talk had advantages over IM. You actually could see what the other person typed as they typed it, including backspaces...
And finger worked great. I knew a nerd that had his
The more things change, the more they stay the same.
What will it take to get twitter to abandon Slashdot?
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
See Hilton, Paris
In related news, twitter (104583) reportedly may abandon his use of sock puppets due to numerous outages.
Reviewing just the first hour of video games.
And the scalability issue is not the x86 Slowaris systems they're running it on? Scalability of a platform is rarely just a RoR issue...
I think it is one of the most usless things on the face of the earth but it seems popular for some strange reason.
It depends on what you use it for. For what I use it for it's quite useless but if you're into notifying groups of friends what you happen to be doing and want it to be delivered by their preferred method of receiving that information, then it's great.
I want to tell 10+ people that I'm going away for the weekend and I don't want to deal with two SMSs, three e-mails, four IMs and one phone call so I just fire off a message on twitter and it's all done and everyone gets the information quickly and easily.
Your karma-blow would be more useful if you'd say what you think is better...
"Not an actor, but he plays one on TV."
mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
What about this: http://twitter.com/ev/statuses/801530348 ?
>Linux is not user-friendly.
It _is_ user-friendly. It is not ignorant-friendly and idiot-friendly.
Most popular things are useless
Yeah, like cars, telephones, computers radios, houses, food, utensils, tools, books, clothing, water, the internet...
mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
Popular. Ubiquitous.
No, Rails is ugly.
Ruby is not just beautiful, but great.
Rails is just making bad publicity for Ruby.
factor 966971: 966971
http://twitter.com/ev/statuses/801530348
I'm sick of this elitism. If someone likes something, it's useful. Just because someone else doesn't think like a robot doesn't mean their values don't matter.
If flesh and blood humans exhibit this kind of bigotry, what chance do we all have when the robot insurrection comes?
Also, since it is fully "Web2.0" with a fully functional API, if you update your twitter status with "what you've been doing in your life" in the last 10 minutes ... you can automatically push that status to Facebook, Myspace, AIM Status, livejournal, irc, all from one completely free microblogging site.
And its not just cell text integration, with an iphone web application like hahlo, an IM interface twitter@twitter.com on gmail, an SMS messaging interface not to mention the plain old web interface. So, it is a nice service, and the one that I use.
Is it just me, but how in the world did Twitter get $5.4M of funding? It's a pretty simple system and I just don't get it - granted I'm sure it's not cheap to run a system so many use but it can't be that bad...
Do the funders think that people are going to be okay with little ads being on each tweet people send out eventually or did they just want a cool new web 2.0 toy themselves?
His username is Matt Perry. Keep up, AC.
Let us not become the evil that we deplore.
and digg, reddit. Not slashdot though.
Of Code And Men
Well I feel it is useless because most people's lives are deadly dull. Minute to minute updates? Sure for some people it may be interesting but for the most part I really don't care what somebody ate for lunch.
Notice though before you get your knickers in a knot.
"I think it is one of the most useless things on the face of the earth."
I didn't say, "It is one of the most useless things on the face of the earth."
My statment is without question factual since that is how I feel about it. If you find it useful well then you disagree and that is fine.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Not that useless if you can get close enough...
The problem is Ruby. It is a very slow language (http://www.blognone.com/node/4385). My tests confirm it is 20 times slower than python in simple loops. Java is a dinosaur and PHP is not easy to maintain. I would go with Django or web2py. If they use web2py (http://mdp.cti.depaul.edu), I will help them. web2py scales very well because allows you to bytecode compile the models, the controllers and the views (so there is no parsing when serving a page) and cache every function in ram.
All of these slashdot conversations about rails have no technical details in them, describing which parts of rails are failing, which parts are preventing concurrency. The programmers on here can be just as stupid, unscientific, and reactionary as anyone else. As an example, you!
The funny thing is, for social networking sites, this is almost expected and par for the course. MySpace, and more famously Friendster had HUGE problems with availability due to their unexpected success. It's taken years for them to stop being buggy. Writing applications to handle this kind of load ain't easy.
Also, the one case of twitter's downtime being rails' fault, that I'm aware of, was due to Rails' lack of multiple db connections, which was fixed within days. And that wasn't really a bug, but a feature that was missing because no one using rails was dealing with twitter's requirements at that point.
I don't really get Twitter as a social thing, but it's damn useful for interfacing with Remember the Milk through SMS when I'm away from my computer. That's the only reason I have a Twitter account.
Rails remains the best way to develop solid and maintainable web apps. But it will not compete with C for speed. Once you understand your business process, and have developed a mature algorithm to make the business work, there is nothing wrong with writing the core infrastructure in C. There are lots of C libraries that do the core part of Twitter. But the company would have been idiotic to start with them, and would be foolish to move new development off Rails.
So, er... TechCrunch says "multiple sources claim that Twitter is abandoning RoR."
The guy who founded Twitter says, "no, not really."
And TechCrunch says, "but we have MULTIPLE SOURCES."
Guess what? I have MULTIPLE SOURCES that say the Earth is flat!
Must be a slow news day.
Twitter is probably more of an erlang kind of thing as it is a giant switch for messages . Does not mean that ruby sucks or that erlang is the best for all projects.
Twitter, in 10 words: Twitter's purpose is to clutter the internet with useless drivel.
I think the OP's point is that worded like this, the article is rumor-mongering, not news. Many /. discussions may devolve into pointless arguments but they are not solely, intentionally that.
FreeBSD for the impatient.
I'm just starting to muck about with Rails, and am interested in where, exactly, it fails miserably. Not trolling, just curious.
Thanks.
ceci n'est pas un sig.
Yet that useless if you are a slashdotter ;)
!sig
Seriously, talk had advantages over IM. You actually could see what the other person typed as they typed it, including backspaces...
ICQ actually offered a "chat session" feature that did that. but it required direct client-client connection which made many people (me included) abandon it. Also it apparently had fairly high network overhead.
I tend to think being able to compose your thoughts before letting the other end see them is probablly a good thing anyway.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
Not only that, you can use the API from Python. You can just write a simple script to do it, rather than dealing with regular annoyances from web pages.
Twitter does have its uses though. Being able to blog from your mobile is pretty useful sometimes...
Go somewhere random
I don't think the problem is Ruby. Whilst I'm not associated with Twitter, I have seen some of their presentations on subject of performance, and the major bottleneck seemed to be the database, and ActiveRecord's unoptimized querying of it.
MatzRuby 1.8 is somewhat slow, but it does proportionality very little work compared to the MySQL and Memcached back end. Quite frankly, I've never seen a performance profile of a Rails site where Ruby was the problem; it's almost always the database, or too many AR queries.
Comment removed based on user account deletion
I think that yellowpages.com, hulu.com, pennyarcade.com and many other "big deal" sites are running on RoR.
It is useless. I just wish I had thought of doing it first. $$$
no, that's twatter
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
Or you could just email them all.
Unless you are claiming there are a substantial percentage of folks who use twitter but don't use email. I'll want citations for that though, because I don't believe it for a minute.
People gotta die somehow. Me personally.
metalocalypse - Ya know that episode where they launched the prisoners on rockets and blew em outta the sky.
Yea, awesome, totally awesome
Not to mention, earn their living while they are there...
If this is true, apparently Evan Williams (Twitter's founder) hasn't heard about it.
Actually, the means used by the state to kill criminals is generally thought to be too cruel to use on animals.
It's really designed to make it easier on the people watching, not on the people being killed.
And this is why there is a big push back to Perl for new development. It's fast, proven, plenty of tricks for speed, and a very fast database framework. Even with DBIx::Class on top of it, it's insanely fast.
If you haven't looked at Perl in a while, now's the time. Between Moose and Catalyst, developing in Perl is fun again.
- oZ
// i am here.
I once needed to make a web application to generate reports from an existing MySQL database, and I abandoned Ruby on Rails (for PHP) after just one and a half days of scalability issues. I only wish I'd done it sooner.
"When information is power, privacy is freedom" - Jah-Wren Ryel
What don't you understand?
* It's "a major site." ("Major" here means important, big).
* With many ("tens of thousands of") users. (This means it will have lots of traffic.)
* It's ("felt by many to be") the flagship RoR application. (It should be clear from the title, let alone the summary that RoR = Ruby on Rails.)
* It has suffered from numerous outages, some of these lasting days at a time. (So they clearly are having reliability issues. Since the article concerns them possibly abandoning "RoR", it doesn't take much to use some logic and work out that they may be pointing the finger at "RoR").
Granted, the summary might have mentioned what "Twitter" is, but the majority of Slashdot users will likely either know already, or will use something called "Google", which operates over something called the "Web", and can answer these sorts of queries.
I know that it gets really hard to keep up with the ever changing names, but just remember 9 times out of 10 it is just the same stuff we have seen the trendies do a million times. Now as to whether the stuff is any good or not I have no idea as I have things to do. Now get off my lawn!
ACs don't waste your time replying, your posts are never seen by me.
The RoR is a movement that depends on it's public perception. If Twitter abandons the RoR framework, then RoR could lose (if it hasn't already) a lot of steam, and appeal to the general public.
The RoR community does not want this to happen.
You're both wrong. The choices made in design and implementation need to reflect the requirements for the project. Therefore, there is not "one size fits all" shoe. You can't take a great design and force it into a real-time system. You can't take a real-time system and force it to work for a subset of problems tomorrow. There are trade-offs and the requirements will dictate the decisions you make in design and implementation.
Do you really think Twitter's bottleneck is anything other than IO? How does C improve network latency?
how to invest, a novice's guide
Twitter has been immensely useful... as a microblogging system some companies have successfully used it as an emergency broadcast system of sorts. KPBS.org used it as a way to communicate major brushfire conditions and emergency shelter updates over SMS and RSS. Barack Obama's campaign sends out daily Twitter updates that alert campaign supporters and organizers of upcoming events, locations, and meeting times. That gets disseminated over the web, SMS, and RSS feeds via Twitter's extensible API.
Those who laugh at you for you having a Mac.. are the people who constantly call you to fix their PC.
Thanks for mentionning it.
This sig always makes me sick when I see it.
Email is targetted. However if you really need to distribute a high volume of information immediately without dooming your own infrastructure, Twitter is great. It's not targetted because the demand for the informaion comes from the followers to the source, instead of the other way around. See how KPBS.org used this information to spread evacuation and relief updates during the California wildfires:
http://www.news.com/8301-10784_3-9802911-7.html
Those who laugh at you for you having a Mac.. are the people who constantly call you to fix their PC.
Ask yourself who you are working for. Most likely, you are essentially working for the people who end up using your application. If they don't like it, you have failed. Thus, the first priority should be to satisfy users.
If the application runs too slow and your users abandon you, the prettiest back-end architecture won't help you one bit.
In my opinion, maintainability should never come at the expense of the end user.
Your assumption that the service provides garbage may be true for the majority of the stuff that gets cranks out but a tiny majority is vastly useful. I've seen Twitter being used for liveblogged news headlines, traffic updates via SMS, emergency evacuation information, and event coordination... just to name a few examples.
Those who laugh at you for you having a Mac.. are the people who constantly call you to fix their PC.
High volume was not his example. It was letting 10 people know he would be out of town, and the excuse for using twitter was that he'd need to email 4, SMS 3, pone 1, etc.
Email would work perfectly fine in that situation for all 10 people in 99.99% of situations.
Les Miserables Volume 1 now up with my reading of
Digg is extremely useful in keeping me informed about how Barack Obama is the One True God. Twitter is only useful if you want people you've never met to keep you updated every time they take a crap.
Les Miserables Volume 1 now up with my reading of
No $$$ yet - they haven't figured out how to "monetize" it yet. So they need someone to buy them out to keep it running (at a loss).
The fact that many users use it to microblog about their bowel movements doesn't make it entirely useless for everyone... I run a spinning class at my workplace, and it's a nice way to get out cancellation notices, changes of instructor, etc. in a nice, concise, broadcast-only method, for anyone in the class who subscribes.
We have a blog as well, but that's typically used for info requiring more than one sentence at a time.
And it was perfect for Beer of the Day, but they don't seem to have posted lately. How sad...
Let's stop feeding the troll. I have the feeling he is the guy that tells everybody that he doesn't watch TV (insert obligatory Onion link here...)
No sig
Hahaha nice troll... "good old VB6"
For the last time, PIN Number and ATM Machine are redundancies!
Pardon the off topic rant (please feel free to mod appropriately), but I have to agree that RoR DOES SUCK. (At least I didn't set up my own blog just to rant about it.) The RUBY language is the best thing since sliced bread, but Rails isn't. And I'm not talking about the installation and management issues like everyone else. I mean from a developer's perspective, RoR is horrible. Here's why:
.NET and it's various components, but I don't want to work on Windows, I don't want to work with IIS, I don't want to write VB or C#, and .NET really does a bad job of layouts and makes a lot of other stuff more complicated. And it's ORM simply can't touch ActiveRecord. Rails does only a tiny amount of what it could and should.
1) Automated copy-n-paste is still copy-n-paste
Maybe it's changed since the last time I used it, but creating a rails application COPIES a bunch of files from the distribution into the app directory it creates. How do you upgrade? Painfully, that's how. I have numerous small applications that break when I upgrade rails and it's dependencies because the copied files don't work with the newer version. My applications should be 100% code I write directly. Everything else should be kept separate and accessed via includes so emerge/apt/yum/gem dependencies can keep the rails code compatible with itself and I never have to "fix" code I didn't write.
2) RoR gives you the 1% that's used 10% of the time, not the 10% that's used 90% of the time.
So you set up a RAILS app, create your database table, and run 'generate' to get your pseudo-MVC (seen #4 below). You've got everything you need to edit a single table via the web, but that's not even close to an application. It probably saved me about 1/2 of setting things up by hand. That's simply not good enough. It should be able to create an app that supports validation (both JS and server-side for obvious stuff like numeric and lengths), sorting, filtering, searching, relationships, and css skins. It could do this just from the information available in the database metadata, which would get you 90% done. And a huge number of simple apps could be completed simply by writing a custom CSS skin and adding some graphics.
3) No UI components, which are the hardest part of web development.
Most of what rails does buy you is the back-end stuff. It's an easy way to get stared with ActiveRecord, which does the heavy SQL lifting. AR, the one shining gem of RoR, is a great object-relational model and I believe it is responsible for 99% of RoR's popularity. But SQL isn't that complicated in the first place. The real tough part of web development is getting rich, graphical, reusable UI components that work across web browsers. Prototype/Scriptaculous are a wonderful starting place, but I need code that I can feed an AR class (and possibly a list of columns and/or related tables+columns) that will generate cross-browser compatible HTML view of the table complete with searching, sorting, filtering, and paging. There could be functions/objects that render it as a table, a list, a tree, etc. You're probably thinking I should just use
4) It's NOT MVC
The Model-View-Controller design pattern is about limiting the amount of communication necessary by having one instance of some code (the controller) that all access to data (the model) from other code (the views) goes through. Views subscribe to a model, get their data and then do their thing without worrying about other views. If some other view changes the model, the controller notifies all other subscribed views of the change. Rails MVC is something totally different that doesn't solve the same problem. Rails does provide data validation via AR, which is part of true MVC, but it still misses the point of MVC, which is a coherent and always up to date set of views into the model. In fact, an MVC is impossible to implement over the web because communication is one way: the browser must initiate all communication with the web server. (For those that don't "get" this,
Yes and a hovercraft that can carry many tons of cargo is also useful. Just not for more people. Your examples are good uses of twitter and they make up what .001% of the users of twitter?
Again it is an opinion. That is why I said that "I think it is useless". I also think that seafood is gross, $300+ video cards for gaming are a huge waste of money, and that 99.99% of all blogs a waste of electrons. Hey I don't get to rule the universe based on my will so don't worry about twitter going away anytime soon.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
I know it isn't considered trendy,although "Good Old VB6" is still in the top 5 of programming languages(number 3 to be precise) and as long as you aren't trying to build some gigantic multi-use program it really works great. Of course I've been using BASIC since the days of the VIC 20(recording my programs to a cassette,boy THAT was fun) so for me it just works.YMMV of course and I've known guys that can do the same in Java,C++,etc. IMHO if it does the job you need it to and the customers are happy I say go for it.
ACs don't waste your time replying, your posts are never seen by me.
Twitter abandons the internet.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Instead they are tied to a twitter site. imagine that!
6 of 1, half a dozen of the other. Sorry, I just don't see any amazing reason to use twitter over email for that kind of stuff.
quality of service instead of amateurish, stubborn preoccupation with the hyped-up framework of the month. congratulations to twitter for growing up.
-- nous
Because you can't have your email sent to SMS messages on your phone any other way already if you wanted to. Oh wait, on Google you can find about a million ways to do it already.
Most popular things are useless.
Like Windows?Actually, all of these free social networking services have figured out how to monetize it.
Twitter is the honeypot to collect a group of users. After a density of users is reached, larger communication companies will start looking at purchasing Twitter so they can "integrate" their service. Nevermind that integrating a free service with an available API doesn't require purchase.
What the larger company is actually doing is buying customers.
From the TOS: Business Transfers Twitter may sell, transfer or otherwise share some or all of its assets, including your personally identifiable information, in connection with a merger, acquisition, reorganization or sale of assets or in the event of bankruptcy. You will have the opportunity to opt out of any such transfer if the new entity's planned processing of your information differs materially from that set forth in this Privacy Policy. Build Service - Grow Userbase - Sell Demographic data.
It's the web 2.0 business model, all coated in a lovely veneer of altruistic "doing it for the love of geekiness" bullshit.
Rails was the cat's pajamas two years ago. The future. The in-thing. Revolutionary. Exciting. Radical. Amazing!
... Ok, Glassfish maybe (*cringes at recalling the website*). But that's Java. They got the big gigs anyway - they don't need marketing.
... Except for maybe some post-grad, still-wet-behind-the-ears tweens who are just out of college and weren't there for the first bubble.
Wrong.
Actually it wasn't. Never was, never will be, and, dare I say, never was meant to be. Ruby on Rails is, believe it or not, relatively standard fare when it comes to frameworks. And no, they did *not* invent Active Record. And, as far as I can tell, aside from the usual marketing 'ours is the best' even the Rails people never insisted that RoR is the start and end all of all webkits.
In fact, IIRC, the RoR crew speak fairly respectfull of other frameworks aswell - like the django project. AFAIK the teams even are drinking buddies - or some equivalent of that. No, Rails never was the "Revolutionary. Exciting. Radical. Amazing!". Not with experienced web developers anyway. It was the Java communities darling because they like Ruby and RoR came at a time Ruby was getting some attention and PHP and others were caving in on Java *and* thus the Java crew needed something to join the fray without loosing face. Enter Ruby/RoR. That aside, there are far more innovative and mature projects out there that can serve as the bar for all things serverside than RoR - and most people doing web stuff know that.
There is one thing however that Rails did better than anybody else and with which Rails actually has changed the face of the Open Source Web forever: Marketing. Before Rails OSS projects would present themselves on the crappiest of sites you could find on the web and displayed no intention whatsoever of moving towards end-users and end-developers in order to win them over for a solution. Rails changed that by 180 degrees within months. They practically invented screencasts and the now obnoxious '15 minute weblog' video presentation which basically has replaced "Hello World" in the webkit community. And boosted the revenue of Macromates, the makers of TextMate - nothing much more that a grafically pimped Emacs for OS X - by doing so. It is because of said marketing spree that Rails has gained such a widespread following within the Java community. Which goes to show that these people fall for good marketing - no matter what the truth or reality behind it. And given that Java devs - after a decade of non-web but Enterprise progamming - have a standing as opinion leaders with management, it is only natural that RoR took off. It's since Rails there is no new project in the world that can dare to enter the community with a crappy presentation.
Prado, Zope, Mojavi, Ars Digita and other solutions are ancient by RoR standards, and some are way ahead technology wise. And most of the professionals I talk to are aware of that.
RoR is a neat framework and scores 30+ hits on a booksearch on Amazon. Which bodes well for RoR. But no one with real world web experience I know of was all that mesmerized by RoR as you claim.
We suffer more in our imagination than in reality. - Seneca
tens of thousands of users is a major site now? Hell some blogs have that many. Talk to me when you have millions of users. Everyday.
kashani
- Why is the ninja... so deadly?
What if I don't know their e-mail address? To be honest, I rarely give mine out these days because it's the last place I want to be contacted. It's almost become as sacred as my phone number.
I'm really just not getting it. For the example provided, contacting 10 people about being out of town, I see absolutely no benefit of it over email. I can already get email on my phone if I want to. Via webmail or SMS.
Personally I would never run a high volume site on top of a scripting language platform. While RoR is pretty nice on getting a site up and running and integrated with a database, it is still poor in the scalability department.
For a medium to large site they should consider using servlets and java and avoid J2EE.
For a very large site I would recommend C/C++ and maybe java if they have the budget for hardware.
The toughest part is getting developers that can code webapps (not just CGIs) in C/C++ (while easy to do C/C++ developers overall are hard to find and are not as cheap as ruby/perl/python ones and even java ones; this is from experience of trying to hire them). So they should check their developer base and see what is the fastest language they feel very comfortable with and go with it. From experience they may have to settle for java since that will provide them a large pool to pick developers from and the learning curve is slightly less steep than C/C++.
I suspect they fell into the trap of building a demo fast using RoR and then just going with it into production, I have seen this way too many times unfortunately.
So you don't give business contacts or friends your email address, but you do give them a url for your twitter page. I find that... odd.
Hey, Reddit has theme-trolls! On there you can meet: Death, George W. Bush, Paris Hilton, Ayn Rand, Zombie Jesus, the 9/11 truther troll ("WAKE UP SHEEPLE!!!1!" makes for major lolz), the sheeple ("I'M AWAKE!"), and numerous others!
You get to tell people you are out for the weekend passively as well with email. It's called a vacation message. Most email servers support the feature. If someone emails you while you are away, it emails back with your message saying you are on vacation/etc.
Hey guys, I'm working on a website and we are trying to decide on a Django or Rails implementation. This article kind of scares me because we are thinking big.
Personally, I wouldn't mind if Django is a little bit harder to develop in if it is significantly faster than rails and has more options (also I like python). On the other hand Rails has profiling and the ActiveRecord thing going on.
I've done research but I'm still kind of deadlocked.Do any of you have any advice? It would be very much appreciated in making a decision.
They must have read this webpage:
http://doesrailsscale.com/
Religion is poison to rationality, and we lose sight of that at our own peril. -- Lurker2288
Speak for yourself. Many of we Rails developers would be a lot happier to see Twitter go, because that's the one app everybody points to when they need an example of a Rails app that has problems scaling.
RoR is my bread and butter, but I'm not one of these typical RoR fanboys who preach like Rails is the second coming of Christ, and will cure cancer while simultaneously letting you build the next Slashdot in five minutes.
You want the truth? RoR isn't suited to every task, and Twitter is a perfect example of that! We're talking tiny text messages posted to an account. Then you have the concept of followers. That's pretty much it. It's a bonehead simple service that's built around extremely high volume and relatively low complexity. This thing should have a C/C++/Java backend and a thin and light frontend, where Rails would likely have no difficulty filling the job. Neither would Django, or Cake, or the languages themselves (Ruby, Python, PHP, etc).
If Twitter ditches Rails it won't say a single thing about Rails' ability to scale beyond that it didn't work for them. What it does say is that choosing the wrong tool from the get-go is an ideal way to doom your app to having such issues.
I don't know how many times I have to say it, but Rails is still a baby in the grand scheme of things, and so is Ruby. There was a time when people used to joke about writing high-performance applications in Java, but those days are over. Why? Lots and lots of brilliant people came together to figure out how to make Java fast, and they've done a really great job. Anyone who thinks that Ruby's issues with speed and Rails' exacerbations of them is going to be a constant has made an error in judgment. Then again, you can't really blame them.
Said it before.. will say it again: people hate Rails because there are too many fscking Rails fanboys out there. Bad programmers who like Rails because it makes them look like stars. It makes those of us who take a practical and pragmatic approach have a rough time on sites like this. Anyone who's ever attended a RailsConf knows that there's a lot of enthusiasm, but the people who make it out to the conferences and pay their dues are - in general - very level-headed about what Rails can and can't do, and are actively working on solving those problems Rails has. Phusion Passenger (mod_rails) was born out of necessity, and I can speak from first-hand experience that it does exactly what it says.
Everybody take a step back and relax. You didn't hear this kind of bitching when YellowPages ditched their system to rebuild in Rails, and in case anyone hasn't noticed, they're looking to hire even more Rails developers. Oh, and they're doing a great job scaling. If Twitter ditching Rails is evidence of Rails' failure, what does YellowPages' success with it tell us? Or, for that matter, any of the other large and successful Rails apps?
FWIW, Twitter isn't *the* Rails app to most bonafide Rails developers. Basecamp is.
Wow, generating and serving web pages in C/C++ - does anyone still do that? Are there any modern libraries that, for example, make your tables look good by emitting different HTML based on the browser? That layer of abstraction is key these days, but I've only seen people doing it in PHP.
A modern C++ library that takes an abstract layout description and creates browser-specific HTML to match that description would be a very cool thing. A C++ library that merely generates "standard HTML, verified by the W3C" would be a nighmare to work with/around.
Socialism: a lie told by totalitarians and believed by fools.
aprilfools
Seriously, they aren't. Check the facts.
You missed the point. This is a stealth ad for twitter and RoR.
Both of which are probably important, albeit not to me.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
I can't comment on RoR, but your generalization about scripting languages represents a standard misconception. A native code platform isn't automatically more efficient than one that's based on an interpreter or a virtual machine. If you need to do something that hogs the CPU for extended periods (such as scientific number crunching) then yeah, you want to use C+ or Fortran or something else that compiles to native code. (Though some VM designers claim they can beat native code with on-the-fly optimization.) But for a typical web application, the CPU time used by scripts that generate the pages is not a big bottleneck. Here's an example you may be familiar with.
Twitter is a well-known Slashdot troll. It's news to me, though, that he uses RoR. I guess all his sockpuppets are automated!
Twitter also notifies via SMS (phone, pager) and RSS... that frees you from ever going to their website at all (I never even go to their site) and you can embed updated content to any number of websites if you want. SMS is probably the most-used method since you can send and receive twitter updates from cell phone. So instead of sending a text message to 500 recipients, you send one single SMS and Twitter will SMS anyone who is following you: be it 500 or 50,000.
Those who laugh at you for you having a Mac.. are the people who constantly call you to fix their PC.
Comment removed based on user account deletion
Depends how you use it. If you 'follow' people who twitter their garbage collection you'll see that. You could use it for something else entirely.
For example, you could use it to allow you to remote control your computer from your cellphone, if you were so inclined (I'd imagine having unlimited text message plan would help).
-HobophobE
Nothing laughs forever.
Not to mention that the small coterie goes there incessantly, rather than "saving up" for a post every few hours. If it's treated like an "IM-blog," it's going to see a lot more traffic. That doesn't mean the content is any better; you just gotta refresh more often to see it.
And most likely, 8 of those people would email me back asking why the hell I sent them an email that they didn't need because they were already busy for the weekend. It's a good point even if I prefer the "disappear with no trace for the weekend, 00 style" method.
I'll believe in corporations having personhood when Texas executes one... - advocate_one
Comment removed based on user account deletion
Comment removed based on user account deletion
Too bad ICQ was a steaming pile of screen-realestate-stealing crap, though. Laggy bitch too.
Multiplayer Gaming (defined): Sitting around, discussing single-player games with my friends, at the bar.
Comment removed based on user account deletion
Actually yes and majority of the huge sites on the web use C/C++ (having worked on several where 10 million hits a day is an easy load). Most places have their own but stl + boost is pretty damn nice and will do most of the things you want. You would probably want to look into writing ISAPI extension or apache modules which is not difficult at all and the performance difference between say C and java is significant. One point to note, java garbage collector under severe loads is not pleasant to tune (I have to deal with that currently and it's a pain). Its not uncommon for java process to spike to 1GB+ in a matter of seconds before GC has a chance to kick in and slow things down :) In C you can allocate and release memory in a much more controlled way thus controlling the server's footprint under spikey loads.
Twitter recently got lots of attention as a not-so-useless thing when Egyptian police forgot to take away an American student's cell and it was used to inform his colleagues that he had been arrested for political reasons. Several people attending the same demonstration without twitter access have disappeared from the earth. I don't personally draw any conclusions from that but I figured making the story available wouldn't be a bad thing.
Any language with fork() can scale. Claiming that Ruby can't is ridiculous.
Whether Rails can scale or not is another matter, but the bottleneck in Twitter was not Ruby, but the MySQL database.
This should, I hope, be common sense. It doesn't matter how slow your web server is, because you can always add more web servers. The point of failure is always going to be the database, because distributing writes is really tricky.
Now, I do realise that the internet is full of people who don't consider ignorance of a subject as a handycap to talking about it. However, can we not mod up people who make claims without the remotest bit of logic or evidence to back them up?
Comment removed based on user account deletion
All the time you wasted posting those two comments you could have just typed in twitter in google and found your answer.
C memory management require a certain programming discipline. It's not really that hard, but like any engineering discipline: it takes a couple of years of doing it before it becomes so natural you don't even think about it. Since kids aren't getting this discipline in college any more, it's a real problem in practice, unless you can staff your project entirely with us old-timers.
OTOH, C++ has the best memory management around. It's also a learned engineering discipline, and even harder to get right, but you *can* do all memory management in carefully policed library functions, meaning you only need a couple of people with the proper discipline to support a swarm of junior programmers, which is totally practical.
Java and C# have real problems in that it *still* requires engineering discipline to make sure that resources other than memory get managed properly (e.g., ensuring a file gets closed or a lock gets released whenever you leave a given scope), but students don't learn how important it is, because you don't learn the memory management discipline. And you're back to eveyr programmer needing this discipline (though it's possible to find most offenses through clever searching, which is a big plus over C).
Socialism: a lie told by totalitarians and believed by fools.
I wonder if they've considered Groovy on Grails instead of Java or PHP? Groovy has all the dynamic language features that make Ruby and JavaScript popular with developers, but is essentially 100% backward compatible with Java (since it's running on top of the Java VM and is implemented in Java). Groovy also leverages Java and any other language that can be hosted on the Java VM because it interoperates with all of that stuff, and itself runs on the same VM. You also get legitimate closures and simplified syntax for many things. It can even give you Java 5 semantics (generics, enumerations, etc.) under JDK 1.4.
Grails is very similar to Rails, but is not a straight port -- more "inspired by," as it's described by its proponents. Grails also doesn't have the problem that Rails has in terms of scalability and performance, since it's built on Groovy/Java (which have a real threading model). No screwing around with creating a zillion Mongrel instances to scale your site, etc. And if you don't care to use the built-in web server that comes with Grails, you can have the Grails framework generate a WAR file which you can deploy in any container like Tomcat or Jboss.
At a recent 3-day Grails training session taught by Scott Davis, I was surprised to hear that some major corporations have jumped on the Groovy/Grails bandwagon, including Mutual of Omaha. For a conservative company to make that kind of leap says something. (Furthermore, they used to be a COBOL shop -- the rationale appears to be that it's easier to get COBOL programmers to make the leap to Groovy first, then switch slowly to Java, as opposed to migrating directly to Java.)
After that 3-day training, I was pretty impressed. The biggest win for Grails seems to be rapid development and deployment, but all the other stuff you get for free in the package makes it something you'd like to stick with. I'd say the thing that most impressed me with Grails was GORM, which makes Hibernate even easier to work with. GORM spoils me, since it obviates the need to write SQL most of the time.
Boost is nice and all, but I didn't see anything in boost to generate browser-specific HTML. That's really where the magic is IMO, the layer that can generate HTML from an abstract layout description native to the programming language - but I guess it wouldn't be *that* much harder to create that in C++ than PHP or Java or something.
Socialism: a lie told by totalitarians and believed by fools.
Wow, what is it about Ruby and bitterness/euphoria? In one ear I'm hearing how stupid I am for using PHP and that I could write all the code I've ever written in one line of RoR, in the other ear I'm hearing disillusioned RoR users who are on the brink of suicide over some grievance (and are offering to pay to rent a boxing ring in which to fight me, wow).
.. or what? (I can't help but feel some schadenfreude after the smug "RoR vs PHP/Perl/etc" videos and attitude coming from the ever obnoxious evangelists)
Is this a house of cards collapsing under its own hype or
// MD_Update(&m,buf,j);
Comment removed based on user account deletion
Basically, RoR wishes that it was Zope. It's not. People here haven't even touched on the biggest clusterfuck in terms of wasted development time - deployment.
And as for the earlier poster complaining about VB6 web support and me "pumping it", I thought I had been clear when I said whatever works for you and keeps your clients happy is what you should use. And with all the web exploits we are constantly hearing about I'm personally VERY glad that VB6 isn't really "webcentric". IMHO the world would be a lot better place if everyone didn't try to stick everything on the web. While there is a place for the web in business applications this push I've been seeing to have everything web based is just a bad idea. Too many black hats,too many programmers that don't understand all the different attack vectors available on the web, and too big a risk for little to no gain for a lot of businesses.
If your business gets tangible benefits from moving an app to web based and you have good security conscious programmers who can do it,great. But I guess I'm old fashioned like the VB6 I use. If it ain't broke,don't fix it and certainly don't chunk it just cause "web 2.0" sounds good to marketing. But as I said earlier that's my 02c and if your customer is happy with whatever language you use that is all that should matter.
ACs don't waste your time replying, your posts are never seen by me.
TechCrunch is speculating and clearly getting it wrong. Arrington's article comes out on the same day as an as an eWeek interview where Twitter's Britt Selvitelle talks about how they scaled up with Rails and offers some advice on the topic.
As to abandoning Rails:
Selvitelle told eWEEK that reports of Twitter abandoning Rails are "Not true in any sense. We use Ruby as our primary language. We have plenty of back-end architecture in other languages. Especially prototypes. We still use Rails and have no plans to discontinue this in the future."
I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
and calling or texting somebody with the same message wouldn't have done the same thing?
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Slashdot isn't that popular though, at least when compared to some other massive sites, so the theory still holds. Besides, slashdot does not actually possess popularity attributes, slashdot has tenure.
True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
As C/C++ apps get more complex, I've found that many in effect start reimplementing garbage collectors, only in really buggy, inefficient ways.
In simple apps, you can exactly police your memory patterns, and everything is created and freed in carefully defined locations. The only real complication here is that you usually (for efficiency) want an allocation strategy other than literally getting memory from the OS and returning it every time you do something minor, which fortunately C++ allocators can let you do.
But things get complicated pretty quickly, when objects can be accessed from lots of places, and there's no obvious "ok now we're done, free it" point. The usual first step is to manage this with reference counting. Encapsulations like autopointers can help make this easier to use. This is in effect a really crappy garbage collector---not very fast, and prone to memory leaks.
So what do you do next? Usually the first step is noticing that you have a bunch of memory leaks due to your reference counting leaving mutually-referential garbage. So you write a some code to look for objects with non-zero reference counts that aren't referenced by any 'real' live objects (Firefox just recently did this part). Now you have a slightly better ad-hoc garbage collector: reference counting plus cycle collection.
In many cases, by the end you would've been better off in all respects, including efficiency, if you just used an off-the-shelf garbage collector.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Comment removed based on user account deletion
And here I thought Twitter was just a Slashdot Troll / Microsoft fanboy... silly me.
I'm not anti-social, I'm anti-idiot.
Having done both, I will vote that Ruby is much easier to extend with C than Lua.
It was also next to impossible to extend Lua in an Object Oriented way, aside from one effort that was impossibly messy and in the programmers way.
In fact, if the project/library/whatever that you want to make into an extention uses C++, you will need to create a wrapper function for every single C++ class's methods (or make them all static, boo) , because the signature for a Lua exported function must be a regular C function signature.
Not to mention that you have to get intimate with Lua's stack as you pop each of the functions arguments, etc. etc.
Ruby, writen in pure C, is possibly the most clean, and easy to extend scripting language I've seen yet. In fact when writing the extention itself, the C code almost exactly mirrors Ruby to the extent that you are basically writing Ruby code in C.
Since Lua has essentially no libraries compared to the major scripting languages, and writing exentions is painful, I don't see it hosting the next big web anything framework any time soon.
Sample one It's obviously not popular with the ugly nerds populating reddit, digg, twitter and all the nerdy trendy social networks. People who do sex tend to be found on more casual websites like myspace. Will not have sex ever.
Sample two hi i am lilydesu2471 ~~~~_^^:: i cute girl 26 in LA, USA!!111. here is a picture of me with my friend lilydesu2470. I like my cat, he called naruto
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
What about the student who was arrested in Egypt recently and only rescued because he managed to get off a message to Twitter (read by hundreds of people) before his phone was taken away.
Put identity in the browser.
By the way, the guy is off with his Java Servlet/JSP example. It doesn't need to be as hard as he showed it to be.
Open Source Java DAO Generator
The used to run on OpenSolaris when they were with Joyent. They tried to blame their outages on Joyent and changed hosting. That their still having problems can't be blamed on either Linux or Solaris in my opinion.
Open Source Java DAO Generator
Maybe they should switch to django, python-based framework. Google sure believes it can scale well. (hint: app engine) :-)
Twitter is basically a database application, where a lot of the stress comes in getting things into and out of the database at high speed.
How can you expect high performance from a framework that basically hides the sweat from good db programming? Any framework, not just Rails will fail. When you get a load higher than, say 600 reqs per second, you have to come down to understanding how to scale db performance -- take the framework away and start doing serious work.
Say what? Me emailing you a message saying 'out of town this weekend.' is active, but if I use Twitter to do it, it is passive. How so? Twitter will actively send that message via email, sms, whatnot. I'd call that active messaging too.
- Raynet --> .
right now, I'm currently having a laff at this time.
-
.
.
- aqk
F U
And throw away the near perfect scalability of the J2EE stack so you can reinvent the wheel again? I'd love to see someone try to do something like JBoss AS + clustering in plain C/C++, there's no way that you can get a decent ROI from such a project with the current hardware prices.
Basecamp eh? Finally I have a reason to dislike Rails!
There are exactly 42,935,718 letter sized sheets in a square mile.
Ah. I've never seen it. I'm more of a scifi fan.
Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
I would not generate HTML using C++, stick to MVC model, let C++ handle the controller stage and build the model then hand it off to any number of technologies setup for cross browser compatibility (XSLT, templated HTML, SOAP, RSS, XML or emit the model as JSON and use ext toolkit). There are a lot of ways and I have used ext with a lot of success, their code is really solid and lets you prototype a site quickly then attach JSON model and ajax calls (which are really nice to have in C++ so that the site feels responsive under load).
:)
Sure PHP and JSP is nice due to ease of getting things running quickly but when the load gets really high you are then faced with difficult problems which in some cases more hardware can solve but more often it requires a rewrite.
Don't forget hardware is not just buying a computer, it also involves power consumption, cooling fees (air conditioning is quite expensive), network costs, storage/hosting costs, etc. I have worked in too many places where executives just state that they will throw more hardware at the problem and then complain when IT bills for infrastructure reduce their precious ROI to rubble
Statically-linked compiled CGI scripts are usually a lot faster than anything that's interpreted.
I have yet to see a well structured VB6 app. The power of VB6 came from the third party controls market and they are slowly losing support/documentation.
So while I have no doubt in an experienced set of hands RoR could probably do what I use VB6 for, in my line of work it would be total overkill,add unneeded overhead and security risks that a nice VB6 client/server app on an internal network simply doesn't have. Not to mention it would add time that my clients wouldn't appreciate and I doubt I'd be able to make up in billing just to run RoR whereas with VB6 I have saved several years worth of code snippets that allow me to very quickly whip off a simple client server app using either VB6 and Access or MySQl,depending on how big i think the database might grow to. But as I said in an earlier post,if RoR gets the job done and makes the clients happy,I'm glad it works for you. I just hated the way some folks would look down on VB6 like it was just a waste of time when it the right situation it is just as valid a solution IMO as anything else. Maybe more so if you have situations like I get where time is a factor. But that is my 02c,YMMV.
ACs don't waste your time replying, your posts are never seen by me.
Thank god for MSN... I mean... Live Messenger! So much better, or so it tells me.
Ok, now I understand more of what you mean. I will wholeheartedly agree that VB is great for mockups, and strangely it's a great testbed for WinAPI calls.
But still, what happens when the day comes that MS pulls support for VB6? Or is there simply too much inertia in the language to prevent them from killing it?
For the last time, PIN Number and ATM Machine are redundancies!
Yes, using C++ on the back-end makes sense. It's the idea of using C++ to emit HTML that had me scratching my head. No reason for the C++ code to know that there's a web server involved.
Socialism: a lie told by totalitarians and believed by fools.
But,let us say for the sake of arguement that someone REALLY stupid in MSFT decided "VB6 MUST DIE!" and Windows 7 wouldn't run it. I seriously doubt that given the simplicity of the underlying code that it would be very hard for someone who is a better programmer than I to come up with a little VM that allows for the simple VB client/server model to operate. Hell,didn't VB6 still have support for DOS,since it was originally released in '98? If so I bet it wouldn't be hard to tweak FreeDOS to be a host for a single VB6 frontend to connect to whatever backend you have the database sitting on. And with the size of today's HDDs you could easily push out the VM to the desktop of everyone who needed it. Then the user could simply double click on the VM and have it launch the app running in a FreeDOS environment.
But I'm probably over complicating it here. As my VB6 teacher Mr. Mikesell once said "Don't go tearing the server apart before you've even checked the Ethernet cable.". I'm sure someone has already come up with a way to run VB6 in a virtual machine. I just don't have the time ATM to go searching Freshmeat and Sourceforge to check. But as long as there are VB6 apps out there running little jobs that makes a business run a little easier(which is what I always thought VB6 excelled at) I'm sure there will be guys figuring out how to get it to run on newer software/hardware. But that is my 02c,YMMV.
ACs don't waste your time replying, your posts are never seen by me.
Considering it is all that Twitter does, I am suprised that more apps like Facebook haven't started doing it themselves. Once Facebook lets you text your innermost thoughts to all your friends Twitter will cease to exist.
I have excellent Karma and I am not afraid to Troll it.
Why do your friends need to know you are going away during the weekend?
Answer: they don't.
In 99% of what passes for communication nowadays, the need for saying or informing other people about something it completely and utterly artificial.
IANAL but write like a drunk one.
Do they have those technologies in the planet you just recently arrived from?
IANAL but write like a drunk one.
Scaling means that you don't hit performance issues for a particular resource or that you hit them in a lineal fashion.
An application that does not scale will stall at some point for some resource (CPU, disk, network, whatever) and just throwing more resource at the problem will not sort it.
Throwing machines at a problem is a typical case of an application that is not scaling at all, you would expect that an application that is going to scale requests CPU in a linear fashion until a second machine is needed, tha usage scales linearly in both until a third machine is needed and so on.
If you have a process that all of the sudden needs 2 or 3 more machines most likely you should rethink your whole design...
IANAL but write like a drunk one.