Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
* Ordered a Kinesis Maxim ergonomic keyboard
* Messed around more with my [[Emergence of NVC|http://emergence.awakeningcompassion.com]] tiddlywiki.
* Made a [[Projects|http://emergence.awakeningcompassion.com/Projects]] tiddlywiki.
* How about a [[Pajama|http://conal.net/Pajama]] applet in a tiddler?
<html><p align=center>
<applet code="swirl_wedge_annulus_ybrings.class" archive="../pajama.jar,swirl_wedge_annulus_ybrings.jar" width="210" height="226" codebase="http://conal.net/Pajama/examples">
<param name=swirliness value=0.5>
<param name=inner_radius value=0.3>
<param name=wedges value=10>
<param name=coverage value=0.7>
</applet>
</p></html>
* Got my authentication sign-up script to be editable. I renamed signup and login_form, made new templates, and copied in their content.
* Edited the instructions to suggest "First Last" and why. I'm greatly relieved to have eliminated the inconsistency in instructions.
* Printed Awakening Compassion materials. Brought them to Erika, along with the cards and flyers she'll put out for her (first) NVC intro tonight.
* Called Patty Z. Can she print if I email her a PDF? No. Computer problems.
* [[visit with Patty Z on 2006-10-24]]
* Printed the [[Emergence of NVC|http://emergence.awakeningcompassion.com]] notebook, after doing a lot of tweaking for font sizes.
* Changed how I use "to do". Made it a separate [[misc to do]] tiddler. Move elements into journal entries when done.
* //Idea:// [[tiddlywiki mixins]].
* //Idea:// [[parametric tiddlers]].
* Entered more notes from yesterday, including my +++^[visit with Patty]<<tiddler "visit with Patty Z on 2006-10-24">>===.
* Sent Sandy Fox a note about [[yesterday|2006-10-24]]'s visit with Patty. Sandy had encouraged me and offered some energy.
* Reply to [[Ralf Hutchison]] about coming to work with me and live with us for a while.
* Started using NestedSlidersPlugin, so I can have chunks hide & reveal. Very neat!
* Clean up the "All" tiddler list in [[Emergence of NVC| http://emergence.awakeningcompassion.com]], so that it shows content only, and not mechanism.
* Moved MainMenu to horizontal and reclaim the left space for tiddler content
* Started using dates as tags of idea & conversation tiddlers. Next, move "tagging" in ViewTemplate.
* Here's an idea about proxying for Haloscan-based comments: use {{{TinyHTTPProxy.py}}} from SUZUKI Hisao, and tweak my Apache rewrite rules to route the request outside of Zope. First, try the proxy on its own. Didn't work for me. Maybe I don't understand how to use it.
* Tweaked the instructions in HorizontalMainMenuStyles to be self-contained.
* Added a picture to [[my user tiddler|http://emergence.awakeningcompassion.com/#%5B%5BConal%20Elliott%5D%5D]] in the [[Emergence of NVC|http://emergence.awakeningcompassion.com]] TW.
* Integrated Sandy's rewritten form of the psncc training "prerequisites". It took several passes of rewriting and exchanges with Sandy.
* Evening [[phone call with Rita Herzog and Sandy Fox]].
* Pan returned my call. We chatted some about the Emergence proposal.
** He asked how do we deal with someone giving a great workshop but not really on NVC. Presumably hey'd get positive reviews. How would the online matching system let people know about the NVC mismatch? I think the answer is in the richness of the feedback, beyond a single number.
** He has a different perception about the use of the word "trainer" in psncc. He hears people say "certified" when they mean it, and otherwise they mean people who train. I guess I could check more. I do believe Patty, Mel, Holly E, and even Moreah mean certified when they don't say so. And Sandy doesn't, and apparently not Pan.
** He suggested that I especially listen to Barb tonight to get to hear the beauty she experiences in the assessment process
** I guess I'm still somewhat steamed after last night's phone call with Rita H.
* Found [[CommentPlugin]]. It just adds a comment tiddler and sets up tags. Nice idea and very elegant, but requires a login.
* Wrote up notes on psncc [[emergence meeting of 2006-10-27]]
* Snagged plugins from TiddlyTools:
** ResizeEditorPlugin: works great, but I think it ate my control-enter
** AutoTaggerPlugin: wow!
** ResizeEditTextPlugin: doesn't work yet. Version problem, since TW isn't 2.1 yet.
** RearrangeTiddlersPlugin: I love it!
** CollapseTiddlersPlusPlugin (and corresponding CollapsedTemplate)
* Some afterthoughts from the [[emergence meeting of 2006-10-27]]:
** "Compassionate Consciousness"
** "Learning, Living, Sharing, and //Evolving// NVC"
** I want to write an article on [[the evolution of Nonviolent Communication]].
* Went to Sandy's to watch "The Secret" with her & others.
* I'm experimenting with placement of {{{tagging}}} in the TW. For now, I tweaked StyleSheet to put tags & tagging into a table. Looks okay but clumsily expressd.
* Started [[notes on CSS]] .
* Fixed a bug in {{{ZiddlyWiki/actions/import}}}. Wasn't converting things like "{{{&}}}" back to "{{{&}}}".
* LTU article ["Future of Software Design?"|http://lambda-the-ultimate.org/node/1805]. Peter van Roy is exploring "self-managing systems", which are based on cybernetics.
* Why not host my darcs repos on haskell.org?
* I'm getting an error message every time I open the Emergence ziddlywiki. I don't know why. <<smiley :(>>
* Got the "new journal" button to add "journal" as a tag. I looked at the {{{newJournal}}} source and saw that parameters after the first one get used as tags.
* Stopped resisting self-tagging of journal tiddlers.
* Idea: write some articles about NVC and solicit input and dialog from psncc folks, cnvc certification candidates, cnvc certified trainers, etc. In addition to doing some writing, stir up some discussion and awareness. Oh: make a wiki for the evolving articles. Invite people to add comments directly. Or to send email or have recorded phone conversations, which will get added in to the wiki.
** That principle of Marshall's in which he shifts labeling language to relationship language, such as reflecting "That's a terrible picture" into "Oh, you don't like the picture?" I've heard him call that principle "Never let anyone tell you who you are." Offer and invite examples and translations. Throw into the mix: "trainer". Guess: "I trust that person to present NVC in a way I agree with."
** "The Evolution of NVC". Invite comments on past, present, and future. Trace how NVC has evolved so far, which ideas came from whom (e.g. ~Max-Neef on needs). Speculate on possible future trends. In this light, consider the idea of "preserving the integrity of the process".
* Looking for wysiwyg editors for TiddlyWiki.
** [[HTMLArea|http://www.dynarch.com/projects/htmlarea]] wysiwyg editor. No longer maintained. Points to [[InterAKT|http://www.interaktonline.com]]'s KTML 4.
** InterAKT was acquired by Adobe in September. Apparently there is no longer a free KTML Lite. <<smiley :(>>
** Found [[AsciiMathML: Translating ASCII math notation to Presentation MathML|http://www1.chapman.edu/~jipsen/asciimath.html]]. Pretty neat! Combined with ~HtmlArea in the [[ASciencePad|http://math.chapman.edu/~jipsen/asciencepad/asciencepad.html]] TW. I want TW markup, not HTML, however.
** [[Wikiwyg|http://www.wikiwyg.net]] looks like a reasonably good fit.
** Emailed the TW google group to ask for recommendations.
* Edited and sent note about psncc name.
* Called Kelly Darlington about getting together. Breakfast 9am tomorrow at Alexa's in Bothell.
* Trying again with HaloscanMacro.
** Seems to work fine without RSS, which is okay with me.
** Found http://gravatar.com, which serves out 80x80 pixel "globally recognized avatars" and is used by haloscan. Currently out of action due to growth and non-scalable implementaton. Up with 2.0 very soon. See http://gravatar.com/blog.
** Of course, Haloscan serves ads in the comment window. I could probably figure out a tricky way to filter them out, though it wouldn't be simple. Better would be to find or create an Open Source replacement.
** Signed up for another Haloscan account: "emergenceAcCom". I'll want one user name per TW site. No -- instead, I tweaked the HaloscMacro source to prepend an ~idPrefix specific to a TW.
** Changed haloscan date format from {{{m.d.y - g:i a}}} to {{{Y-m-d - g:i:s a}}} to {{{r}}} to {{{Y-m-d - g:i a}}}
** Contributed $15 to get a premium account (min $12), which (a) drops the ads in comments, and (b) lets me export comments.
* I also tried CommentPlugin.
** It works okay but requires either a log-in or that I make my TW open to anonymous edits.
** Perhaps I could do something on the ZW server end so that comments tiddlers are specially allowed without log-in.
** I see that comments are only editable by the comment's author. Well, not exactly. The "(edit)" button shows up if the same user is logged in--including "Anonymous User", i.e., no log-in. This fact suggests a simple approach:
*** Encourage people to log in, so that their comments are attributed to them and cannot be changed by others who are not logged in (and not easily changed by anyone, since doing so requires finding the comment hidden via its ~excludeLists tag).
*** Recommend that non-comments be tagged as "protected". Oh -- not quite, as "protected" means "Only editable by its author or an administrator", according to http://ziddlywiki.com/#SpecialTags. Hmm.
* Doing some hunting around for a wysiwyg editor
* Puzzling over Zope organization.
** Experiment: add cookie_auth to Journal. Then, when I click on "login", I get the title "Conal's Journal" instead of "Emergence of NVC".
** Experiment: add acl_users to Journal. Then I can add a user who has access to Journal but not the root directory.
** Conclusion: I want to make sub-directories for emergence, journal, etc. People get user accounts for them separately. I have an account at the root, which gives me access to all.
** Drawback: after logging in, the url is messed up. Has an extra Folder level, e.g., journal.net.conal/Journal.
** Wait for Bob M to finish his 2.1 ZW, which will handle logging in via AJAX rather than by changing pages.
* Breakfast at Alexa's in Bothell with Kelly D.
* //Wow!// I hit upon a new way to organize my journal entries. Tag each day's entry with <<tag day>> and with the month (e.g. <<tag 2006-10>>). Similarly, tag each month with <<tag month>> and the month's name (e.g. <<tag October>>) and its year (e.g. <<tag 2006>>). Tag each year with <<tag year>> (could also tag with <<tag decade>> or whatever). Looks great in the [[site map]]. I'd like all this tagging to happen automatically. For now I've tweaked the SideBarOptions "new journal" button to use the tag <<tag 2006-11>>.
* Emergence proposal:
** Folded in questions & answers from Friday night.
** Removed the last people labels (as far as I know), namely "sharers" and "seekers", in favor of action language (what people //do// not what they //are//). In most cases, the result is more succinct and, to me, clearer.
** Got notes from Friday night's yummy meeting. Edited into a [[more readable form and put on the first wiki|http://sharenvc.net/meeting_notes/2006-10-27]].
** Sent out a note with the tweaked proposal and the notes from Friday, in preparation for tomorrow's meeting.
Type the text for 'New Tiddler'
* Read [[The 18 Mistakes That Kill Startups|http://www.paulgraham.com/startupmistakes.html]] in Paul Graham's blog. Worth remembering and revisiting.
** Single-founder myth. "Vote of no confidence" from friends, no //esprit de corps// when things go wrong.
** Aside on java applets
>The scary thing about platforms is that there are always some that seem to outsiders to be fine, responsible choices and yet, like Windows in the 90s, will destroy you if you choose them. Java applets were probably the most spectacular example. This was supposed to be the new way of delivering applications. Presumably it killed just about 100% of the startups who believed that.
* I found out why Firefox prints so huge for me. In {{{File/Page Setup}}}, the scale was set to 150%. Changed to 100%. Then to "shrink to fit page width". Yay! That dialog has margins and header/footer content as well.
* Lesson (again): meander through a program's options, taking note of what I find. Don't wait until I have urgent demand for a feature.
* Learned that NestedSlidersPlugin, doesn't play nicely with lists unless I add a blank space after the final "{{{===}}}".
* Got a response from Laurel about the Emergence proposal and meeting minutes. She likes it a lot and had some substantive comments, including one about complementing systems theory as Ken Wilber recommends (interior, culture, external world).
* Long meeting among local folks who teach NVC, from 11:00am to 3:15pm at Elana's house. After opening with foot washing/massage, we mostly talked about my [[Emergence proposal|http://emergence.awakeningcompassion.com]]. I'm still in shock about how much support & acceptance I'm getting for my proposal. After some tweaks, I think it will be ready to bring to next week's core team meeting. I have hand-written notes. Strangely, I felt quite deflated at the end. Some of the sweet energy of [[Friday night's meeting|http://sharenvc.net/meeting_notes/2006-10-27]] was missing. Or maybe disappointment over running out of people to fight. I'll type up my notes, and maybe then I'll get some more clarity.
* Our usual NVC practice group night. A few couldn't come, so I canceled. Moreah didn't get the message and came by bus. I met her at Third Place and we had a delightful long talk over hot apple cider.
* Wrote to [[Shelly Farnham|http://www.farnhamresearch.com]]. She does social technology research & consulting and used to work at Microsoft Research. Now she's involved with Mind Camp and dorkbot.
* Got a call from [[Michael Stillwater|http://www.innerharmony.com/michael.htm]]. Holly sang with him last night and gave him our business card. He called to talk about creating a synthesis of his intuitive/empathic singing work with Compassionate Communication. I think we're going to his ~ChantWave tonight on the peninsula. He was very interested last night in Holly singing with him again. She came home all lit up from her experience. I suggested we might catch the ferry over together and chat.
* Wow! A [[video|http://video.google.fr/videoplay?docid=-2237947353453839215&hl=fr]] of an RC plane with video camera attached, transmitting to //and// controlled by a head-mounted display.
* Transition lunch for Masanda, with the Seattle Unity staff.
* Typed up notes from yesterday's psncc meeting.
* Sent [[note to Sandy about giving one's word]] and NVC Academy.
* Typed up and added [[my notes|http://sharenvc.net/meeting_notes]] on the "Emergence" part of yesterday's meeting.
* Holly & I went to Michael Stillwater's ~ChantWave, which took place at Brian & Lisa's home in Indianola (on the peninsula, near Kingston). Had a great time. I loved talking with Michael. He really gets & shares my vision of trusting in the innate wisdom of life, rather than using control top-down strategies. Holly got lots of affirmation for her singing & loveliness.
* Talked with Heather H. Delightful reconnecting chat. She had an incredibly restorative and blissful time at the Canada retreat. Maybe get to see her this weekend while she's in town for school.
* Lunch with Pan. We were going to talk tech, but Magic intervened. I was 15 minutes late, due to my phone chat with Heather. Just before I arrived, Mathias Kainrath dropped in on Pan. Mathias was walking by looking for a bank, when he saw the NVC sign and had a strong urge to come in. He moved to town from Maui four weeks ago after letting his life disintegrate, and now he's welcoming in new beginnings. We invited him to lunch. He's Austrian, and so Pan invited Elana, who joined us. A thoroughly inspiring & connecting conversation, with many common connections. Mathias had already seen Holly on Wednesday night at Seattle U and had heard about Elana (and had seen Michael Stillwater) at Center for Spiritual Living on Sunday. I loved getting to hear about Mathias's vision of healing & communication. He mentioned that he has a lot of experience leading men's groups groups, and I've been wanting to start one, so we decided on the spot that are in a men's group. Elana said to talk to Ravi also, as he'd probably be interested. Pan had gone back to his office by that time, so he didn't hear about it, and now I wonder if he'd want to join us also.
* On the way to lunch, I talked with Sandy about the proposal and whether to bring to core team next week.
** I'm not clear about what we'd propose. What is the specific, positive, doable request?
** I explained that I'm not ready to propose an implementation plan and that I want to create the architecture myself, before looking for help. I have an intuition for how it will all fit together in a very powerful way, with openness and feedback at all levels. Once I get more detailed clarity about the architecture, then I'll look for ways people can help. Before there's architecture, I don't know how to give an implementation plan. Or maybe the plan is this: Conal creates the architecture (possibly with Shelly Farnham's help) and then asks for some implementation help, and then we invite people to contribute their bios etc.
** Sandy suggested that Holly & I do a presentation of the proposal and then ask whether the group wants to move in that direction. I guess it's just a statement of interest/intention for now.
** We also talked about the intermediate possibility that PSNCC opens up their web-site to folks who aren't certified, and changes the "prerequisites" in the way Sandy wrote up.
** Okay, so next I want to ask Holly for help in creating a presentation for Tuesday evening (core team meeting). Sandy scheduled 90 minutes to our proposal. I'd like the presentation to be clear and fairly detailed. Not as loose (Q&A) as before.
* Oops! It's a good idea to close all tiddlers being edited before closing the web browser. Otherwise I could lose some edits.
* Rest day. Yum.
* Big misgivings about presenting the Emergence proposal to the core team on Tuesday.
* I want to post a note about the Emergence proposal to the [[NVC certification candidates yahoo group|http://groups.yahoo.com/group/nvccertificationcandidates]].
* Oops. I forgot this morning's certification candidates support call.
* Listening to the [[2006-10-23]] support calls and taking notes:
** [[notes from 2006-10-23 morning certification candidate call]]
** [[notes from 2006-10-23 evening certification candidate call]]
* In reply to a certification candidate, "I also believe that there is great awareness for a need for more assessors to alleviate the bottleneck":+++[response]>
One of the key insights I came away with from reading "Emergence" (by Steven Johnson) is that //any top-down// approach to quality is in direct opposition to growth. When I consider what will happen under the current certification scheme if we come up with more assessors, here's what I expect:
* More assessors lead to more certified trainers and more trainings of the quality that certification is intended to support.
* Then more people who learn and love NVC and who want to get certified and thus rely more on assessors.
* Again, the assessor supply lags behind the demand, so the bottleneck is back.
Given the effectiveness of NVC, I do believe that exponential growth is possible. To support quality, we'd need corresponding exponential growth of the assessor pool. The only way I know to do that is to replace the top-down approach with a bottom-up one, as slashdot did. Specifically, this proposal recommends removing the distinction between assessors and assessees, empowering and encouraging everyone to assess.
===
* I want to break up the Q&A section of the Emergence proposal into one tiddler per question. Easier to edit. More in harmony with the "micro-content" idea. Simply tag each question as "question" and then use a macro to create the Q&A section. Maybe there's a way to have them included in how how recently edited.
* Very powerful TW extension here: http://tiddlywiki.abego-software.de.
* Worked with Holly on new Emergence presentation for Tuesday night's psncc core team meeting. Organized ideas in a tiddlywiki, and then Holly moved it into a nice ~PowerPoint presentation.
* Finished preparations for presenting the Emergence proposal to the psncc core team. Tweaked the powerpoint slides some. Holly set up a lovely background and simple transitions. There wasn't really a lot more to do, but still I didn't find myself able to really move my attention to something else. Nervous energy, I guess.
* Scott Lewis phoned, in response to some questions. (Scott is facilitating the CNVC support group conference calls.) About phone conferencing, he uses http://freeaudioconferencing.com and likes the convenience. They provide a dedicated line (samenumber each time). Quieter phone lines than some. What's in it for the companies? maybe a kickback from long-distance companies. For recording, he uses audioacrobat.com: easy to do. give you the link. $20/month, based on bandwidth.
* Voted. Holly & I opted for computerized voting, which we thought would be fun & fast. Turned out to be a bottleneck, as there was only one electronic voting machine, compared to eight or so old-fashioned ones.
* Emergence presentation in the evening. I had mixed feelings about doing the presentation, and I have mixed feelings afterward. Still supportive response. Mostly quite positive, and some concerns, which are helpful in seeing some issues. I couldn't really ask for action, as the system isn't real yet. Also, I'm burnt out on all the energy I've been putting in on this project. I want to work on my graphics language projects and make t-shirts.
* Catching up on blogs etc.
* Called Charlotte & will visit her this morning when Holly gets back from school.
* Trying out my new [[Kinesis Maxim split adjustable keyboard|http://www.kinesis-ergo.com/max-spec.htm]]. I want typing to be gentler on my wrists & elbows. From some conversations with my chiropracter, I suspect that my neck & shoulder problems mainly come from my right elbow getting tweaked, which comes from typing. To do: switch the "insert" and "delete" keys, since delete is a lot more useful to me than insert. Now I also understand that a built-in numeric keypad was ergonomically harmful to me. It forced my mouse hand further from the keyboard, which prevented my right elbow from keeping a comfortable bend. Just one look at a photo of a model using the keyboard was enough for me to see how much more comfortable typing could be.
* Reflecting on last night's Emergence presentation. One thing stands out as quite a surprise. Two people expressed concern about being left out, given that they're (a) not very computer literate, and (b) have misgivings about allowing people to publicly review them. As I said last night, the last thing I want to do is create yet another system that includes some people and excludes others. What surprises me is how easy it is to create another imaginary power base. "Imaginary" in the sense that it's only an idea (imagining). I've noticed other imaginary power bases (like CNVC or PSNCC certification, or being part of an "in" circle of some kid who starts acting like king), but I haven't been thought of myself as wielding that power. For a moment last night, I got a taste. No thanks.
* Found blog articles on serving ~MP3 files and another useful tip. I posted a question on the first, about how to script and what parameters are available.
** [[Embed MP3 Files Into Your Website| http://googlesystem.blogspot.com/2006/07/embed-mp3-files-into-your-website.html]]
** [[Vibe Streamer - Create Your MP3 Server| http://googlesystem.blogspot.com/2006/07/vibe-streamer-create-your-mp3-server.html]]
** [[Play And Convert Any Multimedia File| http://googlesystem.blogspot.com/2006/05/play-and-convert-any-multimedia-file.html]]
* Put Tuesday night's [[Emergence presentation| http://emergence.awakeningcompassion.com/other/emergence.ppt]] on-line.
* I'd like to sync up a voice recording with a powerpoint presentation. Record my voice and stepping within and between slides. Maybe add a photo of myself to make it a bit more personal. Or one photo per slide. Also, look for a free alternative to MS powerpoint. How about something that runs right in a web browser.
* Graphics processors are evolving into general stream processors. See [[this article| http://arstechnica.com/news.ars/post/20061108-8182.html]] on the new ~NVidia 8800.
* Learning about [[Odeo|http://odeo.com]] for mp3 streaming in a web page. Reading the forum, I found [[a post on "audio quoting"|http://forum.odeo.com/index.php?pg=kb.page&id=43]] that looks like what I want. Except, it looks like this method only works on //their// server. Posted +++^[note]I'd like to have a web page with a single odeo player and a variety of separate buttons, each of which plays a different audio quote. The audio quote feature is close to what I want, but I think requires (a) one player per quote, and (b) using odeo's server instead of my own.
Is it possible to use javascript to cause an embedded odeo player to start & stop at selected time points, and if so, how? Is there another approach that may do what I want?===. Note sure the post went through. I think I could use the audio quoting technique as is. If so, I'd like to make it very convenient for people, by having a form for them to fill out, with start time, end time, and comments. I'd synthesize the html from there. Posted another note about the audio-quote feature not working at all for me. I don't think it went through either. Oh well.
* Corresponded with Roger. He's concerned, as I am, that there not be any veiled demands in the "pathway" doc for people teaching NVC.
* Installed ~FireFox 2.0. Massively broken for me, though Holly got along just fine. I've lost tabs, my Bookmarks Toolbar Folder, and I don't know what else. I hope I can get it working soon, as I depend on ~FireFox for most of what I do.
* I've been feeling discontent again lately. Missing engagement. I like having one or more projects I'm gung-ho about and in the middle of. What would I like to work on?
** Eros project. Improve the paper and implementation. Get a source release out there and encourage people to help.
** Along these lines, learn to organize an open source project.
** Get my art shown at coffee shops.
** Self-organizing FAQ. Yeah!
** Group annotation of audio.
* Found blog article [[Annotate online video with Mojiti|http://www.lifehacker.com/software/video/annotate-online-video-with-mojiti-213344.php]]. I've been wanting something like that for annotating workshops etc.
* Started <<tag idea>> tiddler on [[self-organizing FAQs]].
* Learned how to have each day's entry automatically tagged with its month. Use {{{<<newJournal 'YYYY-0MM-0DD' {{new Date().formatString("YYYY-0MM")}} 'day'>>}}} in SideBarOptions. The double braces surround javascript code, thanks to InlineJavascriptPlugin. Wow -- what other cool stuff could I do with this ability?
* Another [[embedded audio player| http://google.blognewschannel.com/index.php/archives/2006/08/23/googles-mp3-embeddable-player]], thanks to Google and some folks digging around. Oddly, with some files it starts playing right away <html><iframe src="http://mail.google.com/mail/html/audio.swf?audioUrl=http://www.itconversations.com/audio/download/itconversations-1332.mp3" style="border: 1px solid rgb(170, 170, 170); width: 200px; height: 25px;" id="musicPlayer"></iframe></html> and with some others not until the whole mp3 file is loaded <html><iframe src="http://mail.google.com/mail/html/audio.swf?audioUrl=http://slewwho.audioacrobat.com/download/af9c9917-4c0e-0dab-cae1-ba47f4539b82.mp3" style="border: 1px solid rgb(170, 170, 170); width: 200px; height: 25px;" id="musicPlayer"></iframe></html>. Maybe there's a difference in server side support. I know audioacrobat also streams, so maybe I can get another angle.
* Looking for focus again. Projects:
** Haskell projects: Eros & Phooey. Implementation & distribution. Use darcs & Daan's extensions. Either on Joseph's server or http://haskell.org. Maybe also learn trac.
** Organic FAQ
** Pictures: mat & frame one for Becky, look for more picture inspirations.
* Discovered rounded corners via CSS, e.g., {{{-moz-border-radius: 1em}}}. Used in [[TiddlyWikiTips|http://TiddlyWikiTips.com]]. Using for now in {{{tagged}}} and {{{tagging}}} styles.
* I invited Mathias K over for a visit. Once he got here and saw my new ergo keyboard, he had some very specific advice about improving my set-up. One is that keyboards should have the near end higher than the far end, so that the wrists are unstrained. We did a few adjustments while he watched me. I like it! Also see this [[Cornell ergo site|http://ergo.human.cornell.edu/ergoguide.html]]. When Holly came home, we also talked about our Emergence proposal and more broadly about what we want to create in the world, via NVC.
* Getting darcsweb going. Having some set-up problems:
** As usual, I can't get a cgi to run when it starts with {{{#! /usr/bin/env python}}}. Replaced with {{{#! /usr/local/bin/python}}}. I don't understand why.
** The CSS and ~PNGs aren't used. When I try to look directly at the .css in the browser, I see that it's getting executed. See comment in [[setting up CGIs]].
* Got darcsweb running. See {{{Directory}}} tag incantation in [[setting up CGIs]]. The other trick was to really specify the path to darcs. [[It's very pretty|http://conal.net/darcsweb]]. Next tackle darcs-server.
* From Wikipedia on [[Nikos Kazantzakis|http://en.wikipedia.org/wiki/Nikos_Kazantzakis]]:
> His epitaph read "I hope for nothing. I fear nothing. I am free."
* What does sociocracy say about paramount objections to an //existing// policy? I have some about psncc's policies around who gets to put their picture & bio on the web-site and advertise offerings. My understanding of "paramount objection" is an objection that is so strong that I would withdraw my life energy from the shared undertaking. That's what I was doing before Sandy joined PSNCC. Since then I've been in a wait&see holding pattern, plus some effort at changing the status quo. And now I'm in that same place with CNVC as well. Sent query to John Buck.
* In the wee hours of the morning, I started <<tag essay>> on [[NVC certification and violence]]. Of course the name would provoke a defensive reaction, so I'll want to change it before sharing. I was irked and couldn't sleep.
* Erika J mentioned: when employees are asked what they most want in a job, money is not in the top ten. Instead, things like working with people they like. But when they don't get what they most want, //then// they ask for money. As a compensation. I relate to that in my own life with Holly. I don't care much about cost of living when I'm really content with meaning, connection, contribution, and creative accomplishment. When I'm not getting these things I really want, //then// I get cranky about our cost of living.
* Charlotte's birthday. We went out to lunch and hung out & danced & stuff. Then I played with Audrey while Char & Eric had their first counseling appointment.
* Attended the small business startup, rather by accident. Had a great time. Did wonders for my self-confidence.
* I set up a Google Calendar "Northwest Compassionate Communication". I suspect that we really want two different calendars. One would be visible to everyone and would contain all CC (NVC) workshops in our geographic area. A second one would be of more limited interest, to folks who share CC. I'm especially excited about the first one, since it can be easily updated at any time with new offerings (or canceled ones) and new info about offerings. Also because it is decentralized and so is one easy & concrete step from top-down control to openness.
* I've been making some big shifts in my attitude about PSNCC and CNVC. Some progress in letting go of my attachment to them as strategies for inclusion, community, contribution, and support. I'm noticing that my attachments get me into frustration, conflict, and demand. What I want is peaceful allowing these organizations & people to think & act exactly as they do for as long as they do. And for myself to create & co-create communities that do support my exploration and work. Some steps:
** Create a "Northwest Compassionate Communication" Google calendar and invite others to post their offerings, rather than waiting to be welcomed to post my offerings on the psncc list. (Though now Sandy is requesting that the psncc list be opened up.)
** Call my Emergence vision a "plan" (or ???) rather than a "proposal", as the latter means to me that I'm requesting approval. As long as it makes sense to me, I'm going to do it with or without psncc or cnvc encouragement. Look for a stronger word than "plan".
** Write essays and post them on a blog or wiki. Invite comments.
** Create a wiki for discussing NVC theory, since I've been dissatisfied with existing mailing lists & wikis.
** Post pointers to my resources on http://nvcwiki.org. Copy some content in there as well, and be bold about it. Don't rely on others' acceptance though.
** Clearly and consistently use language the way I like to use it and want to hear it used. If I want to use "trainer" to mean one who trains, then do it and allow psncc and cnvc folks to get confused or uncomfortable. I could even use "certified" to mean that //someone// has "attest[ed] to as the truth or meeting a standard". For instance, I'm self-certified to teach NVC and ~CMU-certified as a ~PhD computer scientist. To speak more specifically, I'd say certified by whom for what. Be the change I want to see in the world. This clarity of speech is very important to me in shifting from power-over to power-with. I believe that implicitness of //relationship// is one of the language tricks of power-over, and part of the brilliance of Marshall Rosenberg's teaching is to make those relationships explicit. For instance, translating "That book was terrible" to "I'm disappointed with that book".
* Note to Roger & Moreah about this shift. +++[Excerpt]>
I'm delighted with the changes that are starting to happen or at least being discussed in psncc. At the same time, I'm realizing that I want a supportive community whether or not psncc or cnvc can play that role for me. My "Emergence" exploration has clarified for me that the power of organizations like psncc or cnvc is purely by mutual agreement. I think that's why I've become so emotionally reactive to the word "trainer" being co-opted by psncc folks to mean "person whom some of us have approved to train", rather than its common meaning of "one who trains". And cnvc folks do the same but with a different "us". A Marshall-style reframe of the jackal judgment/labeling "You are (or are not) a trainer" might be "I feel comfortable (or uncomfortable) recommending you to people for NVC training". Or it might be any of a variety of observations, feelings, needs, or requests. I'm remembering Marshall's statement [["Never let someone in authority tell you what you are"|http://www.cnvc.org/downlds/20020714.mp3]].
Anyway, with increasing clarity & confidence, I'm brewing intentions & manifestations of effective support and inclusiveness and release of my personal resistance to other people's thinking, speaking, or behavior. Rather than changing current institutions, I want to create alternatives that work better. And stay connected with the people I like in those old institutions, calmly & clearly sharing what I'm up to without any request for approval.===
* Play date with Sandy Fox at our house. Talked a bunch about where we are and where we want to go with PSNCC. Very fun & connecting also.
* Made AudioPlayerPlugin with {{{audioPlayer}}} and {{{marshallism}}} macros. Example: <<marshallism 20020714>>. Big test at [[Marshallisms]], but doesn't load well. What I really want is to click on the clip name and have the player materialize. Added {{{audioSlider}}} and {{{mbr}}} macros, but they don't work. Maybe the {{{<iframe>}}}? Experiment and see. Ask for help from TW folks. Another problem I suspect is that the player using doesn't really stream the audio from the source, so it all gets downloaded before the player starts up. I'm still not sure about that.
* Found [[CivicSpace|http://civicspacelabs.org/civicspace/features]], a Drupal-based community-organizing platform. Looks pretty useful. Supports blogging, forums, polls & surveys, files, photo galleries, social networking, contact management, event listings. Related: [[CiviCRM|http://civicrm.org]].
* Working with darcs-server again. Stuck. Asked Daan for help.
* Experimenting with iframe and nestedSlider. Worked okay on my home page as the iframe source, but not with the google audio player.
* Tweaked my MainMenu so that it gives me a tag for the current month: {{{<<tag {{new Date().formatString("YYYY-0MM")}}>>}}} (using InlineJavascriptPlugin).
* NVC marketing meeting. Very informative. Some I enjoyed learning. Overall, I felt nauseous and disheartened. So much of marketing I hear as manipulation -- skillfully imposing my personal will on other people's. Especially in pressuring people to make quick decisions.
* Replaced "proposal" with "plan" in [[Emergence|http://emergence.awakeningcompassion.com]], now that I have enough clarity & confidence to know I'm going to pursue realizing the Emergence vision.
* Blog finds:
** [[Locate a mailbox|http://www.payphone-project.com/mailboxes]]
** [[Sync your Google Calendar with your cell phone| http://www.lifehacker.com/software/top/sync-your-google-calendar-with-your-cell-phone-213886.php]]
** [[Skype 3.0 Beta: Facelift and a Boob Job| http://www.gizmodo.com/gadgets/software/skype-30-beta-facelift-and-a-boob-job-213286.php]]
** [[10 Reasons You Should Never Get a Job (Steve Pavlina)| http://www.stevepavlina.com/blog/2006/07/10-reasons-you-should-never-get-a-job/]]
* Pat's birthday!! <<smiley :)>> Pat, Becky, Charlotte, Audrey, Holly & I went to Denny's in Ballard. Then presents & hanging out.
What I'd like to accomplish today:
* Progress on using darcs-server
* Isolate the problem with the {{{audioSlider}}} macro and send note to TW list.
* Design an NVC offering.
* Met Brian at Hotwire. He likes Daniel Quinn and saw my copy of //The Story of B//. He recommended two other books: //Sophie's World// and //Art of Passion//. Placed a hold on the former. Couldn't find the latter.
* Made a new <<tag project>> category (tag). Added [[Emergence of NVC]], [[Eros]], [[Phooey]], [[TiddlyWiki hacking]].
* Poking around with darcs-client and darcs-server, to determine why darcs push is failing. I want much better diagnostics. There is a verbose mode for darcs-server. Find out how to activate it. A possible problem: my repo permissions are {{{rw-rw-r--}}}, and the darcs-server perl script probably runs as user apache, which would not have write permission. As an experiment, I tried {{{chmod -R u+w Eros}}} in my {{{darcs}}} directory. Same error. Added {{{-v}}} to {{{DARCS_APPLY_HTTP}}}. Aha! Found a +++^[relevant message]{{{Sat Nov 18 19:56:55 2006] [error] [client 24.41.41.187] Can't locate /home/conal/.darcs-server/darcs-server-lib.pl in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 .) at /home/conal/domains/conal/htdocs/cgi-bin/darcs-server.cgi line 19.}}}=== in the Apache error log. Oh! The apache user +++^[can't read the darcs-server directory]...{{{
[conal@feijoada darcs]$ sudo -u apache ls -l /home/conal/.darcs-server/darcs-server-lib.pl
ls: /home/conal/.darcs-server/darcs-server-lib.pl: Permission denied
}}}===, because I followed Daan's set-up directions, which say to do {{{chmod 700 .darcs-server}}}. Got further to another error message. Emailed Daan.
* Don Stewart posted [[Starting your own Haskell project| http://haskell.org/haskellwiki/How_to_write_a_Haskell_program]]. I want to do exactly that. Follow his directions and give feedback.
* Church @ CSL
* Lunch with Holly at Tai Ho.
* Hanging out at Hotwire.
* I want to get a men's group going. See if Ravi is interested and ask him if he knows others who might be. Who else? Look into advertising in The Stranger and Seattle Weekly. Do I want to lead? I thought I did, but I'd rather get support for myself. My CA men's group worked great without a facilitator.
* Got this clarity from a conversation with Holly. Here's why it's worthwhile for me to take care in my speaking when I'm in pain. What I want is for the other person to attend to my pain. If my words stimulate pain in the other, however, then I've given them something //more interesting// to focus on than my pain, namely their own.
* Tried out FileDropPlugin. Looks like wonderful fun, but apparently depends on TW 2.1, and ZiddlyWiki isn't quite there yet.
* +++[Note to TiddlyWiki group about my experience with journaling in TW.]>
This note shares a personal TW practice I've adopted. Others may enjoy it as well. Comments & suggestions are very welcome.
For the last 20 years, I've been keeping a journal of my daily activities & thoughts. I started in grad school when I noticed how often I felt discouraged at the end of a work day, not having a sense of accomplishment or clarity about what I've done with my time. The journaling helped a lot, and I've been keeping it up since. All that time, my journal has been in ascii, via GNU Emacs. Since discovering TW recently, I've switched over my journaling from ascii & emacs to TW, and I'm delighted with the change. When I want to do a lot of writing/editing, I use Chris Klimas's [[Twee emacs mode| http://gimcrackd.com/etc/src/#Twee]].
My newJournal incantation tags each entry with its month and the word "day":
{{{
<<newJournal 'YYYY-0MM-0DD' {{new Date().formatString("YYYY-0MM")}} 'day'>>
}}}
Similarly, each month is tagged "month" and the year, and years are tagged with the word "year". When I create a new topical tiddler (an idea, how-to, essay, etc), I tag that tiddler with its creation date. My MainMenu has a tag for the current month. I intend to use these month & year tiddlers to capture monthly & yearly plans and accomplishments.
{{{
<<tag {{new Date().formatString("YYYY-0MM")}}>>
}}}
Most fun of all, with this tagging in place, I use the {{{siteMap}}} macro to get a structured view on all I've been doing and thinking.
The result is at http://journal.conal.net.
BTW, copy&paste from a rendered tiddler into gmail works great.
With much gratitude to the TW community,
- Conal
===
* I wonder: could it be practical and powerful for tiddlywiki to use javascript directly as its language for macro invocation? More precisely, JS is the language for //defining// macros, but two different little languages are used for //invoking// macros: one from wiki markup ({{{<<foo ...>>}}}), and one from template html ({{{macro='...'}}}). I don't know to what degree these invocation languages support composition.
* Futzing with the LAN again. This time I shut down the router, all of the computers, the network server //and// the cable modem. I turned on the router, then my computer, and I could see the local network from my machine. When I plugged the print server back in, my print job came out. Differences that I'm aware of relative to previous tries: turned off the modem, shut down all computers. Next time, try the modem specifically.
* Mathias visited. We had a long talk, and he gave me some great inspirations.
* Tasha pointed me to her response to a [[LiveJournal post|http://community.livejournal.com/weddingplans/9003589.html]] about an engaged couple's conflict over last names. I wrote +++[this response.]>
Wow -- I'm worried about the three of you after reading your note. I'm glad you have another year to go before the wedding. Conflict is inevitable, and how you two handle conflict (or can learn to handle it) says a great deal about how happy your lives can be together.
I'd like to offer another perspective on compromise, namely that it's //poison// to relationships. And it's never necessary when we get clear about what's really important to us underneath our positions, preferences and demands. My partner & I work with couples, and we encourage and help them to keep working on understanding and expressing their underlying needs, until they can joyfully let go of their current strategies in favor of ones that meet all of the present needs //fully// (no compromise). The magic of this approach is that you both end up happy, //and// you're more intimately and compassionately connected than before the conflict arose.
In contrast, "compromise means the resentment gets shared 50/50", leaving a bitter residue that gradually poisons your relationship and self-respect. Most couples play this game until they divorce or, worse, live out their life sentences of disappointment.
The "50/50" quote is from the book "Don't be Nice, Be Real" by Kelly Bryson. //Please// read that book with your fiance and use the principles. Also "Nonviolent Communication" (NVC) by Marshall Rosenberg. (Where "nonviolent" means getting past habits of judgment, blame, demand, diagnosing, etc, to clear & heartful thinking, speaking, and listening, so that mutual support becomes possible and joyful again.) Better yet, find someone in your area who teaches NVC and/or can provide counseling/mediation using NVC. Or phone up my parter & me, and we'll help you (with or without your fiance) get oriented, free of charge. The same offer goes to anyone else reading this note. Our phone # is 206.364.5063, and our web site is [[awakeningcompassion.com|http://awakeningcompasion.com]].
If you do seek counseling from your pastor, I hope you're watchful about his/her own orientation and examine whether it's compatible with your own. Does he/she reinforce the patriarchal values of ownership/domination of women that you'd like to move beyond?
Heartfelt best wishes, - Conal
===
* Last week I ordered a 120GB Viewsonic Wireless Media Gateway, which is a wireless router with a hard drive and two USB ports for printers or other devices. It gets us on the internet fine, and the file system shows up, but I haven't gotten the printer interfaces to work. [[Searched| http://www.google.com/search?q=viewsonic+wireless+media+gateway+mygroup] and found [[someone with the same problem| http://www.smallnetbuilder.com/index2.php?option=com_content&task=view&id=24719&pop=1&page=0&Itemid=80]]. After several tries, I called ViewSonic customer support (800-688-6688). Did not find a solution. Case # VSA-061122-0521. Escalated (to a supervisor I guess). I suspect the problem comes down to access permissions. I'm going to try something else. Edit {{{/LPRNG/etc/samba/smb.conf}}} on the device to make the group match our workgroup (mshome) rather than "mygroup". The catch is that I don't have permission to edit that config file. Working on giving myself permission. Failed. I don't think it's really about permissions, since I'm able to get to write to {{{/media}}} but not {{{/LPRNG}}}, and they show the same permissions. Maybe {{{/LPRNG}}} is really in ROM.
* Revisiting [[Phooey]], starting with my paper draft. (See [[Phooey]] tiddler for details.)
* Having another go at making t-shirts. My last batch bled terribly in the washer. I forgot about them and let them sit wet all day on the first washing. There are a lot of variables, and I don't know what's most important.
** print setting (//photo quality glossy film// vs plain paper),
** heat press time, temperature & pressure (45 seconds, medium-hard, at 325 degrees),
** washing (wait two days, dry on gentle for 5 minutes, then wash on gentle, promptly remove and dry on gentle).
* Talking with Holly this morning, it became crystal clear that I want to diversify the support & personal connection in my life. I created a tremendously broad support base for myself six years ago in preparing to end my marriage, and now I have just Holly. No wonder I'm lonely and discontent. As a first step, I'm starting up a men's group.
* Men's group potential members: Mathias, Rob Jennings, Pan Vera, Mitch Albala, Scott Steinhorst, Roger C. Mathias is already in. I talked with Rob, and he's in. Left messages with the rest.
* Reworking my [[Phooey]] paper. Started over fresh, moving my current {{{~/Phooey}}} directory to {{{~/Phooey/Old}}}. I'm taking a much more top-down approach than previously.
* Idea: use Phooey to make a simple implementation of the rendering part of tangible values (not the interactive composition part). Hopefully very simple, as there's a good deal in common.
* Switched my Emacs tex mode to use longlines. I really dig longlines.
* Imagine presenting [[Eros]] as follows:
** Visualizing functional values
** Combining user-friendliness //and// composability (rather than choosing between them). Yes -- this angle is probably the most significant, from a computer-science perspective. That composability could be programmatic, using the Eros algebra. It can also be gestural.
** Observe the role of //types// in composability. If the type is something like //IO ()// or //UI () ()//, then we're not going to be able to compose. A type like //IO a// may let us get info //out// but not in. Even then, a //complete// UI would have type //IO ()//, which shows that we can no longer compose.
* Men's group progress. Roger and Scott are very interested. Scott is free weekday evenings other than Monday (and other than our NVC practice group 1st & 3rd Wednesdays). I'll talk with Mitch tomorrow.
* [[reply to Shulamit Day on 2006-11-26]]
* Note to TiddlyWiki group: +++[filtering tag lists?]>
I'd like to filter out (hide) some tags generated by the tagChooser macro and under the "All" tab in SideBarTabs. Specifically, I want to hide my daily (and maybe monthly) journal entries, i.e., tags having corresponding tiddlers bearing the tag "day" (and maybe "month"). Any hints?===
* Men's group: I talked with Ravi at CSL. He wants in. Monday & Thursday evenings look good for him. He'll be leaving for Austria on Dec 13.
* [[Phooey]] paper: do I want the paper to be the implementation? Tempting, but tilts the paper toward being very detailed. Keep the paper & implementation separate for starters, and then consider merging them.
* New tiddler: [[to read]].
* Starting a new Phooey project, along the lines of [[How to write a Haskell program |http://haskell.org/haskellwiki/How_to_write_a_Haskell_program#Libraries]]. I'm puzzling over which license to use.
* Men's group:
** Teo wants in
** Mitch is interested and had some reservations but wants to give it a go. He wondered whether it would be ~NVC-centric, and if so, maybe it //and// the practice group would be more NVC than he wants.
* Installed GHC 6.6 and switched my {{{PATH}}} from 6.5 to 6.6. Oh, now I need to recompile wxHaskell and re-add various packages. Backed off to 6.5. Try again later.
* Trying out {{{mkcabal}}} for Phooey. Investigated, found & fixed a problem, and wrote to Don S. For now, I'll go with LGPL for the Phooey license.
* Getting new Phooey together
** Depends on the monad transformer library.
*** I haven't know how to properly describe this dependency. I'd had the local source copy wired into my makefile, which certainly won't do. Looked and found http://www.cse.ogi.edu/~diatchki/monadLib. The latest versions have Cabal support.
*** No version of monadLib quite seems to match my ghc/cabal version. Old ones don't use hierarchical library module names or do inconsistently. The latest versions (2.0 & 2.0.1) yield {{{Unknown field 'extra-source-files'}}} from my cabal. I guess I have an old cabal. For now, I commented out the extra-source-files directive.
*** The standard Cabal incantation worked, though it put the library archive in {{{c:/Program Files}}}, which I don't like. Instead, use {{{--prefix=c:/Haskell/packages}}}. +++[Full version:]
{{{
runhaskell Setup.hs configure --prefix=c:/Haskell/packages
runhaskell Setup.hs build
runhaskell Setup.hs install
}}}
===
*** Why does monadLib use {{{Monad.}}} instead of {{{Control.Monad.}}}?
** Find packages at {{{http://darcs.haskell.org/packages}}}, including {{{monads}}} and {{{arrow}}}. Undid my monadLib registration ({{{ghc-pkg unregister monadLib-2.0.1}}}) and started again with a {{{darcs get --partial http://darcs.haskell.org/packages/monads}}}.
** Similarly, grabbed the arrows package. My cabal failed on it also. I can comment out parts, but instead, I'm going for the latest cabal, at {{{http://darcs.haskell.org/packages/cabal}}}.
** Got latest Cabal; unregistered Cabal-1.0; followed build directions in README. Worked! Now I have Cabal-1.1.7.
** Returning to arrows, configure failed, wanting base>=2.0. Now I'm really tempted to switch to ghc-6.6, which probably has base-2.0. First, try getting and building the latest base package via darcs.
** I don't know how to build the {{{base}}} package. Switching to ghc-6.6 instead.
*** Installing wxHaskell:
*** My first attempt failed: {{{Unable to find the 'wx-config' program: wx-config}}}. I'll re-build wxWindows. (In retrospect, I could have searched for wx-config and added it to my PATH, as the rest of the error message suggested. Maybe I lost the path setting when I rebuilt my hard drive last year.)
*** Re-building wxWindows. This time with {{{--with-opengl}}}, which I missed last time I built. I do want opengl.
**** Returning to build wxHaskell, this time wx-config was found. +++[configure.]{{{./configure --with-opengl --prefix=c:/cygwin/usr/local}}}=== Broke immediately. I started with a fresh copy of wxHaskell. Then I got +++[this.]
{{{
ghc -c wx/src/Graphics/UI/WX/Types.hs -o out/wx/imports/Graphics/UI/WX/Types.o -iout/wx/imports -odir out/wx/imports -hidir out/wx/imports -fvia-C -package-name wx -iout/wx/imports
wx/src/Graphics/UI/WX/Types.hs:94:0:
Bad interface file: out/wx/imports/Graphics/UI/WXCore/Types.hi
Something is amiss; requested module wx:Graphics.UI.WXCore.Types differs from name found in the interface file wxcore:Graphics.UI.WXCore.Types
make: *** [out/wx/imports/Graphics/UI/WX/Types.o] Error 1
}}}
===
* Lots of snow last night!
* wxHaskell:
** Found an [[explanation and solution| http://sequence.complete.org/node/214]] for the build problem I ran into yesterday. I also saw some messages about patches to make wxHaskell compile under ghc-6.6. Where? Oh, of course: {{{http://darcs.haskell.org/wxhaskell}}}!
** darcs-got wxhaskell-0.10.1. Compiling.
** Tried using {{{--prefix=c:/Haskell/packages}}}. C++ compilation couldn't find lots of .h files. Switched to {{{--prefix=/usr/local}}}, which works fine.
** {{{make install}}} failed, saying {{{out/wxc/ewxw_main.d:1: *** multiple target patterns. Stop.}}}. I moved those .d files out of the way (into a new "d" directory) and retried. Same problem with {{{out/wxc/ewxw/*.d}}}, so I moved them, too. Succeeded.
** Got instructions {{{Done with wxcore... Now please run make wx and make wx-install}}}. Did these two steps.
* I want to use haddock for my code. darcs-got the latest. It looks to be cabal-ready. Oops -- haddock requires alex, which requires happy.
* For executables (happy, alex, haddock), use {{{--prefix=c:}}}, which dumps the exes in {{{c:/Haskell/bin}}}. Added that directory to my PATH. All built & installed fine.
* Re-built & re-installed {{{monads}}} ({{{monadLib}}}) and {{{arrows}}} packages, configuring with {{{--prefix=c:}}}, for consistency with executables.
* Got Phooey cabal working, all the way through installation (including ghc-pkg)! Now I can start filling in the code.
* Got through all of my new implementation. All compiles, including examples. +++[Won't load yet.]{{{Loading package wxcore-0.10.1 ... can't load .so/.DLL for: wxc-msw2.4.2-0.10.1 (addDLL: unknown error)}}}===
* Next: haddock.
* Emergence:
** Mel shared an exchange on the cnvc-trainers discussion group about some pain & ideas around re-certification.
** Sandy suggested it would be an opportune time to share Emergence with them, which I was also thinking. Mel offered to pass on a note to them
** I want discussion to be inclusive of people, whether or not cnvc has certified them, so I started a new yahoo group: [[emergence-of-nvc| http://groups.yahoo.com/group/emergence-of-nvc]].
** Wrote this note for Mel to pass on to the cnvc-trainers yahoo group.+++
Our local NVC network has been exploring an alternative to certification. While there are still more details to iron out, there's considerable interest in our group at this point. I expect to prototype this alternative locally and then offer it globally.
The full, evolving, collaborative plan is at http://emergence.awakeningcompassion.com. To stimulate your curiosity, here is an excerpt:
<<<
Our goal is to support learning, living, and sharing of NVC consciousness. We see tremendous potential for growth, and so we want to create a system that nurtures that growth. The main parts of the plan are as follows.
* Create a web-based matching system that helps connect people sharing and seeking NVC.
* Focus on supporting rather than evaluating.
* Create and nurture a learning community.
* Enable rapid growth of NVC consciousness by replacing the top-down assessment bottleneck with self-supporting community feedback.
* Support the continuing evolution of the NVC process.
<<<
This plan is evolving and I welcome feedback, so as to continue improving it to meet needs around sharing NVC as effectively and joyfully as possible. To facilitate discussion, I've created a new discussion group: http://groups.yahoo.com/group/emergence-of-nvc, and I encourage you to participate.
===
** Tomorrow, make an entry on http://www.nvcwiki.com.
* [>img[http://conal.net/Pan/Gallery/transparent/power-xorgon.png]]Emergence:
** Mel sent out my note to the cnvc-trainers group. One new member of emergence-of-nvc.
** I want my email address on the new group to be conal@awakeningcompassion.com, so I set that up.
** Added my [[emergence logo / power design| http://conal.net/Pan/Gallery/xorgonRings/with-center/g.png]] (at right) to the [[emergence-of-nvc group page| http://groups.yahoo.com/group/emergence-of-nvc]].
** Added an Emergence link on the nvcwiki [["other wikis" page| http://en.nvcwiki.com/index.php/Many_NVC_wikis]].
** Wrote a group welcome message.+++>
Welcome to the emergence-of-nvc discussion group.
I set up this group to support inclusive, transparent, and creative conversation around new, more effective directions in supporting the learning, living, and sharing of NVC consciousness. The name "Emergence" comes from study of self-organizing systems, as found in living organisms and collections of organisms. Emergent systems use primarily bottom-up mechanisms rather than top-down control. They are thus deeply in harmony with NVC's "Power With" orientation, and they use growth to support quality rather than placing quality and growth in opposition.
As a starting point for this conversation, I encourage you to read and respond to the notebook at http://emergence.awakeningcompassion.com. In case you're unable to view that notebook, you can get a PDF version (perhaps without the latest changes) at http://emergence.awakeningcompassion.com/other/emergence.pdf.
Warm regards,
Conal Elliott
conal@awakeningcompassion.com
http://conal.net
http://awakeningcompassion.com
===
** Jeff Brown sent a reply to Mel's forward of my note pointing to Emergence. I think he sent it to the cnvc-trainers group. I responded, asking to shift the conversation to my new discussion group.+++>
Thanks for the inquiries. In discussing them, I want conversation to include folks with and without cnvc certification, so I'd like to redirect the conversation to an open forum. Would you be willing to re-send your note to emergence-of-nvc@yahoogroups.com, and suggest to the cnvc-trainers group that they go there for discussion?
===
** From the Onion, here is [[another perspective| http://www.theonion.com/content/node/55807]] on integrity vs evolution. I added a link in the Emergence site [[here| http://emergence.awakeningcompassion.com/#%5B%5Bevolution%20of%20the%20NVC%20process%5D%5D]]. I wonder whether it will amuse or annoy more. Sandy loved the Onion article and sent a copy to psncc folks.
* Still frozen & snowy & lovely outside today. Been having a peaceful & pleasant day. Holly's school is closed today, and we just finished watching Contact, a favorite movie for each of us.
* Wow -- [[fascinating web site| http://www.enchantedmind.com/html/science/creative_chaos.html]], quoted from [[this page| http://www.songsouponsea.com/Promenade/GnosisM.html]], which also quotes Mom.
* Got some help & camaraderie on the #haskell irc chat room. Solved the problem I had yesterday with running Phooey. Added {{{/usr/local/lib}}} to {{{PATH}}} (not {{{LD_LIBRARY_PATH}}}). Then found that my output strings are getting truncated to their first character. lispy on #haskell and later Daan Leijen on IM suggested that it's a Unicode issue. Tomorrow, ask for help on the wxhaskell-users list.
* Chatted with Daan on IM. He helped me with darcs, darcs-server, and wxhaskell problems. I got the latest darcs-server patches. Tomorrow, grab a fresh darcs from http://glozer.net/darcs. See if my "plink" warning message goes away. Recompile darcs-client, and put the latest darcs-server onto Joseph's server. Do something about giving darcs-server permission to write to my repository. Give {{{darcs push}}} another go.
* More Emergence: I saw that Jeff Brown posted his note to the cnvc-trainers & nvccertificationcandidates groups, I replied to the latter group, asking to move the conversation to emergence-of-nvc, so the conversation can include everyone. Now the group has seven members.
* Last week, I finally ordered the [[head-mounted display| http://www.3dvisor.com]] I've been wanting for many months. It was supposed to arrive today, and it got on the FedEx truck in Bothell just a few miles away, but I guess they had snow/ice trouble. The tracking site says "Delay beyond our control" and back to the Bothell FedEx facility. Curiously, the shipment originated in Issaquah, also nearby.
* By the way, last night Holly & heard Ze Frank (very funny [[video blogger| http://www.zefrank.com/theshow]]) pronounce Issaquah accenting the second syllable and pronouncing it "saw", rather than the first and "suh" as we do here. I wonder if Ze's pronunciation is closer to the native people's.
* Rebuilt wxWidgets with {{{--enable-unicode}}}. Same problem. Rebuilt with {{{--disable-unicode}}}. Ditto. Responded to Eric Kow & wxhaskell-users group giving more info and asking for more help.
* Emergence:
** Connecting correspondence with Shulamit Day, who lives in Ottowa. We shared some rants about certification and some dreams.
** Now 11 members in the yahoo group. Two messages. Messages from Susan Skye (CNVC Certification Coordinator for North and South America) and Jim Manske (member of CNVC Global Coordinating Committee and husband of CNVC acting executive director) that went to other groups and will hopefully end up on the new group. I like & respect Susan, and I want a clear & caring connection with her in this discussion.
** Got help from Mel and from Jeff Brown in rerouting messages from cnvc-trainers to emergence-of-nvc. I appreciate Jeff's spirit and carefulness in communicating.
** Added an emergence-of-nvc link on the nvcwiki [["Mailing lists" page| http://en.nvcwiki.com/index.php/Mailing_lists]].
** Improved the group blurb.
** Wrote [[reply on the "bottleneck" on 2006-11-30]].
* I learned that Scott Fahlman [[invented the smiley| http://research.microsoft.com/~mbj/Smiley/Joke_Thread.html]] {{{:-)}}} in a CMU online conversation, one year before I got to CMU.
* More activity on [[emergence-of-nvc|http://groups.yahoo.com/group/emergence-of-nvc]]. Now 18 members.
* Unpacked my new [[head-mounted display|http://www.3dvisor.com]]. Installed the software. Works with my Acer notebook and Samsung Q1, though not 3D stereo, since I have ATI rather than ~NVidia graphics. The [[3dvisor forum| http://www.3dvisor.com/forum]] contains [[a thread| http://www.3dvisor.com/forum/viewtopic.php?t=96]] about a virtual desktop app that gives one a very large virtual desktop and look around with head motion. [[Found| http://kolbysoft.googlepages.com/surroundsight]] on the author's [[web site| http://kolbysoft.googlepages.com]].
* Problem with the [[Emergence site|http://emergence.awakeningcompassion.com]]. The name server stopped resolving my subdomain name. A week or so ago, I switched registrars for awakeningcompassion.com from yahoo to 1and1.com. When I did that, I stayed with 1and1's name servers rather than using {{{NS1.TWISTED4LIFE.COM}}} and {{{NS2.DIGITALSPECTRUM.BIZ}}} as Joseph helped me select for conal.net. My guess is that the 1and1 name servers won't default subdomains to the domain's IP, while the two from Joseph do. I added the subdomain through the 1and1 interface, and the problem was fixed. As an experiment, I also switched name servers for nvc-connection.net, to see if it will pass through unknown subdomains. After the nameserver change propagates, try http://foodle.nvc-connection.net. If I get "bad gateway", I'll know it worked and that I want to change over other nameservers as well.
* Look back at my email about changing registrar from yahoo. I wonder I need to cancel or I'll yahoo will charge me for another year.
* My nvc-connection.net subdomains are not yet getting forwarded, after the name server switch. I started writing Joseph a note, when I realized that the changes might not have propagated to dns servers yet. Try again later today and tomorrow. Learn about how all this stuff works.
* Fixed my TW printing style sheets. I had various sizes tuned to compensate for a funny non-standard setting in my browser. Turned off header printing in my journal.
* Since installing the 3dvisor, my Q1 has had very unreliable internet access. It connects to the local network fine, but not the internet. Other computers on the local network aren't having this problem, even my notebook, where I've also installed the 3dvisor software. Puzzled.
** As an experiment, I removed the 3dvisor software from the Q1's startup list and rebooted. Now I can view some sites and not others.
** Hm. I don't think I have any kind of antivirus on the Q1. Install Spybot and Clamwin.
** Coincidentally, ~IE7 installed, including some anti-malware software. After installing & rebooting, my internet access problems seem to have vanished.
* I think I understand how to make huge windows in [[FullSize|http://www.fanix.com/fullscreen.html]]. Use the "free sizing" feature (toggle on from control-right menu in a window), together with resizing. Keep moving the window down & right and resizing up & left. Tedious but workable.
* Playing with the 3dvisor and reading ~PDFs by moving my head around. I can make the window taller than the screen (by using ~FullScreen), but then Acrobat Reader won't fill in content more than one screen height. Look for another PDF reader.
* Heard back from Eric Kow that he uses wxWidgets-2.6.3 with ghc-6.6. Got wxWidgets-2.6.3.
** {{{../configure --with-msw --disable-shared --with-opengl --enable-unicode}}}
** ...
* CSL this morning. Holly sang bax.
* Lunch at Charlotte's restaurant. Then visited with Charlotte during her long afternoon break.
* Apparently GIMP 2.2 can make ico files, handy as tiny web site logos.
* Trying [[Foxit Reader 2.0| http://www.foxitsoftware.com/pdf/rd_intro.php]] as an alternative to Adobe Acrobat Reader. See if it will let me make really huge windows, for reading with the 3dvisor. No. It behaves the same way: the window can be very tall, but the content won't cover more than a screen height's portion of the window. Odd!
* Emergence:
** Responded to Susan Skye.+++>Hi Susan,
I appreciate your inquiry, as I value clarity highly. Since I want an open conversation, the cnvc-trainers list isn't the best fit for me to have the discussion. Secondly, it would be inconvenient for me, since I'm not allowed access to the cnvc-trainers e-group. Rather than my forwarding messages to you and others, you might instead visit the new group (http://groups.yahoo.com/group/emergence-of-nvc) and read messages without having to join. If you want to post a reply or have the convenience of messages coming to you, it's quite easy to join (open to all, with no approval process). Also, temporarily, at least, Dominic has offered to cross-post to cnvc-trainers. Do these options work for you?
Warmly, - Conal===
** Replied to Shulamit
* Phooey:
** Rebuilding wxHaskell to work with wxWidgets-2.6.3. Loads of error messages. Report & query to wxHaskell-users list.
** Learning to use haddock, to generate library documentation. haddock couldn't find my base library documentation. Asked for help on #haskell chat, then on the haskell list.
* 3dvisor:
** Registered on the 3dvisor forum site. Posted [[a note| http://www.3dvisor.com/forum/viewtopic.php?t=656]] asking about the status of ~SurroundSight Virtual Desktop and whether I could get the source code to hack on.
** Thinking about how to read documents with the visor. I can visually scan some amount of text with ~SurroundSight, but I still want a way to move to the next page. The visor picks up [[yaw, pitch and roll| http://www.egms.de/figures/journals/cto/2005-4/cto000011.f2.png]] ([[see also| http://liftoff.msfc.nasa.gov/academy/rocket_sci/shuttle/attitude/pyr.html]]). Use yaw & pitch for 2D scanning and roll for page turning. Tilting the right ear to the right shoulder steps to the next page, while tilting the left ear to the left shoulder steps to the previous page. Let the user tune the angle threshold that signifies a page turn.
* [[TiddlyWiki for the rest of us| http://www.giffmex.org/twfortherestofus.html]] ("You will never find an easier entry-level TiddlyWiki instruction manual than this!")
* Idea: [[safe & efficient internet computing]]
* 3dvisor: continued [[disucssion| http://www.3dvisor.com/forum/viewtopic.php?t=656]] of ~SurroundSight.
* Phooey:
** Working with haddock. Got help from Simon Marlow in response to yesterday's note. In ghc-6.6's {{{package.conf}}}, replace {{{$topdir\\html}}} with {{{c:\\ghc\\ghc-6.6\\doc\\html}}}. Fix expected in ghc-6.6.1. +++^[Haddock'd]{{{runhaskell Setup.hs haddock}}}=== packages: monads, arrows
** Stopped resisting the Windows defaults for cabal & haddock. Now do {{{runhaskell Setup.hs configure}}} with //no arguments//.
** Oh, rats. That doesn't work out either. When haddock'ing Phooey, I get +++[this.]
{{{
Warning: cannot use package arrows-0.2:
HTML directory "C:\\Program Files\\Common Files\\arrows-0.2\\doc\\html" does not exist.
}}}
=== I sent in a query to the haskell list. Here is the +++[winning incantation.]
{{{
runhaskell Setup.hs configure --datadir=c:/Haskell/packages --prefix=c:/Haskell/packages
}}}
=== Then {{{runhaskell Setup.hs}}} with {{{build}}}, {{{haddock}}}, and {{{install}}}.
** Haddock doesn't recognize the latest ghc syntax, including infix type constructors and (worse) arrow notation. For now, I've switched the infix and am not haddock'ing the examples (with arrow notation). This problem is well-known. The fix will apparently be to "use the GHC API which obviously can parse all the syntactic extensions."
To do:
* Reply to Shulamit's note on the nvc-emergence group.
* wxWidgets & wxHaskell:
** Rebuilding wxWidgets-2.6.3, this time dropping the {{{--with-msw}}}. (Inspired from a post [[here| http://blog.gmane.org/gmane.comp.lib.wxwindows.general/day=20041207]].) New config command: {{{../configure --disable-shared --with-opengl --enable-unicode}}} .
** Noticed in configure output: {{{checking for --enable-prologio... no}}}. The first error message when compiling wxHaskell says {{{"wxUSE_PROLOGIO must be defined"}}}. If after recompiling wxWidgets and then wxHaskell, I still get the {{{wxUSE_PROLOGIO}}} error, then rebuild wxWidgets with {{{--enable-prologio}}}.
** Sure enough, I still get the {{{wxUSE_PROLOGIO}}} error, Rebuilding wxWidgets with {{{--enable-prologio}}}, I get +++[this error.]{{{configure: error: wxExpr and old-style resources are now available in contrib only}}}=== I don't know what else to try.
** Oh -- I think the wxHaskell build is finding the old wxWidgets (2.4). The error message references {{{c:/cygwin/usr/local/include/wx/}}}, which is older than {{{wx-2.6}}} in the same directory. I renamed wx to wx-2.4 to avoid this accident and recompiled. Now wxHaskell is compiling. Sent wxHaskell-users +++[message.]>The compilation problem below seems to have been that my wxHaskell compile was picking up my old wxWidgets-2.4 include files rather than the new 2.6.3 ones. Looking in /usr/local/include, I saw wx/ and wx-2.6. Although the wxHaskell compilations explicitly ref'd include/wx-2.6, the error messages below ref'd include/wx, I fixed the problem by renaming include/wx to include/wx-2.4 and recompiling wxHaskell.=== Also mentioned the "multiple target patterns" problem and the {{{-fPIC}}} compiler warnings.
** The working configurations:
*** wxWidgets-2.6.3: {{{../configure --disable-shared --with-opengl --enable-unicode}}}
*** wxHaskell-0.10.1: {{{./configure --prefix=/usr/local --with-opengl}}}
** Success! Now I have wxHaskell-0.10.1 and wxWidgets-2.6.3 working together with unicode, and no more truncated strings.
** One more thing to remember in building wxHaskell: build the documentation. I don't know how to get the docs registered so they're picked up by haddock for libraries that //use// wxHaskell (like Phooey). As a hack-around, I edited the wxcore and wx entries in ghc's {{{package.conf}}} +++[like so.]
{{{
haddockInterfaces = ["c:/Haskell/wxhaskell/out/doc/wxhaskell.haddock"],
haddockHTMLs = ["c:/Haskell/wxhaskell/out/doc"]
}}}
===
** To file wxHaskell bug reports, see the [[project page| http://sourceforge.net/projects/wxhaskell]].
* Phooey:
** Asked Simon Marlow for a darcs.haskell.org account. Sent him my public {{{id_dsa.pub}}}. I'll place my projects there, since people already look there and it's presumably set up well or could be for things like darcs-server.
** All of my Phooey modules are haddock-commented.
** My dynamically-bounded slider example (ui2) crashes. Odd!
* Read [[blog entry| http://therning.org/magnus/archives/228]] with a program for recursive directory listing. I'd like it to be simpler and have the IO bits more separated. Playing in {{{~/Misc/ListFiles.hs}}}. For one thing, I'd like to separate out the tree structure from the linearization & path concatenation. Use rose trees {{{Data.Tree}}}.
* Men's group: Matthias called to check in. I told him that I'm starting the men's group we talked about. He's excited about it. Include him ({{{m8p.kai@gmail.com}}}) in my email about it. Called and left message with Pan.
* Phooey:
** Submitted wxHaskell [[bug report| http://sourceforge.net/tracker/index.php?func=detail&aid=1610984&group_id=73133&atid=536845]] (process dies on second {{{start}}}). Also sent to wxHaskell-users with query. Heard from Jeremy O'Donoghue that this is a known problem with wxWidgets-2.6.3.+++>
There //is// a workaround for this: use wxWidgets 2.4.2 or earlier, which have a different allocation/deallocation strategy. This is why we continue to support wxWidgets 2.4.2.=== This may be a serious problem for me.
** Pondering library organization. I made {{{Graphics.UI.Phooey}}} re-export most of {{{Graphics.UI.Phooey.UI}}}, while hiding the representation.
** Renamed module UIM to ~MonadicUI and UI to ~ArrowUI.
** Lots of haddock documentation, including a longish friendly intro in Phooey.hs.
** Lots of flailing around with darcs & ssh. My files & directories are getting created so that they're unreadable or unsearchable by "group" and "other". That messes up use on the server. Tomorrow check into UMASK.
* Can I implement Eros on Phooey? Maybe just the visualization part of Eros.
* Discovery: Emacs ispell-minor-mode is causing the funny behavior I get at the start of text buffers when I hit space or enter after non-alphabetic characters. Both keys are bound to ispell-minor-check. To do: look for a newer ispell.
* MSA members get 12% [[discounts on Dell computers| http://whatcounts.com/t?r=1374&c=731025&l=34283&ctl=15381FE:D17492C51C91D73DED0EA8EC1A0E58CFA04380EFC0D89E1E]]
* Replied to Louise Taylor, a student in the UK who asked about some of my Pan imagery.
* ssh issues
** Heard from Simon Marlow that the "Patch bundle failed hash" bug is known, and "The one known workaround is to use the SSH that comes with MSYS and set CYGWIN=binmode." I also sent Daan a note asking about his experience, since he uses darcs with servers, from Windows.
** Downloaded [[msys-1.0.10|http://www.mingw.org/download.shtml]]. Doesn't contain an ssh. Asked Simon Marlow.
** Trying [[PuTTY|http://www.chiark.greenend.org.uk/~sgtatham/putty]].
* Playing with adding glow to my power design.
| [img[http://conal.net/Pan/Gallery/transparent/m-glow-inv-150.png]] | [img[http://conal.net/Pan/Gallery/transparent/m-glow-150.png]] | [img[http://conal.net/Pan/Gallery/transparent/z1.png]] |
* Response to Henry Wai on what I hope the yahoo group will achieve.+++>
Hi Henry.
I like your question, as thinking about it has given me more clarity. I've amended the group description.
I hope to achieve:
* well-grounded clarity about needs met and needs unmet by cnvc certification, to make it more likely that needs currently falling through the cracks are more likely to get addressed;
* seed collaboration on creating new means of meeting those needs;
* confirmation and/or redirection for my [[Emergence plan| http://emergence.awakeningcompassion.com]], so that it will support people's needs for learning, growth, community, and contribution as well as possible;
* learn whether top-down quality control strategies like certification do indeed thwart growth, as I and some others have suggested and still others have questioned; and
* encouragement & community for myself and others sharing nvc.
As for how the group might achieve these goals:
* Through discussion of support quite different from what cnvc has been offering, people can get a new sense of possibilities and choice.
* As people share their personal goals behind their choice to pursue cnvc certification, especially in the light of other possible strategies, the underlying needs can become clearer and more room for separating those needs from the current certification strategy.
* Discuss the "bottleneck" issue for a reality check.
===
* Correspondence with Patrick Mulder, who asked me about running Fran. Yesterday I updated the Fran page to say that Fran no longer runs and to invite collaboration on the topic. Patrick has been using Pan# (Yale C# variation of Pan).
* Re-reading [[How to write a Haskell program| http://haskell.org/haskellwiki/How_to_write_a_Haskell_program]]. It's easy to set up darcs to run ~QuickCheck tests at each commit. Apparently, the commit only happens if the tests all succeed. Neat!
* Phone chat with Jake. I enjoyed catching up.
* To make a release, do e.g., {{{darcs dist -d phooey-0.0}}}, which makes {{{phooey-0.0.tar.gz}}}. Also tag via {{{darcs tag 0.0}}}.
* Try again using wxWidgets 2.4.2 instead of 2.6.3, so I can use wxHaskell (and therefore Phooey) with ghci. See [[2006-12-07]].
** Went back to {{{c:/wxWindows-2.4.2/mybuild/}}} and did {{{make install}}}. Note: created {{{c:/cygwin/usr/local/include/wx/}}}, as mentioned on [[2006-12-06]].
** Recompiling wxHaskell:
*** Do I have to recompile wxHaskell? Try first without. Crash.
** Configure then {{{make}}}, without {{{make clean}}}. Lots of linker errors.
*** {{{make clean}}} then {{{make}}}. I had the problem with {{{popupwin.h}}} mentioned on the [[wxHaskell build page| http://wxhaskell.sourceforge.net/building.html]]. Copied as recommended. Started over with clean build.
*** Now I'm back to the problem of truncating my strings to one character.
*** Reconfigure and recompile wxWidgets 2.4.2, using config line from [[2006-12-06]]. Same problem. Also rebuilding wxHaskell. Long wait .... Truncation.
*** Start all over with building wxWidgets 2.4.2, starting fresher. Not just a "make clean", but remove the contents of mybuild to make sure nothing old was hanging around. Configured, built, and installed. Everything works! Full, untruncated strings. Multiple starts in ghci. And I prefer the visual style of sliders in 2.4.2 over 2.6.3.
* Return to the Phooey paper? Two main contributions:
** The interface design
** Systematic development of the implementation by deconstruction imperative GUI programs.
* A while back, I changed my emacs ~LaTeX mode to use longlines minor mode. Works fine in a pure ~LaTeX file, but not in a literate Haskell script with parts in Haskell mode and parts in ~LaTeX mode (mixed via mmm-mode). If I save the file and then load it, I see hard line breaks. I verified that the lines get saved long. For now, I commented out the {{{longlines-mode}}} line in my {{{tex-mode-hook-function}}}, with the intention of doing it manually when I edit. Or a magic comment that gets executed by emacs. Found +++[a working incantation.]
{{{
%% Local Variables:
%% eval:(longlines-mode)
%% End:
}}}
=== Maybe I'd better just not use longlines-mode here, since it may hinder collaboration. Hm.
* Don Stewart posted a [[blog entry| http://cgi.cse.unsw.edu.au/~dons/blog/2006/12/11#release-a-library-today]] that "describes the entire process of writing, packaging and releasing a new Haskell library." It's mainly a shell transcript.
* In a reply to Roger, I wrote a note with [[comments on the word "trainer"]].
* Simon M pointed me to msys-DTK, which has the msys version of ssh he uses. See [[2006-12-08]]. I installed it and uninstalled cygwin's openssh. Now, finally, I can {{{darcs put}}} and {{{darcs push}}} to {{{darcs.haskell.org}}}. Works great as long as I don't use {{{darcs amend-record}}}.
* Finished my Phooey-0.0 release! Sent out [[phooey-0.0 release note]].
* Caught up on http://planet.haskell.org reading.
* Phooey:
** Appeared in [[today's Haskell Weekly News| http://sequence.complete.org/hwn/20061212]]. Good timing!
** Added to the [[GUI libraries| http://haskell.org/haskellwiki/?title=Libraries_and_tools/GUI_libraries]] page of haskell.org.
** Got some queries on the haskell mailing list:
*** Antony Courtney asked how Phooey is like or unlike Yampa. (I wonder why Yampa and not Fruit. Maybe modesty.) Also, asked about "dynamic collections", an old Fruit issue.
*** Brian Hulley asked what I mean by inversion of logical dependencies in imperative UI programs. Also about implementation efficiency and evaluation strategy. He suggested that laziness may make efficiency easy. I think he's right. He also suggested an +++[example for the paper.]>
If you're still thinking of examples for your paper it would also be really great to see how you'd create a widget that displays the result of another process (eg a window that displays the output as ghc compiles a program) or some other example of how to use the IO monad inside a widget for those unfamiliar with combining arrows with monads.===
** Working on the Phooey paper.
* Stumbled on [[TimeToMeet| http://www.timetomeet.info]], a free, web-based meeting scheduler, which I've been wanting for setting up the men's group. I couldn't remember where I'd seen such a thing, when I looked yesterday. I found it quite synchronistically today, in tracing back links to Phooey as reported by statcounter.
* Yoiks! I got blog-spammed. One of my blog entries got five spam comments. I turned on "word verification", which asks a commenter to read and enter a word. Alternatively, I could turn on "comment moderation", which notifies me of comments and won't post them until I give the okay. Moderation might be more convenient for commenters, but I'd still have to deal with spam. In the process, I upgraded my blog to the new [[Blogger beta| http://beta.blogger.com]].
* Phooey:
** Doaitse Swierstra pointed out the my Phooey docs have some references to other library docs on my local machine. I don't know how to fix the problem, so I sent a query to libraries@haskell.org.
** Read and replied to a note from Steve Schafer. He suggested that push-vs-pull is more the crux of the "dependency inversion" issue. I like the clarity of this dialog and want to improve the paper accordingly.
** After looking at the apache log analysis (awstat), I updated the statcounter to offset my late creation. I had 892 Phooey visits yesterday, having sent my announcement at 11:15pm on the previous night. Jeepers!
* More on web stats:
** I want to get all of my server log info analyzed and graphed. It takes a long time, with the monthly logs (and running in Perl). Set up regular, incremental analysis to run nightly.
** Made some helpful aliases for manual analysis, like {{{awupdate phooey}}} and {{{aw}}} (for {{{awupdate conal}}}).
** I don't know how to specify the log file from my awstats config file. Log files have names like {{{access_log.2006-11-18}}}. They roll over every 30 days. For now, just edit {{{/etc/awstats/awstats.conal.conf}}} after each roll-over. There has to be a better way.
** Got web-based dynamic invocation going. Visit http://awstats.conal.net to see results of the last analysis.
** Enabled web-based //update//. See the "update now" button on the [[stats page| http://awstats.conal.net]].
** I made {{{awstats.phooey.conf}}} that greps through my log file for "phooey". It has to grep through the whole thing, so it's pretty slow.
** Found [[Analog| http://www.analog.cx]], billed as "The most popular logfile analyser in the world", and reportedly darn fast (implemented in C -- "56 million logfile lines in 35 minutes on a 266MHz chip"). I don't see incremental analysis.
* Web statistics: Cranking through old logs. I hope I'm not impacting Joseph's server noticeably. It doesn't work reliably when I process the log files in //reverse// chrono order, so I'm going forward.
* Thoughts on [[Eros| http://conal.net/papers/Eros]]:
** It keeps logic and UI //together and separable//.
** Maybe release it in stages:
*** Visualization of pure values.
*** Add programmatic composition, via the Eros algebra.
*** Add gestural composition.
** I want to layer Eros neatly on top of Phooey. Probably doable without gestural composition. With?
* There was a major wind and rain storm last night. The power went out and came back on only this evening. The news said a million people in western Washington were without power. This morning, Holly & I found that there was power in Shoreline (adjacent to Lake Forest Park), so we had lunch at Sunni's and then went to Hotwire to use our computers. We've been making Christmas presents, and I'm excited about what we're coming up with.
* This morning, I started thinking about how to recreate Eros on top of Phooey. I'm still noodling it through, but I expect it will come out very elegantly.
* My files are all read-protected from others. Some are read-write-protected from me. Some have funny owners. +++[Fixed.]
{{{
chmod -R u+rwX .
chmod -R og+r .
chown -R Conal .
chgrp -R None .
}}}
The capital X means "execute only if the file is a directory or already has execute permission".=== Unfortunately, new files that I create through Windows still come out as readable only by me. I don't know why. Reading up on [[permissions & security for ~WinXP| http://support.microsoft.com/kb/308418]].+++>
''Windows XP Home Edition''
Start in safe mode, and then log in as Administrator or as Administrative User. The Security tab is available for files or folders on NTFS volumes.
''Notes:''
* The Everyone group does not include the Anonymous Logon permission.
* You can set permissions only on drives that are formatted to use NTFS.
* To change permissions, you must be the owner or have the owner's permissions to change permissions.
* Groups or users that are granted Full Control permissions for a folder may delete files and subfolders in that folder, regardless of the permissions that protect the files and subfolders.
* If the check boxes in the ''Permissions for //user or group//'' box are unavailable, or if the ''Remove'' button is unavailable, the file or folder has inherited permissions from the parent folder. For more information about how inheritance affects files and folders, see Windows Help.
* By default, when you add a new user or group, the user or group has permissions for Read and Execute, List Folder Contents, and Read.
===
* Web statistics:
** Made an index page at http://awstats.conal.net, which redirects to http://conal.net/stats.html.
** I want to set up murraycreek.net. The format got changed from "common" to "combined" on March 2, 2005. I'll have to split the access log into two pieces and process them separately. Process the old logs, too. And clc press.
** Here's what I like about awstats, compared with statcounter:
*** it doesn't require anything on the individual web pages;
*** it catches absolutely all domain activity;
*** it keeps bazillions of detailed records (for free), not just the last hundred;
*** it shows old web traffic stats as well as new; and
*** it doesn't slow down visitors.
** See [[2006-12-17]] for down side.
* Spent most of the day making Christmas presents. Since this journal is online, I won't say just yet what the presents are.
* Started working on my new implementation of Eros on Phooey. I'm calling the new library "TV" for "Tangible Values" (Sean Seefried's suggested replacement for "concrete values"). I'm happy with this layering approach, as a way to make Eros easier to work with and understand. More exposed layers also gives me more points of contact with other people.
* We got California Christmas presents finished and mailed off.
* TV (Tangible Values):
** Implemented the conversion from //Output a// to //UI a ()//. Very simple, which speaks well of my chosen abstractions.
** Noodling out this conversion lead me to realize that my //UI// arrow can be used in a style that mixes UI & functionality or keeps them separate. I can always take the separate style (//ui :: UI a ()//) and mix them (//pure (const a) >>> ui :: UI () ()//).
** My first few simple examples work great.
** Formatting problem:
** Added some [[darcs tips]].
* Thoughts on Tangible Values, etc:
** See thoughts on [[separating IO from logic]].
** The TV approach uses ~UIs as a means of visualizing pure (functional) values. How far can we take this idea? Can we view //all// ~UIs as visualizations of pure values separable from the UI specification? Sounds fun to pursue. Given a program with a UI, ask //what is the type// of the value being visualized?
** I parameterized my //Output// and //TV// type constructors over the underlying arrow (e.g., //UI//). Make another example as well for //Kleisli// arrows.
* Idea: implement readFile and writeFile in terms of a primitive that uses an efficient packed representation, such as byte-strings. Layer conversion to & from standard (inefficient) strings to implement the current readFile & writeFile. Have fusion do the rest.
* TV:
** Added support for Kleisli arrows and IO in particular. +++[Examples:]
{{{
type KIO = Kleisli IO
interactO :: Output KIO (String -> String)
interactO = oLambda (kIn getContents) (kOut putStr)
io1 :: TV KIO String
io1 = tv (kOut putStrLn) "Hello World!"
io2 :: TV KIO (String -> String)
io2 = tv interactO reverse
testO :: Output KIO (String -> String)
testO = oLambda (kIn (readFile "test.txt")) (kOut putStr)
onLines f = unlines.f.lines
onWords f = unwords.f.words
perLine f = onLines (map f)
perWord f = onWords (map f)
-- :: TV KIO (String -> String)
io3 = tv testO (onLines reverse)
io4 = tv testO (onWords reverse)
io5 = tv testO (perLine (onWords reverse))
io3' = tv testO (perLine reverse)
io4' = tv testO (perWord reverse)
io5' = tv testO (perLine (perWord reverse))
}}}
===
** Think about new name, since the project is more general than "tangible values".
* Operations that combine input & output don't seem to fit very well into the //TV// style. For instance, //readFile// can have a file name determined dynamically. Similarly for sliders with dynamic bounds.
* Added text input to Phooey. Bumped version number to 0.1. Remember to record and push and "make webdoc" before I announce TV.
* Web server log file analysis:
** Project idea: fancy & efficient [[Haskell-based web server log analyzer]].
** For friendlier web stats, use [[logresolve| http://httpd.apache.org/docs/2.0/programs/logresolve.html]] to do reverse DNS lookup. It does its own caching.+++>logresolve is a post-processing program to resolve IP-addresses in Apache's access logfiles. To minimize impact on your nameserver, logresolve has its very own internal hash-table cache. This means that each IP number will only be looked up the first time it is found in the log file.=== Tested on my 2006-12-18 log file (recently started, only 98k). Canceled after a long wait. Tried the first thousand lines, which took a good while. I think this version of logresolve (found on Joseph's server) does only //transient// caching, while version 2.0 does //persistent//
* Read article [[Crossing borders: JavaScript's language features| http://www-128.ibm.com/developerworks/java/library/j-cb12196/?ca=dgr-lnxw01Javascript-Respect]]. Focuses on higher-order functions and ~JavaScript's prototype-based object mode.
* Helping Sandy redirect the new web site.
* Wrote up some thoughts on releasing [[Pajama]] as an open source software project.
* TV:
** Thinking about how to define Input as a functor and Output as a co-functor, so I can conveniently fmap & cofmap. ''Problem'': suppose I have a pair-valued output, and then I fmap a function over the pair output. The resulting output may have a non-pair type. I've been thinking that fmap would have //no visible effect// (on the UI), which means that the user would still expect to be able to apply a function to a //part// of the pair-value output. Denotationally, however, the pair is gone and generally unrecoverable. This problem comes not just from pairs, and would happen in any fmap, since the type and the appearance are out of sync. ''Idea'': render an fmap with a single output handle and suppress all output handles in the inner output. Perhaps add some kind of decoration as well. In terms of composition, the fmap is treated a primitive.
** Now generalize functor/co-functor to //arrow// and fmap/cofmap to ri