Not to cry sour grapes here but there is not one mention of Merb in that entire blog post. I personally wrote merb in order to show that rails internals could be much better, modular and faster. I did heavy duty politicking to get the two teams to come together and I think the rails merb merger is one of the coolest open source success stories vie heard of.
But not a single mention of merb in this entire post. I'm not complaining but it seems disingenuous not to mention it as the sole reason I wrote merb was to push rails forward. And when it looked like merb might possibly overtake rails I went ahead and gave merb to the rails project and got the two teams together so there wasn't wasted effort. After all to have ruby and rails itself win we needed to compete with java and python and php. Merb was starting to fragment the ruby community as it became a more and more viable option and I did some personal heavy politicking to get it merged back into rails so we could take on the world instead of infighting within the ruby community.
I think it's been a great success story and most of the ideas of merb's architecture have made it into rails.
So I'm incredibly happy to see rails 3 finally come out. And I'm incredibly happy that my little experiment in making rails architecture better has paid off and the two projects merged. But I do think it's a bit weak that merb was not mentioned once in the article.
(Edit) all this being said I don't want to come across as co plaining. My work on merb ended up exactly as I wanted it to, it made rails better.
So huge congratulations to the rails team for making this happen!
First of all, this is a huge milestone for Rails. From my perspective, this work is three or four years in the making, from the beginning of the Merb efforts, through the merge, and on until the final release of Rails 3.
From a personal perspective, this release is huge closure for me; I feel like I’ve been working on Rails 3 (and associated projects, like Thor and Bundler) for years.
When the Merb team merged into the Rails team, we very quickly got to work. The previous animosity actually melted away rather quickly, to be replaced with the somewhat tense, but productive give and take of a core team.
One of the really amazing things to come out of the last couple of years is a whole slew of new committers to Rails (in addition to Carl and me): José Valim, Aaron Patterson, Xavier Noria and Santiago Pastorino. Rails 3 would still be limping along if not for these guys, who really went above and beyond the call of duty in the past few months to get things past the finish line.
In light of all this, I really haven’t thought much about the old Merb/Rails party lines in a while. I’ve been too focused on Rails and Bundler, and the rest of the core team (old and new alike) have been busy helping.
"Merb was starting to fragment the ruby community as it became a more and more viable option and I did some personal heavy politicking to get it merged back into rails so we could take on the world instead of infighting within the ruby community."
Interesting, if disheartening, perspective.
I much prefer to see greater diversity within a language. I want to see more frameworks, more exploration, more choice. What some may call fragmentation is in fact rich and vibrant and valuable.
And the idea that there is some sort of battle going on among languages, that Ruby needs to "win" against Java or PHP or any language, is truly perverse.
I fear this battle mentality is by no means a minority opinion among Rubyists.
I prefer to use Ramaze for Web development, but I'm glad people can pick Camping or Wave or Wuby or IOWA or Sinatra or any of the dozen other options out there. There are interesting things being done, and not simply so they can be subsumed by some One True Framework.
I was disappointed not to see Nitro get the attention it deserved, to have Chad Fowler tell a conference audience that people working on Nitro should just stop, because "Rails won", was a turning point in how I viewed the larger Ruby culture.
There are many smart, adventurous people doing interesting things with Ruby, but there is also a pervasive cliquishness and neophobia regarding anything that is not somehow tied to Rails.
It's great to see progress made in Rails, but the solidification of Ruby === Rails leaves a bad taste.
It's also becoming an issue in the Python world, in job descriptions and among newbies, that Django == Python, as in questions like "how do I implement a sort in Django ?". Not helped by the fanbois who answer "just use Django" without qualification whenever somebody asks which web framework to use with Python.
While I'm happy that Django has helped promote Python, any monoculture is not only bad, but boring.
Can't help but notice the lack of Padrino (http://www.padrinorb.com/) on this list. Granted, it's a layer on top of Sinatra... It's really quite fantastic. Please do look, and run the stack on 1.9.2 :)
It needs to at least compete with Java/PHP ect. In order to create a big enough ecosystem to provide all the libraries and core features needed and keep them up to date. As well as have enough people explaining things that new people don't feel overly intimidated.
And you know what? It never will. Rubyists need to give this up. It's a pipe-dream. Microsoft can set up large/local conferences, charge $75, and make a sales pitch. Dozens of vendors lined up to hand out schwag and pitch their product.
For management, they don't get the best tool, but if it meets requirements, then it's a no-brainer because the most expensive component license is (usually) cheaper than the dev time to meet the basic requirements in-house (those are usually a small subset of what the component might do).
The bigger issue is that that sort of buy vs build scenario manages risk very well.
Ruby has a lot of strengths, but providing a strong story for managing risk isn't one of them. Especially if you don't bill by the hour.
The world of software development isn't winner take all. The same things that can make Ruby and Rubyists great are some of the same reasons it likely won't ever be a good fit for some of the mass-market issues Java and .NET are a good fit for.
That's OK in my book. I die a little on the inside every time someone tries to sound smart by saying "use the best tool for the job" when often there are clear and obvious winners and losers in software. But in this case... Use the best tool for the job. Or maybe just the tool you like most. If Ruby works for you and your company, you're already doing the risk management thing very well. No reason not to use it.
A language community needs to be robust enough to look after these things. This is not the same thing as, nor does it require, "beating" other languages. Even accounting for limited time and attention from interested developers this is not a zero-sum situation.
Language communities do not need to push for a monoculture in tools and frameworks to be robust; cultures that avoid this are much healthier in the long run.
Ruby has a wealth of frameworks, due to Rack. They all have interesting bits... maybe Rails gets a lot of press, but Sinatra, camping, ramaize, padrino, and others would probably like to have a word with you.
Offtopic: when are you announcing your next project? We're already feeling the lack of your presence at EY as we move to AppCloud. A cool new project would do much to offset that general disappointment (not that it's your problem).
I'm working at Vmware now on a cloud operating system. That's about all I can say right now but it is what runs vmforce and vmware's partnership with google app engine to get spring running there very well. Multiple cloud multiple language paas.
I thought the big thing about Rails 3 was the merging of Merb and Rails. Would it have really hurt DHH to include a sentence of acknowledgement in his long post? I am disappointed.
OP: Yet another example of how Zed was right when he said, "Rails is a Ghetto."
IMO, the Rails/Merb merger is a counter example. It's easier and way more fun to rewrite and port code. Major refactorings with thousands of legacy apps are less fun. It takes a patient, skilled programmer to do it. It's an amazing community achievement that the two teams were able to put aside their differences and work together, like professionals, towards this massive goal.
The blog post is a release announcement meant to focus on features and improvements, not a history lesson. I wouldn't take the lack of a Merb mention as any kind of slight against the old Merb team's efforts.
try being a founder of a ~100 person startup and you will see how weeks quickly become 100 hours. I never meant to say that I did 100 hour weeks every week but I did a lot of 100 hour weeks and definitely not very many 40 hours weeks.
I'm not saying not to get a degree and I do sometimes wish that I had gone for a CS degree. But that being said I have learned all I needed to know in order to grow a 100 people strong cutting edge company and all I have is my GED.
And even though I only have my GED I am still very familiar with how computers work, memory management, building virtual machines, etc. I have a small scheme here that compiles to rubinius bytecode and then gets JIT'd by LLVM into machine code that I will release one of these days and I have read tons of papers and feel like I know as much or more then your average CS degree grad.
Everything you need to know is on the internet nowadays. All you have to do is spend the time to reach out and grab it and you can learn anything you want to learn and eventually get any job you want to get if you only apply yourself hard enough.
I did not mean to disparage college degrees, merely to make a comment that you can learn as much or more then you would learn at your average CS degree school by just applying yourself and reading online, then practice, practice, practice.
I have a 5 1/2 month old boy named Ryland and he is just now finally sleeping all night long(9pm to 7:30am) The first 2-3 months were zombie time. I couldn't get any work done because of the sleep dep.
My one biggest piece of advice. SLEEP WHEN THE BABY SLEEPS. or you will get NO sleep ever.
It will be the roughest thing you have ever gone through but one smile from your childs face up at yours makes it all better and reinvigorates you for another shot of energy for whatever you need to do.
Trust me though you will need to take at least 4 weeks off work for paternity leave assuming you are the father. Then once you go back to work expect to only work on the computer when you are at work. When you get home expect your wife to want some help with the kid and dinner etc. and don't expect to get any computer time at night for the first 3-4 months.
You will only get computer work done at work when you are away from the house and at the office. When you are at home your wife will have a constant stream of little things she will want you to do and you will feel like a slave, but then you will imagine what she goes through being alone with the baby all the time. and you will have mad respect for her.
Mostly try to be supportive and learn to not mumble under your breath when she asks you to do a million little things, Just do them and move along. It will pass soon once the baby hits 6 months or so and starts to have a real personality that you can interact with.
The first 4 months out of the womb is considered the 4th trimester and the kid is really still a foetus. Literally they cannot do anything for themselves until about 4 months. So its all up to you ad your spouse to do everything for them. They will be all floppy for a while not even able to hold their head up without support.
Trust me though it will all be worth it every time your little one smiles in your face and you will be re-invigorated.
Its the most incredible thing that has every happened to me and it made me re-evaluate my life and make major changes(like major changes). I resigned from my startup that I founded after 4 years(engine yard: really long story i'll write a book about someday ;)) to make sure i could spend this time with my son as much as possible. I cannot say what I am doing next but I am moving to Portland where my folks live in order for my son Ryland to be closer to his grandparents. And got a job that was understanding about working remote and weird hours. My new boss is the coolest ever he literally said "As long as you shit good code I don't care where your toilet is" :P
Don't worry, it will come naturally to you like it has to all humans thhroughout time. But remember this
SLEEP WHEN THE BABY SLEEPS DURING THE FIRST 4 MONTHS
I was keen to respond to this thread until I read the above response.
Ezmobius has absolutely nailed it.
I'm an incredible proud Dad to a fifteen week old baby boy and his advice echoes every single thing I was going to say.
Then once you go back to work expect to only work on the computer when you are at work.
I'd like to elaborate on this point. Leaving Mum & baby at home will be difficult for a while, I still struggle with it immensely but it is hugely important to remember that your job is absolutely instrumental as you are now the main breadwinner and your family is relying on you to work hard every minute you are away from them.
As hard as it may be to leave them at home, don't let it be a waste of time, make sure that you are giving 100% when you are away and please don't bring your work home with you if you can avoid it.
Whilst at work, focus on it 100%. Don't spend all day at work wishing you were at home.
Be prepared to argue like crazy with your other half. Regardless of how strong your bond is, you will fall out. Her patience with the baby may be beyond comprehension but do not expect that patience to extend to you. As stressful as it may be for you, I can guarantee it will be worse for her, infinitely worse if she's breastfeeding. Maintain perspective and learn to let everything slide.
Final point: Routine. Routine, routine, routine, routine.
Sleep will become a rare and priceless commodity so it is crucial that you establish a bedtime routine from the beginning.
Find a routine and stick with it. Read to your kid every single night. Even if it's just for a couple of minutes. It may seem pointless in the beginning but stick with it.
Babies bedtime is now my favourite part of the day.
My experience 1 year into Fatherhood agrees with this. We put baby on a cyclic routine of Eat, Play, Sleep since about day 7. She was sleeping through the night at 8wks. Check out "On Becoming Babywise", Gary Ezzo.
Like all the other papas here say, BE SENSITIVE TO YOUR WIFE. Be aware that as your wife breast feeds (if she does) her hormones are still rocking to a different beat every hour. Let complaints roll off your back. Sometimes things won't make sense to you, but go with the flow. Afford her tons of generosity and selflessness. Clean the house for her, offer to take the baby so she can sleep, draw her a bath to soak in with candles and bubbles. Take her on a romantic date if she's up for it so she feels like she's still got it even though she may complain about her body often. Make her life easy and sweet and yours will be good.
Enjoy being daddy! It's absolutely wonderful. You will forget about working overtime. You'll want to spend any and all free time with your little one. Cheers!
> Be aware that as your wife breast feeds (if she does) her hormones are still rocking to a different beat every hour.
Well, and never mind the hormones (though both parents will have a lot of these going on) -- breastfeeding quite literally takes a lot out of you. She will have more to do, but less energy than she's used to.
Just do everything you can, and then more, and look for the humor to put a smile on your face (and hers) whenever you can. It gets easier as you go along.
>My experience 1 year into Fatherhood agrees with this. We put baby on a cyclic routine of Eat, Play, Sleep since about day 7. She was sleeping through the night at 8wks. Check out "On Becoming Babywise", Gary Ezzo.
Didn't your wife find that her breasts were painfully engorged by not feeding the baby all night?
@pbhjpbhj > Nope. In the early weeks, she did feed the baby about every 4 hours, but after about 8-9 weeks she woke the baby around 10pm and fed her and then again at around 6am. We considered it "Through the night" because it was solid sleep for us.
We kind of took the other route, our daughter slept whenever there was time really. We took her backpacking across Europe for 2 months when she was 8 months old, she just slept whenever she was tired. At home she would go to bed if we were at home, but we didn't hesitate to go out for dinner or to a friends house or whatever and she'd just sleep whereever we ended up. In contrast some of our friends have kids who will only sleep if they're in their usual environment which can make things a bit tricky. We're expecting number 2 in 10 weeks, so hopefully the next one is equally easy going.
I find kids adopt to their parents way of doing things. My wife and I are rather calm, and so are our children. They fall asleep easily enough, are happy children, and calm and relaxed.
The problem some parents have with their children is they try to change the way the children behave to something other than what they learned from their parents.
If they are the type to go out, party, invite friends over and stay up late, etc, then they should expect their children to emulate that. It's when the parents want their children to behave differently that you have a problem. This is all purely my own experience.
My sister gets in a panic if the kids aren't in the bath at a particular time, aren't in bed on routine haven't finished a meal at the set time, etc.. PITA I say.
We've had problems now that J has gone to school. We couldn't keep the same sleep regime as we had to be up to get to school.
New borns sleep 18-20 hours a day but the few waking hours are distributed throughout the 24 hour period. This means your sleep will be disturbed in the middle of the night and you will need to make up for it with naps during the day.
Sleep is critical for brain growth and function. Tired dad/mom/baby == crabby dad/mom/baby. It can even lead to a negative feedback loop called being over-tired where one becomes too agitated to enter sleep easily.
After a couple months, you'll want to consider sleep training. This means allowing the kid to cry for increasing periods to unwind and adjust to the solitude/quiet needed for sleep.
Generally agreed, though sleep training is still somewhat controversial. If you and your baby have found sleeping habits that work for you all -- you are getting enough sleep to be functional and be healthy -- then skip it.
My daughter is 14 months, and still wakes during the night to breastfeed (she also eats solid food by now, but still nurses), but she doesn't make any significant noise and doesn't even necessarily wake my wife, and we're both fine and rested in the morning. This has pretty much been the pattern since she was a few months old.
Well... I'm fine and rested in the morning if I have gone to bed at a decent hour. I have trouble concentrating enough to get work done during the day, so I often do it at night. Last night I slept about 5 hours on the couch by my computer then worked as the sun came up. :)
It's not ideal -- I could use more rest in my life -- but I'd rather skip some sleep then cut out any of my involvement in my daughter's life... I'm really enjoying that part. She's learning at an incredible rate, and I'm finding myself pretty good at optimizing her experience (and man, now I really cringe when I see these parents constantly putting the most interesting things just barely out of their poor child's reach, or trying to "discipline" their children into, well, suppressing their essential and powerful natural curiosity).
Thanks for the kind insights, I guess this is exactly the reason I posted the thread. Right now as Hackers we're totally motivated by succeeding with our businesses, then all of a sudden the world is turned upside down & priorities get shuffled (in a good way of course!).
Best of luck with the next venture, maybe we all can do a followup thread in a few years on "Tips for ensuring your Kids grow up into successful Hackers."
As the father of a 1 year old girl who owns a gym and has a start-up, I agree with everything in this post.
ezmobius, I wish I had more votes to give you, as this is one of the best comments I've read on HN.
And an emphasis on sleeping when your baby sleeps, you may need to encourage your wife to sleep, as she'll probably want to do other things.
A friend of mine with 3 kids often says, "Mom takes care of the baby, Dad takes care of Mom." I think that's apt in the first 4 months, just do whatever you can to allow your wife to be the best mother she can be.
> Mom takes care of the baby, Dad takes care of Mom.
I'm pretty opposed to this idea, actually.
Breastfeeding is an obvious exception (I couldn't help much with that, though during the tricky part at the beginning I learned a hell of a lot about how to help the baby latch on), but in general I think you should be doing every single baby task whenever you can.
If you don't, after a few weeks your wife will be so much better at changing diapers, changing clothes, calming the baby when it's upset, taking the baby for a walk, etc. etc. that you won't be able to do it, even when she needs you to. It'll be weird for you, weird for the baby, and you'll just get screams until Mommy comes back, and that means you'll be fairly useless when your wife most needs your help.
If you're working from home, dive in (this was how I did it).
If you are away at work during the day, then when you get home you should take over the baby as much as possible. Change the diapers, even if you're slow & awkward at first (you'll quickly improve), give a bath (also hard at first!), dance the baby around the house and sing some songs. And if the baby has nursed recently, do NOT just hand if off to mom at the first sign of distress -- figure it out yourself. When the baby cries in the middle of the night, take it far away from the bedroom (once you've figured out that it's not hungry, that is), take a deep breath, and start experimenting to learn how you can calm it (it may be different from what mom does). And actually, if you've got bigger hands and a longer reach than your wife, some of these things will be naturally easier for you anyway.
Trust me, you'll be a far more valuable daddy this way.
+1 million on sleep being the biggest issue you'll face. My daughter just turned 2(!) and she's been sleeping 9-10 hours a night for a good long while now, but it took about a year and a half for my IQ to get back up to something approaching what it was before I became a papa. Totally worthwhile to hear her say things like "I want cheese on my mat" or "all of the trains went bye-bye" or "that fell on papa's head" or "I'm a robot monkey", though.
OT to Ez: Welcome to Portland! There's a fairly active Ruby community here, embedded in an extremely active tech community: see calagator.org if you haven't already. I'm happy to share what little I know about parenting in Portland (geeksam at gmail).
SLEEP WHEN THE BABY SLEEPS DURING THE FIRST 4 MONTHS
Having known a few to have done just this; is this a possible evolutionary explanation for the short term ability of poly-phasic sleep? Does anybody know any information on the relation of the two topics? I am having trouble searching for this.
It's not true polyphasic sleep; it's just the best way to deal safely with exhaustion. And just about every new parent goes through a period of exhaustion, because the baby will probably be waking them during their normal sleeping hours, every night... plus there's more to do during the day, so especially first time parents start out trying to do it all (but without the sleep to recover at night), and that catches up with you pretty quickly.
Plus the experience of giving birth to launch this whole adventure means that probably both parents went for a few days with no or very little sleep, and the mother has a lot of physical recovery to do as well (ever worse if it was a c-section), so they're starting off way in the red.
Strangely, this was the thing that changed most dramatically for me work-wise in the months after my daughter was born (in March). The first few weeks are insane sleep-wise and I was a zombie. After that, I have found I don't need to go back to my old sleep levels.
My routine now (works for me, running a business in two timezones - GMT & PST) is:
London office: 9/9.30 --> 5/5.30
Home for bathtime (the baby's!)
Baby into bed ~7.30pm
No work or computer until after 10pm - when I now find I can do a good chunk of productive work (I never used to be able to do this and get up the next morning consistently).
Essentially, having a daughter did what all those years of trying to hack my sleep patterns couldn't do. I don't know if it was being thrown in at the deep end or a change of motivation, but either way...
The late shift also helps because our Seattle-based crew are online then.
30 days after i can recreate but will lose all followers and people i follow. the thing i care about most is the 500 folks i followed, a nice group of folks that will be hard to reassemble.
Look into all of the bs Twitter apps that are out there on the internet. When I google my name, I see lots of random twitter apps I've never heard of that keep track of parts of my twitter account--tweets I've retweeted, who's starred which of my tweets, etc. I bet some of them keep track of who you follow as well.
Actually, I doubt it will take you all that long. At one point, I was following ~1,900 people; I unfollowed all of them to get back to the essence of things… since then, I’ve climbed back to 600, and I don’t believe it took me more than, hm… a few months? If you’re trying to re-amass such a following, instead of trying to keep it down (as I was), you shouldn’t have any trouble at all :D
This approach will not scale. In fact vie seen it personally with multiple of my hostingnclients fall over after even 5000 databases. There has to be a file per table with innodb usually and this approach will work until younhave a few thousand customersmand then you will feel the pain of refactoring this intoms true multi tenant db system
But not a single mention of merb in this entire post. I'm not complaining but it seems disingenuous not to mention it as the sole reason I wrote merb was to push rails forward. And when it looked like merb might possibly overtake rails I went ahead and gave merb to the rails project and got the two teams together so there wasn't wasted effort. After all to have ruby and rails itself win we needed to compete with java and python and php. Merb was starting to fragment the ruby community as it became a more and more viable option and I did some personal heavy politicking to get it merged back into rails so we could take on the world instead of infighting within the ruby community.
I think it's been a great success story and most of the ideas of merb's architecture have made it into rails.
So I'm incredibly happy to see rails 3 finally come out. And I'm incredibly happy that my little experiment in making rails architecture better has paid off and the two projects merged. But I do think it's a bit weak that merb was not mentioned once in the article.
(Edit) all this being said I don't want to come across as co plaining. My work on merb ended up exactly as I wanted it to, it made rails better.
So huge congratulations to the rails team for making this happen!
(Edit) http://rubyonrails.org/merb