Eliot johan is not that idiot. So far when I see what they built for their company this is more the inverse. He spent several days trying to figure out how to manage decently the source. I will check with him what they did but they probably tried to extract information from all the methods in the system. changeStamp "Answer a string to be pasted into source code to mark who changed it and when." ^ Author fullName , ' ' , Date today mmddyyyy, ' ', ((String streamContents: [:s | Time now print24: true on: s]) copyFrom: 1 to: 5) Now how can I identify a comment from a person and and action? Beginning until a space? date end until a space? We can do that. It looks like a hack to me. People are building tools to **help** us but if we push on them unstructured data then we push the shit on them. Let's take a simple example: benjamin smart, young student rewrote the recentMessage tools and the finder for fun. Now the state of MethodReference and its clunky use made something trivial just a big pain. I do not even talk about the change format which need scanner invocation to distinguish between a class def and a doit. So if we do not offer a good infrastructure we will be stuck for years with old tools. Some people do not like change at all but we value it for the better. On Dec 30, 2010, at 12:47 AM, Eliot Miranda wrote:
On Wed, Dec 29, 2010 at 1:51 AM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
The documented format is:
Timestampstrings can be of the form: <authorname><date><time>. <authorname><date> <date><time> <date><time><authorname> <date><authorname> <historical>
Says /who/? When I created all these timestamps to document a refactoring change there was no documented restriction on timestamps I could see. Why impose restrictions which have little value? Why needlessly break compatibility? That timestamp *contains useful information*. Why ban it?
If you *want* VMMaker to load in Pharo you need to ensure that Pharo supports the timestamps *that exist* not the timestamps you want to impose on the community.
Eliot we do not impose anything to the community. Please do not bash us we have enough to do without that!
Steph, /I'm/ not bashing. I got bashed. Suddenly the comments I'd put in VMMaker were to be banned by Pharo. Look, the timestamp syntax if any, is defined by Utilities class>>changeStamp, along with the implicit restriction that the changeStamp can't contain an exclamation point, or it'll break parsing. Utilities class>>changeStamp is essentially anything followed by date and time, because there are /no/ restrictions on what one sets the Author initials to be (some people use full name, some people use initials, some people use put other stuff in there, but it's free apart from the $!). So to parse date and time one has to start at the end of the timestamp, go back two spaces and parse from there (ooh, difficult ;) ). There's no need for anything else. Why make life difficult for the community by imposing syntax when none existed before? All you'll do is make work and frustrate people. Is Pharo about helping or hindering? I think it's about helping, but the above syntax restrictions don't feel like that. KISS, right? If you want to find the date or time in a timestamp start at the end, and leave the beginning free from interpretation.
2¢
Apparently the code was like that and people (may be johan) started to make sense out of it.
Stef