code: def basic_diff( source1, source2, start=None, end=None ):
      
      start = start if start is not None else 0
      end = end if end is not None else min( len( source1 ), len( source2 ) )
      end_point = min( end, len( source1 ), len( source2 ) )
  
      pointer = start
      diff_start = None
      results = []
      while pointer < end_point:
          if source1[pointer] != source2[pointer]:
              if diff_start is None:
                  diff_start = pointer
          else:
              if diff_start is not None:
                  results.append( (diff_start, pointer-diff_start) )
                  diff_start = None
          pointer += 1
      if diff_start is not None:
          results.append( (diff_start, pointer-diff_start) )
          diff_start = None
  
      return results
docs: Perform a basic diff between two equal-sized binary strings and
      return a list of (offset, size) tuples denoting the differences.
  
      source1
          The first byte string source.
  
      source2
          The second byte string source.
  
      start
          Start offset to read from (default: start)
  
      end
          End offset to stop reading at (default: end)