Before we talk about Agendas in org-mode I need to add two more things that I forgot to add last time. The first are a few basic global key bindings you should have for org-mode in your .emacs file.
org-store-link will allow you to setup links anywhere in emacs.
- org-agenda will bring up the Agenda dispatcher.
org-iswitchb Allows you to switch between org-mode buffers.
The second thing are properties. Properties are key value pairs that can be add to any heading. To create one use “C-c C-x p”. It looks like this:
To add more properties use the same keyboard command as before as long as you are under the same heading it will let you add a new key value pair. The main difference between tags and properties is that properties don’t show up when you export the file to a different format. There usefulness will be more obvious in the agenda.
When you bring up the Agenda and choose the option ‘a’ for The weekly agenda, you see something like this:
As you can see, it shows you the days of the week, what file the item came from when something was scheduled, what’s scheduled for the day and the tags. You move up and down with the keys ‘p’ and ‘n’. Quit with ‘q’. And if you move to a line hit ‘return’ you will be taken to that file and to the line of the item.
I use the weekly agenda the most but after that I use the ‘m’ option that allows you to search for tags and properties.
The other options are also useful. They can be found here http://orgmode.org/manual/Agenda-dispatcher.html#Agenda-dispatcher.
Well that’s the basics of org-agendas. Next time the topic will be plain lists.
I’m going to start a little series on org-mode. If you find it boring or want to talk about something else let me know.
The first use of org-mode is a todo list.
Headlines start with a *. For example:
* Case 42453: Fix spelling error
Multiple * will setup a hierarchy so that when you hit [tab] on a Headline at the top of the hierarchy the rest will be folded under it.
Hitting tab on Top will result in
The ellipses alway mark that something is underneath that header.
To mark something as a TODO you must be on a header line at hit S-right. That is the Shift and the Right arrow. This will add the keyword TODO to the RIght after the ‘*’. This can also be done with C-c C-t.
You can also add more TODO keywords by adding lines like this to the top of your file:
#+TODO: TODO | DONE
#+TODO: CASE BUG KNOWNCAUSE | FIXED
#+TODO: | CANCELED
Remember to C-c when you add headers like this to the file.
Keyword after the pipe are consider Closed conditions for the TODO. Also as you S-right the keywords will cycle through the list.
Tags may also be added for any headline. As when adding TODO keywords you must be on the line of the header then hit C-c C-c. In the minibuffer you will be asked for the name of a tag.
Once added a take will look like this:
* Start orgmode tutorial :blog:
The colons will be add for you. The next time you want to add a tag in the minibuffer you can use tab completion to find previously added tags. You can also add more than one tag. In the minibuffer you just need to separate the tags with a colon. For example:
* Start orgmode tutorial :blog:
You can also add tags to the top of the file like the todo keywords.
#+TAGS: @work @home #+TAGS: laptop car
Tags can have letters, numbers, the _ and @.
That’s all for today. I’m think about org-mode agendas for next time.
I don’t remember learning much about money in school. There were word problems in math class, and in the 7th grade we learned to write checks. But I didn’t learn much about personal finance. The only thing I ever heard was that I needed to save money. Every once in a while you would hear, “Spend less than you earn”. Everyone expected you to know what to do.
Then I got my first job. I never seemed able to save money. I played gigs every once in a while which helped, but not enough. Eventually, I was able to cut my spending so I would have about $300 at the end of the month. I thought I was saving. I had no savings account or investments I just wasn’t spending everything I earned.
At the end of January I ran across YNAB. Which stands for “You need a budget”. That resonated with me because yes, I needed a budget.
The YNAB software is base on four rules:
- Give every dollar a job.
- Save for a rainy day.
- Roll with the punches.
- Learn to live on last months income.
When I read those it all made sense. I now know how to save money. The rules are pretty self explanatory except for number three. But it’s also an easy concept. Basically you are not going to be perfect when you make your budget, at least not for the first couple of months. So if you over spend in an area, move money from another budgeted area to cover the overage. It’s that simple.
I recommend YNAB to anyone that wants to save money. Which is pretty much everyone.
There is also a mobile app for iPhone and android. If you get the desktop software the phone app is invaluable.
When I was first starting out if you wanted to make a web application public you only had a few choices.
- Buy a server and place in a colo.
- Go with a shared host that provided the scripting language and services that you needed.
Later virtual servers became popular.
The one thing that all of these options have in common is that you have to be your on sysadmin. I’m not saying this is a bad thing. I love doing that kind of thing. I was a responable for servers for the first five years of my carreer. But when I’m developing a simple app I don’t to deal with the server maintenance. I just want to delopy my app and go.
Heroku was my answer.
There are other cloud app services out there, but heroku is the only one I’ve used so far. Frankly, the other will have to be pretty good for me to be impressed now. Over the weekend I wrote a simple resume app. The backend uses ActiveAdmin and the frontend just displays the backend data. The last part of the app is a contact form.
I spent about a day making everything work with sqlite3, which is not the best way to develop for heroku. Once I had that working, I created my account, downloaded the heroku tools, then pushed to heroku. It was pretty much that easy. (I left out some steps but they are easy to figure out). I also downloaded an iPhone app (Nezumo) that allows me to monitor my app. It is quite handy.
My experince with heroku was really enjoyable. I plan to use them more for other projects.
I finally brought in my old blog posts. I wrote a small ruby script to do the job. The last blog engine I used was wordpress. That was a huge mistake. When I migrated into wordpress it ignored the date I sent and set all the entries to post time to that day. And I use a wordpress backup xml file to bring over all posts into this blog so now this blog has the wrong day for those posts. I’m not sure how I’m going to fix it at this point. I need to find a back up of the database I used to import into wordpress.
Oh well, at least I have the content.
One good thing I that came out of it was I got to use the ruby gem Nokogiri. On the perl side I like XML::Twig but Nokogiri was so much better. The xpath method is very handy. I’ve used xml parser in perl, objective-c, common lisp, emacs-lisp and clojure but Nokogiri was the easiest to use. And from the docs, it has great support for scraping html my css selectors. I will definitely use Nokogiri in the future.
I bought Pomodoro Technique Illustrated when it first came out. During that time I was having trouble concentrating at work. Pomodoro was new, to me, so I thought I would give it a try. It didn’t work out so well. It was mostly my fault. I didn’t put much effort into and one person I talked to about it deflated my sails. I mentioned that he didn’t see how you could get flow out of only 25 minutes. And that the breaks would make it hard to get back to it. I didn’t have any answers to that, I even stopped reading the book.
Fast-forward to today. I decided to give it another shot. I also decide to use the 25 minute work 5 minute break to read the book. One intresting thing is, I finished the book in 5 pomodoros, about 2 hours 5 minues. I’m not a fast reader so that is good for me. After reading the book I’m excited to try it at work. I wish I thought about this a few months eailer. But better later than never. Find out more about pomodoro here.
For the last few years I have been watching two different open source communities, perl and ruby. Its be fun watching the two communities grow.
I’ve been a backend programmer for most of my career. I was a webmaster for about 2 years where I did some web design but even that job was mostly web apps and server maintenance. I been doing iOS development for the last 4 four years and one of my struggles is designing good interfaces. I ran across this article. I plan on putting all 5 tips in to practice.