FreeMind: http://freemind.sf.net
View Your Mind: http://www.insilmaril.de/vym/

What is a mindmap?

* Tony Buzan (- raid Dad's bookshelves)

: Alternative note taking
: Branches from central point 
:: unifying theme
: Subbranches by theme
: Illustration - more pictures the better
:: Picture is worth a thousand words
:: Links diverging ideas - an anchor

# this outline: perfect application for mindmapping

? Outlines in general
: Better - develop themes of piece of writing
: Software developers
:: Formal training requires outline first, code later
::: UML, flow charts


Why use mindmaps?
(More to the point, why the hell didn't I use one for this?)

Why use mindmapping software

FreeMind & del.icio.us
: del.icio.us - better bookmarks
:: public - shared, put more effort in
:: user defined categories
: how do your links look?
: delicious_mind
:: del.icio.us to FreeMind
:: downside - doesn't work
::: Looks simple to fix?
:::Problem was that my version somehow had wrong indentation level
   for mindmap.write('</node>\n') -- invalid XML

The sample image shows that all nodes are added to the left.

--- delicious_mind.txt  2004-09-30 00:34:17.000000000 +0100
+++ delicious_mind.txt.fix      2004-09-30 23:49:19.870488445 +0100
@@ -23,10 +23,10 @@
 xdoc = minidom.parseString(tag_data).documentElement
 for tag in xdoc.getElementsByTagName("tag"):
     category = tag.getAttribute("tag")
-    mindmap.write('<node LINK="http://del.icio.us/%s/%s" TEXT="%s" FOLDED="true">\n' % ( user, category, category ))
+    mindmap.write('<node LINK="http://del.icio.us/%s/%s" TEXT="%s" FOLDED="true" POSITION="left">\n' % ( user, category, category ))
     for post in posts:
         if post.getAttribute("tag").find(category) != -1:
-            mindmap.write('<node LINK="%s" TEXT="%s"/>\n' % (
+            mindmap.write('<node LINK="%s" TEXT="%s" POSITION="left"/>\n' % (
                 post.getAttribute("href").encode('ascii',
                                                  'xmlcharrefreplace').replace('&', '&amp;'),
                 post.getAttribute("description").encode('ascii',


FreeMind
: + written in Java, runs anywhere
: - written in Java - Java sucks ass
: + easy to understand XML format
:: simple export to odd formats with XSLT
: - can't add extra information without adding a "branch"
: - can't link nodes from separate branches
:: or can you???
: + HTML export

VYM
: new one to me - FreeMind much better known
: Is the logo a mindmap by VYM?
:: if so, more like Buzan's maps
: + HTML export
:: - looks crappy in moz

get delicious_mind to work
(1/Oct/04 00:12): fails to read a thing
-> User agent failure?
   del.icio.us sometimes blocks certain User-Agent strings
   = try different user agent - MSIE's should work

--- delicious_mind.py.orig      2004-10-01 00:17:50.633534978 +0100
+++ delicious_mind.py   2004-10-01 00:06:05.481920178 +0100
@@ -13,6 +13,7 @@
 def auth_open(url):
     request = urllib2.Request(url)
     base64string = base64.encodestring('%s:%s' % (user,passwd))[:-1]
+    request.add_header("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)")
     request.add_header("Authorization", "Basic %s" % base64string)
     return urllib2.urlopen(request)

A blog (http://markpasc.org/weblog/2003/05/19/urllib2_useragent_annoyance)
mentions that old versions of urllib2 try to set 2 User-Agent strings

python interactive:
>>> import urllib2
>>> request = urllib2.Request('http://127.0.0.1')
>>> urllib2.urlopen(request)
<addinfourl at 1080498316 whose fp = <socket._fileobject object at 0x4065325c>>

-> /var/log/httpd/access_log
127.0.0.1 - - [01/Oct/2004:00:09:22 +0100] "GET / HTTP/1.0" 200 7063 "-" "Python-urllib/2.1"

>>> request.add_header ('User-Agent', 'Jimmy was here')
>>> urllib2.urlopen(request)
<addinfourl at 1080498444 whose fp = <socket._fileobject object at 0x403a3c6c>>

-> access_log

127.0.0.1 - - [01/Oct/2004:00:10:10 +0100] "GET / HTTP/1.0" 200 7063 "-" "Jimmy was here"

??? What now?

Link: http://www.wasab.dk/morten/2004/09/feed-normaliser.xsl
Cleans up del.icio.us rdf
- Basis for FreeMind conversion?
