Assembling the heterogeneous elements for (digital) learning

Category: FedWiki

Multiple exposures - protean

Visualising and pruning my Memex

Update – now automated memex links

In writing the following I stumbled across the idea that writing blog posts in Foam would enable the merging of content from Memex and blog posts. I then discovered it didn’t work out of the box. More work was needed. But the nature of the technology involved meant that it wasn’t that hard and is now complete.
You’ll see links below followed by the spider web emoji (🕸️), those are links to my Memex.
Meaning I this bit of bricolage can be linked to my Memex’s page on Bricolage. It’s this type of capability that might address the Reusability Paradox in digital learning technology, but more on that soon.

Just over a month ago I started exploring the use of Foam as my next attempt at developing a Personal Knowledge Management process. This has evolved into using Foam to curate my personal “Memex” and (amongst other things) populating it with notes from my experiments with Smallest Federated Wiki and Wikity.

Foam has only been under development for just over a month and not surprisingly this brings with a few rough edges. Rough edges are the quickly being sanded down by a combination of the rapidly growing Foam community, the nature of the technologies underpinning Foam, and increasing knowledge on my part. Foam is quickly becoming core to my practice e.g. I’m writing this blog post in Foam (here’s the Foam/Memex version of the post).

The animated GIF below illustrates the utility of Foam. It shows me using Foam’s graph visualisation feature to
1. View the network of connections between the notes I’ve placed into Memex.
2. Identify an outlier note that isn’t connected to anything (the first blog post I wrote in Foam/memex).
3. Click on the graph node to view the content of the associated file.
4. Figure out how that file should be connected.
6. Add in a appropriate connection to the note.
7. See the graph visualisation change to represent the new connection.

Visualising and pruning my memex

Further reflections

Breaking down categories

From the visualisation, I’ve also been able to make some observations reflect on my PKM process. For example, the network shows my use of Seek > Sense > Share as an initial organising metaphor limits connections. Strongly reinforced by the fact that the blog posts I’ve written have yet to connect back to the other notes in memex (e.g. those connected to Sense). Given Foam’s link auto-completion feature this is actually quite easy to do. e.g. Seek > Sense > Share

Or at least I thought. It doesn’t. More on this below.

Illustrating my IT nerdish tendency to be categorising notes as I place them into memex. Starting with seek/sense/share and flowing from there. Even though I’ve argued against hierarchical (tree-like) structures (e.g. SET Mindset). I’ve still not yet fully grasped the advantage of associative ontologies to hierarchical taxonomies

Foam’s ability to produce a public “secondbrain” on github pages (e.g. memex) further breaks down the original conceptions of seek > sense > share. Rather than Share being the focus for “exchanging resources, ideas, and experiences with our networks” this is happening with Seek and Share as well

Mindtools, concept maps and learning

All of which appears to be a perfect example of the graph visualisation of Memex providing me with a concept map. A concept map that allows me to reflect on my own thinking (as captured in Memex) and subquently learn and change my practice. An example of Jonassen’s (1996) idea of mindtools. Digital technologies that enable representation of what is known and using that representation to think about what is known.

An important technical difference (affordance) between Foam, Smallest Federated Wiki and Wikity

All of what is happening in the GIF is occuring within Visual Studio Code Microsoft’s open source code editor. It’s VSCode’s open architecture and its marketplace of extensions that enable Foam’s development and functionality. For example, it’s the Markdown links extension that provides the functionality to visualise the graph and use it to navigate through the notes. It’s not something that the Foam community had to develop.

In addition, while I am not a fan of Markdown it does provide a very good interoperability platform. For example, the Markdown links extension enabling the visualisation. Hence there being Python module for markdown that will convert markdown to HTML. Allowing me to convert this Markdown file in memex into this blog post.

As mentioned above I’ve experimented with Smallest Federated Wiki and Wikity. These are related but also different approaches to Foam. There are many differences in functionality (e.g. Foam doesn’t support federation) and technical platforms (e.g. Wikity is a WordPress plugin). But for me there appears to be a more important difference.

Foam appears more inherently more protean. More protean with how the tool itself is built. More protean in terms of how the content within it can be manipulated. Subsequently, more protean in how it can be integrated into the ad hoc assemblage of technology and practices that is my PKM process. Hence it appears more useful and it becoming (slowly) more integrated into and transforming my practice.

Though appears is the important word in the previous paragraph. YMMV. The protean nature of Foam is an affordance that arises from the combination of the technology, who I am, and my environment/assemblage. If you’ve not done much web development and through that developed knowledge of markdown, github and other technologies…YMMV.

The cost of protean flexibility

The protean nature comes at a cost. The different tools being cobbled together here have different expectations. Differing expectations that clash. e.g. Foam’s link autocompletion works a little differently than a normal markdown link. Differently enough that the Python markdown converter doesn’t know how to handle it. Hence the broken Seek type links above.

Can it be fixed? Not a question I can answer now.


Jonassen, D. H. (1996). Computers in the Classroom: Mindtools for Critical Thinking. Merrill.

Heading out for a walk

Getting started with memex

My last post was an exploration of Foam (a nascent personal knowledge management and sharing system) and how I might use it. This post documents two steps toward implementation

  1. Writing blog posts using Foam and syncing to my blog (e.g. this post)
  2. Converting almost 100 notes from my wikity into Foam

The end result is that my personal memex is slowly taking shape and a growing familiarity and resonance with how Foam works.

What’s in memex now

Based on Jarche’s Seek > Sense > Share framework the home page points off to three main sections:

  1. seek
    A work in progress.
  2. sense
    Where you’ll find clost to 100 notes imported from my old Wikity site. These are organised into categories, including a “loose” category.
  3. share
    Another work in progress, but does point to the original markdown file for this blog post.


Having more content here has really started to highlight the functionality of Foam and its potential benefits. The auto-complete on Wiki links is very usable and appears likely to help understanding. e.g. it’s already encouraged me to spend more time on naming of notes which means spending more time on thinking about how all this fits together.

At the start, I hadn’t fully grokked the importance of naming files. The wiki-links autocompletion feature means that the location in the file hierarchy isn’t has important as the name.

It’s also reinforced that the very act of using Foam is a form of sharing.

It’s also reinforced the benefit of the “best-of-breed” ecosystem approach to the way Foam is constructed. Each of the VSCode extensions adding a necessary and useful functionality. There’s also been some of the complications of getting disparate systems to talk together. e.g. the aborted first attempt to sync this post and WordPress.

Different bits of the ecosystem introducing unexpected side effects. e.g. if there’s not a blank line before the auto-generated wiki links, it doesn’t display on github.

What’s next?

There are a few limitations/changes to workflow that I haven’t yet figured out/got to

  • Adapting the Foam/Wordpress sync script to maintaining blog pages
  • Explore options for making the interface more visually appealing and easier to navigate
  • Spend a bit more time on the seek process

And generally start embedding this into how I work.

Writing blog posts in memex

One of the assumptions of Foam is that the authoing environment (VSCode/markdown) can be a positive writing experience. I’m not such a fan of markedown. Writing blog posts in Foam will help me explore/change that in addition to all the benefits of POSSE and Foam.

WordPress <–> GitHub sync (failure to launch)

The hope is that the WordPress <–> GitHub sync plugin for WordPress will help.

Installation seems to have worked, but I’ve decided not to import existing posts here. Start afresh.

Is it working? That is the question.

After a bit of fiddling it works. However, it is removing files that Foam uses. Mmmm, not good. It’s not 100% clear to me how and when its removing and moving files in the repo. This is making me nervous.

It’s also 3 years since the last update to the repo, which include a call for maintainers. Moving on.

Python python-wordpress.xmlrpc

There is an option with Python but it’s even longer since it was last updated. But it works. There’s also a [Python markdown module] to convert markdown to HTML.

I’m currently in the process of adding a featured image for each post. Which I’ll do manually to start the post. I need a script that’s going to: read the markdown file, extract config about which post/page it’s related to, and then update that page.

That’s done. Sufficient for now, but a huge kludge. But that’s nothing new to what I do.

Needs some tidying up, but that’s tomorrow’s (which never comes?) job.

Importing notes from wikity?

From previous experimentations I have a Wikity install that contains a collection (not very big) of candidate “zettels”. The idea is that importing those into memex should provide a good collection of zettels to experiment with using Foam. Giving some insights into if and how Foam can work managing such a collection.

The plan here is:

  1. Check out the format of the Wikity entries.
  2. Develop method to programatically extract them from Wikity.
  3. Transform and insert them into memex

Wikity entry format

Wikity (I believe) was based on the idea of Cards and CardBoxes. Cards are the equivalent of zettels (which is German for a small piece of paper) and CardBoxes are the equivalent of structure notes (memex’s paths).

One of the problems I face is that I doubt I ever used Wikity all that well. And what is there seems to have broken links

Card:Three types of decentralisation as some wonky content but does include a “see” link that is meant to point to a Cardbox. The content is in markdown and the “see” link is a wiki link [[BAD]]

Cardbox:Affordances contains two cards. It shows that a CardBox is essentially only links to other cards. The content is shown in the left hand nav bar. The content of this WordPress post is two wiki links to the cards e.g.

[[Why the web scales]]
[[Blackboard tweaks]]

It appears that the only sign that it’s a CardBox is that inclusion of CardBox:: in the title.

Suggesting it should just be a matter of extracting the content of each post and writing it to a proper place and all should be good?

Extract content from Wikity

Wikity is a theme on top of WordPress. Hence the python-wordpress.xmlrpc package used above should be able to grab the cards.

And it can. Quite easily. The question now is how to insert it into memex.

Transform and insert into memex

Since Wikity uses markdown (as does Foam/memex) there is no immediate need to transform. The question will be if there are any specific additional transformations (e.g. links) that need to be made to make it all work in Foam.

Plan is to insert the wikity cards and card boxes into the Sense section of memex. At some level the cards have already been ‘sensed’, just not very well. The question in my mind is how to do this? What structure to use?

The Foam community to the rescue with this example found on Twitter. A concrete example to explore. The concepts directory is holding the equivalent of card boxes. Semi-equivalent to the sense directory in memex. Each “card box” then has its own “index” and directory for cards


  • Get a list of Cards and CardBoxes in Wikity
    Done. Simple Python code.
  • Make directories in sense for each of the card boxes
    Done. More simple processes
  • Save card boxes to files in sense directory
    Now it gets harder. More detail below. But not using wiki links
  • Save each card ito the appropriate directory (card box or “loose”)
    Another case of a bit of markdown linking, rather than wiki-links
  • Add a list of card boxes to sense/
    Will do this one manually, with a bit of help
  • Add a list of “loose” cards to sense/

Generating md files using Python

It’s simple to write the files using Python. But doing so bypasses VS-Code so doesn’t run the plugin that enable wiki links to work.

  1. Figure out how to call the plugin from Python (or other means)
  2. Write normal markdown links using Python

Problem 1 is a step too far for my knowledge and time at the moment.

Fixing misc problems

The wikity notes are imported, but github pages isn’t building. Potentially because the wikity stuff was all over the place. Some HTML, some markdown. Trawling through those, fixing problems and re-allocating notes.

Also removing colons from filenames.

It does appear to be working

[Why the web scales]: ../../sense/Affordances/Why the web scales “Why the web scales”
[Blackboard tweaks]: ../../sense/Distribution/Blackboard tweaks “Blackboard tweaks”

Initial steps with the #FedWikiHappening happening

So I’m starting another MOOC. Though it’s not a MOOC at all. It’s apparently a SiCMOOC (small intimate Connectivist MOOC). Though that term is labouring a fad for more than it’s worth. Much prefer the term the organiser (Mike Caufield @holden) is using a happening

The happening metaphor is borrowed from theater, where tightly structured but ultimately meaningless events combine with the actions of audience-participants to produce unique, emergent meaning.

Specifically, I’ll be participating in the Federated Wiki Happening (#fedwiki seems to be the hash tag update: #fedwikihappening it is). The best current description seems to be this Google doc. I’ll attempt to use my blog as a journal of the experience. So here goes.

At first glance the happening shows some of the characteristics of a cMOOC. Each day we’re getting a “daily” to spark off ideas and tasks.

Daily #1 – Interesting people to be sure

Setting the scene. Letting us know what to expect. Linking the happening back to the early Wiki days and setting the happening up as the source of the first federated wiki community. More than learning a new tool, we’re helping co-develop its culture.

Federated wiki is easy to install – the coder in me wants to get to that straight way.

Daily #2 – An introduction to idea mining

The main activity for this happening is collaborative journaling using federated wiki. The nature of federated wiki – a focus on reuse and connection – makes it different than blogging or other media.

Apparently Idea Mining is a useful approach

the translation of things we read, see, and think into named ideas and examples that we can connect to form larger and more various thoughts.

As it happens the same connections that got me into this happening has provided me with a ready made example. After attending my ASCILITE’14 presentation and as part of a Twitter conversation @timklapdor tweeted

To which the happening’s illustrious organiser (@holden) replied with an illustration of Idea Mining around the idea of “digital renovator”. AN ideas that I briefly mentioned in the presentation. (Actually, I only added that slide the night before as part of my last edits).

Task: Must explore how to expand/extend/reuse that page once I have FedWiki installed. Must start using Trello for my FedWiki todo list.

Question: I assume page (as in Wiki page) is the correct term for a part of a FedWiki?

In recent cMOOC tradition we’re starting out the happening with a suggested process. This one summarised in this video.

The video critiques some of the current options (social bookmarking, twitter) we use around social media when we currently find something interesting. Instead replacing it with creating a page in Federated Wiki that captures the idea.

A lot of the “goodness” that might arise from this practice does appear to arise from Mike’s skilled use of it. Remembering connections with other ideas and taking the time to make the connections between them.

Question: How well will folk (like me) who are currently using social bookmarking and other limited means take to this type of active process? Will it only work for the motivated and capable folk?

It also illustrates that a lot of benefit arises when there are other folk using this same approach and tool. Hence perhaps the importance of this happening and its aim of creating the community.

Question: Watching the video as Mike connected ideas, the obvious though was whether anyone has harnessed something to visualise the “idea map”?

Question: Wondering also how the inevitable problem of “same idea, different label” gets handled?

Daily #3 – Skirting the orange halo of death

Apparently there’s an interface issue we should be aware of.

Mentions that Federated Wiki – “a federated data-ware JSON driven platform” – includes lot of difficult stuff. This type of change isn’t easy.

Question: When combined with the need for FedWiki users to be motivated and capable (see above), does this mean that the adoption cost of FedWiki will be too high? Too high for me? What about too high for some of the courses and the students I teach?

Apparently the problem focused on here has been a problem in a course. And a problem for some of the happening participants. This video summarises the problem and the solution. In essence, it appears to be a caching issue. In essence, the changes you make in a FedWiki page are made in a browser. Whilst you have a valid Internet connection (or permission to edit a page) the changes get updated on the server. But if your connection/permissions doesn’t exist, you get a orange halo and the updates are only in your browser. You have to hit a button to get it updated on the server (once your connection/permission is back).

Apparently we get our fedwiki homes in a couple of days. Can I wait? Should I try to go it alone and install it? Looks like a Ruby application.

Perhaps I should read a bit more about Federated Wiki. This Wired story seems like a good place to start and asks a question similar to the above – “But is it too nerdy to catch on?”. It also mentions the challenge of overcoming social media inertia.

And a TEDx talk from Ward Cunningham himself explaining the federated wiki.

Powered by WordPress & Theme by Anders Norén