Alec the Geek

Reflections on software and related things from an older geek

  • Twitter Ramplings

  • My Bookmarks

  • RSS Alec’s GitHub

    • An error has occurred; the feed is probably down. Try again later.

Archive for the ‘Work Practices’ Category

Handy Hack for Git refugees in Subversion land

Posted by Alec The Geek on 23 November 2012

When you’re a Git user working on a project using Subversion (SVN) using the Git SVN client is a great option, I’ve been using it for the last twelve months and it works really well. However sometimes it’s not quite good enough when things like Ant scripts are written for SVN.

My colleagues use TortoiseSVN. which among other things provides support for standard commit message templates. This uses a SVN property called “tsvn:logtemplate“, is a specific feature of ToirtoiseSVN and it not standard in the SVN client. Git has a simliar feature using the config value commit.template and it’s standard on the git client.

Today I wrote an svn wrapper script to provide the standard template feature to the command line SVN client. You may find it useful. It’s written for OS X and assumes you have Git configured and SVN Installed via Mac Homebrew — however it will be trivial to modify it for your environment,

The script does does a number of things:

  1. It passes all SVN sub-commands, except commit, to svn without change
  2. It checks all the arguments to if the commit message has already been supplied (run the command and exit)
  3. It checks to see if the ”tsvn:logtemplate” is set
  4. If the TortoiseSVN template is not set then it attempts to find the Git template
  5. If that fails then it falls back to an internal template
  6. The template is placed in a file and another  message file
  7. The user is prompted to edit the message file
  8. The updated message file is checked against the template — if the user has not made a change the commit is aborted
  9. The svn client is called with the message file.

Updated March/2013 – Somehow an stupid bug crept in. Now squashed.
Updated Jan/2013
I have added a new feature when using svn update:

  1. Check if the working copy has uncommitted changes. NB Files that are not registered are ignored in this check
  2. Abort the update if files are already modified

YMMV

Posted in Git, LinkedIn, Mac, Open Source Software, Software Development, Work Practices | Comments Off

My presentation on software process improvement

Posted by Alec The Geek on 4 December 2010

I recently gave a new presentation on Improving Software Processes at OSDC 2010 in Melbourne, AU

Posted in Application Lifecycle Management, Change Audit, LinkedIn, Open Source Software, Work Practices | Tagged: | Comments Off

My 43 Folder Tickler File

Posted by Alec The Geek on 28 October 2010

Tickler File – 43FoldersWiki

In the parlance of Getting Things Done, a Tickler File consists of a series of 43 file folders: 12 monthly and 31 daily folders. Items are filed in a folder corresponding to when the item will need to be handled, thus reminding or “tickling” the user about it. These items might be action reminders, bills, receipts, reports, letters, or any number of other things.

I’ve been wanting a 43-folder tickler file for some time, however hunting in the stationary stores was proving fruitless until I discovered that you can buy dividers printed with 1-31 and Jan-Dec. With a cheap A4 binder, some clear plastic pockets and a pad of PostIt notes I have what feels like a very practical tickler file.

Setup: (assume today is the 5/Oct and we will not be using the tickler for today’s items)

  1. Throw away the cover index sheets on both sets of dividers
  2. Take the month dividers and place Jan-Sept behind Oct-Dec (so they are in the sequence O-N-D-J-F-M-A-M-J-J-A-S)
  3. Place the month dividers in the folder
  4. Take the 1-31 dividers and remove 1-4.
  5. Place 5-31 in the binder, in front of October
  6. Place 1-4  between October and November. The dividers are now in the sequence 5-31-O-1-4-N-J-F-M-A-M-J-J-A-S
  7. Add the empty pockets

Daily use (using 6/Oct as an example):

  1. Open to today by placing  finger on number 6 and opening. Now divider with 6 is on right hand side and back of the divider for 5 is on left. This is today’s space. Process an items that need to go into the action list, calendar etc.
  2. Now process in-boxes etc. Suppose we locate an item that requires action on 10/Oct: Write a PostIt note (add today’s date) and stick onto back of divider for 9/Oct so that when we open the 10th it will be seen. Is there a piece of paper instead? Use a clear pocket to place it in the correct location.
  3. Place ATM slips, Credit card slips etc into the pocket for the following Sunday weekly review
  4. Flip back to the 5th (so the 5th appears on the right, back of the 4th on the left). Process any items.
  5. Remove divider for 4th and place behind divider for 3rd. Place pocket in back of binder.

Weekly review:

  1. Process as daily and additional review processing (for transaction slips, incubation decisions, project review etc)
  2. Add pocket and possibly a marker to date for next review ready to receive transaction slips and other material for weekly review

I assume processing for end of month is obvious?

This format is actually quite compact and can even be put in the suitcase when travelling

Powered by ScribeFire.

Posted in GTD, Work Practices | 1 Comment »

OSDC AU 2010: Get your papers in!

Posted by Alec The Geek on 4 August 2010

Updated 12/Oct/2010 — This proposal has been accepted so I hope to see you at OSDC 2010

 

The request for papers is up at The Open Source Developers Conference AU so get your ideas in. Here is my proposal for this year Read the rest of this entry »

Posted in Application Lifecycle Management, ego, LinkedIn, Open Source Software, Project Management, Software Configuration Management, Software Development, Work Practices | Comments Off

Good habits are worth cultivating

Posted by Alec The Geek on 10 July 2010

Twitter / Amanda Palmer: “Habit is the death of vis …

“Habit is the death of vision.” – Earon Davis

A short sound “bite” that is actually less useful than it looks. It should say something a little less pithy like “Poor habits can be the death of many valuable resources like time, energy and growth. Uncritical, habitual, thinking is the death of vision”. However the value of cultivating good habits has been know for millennia

“We are what we repeatedly do. Excellence then, is not an act, but a habit.” – Aristotle

So the trick is adopt good habits and unlearn the bad ones.

How to uncover bad habits:

  1. Try and be conscious of what you do at all time
  2. Ask the people around you (family, close colleagues, friends)
  3. Keep a time log
  4. Film yourself using your PC with a webcam
  5. Review your day and consider what could have been better (the rule of threes — note three things that were good and three things that need to be improved)

What are some examples of bad habits:

  1. Procrastination
  2. Snacking on junk food
  3. Worrying about other peoples opinions and using what you guessed they thought to be beat yourself up
  4. Thinking that your state of mind is dependent on others peoples’ actions instead of it being your responsibility
  5. Being critical of other people and concerned with what they do when it has no direct affect on you
  6. Dwelling on missed opportunities and thinking “if only….”
  7. Picking your nose, not covering your mouth when you cough etc.
  8. Worrying about things without being able to use the thoughts to improve the outcome

Here some some suggestions for good habits:

  1. Review your habits and look for improvements
  2. Get enough sleep
  3. Get up early enough to make full use of the day
  4. Know what you need to do and get it done (people write books on that, I used their ideas and wrote a post)
  5. Love and like as many people as you can
  6. Shower daily, clean your teeth and wear clean clothes
  7. Set yourself goals to learn or experience new things
  8. Help others as much as you can
  9. Ask for help if you need it
  10. Smile and be courteous – remember most things that people do which annoy you are mistakes or bad habits, not deliberate attempts to upset you, you are not that important.
  11. Plan and think things through, then don’t dwell on them in a negative spiral of worry
  12. Look after yourself

How to unlearn bad habits:

I struggle with this, as do most people, and I’m not a psychologist so the advice is a bit mundane

  1. Elastic band on the wrist – ping yourself when you catch yourself doing it
  2. Ask friends to remind if they see you doing something
  3. Substitute. e.g. carry fruit and veg to eat instead of buying chocolate
  4. Try and make the habit redundant. e.g. Plan projects so that you feel in control and can stop worrying about them
  5. Remove triggers. If certain places or activities trigger a bad habit then try and avoid them
  6. Give yourself some credit and don’t do it all at once
  7. Try and look at the root cause when you catch yourself. e.g. are you procrastinating because you think you won’t succeed? Are you not planning because your system is too complicated to use?

Finally
Use tools and techniques that support your good habits e.g. mind mapping tools to help you brainstorm improvements. Make sure they work for you.

Powered by ScribeFire.

Posted in GTD, Personal Opinion, Work Practices | Comments Off

Starting study for RHCE

Posted by Alec The Geek on 20 June 2010

I’ve mentioned a couple of time that I planned to study for my RedHat Certified Engineer qualification. As I’ve now cleared the decks a bit I been able to start the process. So far I have:

More Notes to follow

Posted in Education, EEE PC, LinkedIn, Linux, Open Source Software, Software Setup | 1 Comment »

Using Git DVC in conjuntion with a legacy SCM tool

Posted by Alec The Geek on 17 June 2010

Often developers get a limited choice on the Version Control (VC) or Software Configuration management tool they have to use when working on a project. However even when the Git (the Distributed Version Control tool) does not interface with the project tool there is value in using Git for a personal workflow. This can work as follows.

  1. Fetch a copy of the working code needed to make your change
  2. Initialise a new Git repo in your working copy and add the code
  3. Now checkout a new git branch for your work
  4. hack hack hack test test….
  5. Commit
  6. Switch to master branch
  7. Fetch from the project tool again.
  8. Add changes and commit
  9. Review differences, rebase or merge as required.
  10. Verify project tool still at same state from step 7
  11. Upload/ check in changes to project tool. You can use the output from git log as the basis of your commit message for the legacy tool

Rinse and repeat

Posted in Git, Software Configuration Management, Software Development, Work Practices | Comments Off

GSD and Pomodoro technique hacked on Paper

Posted by Alec The Geek on 13 June 2010

Updated June 2011.

For some time I’ve using a paper journal to follow the GSD workflow. I’ve actually been using a thick, 300 page, Miquelrius journal, but I’m finding it too bulky and the extra pages means it lasts long enough for the binding to start to fail so I’ll be going back to Moleskine style when the current book is finished. I’ve also tried Piccadilly notebooks which seem very similar to Moleskine and a lot cheaper, however both of mine have split down the spine. Recently I’ve also upgraded my workflow to include:

  • Pomodoro technique to help me focus during the day in getting my longer actions completed
  • Inbox Zero so I spend less time on email

Which have both improved things for me, but I need to improve my weekly review and project planning so I’ve been looking at moving up the GTD food chain to something a little more complete. After noodling with some UML diagrams I figure it’s pretty simple to fix, so this is my new (evolved) plan going forward (none of these ideas are very original).

  1. Keep doing the GSD daily routine. (Turn to a new page, move the bookmark ribbon, date it, write down a list and work the list). Add the number of estimated Pomodoros to tasks to stop you overcommitting yourself
  2. In the same space keep using pages for notes, GTD inbox, Pomodoros and project planning as needed
  3. From the back of the book (turn to landscape so I have longer lines) write down actions. This is the GSD master list, but with more structure. A pink tab marks the page with the oldest active action. My column headings were inspired by mGTD. (NA/Competed, Description, Context/Agenda/Waiting, Project, Estimated Pomodoros). My coding for the NA/Completed field is as follows:
    1. Blank — task has incomplete dependencies
    2. Box — task is next action
    3. Tick — complete
  4. Each time a project plan is created (as part of a Pomordoro usually) mark the project plan with a green tag. When the project is no longer active remove the tag
  5. If a page has notes that might be needed in future fold down a corner so it’s quicker to skim to ‘important’ notes.
  6. During the weekly review re-visit the previous weeks pages for incomplete actions, etc. Tick pages in top left when reviewed. Visit project tags to review each project
  7. Use dated pages for X-ref links

Note that my approach to Pomodoro is deliberately simplistic so I keep limited notes on each one. As long as I know what my next Pomodoro is, have enough information to keep my day useful and can stay focused that’s good enough.

I’ve been using  a mind map to refine my ideas

A mind map of workflow

Getting Pomodoros Done Mind Map

Posted in GTD, LinkedIn, Project Management, Work Practices | 4 Comments »

Using TaskCoach for GTD lists

Posted by Alec The Geek on 27 January 2010

I posted recently about using the TaskCoach list manager to support the Pomodoro Technique for actually doing work. Of course Pomodoro does not address the issue of task identification and organisation — so I promised a post on using TaskCoach and Getting Things Done (GTD) as  GTD and Pomodoro complement each other nicely.

Setup:

  1. Install TaskCoach
  2. Create Taskcoach categories that reflect the various GTD categories, i.e
    • Next Action ( I call it “.Next Action” so it sorts to the top of the list)
    • Deferred
    • Someday/Maybe
    • Waiting
  3. Under Next Action create sub categories to represent your contexts. e.g.
    • “.Next Action/Errand”
    • “.Next Action/Web”
    • “.Next Action/Laptop”
    • “.Next Action/Telephone” etc…
  4. Create a sub category called “.Next Action/_Agenda” (use underscore so that it sorts at the end of the next action list, alternatively make Agenda a top level category). Under that create categories for the people in your life e.g.
    • “.Next Action/_Agenda/Wife”
    • “.Next Action/_Agenda/Boss”
    • “.Next Action/_Agenda/SalesGuyOnCurrenProject” etc
  5. Optionally make “.Next Action” mutually exclusive on sub categories (suggested by the mailing list)
  6. Create the same people centric categories under Waiting
  7. In preferences select the following
    • “Use Tabbed Interface..” off (you need to see context and task list at once)
    • “Allow for tasking notes” on (optional but useful)
  8. Edit the “.Next Action” category and make it a different colour (NB Not red as that will hide overdue tasks)
  9. Optionally make
  10. Optionally add additional columns to the task view (suggested by the TaskCoach mailing list). It can be useful to add a column for category so that tasks can be sorted by category or context.

Using it:

  1. Create top level tasks for your current projects. Create actions as subtasks under projects (You can drag and drop tasks between or into projects)
  2. Add new actions to the list in the normal fashion, so the task list becomes an inbox as well
  3. Add due and start dates as required
    • Deferred  actions
    • Delegated actions
    • Tasks with a real due date
  4. Review tasks in the task list (daily) by
    • Selecting “Tree of tasks/List of tasks” as you progress to see context (or not)
    • Assigning the correct Next Action context to tasks during review. NB Only one NA category should be used
    • Moving new actions to the correct projects
    • Removing Next Action category from completed tasks
    • Using the other categories as appropriate
  5. Now click on the “.Next Action” category and only next actions are displayed. Selecting a specific sub category (and de-selecting the higher “.Next Action”) will further filter by context

Posted in GTD, LinkedIn, Open Source Software, TaskCoach | 6 Comments »

Handy Hack: Improving Laptop Security, around the loop again

Posted by Alec The Geek on 21 January 2010

Alec the Geek Handy Hack:Improving Laptop Security

I have always liked having my laptop BIOS boot password on

After my last post Dave Hall made some excellent points on the shortcomings of BIOS passwords (which in this instance did not not bother me too much) and also made a reference to disk encryption. I’ve thought about the idea of disk encryption for some time(if you run Windows or OS/X I’m not sure what options you have) but I’ve always been concerned about arousing the suspicion of the TSA when travelling to the US; plus I never has the correct install DVD with me when I was re-installing my Ubuntu GNU/Linux system.

By a strange coincidence a few days after Dave’s comment I managed to corrupt my hard disk partition and decided to implement disk encryption as part of the re-install. So whilst waiting to verify my backups I downloaded the Ubuntu 9.04 Alternative ISO. When installing Ubuntu it’s a simple matter of selecting yes to disk encryption and entering a pass phrase.

After the installation was complete Ubunto now prompts me for my pass phrase at boot time, so I switched off the BIOS password.

N.B. Implementing this has required me to make a policy decision that I will freely disclose my pass phrase to any legal request from law enforcement authorities wherever I may be.

I’m delighted to say that I have noticed NO performance penalty after implementing this.

Posted in LinkedIn, Linux, Software Setup, Work Practices | 3 Comments »

The Voga Business Value Proposition

Posted by Alec The Geek on 18 January 2010

I recently sat down to update my ‘Value Proposition’. This is important for three reasons:

  1. It articulates the reasons that people should pay you money to come in and help them
  2. It helps you develop you elevator pitch (everyone has to answer the question ‘What do you do’ in less than 20 seconds)
  3. It should drive over 90% of your business activity (allow yourself 10% wiggle room)

To make sure that I stay honest I’m posting my value proposition with more detailed backup. I’d be delighted to have people poke it hard so don’t be shy in the comments.

Alec delivers improvements to software development and application lifecycle  processes that are:

  • Business focused
  • Simplified
  • Instrumented
  • Automated

with the objectives of being

  • Predictable
  • Repeatable
  • Documented

As someone who cannot stand cant I’d better back these words up with some detail and justification:

We all deliver value to our customers by helping in three ways

  1. Managing the business better: e.g. financials, understanding risks, compliance,….
  2. Executing better: e.g. doing it faster, changing products quicker, improving quality and core business processes,…
  3. Reducing costs: e.g. doing more with less, reducing rework, improving or removing non-core business processes,…

In a software based delivery business unit this is no different. In my experience many software environments frequently fail for apparently simple reasons

  • There is no clear understanding of what is happening. Progress, outstanding issues, root causes and areas for improvement are often guessed at
  • Many tools and the processes they deliver are over complicated. This leads to resistance and substantially reduced value
  • Lightweight documented process cam help contributors of various skill levels deliver consistently without having to re-thing the process every time

That value and improvement needs to be delivered consistantly and continaully, long after the implementation is complete. Bu focusing on our final objectives from day one we can ensure this happens.

That is how Voga helps to deliver value to customers.

Posted in LinkedIn, Work Practices | 5 Comments »

Draft: Introduction to Simple Processes for Small Software Teams

Posted by Alec The Geek on 10 January 2010

N.B. This is an early draft of something I am currently writing. Please feel to comment and give feedback. The full ebook will be published in the next few weeks and I will follow with another blog so you can download it if interested.

How you can implement processes to improve quality, reduce stress and lower costs

Introduction

A lot of application development teams, and to a lesser extent operational IT teams, have either no or limited process. They depend on a combination of individual expertise, informal conventions and team habits (some good and some bad); and being prepared to put with all the problems of poor quality and unpredictability. It does not have to be like that and this ebook presents some ‘low hanging fruit’ you can pick to make your teams more productive – the approach is simple and practical.

This document is written for smaller teams who spend their time doing a combination of maintenance and new feature requests on an existing application. This actually covers the majority of software teams because, much as we all want to work on green-field projects and deliver Rel 1.0, most of our work is done on existing systems.

This ebook lists seven keys process areas (PA) that you need to think about: Metrics, Planning, Release, Testing, Issue1 management, Version control and Communication. These represent broad headings across the Software Lifecycle than contain the low hanging fruit we can pick early and I chose them because we can (almost) focus in each PA individually. After some initial informal success teams can look to expand their improvement initiatives and use more formal and complex methods – which is beyond what can be covered in this short document. The resources section lists places that you should look for more information and different perspectives.

There is no magic to software process improvement – it’s a question of: common sense; team and personal discipline; patience; attention to detail; and a strong desire by everyone to improve the current situation. Also what works will require you to experiment and use judgement (obtained by experience) to decide what will work in your projects. There is no ‘one size fits all’.

Agile Processes : The tools and techniques presented here are written primarily for the benefit of more traditional teams. If you call yourself an agile team, but have no process then I recommend you engage a reputable agile coach; or take a step back into more traditional software lifecycle, improve your processes (using this ebook and other resources) and then step forward again.

1Issues in this context is a very broad term that covers requests for new features, bug reports, internal development tasks and questions

Posted in Application Lifecycle Management, LinkedIn, Software Configuration Management, Software Development, Work Practices | 1 Comment »

Handy Hack:Improving Laptop Security

Posted by Alec The Geek on 31 December 2009

I have always liked having my laptop BIOS boot password on. i.e.  you can’t even boot from a CD unless you have first supplied credentials. However I’ve always been too lazy in the past to login ‘twice’, once to the BIOS and then to the operating system (OS) as a user. I’ve got around that as follows:

  1. Make sure that your screen saver is password protected and enabled
  2. Make sure your OS requires a password after resume
  3. Enable automatic user login.

Now you have to supply credentials every time you want to renew access to the machine, but you only have to supply credentials once on boot.

  • This is only useful if the machine is used exclusively  by you
  • You can either use ‘sudo‘ (Linux and OS/X) and ‘runas‘ (MS Windows) or logout/login to run programs as another user.

Posted in LinkedIn, Linux, Mac, Windows, Work Practices | 3 Comments »

Using TaskCoach with Pomodoro

Posted by Alec The Geek on 29 December 2009

As well as adopting the Pomodoro time management technique I’ve started using TaskCoach to manage my tasks and related lists (based on a GTD style workflow, which I have written about in a later post). TaskCoach has some really useful features, works across all the major desktop platforms, can be used for zero cost and is open source.

Whilst TaskCoach has no direct support for Pomodoro it is easy to add it in by using task templates.

As well as TaskCoach you may need a software Pomodoro timer, I use Pomodairo.

I have created a task template which you can use as a starting point. Download and unpack the template to a file location on your PC. Open TaskCoach and from the file menu select “Add Template”, browse to the location were you saved my template and select it. When you return to the main TaskCoach window you should now be able to select Task -> New Task from Template and see “Pomodoro Task” in the sub menu. Select the Pomodoro Task and you should see something like this

Initial template contents

You can now update the title (make as descriptive as possible so you don’t need to open the task to see what it’s about, but be pithy) and the estimated number of Pomodoros. So it looks like this

Task details updated

Task details updated

When you start your Pomodoro for this task you can open the task to:

  • Add notes
  • Add ‘ for internal interruptions and – for external interruptions (don’t forget to add any new tasks into TaskCoach)
  • At the end of the Pomodoro you can add an X

When you have completed the task you can mark it complete in TaskCoach.

Further Tips

  • A simple way to maintain a daily task is to create a ‘Today’ category in TaskCoach. You can then filter the displayed task list based on that category
  • In preferences select “Show a popup….when hovering over it” and you will see the Pomodoro related information

Posted in GTD, LinkedIn, Open Source Software, Work Practices | 2 Comments »

Learning programming the Alec the Geek way

Posted by Alec The Geek on 28 December 2009

Updated 31/Dec/2009 after reviewing material from Spidertools.com

My son, NimbleJack, is doing computing at school — 6 months so far using VB 6 and next year (our academic year starts in Jan here) he will be doing a 12 month VCE IT course — again using VB 6 <sigh>.

I’ve been pretty unimpressed with the teaching:  a) The lack of core understanding about topics like classes and algorithm design b)  reliance on the VB GUI stopping the students practising important coding skills. So I’ve been encouraging Jack to teach himself Python in order to get around some of the shortcomings of the school course (as I see them).

I chose Python because:

  • Powerful enough to be a proper language
  • OOP features
  • Not as hard to use and learn as C++ or Java

I did consider Ruby — however a lot of the Ruby code I have seen it pretty arcane to a neophyte, despite what the Rubyists claim.

Next we come to my approach to teaching. This is something of a shock to many of my ‘students’ (I’m not actually a teacher by profession by the way) as I see myself as a mentor to assist self learning rather than a ‘listen as I tell you all your need to know’ approach. How does that work? The job of the mentor as I see it is:

  • Set the topics to be learned
  • Review progress (by looking at students working code and exercise answers)
  • Identify appropriate texts and other resources for the student
  • Set the learning pace, with the co-operation of the student
  • Answer questions and be a resource when things get confusing for the student

Apart from that students are on their own. i.e. they have to

  • Plan their studies
  • Do the reading
  • Takes notes
  • Look for other resources
  • Complete the exercises
  • Identify issues and formulate enquires or questions
  • Articulate issues with the teaching and associated material (which teacher is perfect or can’t improve?)

I had made the mistake of expecting Jack to learn from Lutz’s Programming Python which a) assumed to much knowledge about programming systems and libraires and b) does not introduce OOP. This is not a criticism of the book, for someone like me it’s a very useful resource and it is aimed at advanced programming. I’ve just bought “Python Programming: An Introduction to Computer Science” by Zelle. This text concentrates on introducing core programming concepts OO, recursion, string processing etc. Python is used as the vehicle of instruction.

I’m looking forward to seeing how well the new text works, and of course once basic programming has been mastered we can move onto “What a young developer needs to know

Posted in Education, LinkedIn, Personal Opinion, Work Practices | 3 Comments »

Creating a simple professional online brand

Posted by Alec The Geek on 26 December 2009

There are many working people, particularly in my generation or older, who resolutely refuse to create or effectively maintain an online brand or image. In my experience they this it for a variety of reasons:

  • It has no value
  • It’s too hard
  • It exposes too much that should be private

I’ll address these very valid concerns and then suggest simple ways to create an online brand. Before I start let me state  that I am no a Social Media Guru, I just have an interest in these tools and have been using them for some time.

No value

It is easy to find people that claim the creation of an ‘effective online brand’ is the way to easy street and personal fulfilment. I take this with a large pinch of salt and have no doubt that most of these people are still working their day job.

However was is clear is that we are living much more of our professional and personal lives online. Recruiters, customers and the other people we want to involve in our professional lives are turning to tools like Google and LinkedIn. If we are not part of the online community in some fashion then it becomes harder for people to discover and locate us.

As well as the Internet providing a “directory” service, it also allows us to actively showcase our skills to improve our competitive edge when looking for the next position. By publishing our own material on the public Internet we are displaying a variety of desirable traits:

  • We really do have the skills and knowledge we claim because we write about them
  • We can work well in a team because we understand the value of sharing
  • We are keeping up to date with the modern world
  • We are keeping our skills updated by learning new things and writing about them

It must also be said that practising writing for the public is a professionally useful activity in its own right.

Too Hard

It is true you can spend a lot of time on this activity — however it is possible to invest less than five hours a month plus the initial set up time. There are only a few things you need to do to be up an running.

Too much is exposed

How much information you give out is up to you. The approach is suggest here does not include a twitter account for instance, so you won’t be tempted to tell the world about your breakfast.

Approach

  1. Get a blog, like this one (WordPress and Blogger are two popular free services). Aim to publish at least once a month (twice a month is better) on topics related in some fashion to your professional interests. There are more tips on blog writing at http://www.problogger.net/archives/2006/02/14/blogging-for-beginners-2/ and many other places, however be selective about the advice you follow. Your blog posts can cover topics about: your current work; new products related to your interests; considered commentaries on news and other blogs; and your new discoveries and learning.
  2. Create a slideshare account and publish your presentations and papers (make sure you have permission to publish material that may belong to your customers). When you publish on slideshare make sure write a corresponding blog post (e.g. http://alecthegeek.wordpress.com/2006/12/08/slides-and-example-scripts/)
  3. Get a LinkedIn account and make sure your profile is complete and up to date. My objective when creating my profile was to have something that could be printed off and used as a CV
  4. Add the URLs of your LinkedIn account and blog to your business card and email signature
  5. Update your LinkedIn status when you are doing something new (professionally) or publish a new blog entry
  6. When you meet people professionally try and connect with them on LinkedIn straight away

This online brand needs however to be part of a larger activity. You should network actively (get used to drinking a lot of coffee!) and seek opportunities to present at local groups. If there are larger conferences then make sure you submit a paper proposal as well — it’s all grist to the mill.

Posted in LinkedIn, Personal Opinion, Uncategorized, Work Practices | 2 Comments »

The Pomodoro time management technique

Posted by Alec The Geek on 19 December 2009

I have started to use the Pomodoro technique to try and remove distractions from  my work day and focus on what needs to be done. It’s very early days yet but it’s attractive for a number of reasons:

  • It’s simple
  • The Pomodoro task list needed can be obtained from your GTD next actions list
  • It provides a process to handle distractions such as twitter and email

The technique works by allocating work into 30 minutes chunks (called pomodoros) — 25 minutes to actually work on an specific task and a five minute break to ‘rest’. This is designed to stop you getting stale and provides a opportunity to check your email and social media sources without feeling guilty (but you only get 5 mins; and don’t forget to re-fill the water bottle and any needed trips to the toilet etc).

The process also recognizes reality by providing tools to handle interruptions and problems. For instance yesterday my clients PC borked so four of my pomodoros did not get done.

So far the process has me feeling much more in control and able to get work done. I’m looking forward to getting familiar with the process and making improvements to my work day.

P.S. I use Pomodairo on my Linux, Windows and iMac to time my pomodoros

Posted in LinkedIn, Work Practices | 2 Comments »

Top Tips and Handy Hacks for Git

Posted by Alec The Geek on 3 December 2009

Last updated 7/June/2012

I don’t think any of these ideas are originally mine and I apologise that I do no longer have the correct information to credit the appropriate people.

This is my place to put some of the tips and tricks I come across when using Git. There are of course lots of other places on the inter tubes that provide better tips. These are just mine and I’ll update this over time

  1. Before making the first commit to a repo check the email address (git config --get user.email) and if needed set the email address to different value on the repo  by omitting the --global option to the command git config user.email myhandle@cool.com)
  2. Set up a global .gitignore file to be used by all repos
    1. Create a file ~/.gitignore with some useful exclusions (e.g. the backup files for your editor or .DS_Store on OS/X)
    2. run the command git config --global core.excludesfile ~/.gitignore
  3. Help Window users and yourself by running git config --global core.autocrlf input (see GitHub help), but beware of lots of apparent line ending changes after setting this , these are benign.
  4. Keep a copy of this handy picture around as an aide-memoirGit data transport commands
  5. Get a public Git repo account. My favourite is GitHub, other options include Gitorious and BitBucket
  6. Would you like the git help text to appear in a browser. Run git config --global help.format web. N.B. Needs the html version of the Git documents installed. Don’t like the default browser? Run git config --global web.browser chromium
  7. Using https instead of git as your transport protocol? You can now use various helper programs to cache your https credentials. The GitHub setup help page has details for each platform

Using Git from Bash?

  1. Add the following to your ~/.bashrc file NB file locations correct for Ubuntu Linux 9.10 and Cygwin
    # enable git programmable completion features
    if [ -f /etc/bash_completion.d/git ]; then
        . /etc/bash_completion.d/git
        PS1='\[\e]0;\u@\h: a\]${debian_chroot:+($debian_chroot)}\u@\h:\w \$(__git_ps1 \' (%s)\')$'
    fi
    

    On Cygwin try PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '. If you cannot locate the bash completions file on your system then you can get a copy from the Git source tree

  2. If you prefer to use gvim for your commit messages then add the following to .bashrc (NB You c set this in ~/.gitconfig if you prefer git config --global core.editor=....) export GIT_EDITOR="/usr/bin/gvim --nofork". See below for more Vim tips

Using Git on Ubuntu GNU/Linux? Ubuntu users should add the Git PPA to their sources so that they get Git updates and new releases.

KDiff3 is available for Windows (handy for diffs and merges)

Using Git from Vim? — see the Vim Git tips

Posted in Git, LinkedIn, Work Practices | 5 Comments »

Ubuntu 9.10 Beta Karmic

Posted by Alec The Geek on 19 October 2009

I have just installed Ubuntu Netbook Remix 9.10 beta on my EEEPC 100H and so far it’s been a great experience. Things that work better out of the box

  • Synaptic touch pad
  • LCD Fonts
  • Remix user interface
  • Network printing
  • Performance
  • Suspend/Resume
  • Bluetooth device setup
  • I also have reason to believe that the sound works better in Skype, but I’m still kicking the tyres on that

Improved Applications:

  • GNOME Evolution now works well on the smaller screen
  • Gwibber is much more useful for microblogging but it needs some work on reliability and performance
  • Eclipse 3.5 now installs out of the box
  • BOUML is now up to date

A few odd things that it would be nice to see fixed

  • Evolution sometimes looses it Window border. Something to do with the Remix window manager I think
  • Some things I had to try a second time before they settled down. E.g. 3G network management, bluetooth mouse setup (but that was probably finger trouble on my part), Skype sound

All in all a great release. I love it!

(20/Oct/09 — added comment about Gwibber reliability)

Posted in EEE PC, LinkedIn, Linux | Comments Off

How I would change netbook hardware

Posted by Alec The Geek on 2 October 2009

I’ve been using my ASUS EEPC 1000H for 10 months now and there are some obvious changes that could improve the form factor which no one seems to be implementing. So here is my $200 worth

  • Remove the speakers — it’s hard to get decent sound anyway. I’m mobile so I don’t want disturb others and I always use headphones. Use the space for something else
  • Use a trackpoint instead of a trackpad. Takes up a lot less space and is harder to accidentally hit when typing
  • Try and make the screen a little taller so that it can display 1024×768. There are just enough applications that don’t work at 1024×600 to make this important
  • Improve video playback — the form factor makes a great mini-TV but sometimes… Would this be a simple matter of improving the graphics card?
  • Ship with 2Gb already!
  • Oh .. and don’t bother with fingerprint scanners, there are more important things.

I’m happy enough with my EEEPC that it’s my main computer (but I have a big screen and keyboard to use with it, and I don’t use tools like Eclipse)

Posted in EEE PC, Personal Opinion | 1 Comment »

 
Follow

Get every new post delivered to your Inbox.

Join 272 other followers

%d bloggers like this: