SlideShare une entreprise Scribd logo
1  sur  87
Turning Passion Into Words

                      Tips, Tools, Techniques for Aspiring
                                     Authors



twitter: bphogan
email: brianhogan at napcs.com
http://www.flickr.com/photos/jjpacres/3293117576/




why do we write?
http://www.flickr.com/photos/gemmacowan/303427032/




But do people even read books anymore?
Yes. Very yes.




        http://www.flickr.com/photos/30743345@N04/4694171907
"But people can get all that off of blogs!"
The reader wants your
experience, not your answers.
Let’s assume you have a topic.
Understand your audience
Define your target audience

     and decide who is outside
Create a reader profile
Tammy is a backend software developer She works
primarily with Java. She's great with VIm, knows how to
configure Tomcat with XML, and understands how tough it
can be to get requirements out of users, but when it
comes to picking colors, fonts, or layouts, she needs help.
She wants to be able to understand design concepts so
that her conversations with the UI team will go more
smoothly.
Connect with your reader
Dreyfus Model
            (of skill acquisition)

"The Dreyfus model describes how
and why our abilities, attitudes,
capabilities, and perspectives
change according to skill level."

                        -Andy Hunt
Novices

No previous experience, need
 recipes to solve problems.
10 years of experience

or one year of experience ten years
             in a row?
Advanced Beginners

  They can try tasks on their
own, but they still have difficulty
       troubleshooting.
  They want information fast.
Competent

Can develop conceptual models of
 the problem domain, troubleshoot
effectively, and implement their own
           novel solutions.
Proficient

 They need the big picture and want
to understand the framework around
             the skill.
The expert

Experts are the primary sources of
          knowledge and
     information in any field.
Experts are rare.

1-5% of the population
Experts work from intuition

 and they often cannot explain how
       they do what they do.
Which one of these are you?
The competent make the best
        teachers
Most people stop progressing
  at Advanced Beginner.
Learn about this model

and use it to move your reader from
      one stage to the next.
Define your thesis!

What are you talkin' about??
HTML5 and CSS3 are the future of web
development, but you don’t have to
wait to start using them. Even though
the specification is still in
development, many modern browsers
and mobile devices already support
HTML5 and CSS3. This book gets you
up to speed on the new HTML5
elements and CSS3 features you can
use right now, and backwards
compatible solutions ensure that you
don’t leave users of older browsers
behind.
Outline your writing
 1. HTML5 Forms
    1.New form fields
       1.Email, url, tel, number,
        range, date, color
       2.discuss fallbacks
          1.implement fallback
            with jquery-ui for
            calendars
          2.discuss modernizr
    3.Placeholder and Autofocus
       1.Placeholder
          1.Placeholder fallback
            with custom plugin
What do you want the reader
         to learn?
  Set goals at the start and see if you
        meet them at the end.
Research your market
• What books out there are similar to yours?
• Why would yours be different?
• What is your audience size?
• How many of them would buy a book on the
  topic?
• What other books would have similar sales
  numbers to yours?
Your first chapter

and don’t start with “Introduction!”
Write about what you are excited
 about first to gain momentum.
Writing about Code

The best books about code talk more about
the why than the how.

Don’t just explain the code. Explain why
the code you’re demonstrating is the best
solution.
AVOID APPEAL TO
   AUTHORITY
Be the expert Don’t use quotes from well-
known people to bolster your argument.
Use your experience!
Get into a pattern
http://750words.com/
Be consistent. Try to do a chapter
         in two weeks.
Voice

setting the tone.
Be yourself.

Don’t be funny if you’re not.
Beware of emulation

Don’t write like you think you should
 write or how you see others write.
Academic
Behavior driven development (or BDD) is an agile software
development technique that encourages collaboration between
developers, QA and non-technical or business participants in a
software project. It was originally named in 2003 by Dan North[1]
as a response to Test Driven Development, including Acceptance
Test or Customer Test Driven Development practices as found in
Extreme Programming. It has evolved over the last few years[2].
Less Academic
Behavior driven development is a software development
methodology created by Dan North in 2003 as a response
to traditional Test Driven Development. It includes
elements of Extreme Programming, such as acceptance
testing, and it encourages collaboration between technical
and non-technical members of a software development
team.
Say more with less
•   “Utilize” should be “Use”
•   “At this point in time” should be “Now”
•   “What x does is...” - just tell us already!
•   “really”, “very”, “quite”, “severely” don’t
    emphasize things as much as you think they
    do. Look for them, remove them, and see if
    you like how it looks.
Compare:
There are twenty-five students who have already expressed a desire to attend
the program next summer. It is they and their parents who stand to gain the
most by the government grant.

Twenty-five students have already expressed a desire to attend the
program next summer. They and their parents stand to gain the most
by the government grant.
So you have an idea,
a thesis, an outline, some content
    that we’ve written and self-
             edited...

       let’s get published.
Finding a publisher
vs Self Publishing
Benefits of Traditional
    Publishers
They have a brand.
They have people to help you

     •   Developmental editors
     •   Copy editors
     •   Professional indexers
     •   Production managers
     •   Marketers
     •   Artists
     •   Professional Typesetters
     •   Foreign Rights brokers
They are also more
experienced than you
You get a lot of help...
but it comes at a cost.
The Advance

Not always a good deal.
$10,000 advance, 10%
      royalties
If your book doesn't sell, you did a
  years' worth of work for $10,000
Buybacks

 Publishers have to buy back your
books from Amazon if they don't sell.
Self publishing

   Go it alone?
Can you

1. write a concise book that meets the needs of your reader,
   reasonably free of errors?
2. get an unbiased opinion of your work?
3. deliver your book in print form to those that want it?
4. deliver your book in PDF, ePub, or Kindle format in a way
   that actually looks good across multiple platforms and
   devices?
5. be willing to promote the hell out of your book through web
   sites, user groups, communities, trade shows, etc?
Of course you can.

But do you have the time?
Finding a publisher

• Start with a publisher you respect.
• Each publisher has a different process, but
  most publishers have acquisitions editors
  that work to find authors for topics.
  – http://pragprog.com/write-for-us/
  –
Developmental Editors

       Your pair.
A good DE can

• Be a sounding board for your ideas and help you find your
  target audience
• Give you feedback as an outsider on your content
• Help you keep your tone consistent
• Help you stay on track
Copy Editor




You'll want one.
Tools to get stuff done
Version control
Treat your book just like code. It's
            valuable.
A writing tool
X
Avoid MS Word.
Markdown
   plain text to HTML
Extending Ruby
============

Instead of using monkeypatching, we can
include our code
as a *module*.

   module NinjaBehavior
     def attack
       puts "You've been silently killed"
     end
   end

We can then bring this behavior into our
clasess. This
technique is often called a *mixin*.
You can convert Markdown to
 HTML and PDF with relative
           ease.
Markdown does not convey
       meaning.
Docbook
  the revenge of XML
XML is only evil
when you use it wrong.
Docbook features
• Descriptive markup
• Automatic chapter and section numbering
• Automatic cross-referencing
• Table of Contents generation
• Support for indexing
• Extendable
• Complete separation between content and
  presentation
• Export to HTML, PDF, ePub, etc
Docbook example
<chapter xmlns="http://docbook.org/ns/docbook" xml:id="models.association.ext">
<title>Using Association Extensions to group records</title>

  <para>
    Association extensions let us apply methods to our
    ActiveRecord associations so we can quickly get access to your collected data.
  </para>

  <para>
    Our registration system needs a report of all currently enrolled
    students in a given workshop. We can do that fairly quickly by defining our
    own <methodname>currently_enrolled</methodname> method on the
    <classname>Workshop</classname> class like this:.
  </para>

  <programlisting language=”ruby”>
    <![CDATA[
      class Workshop < ActiveRecord::Base
        has_many :enrollments
        has_many :students, :through => :enrollments
        def currently_enrolled
          enrollments.find_all_by_enrolled(true)
        end
      end
    ]]>
  </programlisting>
Structural markup
• chapter
  – sect1
     • sect2
        – sect3
  – para
  – orderedlist
     • listitem
        – para
  – unorderedlist
     • listitem
        – para
Verbatim markup
• programlisting
  – CDATA
     • code
• screen
  – CDATA
     • plain text
Admonishment markup
•   sidebar
•   warning
•   tip
•   note
•   caution
semantic markup
•   application   •   database        •   mousebutton
•   methodname    •   email           •   option
•   varname       •   errorname       •   keycombo
•   classname     •   errortext       •   quote
•   abbrev        •   foreignphrase   •   task
•   acronym       •   funcparams      •   term
•   action        •   funcdev         •   uri
•   arg           •   interface       •   ...more
By using this markup, we can
    create a style guide.
XSLT transformations
• HTML
• Formatting objects (XSL-FO)
  – PDF
  – mobi
• ePub
Docbook demo?
https://github.com/napcs/docbook
Feedback
Promotion
You have to promote your book
•   Twitter
•   Facebook
•   Your blog
•   Your reviewers
•   Amazon reviews
What if I can’t do it all?
Divide up the work
         get a co-author
Beware though....
• You want a unified voice
• You need to deal with your disagreements
• You need to work as a partnership
Not writing a book?
   Everything here still applies.
Other questions?

Contenu connexe

Similaire à Turning Passion Into Words

Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2
Chad Udell
 

Similaire à Turning Passion Into Words (20)

Career Hacks for Developers
Career Hacks for DevelopersCareer Hacks for Developers
Career Hacks for Developers
 
Design Process | Tool 02: Scenario - Tool 03: Wireframe
Design Process | Tool 02: Scenario - Tool 03: WireframeDesign Process | Tool 02: Scenario - Tool 03: Wireframe
Design Process | Tool 02: Scenario - Tool 03: Wireframe
 
Publishing 102 11 18
Publishing 102  11 18Publishing 102  11 18
Publishing 102 11 18
 
SOFLUX Meetup - Landing on your dream job
SOFLUX Meetup - Landing on your dream jobSOFLUX Meetup - Landing on your dream job
SOFLUX Meetup - Landing on your dream job
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
 
Biggest Mistake of Broke Web Designers
Biggest Mistake of Broke Web Designers Biggest Mistake of Broke Web Designers
Biggest Mistake of Broke Web Designers
 
Job Seeking in a Web Based World
Job Seeking in a Web Based World Job Seeking in a Web Based World
Job Seeking in a Web Based World
 
Tools and Resources for Transition from Libraries to Wider Community Use Cent...
Tools and Resources for Transition from Libraries to Wider Community Use Cent...Tools and Resources for Transition from Libraries to Wider Community Use Cent...
Tools and Resources for Transition from Libraries to Wider Community Use Cent...
 
Designing Your Career @ amUX Atlanta
Designing Your Career @ amUX AtlantaDesigning Your Career @ amUX Atlanta
Designing Your Career @ amUX Atlanta
 
How to Build your Career.pptx
How to Build your Career.pptxHow to Build your Career.pptx
How to Build your Career.pptx
 
NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1
 
Technical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD NigeriaTechnical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD Nigeria
 
The passionate programmer
The passionate programmerThe passionate programmer
The passionate programmer
 
Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2
 
Copywriting for UX
Copywriting for UXCopywriting for UX
Copywriting for UX
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Android Developer Training
Android Developer TrainingAndroid Developer Training
Android Developer Training
 
“If they would just listen to us...”: Turning Internal Client Relationships i...
“If they would just listen to us...”: Turning Internal Client Relationships i...“If they would just listen to us...”: Turning Internal Client Relationships i...
“If they would just listen to us...”: Turning Internal Client Relationships i...
 
DevRel Salon - Writing Decent Documentation, a learning journey with plenty o...
DevRel Salon - Writing Decent Documentation, a learning journey with plenty o...DevRel Salon - Writing Decent Documentation, a learning journey with plenty o...
DevRel Salon - Writing Decent Documentation, a learning journey with plenty o...
 
Concept to Launch: The Ultimate Confluence Guide for Software Teams
Concept to Launch: The Ultimate Confluence Guide for Software TeamsConcept to Launch: The Ultimate Confluence Guide for Software Teams
Concept to Launch: The Ultimate Confluence Guide for Software Teams
 

Plus de Brian Hogan

FUD-Free Accessibility for Web Developers - Also, Cake.
FUD-Free Accessibility for Web Developers - Also, Cake.FUD-Free Accessibility for Web Developers - Also, Cake.
FUD-Free Accessibility for Web Developers - Also, Cake.
Brian Hogan
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
Brian Hogan
 

Plus de Brian Hogan (20)

Creating and Deploying Static Sites with Hugo
Creating and Deploying Static Sites with HugoCreating and Deploying Static Sites with Hugo
Creating and Deploying Static Sites with Hugo
 
Automating the Cloud with Terraform, and Ansible
Automating the Cloud with Terraform, and AnsibleAutomating the Cloud with Terraform, and Ansible
Automating the Cloud with Terraform, and Ansible
 
Create Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantCreate Development and Production Environments with Vagrant
Create Development and Production Environments with Vagrant
 
Docker
DockerDocker
Docker
 
Getting Started Contributing To Open Source
Getting Started Contributing To Open SourceGetting Started Contributing To Open Source
Getting Started Contributing To Open Source
 
Rethink Frontend Development With Elm
Rethink Frontend Development With ElmRethink Frontend Development With Elm
Rethink Frontend Development With Elm
 
Testing Client-side Code with Jasmine and CoffeeScript
Testing Client-side Code with Jasmine and CoffeeScriptTesting Client-side Code with Jasmine and CoffeeScript
Testing Client-side Code with Jasmine and CoffeeScript
 
FUD-Free Accessibility for Web Developers - Also, Cake.
FUD-Free Accessibility for Web Developers - Also, Cake.FUD-Free Accessibility for Web Developers - Also, Cake.
FUD-Free Accessibility for Web Developers - Also, Cake.
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Web Development with CoffeeScript and Sass
Web Development with CoffeeScript and SassWeb Development with CoffeeScript and Sass
Web Development with CoffeeScript and Sass
 
Building A Gem From Scratch
Building A Gem From ScratchBuilding A Gem From Scratch
Building A Gem From Scratch
 
Intro To Advanced Ruby
Intro To Advanced RubyIntro To Advanced Ruby
Intro To Advanced Ruby
 
HTML5 and CSS3 Today
HTML5 and CSS3 TodayHTML5 and CSS3 Today
HTML5 and CSS3 Today
 
Web Development With Ruby - From Simple To Complex
Web Development With Ruby - From Simple To ComplexWeb Development With Ruby - From Simple To Complex
Web Development With Ruby - From Simple To Complex
 
Stop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard LibraryStop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard Library
 
Make GUI Apps with Shoes
Make GUI Apps with ShoesMake GUI Apps with Shoes
Make GUI Apps with Shoes
 
The Why Of Ruby
The Why Of RubyThe Why Of Ruby
The Why Of Ruby
 
Story-driven Testing
Story-driven TestingStory-driven Testing
Story-driven Testing
 
Learning To Walk In Shoes
Learning To Walk In ShoesLearning To Walk In Shoes
Learning To Walk In Shoes
 
Rails and Legacy Databases - RailsConf 2009
Rails and Legacy Databases - RailsConf 2009Rails and Legacy Databases - RailsConf 2009
Rails and Legacy Databases - RailsConf 2009
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Turning Passion Into Words

  • 1. Turning Passion Into Words Tips, Tools, Techniques for Aspiring Authors twitter: bphogan email: brianhogan at napcs.com
  • 4. Yes. Very yes. http://www.flickr.com/photos/30743345@N04/4694171907
  • 5. "But people can get all that off of blogs!"
  • 6. The reader wants your experience, not your answers.
  • 7. Let’s assume you have a topic.
  • 9. Define your target audience and decide who is outside
  • 10. Create a reader profile Tammy is a backend software developer She works primarily with Java. She's great with VIm, knows how to configure Tomcat with XML, and understands how tough it can be to get requirements out of users, but when it comes to picking colors, fonts, or layouts, she needs help. She wants to be able to understand design concepts so that her conversations with the UI team will go more smoothly.
  • 12. Dreyfus Model (of skill acquisition) "The Dreyfus model describes how and why our abilities, attitudes, capabilities, and perspectives change according to skill level." -Andy Hunt
  • 13. Novices No previous experience, need recipes to solve problems.
  • 14. 10 years of experience or one year of experience ten years in a row?
  • 15. Advanced Beginners They can try tasks on their own, but they still have difficulty troubleshooting. They want information fast.
  • 16. Competent Can develop conceptual models of the problem domain, troubleshoot effectively, and implement their own novel solutions.
  • 17. Proficient They need the big picture and want to understand the framework around the skill.
  • 18. The expert Experts are the primary sources of knowledge and information in any field.
  • 19. Experts are rare. 1-5% of the population
  • 20. Experts work from intuition and they often cannot explain how they do what they do.
  • 21. Which one of these are you?
  • 22. The competent make the best teachers
  • 23. Most people stop progressing at Advanced Beginner.
  • 24. Learn about this model and use it to move your reader from one stage to the next.
  • 25. Define your thesis! What are you talkin' about??
  • 26. HTML5 and CSS3 are the future of web development, but you don’t have to wait to start using them. Even though the specification is still in development, many modern browsers and mobile devices already support HTML5 and CSS3. This book gets you up to speed on the new HTML5 elements and CSS3 features you can use right now, and backwards compatible solutions ensure that you don’t leave users of older browsers behind.
  • 27. Outline your writing 1. HTML5 Forms 1.New form fields 1.Email, url, tel, number, range, date, color 2.discuss fallbacks 1.implement fallback with jquery-ui for calendars 2.discuss modernizr 3.Placeholder and Autofocus 1.Placeholder 1.Placeholder fallback with custom plugin
  • 28. What do you want the reader to learn? Set goals at the start and see if you meet them at the end.
  • 29. Research your market • What books out there are similar to yours? • Why would yours be different? • What is your audience size? • How many of them would buy a book on the topic? • What other books would have similar sales numbers to yours?
  • 30. Your first chapter and don’t start with “Introduction!”
  • 31. Write about what you are excited about first to gain momentum.
  • 32. Writing about Code The best books about code talk more about the why than the how. Don’t just explain the code. Explain why the code you’re demonstrating is the best solution.
  • 33. AVOID APPEAL TO AUTHORITY Be the expert Don’t use quotes from well- known people to bolster your argument. Use your experience!
  • 34. Get into a pattern
  • 36. Be consistent. Try to do a chapter in two weeks.
  • 38. Be yourself. Don’t be funny if you’re not.
  • 39. Beware of emulation Don’t write like you think you should write or how you see others write.
  • 40. Academic Behavior driven development (or BDD) is an agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in a software project. It was originally named in 2003 by Dan North[1] as a response to Test Driven Development, including Acceptance Test or Customer Test Driven Development practices as found in Extreme Programming. It has evolved over the last few years[2].
  • 41. Less Academic Behavior driven development is a software development methodology created by Dan North in 2003 as a response to traditional Test Driven Development. It includes elements of Extreme Programming, such as acceptance testing, and it encourages collaboration between technical and non-technical members of a software development team.
  • 42. Say more with less • “Utilize” should be “Use” • “At this point in time” should be “Now” • “What x does is...” - just tell us already! • “really”, “very”, “quite”, “severely” don’t emphasize things as much as you think they do. Look for them, remove them, and see if you like how it looks.
  • 43. Compare: There are twenty-five students who have already expressed a desire to attend the program next summer. It is they and their parents who stand to gain the most by the government grant. Twenty-five students have already expressed a desire to attend the program next summer. They and their parents stand to gain the most by the government grant.
  • 44. So you have an idea, a thesis, an outline, some content that we’ve written and self- edited... let’s get published.
  • 45. Finding a publisher vs Self Publishing
  • 47. They have a brand.
  • 48. They have people to help you • Developmental editors • Copy editors • Professional indexers • Production managers • Marketers • Artists • Professional Typesetters • Foreign Rights brokers
  • 49. They are also more experienced than you
  • 50. You get a lot of help... but it comes at a cost.
  • 51. The Advance Not always a good deal.
  • 52. $10,000 advance, 10% royalties If your book doesn't sell, you did a years' worth of work for $10,000
  • 53. Buybacks Publishers have to buy back your books from Amazon if they don't sell.
  • 54. Self publishing Go it alone?
  • 55. Can you 1. write a concise book that meets the needs of your reader, reasonably free of errors? 2. get an unbiased opinion of your work? 3. deliver your book in print form to those that want it? 4. deliver your book in PDF, ePub, or Kindle format in a way that actually looks good across multiple platforms and devices? 5. be willing to promote the hell out of your book through web sites, user groups, communities, trade shows, etc?
  • 56. Of course you can. But do you have the time?
  • 57. Finding a publisher • Start with a publisher you respect. • Each publisher has a different process, but most publishers have acquisitions editors that work to find authors for topics. – http://pragprog.com/write-for-us/ –
  • 58. Developmental Editors Your pair.
  • 59. A good DE can • Be a sounding board for your ideas and help you find your target audience • Give you feedback as an outsider on your content • Help you keep your tone consistent • Help you stay on track
  • 61. Tools to get stuff done
  • 62. Version control Treat your book just like code. It's valuable.
  • 65. Markdown plain text to HTML
  • 66. Extending Ruby ============ Instead of using monkeypatching, we can include our code as a *module*. module NinjaBehavior def attack puts "You've been silently killed" end end We can then bring this behavior into our clasess. This technique is often called a *mixin*.
  • 67. You can convert Markdown to HTML and PDF with relative ease.
  • 68. Markdown does not convey meaning.
  • 69. Docbook the revenge of XML
  • 70. XML is only evil when you use it wrong.
  • 71. Docbook features • Descriptive markup • Automatic chapter and section numbering • Automatic cross-referencing • Table of Contents generation • Support for indexing • Extendable • Complete separation between content and presentation • Export to HTML, PDF, ePub, etc
  • 72. Docbook example <chapter xmlns="http://docbook.org/ns/docbook" xml:id="models.association.ext"> <title>Using Association Extensions to group records</title> <para> Association extensions let us apply methods to our ActiveRecord associations so we can quickly get access to your collected data. </para> <para> Our registration system needs a report of all currently enrolled students in a given workshop. We can do that fairly quickly by defining our own <methodname>currently_enrolled</methodname> method on the <classname>Workshop</classname> class like this:. </para> <programlisting language=”ruby”> <![CDATA[ class Workshop < ActiveRecord::Base has_many :enrollments has_many :students, :through => :enrollments def currently_enrolled enrollments.find_all_by_enrolled(true) end end ]]> </programlisting>
  • 73. Structural markup • chapter – sect1 • sect2 – sect3 – para – orderedlist • listitem – para – unorderedlist • listitem – para
  • 74. Verbatim markup • programlisting – CDATA • code • screen – CDATA • plain text
  • 75. Admonishment markup • sidebar • warning • tip • note • caution
  • 76. semantic markup • application • database • mousebutton • methodname • email • option • varname • errorname • keycombo • classname • errortext • quote • abbrev • foreignphrase • task • acronym • funcparams • term • action • funcdev • uri • arg • interface • ...more
  • 77. By using this markup, we can create a style guide.
  • 78. XSLT transformations • HTML • Formatting objects (XSL-FO) – PDF – mobi • ePub
  • 82. You have to promote your book • Twitter • Facebook • Your blog • Your reviewers • Amazon reviews
  • 83. What if I can’t do it all?
  • 84. Divide up the work get a co-author
  • 85. Beware though.... • You want a unified voice • You need to deal with your disagreements • You need to work as a partnership
  • 86. Not writing a book? Everything here still applies.

Notes de l'éditeur

  1. \n
  2. We write to teach. We write because sometimes we have something we want to tell people about. Sometimes it&apos;s because we are excited about a topic, and sometimes we write because we think people need to know about something.\n
  3. So the first question I get from people when they find out i write books is &quot;Do people \n
  4. \n
  5. They sure can. But they have to look through the blogs, they have to vet the writer and the writer&apos;s experience. If you&apos;ve searched Google for the answers to problems, sometimes you have to do a lot of sifting.\n
  6. You come to the table with answers backed by experience. Out of the 20 ways to solve that JS problem, you know the one that works in a particular given situation. You&apos;ve been there. \n
  7. You&amp;#x2019;ve got something you want to talk about, so now let&amp;#x2019;s see if there&amp;#x2019;s interest.\n
  8. When you&apos;re writing, you want to share what you know, but you have to be sure you know who you&apos;re talking to. \n\nAre they experts? Are they beginners? \n
  9. You want to decide early on who your target audience is. But also think about who is out of scope. If you&apos;re teaching beginner topics, you may not go very deep into anything.&amp;#xA0;\n&amp;#xA0;\nIf you&apos;re teaching an expert topic, don&apos;t be afraid to skip some of the beginner stuff. \n
  10. This is our reader profile It&apos;s a persona. You may develop more than one of these, but you want to think of this person as the person you&apos;re working with as you write your book.\n
  11. Understand their problems, their mindset, and their goals.You want to be their guide. \n
  12. There&amp;#x2019;s more to skill levels than just being better, smarter, or faster.\n\nExpert staff members working in the trenches aren&amp;#x2019;t alwaysrecognized as experts or paid accordingly\n&amp;#xA0;\nNot everyone regarded as an expert actually has the abilities we think they do.\n&amp;#xA0;\n&amp;#xA0;\n
  13. Novices are very concerned about their ability to succeed; with littleexperience to guide them,\n
  14. \n
  15. They don&apos;t really want theory, they just want to get stuff done. They know the basics. People who run to the API first are typical Advanced Beginners.\n
  16. They can also seek out the advice of experts and synthesize it.\n
  17. When you call tech support about your computer, you get irritated because they give you the runaround.\n
  18. \n
  19. Experts are not perfect, and experts may disagree with each other.\n
  20. Experts may disagree with eachother an the appropriate approaches.\n
  21. In your field, how many of you are novices?\n\nHow many are advanced beginners?\n\nHow many are competent?\n\nHow many are proficient?\n\nNow how many experts do we have?\n
  22. They&apos;re still close to the novice, they are still learning themselves, and they&apos;ve not gotten too far into something to forget what it&apos;s like. \n
  23. Because they move on to something else. It takes a very long time to become great at something, and we don&apos;t really have a field that lets us do that.\n
  24. Start with a novice, and make them an advanced beginner.&amp;#xA0;\n\nStart with an advanced beginner and make them competent.\n
  25. What is your main topic? What problem are you trying to solve? What are you trying to teach?\n
  26. Think about how this thesis will tie into your reader profile. What goals are you setting for them?\n
  27. The more detail you can add to your outline, the better off you&apos;ll be as you go into each chapter.\n
  28. It always comes back to this.\n
  29. Assuming you can get these questions answered, and you&amp;#x2019;re optimistic enough to think you can move on, then....\n
  30. So now that you have an outline, a thesis, and a reader profile, start writing your first chapter\n
  31. \n
  32. \n
  33. Saying &amp;#x201C;The HTML5 Boilerplate, written by Paul Irish of Google, is the best option.&amp;#x201D; Explain why you use it.\n
  34. Write every day. \n
  35. 750words is a great way to track your writing. The idea is to write 750 words a day. There&amp;#x2019;s a scorecard. You get 1 point for writing something, 2 points for 750 words, and 3 points or more for writing even more. \n
  36. \n
  37. \n
  38. We often rely on humor to make tech books more interesting, but if you do it too much you&amp;#x2019;re just going to come off annoying and grating. A good editor or technical reviewers will help that process greatly. \n\n
  39. We have a tendancy to write very academically. We tend to use bigger words than we need to because we see it all the time in other writing.\n\n
  40. \n
  41. We don&amp;#x2019;t need to focus on things that the reader doesn&amp;#x2019;t care about.\n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. Having your book published under the banner of a publisher that&apos;s respected in your firled can carry a lot of weight.\n
  48. \n
  49. They know about other books coming along, they have access to technical reviewers that you might not have. They can turn out great looking copies of your book for the iPad and the Kindle.\n
  50. \n
  51. Some publishers offer an advance. That means they pay you up front for the work, but y ou don&apos;t receive any royalties until you accrue the amount of the advance.\n
  52. \n
  53. This comes out of future royalty payments.\n
  54. So, to many of us, with the technology available, why not self-publish?\n
  55. \n
  56. How many of you do your own taxes, or accounting work, or your own legal forms?\n\nWe pay experts to do this.\n
  57. \n
  58. Nothing helped me more as a writer than having a couple of excellent developmental edtiros after having a couple of very mediocre ones. \n
  59. If you are going to self-publish, hire a developmental editor either on a royalty basis or a flat fee. Don&apos;t go it alone.\n
  60. You&apos;ll want someone with a keen eye for grammar and spelling, especially if you&apos;re not that great at it.\n
  61. \n
  62. \n
  63. You also need a writing tool.\n\nPen and paper is good, and it&apos;s important to use whatever works best for you in order to get the words out of your head and in some organzed format.\n
  64. Microsoft Word may be an easy place for some people to start writing, but I promise you that path leads nowhere good.\n
  65. Markdown was created by John Gruber and Aaron Swartz and it&amp;#x2019;s a simple way to write up content. You don&amp;#x2019;t use tags, you just use some conventions.\n\n
  66. We use equals signs underneath the main header to convert that to a header. We indent our code four spaces. We can italicize words by putting asterisks around them.\n
  67. \n
  68. You can&amp;#x2019;t express the meaning of things with Markdown. It&amp;#x2019;s great for the attention deficit, and while it may be a nice way to throw some slides together, when you&amp;#x2019;re writing a book you need something more.\n
  69. Docbook. It&amp;#x2019;s an XML markup language for writing books.\n\n
  70. There&amp;#x2019;s a hatred for XML because iwe&amp;#x2019;ve seen it used for configuration files in big programming frameworks. But XML is a markup language and is really quite nice to work with when writing books.\n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. Don&amp;#x2019;t write in the dark. Get feedback, and get it from lots of people. Get it from strangers, experts, newbies, etc.\n
  81. \n
  82. Get people to promote your book for you. Give copies away to people early on. Have them review it.\n
  83. \n
  84. Find someone you can work with.\n
  85. The reader needs to feel as it&amp;#x2019;s one author writing the book. And you need to be able to reconcile your differences of opinions. You also need to be able to pick up the slack. Writing is hard stuff. Sometimes you can&amp;#x2019;t do it. So your buddy needs to take that on with you.\n
  86. Planning, writing, editing, tech reviewing, promotion, all of that stuff still applies to written communication.\n
  87. \n