User:Woozle/blog/2009-02-22 1125 how time gets wasted

From HypertWiki
Revision as of 16:26, 22 February 2009 by Woozle (talk | contribs) (new page from form at http://wiki.hypertwins.org/HypertWiki:Forms/blog/post)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

<hide> <let name=data index=Title>how time gets wasted</let> <let name=data index=User>Woozle</let> <let name=data index=TopicsUser>\focus\work</let> <let name=data index=TopicsGlobal>\Josh\kids\free time</let> <let name=data index=TextAbove>The worker says he'll be bringing Josh back at around 5pm. So a little before that, I stop trying to focus on anything where I'll be Vastly Annoyed if I get interrupted. (Maybe you can see where this is going already.)</let> <let name=data index=TextBelow>Three hours later, Josh shows up, and all I've worked on is low-priority stuff, because it was the stuff I didn't mind getting interrupted in the middle of.

Three hours. That's not just three regular hours, or even three Josh-free hours, but Three totally kid-free hours (the other two were with their dad) I could have really used to focus on my current project (which pays money when I finish it, by the way).

Don't get me wrong; I'm quite happy to have had those three hours to noodle around and do stuff that didn't matter as much, because it was stuff that did matter some, and I get a small feeling of accomplishment from having done it. Given the choice between Josh coming back right on cue at 5pm and coming back at 8 but my not knowing in advance that this would happen, I might still choose 8 -- because Josh being in the house might mean I wouldn't get even those relatively-unimportant things done due to the constant distractions. (Or maybe I would choose for him to come back early, because then if he were in a calm mood, which often happens after he has been out, I might have been able to get some of that important work done.)

It just really grates me to see three totally kid-free hours on a weekend, a once-in-a-blue-moon event, essentially wasted.</let>

<let name=data index=TimeStamp>2009-02-22 1125</let> </hide><if not flag=including>==GetLinkBrief()== <func GetLinkBrief>

   <let name=links.out>
  • </let>
   <let name=links.out append copy=data[Date] />
   <let name=links.out append> :[[</let>
   <let name=links.out append copy=pg_title />
   <let name=links.out append>|more]]:[[Talk:</let>
   <let name=links.out append copy=pg_title />
   <let name=links.out append>|talk]]: </let>
   <if flag=$data[wpage]>
     <let name=wtLink>[[</let>
     <let name=wtLink append copy=data[wpage] />
     <let name=wtLink append>|</let>
     <let name=wtLink append copy=data[Title] />
     <let name=wtLink append>]] § </let>
   </if><else>
     <let name=wtLink>[</let>
     <let name=wtLink append copy=data[URL] />
     <let name=wtLink append> </let>
     <let name=wtLink append copy=data[Title] />
     <let name=wtLink append>]</let>
   </else>
   <let name=links.out append copy=wtLink />
   <let name=links.out append> § </let>
   <let name=text copy=data[TextShort] />
   <if flag=$text></if><else>
     <let name=text copy=data[Text] len=200 />
   </else>
   <let name=links.out append copy=text trim />
   <let name=links.out append> [[</let>
   <let name=links.out append copy=pg_title />
   <let name=links.out append>|more...]]</let>

</func>

ShowRecentLinks(max)

<func ShowRecentLinks max>

 <let name=idx />
 <let name=including val=1 />
 <for table="qryW3_Titles_Catgs" where="(cl_to='Data/links') AND (page_namespace=0)" sort="page_title DESC" limit=$max name=pg hide>
   <let name=pg_title val="@row.page_title" />
   <let name=idx inc />
   <if not flag=$noLoad>
     <load page=$pg_title />
   </if>
   <if flag=$data[Title]>
     <call GetLinkBrief />
   </if><else>
     <let name=links.out>
  • [[</let>
     <let name=links.out append copy=pg_title />
     <let name=links.out append>]]</let>
   </else>
   <let name=links.rtn append copy=links.out />
   <let name=links.out />
   <let name=data />
 </for>

</func>

ShowTopic(iTopic,iMax)

This should eventually be able to show data in any format: news links, blog entries... <func ShowTopic iTopic iMax>

 <let name=idx />
 <let name=including val=1 />
 <let name=topic farg=iTopic />
 <if not flag=$topic>
   <let name=topic parse>Woozle/blog/2009-02-22 1125 how time gets wasted</let>
 </if>
 <let name=topic self with="_"> </let>
 <let name=sqlWhere>(page_namespace=0) AND (cl_to='</let>
 <let name=sqlWhere append copy=topic />
 <let name=sqlWhere append>')</let>
 <for table="qryW3_Titles_Catgs" where=$sqlWhere sort="page_title DESC" name=pg empty="no items yet" limit=$iMax hide>
   <let name=pg_title val="@row.page_title" />
   <let name=idx inc />
   <if not flag=$noLoad>
     <load page=$pg_title local />
   </if>
   <if flag=$data[Title]>
     <call GetBrief />
   </if><else>
     <let name=links.out>
  • [[</let>
     <let name=links.out append copy=pg_title />
     <let name=links.out append>]]</let>
   </else>
   <let name=exclude val=0 />
   <let name=links.rtn append copy=links.out />
   <let name=data null />
 </for>

</func>

GetBlogEntryBrief()

<func GetBlogEntryBrief> INPUT:

 data[*] - from blog entry page
 pg_name - full name of page being displayed (including namespace)
   <if not flag=$noLoad>
     <load page=$pg_name />
   </if>
   <let name=e.out>
  • </let>
   <let name=e.out append copy=data[TimeStamp] />
   <let name=e.out append> [[</let>
   <let name=e.out append copy=pg_name />
   <let name=e.out append>|</let>
   <let name=e.out append copy=data[Title] />
   <let name=e.out append>]] § </let>
   <let name=text copy=data[TextAbove] />
   <if flag=$text></if><else>
     <let name=text copy=data[TextBelow] len=200 />
   </else>
   <let name=e.out append copy=text trim />
   <let name=e.out append> [[</let>
   <let name=e.out append copy=pg_name />
   <let name=e.out append>|more...]]</let>

</func>

GetBlogEntryBriefChrisFormat()

<func GetBlogEntryBriefChrisFormat> INPUT:

 data[*] - from blog entry page
 pg_name - full name of page being displayed (including namespace)
   <if not flag=$noLoad>
     <load page=$pg_name />
   </if>
   <let name=e.out></let>
   <let name=e.out append>[[</let>
   <let name=e.out append copy=pg_name />
   <let name=e.out append>|</let>
   <let name=e.out append copy=data[Title] />
   <let name=e.out append>]], </let>
   <let name=e.out append copy=data[TimeStamp] />
   <let name=e.out append>

</let>

   <let name=text copy=data[TextAbove] />
   <if flag=$text></if><else>
     <let name=text copy=data[TextBelow] len=200 />
   </else>
   <let name=e.out append copy=text trim />
   <let name=e.out append> [[</let>
   <let name=e.out append copy=pg_name />
   <let name=e.out append>|more...]]

</let> </func>

GetBlogEntryFull()

<func GetBlogEntryFull> INPUT:

 data[*] - from blog entry page
 pg_name - full name of page being displayed (including namespace)
   <if not flag=$noLoad>
     <load page=$pg_name />
   </if>
   <let name=e.out>

==</let>

   <let name=e.out append copy=data[Title] />
   <let name=e.out append>==

posted at </let>

   <let name=e.out append copy=data[TimeStamp] />
   <let name=e.out append>

</let>

   <let name=e.out append copy=data[TextAbove] />
   <let name=e.out append copy=BlogFoldDivider />
   <let name=e.out append copy=data[TextBelow] />

-- category display

   <let name=e.out append copy=BlogFoldDivider />
   <let name=e.out append>

Categories –</let>

   <let name=noCat val=1 />
   <call MakeBlogCatgs />
   <if flag=$wtCatGlob>
     <let name=e.out append> general: </let>
     <let name=e.out append copy=wtCatGlob>
   </if>
   <if flag=$wtCatUser>
     <let name=e.out append> user: </let>
     <let name=e.out append copy=wtCatUser>
   </if>
   <let name=e.out append></let>

</let> </func>

ShowRecentBlogEntries(max,funcEntry)

<func ShowRecentBlogEntries max funcEntry>

 <let name=idx />
 <if not flag=$funcEntry>
   <let name=funcEntry val="GetBlogEntryBrief" />
 </if>
 <let name=including val=1 />
 <for table="qryW3_Titles_Catgs" where="(cl_to='Data/blog/post')" sort="page_title DESC" limit=$max name=pg hide>
   <let name=pg_nspace_code>{{ns:</let>
   <let name=pg_nspace_code append val=@row.page_namespace />
   <let name=pg_nspace_code append>}}</let>
   <let name=pg_nspace copy=pg_nspace_code parse />
   <let name=pg_title val="@row.page_title" />
   <let name=pg_name copy=pg_nspace />
   <let name=pg_name append>:</let>
   <let name=pg_name append copy=pg_title />
   <let name=idx inc />
   <call func=$funcEntry />
   <let name=e.rtn append copy=e.out />
   <let name=data />
 </for>

</func>

ShowRecentBlogEntriesFull(max)

<func ShowRecentBlogEntriesFull max>

 <let name=idx />
 <let name=including val=1 />
 <for table="qryW3_Titles_Catgs" where="(cl_to='Data/blog/post')" sort="page_title DESC" limit=$max name=pg hide>
   <let name=pg_nspace_code>{{ns:</let>
   <let name=pg_nspace_code append val=@row.page_namespace />
   <let name=pg_nspace_code append>}}</let>
   <let name=pg_nspace copy=pg_nspace_code parse />
   <let name=pg_title val="@row.page_title" />
   <let name=pg_name copy=pg_nspace />
   <let name=pg_name append>:</let>
   <let name=pg_name append copy=pg_title />
   <let name=idx inc />
   <call GetBlogEntryFull />
   <let name=e.rtn append copy=e.out />
   <let name=data />
 </for>

</func>

ShowRecentBlogEntriesByTopic(max,topic)

<func ShowRecentBlogEntriesByTopic max topic>

 <let name=topic self with="_"> </let>
 <let name=sql>(cl_to='</let>
 <let name=sql>SELECT q1.* FROM qryW3_Titles_Catgs AS q1 LEFT JOIN qryW3_Titles_Catgs AS q2 ON q1.cl_from=q2.cl_from WHERE (q1.cl_to='Data/blog/post') AND (q2.cl_to='</let>
 <let name=sql append copy=topic />
 <let name=sql append>') ORDER BY page_title DESC LIMIT </let>
 <let name=sql append copy=max />
 <for sql=$sql>
   <let name=pg_nspace_code>{{ns:</let>
   <let name=pg_nspace_code append val=@row.page_namespace />
   <let name=pg_nspace_code append>}}</let>
   <let name=pg_nspace copy=pg_nspace_code parse />
   <let name=pg_title val="@row.page_title" />
   <let name=pg_name copy=pg_nspace />
   <let name=pg_name append>:</let>
   <let name=pg_name append copy=pg_title />
   <let name=idx inc />
   <let name=data[Title] null />
   <load page=$pg_name />
   <if flag=$data[Title]>
     <call GetBlogEntryBrief />
     <let name=e.rtn append copy=e.out />
   </if>
   <let name=data />
 </for>

</func>

MakeBlogCatgs()

<func MakeBlogCatgs>

 <let name=catUser copy=data[TopicsUser] />
 <let name=catGlob copy=data[TopicsGlobal] />
 <let name=wtCatUser null />
 <xploop list=$catUser var=topic>
   <let name=wtCatUser append> [[user:</let>
   <let name=wtCatUser append copy=data[User] />
   <let name=wtCatUser append>/</let>
   <let name=wtCatUser append copy=topic />
   <let name=wtCatUser append>|</let>
   <let name=wtCatUser append copy=topic />
   <let name=wtCatUser append>]]</let>
   <let name=wtCatUser append>[[:category:user/</let>
   <let name=wtCatUser append copy=data[User] />
   <let name=wtCatUser append>/</let>
   <let name=wtCatUser append copy=topic />
   <let name=wtCatUser append>|c]]</let>
   <if not flag=$noCat>
     <let name=wtCatUser append> [[category:user/</let>
     <let name=wtCatUser append copy=data[User] />
     <let name=wtCatUser append>/</let>
     <let name=wtCatUser append copy=topic />
     <let name=wtCatUser append>|</let>
     <let name=wtCatUser append copy=topic />
     <let name=wtCatUser append>]]</let>
   </if>
 </xploop>
 <let name=wtCatGlob null />
 <xploop list=$catGlob var=topic>
   <let name=wtCatGlob append> [[</let>
   <let name=wtCatGlob append copy=topic />
   <let name=wtCatGlob append>]]</let>
   <let name=wtCatGlob append>[[:category:</let>
   <let name=wtCatGlob append copy=topic />
   <let name=wtCatGlob append>|c]]</let>
   <if not flag=$noCat>
     <let name=wtCatGlob append>[[category:</let>
     <let name=wtCatGlob append copy=topic />
     <let name=wtCatGlob append>]]</let>
   </if>
 </xploop>

</func>

ShowBlogPostPage()

<func ShowBlogPostPage>

 <let name=PostDate copy=data[TimeStamp] len=10 />
 <let name=wtDate>[[</let>
 <let name=wtDate append copy=PostDate />
 <let name=wtDate append>]] ([[:category:</let>
 <let name=wtDate append copy=PostDate />
 <let name=wtDate append>|category]])</let>
 <let name=wtDate append>[[category:</let>
 <let name=wtDate append copy=PostDate />
 <let name=wtDate append>]]</let>
 <let name=wtTitle>

==</let>

 <let name=wtTitle append copy=data[Title] />
 <let name=wtTitle append>==</let>
 <if flag=$data[TextAbove]>
   <let name=wtTextBrief>

In Brief </let>

   <let name=wtTextFull>

The Rest </let>

   <let name=wtTextBrief append copy=data[TextAbove] />
 </if><else>
   <let name=wtTextBrief null />
 </else>
 <let name=wtTextFull append copy=data[TextBelow] />
 <call MakeBlogCatgs />

General categories for blog posts: -- the fact that it's a post:

 <let name=wtCatGlob append></let>

-- date:

 <let name=wtCatGlob append>[[category:</let>
 <let name=wtCatGlob append copy=PostDate len=10 /> -- just the date for the category
 <let name=wtCatGlob append>|]]</let>
 <let name=wtCatGlob append copy=PostDate /> -- full timestamp for sorting
 <let name=wtCatGlob append>]]</let>
 <let name=user copy=data[User] />
 <if flag=$user>
   <let name=wtUser>[[user:</let>
   <let name=wtUser append copy=user />
   <let name=wtUser append>|</let>
   <let name=wtUser append copy=user />
   <let name=wtUser append>]]</let>
 </if><else>
   <let name=wtUser>unknown</let>
 </else>
 <echo>

<get name=wtTitle /> <get name=data index=Text /><get name=wtTextBrief /><get name=wtTextFull />


Posted by <get name=wtUser /> at <get name=PostDate />. Topics: <get name=wtCatUser /> <get name=wtCatGlob /></echo>

</func>

ShowBlogPostPage_v2()

<func ShowBlogPostPage_v2>

 <let name=PostDate copy=data[TimeStamp] len=10 />
 <let name=wtDate>[[</let>
 <let name=wtDate append copy=PostDate />
 <let name=wtDate append>]] ([[:category:</let>
 <let name=wtDate append copy=PostDate />
 <let name=wtDate append>|category]])</let>
 <let name=wtDate append>[[category:</let>
 <let name=wtDate append copy=PostDate />
 <let name=wtDate append>]]</let>
 <let name=wtTitle>

==</let>

 <let name=wtTitle append copy=data[Title] />
 <let name=wtTitle append>==</let>
 <if flag=$data[TextAbove]>
   <let name=wtTextBrief>

In Brief </let>

   <let name=wtTextFull>

The Rest </let>

   <let name=wtTextBrief append copy=data[TextAbove] />
 </if><else>
   <let name=wtTextBrief null />
 </else>
 <let name=wtTextFull append copy=data[TextBelow] />
 <call MakeBlogCatgs />

General categories for blog posts: -- the fact that it's a post:

 <let name=wtCatGlob append></let>

-- date:

 <let name=wtCatGlob append>[[category:</let>
 <let name=wtCatGlob append copy=PostDate len=10 /> -- just the date for the category
 <let name=wtCatGlob append>|]]</let>
 <let name=wtCatGlob append copy=PostDate /> -- full timestamp for sorting
 <let name=wtCatGlob append>]]</let>
 <let name=user copy=data[User] />
 <if flag=$user>
   <let name=wtUser>[[user:</let>
   <let name=wtUser append copy=user />
   <let name=wtUser append>|</let>
   <let name=wtUser append copy=user />
   <let name=wtUser append>]]</let>
 </if><else>
   <let name=wtUser>unknown</let>
 </else>
 <echo>

<get name=wtTitle /> <get name=data index=Text /><get name=wtTextBrief /><get name=wtTextFull />


Specs

Timestamp: <get name=PostDate />
Author: <get name=wtUser />
User topics: <get name=wtCatUser />
Global topics: <get name=wtCatGlob />
</echo>

</func>

ShowBlogPostPage_v1()

<func ShowBlogPostPage_v1>

 <let name=PostDate copy=data[TimeStamp] len=10 />
 <let name=wtDate>[[</let>
 <let name=wtDate append copy=PostDate />
 <let name=wtDate append>]] ([[:category:</let>
 <let name=wtDate append copy=PostDate />
 <let name=wtDate append>|category]])</let>
 <let name=wtDate append>[[category:</let>
 <let name=wtDate append copy=PostDate />
 <let name=wtDate append>]]</let>
 <let name=wtTitle>

==</let>

 <let name=wtTitle append copy=data[Title] />
 <let name=wtTitle append>==</let>
 <if flag=$data[TextAbove]>
   <let name=wtTextBrief>

In Brief

</let>

   <let name=wtTextFull>

Full Story

</let>

   <let name=wtTextBrief append copy=data[TextAbove] />
 </if><else>
   <let name=wtTextBrief null />
 </else>
 <let name=wtTextFull append copy=data[TextBelow] />
 <call MakeBlogCatgs />

General categories for blog posts: -- the fact that it's a post:

 <let name=wtCatGlob append></let>

-- date:

 <let name=wtCatGlob append>[[category:</let>
 <let name=wtCatGlob append copy=PostDate len=10 /> -- just the date for the category
 <let name=wtCatGlob append>|]]</let>
 <let name=wtCatGlob append copy=PostDate /> -- full timestamp for sorting
 <let name=wtCatGlob append>]]</let>
 <let name=user copy=data[User] />
 <if flag=$user>
   <let name=wtUser>[[user:</let>
   <let name=wtUser append copy=user />
   <let name=wtUser append>|</let>
   <let name=wtUser append copy=user />
   <let name=wtUser append>]]</let>
 </if><else>
   <let name=wtUser>unknown</let>
 </else>
 <echo>

Specs

Timestamp: <get name=PostDate />
Author: <get name=wtUser />
User topics: <get name=wtCatUser />
Global topics: <get name=wtCatGlob />

<get name=wtTitle /> <get name=data index=Text /><get name=wtTextBrief /><get name=wtTextFull /></echo> </func><call ShowBlogPostPage></if>