Did you check the number of senders of #flag: in a recent Pharo image? You will be surprised that not all come from Squeak ;) By sharing I want to just show what is possible and others may find it valuable for their own work in the given or in a customized form. It is not a "best practice", more a "these things helped me" and as a source of inspiration. Bye T. Gesendet:Â Donnerstag, 12. Dezember 2013 um 11:20 Uhr Von:Â "Nicolas Cellier" <nicolas.cellier.aka.nice@gmail.com> An:Â "Pharo Development List" <pharo-dev@lists.pharo.org> Betreff:Â Re: [Pharo-dev] [Pharo Trick: #0001] - Simple TODO list I don't much like this nice idea.Why? see all the (self flags: #toRemove) and such kind of annotations in Squeak.Then tend to last much longer than due.A todo list should have a (short) expiration date.Maybe a method with expired todo should be purely and simply erased ;) Â 2013/12/12 Serge Stinckwich <serge.stinckwich@gmail.com>Nice idea Torsten, this kind of tricks ;-) Maybe we can save them online somewhere ? gists.github.com[http://gists.github.com] ? On Wed, Dec 11, 2013 at 12:16 PM, Torsten Bergmann <astares@gmx.de[astares@gmx.de]> wrote:
Hi,
the mailinglist, stackoverflow and other Pharo related medias are typically used in the "here is a question to problem" followed by an "answer from community" style.
But lets also think the other way around: if we already have a solution for a problem that others may have too or may have in the future we should share the answer/solution as well.
I'm sure many of you have some tricks that make developing with Pharo much easier and others can profit from these tricks if we share them here on the list.
Be it  - a simple and useful script  - a simple key combination other may not yet know of  - a package one can use or how you use it  - a link to a nice description on the web related on how to use Pharo  - a custom tool that makes development easier  - an algorithm or something that you think was solved very elegant  - a way you solved a common problem easily in your app  - ...
Then just describe it in a few lines and post it. Also write in which Pharo version you tried it - this makes it easier for others to see in which version the trick/solution is known to work.
The idea goes like this: if you have a trick to share then send a mail with subject "Pharo Trick: #xxxx] - Short Description" to the Pharo dev AND Pharo user list (see http://lists.pharo.org[http://lists.pharo.org]). Make sure to increase the trick counter xxxx.
Using this special subject one can later easily get the tricks from the mailinglist archive. Also others can refer to the trick if it solves a common problem other may ask for on the list.
Lets see if we are able to reach the goals of 100, 1000 or more Pharo tricks ;)
Bye T.
I will start with something easy but useful:
----------------------------------------------------------------------------------- [Pharo Trick: #0001] - Simple TODO ----------------------------------------------------------------------------------- Works in: Pharo3.0 Latest update: #30635 but should work in other versions too -----------------------------------------------------------------------------------
If you develop an app with Pharo you may not yet fully implement all features. Some kind of marker for future "ToDo's" is often needed. Using a pragma on a method is the easiest solution here:
  foo    <todo: 'Add world later'>    "That method is not yet fully implemented"
   Transcript show: 'Hello'
Using a simple expression in the workspace you can browse all the TODOs for your project afterwards in a window:
  SystemNavigation default browseAllSendersOf: #todo:
You can even query the system for the todo descriptions if you need the full list of things to work on:
 (PragmaCollector filter: [:prg | prg keyword = 'todo:'])     reset;     collect: [:each| each arguments first ]
As the pragma keyword #todo: is very common and may be used by others too it may be wise to use a custom one like "myappplicationTodo:" or similar. -----------------------------------------------------------------------------------
 -- Serge Stinckwich UCBN & UMI UMMISCO 209 (IRD/UPMC) Every DSL ends up being Smalltalk http://www.doesnotunderstand.org/[http://www.doesnotunderstand.org/] Â