Revision 20 as of 2004-06-30 20:16:04

Clear message

See JohannesGijsbers for more on me, but I'm subscribed to this page, so you can leave me messages here.

Email: jlgijsbers at planet dot nl

So, if we had a nice pattern repository wiki, we could write about decorate-sort-undecorate there and link to it... {;D}= -- LionKimbro DateTime(2003-11-21T22:18:39Z)

PortlandPatternRepository? ;) -- JohannesGijsbers

Two thoughts:

I think that there is a type of pattern that people use within a procedure.

For an example of a basic one, there is the ForLoop.

But there are also others, like FirstTimeSeperate versus FirstTimeIntegrated.

That is, do you:

   1 first_time_a()
   2 always_b()
   3 first_time_c()
   4 always_d()
   6 while condition:
   7   always_b()
   8   always_d()

...or do you...

   1 first=1
   3 while condition:
   4     if first: first_time_a()
   5     always_b()
   6     if first: first_time_c()
   7     always_d()
   8     first=0

Surely, there are advantages to each one, no?

I taught beginning programmers for 2 years. I found that I didn't have words for a lot of things that I was trying to explain to them. Now I think I have the word for it: a "block pattern."

I think a site of block patterns would be interesting, and very beneficial for study by beginners.

DecorateSortUndecorate may be a block pattern. But maybe not- maybe it's an algorithmic pattern. But are they that different?

Speaking of algorithms- we need multiple algorithms wiki. {:)}=

Good talking with you. Feel free to delete whenever you like.

-- LionKimbro DateTime(2003-11-22T04:45:20Z)

What do you mean with a block pattern? It seems like another level of Scope (as in the DesignPatternsBook). -- JohannesGijsbers

As for DP: Yes, it is a matter of scope.

My design patterns book isn't about how you arrange your lines and variables within a function. It's about how you arrange your collection of classes, objects. I want "block design patterns," to give my students who are just trying to figure out how to write a function.

Like: "NestedLoops," to do things like cycling over lists of lists, and hitting all of them.

I've been programming since I was 7 years old. When I took CS in college, I got to watch people smarter than I am struggle with how to calculate out a multiplication table, or follow two pointers in a row.

I don't think they're stupid. I think that I just figured out, through trial and error, in my first years of programming, how to make these basic structures.

It'd be nice to have a systematic way to teach those basic "block" patterns. (I'm just making up the term.)

-- LionKimbro

I see what you're getting at. How about "ProceduralPatterns", with block patterns being one of the scopes involved. The other scope would probably be about splitting things up into functions. -- JohannesGijsbers

Yes,yes, that's exactly it. Though I don't think it should polute this wiki. :) -- LionKimbro

The problem with RecentChanges getting too wide is simple (but probably not so simple to fix). You've got a table with column widths specified in a mix of absolute pixels and relative percentages, and that's a recipie for trouble. I'm tempted to say that the best fix would be to lose the space-wasting totem column on the left, but I suppose that's part of the "branding is more important than content" thing. :-( Failing that, I seem to recall having read about a couple of different ways of working around this sort of problem at Or was it in Designing with Web Standards? I can't lay hands on it just now...

Hi Johannes,

is there a chance for a moinmoin upgrade to 1.2.2? Sometimes the wiki is quite slow here. FastCgi, mod_python and twisted could help maybe. Maybe it is also cause by the mail server only sometimes working. Especially saves are slow.

BTW: Moin 1.2 has themes now, maybe you can use that for here.

-- ThomasWaldmann

I'll look into it when my new SSH keys are up on creosote. -- JohannesGijsbers

Does this "too wide" problem noted at top of RecentChanges page still happen? -- ThomasWaldmann DateTime(2004-06-30T20:16:04Z)


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