Differences between revisions 12 and 30 (spanning 18 versions)
Revision 12 as of 2013-02-28 21:53:53
Size: 1957
Editor: techtonik
Comment: Subversion crediting practices is a must have for highscores to work
Revision 30 as of 2015-02-08 22:44:43
Size: 4756
Editor: techtonik
Comment: add stuff to keep track of
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
[[techtonik/ideas]]

 * prematurely closed: https://github.com/pypa/pip/issues/2409
Line 3: Line 7:
Core Python flaws. Core Python 2 flaws.
Line 7: Line 11:
 * `-*- coding -*-` header [[http://bugs.python.org/issue17439|is not used as default encoding]] when transforming string literals in the source file
 * can not modify variables in outer scope (see nonlocal from Python 3)
Line 15: Line 21:
 * tracker fixes
   * 'action item' issue type
   * everybody should be able to add/remove blockers
   * 'reply' link for each message to track threads
 * monthly mailing list FAQ (status) posts on busy mailing lists [[https://mail.python.org/pipermail/distutils-sig/2010-March/015907.html|.]]
   * contain the most updated info on list topic
   * encourage replies with fixes
   * encourage collaborative roadmaps

PEP process improvements.

 * credit contributors, and not only authors as rereading and validating the spec requires time too
 * reduce formalism on [[http://mail.python.org/pipermail/python-dev/2012-December/123231.html|who can participate]]
 * accept edits as patches ([[https://code.google.com/p/pydotorg/source/browse/?repo=doceditor|create online editor]])
 * build list of contributors with Mercurial

Ideas:

 * Normalized Python
 * Iterative Development Process
 * Language for humans should help them save time for most frequent operations
 * Replace pipes with channels for subprocess (rotated queue of strings)
Line 27: Line 55:
=== Skill credits for readers of this page === === Ideas open for the taking ===
Line 29: Line 57:
Welcomed open source art: Open Source artists wanted (credits available):
Line 40: Line 68:
 * steal twisted highscores - http://twistedmatrix.com/highscores/
   * and Subversion crediting - http://subversion.apache.org/docs/community-guide/conventions.html#crediting
 * HighScore

Just a list:
 * RIDLE - replace IDLE with modern alternative
   * minimalism (perfection achieved not when it is nothing more to add...)
     * get a list of current IDLE features, put them in a table
     * filter out features that are the most critical
     * accent on User eXperience
   * incrementalism (development process)
     * monthly development iterations
     * schedule the most important feature per iteration
   * community process
  
=== steAm and SMArt (dealing with complexity) ===

Canvas2D ideas:

 * redo *key status script* for PySDL2, pyprocessing and (maybe) pyglet

 * http://devinvenable.blogspot.com/2009/12/creating-digital-synth-sounds-using.html
 * http://devinvenable.blogspot.com/2010/07/opengl-intellivision-man.html

Dynamic data visualization examples:
 * http://www.fudgie.org/
 * https://code.google.com/p/logstalgia/

=== Human Language Translation Table ===

`Explicit is better than implicit.` doesn't apply to humans, apparently.

|| '''Explicit''' || '''Implicit''' || '''Comment''' ||
|| it's annoying, urgent, really serious || -- || humans don't like serious issues, remove ||
|| fix it ASAP || -- || humans read it as a direct command, become aggravated, remove ||
|| you're wrong || I'm not sure that's a good idea || humans don't like to be wrong, become demotivated ||
|| X suxx || I think Y would be a better solution that X || humans attached to X don't like when X suxx, but may like Y ||
|| X suxx || X is great, but.. || humans attached to X may get outrageous to hear that X suxx ||

techtonik/ideas

Python wishlist

Core Python 2 flaws.

  • locals() returns a variable that can be updated at any moment (and changes behavior under trace function)
  • internal representation of .py file paths is not normalized (comparisons and identity checks are impossible)
  • -*- coding -*- header is not used as default encoding when transforming string literals in the source file

  • can not modify variables in outer scope (see nonlocal from Python 3)

Missing features of community development process.

  • +1 on mailing list posts, on tracker comments and bugs
  • personal roadmaps listing features people find important and work on
  • de-facto roadmap for the next Python version - Trac milestones
  • real-time activity feed for http://bugs.python.org/

    • activity by module, by version
  • tracker fixes
    • 'action item' issue type
    • everybody should be able to add/remove blockers
    • 'reply' link for each message to track threads
  • monthly mailing list FAQ (status) posts on busy mailing lists .

    • contain the most updated info on list topic
    • encourage replies with fixes
    • encourage collaborative roadmaps

PEP process improvements.

  • credit contributors, and not only authors as rereading and validating the spec requires time too
  • reduce formalism on who can participate

  • accept edits as patches (create online editor)

  • build list of contributors with Mercurial

Ideas:

  • Normalized Python
  • Iterative Development Process
  • Language for humans should help them save time for most frequent operations
  • Replace pipes with channels for subprocess (rotated queue of strings)

Component wishlist

Public domain or MIT preferred.

  • wikify - micro-framework for text wikification (easy to extend and debug) (1, 2)

    • [ ] describe the "conflicting replacements" (idempotency) problem what the wikify solves
    • split text by regexp, process matched, exclude processed
    • run the next regexp on the list of text that is left
    • reassemble
  • treeworks - tools to work with 2D data structures (trees), including common visualization and debugging

Ideas open for the taking

Open Source artists wanted (credits available):

  • 3D robot nut in Blender for rirror on Bitbucket
  • 128x128 wikify logo on Bitbucket
  • Logo for web.py

GSoC/Help needed for tools that support Python development:

Just a list:

  • RIDLE - replace IDLE with modern alternative
    • minimalism (perfection achieved not when it is nothing more to add...)
      • get a list of current IDLE features, put them in a table
      • filter out features that are the most critical
      • accent on User eXperience
    • incrementalism (development process)
      • monthly development iterations
      • schedule the most important feature per iteration
    • community process

steAm and SMArt (dealing with complexity)

Canvas2D ideas:

Dynamic data visualization examples:

Human Language Translation Table

Explicit is better than implicit. doesn't apply to humans, apparently.

Explicit

Implicit

Comment

it's annoying, urgent, really serious

--

humans don't like serious issues, remove

fix it ASAP

--

humans read it as a direct command, become aggravated, remove

you're wrong

I'm not sure that's a good idea

humans don't like to be wrong, become demotivated

X suxx

I think Y would be a better solution that X

humans attached to X don't like when X suxx, but may like Y

X suxx

X is great, but..

humans attached to X may get outrageous to hear that X suxx


CategoryHomepage

techtonik (last edited 2015-02-08 22:44:43 by techtonik)

Unable to edit the page? See the FrontPage for instructions.