Manage your own Hotel / B&B Bookings with Open Source tools yourself!

When my wife and I visited Key West and stayed in a Bed and Breakfast, we talked for a little while about how maybe…we should just sell everything and move to Key West and open ourr own B & B. Rent bikes, read and hang out. It looks like maybe with this plugin for WordPress, that dream might be a little easier!

StayPress is a collection of plugins that will turn a standard vanilla installation of WordPress or WordPress MU into a property management and bookings system. Of course when I say Property, I actually mean any bookable resource of which there is a finite availability. So the StayPress system will be able to manage property rentals, hotel room rentals, conference rooms and centres, B and B’s, training rooms, bands, etc…
The new StayPress system takes over from the previous collection of plugins and brings everything together into a more manageable and co-ordinated group.
[From Blog » Blog Archive » Introducing StayPress]

Now all we need is: Money to buy a huge place in Key West, and the gumption to do it.

Just Discovered the “Blog Design” Blog…sorta like a meta-blog

I definitely plan to use their tips and “Dreamworks Redux” Theme to build a new (unique) look for this site.

Even more amazing is how I found it. Used the cool twitter tool twits like me, and it pointed me to twitter id: bebizzy, the blogger that writes: (very interesting Blog by the way!)

I was really impressed by his wordpress theme, and followed the link at the bottom of the page. I love the internet, it really is a series of seamless links between information.

Getting Things Done in a Nutshell

This is my first non-technical post, more to the topic of productivity and organization. (thought it only fair to warn people up front). I was originally going to write a post about GTD Apps online and in Mac OS X, but figured I should first gloss over GTD in general before being able to discuss the strong points of the various applications in any depth.

I currently follow (to use the term loosely) a methodology along the lines of “Getting Things Done” known to practitioners as “GTD”. It is a system developed by David Allen, in his book “Getting Things Done”. I am not going to delve too deep into the actual system. Its very flexible, very tool agnostic, and it is a system that focuses on the day to day grind of actually doing your tasks (as the name implies). This is a big departure from other established productivity books that tend to focus on your values, roles, responsibilities, and then assume that the day to day will take care of itself if you base all your decisions on your value system. It is these two aspects of GTD that has made it very popular with the geek set (web workers, programmers, bloggers, etc.)

GTD boils down to a few core concepts:

  1. Write shit down. Seriously. Everything. Technically you need to “capture” things in whatever is comfortable for you. If you live in email, anything important email it to yourself. If you want you can send yourself voicemail, whatever works for you. For most people its a combination of email, electronic notes and real paper notes. But since you have to write down EVERYTHING, its important your system be able to handle if you suddenly think of something while having dinner in a restaurant for example. The term David Allen uses is “ubiquitous capture”.
  2. Everything goes to your inbox. Everything you write, or think, everything someone else sends you, it goes to your inbox(es). You will probably have several. Examples of your inboxes are: Physical inbox, email inbox, your notebook, voicemail, everything needs to go to your inboxes, and you need to know what those inboxes are. (I mean really know your inboxes, like you should have a written list of them, and everything that matters to you should collect in oone of these places)
  3. Process your inboxes everyday, until they are empty. Your inboxes ARE NOT your system. They are the way things get into your system. Your email inbox does not do double duty as a task list. You need to have a system separate from your inboxes to organize your tasks so you can organize and process only what is new and not focus on things you have already figured out. Everything you have in your inboxes will be one of the following (and your system needs a specific place for each one)
    • Trash (duh)
    • Reference Material (again, self explanatory)
    • Projects / Next Actions: Project / Actions you are working on NOW, Projects / Actions / Things to Buy / Business ideas or whatever that you would like to do someday but are not planning on dong this in the near future
    • Tickler File: Things you want to “sleep on” and decided what to do with later on.
    • Someday / Maybe LIst: Things you would like to do, as the name implies someday, or maybe. Things like Travel to japan, Learn to play guitar, buy sailboat, clean out attic. YOu think you might want to do these things at some indeterminate point in the future, but have not committed to them.
    • Calendar: Appointments and other truly date specific items (not the things you would like to have done by a certain time, but might push back or something, that belongs in the tickler)
  4. Make sure to separate your Projects from your Actions. Your actions should be atomic things, one simple task you can look at and do. Its easy to identify some projects, like “write drawing application” The rule is, whatever actions are on your to-do list should be only one step, broken down as small as possible. For example, you should not list “design database schema”as a task, because that has multiple steps. You might: list data that needs to be stored, list possible future storage needs of application, list database servers that are available options. research available database server options, create feature matrix for database servers, draw schema diagram, write SQL create statements based on diagram. Even seemingly simple tasks like “clean out garage” have many tasks involved that you should consider.
  5. If you have more than 25 “Next Actions” split them according to where you can do them, the lists should determine themselves organically, like a to-do list darwinism. If you make a lot of phone calls, you should have an at phone to-do list with calls you need to make, whether to clients or the cable company. If you have a lot of tasks that need you to be at your computer, that should be a list. Other examples are: Home, Work, Online, Email, Errands. This is the sort of thing that requires experimentation and observation. For example I frequently have a list of items to enter into quicken, so I like to list them together, that has worked well for me. I never really had a lot of phone calls to make, so the Phone list didn’t make sense for me (I tried It).
  6. Everyday, anything in your tickler file for today should go into your inbox.
  7. Review your system every week, check up on your projects, review your Someday Maybe list, and go over your notes and all that of the past week to see if there are any reference items, inbox items in your head that you did not put into your inboxes.

That is GTD in a nutshell. I definitely do not do it justice here, and if anyone reading it would like to know more about it, I seriously recommend reading the book, or at least listening to the Audiobook (thats what I did the first time through). There are really only 2 criticisms that I can level against the system, and they are really just things that need to supplement it, not things actually wrong with the system:

  1. There is no methodology for habits. For example “Go to the gym”, “meditate”, “Run 5 miles a day”. Habits are an important part of being organized and “having your act together” but are not part of the GTD system. The tough part is not once the habit is in place, it is when you are trying to form the habit. The first 30 days you are trying to go to the gym 5 days a week, thats when you need to be organized about your habit. After that, its just a habit. There are a few ideas and proposals from GTDers out there about how to form new habits.
  2. It does not cover the Higher level thinking at all. For example the values and responsibilities you have that help you chose what is going to be a next action, and what action you aren’t going to do. Along those lines, I think its important to perform the exercises in “The 7 Habits of Highly Effective People”. Having your values clear to you means that choosing your next actions, is easy because they are what helps you accomplish your long term goals and are in line with your values. If your Values / Goals should be in place before doing GTD to help you organize your Next Actions, or you should instead Organize your actions to have the time and freedom to determine your Values / Goals is like a chicken and egg argument within GTD. More accurately, its probably neither of the two and more of an iterative process. While GTD speaks of working at different Altitudes ( runway is just doing your tasks, Values at 50,000 feet, Life Goals at 40,000 5 year goals at 20,000 and so on ) there is very little discussion of the higher levels. The System is a System for 10,000 feet and runway.

I plan to explore some of these points in greater depth later on in my blog. I also plan to add feeds that will allow you to filter on topic, so if you just want programming tips, you don’t have to read about GTD, and on the flip side you want to read about Productivity and don’t care about programming, you can also read only the posts you care about (after all, part of GTD is simplifying, and eliminating inputs that don’t give you any value).

Tips for Following the CocoaCast with XCode 3

I imagine a lot of programmers out there have similar issues to mine. I meant to learn Cocoa a while back, as a programmer and Apple switcher. But I never got around to it. Fast forward to March 2008, I still haven’t started learning Cocoa, and now the iPhone SDK comes out! I guess its time to learn!
Of course, I first assumed I would just plow through it. I downloaded the first SDK the day it became available, ripped into the sample projects that were online and looked at the code, I honestly could not make heads or tails of a lot of it. I could figure out what code was building the interface elements, and I could see the dummy arrays that were feeding into it, and had a vague idea of most of the syntax (I had programmed in C and C++ but never in Objective-C). No, If I was going to program for the iPhone (and of course all sorts of crazy app ideas were racing through my mind), then I was going to have to properly learn how to program Cocoa and Objective-C.
After a bit of googling about, I found the perfect resource:
Cocoacast and it used as its Textbook: “Cocoa Programming for Mac OS X” by Aaron Hillegass
It is a very laid back video podcast where the podcaster instructs and screen-casts lessons based on those in the book. It is a very friendl and warm style, but at the same time structured (since it follows the book and has homework), so anyone that wants a college-type environment will find this particular format very enjoyable as well.
Of course, I was anxious to learn, so I started following the podcast without first purchasing the book, and noticed that some of the initial dialogs (creating projects and files, etc.) were a bit different, but I managed to follow along.
Then in the screencast, he began linking some objects to controls in the window and it was completely different, this was when I realized, that the book and the podcast were written for XCode 2 / 2.5, the latest version (the one that came with the iPhone SDK) was XCode 3! Luckily, Google has all of the answers, and this time, it pointed me to the publisher’s website.
I would like to state at this point that I DO plan to purchase the book. However, I am holding out for the version based on XCode 3 (the 3rd Edition), which should be published on May 26th according to Amazon.
I have had very little issue now until I began to follow the exercise regarding a Document-based application. When I created the project, I was greeted by XIB files instead of NIB files. I researched (googled) but no one else had written anything about this. I then decided to install XCode 2.5 on a second computer, and generate an empty document based cocoa application, zipped up my project, and used this as the basis of my exercise. (the RaiseMan exercise).
If I was doing something wrong (it IS odd that nothing turned up when I googled things like “xib vs nib raiseman”), perhaps selecting the wrong kind of cocoa document-based application project…please tell me so that I can post a correction to this post.
Until I stand corrected, I will assume that other people might run into the same problem. To remedy the situation and help other budding Cocoa Programmers out there, you can download an empty document-based XCode 2.5 Project.