Replace Tinderbox with Scapple

Tinderbox has been very proud of its mapping features. That feature is indeed the main selling point of the application. But, I just realize, one  doesn’t  need to go through the pain of learning an application as complex as Tinderbox to gain these benefits. A little sister of Scrivener, Scapple can do it the mapping of ideas with the smallest fraction of cost; with the easiest pace of learning. It is also better than mind mapping applications mainly because it is portable (that is, you can just drag your notes to Scrivener), and the rigid outlining forced in the mind mapping applications doesn’t exist in Scapple. It is just free, a clean piece of paper. Write, connect in a way you want your ideas to flow.


Go and try it. You don’t have to worry about learning a complex, arcane piece of software to graph your ideas.


Abandoning Tinderbox and wikis; sticking with plain text

On Note-taking, wikis and Tinderbox

General lessons:

  • Wikis are bad: they will be broken if u move something. So, never use them: history is the best teacher; hyperlinks are stupid for keeping information for a long time
  • Future proof plain text (markdown) files are the best.
  • Keep all the text notes in the same folder, inside Dropbox
  • plain files can be access them by different apps (as the need arises).
  • Use services such as Simplenote and Dropbox to access them via the cloud (syncing)

    these were the steps i used to sync my notes to various apps

  • Create the notes in nvALT
  • Store them in a folder in Dropbox
  • Index the folder in Devonthink
  • Sync nvALT to Simplenote
  • Sync Tinderbox to Simplenote
  • Sync Scrivener to Simplenote

    Work on any of the app, as the need arises. The changes will be reflected everywhere (windows pcs, ipad, iphone, all fetch from the same folder).

  • nvALT is the best for simple notes (drop what is in your head)
  • Tinderbox is best for creating connections of ideas
  • Scrivener is the best for drafting

After some more experiences and lessons, I realize that the syncing between Simplenote and Tinderbox is broken. Tinderbox adds some weird symbols to my text when I sync them to it via Simplenote. I have been waiting for Tinderbox six if it can solve the problem. It turns out that Tinderbox 6 is by no means better than the previous version in this regard. Its arcane nature, its little communication with other applications in Mac still remains a major issue.

Therefore, I am forced to abandon it for now< at least until the formatting problem is solved. (I requested Mark Bernstein, the developer of Tinderbox a number of times, to fix the issue. Even if he promised so many times, I haven’t seen him doing it for over a year now. so, I am losing hope with him too)

Abandoning Tinderbox also invalidates Simplenote’s fuction. so, I am also not using simplenote anymore.

The whole writing system is build around dropbox now (the nvALT) folder. For creating connections between ideas, now, I have to rely on Scrivener and Devonthink (and Scapple for visualization).

now, more simplified steps:

  • Create the notes in nvALT
  • Store them in a folder in Dropbox
  • Index the folder in Devonthink
  • Sync nvALT folder to Scrivener via Folder sync

Simpler and more efficient, at least until i need visualization of my notes (which happens rarely)..

Why you need to split your big PDF books

I have one secret tool that I bust all my class mates when it comes to digging down the nitty-gritties of small pieces of information. 

When we discuss some issue with professors or classmates, sometimes we come up with some wild ideas. We ponder about it; ask if anybody else has thought that before us. What they usually do is google.  I also sometimes google the ideas if anybody else thought them  before us (me). But, the fact of the matter is, google has a lot of noise out there with the same keywords but has little to offer the very specific information I am looking for. 

That is where a internal database comes to rescue. I collect as many books and article into my disk so that I can dig them whenever i want to find out specific ideas. The concept is known by “text mining” in a different camp of linguistics.

 Right now, I have over 2000 books and articles in my disk all of which deal with Theoretical Linguistics. 

If you have a collection of books and articles like me, and tried search a specific phrase into it; using Alfred, Spotlight or Devonthink, you will immediately learn that the biggest book always comes on top regardless of the quality of the material in it. The reason behind it is the word count. The larger the book, the more likely that it contains the queried word multiple times. If you collection specially contains gigantic Encyclopedia books, there is not chance that the short article comes out on top of your search result however relevant the article could be. 

Therefore, to make each small article as competent as any other material; and that your search tools could pick the small articles whenever they are relevant, you need to split the books into article sizes. 

I have experimented with different tools of splitting my books; beginning from Apple’s own Automator to a number of python and Shell scripts. Most of them work by bursting  the book by pages.

Bursting a book into single pages could be feasible when you have less than 1000 books. As you books grow, the bursting creates too many files to manage. In addition, the single pages won’t contain enough material to read within  the search result (FoxTrot for me). That is where splitting in 10-15 (article size) rage becomes crucial. 

Right now, I have shell script that breaks down my books in 10 pages ranges, a script that I adopt from a South African guy (I forget his name; I met him in 

Any book or article I add to Sente library directly gets copied to another folder (using Hazel ) and gets splitted into article size page. All the pages finally move to another folder for ultimate archival; where my searching tools such as Devonthink and Foxtrot index. 

I will come back  to the  the full workflow and the scripts I use to achieve the task in another post. 

How to handle images in (Multi)Markdown text

Markdown is a language built for plain texts. The biggest weakness of plain texts is they can not hold images in them. To complement this fundamental weakness of plain texts, I have developed a system that works between Hazel, Dropbox and Keyboard maestro. The idea is simple. Create a permanent folder in Dropbox that you will maintain for the rest of your life. Whatever text you are writing in, whatever application you are using, always save and point to that specific folder. My folder lives in Dropbox. I call it simply Images. All of the pictures (images) that are part of my text notes are stored in this folder. Most of these images are made by snapshotting from the pdf files and online sources. For that matter, I made my mac to save all the screen-shoots  to automatically save in that folder. ok, let me write it like in steps:

  1. Make a folder in Dropbox: call it Images
  2. Make your mac to save the screen-shots in Images. Follow the steps in here to accomplish it

  3. Make a hazel rule to rename the screen-shots to a sequence of numbers (or some other pattern you like)

  4. Embed an applescript inside Hazel that will copy the file name of the image to clipboard

Look at the rule I made in Hazel: first only the rule;


then with the script:



Finally, use a Keyboard maestro macro to get the location of the image as well as the file name.


That is it. What you need is just to snap the image from the PDF then, write “ppic” in your plaintext file. A link to your image will be inserted; and any markdown previewer (Marked for example) include the image in the preview.

Workflow with Sente, Devonthink, Scrivener using Hazel and Dropbox as glue: part 2

On Mirroring

In this second post, I am going to talk about a method, rather than a tool (software). I call the method “mirroring”. The method is a complementary approach for syncing. I generally like syncing files across my macs and iOS devices. The problem is: syncing is possible only when the app developers offer it. For Sente, for example, you can sync your Sente library to your Sente in IOS. But, you can not do so to other applications such as Devonthink; or Scrivener. The tags in Sente are not visible in Finder; and the notes and annotations, all are specific to the application. It is a locked application in that sense. Most reference managers are lock-down applications, unfortunately. I would be wise to avoid them; but they facilitate workflow.


Therefore, since I am relying on Sente and other locked applications, for my work flow, mirroring is a way around the locking weakness. What do I mirror? I mirror my projects.

My works are project based. I move from one project to another; writing small articles and developing small pieces of works for my dissertation is what I am doing, and will be doing for the next two years. I already talked about how I organize my PDF files based on projects. How do I mirror it? I mirror my project inside Sente to Finder by creating a folder. For example: if I am working on a project called “Object Shift”; i will have a tag in sente with the same name. All the PDF files that I will need to read will be tagged “Object Shift”. Look at the following picture: ppic82 When I double click the Tag, Sente hooks me to what I call the  project mood. The project mood is my favorite mood for reading in Sente. It also helps me to see the relationships and differences between the papers. ppic83


Now, I have all the papers I believe are important for the project. I then read and annotate them as fast as I can; and export the annotations to a Folder in Finder. The folder I create inside Dropbox is a mirrored folder; with the same name. The folder itself is inside a big folder called “Projects” which itself is inside Dropbox.  That mirrored folder (“Object Shift”) is where I keep all the notes I export from Sente  as well as the Tex file I will finally compile it to a finished paper. The “Project” folder is indexed inside Devonthink. Therefore, anything I add inside “Object Shift” is automatically available inside DT.  Now, you see I am in a good shape. My project files are in a separate folder inside Dropbox; but still in communication with the rest of my files inside Devonthink. The next step is  to develop a dozen of search algorithms (smart groups) inside DT that will hunt down all the relevant  files  to my topic. File selection and grouping in Sente is manual. Grouping inside DT is automatic. There are both pros and cons for for manual and automatic approaches of grouping files for project. I combine the two to get the best results.


As I have mentioned, I have “Object Shift” inside Sente, Dropbox (a folder) and Devonthink (indexed).  I also open a project under the same name inside Scrivener (I use it for some projects) and also a paper folder tagged with same name where I put all the papers relevant for the project.  That is mirroring.

It is a way of organizing myself wherever syncing is not available globally.

I mirror not only the projects and folder; but also the Statuses. The Statuses that I assign in Sente, demonstrated in the first post, are used across the board: inside Devonthink, Finder (Path Finder), Scrivener and even printed papers and books. Their application in the printed materials is actually quite interesting. I was a reading a book titled “How to Read a  Book”. In that book, the authors have a notion called x-raying the book.  X-raying a book is going through the major sections of the book, and evaluating the organization of the topics to evaluate the topics for your purpose. It is very effective method. I have developed the habit of examine the Table of Contents, the Sections and Sub-sections of the books before I read them. As soon as I finished examining the book, which takes just 2 minutes, I assign my statuses to the sections; with small notes; by attaching small stickers on them. That way, I will make sure that I l read the “Must Read” sections; and skip the “Repelling” sections (too much details or digressions) etc. As one can see from its multiple applications (on folders, projects, books and articles),  I can say that Mirroring is rather a habit; a useful habit to get things done.

You can make it your habit too.


Workflow with Sente, Devonthink, Scrivener using Hazel and Dropbox as glue: part 1

Since I want to follow up informations on the internet on a few applications that I am interested in,  I have setup  google alerts for tracking  blog posts and articles into my email inbox. Under my Devonthink tag, today I get this small visual workflow in a website called Pinterest.


I have never visited Pinterest before; but the visual illustration looks beautiful.  There is no explanation on how to build the workflow in the visual maps; but the illustration is elegant, something I have been planning to design. Since this is the  workflow  what I am already using it for the last year, it seems good idea to put how I put these different apps to work together to have the “virtually perfect” kind of workflow for my research (phd dissertation, I am starting soon). I have already written short articles in my previous posts on  some of the connections I made between these four majestic apps. In this extended post, I will demonstrate how I developed my workflow using Sente, Devonthink, Scrivener, nvALT, xMind, Sublime Text and ultimately Latex. Hazel, the Automator, Dropbox and Keyboard Maestro are the core glues of the workflow. I will spell out how each app works together with the other applications to great a coherent and elegant workflow.

Now, have a loot at a pictorial overview of the workflow we will have by the end of this series.

research workflow
Click for larger preview

In the next few series, I will try to explain each step of the workflow; how I develop the connections and how the tools chosen talk to each other to build a solid workflow. (I didn’t represent Hazel in this drawing mainly because the tasks of Hazel. The role of Hazel  will be clear by the end of the post)

Let me start from the app I use to gather resources for research: Sente.

# Sente

For me, the most important organization burden is lifted by Sente. Sente has four crucial features which are the life and soul of my workflow: Targeted browsing, File renaming,  QuickTags and Status. I will explain how I use each of these features to download, store, rename and organize my PDF files; then, how I will incorporate the organized PDF into the Devonthink hemisphere using Hazel as a glue.

I am not going to explain how to do all the importing and referencing process in Sente. That is left for the user manual; my task here is to show how to use what I call above the crucial features and getting things done.

Let me start from setting up the Sente library:

## File naming

The library is setup to store PDF attachments inside the Sente bundle. Setting up the library inside the bundle is very important for syncing the library to iPad via the Sente server.

The attachments will also be named as:

[First author Last name] [Year of publication] [Title of publication]

The file naming  is  important because I find some of the PDF files hard to read inside Sente; hence, I have to open them in acrobat. If you have the files properly named based on the author and title, getting the file is just a matter of second, specially if you are using Alfred.

## Targeted browsing

After you setup your library, the next step is to search files and download or import them into your sente library. There are two ways of getting your PDF files into Sente library; both of which support of-the cuff-setting up the reference of the file. The first method is directly downloading from the internet. Sente has this wonderful feature called targeted browsing. The main advantage of the targeted browsing is you have a choice of downloading bibliography information from a plethora of websites; you are not limited to Google Scholar or MedPub (the main weakness of Mendeley, by the way is absence of such a choice; it can download only from Scholar and medPub). Even if Google scholar is one of the greatest data sources on the internet, the data you retrieve from it are usually incomplete. Many people like MedPub. But, for my field, MedPub is irrelevant. Therefore, for articles, I havn’t found any better source than Google Scholar.  To get both the reference and the PDF file from Google scholar to your library, what you do is first import the reference information into your library by clicking the red button in   scholar website; and then, download the related PDF file. I am sure you know how to do this; I don’t need to explain it in depth.

The second approach is to have the PDF file in your disk; and then drag it or import it into your library. Sente will present you a window to add reference information to your PDF file. At this point, what I usually do is: highlight the title of the PDF file and take the title to my favorite search engines. For research articles, there is no better choice than Scholar.

As for books, thanks for their ISBN numbers, there are a lot of choices; WorldCat being one of the most popular. I used to retrieve the data for the books from WorldCat for a while.  But, after some time, I leaned that it sometimes confuses Affiliations metadata with Author. Therefore, I have been looking for alternative sources for retrieving bibliography information for books. Google Books is quite good; but Sente Targeted browsing seems to have some kind of difficulty to retrieve data from google books; takes longer time. Finally, , to my surprise,  I discovered the library of Stanford has the cleanest data; and Sente is very happy about it.

The template you develop to modify your targeted browsing in Sente is called Autolink Templates. Here is how I setup my Autolink Template:

Autolink Templates in Sente


## Quicktags

Quicktags: are the tools for organizing your research resources into groups. I have three major classes of Quicktags:

a) the Class: this is the class of quicktags that I assign to the PDF’s inherent classes. I assign these tags to classify the paper into the basic inherent classes of my field: Linguistics. Linguistics has many sub-branches if study; and sub-topics of research. Therefore, whenever I download a PDF paper, I assign these classes into the paper so that I can easily search and look at whenever I am looking at certain sub-topics. I for example use tags like Syntax, Semantics, Pragmatics, Phonology, plus sub-topics such as  VPs, PP, RC, DP under Syntax which what they are. I also have hierarchies of tags for the families of languages that I am interested in.

Afro-Asiatic [Semitic[Classical[Arabic, Hebrew]][Modern]] etc

b) the Project: this is a group of tags that I assign to papers on project basis. The projects are usually transient tasks that I plan, finish and move on to the next project. They could be part of the specific Class; they can also run across many classes. I assign these transient tags to the papers I am downloading, or on those which are already in my library. I search down my library, google scholar and may other source to combine all the resources to finish under one project using these Project tags.

c) the third group of tags is what I call meta tags. They are organizational tags. Whenever print a PDF file, I assign a tag xPrint; whenever I am reading the paper in Acrobat reader, I assign a tag called xAcrobat; or, finished reading the PDF and exporting the annotations of the PDF,  mark it xExport.

The Meta tags are supporters while Project tags are brothers of the Statuses, which I will explain in a moment.

## Statuses:

I basically use Statuses are meta-tags and to track the progress of projects. As you can see from the following snapshot, I have about 12 Statuses that I assign to my PDF files:

Statuses in Sente

– To be read nextis for example a status that I assign to a paper that I want to read just immediately after I finish reading the current paper.

  • Must read: is another status for a paper need to be read by hook or crook before I finish my PhD; a paper that I believe can offer a significant and profound insight to my research.
  • Repelling is on the negative side: a paper hard to read; or written in a bad language; the point is: I am dropping that paper; and might delete it from my library completely.

you get the idea

As for the views, xmind surpasses Tinderbox

Tinderbox is one of the best apps for organizing notes. One of the selling points of the application is its capability to display the same hierarchy of notes in different VIEWS. The map view helps one to visualize the relationship between the notes; the outline view is great for outlining and creating hierarchy between notes. The newly introduced Timeline view is another great view to display information on timeline basis. These different views of the app is one of its kind;   examples of elegantly designed and executed features.  I used to think that these views in TB are irreplaceable and non-existing in any other application until I discover xMind. I was surprised to discover that  xmind has even more views than tinderbox…about six of them. I specially find what they call the Fishbone view exceptionally wonderful for planning and scheduling my projects. The Matrix view (structure in xmind language) is another brilliant view to put spreadsheets inside your mindmaps.

The other advantage of the Views in xmind over the Tinderbox is the fact that different views can be combined in the same window. As you can see in the following map, you can have Maps, Logic charts, Matrix and Trees inside your Fishbone structure (view), and vise-versa.

  project plan in xmind combing Fishbone and Matrix structures
project plan in xmind combing Fishbone and Matrix structures

The gantt chart plus the  combined structures in the same windows make xmind one of the best applications to write project plans and any other kinds structured information on timeline basis.

I admit, Tinderbox is more advanced and sophisticated for storing and  organizing notes (information) that any mind mapping software can never closer. Tinderbox’s agents and attributes specially make the application super powerful to dig deeply buried information out of the dark and bring it into the light; to see the connections between ideas inside the cloud of notes.  But, it does so with big sacrifice; a huge learning curve, weeks and even moths of studying how to write commands (ONadds and Regex commands) while xmind does the job with just a few clicks of the mouse. For majority of us who want to get more work done than tinker with an arcane application, I think approaches taken in xmind, and the elegant views, are more practical than the  sophisticated tools of Tinderbox.