Minimalism embodied: a minimalist desk image.

Many people reach a point in their lives where they see clutter and excessive personal possessions for what they are: distractions and time-sinks that deeply – and negatively – impact one’s life.  Minimalism seeks to change this.

I am no different; I, too, have been conscious that for many years I have amassed a vast number of gadgets, had far more clothing than I could ever really wear (before it went seriously out of fashion), and bought books far quicker than I could read them.  Freely, I admit, I still do the latter – but I can “hide” them now on my ebook reader!

The Internet’s “Minimalism”

It is amusing to see, particularly on certain social networks, how minimalism is portrayed.  Let’s describe a typically “minimalist” image:

  • White.  It must be white.  White walls, white furniture, mostly-white accessories, all well lit (often artificially).
  • An Apple Mac computer, centre-stage on a desk.  Typically a 21-inch iMac, but sometimes a 27-incher too.  In front of the Mac must be the following:
    • A wireless keyboard & wireless trackpad – both precisely aligned;
    • A notepad
    • A pencil
    • An iPhone
    • Sometimes… a mug of coffee (although I am allowing myself a crossover into that other bastion of internet imagery here, the “Getting Organised!” image);
  • A desk lamp;
  • A single picture on the wall, bordered with a white frame, casting a soft shadow thanks to…
  • A window on the adjacent wall;
  • A crappy plastic chair (still white) that no-one in their right mind could ever sustain a day’s work in;
  • A wooden floor.  Or, if the floor is white, then the desk is wooden.  Or the chair back might be green.  You get the idea.
A silly picture of my wardrobe.
For completeness, here’s a terrible picture of my wardrobe, showing just how far my minimalism still needs to come (it’s not just white, grey or black)!

For an example, check out Jessica Comingore’s minimalist studio.

Flipboard is a great resource for these types of images.  Search for ‘minimalist’ and you’ll soon happen upon this template of what a minimalist lifestyle apparently involves.

What Is Minimalism?

If you Google this, no doubt you will see a definition along the lines of styles in art, music or design.  But these days, “minimalism” has come to mean something else: the removal of superfluous possessions leading to a perceived reduction of stress and distraction in a person’s life.  It’s this definition what I am most interested in, which is the one driving most internet imagery these days.

Minimalism is not, necessarily, about choosing to do without

Minimalism is an interesting side-effect of western capitalism.  The effect of acquiring wealth is curious; it more often than not seeks to be displayed through the adornment of expensive garments, and through “showcasing” the necessity of owning various accessories, plus the outward demonstration of their worth to a “successful” person.  But to many people, myself included, the effect of acquiring objects is that they increasingly demand more time from the owner in order to manage.

This is detrimental to their original purpose, because time will now be split between the owner using the objects, and the owner managing the objects.  Thus, the fewer objects there are – whether these are clothes, cars, bottles of liquor in the cabinet, or watches – the more utility such devices actually provide and therefore the more effective they become both at their original purpose, but also as a showpiece.

What Minimalism is not.

Minimalism doesn’t, in my mind, have any connection with frugality, virtue through sufferance, or eco-mentality.  To me, “being green” and “being minimalist” can be mutually exclusive, although they can also co-exist very well too.

Minimalism is not, necessarily, about choosing to do without.  It is choosing to do with what you need, in the numbers your need it/them, and do without what you don’t.

Minimalism is also not doing without, for the sake of doing without.  It’s a great exercise in making one reconsider what is important and what’s really important to you.  This is the key.  It’s justifiable to say that you need something because it makes you happy.  Most people listen to music because, for their happiness and wellbeing, it’s needed.  That’s fine.

Being minimalist does not mean sitting in a silent, white room, looking at perfectly pressed shirts hanging in a wardrobe.  And it’s also not about choosing £20 shirts instead of £100 shirts.  One can enjoy life’s luxuries, and one probably will enjoy them more, if their number is measured.

My Minimalism Experience

Macbook Pro 2015: forcing my minimalism.
A really expensive laptop considering the spec. A true minimalists machine!
Image of ThinkPad T420: my barrier to minimalist computing.
A great laptop, but sadly superfluous to my needs.

For example, just before Christmas I came to a difficult decision:  I decided I had to sell my ThinkPad laptop.  There were no two ways about it; I had too many computers adoring my house, due to accumulating older work laptops as time went on.

My thinking was, “well, it still works and it’s still powerful enough to do lots of stuff, so I can get more done by keeping it and splitting my activities between the MacBook Pro that I now use for work, and this.”  Except that doesn’t really translate into the bigger picture.  Sure, I could keep both machines and pretend I’m being more productive, but in reality I started spending more time wondering which machine to do what on, or moving data from one to another, or agonising that I was simply distracted by this entire thought process, or generally finding that the MacBook Pro was more portable and thus my preferred choice to take somewhere.

I historically associated my perceived productivity benefits to my ThinkPad, its wonderful keyboard, and loved how I had complete control over the GNU/Linux operating system I used on it.  But in reality, two machines became a burden.  Yet, this wasn’t the only laptop I had “laying around” (although occasionally used).  Actually, I had four other laptops.  This was akin to hoarding, and served no benefit whatsoever.  There was basically no chance I would ever use them all until they broke, one by one.

So before Christmas, each laptop – an HP Pavillion, a ThinkPad T420, another ThinkPad – a T420s, and a Samsung Chromebook, all found new homes.  They also found me richer – not only for the money I made on them, but also for the less clutter I had around the house.

Finally, the agonising dissipated and with that, the stress went.  I had more space to think, fewer options to consider (as far as my computing went) and happier productivity.

Moving forwards

Once you get the bug for selling or giving away old stuff, it is hard to ignore.  As soon as I can find the time I will work on selling more computing kit I have laying around.  And there are other things too – all sorts, in fact.  Like old pieces of furniture (bin/tip), old garden tools (tip/sell), old clothes (donate to charity), one or two old TVs (!) … it goes on and on.  In fact, the speed at which one can acquire goods is absurd.

Moving forwards, reducing this clutter alongside a renewed focus on personal development has already made a huge change in my self-perception.  I feel stronger, lighter and more focused.


If this post has helped you, or if you have had similar experiences, please comment or link below!

Using Debian Wheezy, I found that trying to use Evolution as my task source for hamster-applet was not working.

I enabled Evolution as my source for tasks in Hamster. When executing hamster-time-tracker from the CLI, an error would appear in my terminal:

** (Time Tracker:14088): WARNING **: Failed to open calendar (type 1): Authentication required

I first thought that the problem was with hamster, that it was an outdated version. So I downloaded the source from github, re-built it and installed it on my system (after removing the old hamster). This didn’t help. But, as I had the source handy, I thought I’d take a look.

In the hamster-master/src/hamster directory is a file called external.py and, in that, this:

try:
import evolution
from evolution import ecal
except:
evolution = None

So, I know I have found the right area to start investigating this issue further.

For python applications to interface to Evolution, which is written in C, some interfacing software is required. This is installed generally in the form of the package “python-evolution” (http://packages.debian.org/wheezy/python-evolution). As shown at the top of that page, the source for this binary package is gnome-python-desktop (http://packages.debian.org/source/wheezy/gnome-python-desktop).

The next step was to search for the source package responsible for interfacing to Evolution’s calendar. I soon found this. From the Packages Debian page (packages.debian.org) you would click the Developer Information (PTS) link (http://packages.qa.debian.org/gnome-python-desktop). Once there, on the right hand side, click browse source code (http://sources.debian.net/src/gnome-python-desktop/2.32.0%2Bdfsg-3). You end up at a page listing folders containing source files. Simply click into evolution and then click on evo-calendar.c (http://sources.debian.net/src/gnome-python-desktop/2.32.0%2Bdfsg-3/evolution/evo-calendar.c).

I don’t profess to know programming in C, or even how to read much of it really, but you learn by doing – so let’s give it a go. Around lines 24-34, we see the declaration of what I believe is a structure:

#include “evo-calendar.h”

ECal *
evo_cal_source_open_source(const char *uri, ECalSourceType type)
{
ESourceList *sources = NULL;
ESource *source = NULL;
ECal *cal = NULL;
GError *gerror = NULL;

g_debug(“Opening calendar source uri: %s\n”, uri);

This looks like what we need – some code that is trying to open the calendar. It’s also including the header file, evo-calendar.h, which we may need to look at in a sec. So, the main purpose of this code is to open a calendar:

if (strcmp(uri, “default”)) {
if (!e_cal_get_sources(&sources, type, &gerror)) {
g_warning(“Unable to get sources for calendar (type %u): %s”,
type, gerror && gerror->message ? gerror->message : “None”);
g_clear_error(&gerror);
return NULL;
}

source = evo_environment_find_source(sources, uri);
if (!source) {
g_warning(“Unable to find source for calendar (type %u)”, type);
return NULL;
}

cal = e_cal_new(source, type);
if(!cal) {
g_warning(“Failed to create new calendar (type %u)”, type);
return NULL;
}

if(!e_cal_open(cal, FALSE, &gerror)) {
g_warning(“Failed to open calendar (type %u): %s”,
type, gerror && gerror->message? gerror->message : “None”);
g_object_unref(cal);
g_clear_error(&gerror);
return NULL;
}
} else {
if (!e_cal_open_default (&cal, type, NULL, NULL, &gerror)) {
g_warning(“Failed to open default calendar: %s”,
gerror && gerror->message ? gerror->message : “None”);
g_clear_error(&gerror);
return NULL;
}
}

return cal;

If you read closely, you’ll see that we have an IF statement, followed immediately by another IF statement:

if (strcmp(uri, “default”)) {
if (!e_cal_get_sources(&sources, type, &gerror)) {
g_warning(“Unable to get sources for calendar (type %u): %s”,

strcmp may be a string-compare function. Regardless, because of our error message in the terminal, cited previously, it’s fair to say that this strcmp is returning a TRUE. In other words, a basic test is conducted based on the URI that is being passed in to this function, and an error is being returned.

The error returned, “Failed to open calendar”, is a string within the C source code in this same file, at around line 57:

if(!e_cal_open(cal, FALSE, &gerror)) {
g_warning(“Failed to open calendar (type %u): %s”,
type, gerror && gerror->message? gerror->message : “None”);
g_object_unref(cal);
g_clear_error(&gerror);
return NULL;
}

This is the error message we are seeing! The (type %u) bit after the message is probably the return code (a general rule is that if the return code is 0, everything is ok, and any valyue other than 0 means there’s a problem)  and the  : %s bit is the string returned from the function trying to open the calendar, giving a reason why.

So, to reiterate our error message:

** (Time Tracker:14088): WARNING **: Failed to open calendar (type 1): Authentication required

The function e_cal_open() is returning this error code.  To understand this function more, and what’s happening in this code, we need to look at the source for this function and also understand what data we’re passing to it.

Firstly, our call to the function is this:

e_cal_open(cal, FALSE, &gerror)

We can come back to what we’re passing to this function in a moment.  Firstly, though, where is the e_cal_open function?  We need to find out how it works!

Remember earlier that our file evo-calendar.c has an “include” pointing to the file evo-calendar.h?  Well, that means “grab the file evo-calendar.h and make its resources available to me”.  Within evo-calendar.h, there is no e_cal_open() function, but there are other includes, including one pointing to libecal/e-cal.h.

On debian, lib-ecal is another package installed along with Evolution.  So, finding the file e-cal.h is as simple as using find or locate.  On my system, the complete path to the file is /usr/include/evolution-data-server-3.4/libecal/e-cal.h. Hurrah – let’s go searching that C for e_cal_open:

$ grep -i e_cal_open /usr/include/evolution-data-server-3.4/libecal/e-cal.h

gboolean e_cal_open (ECal *ecal, gboolean only_if_exists, GError **error);
void e_cal_open_async (ECal *ecal, gboolean only_if_exists);
gboolean    e_cal_open_default (ECal **ecal, ECalSourceType type, ECalAuthFunc func, gpointer data, GError **error);

The first one is the one we’re interested in at present: e_cal_open.

[ Sorry.  This is an incomplete post, published for completeness instead of binned.]

20150808_093127
Brasilia style – a good option for any Saturday morning

I’m consciously reworking my way through Taylors’ range of filter coffee.  Many times before we’ve had the Italian style medium roast and, in addition, we’ve also gone for the number 6 strength “Hot Lava Java”.  But sometimes you need a milder option, to more gently ease you into into a state of caffienated bliss.

Score out of 5 … 3. It’s a mellow cup, but perhaps missing some depth to the flavour. Not disagreeable at all though.  Would still recommend.

 

#coffeeftw

 

 

 

If it hasn’t been said enough times already, let it be said once more: Emacs and org-mode are quite probably the best way ever to organise your personal life.

Emacs, for starters

Emacs as a text editor is rock solid. If you have a computer where you type in text and which:

  • is web based (e.g. a chromebook)
  • has any kind of touch interface (a tablet, phone)
  • is running a heavy GUI (graphical user interface)

.. then you are certain to observe a certain lag on input. It might be very slight, but it will likely be there. I know this to be the case for many devices out there, even those which purport to be “high-end”.

With Emacs, there seems to be a much more direct connection to the keyboard: you type, text appears. You type faster, text appears faster. In fact, text is capable of appearing much more quickly than you can possibly type. This makes blogging quick and painless.

org-mode, for main course

Life in Emacs simply came to be, through org-mode. Emacs itself is amazing; org-mode made organising data even better. A quick refresher:

  • org-mode creates everything in plain text, for maximum portability between systems
  • it is known as an “outline mode” enhancement for Emacs, meaning it helps to display semi-structured text effectively
  • it allows for the creation of lists – of projects, tasks, notes, links … you name it, anything that can be represented in text
  • it is portable, allowing for synchronisation with mobile devices
  • using Emacs, it is powerful – allowing org-mode notes to interact with other aspects of Emacs
image of org-mode
org-mode in action: showing a list of links

Org-mode also supports all sorts of fancy formatting and customisation, meaning text can look good and be easy to follow.

org2blog, for desert

What would all this power be for, unless blogging! 🙂

Actually, blogging is just one activity which benefits greatly from the power of org-mode, as org’s powerful and easy formatting options are seamlessly translated into HTML and published to a blog.

In my case, I’m using a WordPress site. I create a new post using the commands

M-x org2blog/wp-login
M-x org2blog/wp-new-entry

I then type in my post and save it to a local file, using

C-x C-s

and then post it to WordPress for subsequent tweaking, with

M-x org2blog/wp-post-buffer

I can then add some final polish and check the format in WordPress before final publishing.

As a demo and an indication of speed, this blog post took only 5 minutes to write, post, edit and publish.

Regain security
Regain email privacy & security

Part #3 of the Data Liberation series

Is there ever time in the day to reconsider your online security? I mean, really consider it?

Take the most common access point for communication in the 21st century – email. Yes, you read that right. It’s still email. Email is the root of online authentication for people worldwide, not only allowing them a “safe place” to recover lost account credentials, but also facilitating properly secured communications with the use of PGP signed and encrypted email. But is your email storage secure?

The woes of web mail

The “problem” with email is that its ubiquity spawned, some years ago, the explosion of “free” web mail services. All the big players provide it. These services are advertising-supported. In other words, the cost of providing such services are met by revenue generated from scanning your email and providing “relevant” adverts within your browser to click on. Each click is tracked and the advertiser billed accordingly.

An issue here, then, is that your email is scanned. All your emails are read by an indexing process which scours every single nugget of information. What information could that include? How could it be used? How about this little list for starters:

  • the date & time
  • the sender’s name and email address
  • their computer’s name
  • their network (i.e. their email provider, their ISP, any intervening mail routers)
  • their probable native language
  • their approximate location when sending the message (obtained from their original IP address)
  • your approximate location when reading the email (based on your IP address)
  • yours and their exact locations if using any location service

That’s not all

If the sender is using the same “free” web-mail service as you:

  • if they use a calendar in that service, what they were doing when they emailed you (giving an insight into the sender’s thought processes…)
  • if they maintain a contact list / address book in that web-mail service, that service may “know” you are a friend or family member of the sender
  • in this case, it will also know their friends – and your friends – and any shared friends too.  It can start to build up a map of contacts – who knows who and possibly why.
  • Knowing “who knows who” means those related contacts’ web-mail services can be interrogated for commonalities, such as shared events (in a calendar), shared interests via a social network, and so on.

Web cam

There are yet more ways your data can be exposed. If they are not using the same “free” web-mail service, but are using another service which they log into using their web mail service’s credentials:

  • that web-mail service provider could poll the other services to see what data you are sending (e.g. what you are posting) to those services
  • it can map any correspondence to or from your contact via its services even when not in relation to your email – e.g. It can expose a contact’s movements, their communications and interests in a given time-frame.
  • they can even be exposed by their use of related services from that provider. For example, new photos into a flickr or instagram account which is public, can be mapped back from their date, time and location to the IP address that was used to query location services.

Finally, a crucial problem with all online services is that there is no guarantee your data is actually deleted when you choose to delete it.  After hitting “delete” through a web site, this could simply flag the email to be removed from your visible account and stored in MegaWebCorp’s vault of “deleted” email, remaining there forever.  Or until needed…

This is the risk of putting data into another provider’s hands – what gets uploaded or stored in your name, stays there in your name, forever.  What goes up, sometimes stays up.

Resolving the privacy crisis

Coming back to email, then, the first priority for someone who wants to maintain some privacy with respect to their life activity needs first to remove the source of indexing from MegaWebCorp’s database – the link between all things you do, your email address.

When the email address is removed from the purview of MegaWebCorp’s systems, your online activity can start to become your business – not the advertiser’s.

Getting your own address is simple.  You can register a domain name with any of numerous providers around the world and sign up for a low-cost hosting plan.  For any person who values their privacy and the sanctity of anonymity, this is a small hurdle to overcome.

For the gain in privacy you can achieve by hosting your own web site, the price attached to a “free” web-mail account may seem rather high.

Bootnote

ArsTechnica has an interesting article published yesterday (30 March 2014) on “metadata as surveillance” .

 

.. and why you should consider it, or, “…and how to be more efficient”.

I’m an avid tasker and a fan of the GTD methodology, but when I use tools that have lots (and lots!) of features I tend to slip up easily and do silly things.  An example is adding a repeating task to my task list.  A repeating task? Why is this an issue?


Google Tasks: Simple.
Too simple, for some.

I simplify this slightly, but in David Allen’s approach to task management, anything that is time-related should be put into a calendar.  Therefore, if I am allowed to set up a repeating task, this means I need to do something with a certain regularity, which further implies I must actually do it at some point in order for it to warrant the repetition which I have ascribed to it.

In ToodleDo and other “expert” task managers, the ability to manage tasks has advanced to the point where you can essentially control your calendar through your task manager.  This approach really suits some people but, to me, this essentially is the tasks-first, time-second approach.  It is truly a GTD-esque system and I have had a love/dislike affair with it for several years.  I have never “hated” ToodleDo – it’s a great system, but isn’t as integral with my working environment as I would like.

Why move?

To me, tasks should be lean and mean.  I don’t really want to spend my time managing them – I want to be doing them.  And various factors always weigh in that can be managed outside of my task list.  I become less efficient if I start duplicating events into tasks.Part of me loathes the traditional “Weekly Review” of the GTD system.  I have a daily review and the most important things are always the ones that get done – it’s a self-managing approach which I’m happy with and doesn’t require over-thinking.  Removing the opportunity to over-manage tasks is A Good ThingTM in my book.  All I want to do is store my tasks somewhere and interact with them quickly.  Using Tasks in Google will accomplish this.

Yes, but what about contexts, projects (folders), statuses & goals?!

GTDers rejoice! Toodle-
Do lets you live the dream!
In defiance of pure GTD-ism, here are my views on these three aspects:
  • Context
    In GTD, the context of a task is, broadly, how, when or where you might do it.  What I kept finding about my contexts, as I was setting them, were that they kept resembling more basic primary situations.  For example, I started with “shopping”, “online”, “errands”, “home”, “phone” and “work”.  Except, when I started looking more closely, these contexts could be whittled down – and needed to be, in order not to conflict with my Projects/Folders.”Errands” and “shopping”.. well, I would generally be out and about for both of these, so why not make them simply “out-and-about”?  This would mitigate the risk of not running an errand while out shopping.  Phone calls would typically be work-related, but not always – so I would either make them during work or in personal time.  Realising this, I started to see that all of my activities would be split, broadly, between work and personal time.  Therefore, if I was working, I would want to make work phone calls.  At home, I would want to catch up with my friends online.With always-connected capability (phone, internet, 3G, etc) my contexts eventually became two things: work or personal.  That’s it.  With a Google Apps for Business account (work) and a personal GMail account (personal), I can separate my work and personal tasks completely.
  • Projects/Folders
    My Folders (“Projects” in GTD parlance) in ToodleDo would typically resemble the types of task I needed to manage.  You could argue that this is the wrong way to manage tasks, and instead use Tags for this purpose.  While true, Tags are amorphous while Folders are structured and, in ToodleDo, Folders resemble the only way to aggregate tasks into suitably-managed “blocks”.My Folders are things like “cases” (support), “customer/project”, “finance”, “phonecalls” and “systems”.  These are unlikely to change as they closely match my general daily activities.  Google’s Tasks can accommodate this with top-level lists.  Within each list, I can have a task (with indented sub-tasks) which allows enough manageability without overcrowding my senses with due-dates, contexts and estimated duration.
  • Status
    This is a real easy one and probably the one thing I disagree with GTD about.  The overall status of my tasks is logical: either incomplete, or complete.  If I am waiting on somebody, I will already know this.  If I am doing my task, I will probably know this too!But what about if I wish to do my task “someday“?  Well, shocking as it may sound, but that’s how I view all my tasks.  They are things to be done, sooner rather than later, but someday is the best I can plan for.  And this is what it’s all about: planning effectively.  Therefore, to have a status of “planning” seems idiotic: unless I’m actually doing a thing, I’ll probably planning to do a thing!This is the key:  the status of a task in GTD could be mistaken for the status of a person – you.  If my status changes, that might mean my ability to do that task is deferred.  That doesn’t mean I won’t do it, or that the task somehow becomes like me and is also unable to do anything until another time (such as when I am well, or back from a holiday, etc).
  • Goals
    …. I include here as a passing reference.  One aspect of goal-setting is the ability in ToodleDo to track progress on tasks relative to goals set.  In this regard, Google’s Tasks is clearly inferior.  But managing goals can exist outside the context of a task management application and, I argue, it should.  If goals are important, one’s whole life should be managed into achieving them.

They said it couldn’t be done.

Well, actually, they didn’t really say that.  I did.  But it’s true – it couldn’t be done, easily, until now.

Here’s what you need:

  • A ToodleDo account (www.toodledo.com)
  • An Astrid account (www.astrid.com)
  • A GMail or Google Apps for Business account (www.gmail.com)
  • A smartphone capable of running Astrid’s mobile app, installed from your device’s play/app store.*

* I have only used this on Android 4.1 and have set up both of my Google accounts as sync accounts on my phone.  As always, your mileage may vary.

Here is the order of my approach – no warranties offered, it just worked for me:
  • Install the Astrid app on your smartphone.
  1. In the app, navigate to Settings   (see pic to the right)
  2. Select Sync & backup
  3. Click on Synchronize now
  4. Authorize the log-in using your destination Google account
  • Create or Log-in to your astrid account using your desktop web browser, as astrid.com
  • Still in the Astrid app on your phone, go back to the Sync & backup settings and select Astrid.comensure that you can log in using your astrid.com account credentials.
  • Run a sync on the phone (menu > Sync Now) – this will sync your two task lists (Astrid and Google).
  • Now, log in to ToodleDo in your desktop browser and navigate to Tools > Import / Export / Backup and select CSV Import / Export.  Choose to Export all incomplete tasks.    You can also export all completed tasks if you want, but there’s no point syncing them (IMHO).
  • Back at Astrid.com in your desktop browser, click on your “name menu” at the top-right of the page, then Import Tasks. (see above-right screenshot)
  • In the next page, use the drop-down to select ToodleDo.
  • Import your CSV backup of incomplete tasks from ToodleDo – this may take a couple of minutes.  Be patient!  NOTE: I saw a javascript error/alert when doing this, but my tasks still imported ok.
  • Back on the phone, tap “Sync now” again.
  • Voila!  Your original tasks are now in Google Tasks!

this week (wk 10)

work

  • General
    •  Quick wins 🙂
  • CRM
    • System:
      • Complete populating Products/Quotes system
      • Complete virtual inventory
      • Remove email contacts (& from TB Address Book)
      • Fix web2lead form
    • Sales
      • compile charity list
      • Marketing/Intro letter to local .org.uk’s (in progress)
    • Configure e-mail marketing; send communications
  • Systems:
    • Update shared accounts to new limits
    • Update server software to latest stable
  • Projects
    • Ri**
      • Admin panel tasks
        • test – scripting
        • release
      • Checkout/PSP testing
    • Cl**
      • Complete template & get sign-off
      • Build site
    • Fa**
      • Convert template to CSS & hand back for approval
    • Wa**
      • Complete visual design, do CSS
  • [recurring] Organise
    • networking group:
      • training
      • social events
      • 1-2-1s
      • f/up referrals
      • changes to web site
      • contact prospective visitors
    • sales leads / prospects / meetings for next week
    • week in view
    • finances
      • Q1 administration

life

misc

  • Fix bike
  • Buy bike lock & lights
  • More stretching

last week (wk 9)

work

  • General
    • XHTML/CSS template conversion
    • CRM meeting with client
    • Hosting project planning
    • Transfer notes to TD
  • CRM
    • System:
    • Sales
      • compile charity list
      • Marketing/Intro letter to local .org.uk’s (in progress)
    • Install for customer
    • Configure e-mail marketing; send communications
  • Systems:
    • Update shared accounts to new limits
    • Update server software to latest stable
  • PHP
    • Admin panel tasks
      • test – scripting
      • release
    • Checkout/PSP testing 
    • IE6 layout compatibility testing
  • [recurring] Organise
    • networking group:
      • training
      • social events
      • 1-2-1s
      • f/up referrals
      • changes to web site
      • arrange visitors
    • sales leads / prospects / meetings for next week
    • week in view
    • finances

life

misc

  • Fix bike
  • Buy bike lock & lights
  • Order car tyres
  • Meal at friends
  • Birthday curry
  • Other birthday drinks

this week (wk 9)

work

  • General
  • XHTML/CSS template conversion
  • CRM meeting with client
  • Hosting project planning
  • Transfer notes to TD
  • CRM
    • System: 
  • Sales
    • compile charity list
    • Marketing/Intro letter to local .org.uk’s (in progress)
  • Install for customer
  • Configure e-mail marketing; send communications
  • Systems:
    • Update shared accounts to new limits
    • Update server software to latest stable
  • PHP 
    • Admin panel tasks
    • test – scripting
    • release
  • Checkout/PSP testing 
  • IE6 layout compatibility testing
  • [recurring] Organise
    • networking group:
    • training
    • social events
    • 1-2-1s 
    • f/up referrals
    • changes to web site
    • arrange visitors
  • sales leads / prospects / meetings for next week
  • week in view
  • finances
  • life

    misc

    • Fix bike
    • Buy bike lock & lights
    • Order car tyres
    • Meal at friends
    • Birthday curry
    • Other birthday drinks

    last week (wk 8)

    work

    • General
    • compile charity list
    • mail merge & post out to charities
  • CRM
    • System: 
  • Sales
    • Marketing/Intro letter to local .org.uk’s (in progress)
  • Install for customer
  • Configure e-mail marketing; send communications
  • Systems:
    • Update shared accounts to new limits
  • PHP 
    • Admin panel tasks
    • test – scripting
    • release
  • Checkout testing
  • [recurring] Organise
    • networking group training 
    • changes to web site
    • arrange visitors
    • sales leads / prospects / meetings for next week  

    life

    misc

    • Fix bike
    • Fix bed

    this week (wk 8)

    work

    • General
    • compile charity list
    • mail merge & post out to charities
  • CRM
    • System: 
  • Sales
    • Marketing/Intro letter to local .org.uk’s (in progress)
  • Install for customer
  • Configure e-mail marketing; send communications
  • Systems:
    • Update shared accounts to new limits
  • PHP 
    • Admin panel tasks
    • test – scripting
    • release
  • Checkout testing
  • [recurring] Organise
    • networking group training 
    • changes to web site
    • arrange visitors
    • sales leads / prospects / meetings for next week  

    life

    misc

    • Fix bike
    • Fix bed

    last week (wk 7)

    work

    • General
  • CRM
    • System: 
  • Sales
    • Marketing/Intro letter to local .org.uk’s (in progress)
  • Systems:
    • Update shared accounts to new limits
    • Check and update VS disk space
  • PHP 
    • Admin panel tasks
    • build – complete eCommerce
    • test
    • release
  • Checkout testing
  • [recurring] Organise
    • networking group training 
    • changes to web site
    • arrange visitors
    • sales leads / prospects / meetings for next week  

    life

    misc

    this week (wk 7)

    work

    • General
    • CRM
      • System:
      • Sales
        • Marketing/Intro letter to local .org.uk’s
    • Systems:
      • Update shared accounts to new limits
      • Check and update VS disk space
    • PHP
      • Admin panel tasks
        • build – complete eCommerce
        • test
        • release
      • Checkout testing
    • [recurring] Organise
      • networking group training
      • changes to web site
      • arrange visitors
      • sales leads / prospects / meetings for next week  

    life

    misc

    last week (wk 6)

    work

    • CRM
    • Systems:
      • Update shared accounts to new limits
      • Check and update VS disk space
    • PHP
      • Admin panel tasks
        • build (ongoing)
        • test
        • release
      • Checkout testing
    • [recurring] Organise
      • networking group training 
      • arrange visitors
      • sales leads / prospects / meetings for next week  

    life

    misc