Why every programmer should have a Tiddlywiki
eriwen.com
eriwen.com
Easy to source-control and merge, easy to find stuff.
I can't help but think that someone, somewhere has a bloated XML-based API for doing this, probably requiring a server running a couple hundred megabytes worth of Java-based back-end. I'm old fashioned.
I don't anticipate a vanilla text file going out of fashion any time in the next hundred years or so.
Of course not being an emacs user may make editing org mode files a little difficult. However, any system will do as long as its consistent. If not org-mode; txt2tags, markdown, etc can also serve in a pinch.
I think plain text is the de-facto universal format. There's also no restriction on presentation and interface. Your choice of tools are pretty wide open with plain text.
Using the #+BEGIN_SRC <mode-name> tag will also allow you to edit any code snippet in its own major mode.
#+begin_src lisp
(defun botsbuildbots () (botsbuildbots))
#+end_src
Try moving your point to (defun... and pressing << C-c ' >>. It should work with org-mode bundled in Emacs 23; if not, you can get the newest version from http://orgmode.org.With org-babel enabled, you can actually run this code, or use it in literate-programming style to write programs.
This is really nice for writing code example.
(Me, I just use Dropbox and vimwiki, and occasionally push it to a private Hg repo on BitBucket.)
Your favored tool is really not that special. Sorry. =)
Vimwiki isn't in the same league as Org mode. Sorry. For example, how can I create and edit spreadsheets using Vimwiki?Read the entire manual to understand Org mode's power. It has no equivalent that I know of, and I searched thoroughly before giving up and learning Emacs.
From what I've seen, vim people generally are not really interested in creating enormous extensions as the emacs people are, so if they actually created something similar in power and complexity, I would be really surprised and impressed.
But after using VimOrganizer and looking at vim-orgmode (both of which claim to be replacements), I'd just as soon settle for something else.
But its essence is actually quite simple: it's a toolbox for all things text. Not a _tool_, mind you; a toolbox. It _contains_ tools. Lots and lots of them. Oh, and it has funny keyboard shortcuts.
So here is Emacs in a nutshell:
1. "find-file" is a function;
2. you can "M-x any-function" to invoke it;
3. you can assign a shortcut like "C-x C-f" to any function;
4. you can define your own functions in the same language Emacs itself is written (i.e., you can really extend Emacs, not only call some simpleton API);
5. you customize Emacs' settings and behaviors by changing some variables ("please highlight the line the point is currently on").
That's pretty much it. Yes, there is a mountain of functions and variables and modes that are complicated and interconnected and you _will_ spend some time configuring everything. But the gist, the essence, the core -- that's it. You've already grokked Emacs. Now you can learn one function at a time and extend your knowledge of it little by little. It doesn't have to be more complicated than that.
The modes? Well, remember, Emacs is a toolbox. Each mode is a tool, specialized in some area of the Great Forest of Text Editing. There's a mode that will help you save keystrokes (yasnippet); there's a mode that will help you write code in the language X (x-mode); there's a mode that will help you open files and buffers easily (ido, anything); there's a mode that will help you with your todos and prose-like text (org-mode).
Regarding org-mode specifically: you can spend weeks using only ONE shortcut, Shift-TAB, and already it will be extremely useful. Then you'll wish for some feature (like adding tags to headlines), and you'll find that it's already implemented. And that pattern will repeat, and repeat, and soon you'll be using lots of advanced features, and you won't even notice, because it'll have become a natural thing.
I hope this makes sense. And, just to be clear: I know a size does not fit all. I did not write this to say "everyone should like Emacs, look, I proved it". This is just my experience with it. I hope it's useful to someone.
You can point it to an .org file on Dropbox or on your own server.
There is an Android port (https://github.com/matburt/mobileorg-android/wiki/) that is nearly identical to the iOS version as far as I can tell from using them both.
Probably not.
Simple anchor links should work much better, and would not break the back button.
You get to use wiki formatting and the features that wikis give you that text files don't (linking between related pages, etc), but it's still just a script writing to .txt files in a human-readable format. No lock-in and no database to worry about configuring or recovering from a crash.
http://www.craphound.com/lifehacks2.txt is a good read, why plain text is still the favorite among geeks.
Mostly because I want to be able to access it from anywhere and have revisions accessible without requiring git/mercurial/svn etc...
I have been using it for a year or so now and still use it every day. I still think its the most useful 40 lines of code I have ever written.
I'm not sure if this is the done thing or not (I'm relatively new to posting on Hacker News so apologies if not) but if anyone wants an online version of TiddlyWiki (that handles revisions, multiple users, has a RESTful API, etc), then we're currently working on a service called TiddlySpace (http://tiddlyspace.com), which is basically an extensible online note taking app based on TiddlyWiki. It's on GitHub too.
Then I get depressed at how poorly thought out almost all the options are. I then become convinced that the only system that has been fairly well thought out is org-mode.
Then I fire up my emacs and the incredible frustrations and overwhelming disgust start to rise like a slow flood.
I load up my .org file and it's not wrapped. I can't read it. So I try to change the options. There are 5 incomprehensible word wrap options and none of them work. Then when I re-load my .org file, it hasn't saved the word wrapping setting.
I can't remember if it's shift-tab, alt-tab, command-shift.... one of them puts a TODO, another puts a new star, now suddenly I've reordered half of my lists...
Meanwhile, once I move a paragraph, emacs displays some kind of fragments of the characters in the previous location... what the hell is this?
I decide that I'd like to collaborate on a project -- org-mode seems like a great tool. But wait, I forgot that my collaborator is actually a NORMAL person. What is the chance that they will read the org-mode manual? Oh that's right, I'll just send them to the IRC channel.
Where was the calendar again?
I am literally in tears now. tears. This is the best personal organization software we have. It's 2011. Orgmode looks like my father's 1985 IBM terminal. Why do we always have to wait for Apple to inject a miniscule amount of actual DESIGN into software?
Please help me...
Mainly I've kept most of my programming notes, records, todos, research and so on in flat text files. They are easy to view, edit, backup, exchange, copy from, and version. For my use cases, I find it a more appealing technical solution to a wiki, which requires infrastructure to back it.
If someone could come up with a git/wiki hybrid, that would be interesting.
It needs php but no database.
When I use git in this sense, I'm talking mostly about version control and backup.
I'm not convinced I would benefit from the full hyperlinked format a wiki would provide, since it would require a concerted effort to organize things well. I usually just throw crap into text files and use grep to find stuff later.
http://onethingwell.org/post/457674798/a-poor-mans-notationa...
I'm using a slightly hacked version of this on the main PC
There should be no infrastructure requirements as far as I can tell (just downloaded it, gave it a spin). It's a single file, just like your current stuff. Granted, I don't know about the possibilities to recover data in cause of trouble yet, but you need nothing but a browser and can share/sync it just like your current system.
https://git.wiki.kernel.org/index.php/Interfaces,_frontends,....
I map (cmd)(enter) as the global hotkey to bring nvalt to the foreground.
TODO list, fullscreen and markdown support are amongst the ones I use the most.
I added general project notes, links to relevant resources and a chronological log of projects.
The biggest benefits for me were:
* keep track of multiple projects;
* reduce overhead of switching between projects.
There was, however, also a benefit for the wider community as well, because all of the pages were public--even the in-progress projects--people could make use of the knowledge I'd found so far, even if the project itself wasn't (ever :)) entirely documented.When the server hosting my wiki, err, disappeared, I decided to create a service that would provide me the benefits I'd found and also make them available to other developers.
Labradoc is the result:
* http://www.labradoc.com/
With Labradoc you can: * make general project notes with Markdown formatting;
* keep a chronological log of project progress.
I posted a Show HN a couple of months ago: http://news.ycombinator.com/item?id=2669425Here's my own project list:
* http://www.labradoc.com/i/follower
If you don't already keep a project log I encourage you to do so.If you already keep a project log I encourage you to make more of it public (it's okay, the people that judge you badly for in-progress hacks you don't want to work with anyway :) ).
In either case, try out Labradoc and see how it suits your workflow.
I can put links in comments and descriptions and easily reference them later, in a really usable way.
I document all processes I develop and additionally keep a journal every day, and one at a project level. It has more than once saved my butt working on multiple projects and has made me a better manager. I finally graduated from a Tiddlywiki as I ended up wanting to collaborate on entries far too often. A year into my wiki experiment I switched to MediaWiki and haven't looked back as I can simply add collaborators and more transparently keep track of contributions.
For others wanting to transition I made a little conversion script here: http://www.itp.uzh.ch/~corbett/projects/code/tiddlywiki_to_m...
Tl;dr Keeping a wiki as a developer: ~best decision ever.
Nothing is ever deleted. No edits are ever lost; the whole undo stack is always there, and if you undo to a particular point and edit it, it just becomes a new revision on top of the old undo stack. There is no save / load - the app uses the directory it was started from, and saves when no edits have occurred for 5 seconds.
It's a combination of notepad, brainstorming log, todo list, and general notes. I keep it in sync across multiple machines with dropbox.
That was when I learned that Linux's FS is reliable, secure and just all-around awesome.
Wrapping it all up nicely to share it, document it etc. would take at least another day, but I have many other things on my plate at the moment...
It supports all kinds of links in text: local, network files, internal pages (for wiki emulation). You can drag and drop links from web browser too.
http://www.horstmuc.de/wmem.htm
I never stopped using this program since I found it several years ago.
http://tranglos.com/free/keynote.html
Unfortunately it's Windows-only. Now I only work on Linux and Mac and the only software that approaches it's level of usability is Notational Velocity.
I may consider dropbox + txt files, but gdocs is working fine so far.
Toss something like this in your .bashrc or .zshrc to run it in MacVim and have an easy command:
export SOYWIKI_VIM=mvim
alias wiki='cd ~/wiki; soywiki'
Then just git init and push it up to a private GitHub repo, and you can check it and edit it on the go through the GitHub site.Instead, I use Simplenote; Flick Note on my Android device, Resophnotes and SyncPad for Chrome on my PC.
I had network write access via network mount on my laptop and whoever else who just wanted to browse my notes could goto http://internalcompanyserver/~myname/
Allows you to do all your wiki pages in markdown and a sleugh of other markup formats. Plus, did I mention git backed?!
Disclosure: Microsoft intern (in a completely different division, and I've been using it for longer than I've been here). My opinions are mine. :)
I've been working on Hackpad.com lately. It's a realtime wiki based on Etherpad. Pads are private by default, and you can invite people to edit them later.
I think it's better than tiddlywiki. Why not try it out?
I've been waffling between txt or Google Docs for a while now, mostly just for need of a strong mobile client, but miss my Tomboy littered desktops...
But then as I read through more comments, I realized that I've tried almost every one of these note systems - Tiddlywiki, TODO.txt, Evernote, Springpad, OneNote, Moleskine notebooks and others - but have never stuck with any of them. The only system that's ever stuck for me is email. I keep trying to get better at recapping meetings and decisions in email so I can find them later.
Though, it's most important to just have SOME well-greased system, no matter what the platform. If it's a text file that does it for you, great. If you spend 10 minutes trying to find a password - time to get a system.
I know, there's Org Mode, but I'm more a free-form guy, same reason why I never used one of those monstrously popular GTD applications…
I also recommend http://workflowy.com for capturing information. I'd pay for an iPad app that would sync with it.
The original file '/home/yop/Documentos/wiki2/empty.html' does not appear to be a valid TiddlyWiki
Looking back on my life through the wikipedia, I see a very different person than my own memory remembers. You'd be astonished how much stuff your brain removes for lack of use. I just use bluefish editor with basic html files. I've got hotkeys to make templates and. The root node is my full name, even the universe itself falls under that category, because the only way I know the universe exists is through my observations. The most gratifying part is the page outlining my geneology, I have information documented about my DNA line going up 3 levels, and if you make a point to get really detailed information on your parents, grand parents and great grand parents (biological) You'll see health problems and DNA related hardware issues. I discovered programmers and a certain abilities/disabilities run in my mother's side, I'm a programmer. With enough analysis I could probably identify the gene sequences, and thus help my offspring by telling them what their problems are going to be before they experience them, by looking at dominant and recessive traits.
I have a category with everything I intend to do to the child if I have kids. I have a category with pictures of me every year from 3 days old to today. I do the same with my parents and grandparents (which is more spotty).
I have a category on all the friends I've ever had, what they liked, why they liked me, what I did to become aquainted, birthdays, their parents, all the information about them you would expect a close friend to have.
I've got all my tax returns back to 2005 (I started the wiki somewhere in 2007). My current net worth plotted on a chart, documented by what I did which caused certain plunges and rises in that graph.
A big category on girlfriends, kinds of women and what works with some. I can give you a cruise through every significant romantic event in my life from my first kiss back in college to sexual encounters. With photos of each girl. Each girl I dated given a full psycho analysis, funny how I searched out each edge of the (Smart, Sane, Pretty pick any two) triangle. I even dated a few (1 of 3) and (0 of 3). Big mistakes that haunt you.
I have a category of books I've read, and plotted those against my life timeline. What I've thought of them, how they changed me.
Anyone who got ahold of this wikipedia and had 20 hours to read it all would know as much about me as I know about me.
This wikipedia is what I want to see on dating websites, If I could include this on a dating website, and have all the girls do the same, it would make dating a lot easier. I imagine a post with dental records, tax returns, employment, income histories, aspirations, books read, history of diseases/conditions, family genetic lines, computers owned, friend structures, self psychoanalysis, and hundreds of other subjects which makes us unique from other humans.
A big worry is that the hard drive bricks iself or gets stolen, this wikipedia is worth tens of thousands of dollars to me. My backup strategy is to make a hard drive cloned image every 3 months with clonezilla, with the hd stored in a physically different location. so my wiki would even survive an fbi takedown where they steal all your stuff.
I've got all the programs I've ever written saved, so I can go back in time 4 years and see programs I wrote in C++, Visual Basic. It's like reviewing your essays from first grade, I can't bear to see them, my programming skill has gone up slowly but surly over time.
The real secret is adhering to the rules of a wikipedia. Nothing may be added without establishing its link and relevancy to another page. Also, Here is the secret sauce, a tough rule is that when you introduce a new page that links to an old subject, which introduces new information, or new evidence which contradicts old pages, you have to spend time and re-build the pages being linked to. I have a system where editing one significant page has the possibility of having me go back and change previous observations, the benefit is that it automates your thinking process. If you keep all your thoughts you ever have into a tight tree form, you can find that your human memory is upgraded a hundred times over. I was able to use process of elimination to determine which foods were causing my acne, and through continued graphing and elimination, was able to find what elements in which foods were causing it. Something many doctors would probably like to see. When I go to a new dentist, I sometimes bring along my entire history of each tooth, each operation i've had, i can see where that time I kissed the wrong girl caused a microbe party in my mouth which caused cavities. Though the dentists have no idea what microbes are in my mouth, through my wiki. I have a good idea. In some ways the wiki makes me a better dentist (to myself) than the professionals.
It's a wikipedia that treats myself like scientists would treat a newly discovered intelligent alien craft. Everything about it is described, graphed, analyzed, compared, and charted. Nothing about it is taken as a given. The part that keeps me coming back to it is my thirst for knowledge. When I browse hacker news, stackoverflow, and (years ago, digg), anything that struck me as useful for growing myself or growing knowledge was included. So now I have like 800 items in a list organized by category and awesomeness, that to this day when I look at it, I still see the importance. I have a category of guitar songs I can play, piano tunes, how I learned. etc.
Whenever I hear a song that provides a certain response, sadness, happiness, euphoria, depression. I write it down on a receipt, then when I get home I log it. So I have a series of songs I can play which seriously induce all these emotions. I try to stick to the happiness songs. there is a boat load of ones that cause the other emotions. As a result I have 30 songs that when I play, suddenly make me happier. Sometimes when I'm depressed I play the depression inducing songs and it makes me extremely depressed, and I can look at myself like a computer, an input output device, and I see that depression is only a response to external stimuli, if you can take control of your external environment, you can custom make your emotion for that hour/day.