When I started this thing I thought I would have time for it.
It’s really not turning out that way.
When I started this thing I thought I would have time for it.
It’s really not turning out that way.
I just signed up for this:
http://barcamp.pbwiki.com/BarCampWashingtonDC
We had an UnConference at AOL this past Friday, and I thought it was very cool and very effective. BarCamp is supposed to be like that, and open to the general population - so long as you’re willing to participate, and not just spectate.
For my part, I intend to hold a (or more than one?) Ruby on Rails session, which I’m sure will only be one of several. I’m sort of hoping the venerable Mr. Lawver and/or Mr. Garber might grace my session with their presence.
I’m thinking of doing one or more of the following (and I may add to this list as ideas come):
I’m looking forward to it, whenever it winds up happening.
Is it just me, or is every single phone company in the world a huge pain to deal with?
A few months ago I had a Frontier phone number ported over to Packet8’s VoIP service. Everything went perfectly. Almost. Since then, anyone in the world who is using any carrier other than Frontier gets routed to my VoIP phone when they dial the ported number. But if you’re using a Frontier telephone and you dial that number, you still ring through to the old land line.
It gets better. That land line shouldn’t even have a dial tone on it anymore, yet it does. I can even make outgoing phone calls with it. I haven’t been billed by Frontier since March, and yet I have a fully functioning phone connected to their service.
But since I want Frontier customers to be able to call me, I decided to call Frontier and point out to them that their switches are still routing calls for a number that doesn’t belong to them anymore to a phone line that does, when all the rest of the world - Verizon, Ameritech, Sprint, Pacific Bell, whomever - gets it right. On the first call I made the mistake of calling customer service who, if you start talking about switches and other things technical, get confused and flustered. Their stance was that since it’s Packet8’s phone number, it’s Packet8’s problem. Apparently the striking coincidence that the only people in the world who cannot call me are Frontier’s own customers was beyond their ability to comprehend.
2nd phone call, I ask to speak to repair. I explain the issue all over again, and repair tells me that they cannot open a trouble ticket to fix the problem because I am not their customer. Brilliant. I told her that if Waste Management were dumping trash on my front lawn, I would call them to ask them to stop even if I weren’t their customer, because no one else could fix the problem but them. I am a Waste Management customer, but that’s beside the point. She didn’t get the analogy at all. So I told her, “My point is this: If I’m not your customer - great. Stop routing phone calls to my Frontier phone line, then.” This did not make her happy, but I knew I wasn’t going to get anywhere further anyways, so it was worth it.
On the 3rd call I got someone in customer service who actually sounded like he understood the issue and wanted to help me, but he put me on hold and I accidentally pulled the phone cord out of the wall when I tried to get something out of the fridge. Dammit.
Oh yeah, at this point I’m using their own “disconnected” phone line to call them, just for the irony of it.
It isn’t until the 4th call that I finally get sent to someone in repair who actually has a couple of brain cells to rub together, fully gets the issue and can see it’s obviously Frontier’s switches that are to blame, and says she’ll open a trouble ticket and everything should be sorted out by Thursday at the latest. Funny that she was able to open a ticket when the woman I spoke to on my 2nd call told me it was impossible, since I’m not their customer.
It occurred to me during this 4th call that here I was putting up with all kinds of flack from Frontier and jumping through all kinds of hoops just to convince them that they probably shouldn’t be giving me free phone service anymore.
I’m not really sure why.
I love Rails. I really do. Developing with Rails is a pleasure, and it enables one to get a project out the door very very quickly. But when it comes to running in production, we all know that Rails presents significant scaling challenges.
Java, on the other hand, is almost the opposite. Developing an app in Java takes comparatively longer, but once it’s out there the speed is incredible, and scalability is nearly limitless.
I’m working on two different applications right now, both of which I plan to launch to the public when they’re complete. I’m writing them with Rails, and I’m concerned about their ability to scale to a large user base. So my strategy for each will be this:
There’s no reason why an instance of Tomcat (or Resin, or Glassfish) cannot access the same database and memory cache (assuming the use of memcached) as Mongrel on the same host. So there’s no reason why if, for example, your image upload functionality is crumbling under load you cannot re-implement it in Java and point the relevant URLs away from Mongrel and toward Tomcat. There’s also no good reason why you cannot migrate the entire application over to Java over time.
This, I think, gives you the best of both worlds. You can get your app out the door very rapidly with Rails, and then begin re-implementing in Java to get high performance. Essentially in this way Rails has bought you time to implement your application in Java, without having to wait for that to get it to market.