Category Archives: Getting Organized

I’m a big Organization and Productivity buff – mostly because I’m lazy. Being the lazy person that I am, I am always looking for tools, systems, processes and “trains of thought” that help me organize large amounts of information, and accomplish daily routine tasks as quickly and efficiently as possible.

How to Backup an Ubuntu Desktop (12.04, 14.04)


Warning: Read about caveats in the link above before use


## The backup script
 dpkg --get-selections > ~/Package.list
 sudo cp -R /etc/apt/sources.list* ~/
 sudo apt-key exportall > ~/Repo.keys
 rsync --progress /home/`whoami` /path/to/user/profile/backup/here
## The Restore Script
 rsync --progress /path/to/user/profile/backup/here /home/`whoami`
 sudo apt-key add ~/Repo.keys
 sudo cp -R ~/sources.list* /etc/apt/
 sudo apt-get update
 sudo apt-get install dselect
 sudo dpkg --set-selections < ~/Package.list
 sudo dselect


Who is this for: users that have normal regular use of their computer, that have done minimal or no configuration outside their home folder, did not mess up startup scripts and services. A user that wants to have his software restored to how it was when he installed it with all customizations being done and kept in their home folder.

Who this will not fit for: servers geeks, power users with software installed by source (restoring the package list might break your system), users that have changed the startup script of some application to fit better their needs. Caution: there is a big chance any modifications outside home will be over written.

Every Minute is a Reflection of Life

 “Time passes so quickly. Minutes are like seconds.  Hours fly by in a wink. Responsibilities are inherited, expanded.  Your self-image pushes you forward to embrace the challenge. Thinking becomes a luxury.  Quick fixes and band-aid solutions become the norm. There is always something to do, somewhere to go, something to be acquired.

Adapt.  It becomes increasingly important to be concise.  To be clear.  To avoid trivialities. However you cannot lose who you are.  What motivated you to go where you have gone, and to be who you are today? It likely makes no difference, since who we are, and the motivations that drive us change with us every day. What is important, in fact the only thing that is important, is that you continue to try to be a better you.

There is no better critic of your personal character than you.  You think about it.  Don’t lie to yourself. It does bother you to see people suffering in one part of the world, while corporations bask in wasteful ignorance in another. It does bother you that most of society is locked into a dependant relationship with such corporations. But the cure for the world’s pain can only come from awareness and education.  No one is different from anyone else. Aggression breeds aggression.  Tolerance breeds tolerance.  Empathy breeds empathy.

Simple things can make a big difference under just the right circumstances. Never give up, but don’t be hard on yourself for not going as far as you would have liked, as fast as you would have liked. Time passes so quickly.”

Why You Shouldn’t be Sharing “Live” Documents by E-mail


If you and your team, in 2013, are still sharing Microsoft Office (Word, Excel) documents via internal corporate e-mail, I’ve got news for you.  You’re doing it wrong.

“Live documents” are documents that are actively being updated and collaborated on by multiple people.  Collaborating on these documents by e-mail is a process that you should avoid.  It is a process that can eat away at your team’s productivity precious minutes at a time, and can severely impede your team’s work-flow and ability to stay synchronised.

I’ve been involved with projects where this method of collaboration was adopted.  Whenever I recognize this to be the case, I would immediately share my concerns, and try to suggest better ways of getting the team organized. There are always better ways to do it.

One of the biggest problems with e-mail document sharing is that there is no tracking or accountability.  There is no way to easily know what version of the document you have in your possession.  Is it the latest?  Perhaps it’s new enough?  Ever had to find an email with a document attachment, and ended up trying to craft clever little search terms to search your inbox?  Even if you find the document you were looking for, there is no way for you to know whether it is the last official revision, unless a system is implemented to allow “official” versions of the document to reside in a central location.

If there is a point-person in charge of managing this kind of set-up (for example, a simple system implemented with shared folders), and the maintainer ends up leaving the company for any reason (vacation, short-term disability, lay-off), then you still end up in a bad situation.  Without someone actively maintaining the structure of the document store, things will end up getting messy very quickly.  Users will begin storing documents in arbitrary locations (whatever feels right at the time), and before you know it, you will have to start yet another document archive clean-up project.

Version control is ubiquitous, and it is here to stay.  Any company (in any industry, not just IT) not seriously considering a process for document revision control should at least make it a point to have the discussion at least once a year.  You may find that your current document handling processes are actually a significant time waster, and that implementing a document management system could save you a lot of time (or money) over the long run.

There are many document sharing and collaboration technologies available today.  Some of the more popular include Sharepoint (if you are a Microsoft shop) or Documentum.  There are also many open source (free) packages, such as Drupal, Joomla, and Liferay.  There are even projects like Etherpad that make collaboration just plain fun.  You can also roll-your-own (if you are so inclined) by developing a custom system on top of foundational version control software such as Git or Bazaar, as I personally have done in the past.

Do your research when considering a content management system.  Some important considerations you might want to make include:

  • Is it easy to set up?
  • Is it easy to use?  Does it blend well with our team’s work-flow?
  • Is it safe?  Is it easy to make backups?
  • What kind of security mechanisms does it have built-in?
  • Is it easy to get our data out of the system (strong import/export functionality), in the event that we decide to move to another system in the future?
  • Is it cross-platform, or does it tie us to a specific platform (operating system)?
  • Is the cost worth the investment for a company our size?

The important thing here is to start thinking about it.  Be open to evaluating multiple products before you decide on a system that blends best with your organization’s work-flow. Software is about solving problems, which includes eliminating routine and time-consuming tasks.  If your company is not continually looking at new ways to improve efficiencies via clever (and practical) software implementations, then it will eventually be left in the dust as more efficient start-ups and entrepreneurs bring their shiny new productivity platforms to the game.

Team Meetings at the Workplace

I’ve been to many team meetings (or “all hands”) that have, in the end, provided no real value to the team in attendance.  It is very possible (and likely quite common) that most meetings are actually a waste of time (as many of my closest colleagues and friends would agree).  However, this does not always have to be the case.

Meetings are important to have.  They provide an opportunity for team members to share not just the facts, but also how they feel about the current situation for a given project.  Team meetings can often provide context for the day-to-day work that each of us is involved with.  Just as importantly, it is an opportunity for leaders to maintain an awareness of how their team members are feeling, in order to better estimate how the team might respond given additional stress.

Meetings have to be run with intention in order to be successful.  Topics should be specific, and every topic discussion should end with an actionable deliverable assigned to a specific individual.  This may sound a bit restricting, but it goes a long way toward saving your team more time for actual work, along with giving them (and yourself) more time to relax.

There are many meetings that I have attended where discussions were essentially a one-way dialogue between the presenter and the rest of the team, where feedback was neither elicited nor volunteered.  When the host (usually a team lead, manager, or PM) asks the ever gripping question “..any questions or comments on this?”, and a conference call of about twenty or so people falls dead-silent.. well, I would consider that a problem.

Often the problem is that the meeting is too broad, involving too many people who don’t work with each other on a regular day-to-day basis.  Smaller meetings are the key to success.  Meetings should be specific, covering 3-5 of the most important items or active projects.  Meetings should also be quick (standing meetings are often very effective).  Questions and responses should be clear and to the point.  “What’s the status of the X project?”   “What’s changed from last week?”  “What do you need to keep this on track?”

Team meetings shouldn’t get too technical either.  That’s what e-mail, white-boards, and dedicated meetings are for.  Having technical discussions at team meetings will rarely be beneficial, and will often just turn into an echo chamber or a religious debate.  These types of discussions are good to have, but not when leadership is at the table.

When leadership is at the table (Managers, Sr. Managers, Directors),  the focus of the meeting should be for the leadership team to identify the most critical issues to address, and do all that is necessary to raise the collective spirit of the team; with feedback that is directly related to the work that they are doing.  The only way to do this is to be aware of the team’s accomplishments since the last meeting.  Every little inch matters.  Every little unit of work and motivation you can squeeze out of your team will benefit your project, and your stakeholders.   I am not suggesting micro-management, nor am I advocating unnecessarily cracking the whip.  Instead, what I would suggest is that teams work together to develop processes and routines that will continually provide positive, targeted feedback on the work that the staff has accomplished.


TEDxUW – Larry Smith – Why you will fail to have a great career

Larry Smith, economics instructor at the University of Waterloo, gives a very moving lecture to both educate and inspire upcoming graduates on the reason why most of them will fail to have a great career.  He doesn’t come right out and say it, but he does all he can to point his viewers in the direction of the answer in the hope that his audience will come to the realization themselves.



S5 Presentation Software, XMind, Freemind, and mm2s5

I’m tired and a bit wired, but I figured I’d put a few words together just to purge my messy mind. So today I’d like to talk about presentation software (a la powerpoint); mind-mapping software, and how to get from one to the other in an interesting way.

I’ve been a mind-mapping fanatic for many years, as far back as 2004 if I recall correctly. Back then (and even up to today) I’ve used and loved the free and open-source mind-mapping software called Freemind []. It’s a great little piece of java software which provides a great UI for doing brainstorming and outlining using mind-maps.

These days, I use a mix of Freemind and XMind to do my day-to-day brainstorming and planning. XMind is like Freemind (in fact, I’m sure it borrowed many ideas from that project), but has a nicer UI, and many more options in terms of layout, tagging, markers, etc. I find that I jump between the two often, until my brainstorming takes on a life of it’s own, then I will stick to one or the other for the remainder of the map creation.

I recently had to put together a presentation for the Toronto Perl Mongers group to discuss, well Perl.. and VMware. And of course I whipped out Freemind and XMind to start the brainstorming process. XMind has a nice feature that allows you to export your mind-maps to an MS Power Point or OpenOffice Impress type format, which is great and what I needed. Problem is though that this feature is not free, it comes as part of XMind’s online subscription services for their “professional” version of the product. Even though the price is fairly reasonable, and I’m sure at some point may just bite the bullet and subscribe, I wasn’t ready to do that just yet. So I was on the hunt for some way to convert my mind-map into some kind of presentation.

To their credit, one thing that XMind does do properly is allow you to export your XMind maps to Freemind’s .mm format. This is great, because Freemind itself has multiple freely accessible export formats, including exports to and PDF. However, I wasn’t satisfied, I was looking for something that would do the job more completely.

Eventually I came across a neat little HTML/Javascript based presentation tool called S5, which stood for “Simple Standards-Based Slide Show System”. This tool was exactly what I was looking for! It’s small, clean, no-fluff implementation meant that I could whip up a professional looking presentation without the need to load up any bulky software aside from Firefox. Problem remained though, that my data was still in XMind (and Freemind) formats. I was considering writing a tool that would convert Freemind XML files into S5 HTML documents, which would have been fairly easy since both formats are fairly open and clear, however that would have taken a good deal of time, and time is one that that I never seem to have enough of these days.

So I went hunting on the plains of Google to see if anyone was experiencing the same problem I was, and if they did anything about it. And what do you know! I found a project on Google Code that does exactly that! The project is called (reasonably enough) mm2s5, and does a wonderful job at converting my Freemind mind-maps into S5 Presentation format!

Anyone who’s interested in finding a nice way to brainstorm and turn their ideas into presentations should seriously consider trying these tools out, they’re fantastic, and they’re free!

Xmonad: For Hardcore Desktop User Interface Efficiency

Long time linux/unix hackers know of the plethora of window managers and user interfaces that have been and currently are available for Linux and BSD operating systems.  I’ve had great times in the past trying out different window managers such as Elightenment, Sawfish, Black Box, IceWM, xfwm, KDE, Gnome,  and others.  These days the two most popular which are shipped with the more popular distributions (Fedora, Ubuntu) are KDE and Gnome.

However, I remember back in the day when I was using a Enlightenment, or Ratpoison, doing strange and cool things (at the time) like applying transparencies to your windows and modifying the the window borders to be anything but normal and square.

I used to share screenshots of my desktop with others who are also into “desktop eyecandy”, where I’d have floating or docked window maker panels, and monitoring applets anchored to the desktop as if they were part of the background wallpaper.. and this was around 1999.  It was fun times.

One of the more interesting things that I was into at the time was increasing the efficiency and usability of my desktop by trying to reduce the need to reach for my mouse.  I’ve been very accustomed to this already being user of vi and the GNU Screen terminal multiplexor, but the window managers never seemed to try to attain the same level “hacker cool”.  That is, of course until I came across Ratpoision. Ratpoison was exactly what the name implied, a window manager that killed your dependency on the mouse (or rat).  It was awesome, but it wasn’t scalable and didn’t evolve much to keep up with modern technological advancements and requirements such as multi-monitor support.

I recently thought that those days were long lost, until I recently had the urge to streamline my desktop environment.  I now have a 28″ Monitor, and was certain there was a better way to interact with the desktop than the standard Ubuntu/Gnome environment.  So I went looking.  I started looking of course at things I was already familiar with – I looked up Ratpoision to see if there were any major improvements over the years.

I took a look at a Ratpoison again, but it was showing it’s age.  I looked at it’s successor, Stumpwm, but I didn’t feel the love.  Then I tried out Xmonad, created by Spencer Janssen, Don Stewart, and Jason Creighton – and written in Haskell.  I immediately fell in love.

If you haven’t used GNU Screen, Gnome Multi-Terminal, Ratpoision, or any minimalist Window Manager before, then it will be hard to explain why Xmonad is worth your time.  Instead, visit the Xmonad website here:

Here are some suggestions on how get Xmonad working on Ubuntu 8.10:

Install Xmonad:

apt-get install xmonad

We’re going to create another X window session, so that we don’t mess with your existing one. That way, if you don’t like Xmonad, you can go back to using your existing window manager without worrying about breaking your configuration.

Set up your second X window session. Press “ctrl + alt + f2” – this will take you to the command-line terminal where you will start your second X session. Start the session using following command:

xinit -- :1 vt12

This will start up another X session which will sit at virtual terminal 12 – meaning that you have to press ‘ctrl-alt-F12′ to get to it.

Once at your new X session, you should see nothing more than an plain old xterm window. Type “xmonad’, and the terminal window should now be maximized. Xmonad is now running.

Type ‘man xmonad’ to view the help documentation on how to use it.  It’s pretty straight forward, and a joy to use!

Double Shot of Tequila

I woke up early this morning with a mission on my mind, to finally organize my server rack the way I’ve always been meaning to, but for some reason (*cough*laziness*cough*) , I never got around to it.  I had recently bought some new hardware to re-build a system which I thought was dead, but which turned out not to be.  I didn’t really feel like returning the hardware, because this was the chance to build an up-to-date server to migrate all my VMs over to, which is something else I’ve been meaning to do for quite some time.

In any case, I finally got around to re-organizing my server rack today, and I’m proud of how it turned out.  With that accomplishment in hand, I decided to install our living room air conditioner (starting to get a tad warm, especially for computer systems). I headed out to Home Depot and purchased some wire mesh, or “screen” as one of their reps called it. Last year we found that we had a lot of mosquitoes and small flies coming in through the air conditioner. Considering it was a fairly inexpensive one, I figured that I got what I paid for. I decided to turn my $100 air conditioner into a $300 air conditioner, but adding on some custom filters in order to block any debris which it may collect through it’s many open vents. The roll of mesh cost around $15, and was easy enough to cut and shape. The end result turned out better than I had expected, and so this year I expect we will have a lot fewer bugs getting in.

And so the air conditioner was installed – this too had been completed.  I was on a roll and feeling good.  I decided then to try my hand at building my new server from scratch.

I had an old rack-mount server case ((solid steel, heavy beast)) which I gutted, and started building the new server in there.  The new components included a new motherboard – the Asus M3N78-VM, an AMD Athlon 1640 CPU, and 4GB of OCZ Dual Channel SLI Ready RAM. The Micro-ATX form factor of the motherboard made it super easy to fit into the monster rack-mount case. With a few simple connections, I was ready to test boot-up, and things should have been smooth from there. It wasn’t.

The system wouldn’t power on – at all. My first mistake was that I plugged the front panel connectors into the wrong pins on the motherboard. No sweat, figured that out, and moved forward. Switched it on again, saw the motherboards “SB Power” LED come on (which was a good sign), fans started spinning, thought I was getting close, but nothing. I couldn’t get it to POST anything, no errors, warnings, or beeps at all. I decided to rip out all the peripherals and go bare-bones in order to isolate the problem. Still nothing!! Removed RAM, nothing.. Removed the CPU, nothing. So at this point, aside from being frustrated, I’ve been able to narrow it down to one of two things, it’s either the motherboard, or the power supply. The power supply should be fine, because it worked with the old hardware that I had in the case originally. However, there is a chance that the power supply isn’t compatible with this motherboard in some way.

If it’s not the power supply, then I’ve received a motherboard that was DOA. I’m hoping this is the case! I’d hate to take this thing back to Tiger Direct tomorrow, have them test it out, and find out that it’s just fine. That would be both embarrassing and frustrating.

Anyway, after all these triumphs and frustrations, I decided to finish off the night with a double shot of Tequila, and damn did it go down smooth :)

If this blog post seems at all incoherent, it probably has to do with the fact that its late, and I’m tired.  Oh, and maybe just a little to do with that double shot of Tequila.

WebPIM: A Custom, Web-based, Personal Information Manager

I’ve always wanted a web-based application to help me manage all my stuff. “WebPIM” (as I’ve nick-named it for now), is currently one of my main personal projects that I have been working on.  I started this project back in 2003 as a simple web-based file manager, and have been slowly hacking away at it in my spare time ever since. “WebPIM” can act as a central reference point for all personal or project information. The way I’ve implemented my custom PIM is purely based on the way I work, so it may not be to everyone’s liking. However, I think it could really help individuals who need a way to organize tasks, projects, documents, and general files in a free-form, yet hierarchical and accessible way. Much of the thinking behind the way WebPIM is being developed relates to GTD ((Getting Things Done – David Allen)), and how to get “stuff” off your mind, and into a system.

Here’s the general idea – you have a lot of “stuff” – stuff that’s just sitting around on scraps of paper, on your hard drive, in your e-mail, and every other place you can’t seem to remember. This may be un-important stuff, or it may be severely important stuff – but none of it is organized into any kind of easily reference-able and “trusted system” ((GTD terminology)).

You have several options; the first of which is to do nothing. Unfortunately, ignoring the problem and hoping it will go away won’t solve the problem. Lets assume you want to change your situation, and we’ll use my experiences as a baseline for discussion.

I have tried many personal information managers over the years, and all of them have been incomplete in one way or another. Also, with the new wave of hosted applications like Google’s GMail, Calendar, and Google Docs, I am becoming more and more uncomfortable storing all my stuff on a remote, corporate server over which I have no control ((This has become more and more of a concern for me, having accounts on Google, Facebook, and others. Maybe I’m just paranoid.)).

My solution to this dilemma has been to write my own PIM, and so far, I’ve been happy with the results.

The way WebPIM currently works is by operating as a front-end to a linux based file-system. From WebPIM, I can create directories, create text files, upload files from my local hard drive, and move files around from one directory structure to another. This is the simple stuff that I think any web-based file manager should be capable of. More than this however, WebPIM provides the following features:

  • Move multiple files from one directory to another (batch move)
  • Text-dialog editing of all files (you can edit HTML and XML files in the interface)
  • Full path display when traversing directories, which allows you to go directly to any directory within your current absolute path via a hyper-link
  • Web-download functionality allowing you to download a copy of your favourite web page or web-accessible file into your current directory.
  • Recursive web-download, so that you can download an entire website for later reference (implemented using HTTrack (( in the back-end).
  • Project short-cuts, so that you can create short-cut groups to access multiple directory structures on the same interface. This allows you to access general reference information, along with specific project information all within the same interface, and without disrupting your overall PIM hierarchy.

I think the idea can be better explained with a screenshot of the main interface:

WebPIM Interface
– WebPIM Interface (Click on the image for a larger view) –


Obviously there is still a lot of polish required before this becomes useful to the general public, but I really do believe there is a market for it.  If anyone is interested in trying this out, leave a comment and let me know.  I can probably set up a demo, or provide the source code as-is so that you can give it a shot on your own system.

Keeping Your Pockets Organized

I’ve had many different kinds of wallets and credit card holders over the years.  A long time ago I used to have what is sometimes known as the “butt brick” or the “Costanza wallet” ((Urban Dictionary – Coztanza Wallet)), but that time has thankfully passed.  I quickly became familiar with money clips, business card holders, day books, organizers, and so on, as ways to organize the items that I liked to keep on my person at all times.


Continue reading Keeping Your Pockets Organized

Braindump: WxWidgets, Version Control, and Firefox Bookmarks

WxWidgets GUI Programming

I’ve been thinking about creating an application using the WxWidgets GUI API.  I’ve read a lot about it, and many seem to really enjoy the results of the applications they’ve created with it.

For my own purposes, I’ve been looking for the ideal GUI API that would allow me to quickly create cross-platform desktop applications for Windows and Linux platforms (Mac would be a bonus).  I’ve looked at QT, GTK, and MingGW.. but I’ve been turned off because they don’t seem to have strong Perl and/or Python bindings (although Perl strong with Tk, I’ve heard).

I’ve tried a small test Python program with WxWidgets (GTK version), and was pleasantly surprised at the simplicity of the code.  I think I’m going try some other tests, this time using Perl, as I want to note the differences in complexity between Perl and Python code.  Currently, Perl is my canvas of choice ((Being that I see programming as an art, more than anything else)).

Continue reading Braindump: WxWidgets, Version Control, and Firefox Bookmarks

Twitter, Facebook, Youtube, Blogspot.. How Do You Manage?

Right now my main point of communication with the rest of the world is this blog, which is just fine by me. But now and again I’m reminded by friends that these other services, such as Twitter, Facebook, Youtube, MySpace, etc., are out there, and that I should log in more often so that they can satisfy their interactivity needs by poking me, or making certain that I’m informed about what they happen to be having for dinner.

I am a proponent of building and maintaining social networks, don’t get me wrong. However I find it rather difficult (time consuming) to try and keep all these little social networks updated with my latest going’s on.

There are some solutions, such as allowing one service to update all others by providing them with your login/passwords to each of these other services (Facebook provides applications which does this). I don’t like this concept though, because I don’t like the idea of giving all my personal authentication information for all the services that I use to just one company (call me paranoid).

Therefore I’ve found small ways around this, such as including a Twitter update widget onto my WordPress blog, which doesn’t require any username/password information because it uses the Twitters “public timeline” service. It would be great if Facebook also had an application that allowed you to update Facebook’s status by reading the public timeline.

I haven’t found such a Facebook application, though I think it would be very popular. Then again, I don’t think this type of Facebook application will ever be created, because I believe that Facebook is all about driving people to log into their site to do their updates, and to prevent these updates from occurring outside of Facebook. I know that Facebook apps are mostly created by end-users, but I think there are some restrictions on what Facebook allows third-party developers to develop (just a theory), and this may be one of those restrictions.

To the other bloggers out there who are in the same boat, trying to organize and automate all your social networks – what tricks and hacks have you found that seems to be making your life easier?

Update:Trevor Mauch has a great article on the benefits and drawbacks of using Twitter vs Facebook.

WebCalendar – An Open Source Shared Calendar Solution

Two years ago, I discussed a shared calendar solution called Monket Calendar. In the discussion I mentioned that I was considering Monket Calendar as an alternative to PHP iCalendar, which was another (read-only) web based calendar solution I was using at the time.

I no longer use PHP iCalendar, and I haven’t since looked at Monket Calendar. The only calendering solution that I use now, and that has all the features I need, is the absolutely wonderful WebCalendar by k5n.

Continue reading WebCalendar – An Open Source Shared Calendar Solution

Ear Plugs

I’m a big fan of ear plugs. I use them while working, reading, and sleeping. When I wear them, I find it takes very little effort to concentrate on what I’m doing. Using ear plugs while sleeping helps me fall asleep faster, and allows me to get a full night’s rest while almost never waking up in the middle of the night.

Being a big fan, I’m always on the lookout for better ear plugs, such as plugs that block out more sound, are more comfortable, or even more portable. Part of my search lead me to an article (2005) by which gives a great overview of the different types of ear plugs available, and a rating as to how effective they are in comparison to each other.

If you’ve ever wanted to increase your concentration at work or at home, or have had trouble getting a full night’s sleep, you should read the article above. A simple pair of ear plugs could change your life!

Productivity Tools and Systems

I’m currently working on an article to introduce one of the productivity tools that I’ve been working on for a while. I’ve come across many different types of tools for various purposes, such as Freemind, Cmap Tools, iGTD, Google Calendar, etc. I currently have a set of tools which I use regularly (some of which I developed myself) and was curious what others out there are doing to manage their time and the large amount of information they have to process on a daily basis.

Along with PIM ((Personal Information Management)) tools, what productivity methodologies (if any) do you follow? I’ve found that a mix of ideas from “The 7 Habits of Highly Effective People” ((Book: “The 7 Habits of Highly Effective People” by Dr. Stephen R. Covey)) and “Getting Things Done” ((Book: “Getting Things Done” by David Allen)) works well for me. However, I know there are other, potentially better systems out there ((I say “potentially better” since what might be better for some people may be worse for others)), and I’m sure my system could be improved by methods I’m not currently aware of. For example, I recently came across an article on Lifehacker ((Lifehacker is an excellent blog/website created by Gina Trapani which focuses on productivity tools and processes, with a slant towards computer power users)) by Brad Issac which discusses how Brad received productivity advice from Jerry Seinfeld. The advice Seinfeld gave Issac outlines a simple, but brilliant way of motivating yourself to get things done.

Jerry Seinfelds advice is one I’m sure I’ll be trying out as part of my own productivity system; but I’m sure there are also many other tips and tricks out there. Whats in your productivity toolkit?

Monket Calendar: Web-based iCal Calendar Editor

In my recent searches for an alternative to PHP iCalendar, I came across a very cool application called Monket Calendar by Karl O’Keeffe. After reading through the description of the application, I was very impressed by what it proposes that it can do. Some of the items include the following:

  • Ability to View *and* modify iCal calendars
  • Drag and drop interface to move calendar events
  • Change start/end dates by re-sizing the event without a page refresh

A lot of these features are very attractive because it makes Monket Calendar a direct competitor to would be killer apps such as Mozilla Sunbird, for it’s ability to modify remote calendars, and PHP iCalendar, which is great for viewing remote calendars, but does not provide an ability to make changes to them.

Some may argue that Mozilla Sunbird still has the advantage of being a stand-alone application that does not require a webserver or services and libraries such as PHP and AJax to run. I would argue that what makes Mozilla Sunbird such a great application is its ability to interact with shared calendars located on remote servers via WebDav or FTP. Of course, the overhead of having to install and configure Apache, PHP4, and Ajax support would probably turn most users away from Monket Calendar. However, if a calendar can be accessed and updated from the website it is hosted in the first place, it wouldn’t make much sense to run a local application to download the calendar’s events, unless you have dial-up or have a requirement to work offline for long periods of time.

Further Reading:

Monket Calendar

Mozilla Sunbird Project

PHP iCalendar Project

More Than Just Another Todo List

Recently I whipped up a simple PHP/SQLite based Todo List application for myself, as I didn’t like the Todo Lists available on my Blackberry, or on Mozilla Sunbird.

In passive discussion with some of my colleagues at VMware, the book “The 7 Habits of Highly Effective People” came up. The book is a great read if you take it with a grain of salt. I haven’t read the book in a while, but it does contain many good time management and life management tidbits.

In any event, we discussed one of the topics in the book pertaining to tasks, and ranking or prioritization of tasks that needed to get done. In the book, Stephen Covey discusses charting tasks (or Todo Items) in an Urgency/Importance graph. Urgent tasks, or tasks that needed to get done quickly, but were not overly important, would rank higher on the Urgency scale. Tasks that were Important, but did not necessarily need to be done right away would rank higher on the Importance scale, and lower on the Urgency scale.

The Todo List I wrote utilizes this underlying methodology for organizing Todo List items, and so, Items that are both important and urgent would appear higher than those of less importance or urgency.

I’ve only had to use my custom Todo List for a while to realize how much more functional it was compared to the standard Todo Lists available today on most PDAs and Personal Information Management systems.

I have to do some code cleanup before I release the application for public consumption. I just wanted to start a discussion on the topic to guage interest, and to see if anyone else has taken it upon themselves to develop a more usable alternative to the standard linear Todo Lists currently available.

Designing Finance Management Software

I’ve been playing with the idea of developing finance management software. Mostly this idea stems from my own need to manage my finances better. Beyond that however, I am interested in expense tracking, savings, and projections.

Businesses usually employ chartered accountants or excel savvy office administrators to do a lot of what I’m talking about. And I understand that its not just a matter of fancy software, but staying on top of your tracking and expense reporting. However, I believe that a system can be developed that can force (or motivate) it’s users to manage their finances better.
Continue reading Designing Finance Management Software

Getting Organized At Home

Man is it hard to keep organized! I’ve been trying to clean up my home office but just keep uncovering more stuff that I’m not sure I want to throw away. I think I’m a bit of a pack-rat.

I have several pieces of computer equipment that I don’t even use anymore, but are still very useful. I’m thinking I should put up a Buy N’ Sell section on my website so that I can get rid of some of this stuff. I might also have to advertise in the classifieds, and probably on E-Bay.

Anyway, keep an eye out for some stuff for sale!

At Work, on The Road, at Home… Practical, Non-intrusive Solutions to Data Syncing

Data syncing has been a recurring problem for me for as long as I can remember. Reading and modifying documents at work, and then trying to access these documents at home can be a pain in the ass unless you get into the regular habit of copying these documents to your USB key, or to your laptop. When you are ready to work on these documents at home, you have copy these documents off your device, do your work, then save them documents back to the device so that you will have an updated copy when you go back to work. Continue reading At Work, on The Road, at Home… Practical, Non-intrusive Solutions to Data Syncing