Loose Change: Unstructured Habit Change for Lazy People

Geekery No Comments »

Over the past few years I’ve tried a number of goal setting techniques with the intention of improving myself, learning more or getting more work finished – none of them have worked. Earlier today I set out to discover why and found that structured change doesn’t suit me. I need loose change instead.

What went wrong?

My earlier attempts at a structured form of goal setting and habit change failed monumentally. While I diligently worked away at my goals and stuck to my aspired habits for a bit, after a few days the novelty fell off and I sacked more and more. This is testimony to my lack of motivation, perhaps another problem with goal setting. If I’m not motivated to work towards my goals then how can I hope to achieve them?

Another place where my structured system fell down was it’s timings. Each step in the process lasted a definite number of days and had a deadline at the end. Deadlines and schedules, say a lot of experts, are great. They motivate you to work towards your goal. Not if you’re me they don’t. Instead the morph a pleasurable and exciting task into something too much like hard work, ruining my enjoyment of it.

For example, attending the gym is a pleasure for me, when I go that is. However by strictly scheduling gym sessions into my calendar it becomes just another part of my concrete “work” schedule and ceases to be fun.

Rigid deadlines too are a problem, they force me to worry unduly about things which have no need for speedy completion. To add to this I suffer from an inability to correctly judge project times, I’m hopelessly optimistic when creating my deadlines.

The final nail in the coffin of structured goal setting was the amount of time I spend thinking about it. Either defining my goals exactly, organizing a progressive schedule towards them or redefining my deadlines and goals as my situation changes.

The Solution?

Loose Change.

This is the rather ridiculous term I’m using for my new goals/motivational/self-help system. When I set out designing it I needed some requirements. Everyone knows that a system needs requirements don’t they?

  • Requirement 1: Simple – A simple system won’t take up much of my time and more to the point, it won’t have any novelty. It should be easier to stay motivated if it’s simple.
  • Requirement 2: Free of deadlines – I hate deadlines.
  • Requirement 3: Free of a regular schedule – This means less time spent planning, and that I’m more likely to enjoy myself.
  • Requirement 4: Actually works – If it doesn’t work it’s all a waste of time.

I thought it would be nice if my system could to hep me achieve my goals without utilising specific “goals”. If my goal is to “get fit enough to run without dying”, my non-specific goal might be “The Gym”.

Brief interlude: I can see you thinking “this is ridiculous” but if you stick with it for a bit I might make more sense.

My non-specific goals have very little power, unless isolated and kept simple. To this end I reckoned on two categories for them, with one goal from each category running concurrently, as a segment (I love that word), until achieved :

  1. Self Improvement: One learning or improvement related goal.
  2. Play: One random, fun goal to work on.

After some reflection, I realised that the term “goal” is a bit misleading, what I’m really referring to is an area of my life: “The Gym”, “Painting” or “Eating Well”, for instance. With this in mind I redefined my categories:

  1. Self Improvement: A focus on a particular area of self improvement until it is refined and working well.
  2. Play: Continuing focus on one fun activity until I’m proficient at it, or until I’m bored.

You’ll notice the loosely defined time constraints in there. They aren’t deadlines but rather they’re stop conditions and when I’ve reached them I’m done with that goal. Thus far I’ve satisfied requirements one and two. To satisfy three was simple:

Each area has no schedule, one or other of the categories is to be pursued in my newly-unscheduled time.

After a little more thought about how I could improve this system I realised that some vague time constraint was needed. Without one my segment was likely to run forever as the stop conditions might never be reached. The time allowed for each segment depends on the nature of the areas and as I define each set of aims, I’ll define a “Loose Time for Segment” (in days) along with them. I know from past experience I’m more likely to stick to a deadline that isn’t strictly a deadline but is a guide.

After deciding on this time constraint It struck me that I could use this vague deadline to motivate myself towards completing some more pressing work within the same timeframe. This thought led me to add a third category to my original two:

  1. Self Improvement: A focus on a particular area of self improvement until it is refined and working well.
  2. Play: Continuing focus on one fun activity until I’m proficient at it, or until I’m bored.
  3. Project: Continuing work on one project until It’s finished.

So there it is. All that remains is to decide on my first three aims and see if the system stands the test of time, satisfying my fourth and final requirement.

My First Segment

I’ll not elaborate on these too much as they’re meant to be simple and obvious.

  • SELF-IMPROVEMENT: A Study on study. Reading and learning about better methods of study and the human learning process.
  • PLAY: Vector Illustration.
  • PROJECT: Organisation of Admin & Building at 1440 Squadron, Air Cadets. A Project which needs pushing out of the way as quickly as possible.

LOOSE TIME FOR SEGMENT: 30 days.

I’ve printed these in 72pt font and stuck them on my wall above my monitor. Hopefully every time I’ve got nothing to do I’ll work on one of these. As I started this segment on the 10th of January, I should finish round about the 10th of February. I’ll be posting a review of this system around that time, and defining my next segment then.

If you’re like me and hate deadlines then give this a crack, I’d be interested to hear any thoughts and criticisms (or perhaps forecasts of my success) in the comments.

If you’re new here, you may want to subscribe to my RSS feed. Thanks for visiting!

del.icio.us:Loose Change: Unstructured Habit Change for Lazy People  digg:Loose Change: Unstructured Habit Change for Lazy People  reddit:Loose Change: Unstructured Habit Change for Lazy People  magnolia:Loose Change: Unstructured Habit Change for Lazy People

Monte Carlo method in Ruby

Geekery, Programming, Ruby & Rails 1 Comment »

The Monte Carlo method uses random numbers to solve mathematical & statistical problems.” While it’s not a great definition, it’s all I need to say as the “Wikipedia entry for it”:http://en.wikipedia.org/wiki/Monte_Carlo_method explains almost everything you could want to know.

In place of a general explanation I’m going to write briefly about the way in which it can be used to estimate Pi.
[_Explanatory note_: Yesterday I was asked to use an overly complex VB program to analyze estimations Pi using the Monte Carlo Method and, as I’m on a mac, I needed to rewrite it in a language I can understand.]

If we take a square with sides of length _r_, and fill it with a circle (diameter _r_), the probability that a random point on the square will be in the circle is the area of the circle divided by that of the square:

P(In Circle) = Area of Circle / Area of Square

Thus

P(In Circle) = πr^2^ / r^2^ = π

Thus we can estimate Pi by finding the Probability that a Point will land in the circle.

Now, If we take one Quadrant of the circle/square mashup with a radius _r_:


!http://thescri.be/wp-content/uploads/2007/03/monte-carlo.png (Monte Carlo)!


π = P(In Circle) = 4(CircleArea / TotalArea)

If we let _r_=5 and pick a random point on the above square, say (2,3) and work out the distance from (0,0), we can compare this with _r_ to see if the point (2,3) is inside or outside the circle. We can easily find the distance between the two points thanks to “Pythagoras”:http://en.wikipedia.org/wiki/Pythagoras. If we take the root of the summed squares of the point, we’re there. In english:

Point: (2,3)
Length = √(2^2^ + 3^2^)

If this Length is greater than _r_ (in this case _r_=5) then the point is *outside* the circle, if it is less than _r_ it must be *inside*. By repeating this process a number of times we can estimate the value of Pi using our formula.

Here’s a ruby function to do the work for you:

The function myPi(_repetitions_) returns an estimated value of Pi based on the supplied number of repetitions.

There’s a good article similar to this on “datastructures”:http://www.datastructures.info/the-monte-carlo-algorithmmethod/.

del.icio.us:Monte Carlo method in Ruby  digg:Monte Carlo method in Ruby  reddit:Monte Carlo method in Ruby  magnolia:Monte Carlo method in Ruby

Wordpress and Textile 2

Geekery No Comments »

I’ve just spent about half an hour trying to find a working version of the Textile plugin for wordpress. I gather that some versions of WP ship with a Textile plugin but this (2.2 bleeding edge) doesn’t seem to.

To save anyone else the hassle you can get “version 2.0.5 from idly.org”:http://idly.org/2004/09/10/textile-205. It seems to work.

del.icio.us:Wordpress and Textile 2  digg:Wordpress and Textile 2  reddit:Wordpress and Textile 2  magnolia:Wordpress and Textile 2

SuprGlue

Geekery No Comments »

A few months ago It struck me that I use a lot of web based software and there’s a bunch of my stuff published online somewhere. “Somewhere” - that’s the problem, my photo’s are on flickr, my bookmarks on del.icio.us, my writing on one or two different blogs and a bunch of other stuff is elsewhere.

SuprGlue is a nice little service which provides a means for you to clump all of your online social activities together. Right now it syndicates my photos at flickr, my bookmarks at del.icio.us, my things at 43things, my music at Last.fm, my events at upandcomming.org and my writing on this and my old blog.

SuprGlu then displays all my activity across these services for an individual day. It’s a pretty simple concept really.

The Iridesco website describes SuprGlu:

SuprGlu is a simple online tool for users to gather the disparate content they’ve contributed to the social web. Users are able to “stick” together their blogs, bookmarks, photos, and other personal breadcrumbs they leave around the web, and share their neatly chronicled online lives on their SuprGlu pages.

Although I don’t much like any of the templates available you’re given the opportunity to edit the CSS for your page in the SuprGlu admin panel.

You can find my SuprGlue page here.

del.icio.us:SuprGlue  digg:SuprGlue  reddit:SuprGlue  magnolia:SuprGlue

Konfabulator Widget: YubNub i (1.0)

Geekery, Programming No Comments »

Over the last few weeks I’ve been using a nifty little web service called YubNub, it’s a “command line for the web” and while it’s not as astounding as it might sound it does make it a little easier to do certain things, especially from the search bar within Firefox.

As I use Yahoo! Widget Engine (catchy name, no?), I decided I’d whip up a little widget so that I could use YubNub from the desktop.

YubNubi Widget

The widget is at version 1.2 at the moment and you can get it from the widget gallery.

After it was announced on the YubNub blog I made a few changes to the graphics and added an about screen.

So, If you’re into YubNub and use the Yahoo Widget Engine, go ahead and have a look. It’s nothing momentous, of course.

Links
YubNub
Yahoo! Widget Engine

del.icio.us:Konfabulator Widget: YubNub i (1.0)  digg:Konfabulator Widget: YubNub i (1.0)  reddit:Konfabulator Widget: YubNub i (1.0)  magnolia:Konfabulator Widget: YubNub i (1.0)

Backing up your Firefox extensions (on windows)

Geekery, Ramblings No Comments »

It’s always been a source of irritation to me that whenever my FF installation breaks, of if I decide to reinstall it, I have to hunt down and reinstall all of my thirty-six extensions. If you’re running Windows you can use the following method to back up your extensions:

Create a batch file (open notepad and save the file with a .bat extension) with the following code:


del C:\PATH TO BACKUP FOLDER\ffarchive.zip
7za a -tzip C:\PATH TO BACKUP FOLDER\ffarchive.zip -r "C:\Documents and Settings \YOUR USER NAME\Application Data\Mozilla\Firefox"

Name this script something like ffbackup.bat and put it in the C:\WINDOWS directory (or anywhere that the windows PATH points to). To run the script you can simply type “ffbackup” at the command prompt or in the run box.

Tis script uses a command line version of 7-Zip, a free WinZip-type program. The first line of the batch file deletes the current archive and the second replaces it with a zipped up version of your Firefox application data.

If you’re interested, the “a” specifies that files are to be added to the archive, the “-tzip” specifies zip as the archive format, the “C:\PATH TO BACKUP FOLDER\ffarchive.zip” is the path to the backup that will be created, the “-r” tells it to zip up the subdirectories too. The “C:\Documents and Settings \username here\Application Data\Mozilla\Firefox” is the path to the data which needs to be backed up.

If you clear the cache, history & cookies and ensure that Firefox is closed before you run ffbackup, you’ll help reduce the size of the archive produced.

*Steps:*

1. Download 7-Zip Command Line for Windows (Unzip it to C:\WINDOWS)
2. Create the ffbackup.bat batch file (also place in C:\WINDOWS)
3. Run it.

del.icio.us:Backing up your Firefox extensions (on windows)  digg:Backing up your Firefox extensions (on windows)  reddit:Backing up your Firefox extensions (on windows)  magnolia:Backing up your Firefox extensions (on windows)

WordPress Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in