Monday, 28 May 2012

BHAA Wordpress Schema ERD

Using yuml to outline how the existing BHAA schema tables might interact with the wordpress tables. The 'user' is faily simple but how we handle 'events' will be a discussion point. Tables ending in '_Q' are questionable.

Wednesday, 9 May 2012

Updating my CV with hresume, twitter bootstrap and github

I've always found updating the format of my CV quite a pain, and during the most recent review of my CV is decided that an XML based approach would be the best.

First step was to convert the details in my existing word doc cv to a XML format. I looked at xml resume format but decided to use the hr-xml format in the end.

Next step is to use a xsl transform to convert the xml into an output format. While researching the transforms I found the hresume mircoformat which seems well supported. Madgex provide a tool for converting a html format into a PDF/Word format which solved one of my problems.

In order to ensure a level of sanity to the html layout and fonts, i decided to reuse the twitter-bootstrap resources.

While working on the xml cv file and xsl transform i used my github repository to track changes. The final piece of the puzzle was where to host the generated html resume file. I found that github provided this via the gh-pages branch which allows a file to be served as raw html to a browser.

The hresume html is hosted here and the madgex pdf is linked on the right hand column of this blog. Now to get the CV out to the market.

Wednesday, 11 April 2012

Pear and phpunit

Update PEAR to the latest PHPUnit version


    sudo pear upgrade PEAR
    sudo pear config-set auto_discover 1
    sudo pear install pear.phpunit.de/PHPUnit


from http://stackoverflow.com/questions/1528717/phpunit-require-once-error the files are installed to

/usr/share/php

which should contain

assure@snapdragonubuntu:/usr/share/php$ ls -al PHPUnit/
drwxr-xr-x  7 root root  4096 2012-01-17 14:28 .
-rw-r--r--  1 root root 13302 2012-01-17 14:28 Autoload.php
drwxr-xr-x  4 root root  4096 2012-01-17 14:28 Extensions
drwxr-xr-x  9 root root  4096 2012-01-17 14:28 Framework
drwxr-xr-x  2 root root  4096 2012-01-17 14:28 Runner
drwxr-xr-x  2 root root  4096 2012-01-17 14:28 TextUI
drwxr-xr-x  7 root root  4096 2012-01-17 14:28 Util


The versions can be verified by

pear list -c phpunit
Installed packages, channel pear.phpunit.de:
============================================
Package            Version State
File_Iterator      1.3.1   stable
PHPUnit            3.6.7   stable
PHPUnit_MockObject 1.1.1   stable
PHP_CodeCoverage   1.1.2   stable
PHP_Invoker        1.0.1   stable
PHP_Timer          1.0.2   stable
PHP_TokenStream    1.1.3   stable
Text_Template      1.1.1   stable


Ensure the php.ini files have this path on the include path

    /etc/php5/apache2/php.ini
    /etc/php5/cli/php.ini

should both include the PEAR php share libraries

    ; UNIX: "/path1:/path2"
    include_path = ".:/usr/share/php"


Thursday, 5 April 2012

The Best 10K Workout - Week 3

We supposed to be 1*2Mile and then 4*1mile but having created the garmin workouts i discovered that only one workout can be downloaded. The downloaded workout was 6*1mile - here are the details


Split,Time,Distance,Elevation+,Elevation-,Avg Pace,Avg Moving Pace,Best Pace,Avg HR,Max HR
 1,5:10.1,1.60,4,6,3:14,3:11,2:41,157,169,
 2,5:10.9,1.60,9,8,3:14,3:11,2:31,161,173,
 3,5:11.0,1.60,9,9,3:14,3:12,2:36,163,174,
 4,5:11.5,1.60,8,8,3:15,3:14,2:28,163,173,
 4,5:14.5,1.60,7,7,3:17,3:14,2:37,163,170,
 6,5:19.5,1.60,8,7,3:20,3:18,2:34,161,170,
 Summary,48:36.9,47:17.0,11.36,45,47,4:17,4:10,2:28,145,174

Was surprised by the simular times of the first four, usual fifth slowdown and had idea that the sixth might have been quicker but the overall times are quicker.

http://connect.garmin.com/activity/165003822

These UCD tuesdays sessions might be paying some dividend. 10miler in ballyliffin this weekend. First of the 2mile sessions next week - am tempted to jump to 2*2M+2*1M.



Saturday, 31 March 2012

The Best 10K Workout - Week 2


Week 2 was supposed to be Thursday but got moved to Sat evening after a near disaster with the BHAA DCC ladies chip timing. The lap was around Bushy Park


 1,5:19,1.60,3:20
 2,5:19,1.60,3:19
 3,5:16,1.60,3:18
 4,5:15,1.60,3:16
 5,5:24,1.60,3:22
 6,5:18,1.60,13:19


In general it seemed a bit more consistent but lap 5 stands out as lacking concentration.




Monday, 26 March 2012

The Best 10K Workout - Week 1

The first of the 10km specific sessions was a 6 times 1 mile with 3 mins recovery. I did a 15min warmup 

Lap Mile Pace
1 5:25.3 3:23
2 5:14.0 3:16
3 5:12.3 3:15
4 5:17.5 3:18
5 5:23.8 3:22
6 5:29.8 3:26

10 min cool down. http://connect.garmin.com/activity/160477117

Looking at the times i should have done some strides before the first one, since the 10s diff between 1 and 2 is too much. Over the 6 laps the average pass was 3.20 which indicates a 33.3x 10km time. Need to get the finger out for the next scheduled session which is 1*2Mile + 4*1Mile on thursday.

The schedule is outlined here http://runningtimes.com/Article.aspx?ArticleID=19553

Monday, 5 March 2012

Joomla Admin Component

The aim of this blog is to outline the structure and files that make up a custom joomla 2.5 component, the impact of the naming convention and which core joomla classes the various layers extend from. In the example the component name is 'abc' and the its main focus is on CRUD operations on a book entity.

Wednesday, 29 February 2012

National Half Marathon 2011 Anaylsis


With the Meath Half coming up this weekend I decided to look at my split from the last good half I ran last yesterday in Waterford. At the time I was in the middle of the marathon training program and tapered well for the week before the race

Split Moving Time
1 3:13.4
2 3:20.5
3 3:16.1
4 3:26.3
5 3:23.6
6 3:23.1
7 3:29.1
8 3:20.9
9 3:24.2
10 3:20.3
11 3:22.7
12 3:09.2
13 3:20.3
14 3:31.5
15 3:13.1
16 3:28.5
17 3:14.4
18 3:18.1
19 3:17.5
20 3:20.3
21 3:18.7

The time splits at the main 5km markers were

16:40
33:38
50:14
66:53

which indicates these 5km splits time

16:40
16:58
16:37
16:39

I remember taking it out handy enough and was in a good position to push on in the second half of the race. Looking at the 5km splits now the 1st, 3rd and 4th splits are all similar enough with a diff of 3seconds between them. At the end of the race I was a bit disappointed to have come that close to the 70min barrier. Perhaps the day dreaming in the 2nd 5km section was were the time was lost. The overall time of 1h 10m 15sec which is the current half PB.


In terms of this weekend I'm not 100% sure about the right hamstring but I think the course and potentially the runners in the field could make this a fast course. Will see in the coming days if a new PB time will be targeted.

Tuesday, 17 January 2012

phpunit and PEAR

Back on the php unit tsting buzz today but when i ran 'phpunit' is got this

    assure@snapdragonubuntu:~/bhaa/zend/trunk$ phpunit PHP Warning:   require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line 38 PHP Fatal error: require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/bin/phpunit on line 38 

The first solution is to include the php code coverage tool

http://stackoverflow.com/questions/1528717/phpunit-require-once-error 

Once installed, try again but

assure@snapdragonubuntu:~$ phpunit --help PHP Fatal error: Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/bin/phpunit on line 39

It seems that the version of phpunit was fairly old so i followed

http://superuser.com/questions/55055/how-to-install-an-updated-version-of-pear-phpunit-on-ubuntu

and updated PEAR and phpunit

assure@snapdragonubuntu:~$ pear list -c phpunit
Installed packages, channel pear.phpunit.de: ============================================ Package Version State File_Iterator 1.3.1 stable PHPUnit 3.6.7 stable PHPUnit_MockObject 1.1.0 stable PHP_CodeCoverage 1.1.1 stable PHP_Invoker 1.0.1 stable PHP_Timer 1.0.2 stable PHP_TokenStream 1.1.2 stable

I also added the phpunit to the include_php in my php.ini file

Friday, 30 December 2011

Dec 30th 2011

There will be one blog from now on so i merged the content of cycleaustralia.blogspot.com adventurtures-of-a-slite-300.blogspot.com to emeraldjava.blogspot.com, it was quite easy once i found the blogspot import export tool. Added the next 7 bhaa event and story details to glfusion. Having some trouble trying to create a function on the mysql instance on the mac. And the Rover decided it didn't want to start this evening, so the plan evening run in dublin had to be cancelled.

Monthly Km's

Details of the monthly km's ran in 2011. The plan is to update the 2012 details here. September sticks out like a sore thumb with the madness of wisdom tooth removal.

Thursday, 29 December 2011

RaceTec Registration File Import Mapping

A list of the possible Athlete and Event mappings that RaceTec allows

Saturday, 24 December 2011

Marathon Time Progression

Stockholm 2002 1/7/2002 3:30:00
Zurich 2003 1/5/2003 3:01:09
Berlin 2004 1/8/2004 3:00:00
Rotterdam 2005 1/4/0205 2:44:44
Zurich 2006 1/5/2006 3:02:20
Dublin 2006 31/10/2006 2:56:38
Cork 2007 1/6/2007 3:00:00
Dublin 2008 31/10/2008 3:52:53
Dublin 2009 31/10/2009 2:57:05
Dublin 2011 31/10/2011 2:43:02

Friday, 23 December 2011

Racetec Event Setup

Racetec Event Setup Tutorial
A guide to setting up and configuring an event and races in Racetec.


  1. Event Basics
  2. The event name and date, with the number range.
  3. Event Advanced

  1. Step 3

Monday, 19 December 2011

Barcodes

C39
the barcode printer: free barcode generator

C128A
the barcode printer: free barcode generator

C128B
the barcode printer: free barcode generator

C128C
the barcode printer: free barcode generator

Sunday, 18 December 2011

RaceTec Notes

A Race can have multiple events, each event has race numbers, splits, categories

Splits/Laps

Waves - gun start, seeding and batches.

Teams

Gun Time - time of finish line read
Net Time - finish - start time. In event setup set finish time = net time option.

RFID Ultra Notes

Modes

  • Start - reads chip once per second. 1 second gating.
  • Finish - reads 30 times per second with signal strength identify best time
Gating
  • Per Reader - two times from reader
  • Per Box - Single first read time only
  • First Time Seen 
LCD Display

Time                                                     Last Chip Code
Signal Strength       Voltage        Gating Mode & Interval
Antenna              Mode & Session               Chip Reads

Gating Mode & Interval : R (per Reader) or B (per Box) 1 (seconds gating)
Antenna : 1 (on) 0 (off) for each antenna
Reader Mode & Session : S (Start) or F (Finish). Session ID

Thursday, 15 December 2011

Git on a USB Stick


Having loads of hassel the with git, ssh and https access to github.com, so i decided to setup git on a usb stick. I can work away during the day and synch to github at night.

I followed this tutorial

http://blog.costan.us/2009/02/synchronizing-git-repositories-without.html

http://swoes.blogspot.com/2009/02/setting-up-git-offline-work-via-usb.html

And these are the basic commands i ran.

mkdir /media/Transcend/git/com_bhaa
git clone --bare . /media/Transcend/git/com_bhaa/.git

git remote add usb file:///media/Transcend/git/com_bhaa/.git

assure@snapdragonubuntu:~/bhaa/zend/trunk/joomla/components/com_bhaa$ git remote -v
usb file:///media/Transcend/git/com_bhaa/.git (fetch)
usb file:///media/Transcend/git/com_bhaa/.git (push)

assure@snapdragonubuntu:~/git/com_bhaa$ git clone file:///media/Transcend/git/com_bhaa/.git .
Cloning into ....
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), done.
assure@snapdragonubuntu:~/git/com_bhaa$ ls
index.html  router.php

assure@snapdragonubuntu:~/git/com_bhaa$ git remote add usb file:///media/Transcend/git/com_bhaa/.gitassure@snapdragonubuntu:~/git/com_bhaa$ git pull usb master
From file:///media/Transcend/git/com_bhaa/
 * branch            master     -> FETCH_HEAD
Already up-to-date.
assure@snapdragonubuntu:~/git/com_bhaa$ git remote -v
origin file:///media/Transcend/git/com_bhaa/.git (fetch)
origin file:///media/Transcend/git/com_bhaa/.git (push)
usb file:///media/Transcend/git/com_bhaa/.git (fetch)
usb file:///media/Transcend/git/com_bhaa/.git (push)



git clone --bare . /media/Transcend/git/joomala_bhaa.git

git remote add usb file:///media/Transcend/git/joomala_bhaa.git

assure@snapdragonubuntu:~/poconnell/code/joomla_bhaa$ git remote -v
usb file:///media/Transcend/git/joomala_bhaa.git (fetch)
usb file:///media/Transcend/git/joomala_bhaa.git (push)
assure@snapdragonubuntu:~/poconnell/code/joomla_bhaa$ git push usb
Counting objects: 12, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (11/11), 2.67 KiB, done.
Total 11 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (11/11), done.
To file:///media/Transcend/git/joomala_bhaa.git
   9067f85..dbc96e6  master -> master



Thursday, 24 November 2011

eclipse.ini

eclipse.ini as of 24/11/2011


-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
-showlocation
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505
-vm
/usr/lib/jvm/java-6-sun/jre/lib/amd64/server/libjvm.so
-product
com.springsource.sts.ide
--launcher.defaultAction
openFile
-vmargs
-Xss4m
-XX:PermSize=246m
-XX:+CMSClassUnloadingEnabled
-XX:ReservedCodeCacheSize=128m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-Dosgi.requiredJavaVersion=1.5
-Xmn128m
-Xms1024m
-Xmx2048m
-Xss1m
-XX:PermSize=128m
-XX:MaxPermSize=512m

Thursday, 28 July 2011

TestLinkAPI missing custom fields

I have this sample program using the TestLinkAPI v1.9.2-2. I want to return the list of custom fields for a TestLink projects test cases.

package testlink;

import br.eti.kinoshita.testlinkjavaapi.TestLinkAPI;
import br.eti.kinoshita.testlinkjavaapi.TestLinkAPIException;
import br.eti.kinoshita.testlinkjavaapi.model.TestCase;
import br.eti.kinoshita.testlinkjavaapi.model.TestSuite;
import br.eti.kinoshita.testlinkjavaapi.util.Util;

import java.net.MalformedURLException;
import java.net.URL;

/**
 * Hello world!
 *        http://testlinkjavaapi.sourceforge.net/sample1.html
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );

        String url = "http://xx/testlink/lib/api/xmlrpc.php";
        String devKey = "xx";
        TestLinkAPI api = null;

        URL testlinkURL = null;

        try
        {
                testlinkURL = new URL(url);
        }
        catch ( MalformedURLException mue )
        {
                mue.printStackTrace( System.err );
                System.exit(-1);
        }

        try
        {
                api = new TestLinkAPI(testlinkURL, devKey);
        }
        catch( TestLinkAPIException te)
        {
                te.printStackTrace( System.err );
                System.exit(-1);
        }

        System.out.println(api.sayHello());
        System.out.println(api.getTestProjectByName("xx"));
        TestSuite suite = api.getFirstLevelTestSuitesForTestProject(new Integer(1))[0];
        TestCase[] testcases = api.getTestCasesForTestSuite(suite.getId(), true, null);
        for(int c = 0;c

The exported xml output from TestLink for the suite is



	
	
	
	
	
	
	


	
		
		
		
		
		
	



	
	
	
	
	
	
	


	
		
		
		
		
		
	


But the program output is

Hello!
TestProject [id=1, name=Touchpoint, prefix=TP, notes=, enableRequirements=true, enableTestPriority=true, enableAutomation=true, enableInventory=true, isActive=true, isPublic=true]
Install
TestCase [id=3, name=Import Indexes, testSuiteId=null, testProjectId=null, authorLogin=null, summary=null, steps=[], preconditions=null, testImportance=null, executionType=null, order=100, internalId=null, checkDuplicatedName=null, actionOnDuplicatedName=null, versionId=2, version=null, parentId=2, customFields=[], executionStatus=n]
n
[]
TestCase [id=5, name=Import Models, testSuiteId=null, testProjectId=null, authorLogin=null, summary=null, steps=[], preconditions=null, testImportance=null, executionType=null, order=101, internalId=null, checkDuplicatedName=null, actionOnDuplicatedName=null, versionId=2, version=null, parentId=2, customFields=[], executionStatus=n]
n
There are no Custom Fields listed.