But the truth is that I have a larger goal.
(deep breath)
To substantially improve my contributions to FreeBSD.
There. I said it.
I've read that public commitment to a goal increases the odds of success, and this seems pretty public. :-)
So the question is, how? I could use some advice or suggestions, especially from people who have traveled this road. (And if you're in the same boat with me and will be at BSDCan, let me know - I'd love to compare notes!)
So far, my plans for BSDCan are:
- Spend some time with the FAQs for the topics covered, so that I'm not asking well-known questions.
- Play with unfamiliar technologies in advance, to have questions ready.
- At the Getting Started in FOSS session, find some buddies with similar goals - both for the conference and for contributing.
- Strive to not be too much of a fanboy. :-)
My plans for ramping up in my contributions:
- Tackling small outstanding problem reports, submitting patches, testing existing patches that are waiting for feedback, and contributing to bug busting.
- Watching the FreeBSD mailing lists in more depth, looking for problems and practicing figuring out the solutions (and if I can't, find the solution posted and strive to understand it). It's also an opportunity to get a better feel for the culture.
- Learning SGML so that I can contribute to the docs project.
- Working through the Deitel & Deitel C book.
- Use the source, Luke. :-)
- Find a project that interests me and use it to fuel my C learning.
- Study the FreeBSD Committer's Guide - I won't need to know most of it any time soon, but it should provide me with a framework to start understand the philosophy of the project in more detail.
- Ponder the advice from Michael Lucas on becoming a committer (also long term planning).
- Studying Design and Implementation and Modern Operating Systems.
What other tips or advice do you have?
Update: I'll keep a running list of other suggestions I've gotten below:
- Read the FreeBSD style(9) manpage.
- Learn and use vim's formatting and indenting settings (smartindent, cindent, tabstop, expandtab, etc.)
- Read the FreeBSD Architecture Handbook and the more recent Kernel Interfaces Manual.
- Watch videos posted in the YouTube bsdconferences channel.