A blog looking at business communication, knowledge management, scripting tools, OS technology news and other things of interest to mobile tech workers. As I find interesting news this will also contain pointers to thoughts related to configuration managment, change management and general software development.
I have been fighting off comment and trackback spam and have been finally driven to move to another tool. It is with great sadness that I leave my beloved PyDS and PyCS (python rules!) tools. This weblog has been moved to http://www.fishandcross.com/blog and is now being driven by WordPress.
I have imported the posts from this site have not been able to get the comments. I trust this site will stay available.
I agree that a wiki can be a good tool for decentralized decision making ... the interesting thing is a wiki 'hides' each users contributions behind the versioning capabilities that in my experience don't get used too much ... which means that it levels out the effect of lesser or more well known contributors.
Reading The Wisdom of Crowds by James Surowiecki is a lucid reminder of the value of decentralization and diversity. Surowiecki identifies several methods of integrating diverse viewpoints in an organization, such as decision markets and aggregate voting. One I'd like to suggest is a wiki. One of the major problems we are facing in the era of the Internet and intranets is that we have moved to a decentralized world without any good way to aggregate what each of us in the organization...
Thanks for checking on me Jack... I've been suffering through comment and trackback spam that made this blog difficult to maintain. I think I have a temporary solution for now with hopefully a better option down the road that will let me turn those features back on.
For now I have disabled comments and trackback display in this blog in the hope that it will put an end to the spam that has been clogging this blog. Perhaps a more controlled comment and trackback service is available.
It might be drastic but I don't seem to have any other options using the current PyDS blogging tool and PyCS hosting.
If you want to wish me a happy birthday, first, let me say, thank you, mazel tov, a blessing back at ya, namaste and let's have fun. I have one request, which I get to make because it'll be my birthday tomorrow, and I'm getting in practice for one day of pure selfishness. Instead of sending an email, if you have a blog, how about posting your wishes on your blog with a link to mine? I could always use some more flow, and I'd love to climb a few notches on the Technorati list, truth be told. ";->"
I noticed while wander a Frys Electronics store in Plano that there is now a WIFI SD card available for my T3. Its a heafty $129.00 or so ... Has anyone out there in the blogosphere tried this? Any feedback on whether it is worth it?
Here is more on the "tagging good ... taxonomy bad" meme that is making its way around the internet. Here is what got my attention:
There are strong similarities to how wikis and tagging works. Tagging lowers transaction costs for contributions and fixing mistakes. This increases participation and the probability of the right data actually existing in the first place. It also enables a dedicated community to self-govern (and note that as in the case of Wikipedia, the enthusiasm hasn't worn off)
A single tag can be applied in error, and be fixed locally, but that matters less when viewed in the aggregate. Larger patterns arise that are statistically significant.
This is what I am trying to do with TWiki, namely fostering a tagging practice amoung the users instead of a rigid taxonomy. I have implemented a simple tagging system in the wiki with the goal of transfering the organization / categorization work to the whole group of users. The goal is to end up with a better and more useful organization system for the content of a single wiki ... and to have this emerge from The Wisdom of Crowds er ... wiki users.
Just spent 30 minutes cleaning up a huge litter of spam that hit a ton of old posts ... weird thing is that it seemed to cluster around mentions of the Wall Street Journal ... strange. Anyway, is there anything we can do so that PyCS isn't so vulnerable to this?
Social Tagging and its close cousins are a meta data killer app according to Clay Shirky [via Cory Doctorow]:
... users pollute controlled vocabularies, either because they misapply the words, or stretch them to uses the designers never imagined, or because the designers say "Oh, let's throw in an 'Other' category, as a fail-safe" which then balloons so far out of control that most of what gets filed gets filed in the junk drawer. Usenet blew up in exactly this fashion, where the 7 top-level controlled categories were extended to include an 8th, the 'alt.' hierarchy, which exploded and came to dwarf the entire, sanctioned corpus of groups.
This is something the 'well-designed metadata' crowd has never understood -- just because it's better to have well-designed metadata along one axis does not mean that it is better along all axes, and the axis of cost, in particular, will trump any other advantage as it grows larger. And the cost of tagging large systems rigorously is crippling, so fantasies of using controlled metadata in environments like Flickr are really fantasies of users suddenly deciding to become disciples of information architecture.
So group developed meta data trumps the professional developed top down taxonomies. Cool.
Now, a wiki is like a little version of the internet ... lots of topics, links, resources etc. In response to structure issues in Wikis, I have always wanted to let the community develop its own method, as I mentioned in a prior post Wikis are Not Unstructured. But, sometimes a wiki can be setup in ways that does not help the community develop its own classification system. So, what can I do to help a folksonomy emerge in a wiki?
One approach that I think helps is what we see in Wikis like MoinMoin. It lets users classify content by adding tags directly to the content. This allows content to be classified in many different ways... and this is helpful since it is easy to then build queries to find and present the content that has been tagged .. and it is bottom up and so could, if actively used, turn into something like a folksonomy. The tags that are added to the topics themselves link to a master topic for that tag which displays all the tagged topics. So it is kind of like a social linking tool.
Now, my wiki work lately has been focused on TWiki. In this particular case it has an inflexible categorization system based on forms and fields. Someone needs to decide in advance what the tags will be ... so a folksonomy never really emerges. The choices are too structured and all decided in advance and you end up with a lot of questions like how do I fit x topic into your category scheme? ...
What I think TWiki needs is a convention/technique that allows users to add 'tags' to wiki pages as simple text and then have ways of presenting the folksonomy that emerges. What I think I want to do is something like what MoinMoin does which is to just embedd the tags as a piece of text in the topic. It is visible to everyone ... and so would encourage a less structured approach to classification .. especially since we could apply as many tags as necessary to any topic ... something that the form approach can't do.
I thought through the idea of using a tag as a topic and having that topic link to the topics that are 'tagged' ... but that seems to be too much effort for a wiki. I think a better solution is to have tag pages that query for all pages that have that tag on them ... This approach is also more group friendly (having your single category choice changed by a Wiki Gardener isn't nice. Having them add a few more tags to your page on the other hand is a great compliment. Refactoring tag names is also easier since all you would need to do to rename a tag is rename the tag topic that have TWiki fix all the links ... and voila you're done.
Am I implementing MoinMoin's category stuff in TWiki .. yes I think so ... I wonder if anyone else has done anything similar in TWiki.
I have been looking for a great summary of brainstorming meeting techniques and facilitation tricks for a while. Here is a good one. I really like the tricks outlined to get the most creativity out of the session:
What is the opposite of what we want? Get the group to describe, in detail, the opposite of what you want to have happen. What is the worst web navigation design possible? This never fails to get people to smile, and dig in. It is just so much fun to work the other way for once.
Random theme generators: (This works only for design related brainstorming) Before the meeting, make a big list of adjectives, colors, verbs, and attributes that might or might not apply to the project (20 or 30 of each). Write them on index cards, but keep them in stacks. Shuffle each stack. Then pick one from each, and try to design something for it.
Rotate: Anyone, at any time, can call out rotate and everyone in the room has to get up from where they are sitting, and move to the chair to their left. I have no evidence to prove it, but I am convinced moving around physically helps people to move around mentally.
Roadblock removal: Eliminate assumed constraints. Tell the group there is no limit on costs, or time, or other resources. They can think as big or expensive as their minds allow. Think of other constraints that the group is assuming.
Roadblock introduction: Come up with some ridiculous new constraint to the problem. The goal is not to make it harder, just to force peoples creative muscles to work differently.
I see that PyDS now has templates for Rendering Archives by Year, Quarter, Month ... but I have no idea how to turn this on. The underlying python code seems to imply that it should be a target available for the navigation tool so I can a link to the archive page... but no joy in my case. Maybe my templates are too customized for this to work ...
So once more, I have looked at my shiny T3 Palm and decided to pitch my paper planner and go electronic. What convinced me to try one more time? I've been paying close attention to the GTD craze and decided to give it a whirl. So this blog has been pretty quiet lately as I figure out how to process my life a la GTD. I've been paper organizerless for a month now and have discovered that I am more orgnaized and related than before and I don't feel lost without it. Thanks GTD!
Just to kick things off again, here is a GTD Resource list that is very helpful for anyone interested in starting down this path.
I printed out my Next Action lists from Outlook (by context) and off I went. The thing is, I noticed a very significant increase in my productivity - somehow it was much quicker crossing off NAs as I achieved them and writing down the next NA in the appropriate context as opposed to wrestling with the Software ... Also everything seemed much clearer in my own mind - it was almost like some part of my pyche had been freed up allowing me to be more focussed on what the Next Action was...
awebber goes on to say:
I am continuing to move away from the electronic and more towards the paper. I have found that with a bit of planning in the morning, not only am I more effective, I schlep less stuff around with me. As a case in point, I don't need all of my project information with me all of the time, so why carry the extra stuff in the Palm? I am looking at moving my calendar and contacs off electronic also, but am still toying with what works best...
Finally GeorgeG says,
I'm going to flat leave my PDA at home. I have two Moleskine Notebooks (1 large Journal Format and the slimer "notebook size ") that I began implementing about a month ago as a "traditional" back up. Funny thing happened.....I found it easier to enter NA's in the small notebook and Journal and Meeting notes in the large one than my Palm. I get to use my favorite pens (ala David Allen) and it is faster. I am a ten year every software/Palm user, but I got to come clean, there is something liberating about the small eloquent books, a nice rollerball/ fountain pen, and no open loops...
I don't feel so weird anymore. Paper & pen .... the ultimate wireless system!
Anick Jesdanun from Associated has put together a good article on wikis. As usual, Wikipedia gets pretty good play. Its a good article though with an an emphasis on the business potential for wikis.
Wikis have the power to change how we live and work, replacing e-mail as a tool of collaboration and spanning hierarchies.
He goes on to say:
Where Wikis can truly take off are in corporate and organizational settings... Technically, a Wiki's attraction is in its efficiency. Unlike e-mail and discussion boards, which tend to involve back-and-forth exchanges and lots of attachments, Wikis permit changes directly to the main document.
I agree with his assessment of the barriers to wiki's. The main issue is that organizations have to let go of the hierarchy. One of the central benefits to a wiki is that it is a foundation for collaboration between layers in an organization that might not usually work together.
Perhaps the biggest hurdle is cultural. Corporations are accustomed to hierarchy and control. "For any company or professional organization that has to worry about things like legal liability, brand protection, reputation, those can be scary things," said Bobowicz, who had to get special approval from his bosses at Sun Microsystems. Gary Boone, research manager at Accenture Technology Labs, said employees typically bring Wikis into the workplace informally, with central infotech managers taking longer to recognize their value. Because of their openness, Wikis face unique challenges.
Links worth exploring on blogging and the business world. Blogs are now being seen less as a personal vanity tool...and more as a practical tool for learning, creating a portfolio, political activism, marketing, etc...taking on many of the same characteristics as more traditional media.
James Surowiecki's remarkable book The Wisdom of Crowdshas caused me to re-think many of my ideas, and one of those ideas is the value and importance of experts. The concept of 'pathfinder' customers outlined above assumes that, to some extent, these ahead-of-the-curve customers are experts in their business and hence can provide expertise to your business above and beyond what the 'average' customer can offer. Surowiecki provides compelling evidence that experts are prone to overconfidence in their predictions and are not nearly as good at making predictions as larger numbers of 'ordinary' people reasonably informed and engaged in the issue. He would suggest, I think, that 'pathfinder' customers could well lead your company down the wrong path. What is needed, he argues, is a mechanism to capture the collective wisdom of a sizeable (the larger the better) group of intellectually diverse, independent, decentralized (i.e. each having access to unique, special knowledge) customers. He also argues that the process of bringing together groups of people to exchange and build on each others' ideas (as in Focus Groups and 'Thinking the Customer Ahead' sessions), while valuable in some contexts, can actually be worse than simply independently polling the group, because of the propensity of groups to 'Groupthink' -- to prematurely discount 'minority' views, and to self-censor radical thoughts and ideas. I'll have much more to say about The Wisdom of Crowds in an upcoming article. But it is clear that innovative companies need a mechanism to objectively capture customers' and employees' collective wisdom, not just the ideas of an elite few creative forward-thinkers.
aspects is a python module that enables Aspect Oriented Programming in Python. For now, it provides a set of ready-to-use aspects and an easy way to create your own aspects. The current possibilities are still a bit limited, but it will soon provide a more exhaustive way to define and use more complex aspects.
Most readers are already familiar with the concepts of object-oriented programming: inheritance, encapsulation, polymorphism. But the creation of objects of a given class, with certain parents, is usually thought of as a "just so" operation. It turns out that a number of new programming constructs become either easier, or possible at all, when you can customize the process of object creation. Metaclasses enable certain types of "aspect-oriented programming," for example, you can enhance classes with features like tracing capabilities, object persistence, exception logging, and more.
As far as I can see only Lightweight Python AOP seems to work with Jython. I was able to successfully run the tracer example with Jython although the timing example failed but not in the aspect library code. The other libraries require Python 2.2 or greater which currently eliminates Jython.
If you are new to Aspect Oriented Programming, here is a quick definition:
Aspect Oriented Programming (AOP) is a technique for separating and isolating crosscutting concerns into modular components called aspects. A crosscutting concern is a behaviour that "cuts" across the boundaries of assigned responsibility for a given modular element. Examples of crosscutting concerns are process synchronization, location control, execution timing constraints, persistence, and failure recovery. There is also a wide range of algorithms and design patterns which are more naturally expressible using AOP.
-Christopher Diggins, Aspect Oriented Programming in C++, August 2004, Dr Dobbs Journal
Jonathon Swartz points to this summary and copy of the the latest column (via Robert Paterson) from David Kirkpatrick which captures some of the panel interaction from from Fortune's Brainstorm Conference.
Technology enables a reduction in transaction costs. It's changing the way people collaborate across companies and across continents. In the past what corporations did internally were those things that had higher transaction costs than doing it externally. Now that dynamic has changed. And to follow that one more step, over the next few years it is going to be really critical for a corporation to understand what it is. What does a company need to be doing itself? Now its transaction costs have come down, so the ability to collaborate across regions and across continents has increased.
Matt is writing a book code named Brain Hacks for the O'Reilly Hack series that looks very interesting. Here is the quick summary:
100 practical and understandable probes into the design quirks of the brain, concentrating on the sensory and motor functions and their coordination.
An unusual presentation about how our brain works. He goes on to say:
And this is the motivation: To get where it is, the brain has made some fascinating design decisions. The layering of systems has produced a complex environment, with automatic and controlled highly mixed. This development over biological time has introduced constraints. As has the architecture--it takes time for slow signals to make their way from one area to another. And there are computational difficulties too: How much of its capabilities can the brain afford to invoke when a sub-second response is required? The tricks used leave traces. There are holes in our visual field that we continually cover up. There are certain sensory inputs that grab our attention faster and more thoroughly than we'd expect.
You don't need to know all of neuroscience, cognitive psychology and so on to know how your brain works. I'm not a neuroscientist. I write, my undergraduate degree is in physics, I hack in my spare time, and I work in new media. But neuroscience has got to such a level now - with the imaging techniques in the last three or four years - that we can make focused probes into particular functions, and illustrate the traces that these design decisions have left (see where+how they are, and draw that up the stack towards conscious experience) and we can look at them one by one.
And so you can learn how your brain works. I'm not talking about a map or general mechanisms ("there are neurons which are connected blah") and I'm not talking about really high-level stuff ("this bit is active when you're motivated blah"). I'm talking about minute-by-minute stuff: This is why you scratch your face when somebody else does. This is what will grab your attention in the corner of your eye, and this is what won't. Why the status icons in the corner of your desktop should be black and white and not in colour. That's what Brain Hacks is about, letting you see how all that works, from a standing start.
This Post sparked some interesting comments about "problems" with the implementation of Wikis. Here is one I hear all the time:
The total lack of structure annoys me to no end. Maybe the people who build and evangelize wikis prefer that; they seem to find it a strength. I think they've just ended up building a tool that's great for people who think the way they do but not for others. I _want_ structure. Communicating and working out ideas is difficult enough that I have no use for a tool that simply flops everything down on the ground in a big tangle.
From my point of view, a well established wiki is not unstructured at all. Rather, the structure is community developed and owned. The point is not structure vs. no structure, but ownership. In a healthy wiki the structure emerges out of the culture of the wiki's community.
I understand that Kara Swisher has a great article at the WSJ ... is there a full text somewhere for those of us without a subscription?
Kara Swisher, in this morning's Wall Street Journal, writes about how 'Wiki' May Alter How Employees Work Together : Enter the wiki, which has aims to revive the idea of the "writable Web," which was how the medium itself was originally conceived by many of its earliest proponents. Using simple software, it allows anyone with Web access to post a page of information that is accessible to anyone else in the same group or organization. Others in the group can then...
The idea is to navigate by 'facets'. So in the first step users can select a facet out of the set of all facets. In the next step, the users can select another facet out of the remaining facets. Which facets users will see as available navigation choices is dependent on the path they take.
I wonder if this is what Iwe are doing every day by using the More Like This features of Furl or the similar features of del.icio.us. The furl service generates a list of furled pages that are related via their various category classifications. I've developed a set of Furl bookmarklets that let me look at pages that furl users have categorized as similar to the page I am looking at. These bookmarklets then turn the whole web (at least the bits that are in furl anyway) into a facet navigable web. Furl seems then to be a way to capture facets dynamically by a large group of people rather than having to build them in intentionally as an author. It seems to be a better way to develop higher quality facets for content.
A quick follow up to my prior post. I have found it interesting that making a wiki offline seems to change how I use as well ... it feels less like interaction with the community for some reason. I think it is an important capability to have for frequent travellers who are off the net, but it will interesting to see if it changes the wiki usage pattern or community development.
Offline access to a wiki is something that I've wrestled quite a bit. Its the part of being a RoadWarrior that makes wiki use difficult. To solve it, I have made use of a mirror of the wiki (that basically creates a static copy of the wiki web) but then I don't get the opportunity to contribute to the wiki when I have the most free time. Like when I am on a plane or sitting in an airport without Wifi ...
Have you ever had the problem of "where do I put this?". At many places there are a few systems: Wiki: Attach a doc to the Wiki. It is great in that it can be linked to in a nice way, you can grab it from wherever you are etc... Company File Repository: You can put the doc in some remote file repository (folders on a shared samba system, etc). This is shared, but there is no revision control, and if you are offline you can't get to it Sync'd repository: (E.g. CVS/SVN bastardized to do this). This is nice in that your docs are local, and you can see what is updated etc etc... but folders aren't the best way to organize things, and there isn't much metadata I have tried other work arounds, like having a WikiAttachments directory where I keep everything so I have a local copy. But you don't know when someone has added things, and it is a pain to keep in sync. What is there was a way in which I could use cvs/SubVersion to talk to Confluence, and it would all me to sync up and have local copies. In fact, it would be cool to have a sync'd up copy of the entire Wiki so I could run it locally if I was offline! I guess with tech such as Near-Time Flow and BEA's vapourware Alchemy, we could get there too...
My second cut at solving this is to write an offline tool for TWiki that basically extends my Twiki External Editor tool with a publish and subscribe capability which allows you to sync topics locally. Theoretically, it should be able to handle attachments as well. Additionally, if you change a topic offline in parallel with online changes, you can merge more recent changes into your offline copy before you publish it back up to the wiki ... very cvs'ish or subversion'ish. It is still very rough but I am already finding it useful. Keep an eye on this space for announcements of its availability.
Becoming a true knowledge management organization, in which information is shared seamlessly among employees and departments, has always been an acknowledged challenge. But when I read Jeff Nielsen's book The Myth of Leadership a few weeks ago, he convinced me just how much the deck is stacked against KM.
I am really into wiki. I have installed a wiki for our developers at work with great success. Nothing is easier and faster to propogate information and ideas.
The company I work for wants to start using a SharePoint site. It thinks that this will be the cure for information sharing. I am skeptical, but I don't have any experience with SharePoint so I don't really know. It looks like it has a ton of cool features, but how practical is it?
So, if you had to put SharePoint head to head with a good Wiki implementation, who would win?
My experience with Sharpoint is that it ends up being a fancy shared drive or file dumping ground with not nearly so much extra value as you would get on a Wiki. Most of the implementation I've seen end up having a nicely organized directory structure but are still only glorified file dumping grounds. If the wiki takes off, it turns into a more collaborative space or community white board and I have not seen that emerge on the SharePoint.
My preference would be for the wiki if you want to do more than just store files. I know that SharePoint can do a lot more ... that is just how I've seen it used most frequently. Just my two cents.
David Gelerntner, a computer scientist at Yale, perhaps put it best when he said, "Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defence against complexity."