User talk:Duggabe

From GNU Radio
Revision as of 16:12, 18 September 2022 by Duggabe (talk | contribs)
Jump to navigation Jump to search

Tech writing presentation

This is a DRAFT.

Preparation

  • GNU Radio Main Page
   https://wiki.gnuradio.org/index.php/Main_Page
  • A Newbie's Guide to the GNU Radio Universe
   https://www.youtube.com/watch?v=uxAW-WzuNy0

Background

  • Amateur radio operator since 1953
  • Electrical Engineering degree 1961
  • Computer programmer since 1962
  • Retired 2003
  • Started working on GNU Radio 2019

What is GNU Radio

GNU Radio is a free and open-source software development toolkit that provides Digital Signal Processing blocks to implement Software Defined Radios. It is an entirely volunteer organization with contributors from all over the world.

Why did I get involved?

I discovered GNU Radio when reading an amateur radio manual. I thought it was a fascinating concept to use software instead of hardware to create a radio. After reading the "discuss-gnuradio" mailing list for a while, I noticed a recurring topic of "GNU Radio documentation is terrible". Looking at it, I had to agree, and decided to do something about it.

Learn by Doing

  • When I got involved, the switch to using a Wiki was new. Many of the blocks were just skeletons with no real content. For example, https://wiki.gnuradio.org/index.php?title=Cvsd_encoder is yet to be documented after more than four years.
    • I had to learn to use MediaWiki.
    • I had to learn what a block did before I could write about it!
    • After the first year of working on them, I had done over 150 blocks and written or updated about 10 tutorials.

Help others to Learn

I have found that the best way to learn about a technical subject is to study a turorial about it. However, there were very few tutorials, and the ones which existed were out of date because of newer software releases of GNU Radio.

Adopting a Style

It was rather surprising to me that there was no formal guidance for the style of the Block Docs or for tutorials. As I started working on the Block Docs, I derived a skeleton format which covered all of the items I found in various blocks. That gave a consistent layout from one block to the next. I also got some guidance from my mentor at GNU Radio based on unwritten expectations of how a block should be documented.

For the Tutorials, there was much more latitude to create / use my own style. My basic approach was to write for a beginner with only the Prerequisites as a background. Other than that, I used an "Assume nothing" approach.

Some examples

One of my more popular tutorials is https://wiki.gnuradio.org/index.php?title=Simulation_example:_FSK Along with that, I wrote the Block Doc for the https://wiki.gnuradio.org/index.php?title=VCO which is the key block in generating the FSK signal.

In doing my work on the documentation, I wanted to make sure that what I wrote actually worked. So for each of my blocks and example flowgraphs, I created and tested them before I published them. For several of them, I created a complete working system using SDR hardware to operate with an amateur radio station. For example, https://github.com/duggabe/gr-RTTY-basics implements an amateur radioteletype station.