Oct 182014
 

While writing on Thursday we were on a bus to Killaloe. It’s a small town in the region of Ontario. It was a part of the tour that I was looking forward to. In Ireland we have a town called Killaloe as well. A thousand years ago, this town was the capital of Ireland as it is where King Brian Ború ruled from. In 1014, Brian Ború was killed at the battle of Clontarf while defending Ireland from the Danes. Therefore, it was quite nice to meet people from a town with the same name here in Canada.

We travelled seven hours from Shannon in Quebec to Killaloe and the first sight that greeted us was streets lined with Irish flags, painted stones and scenery that rivalled our own. In fact, one of the people on the bus remarked: “It’s raining, the sky is grey, there are Irish flags and most of the names in the grave yard are Irish. It feels like home”. The people of Killaloe certainly made us feel like we had come home. We got off the bus to a lovely meal and a room full of people whose excitement was tangible. After eating enough for a small army, we were treated to some brilliant music from local musicians and dancers. Children as young as seven sang expertly and local musicians who had spent time in Ireland entertained us with stories and songs. Of course, we couldn’t just sit there all night so we gladly joined in. It was great to play with local musicians again. The quality of music over here is brilliant. I even got the chance to meet with a piper named Paul. He played the Scottish small pipes. Although they aren’t as nice as the Uilleann pipes, I was still delighted to give them a go. I’m quite happy with the tunes I got from them as well. They are played differently to the Uilleann pipes. Instead of the drones resting over your leg, they are suspended by the force of the air going through the bag over your right forearm just below your shoulder. They only have one octave and the wholes on the chanter are tiny. The set I played were in A and they sounded really nice.

We had a great typical traditional Irish session there. It was like being home.

Afterword, we were introduced to our host family and after a quick beer and a chat we got some much needed sleep. Killaloe is mainly built on top of one really large rock. Not that it’s relevant but it’s interesting. They also get tremors from time to time. The town is home to about 700 people and most have Irish names.

On Friday morning, we played in a primary school. There were two schools within about a minute walk away from each other. One is a public school and the other is a catholic school. I really liked that the children from the catholic school were invited to the public school for our performance. Our instruments were described in detail and we had a minute to play a short example. Of course, as I was playing in a school, I decided to have a bit of fun so I didn’t play an Irish tune, instead I played a children’s song called I’m a little tea pot. It was really funny. That tune was hummed by members of the group for an hour after the performance. It got stuck in people’s heads. The performance in the school only lasted an hour but I was energised by it for the day. I loved that the kids had no inhibitions about clapping along. It was so relaxed.

After the school performance we had a brief tour of Killaloe. The town is tiny so the tour only took about 20 minutes but it was interesting none the less. We heard about how the rail line was only used up until the 1950’s before it was removed. The tour guide mentioned that they could travel from there to Toronto and back in less than a day. Now it takes two days as public transport from or too Killaloe is very poor. The railway track was ripped out in 1986 after the stations was removed in 1960 and in 2004, a student completing her masters in gardening landscaped the area where the track ran through the centre of Killaloe to commemorate the railway. A path now runs over the same route that the track took and a design using red bricks on the edge of the path shows where the rack lay. We also heard about a large fire that destroyed 7 businesses and four houses in 1950. Fortunately, men in that had been drinking in a hotel on the same road fought the fire and successfully bought it under control before any further damage could be done. In 1927 a flood covered the same area with three feet of water.

As you can tell, I’m trying to soak up as much knowledge during my trip through Canada as possible. I am absolutely fascinated by the people, the geography and the history.

After the tour we passed a local radio station and as a few of us expressed an interest in it, we went in to pay the managers and presenters a visit. It’s a small local station with a catchment area of about 100 miles so in many respects, it’s similar to our local station LMFM. It’s a tiny place in the middle of the town. The walls are lined with records, tapes and a few CD’s. They have no computerized repository but a local man has written their station management software which is really interesting. They seem to have similar license requirements compared to our local stations. They are also streaming online so I’ve suggested that they stream to iTunes or at the very least podcast their live shows.

After the radio station, we paid a visit to their local grave yard. This was an unusual thing to do but if you think about it, it was fitting. I have had a real emotive connection to the stories and songs that I’ve heard in Canada. I have often thought of emigrating with my family and I’m still thinking about it. That’s a post for another day of course. It’s one thing thinking about emigrating but it’s another thing entirely leaving your family, your country, your friends and your culture to move somewhere else. I think it’s one of the reasons why I have been so enthralled by the songs and stories I’ve heard over here. People left here when there was no skype, no mobile phones, no Internet and no easy travel. They missed home. They were heart broken. To ease their suffering, and retain their unique identity, they spread the Irish culture. However, most of them dreamt of returning home someday. When they couldn’t, they asked that their origin be marked on their grave stone so that family and friends who came looking would find them. We found McCarthy, McPhail, Riley, Dwyer, Holly, Lynch, Geeran, Murray, Daly, murphy, Flynn, and many many more. The graves were often simple but some grave stones even had transcriptions and prayers in Irish. I get the impression that a hundred years ago, this was a thriving Irish settlement. They lost some of their connections with Ireland but they didn’t lose their identity or culture. Recently, with the Irish gathering, and now the Comhaltas tour, that connection has been firmly re-established and the elation of the 700 residents of Killaloe can be felt clearly.

The songs and stories really meant a lot to me but visiting the grave yard really had an impact on me. Yes, people made a life for themselves here and many of them were successful and have been the foundations of what are now thriving and solid communities but they still missed home. They still wanted to get back to Ireland and when they died, they wanted people know where they came from. Therefore, when everyone had gone, myself and Ken returned to the graveyard with two local ladies so that I could play two slow airs. It was my way of quietly paying tribute to those who left Ireland when there was little hope of returning. We had bought Irish culture to Killaloe and to their descendants but I wanted to bring some culture to their forbears.

I played amazing grace there as the first tune. It was the first time I played it since the 25th of May at my granny’s burial. It was quite difficult to play it again because it bought back a day I didn’t handle particularly well but it was fitting.

Last night, we played for a packed hall of 600 people. We were in great spirits starting the performance and our energy carried right through to the audience. They seemed to love it. My favourite solos continue to be Rebecca’s first tune on Fiddle, Anna on harp and Clara on Concertina. All the other musicians in the group are spectacular. Their solos reflect this but these are three of my favourites. In relation to the musicians, I have rarely seen such talent. I’m in awe of some of them. They play such an array of instruments and they have such a lovely style. I have no problem saying this either. I consider myself to be a reasonable piper and an adequate bodhran player but the day I stop learning is the day I’ll stop playing. I’m sure the others in the group feel the same but their standard is higher than I would ever anticipate reaching. Not that I’ll not try but you should hear some of the music that I’ve had the fortune to listen to while on this tour.

We went to a local family home after the performance to socialize with the volunteers and play some music. It was nice to get an opportunity to show our gratitude. We felt very welcome there so I hope they enjoyed our visit.

We’re back on the bus now for a short trip of two and a half hours to the next performance and the next host family. We’re nearing the end of our trip now. I’ll write more in a day or two.

Thanks for reading. Don’t forget to leave a comment on this or other posts to let me know if you’re enjoying them or if you have questions.

Oct 162014
 

Only a few days have passed since my last blog post but we’ve done quite a lot since then so instead of writing a really log update in a few days I thought I’d write a mini post. Well, mini compared to the other posts I’ve written since arriving in Canada.

The last time I wrote we were still in Winnipeg. We left there on Tuesday morning to take a flight to Ontario before driving for three hours to a small town in Quebec called Shannon. Over all, we were traveling for about 9 hours but it was a very relaxed and easy going trip. Now that we all know each other better and we had a few days to relax and recharge the batteries in Winnipeg we worked together very well organizing baggage, getting through security, sharing out hand luggage, collecting baggage at the other end and finally meeting with the coordinators for the eastern part of our trip around Canada. We also met with our new driver and his very new and comfortable bus. It’s one thing that has to be said. The tour coordinators in Canada are very mindful of our comfort while traveling. If they weren’t, we wouldn’t be as well rested and as able to perform every night.

We finally arrived to Shannon at about 10:30PM on Tuesday night and settled in right away with our host families or billets as they are sometimes called. The host family I stayed with had a house on a substantial plot of forested land. The house was nestled in a small clearing right in the middle. It was very obvious that the house was a labour of love as one of the first things we were told was that they had been working on it gradually since 1981. It’s beautiful. All wooden using pine primarily. The living area, kitchen and stairs were very open and the bedrooms were spacious without being over large. It is not a style that I’ve ever come across before. I asked if it was modelled on a French template but they put a lot of ideas together to find a design that fit their life style.

The couple have a fantastic sense of humour. Getting along with them was absolutely effortless. Almost as soon as we met they were relaxed and making fun of us. It’s something that we have often commented about while over here. Many of the Canadians have a similar sense of humour to the Irish.

Quebec is an interesting region. Its official language is French Anyone moving there are provide with free French lessons that although are not compulsory are required for social and employment reasons. What’s really impressive is that within the space of one generation, the people of Quebec successfully transferred their primary language so that an entire generation were fluent. The methods they used to accomplish this were aggressive in the nonviolent sense of the word. They created laws that dictated that local business must be carried out in French, marketing in the area must be in French, and schools would teach using French with optional English classes and all government functions would be carried out in French. They are very strict when it comes to this however, what is even more interesting is the centre of Quebec is now very popular for IT companies. Specifically for an unknown reason for video game developers. As they are not targeting their businesses at the Quebec region, they work around many of the requirements to operate their business using French. In Saskatoon, the property tax goes toward schooling but as I said before, they can elect to direct your money toward religious schools or public schools. If you don’t specify a preference, your money will go toward the public school system. In Quebec they don’t seem to have this choice. All money goes toward French speaking schools and as the region is vastly catholic the same options may not need to be available. The Quebec region is different to Canada in a number of significant ways. Their local government has a four year cycle. Every two years they have an election. One election is for the president of the country and local representatives but the second election two years later is for the local officials. For example, the head of the school board would be elected during this time. In Ireland for example, the executive that is elected in Quebec every four years are not elected by the people. They are appointed by the elected representatives in some cases but ordinarily, they retain their positions for a long time. In Quebec it is unlikely that they will retain their responsibilities unless the people allow it. This is a much more fair system in my opinion. Another very interesting thing I learned about Quebec is they have a separatist party. This party want to negotiate Quebec’s independence from Canada. In forty years they have not been successful but they have come close. During the last referendum they were beaten by a small margin. The referendum wasn’t to vote for Quebec to be a separate state, it was to vote to enter into negotiations toward this goal with Canada. The problem that they may face is Canada has a lot of det. If Quebec separates from Canada, they will need to accept a portion of this det. Strange but this is the first time I’ve heard about this problem. In Saskatoon they either weren’t affected by this financial issue or they weren’t bothered by it.

We had a tour around Quebec City on Wednesday including the old city. Unfortunately it rained quite heavily so we didn’t get to go on foot so I missed a lot of information but I took the opportunity to ask a lot of political and social questions. I’m not surprised at the differences between regions. Canada is a vast country. It doesn’t seem possible that a centralized government could successfully manage a country of this size. Equally, a decentralized government win Ireland when compared to Canada doesn’t make any sense either. We’re too small to need that kind of decentralized governance. That’s only when taken within the context of Canada.

Last night, we played in the Shannon community hall. Again, the audience were wonderful. It’s rare to find such a warm, interactive, interested and knowledgeable audience but in Shannon, with roads like Dublin road and Monaghan road I shouldn’t have been surprised. The room was full of Canadian accents with names like McCarthy, Murphy and Kelly. Fifth generation Irish spoke with voices that I’d associate with the north of the country but accents from Canada. One thing that I am finding very fulfilling and rewarding is listening to the stories and songs from people like William Kelly, a local of Shannon. His descendants left Ireland in 1842 to find a better life during the time of the potato famine. He sang a song about emigrants who had left Ireland and arrived in Canada. It told of their challenges in Canada, their down falls and their successes. I hears stories of Irish workers that prospered and tragic stories of families killed by landslides. I also heard of stories where children survived when their parents perished on the way from Ireland by boat to arrive in Canada. They were taken in by Irish families that had come before. They retained their family names and they spread their songs and stories. Of course, I also heard of the families torn apart when children that got off the boat wondered off alone and fell off a nearby cliff. Such sad and happy stories that I had never heard before. What was lovely was they were from a completely different perspective. In Ireland, we sing songs of emigration and loss but the songs that I’m hearing here are in the same style, from the same tradition but they are about people from Ireland arriving here. What’s even more brilliant is they are passed down to this generation in the same way we pass down traditional music in Ireland today. In sessions and performances. I have no words to describe how proud I am of the Irish who came over here. They survived a journey across the ocean that we can’t begin to imagine, they started with nothing in Canada and not only did many of them thrive, they built a tradition in Canada that has lasted to this day. At one point the population of Quebec was 50% Irish. Now it’s about 3%. Many have died but many have moved to other parts of Canada. Still, the sense of identity and culture is very strong in Quebec. Even though the French culture has become much more dominant.

This morning, Thursday we are traveling again. I’ll provide details in my next blog post. What’s great about today is I got to go for a cycle. The family I was staying with had a tandem so when they learned that I loved to cycle they were thrilled. Phil, the man of the house suggested that if it wasn’t raining that we head out at 7AM. Unfortunately, we only did about 15KM but what a cycle! Phil is a big strong six foot man and without bragging, I’m a lot stronger than I look. We got fantastic speeds even up hill. Phil is a very experienced cyclist so even going through corners at a good speed was no problem to him. The tandem that he has is about 20 years old but it’s well maintained and reasonably comfortable. It gets better! We cycled on a dedicated cycle path. The cycle path was a rail track up to about twenty years ago. It’s therefore quite flat and very mature. It’s a two meter wide path that spans about 64KM. It goes through the heavily forested countryside just outside Shannon town. Parts of It are a little more open but over all, it’s very quiet and isolated. This reminds me of one important point. Shannon smells and sounds fantastic. It’s a blind person’s oasis. The trees, plants and fresh air are like a holiday for your senses. The birds and wild life sound amazing. On the cycle earlier, while speeding at a really comfortable pace through the forest, I was almost high with the exhilaration of the purity of the sounds and smells. The path was quite soft in places as it had rained quite heavily yesterday but this just added to the experience. I doubt there are many cycle paths quite like it.

We’re now on the bus for a seven hour trip. I’ll write more in a few days.

Thanks to everyone in Shannon for making our time there an unforgettable one. You truly live in one of the nicest parts of the world.

Oct 122014
 

A whirlwind of epic proportions is the only way of describing the past five days. Since the last blog post on Tuesday, we’ve gigged in four venues in four different areas, we’ve travelled at least 11 hours by bus, we’ve stayed in homes that range from modest houses to border line mansions and a hotel that must win the award for the most badly organized building in the world, we’ve had disagreements but over all great fun. Most importantly, we are really enjoying Canada and we are loving the Canadian people.

On Tuesday, after the last blog post, we went to the cathedral that would host our show. As it was an unusual setting for us, we thought it would be a good idea to check it out beforehand. We decided to make a few changes to the plans. We moved the piano around and got rid of the stage. The wholly family cathedral in Saskatoon was only build three years ago. From the outside, it could quite easily be mistaken as yet another industrial building right in the middle of the industrial centre of Saskatoon. The only difference is its large spire that can be seen from a reasonable distance. The inside of the cathedral is quite different. Although the walls don’t have the same long lasting solidness found in Irish churches, you certainly get the impression you have walked into a cathedral when in the main room of the building. The main church area is a massive round room with high ceilings, very decorative stain glass windows, custom art work and a sizeable alter. I know so much about the cathedral because the host family we stayed with were very proud of it and therefore took great pleasure in describing the room in detail. In fact, I even know that outside the stain glass windows is a glass solar energy collector. I also know that a few months ago one of the stain glass windows fell in on the quire area and a replacement window had to be acquired from the maker in Germany. I’m rambling. Sorry. The point I was trying to make is although this wasn’t a typical cathedral, it still had the same acoustical attributes. This means that for playing the pipes without amplification it sounded great however playing with a group of eight musicians, it was a little difficult. I’ve encountered this a few times. When there is a lot of echo in a room, musicians need to be very careful. They need to sit closer together and they need to listen carefully to what each person is playing or the sound will become muddy. Fortunately, although it was a bit of a challenge, the sound engineer that is traveling with us handled the situation very well.

On Tuesday evening, we went to a local session. There were at least thirty musicians there. Some from Ireland, Some from Canada but all playing traditional Irish music. Unfortunately it was quite hard to hear everyone in the session but the standard was great. I really enjoyed talking to people who had come over here a year ago or fifty years ago. They all seem to say the same thing. The quality of life is great over hear but the winters are very cold and harsh. I love hearing the people that have been here for fifty years that still have their local Irish accent. I also like that they get to go home once a year mostly. It was fantastic to hear locals finding people form our group that lived in the area that they left behind. The thrill they got from speaking to people from their home town was sad in one way but rewarding in another. It was nice to be able to bring a bit of home to Canada for some of the people that moved here.

After the session on Tuesday night there was no time to be particularly social. The objective was to get to bed and get as much sleep as possible before getting up at 6AM on Wednesday morning to get to the cathedral to be interviewed by a local Saskatoon television station called Global. Fortunately, I didn’t have to answer any questions. All I had to do is play a few times. The program ran for 2 hours and we were needed for a total of about 10 minutes in that time. However, there was quite a lot of planning and organization required when we were off camera.

You might think that the rest of Wednesday was spent relaxing after that early start. No. Not at all. I had work to do as I was getting dozens of calls from Dublin and by 12:30PM we were back in the cathedral again helping the sound engineer get things set up. We finally left around 5 to get something to eat before the show started at 7:30. By the end of the performance I was absolutely shattered. In fact, during the harp solo in the first half, I nearly fell asleep on stage. Still, we had to go to a pub afterword to play a few tunes and talk to the locals. I say we had to. That’s not really accurate. Of course, we had a choice but the host families had been so good to us it would have been very rude not to go out after the show.

Thursday, we departed Saskatoon to travel to Regina. That was only a three and a half hour trip so with the opportunity to catch up on some sleep on the bus I was in great form for the rest of the day. The venue in Regina wasn’t as flashy as the cathedral in Saskatoon but it was a fantastic place in terms of sound and layout. When we started playing, the audience warmed to us instantly and every single one of us had a great time.

There was no late nights on Thursday after the performance. It had been a long few days so we were all very happy to get to a bed and try to catch up on some sleep. Again, we stayed with host families from the area. We stayed with a family that lived about five minute drive from the venue. On the drive there the lady of the house warned us that the dog was quite protective. That was a tad under stated. The dog was very obviously vicious toward anyone he didn’t know so they unfortunately had to lock him away for the night.

We left Regina on Friday morning to travel six and a half hours to Manitoba. We had a few delays at the start but we arrived there reasonably on time. The venue in Manitoba was quite similar to the venue in Regina. The sound system was absolutely top of the range and the stage was very comfortable for all the performers. Again, the audience on the night were very warm and appreciative. I even played around with them during my solo. I love interacting with an audience and I love when the audience interacts with me. It makes the performance much more enjoyable.

After the show on Friday night we met up with our host family. They drove ten miles to their 1000 acre farm. Yes. I said 1000 and they said their operation was very small in comparison to most. Their house was a mansion. Their basement had a bar in it the size of my house! The son’s room was cavernous and the walk in shower was the size of two large showers. Their small car had a 3.2 later engine and their large car had a 6.6 later engine. They considered themselves working class but the wealth they demonstrated without trying to show off was incredibly impressive. On Friday morning we got up early to have a quick tour of their farm. It’s a funny thing about Canada. Their old buildings are at most about a hundred and thirty years old. In Irish terms that’s very young. However, a church that is in the locality was one of the oldest structures they knew of but to us it was quite ordinary. Don’t get me wrong. It was a lovely little church and it’s fascinating the way things are done in relation to creating small churches every few miles with very small grave yards. The host family we were staying with were the Lee’s. They were able to show us that the majority of their descendants had been buried in the grave yard a few miles away from their house. Even relatives that travel away generally prefer to come back to be buried in the local grave yard. It’s not exclusive to one family either but I think the idea of having several small grave yards dotted around the country side is to keep the plots small while keeping the churches and the grave yards accessible to the locals. It’s interesting.

We left Manitoba on Saturday morning at around 9 AM and we were here in Winnipeg by 12:30. The organizers had asked us to teach locals who had an interest in traditional Irish music. For the first hour and a half I taught the pipes. Well, actually I didn’t. I was meant to teach the pipes but no one showed up. Two people came to listen to the lesson. A husband and wife. The wife played the bodhran and the husband played the guitar. I decided to ask them to play a few tunes with me. I spent the time teaching them about rhythm. I was thinking that if both are playing backing / rhythm instruments it would be useful to show them that playing together will make the melody players life a lot easier and it will make the tune sound a lot cleaner. The second lesson I gave was on the bodhran. I had four participants at a beginner level. Again, I tried to teach them to make their beats simple, only let one bodhran player run with a tune at a time and never try to overrun the melody.

The performance in Winnipeg was as enjoyable as the previous two. The venue was a little different. At the start it felt like a barn but as the night went on I really began to like it. The equipment there was absolutely incredible. Over kill isn’t the way to describe it. They had five foot high bass bins, separate mixers for front of house and monitors and a complicated EQ system run through a laptop. I should also say the mixers were all digital. The system was at least thirty thousand Euro worth.

In Winnipeg we are staying in a hostel / hotel. It’s a weird place. The building seems reasonably new but the design is absolutely senseless. Absolutely nothing here makes sense and just forget trying to get breakfast in the morning. They have stuff there but it’s all over the place. It’s a comfortable room but really not organized well.

We will spend a few days in Winnipeg. The dancers are teaching today but we all have a day off on Monday. Tuesday is another day of traveling so I’ll update you again next week.

One final note, my pipes don’t like the Canadian weather. The air is very very dry so the reeds aren’t handling it very well.

Oct 082014
 

I’m here in Canada with Comhaltas for a tour around a number of cities for the next two weeks. I’ll try to write a few blog posts as we get around with the aim of capturing some of what is happening.

Let me give you some background. I’m here with a group of 15 artists comprising 8 musicians and four dancers. We come from all parts of Ireland and the first time most of us met was during the first practise. In fact, I wasn’t at the first practise as I was out of the country at the time so I didn’t meet the others on the tour until July.

There have been three rehearsals. One in June, The next in July and the final one in October during the weekend before we left Dublin. Each rehearsal lasted an entire weekend. As there have only been three rehearsals, they have been very long and very intense. Each time, we stayed in the Cultúrlann. This is essentially the head office or the base of operations for Comhaltas Ceoltóirí Éireann. If you don’t know what Comhaltas is, I suggest you google them. However, to summarise, they are a voluntary group with the goal of promoting Irish culture. This includes but is not limited to Irish music and the Irish language. Staying in the Cultúrlann was itself an experience. It’s an old Georgian building that has been extensively modified to fit the purposes of Comhaltas. Inside, there are various teaching and practise rooms, an auditorium and even a public bar that hosts sessions at any time of the day. In case you start to equate Irish music with the selling of alcohol, nothing could be further from the truth. In act, most sessions were held around the open fire outside the bar area. Children, young adults and older more experienced musicians all had a place and the standard of music was brilliant. If you are around Dunlaoghaire or Munks town I suggest you go in for a few tunes. Sorry. I’ve ventured away from the point. The rehearsals were intensive and very hard work but because of the very friendly and helpful staff, the environment was relaxed and homely. I was dreading spending a weekend away from home. Not because I didn’t want to leave home but mainly because I didn’t want to have to work all weekend after working all week. Fortunately, each rehearsal was a pleasure even though they were very challenging and a lot of hard work. During the second rehearsal but actually my first, we recorded a CD for the tour. This was a huge challenge for me because three hours after practising with the group for the first time, I was thrown into a recording studio with the expectation that I would sit in with the group and put down the tracks there and then. They were very intricate arrangements with precision a high priority so I had a lot to learn and very little time to learn it in. It’s not something I’d like to do again but I’m happy with the result.

The second rehearsal for me but the third for the group took place just before we left for Canada. Saturday for example, we practised for a total of 14 hours with a two hour break. By the end of it we we’re all physically and mentally exhausted. On Sunday, it wasn’t much better, we were up at 8:30AM, had breakfast at 9:00PM, met at 10:00AM, practised until 12:30PM, had a briefing until 2:30PM and then practised again until 5:30PM. Fortunately we had a break until 7:30PM when we attended a reception for VIP guests before we performed at 8:30PM with a break until 11PM. Of course, after performing, we said good bye to our family and friends and then sat down to have a bit of a chat with people from the group. However, we left the Cultúrlann at 3:30 to go to the airport. So, Sunday was never ending.

We got to the airport and checked in without any major issue. However, this is where things got really interesting. We were scheduled to depart at 7:40AM on Monday morning on a flight to London Heathrow. However, due to a reasonably bad storm in Dublin, the flight was delayed by twenty minutes. When we got to England we were also delayed by another 10 minutes because there was an issue with the spot our flight was scheduled to take on the run way. By the time we stopped, it was 9:30. By the time we got through the very busy and large London Heathrow airport, it was 9:45. Our flight to Calgary in Canada was scheduled to depart at 10:15AM but unfortunately, unknown to us, the gate closed on this flight at the very early time of 9:15AM. There was absolutely never any chance we would have made this flight. The result was that we missed it and had no choice but to book on an alternative flight. Unfortunately, this wasn’t as easy as expected. There wasn’t enough free capacity on the flights going to Canada that day so we had to split into three groups.

I was lucky enough to be in group one. We flew from Heathrow to Toronto and then from Toronto to Saskatoon. It took a total of 11 hours flying time with a stop over time of 2 hours but it wasn’t bad at all. In fact, it was less than our scheduled travel time for various reasons.

Group three had to fly a few hours later from Heathrow to Vancouver, then Vancouver to Calgary and then from Calgary to Saskatoon. Their total travel time was about 18 hours.

Group three flew from Heathrow to Vancouver and then from Vancouver to Saskatoon. Their travel time was also 18 hours.

Not ideal. In fact, it was one of the worst things that could have happened. However, it could have been worse. In fact, it was! Luggage should have followed us from Dublin however for some reason, it was delayed getting from Dublin to Heathrow so it didn’t get to Saskatoon until Group two and Group three got there at 12:30 local time this morning. We are still waiting for two cases and a harp to arrive.

We met with our host families and finally got some much needed rest at the end of it all.

Today has been quiet so far. We’ve been getting information about tomorrow’s performance, following up on misplaced luggage, learning a little about Canada but more importantly, we’ve been taking it easy after three particularly stressful and tiring days. We are playing at an informal session tonight with some Irish people that have moved to Saskatoon so I’m really looking forward to that. Tomorrow is when things will get serious again with a television appearance, sound checks, a practise and a performance at 7:30PM.

May 102014
 

I have been very neglectful of this site lately. I wish I could say that will all change but. Na, it won’t.

Here’s a short enough post. It’s not the kind of post where I say “Hey, go look at my new site over here” but that is a very small part of it. I want to tell you about a WordPress theme called Divi. This is currently the latest offering from the Elegant themes provider and its well worth considering.

However, before you launch in there and spend money on it, let me make you aware of some of the problems I encountered.

Let me start by saying a huge thanks to Emma because without her regular visual perspective I wouldn’t have had a clue what was going wrong.

Sliders

  • The placement of text in the slider is very hard to get right. A specific image dimension is probably required however this doesn’t seem to be noted anywhere in the documentation. To get around this, I had to assign a class to the text and set the top margin to a minus value.
  • It isn’t possible to place the sections at specific points on the page and they aren’t always at the top or directly below another section. Therefore, again, I had no choice but to associate some sections with a class and then set a minus value for the top margin.
  • When I tried instead to use an image as the background of a slide it seemed absolutely impossible to control the size of that slide.
  • Be careful with other modules that you have installed. If you have a conflicting slider you may find some very strange behaviour.
  • I also recommend that when making changes to the text within a slider that you copy it to notepad or another editor because a few times I wrote a fantastic slide description only for it to be lost because the page didn’t save properly.
  • Adding a button a header to the slider spaces it out far too much. I wanted a compact and clean slider for the top of the page. Not a full length animation.
  • Saving the biggest problem until last, the slider displays properly on tablets however not IOS or Android on phones.

Setting backgrounds.

  • I was told at one stage that the site looked a little bland. To solve this, I decided to use a background gradient. Thanks to CSS3, this is well supported and with a few checks for specific browsers in the CSS it’s very easy to implement consistently. However, some modules support setting a background colour but some don’t. There doesn’t seem to be any generic configuration items for these modules. Again, I had to get around this by using a class and styling this class using CSS.
  • There are no properties for setting the background in the Divi EPanel options so again, this had to be done using CSS.
  • Instead of just having the ability to set text and background colours in some modules to either dark or light, I would rather an additional or advanced option that would allow someone to type the hex values.

The header.

  • I wanted to do a few things with the header. A number of people commented that the logo is very small but there is no way of changing the dimensions of this. I looked in the CSS file but I really can’t find where it is specified.
  • I would also like to add a role over but I don’t find the CSS very easy to read. The role over would define what menu item the mouse is hovering over.

The pricing table

  • This is a fantastic idea but it’s not really a table. Its several tables. Each price you add is actually an additional table. I needed Emma’s help quite a bit to get this looking properly and even now I’m not entirely happy with it.
  • Feedback that I have received has also been quite negative about this. Divi seems to grey or dim features that are unavailable for certain price plans but it’s not obvious to people what this dim or grey colour represents. A more graphical representation would be a lot better.

Divi is a great theme but what it claims to do isn’t quite delivered yet. I’m hoping it will vastly improve in the next year or two but if you are considering it today, be warned you will have no choice but to tweak a lot of CSS before you get it working properly.

Feb 272014
 

You seriously wouldn’t believe the trouble I’ve had in the past two weeks trying to make some progress on my Arduino, Raspberry pi, Python, PHP and MongoDB project.

Work has been very busy so the only time I’ve had to work on this is on the bus on the way to and from Dublin and from time to time very late at night.

Right, so here are a few of the problems I came up against:
The first hing I wanted to do was limit the size of my table in MongoDB. I’m collecting quite a lot of sensor data from the Arduino but I don’t need to retain this data for any more than around 2 weeks.

MongoDB allows you to create a TTL index which will delete data that was created more than a certain number of seconds ago. This is a really handy feature however, it didn’t really work for me. I think you need to store the date in BSON format and I had stored my date in ISO format because I think it will make it easier to retrieve and write the sensor entries.

Regardless, here is the code I used:

db.envirocheck.sensors.ensureIndex( { “Date”: 1 }, { expireAfterSeconds: 604800 } )

You can learn more about TTL indexes using the Fantastic MongoDB documentation that covers TTL Indexes

As I said, this didn’t work for me at all so a suggestion on Twitter that I received weeks before made me think of capped collections. These are similar to TTL indexes in that they delete old data but instead of the TTL index, this works by deleting entries that are old however it does so when the collection reaches a certain value. By writing data once a second, I find that with 500Bytes I can store just over two hours of data. I obviously need to figure out how many bytes I need for storing two weeks worth but that’s something to do when I’m feeling more awake.

The code to create a capped collection is here:

db.createCollection( “sensors”, { capped: true, size: 500000 } )

Again, look here for the MongoDB documentation for capped collections.

Next, I of course needed to set an index on my date field as I’m going to be using this to select specific temperature values for date and time ranges. That was quite straight forward.

db.sensors.ensureIndex( { “Date”: 1 } )

Next, I needed to find a way of selecting between two dates in MongoDB and PHP. You might think this is easy, but no! It’s far from it! I stupidly tried to get ahead of myself by making this really complicated. I looked at Doctrine but trust me on this, the documentation for this project is absolutely crap! Now, maybe it’s me. Maybe I’m not experienced enough to figure this out but for god sake, this documentation might seem great from a high level but unless you read it from start to finish like a book, it’s useless! there’s no context to any of their examples and huge chunks of code are missing without any pointers to the parts of the documentation that might reference them. I wasted a week reading that documentation. There’s also different variations and different versions so the whole thing is really frustrating. All I wanted to do was find data between a date or time range. I liked the simplicity of the query builder and I can really see the power of this library but the documentation really turned me off.

Finally, I came to my senses last night at about 11:30PM when I really should have been a sleep. Come to think of it, I should really be a sleep now as well but I want to get all this out of my head and on paper so to speak before I forget it. I came across This post on the MongoDB blog which made things very very clear. I had of course tried something very similar to that before I started looking for alternatives but really, it was so simple! All I was missing was converting the date into strToTime before I tried to convert it into MongoDate format. I did a lot of searching on Google but although I could find shed lodes of documentation on converting from MongoDate into PHP, I couldn’t find anything on the other way around. I obviously wasn’t looking in the right place because as soon as I saw those few letters strToTime, it all clicked.

Here’s the example from the MongoDB blog:

$start = new MongoDate(strtotime(’1971-01-01 00:00:00′));
$end = new MongoDate(strtotime(’1999-12-31 23:59:59′));
$collection->find(array(“create_date” => array(‘$gt’ => $start, ‘$lte’ => $end)));

This actually converts the date and time into a number like this:

1393545599

Armed with this information, I set about dynamically setting the date and time. This code will get the sensor values saved to MongoDB over the past day:

$start = new MongoDate(strtotime(date(“Y-m-d H:i:s”,”-1 days”)));
$end = new MongoDate(strtotime(date(“Y-m-d H:i:s”)));

See how easy that is? Isn’t that frustrating! I’ve spent about ten hours reading about this. Such a waste in a lot of ways but I suppose I probably learned plenty on my travels to finding out more about Mongo and the way it handles dates. Funny, in the collection, the date is stored in ISO format. For example: 2014-27-02 23:46:05. It must do some very interesting conversion back into a standard format. When I tried to check using the format that the date is stored in within the collection using (Y-m-d H:m:s) it failed to pull back any records. Maybe because MongoDate is trying to parse that from the expected strToTime number. That’s weird though because that wasn’t even working when I wasn’t using MongoDate. It’s a question I must ask on the forums when I eventually get around to creating an account.

As you can see, I’m still learning and in a lot of ways this is really frustrating. I could probably do with reading a few books on these subjects but where’s the fun in that? I rather learn as I go along.

Feb 172014
 

working with MongoDB seemed easy at first.

It isn’t available in the APT repository and compiling it on the Raspberry pi is a little different so I followed this very helpful guide.

That got me up and running so next I had to learn a little more about MongoDB. Fortunately, the MongoDB manual is fantastic so This section told me everything I needed to know to create my first database and collection. Note, collection is similar to a table in SQL world.

Next, I wanted to dive right in and connect my Python application that is taking data over serial from my Arduino. The idea was to add this data to a collection in MongoDB so that historical graphs could be generated. With a quick Google search, I found This quick tutorial that shows the basics of Python and MongoDB. Armed with a little knowledge I successfully learned how to add data to my new collection in MongoDB. Everything was working perfectly.

That was on Friday night. Saturday was a very busy day so I didn’t get near this stuff at all until late on Sunday. With a lot of frustration, I found that no data was shown in MongoDB any more and MongoDB was frequently hanging without providing me with a prompt. This seemed to be any time I tried to use the db operation. I was absolutely certain that data had been written to the database and collection so I set about trying to find out what was going wrong.

First, I checked the logs in /var/log/mongod/mongodb.log. All they were showing me were the connection attempts.

Then I looked at the ocasional time out error message that I was getting from within the MongoDB shell. Still nothing useful.

I even tried searching forums etc for some hint of what might be going wrong.

I found two useful pages that I’ll keep for future reference but unfortunately, they were of no help with this problem. This is a forum post that someone created when MongoDB seemed to be hung. and This one shows how to troubleshoot hanging issues.

I decided to try running MongoDB as a user run process instead of a system daemon. Of course, then, i was using the default settings so I thought that it might show me if anything was going wrong with the settings in /etc/mongo.conf. No. All I got was a message about the dBPath not set. This was of no use to me because I quickly found out that in /etc/mongod.conf, the DBPath was set to /var/lib/mongodb/. However, this pointed me toward looking at the permissions on that folder. I had set them while installing MongoDB but I thought I’d check again to be sure that the permissions were set recursively for child files and folders. Again, this wasn’t the problem, however I noticed a file called mongod.lock. I thought maybe this was a place holder to show that the database was locked so I tried moving that file out of the /var/lib/mongodb directory. Sure enough, I made a little more progress. The show dbs command was still causing the MongoDB shell to hang. I deleted the databases that I created while working with Python earlier from the /var/lib/mongodb/ directory and this let the show dbs file runn a little longer but it was still causing MongoDB to freeze. I deleted the MyDB database that was created when I was learning MongodB first as well and the command completed successfully. Of course, I was very aware that I had deleted files from the file system and the databases were still there but were probably now corrupt within MongodB so with another quick search on Google, I found the short command to delete databases from within MongoDB. I also found the command to drop mongoDB collections as well but I don’t particularly need that at the moment. Handy to have for future reference of course.

So, after deleting the files and deleting the databases within MongoDB, the system is working perfectly. However, I hear you say, “There’s nothing in the system, of course it’s running perfectly!” Your absolutely right, but for the moment, there’s no locking so I@m going to hope either one of the tutorials / forum posts were wrong or it was just something in one of the databases that became corrupt.

Feb 092014
 

It’s been a while since I’ve given you an update on how Méabh is getting on.

In terms of her development she’s doing brilliant.

Here are a few things she’s actively doing.

  • Trying to role. Occasionally she successfully gets onto her back from lying on her belly.
  • Putting her hands out when you’re going to pick her up. That only started today.
  • Actively grabbing toys and moving things. This started about six weeks ago but the actions are becoming much more deliberate and much more accurate. Tonight, Méabh figured out how to push and pull a rolling thing full of beads on one of her toys. Fine motor control obviously is quite some time off but it’s really fascinating at how regularly she learns new skills.
  • When Méabh is learning something new, or she’s really focusing on something that she’s doing for the first time, she puts her chin on her chest so her head is looking straight down and she stays like that moving her arms until she makes something happen.
  • She is expecting / anticipating a lot more and in turn, we are anticipating her reactions much more accurately as well.
  • Sleeping constantly through the night is still hit and miss however that’s to be expected for a long time yet. However, we are now working on establishing a firm bed time routine so I’m hopeful that even if this isn’t working in a week, Méabh will be more comfortable. Mainly, she will begin to learn what signs to expect before bed time so she can associate it with a relaxing time.
  • We are walking with her in baby carrying slings a lot these days. Although we have a really good pram, we have actually gravitated toward baby carrying. It’s very comfortable and more convenient in most situations.

These are just some of the things that Méabh is doing or starting to do at this very early stage of her development. People constantly comment at how active and alert she is. She doesn’t nap much if at all during the day but this would appear to be due to her constant interest in what’s going on around her.

Emma is continuing to do exceptionally well. I know that I would not do so well if it was me staying at home every day. It is important to say that Méabh’s thriving development is a reflection of all the time Emma spends interacting with her.

Jan 122014
 

In work at the moment, I spend a huge amount of time in massive list views. These list views could have thousands of items and up to 256 columns. At first, reading them with Jaws was one of the most stressful things I’ve ever done. The customize list view scripts don’t work because of a bug in the user interface of this application. Every time focus changes to or away from the main application, the control that previously had focus will no longer have it when you return to the main window. It is a torturous situation to be in because when I’m in this application, I need information quickly and accurately. Also, most of the columns contain numbers that are very important so for the first week or two of starting in my new job you’d find me with my head down in major concentration mode trying to listen to Jaws fly through all the columns so I could pick out the tiny nugget of information that I needed from column 10 or worse, 210. I’d finish the day completely exhausted from this effort so I badly needed a solution.

Jaws has a script that will allow you to read the first ten columns of a list view but this is stupidly limited when you consider that this only allows a user to intentionally work with ten list view columns. What I needed was a script that would let me walk forward and back through each column from the beginning to the end of that item. If I found something that I needed, I could then listen to it and it would be clear. You would not believe how much easier this made my day. However, it became clear that I couldn’t always trust myself to remember all the information that I was being given by Jaws when working through these list view items so I decided to expand the script a little to add the current column into the virtual viewer. This is handy as I can then examine the text character by character if I need to and I can use the clipboard to store that text if I need to use it in notes or SQL statements that will pull more information from the database again, this minor change made things much easier for me.

However, there was one more thing that I needed. When sighted people were using these lists they could compare two items visually much faster than I could with my scripts. Yes, the column I was on was retained even when I was on different list items so say / virtualize current column worked very well. However, it wasn’t quite what I needed for every situation. The next solution has proven to be even more helpful than the first. Now, when I choose to, I can virtualize the entire list item so using the virtual viewer, I can arrow up and down the list of column headers and the text within each one to get the data in the best format for me to understand quickly. Thanks to some excel queries, I can virtualize two columns then use a dif function to work out the differences much faster than anyone who can see.

These scripts have actually changed the way I work with list views. I really hope they are helpful to you.

Disclaimer: I won’t support these. I’m not a script writer; I sometimes manage to scrape scripts together with the help of others or by taking script chunks from existing scripts written for Jaws. In this instance, I butchered a few other scripts to make these. Moving back and forward through list items works very well but for some reason, the count is slightly off so you may find that you need to move to the next list item twice to make it actually go forward.

I added these to my default scripts because I needed this functionality in a number of applications after a while. Add them where ever you like. At the top of your file in the globals section, you need to declare a variable for holding the current list column number. The line is below:


int CurrentListColumn

Remember to add a comma from the previous variable declaration or your script won’t compile.

Here are the scripts. Add them to the bottom of the default file if you choose to use that. Remember to also assign keyboard commands to each script. I’m sorry, but if you aren’t particularly sure how to do this, you may need to ask the Jaws script mailing list or read the script help topics. I cant promis to help you out as I’m busy enough as it is.


Script ReadNextListviewColumn ()
var
int nCol,
int nMaxCols,
string sHeader,
string sText,
handle hCurrent,
int nCurrent
If (CurrentListColumn<1) then
CurrentListColumn = 1
EndIf
If !(GetRunningFSProducts() & product_JAWS) then
return
EndIf
let hCurrent=getCurrentWindow()
if !IsTrueListView(hCurrent) then
sayMessage(OT_ERROR,cmsgNotInAListview_L,cmsgNotInAListview_S)
return
endIf
let nMaxCols=lvGetNumOfColumns(hCurrent)
let nCurrent=lvGetFocusItem(hCurrent)
let nCol=CurrentListColumn
let sHeader=lvGetColumnHeader(hCurrent,nCol)
let sText=lvGetItemText(hCurrent,nCurrent,nCol)
say(sHeader,OT_NO_DISABLE)
say(sText,OT_NO_DISABLE)
say(IntToString(CurrentListColumn),OT_NO_DISABLE)
if (nCol < nMaxCols) then
CurrentListColumn = CurrentListColumn + 1
EndIf
if (nCol > nMaxCols) then
SayFormattedMessage(OT_ERROR,formatString(cmsgListviewContainsXColumns_L,intToString(nCol),intToString(nMaxCols)),formatString(cmsgListviewContainsXColumns_S,intToString(nCol)))
return
endIf
EndScript

Script ReadPreviousListviewColumn ()
var
int nCol,
int nMaxCols,
string sHeader,
string sText,
handle hCurrent,
int nCurrent
if (CurrentListColumn > 1) then
CurrentListColumn = CurrentListColumn - 1
EndIf
If !(GetRunningFSProducts() & product_JAWS) then
return
EndIf
let hCurrent=getCurrentWindow()
if !IsTrueListView(hCurrent) then
sayMessage(OT_ERROR,cmsgNotInAListview_L,cmsgNotInAListview_S)
return
endIf
let nMaxCols=lvGetNumOfColumns(hCurrent)
let nCol=CurrentListColumn
let nCurrent=lvGetFocusItem(hCurrent)
if (nCol < 1) then
let nCol=1
endIf

if (nCol > nMaxCols) then
SayFormattedMessage(OT_ERROR,formatString(cmsgListviewContainsXColumns_L,intToString(nCol),intToString(nMaxCols)),formatString(cmsgListviewContainsXColumns_S,intToString(nCol)))
return
endIf
let sHeader=lvGetColumnHeader(hCurrent,nCol)
let sText=lvGetItemText(hCurrent,nCurrent,nCol)
say(sHeader,OT_NO_DISABLE)
say(sText,OT_NO_DISABLE)
say(IntToString(CurrentListColumn),OT_NO_DISABLE)
EndScript

Script VirtualizeCurrentListColumn ()
var
int nCol,
int nMaxCols,
string sHeader,
string sText,
handle hCurrent,
int nCurrent

If !(GetRunningFSProducts() & product_JAWS) then
return
EndIf
let hCurrent=getCurrentWindow()
if !IsTrueListView(hCurrent) then
sayMessage(OT_ERROR,cmsgNotInAListview_L,cmsgNotInAListview_S)
return
endIf
let nMaxCols=lvGetNumOfColumns(hCurrent)
let nCol=CurrentListColumn
let nCurrent=lvGetFocusItem(hCurrent)
if (nCol < 1) then
let nCol=1
endIf
if (nCol > nMaxCols) then
SayFormattedMessage(OT_ERROR,formatString(cmsgListviewContainsXColumns_L,intToString(nCol),intToString(nMaxCols)),formatString(cmsgListviewContainsXColumns_S,intToString(nCol)))
return
endIf
let sHeader=lvGetColumnHeader(hCurrent,nCol)
let sText=lvGetItemText(hCurrent,nCurrent,nCol)
say(sHeader,OT_NO_DISABLE)
say(sText,OT_NO_DISABLE)
say(IntToString(CurrentListColumn),OT_NO_DISABLE)
UserBufferClear ()
UserBufferAddText (sHeader)
UserBufferAddText (sText)
UserBufferActivate ()
SayLine ()
EndScript

Script VirtualizeAllListColumns ()
var
int nCol,
int nMaxCols,
string sHeader,
string sText,
handle hCurrent,
int nCurrent

If !(GetRunningFSProducts() & product_JAWS) then
return
EndIf
let hCurrent=getCurrentWindow()
if !IsTrueListView(hCurrent) then
sayMessage(OT_ERROR,cmsgNotInAListview_L,cmsgNotInAListview_S)
return
endIf
let nMaxCols=lvGetNumOfColumns(hCurrent)
let nCol=1
let nCurrent=lvGetFocusItem(hCurrent)
UserBufferClear ()
while nCol<=nMaxCols
let sHeader=lvGetColumnHeader(hCurrent,nCol)
let sText=lvGetItemText(hCurrent,nCurrent,nCol)

UserBufferAddText (sHeader)
UserBufferAddText (sText)
LET nCol = nCol + 1
EndWhile
UserBufferActivate ()
EndScript

Jan 062014
 

Work on the Arduino and the Raspberry Pi is ongoing. So far, I’ve made Led’s flash, used a light meter to determine when the LED’s are on and off, taken the temperature of the room and moved a camera using a Servo. On the Pi side, I’ve set up Email alerts when motion has been detected by the phone and I even found an application that supports push on the IOS platform so I may even be able to get the Pi to send alerts directly to my iPhone.

I’ve encountered a few challenges of course. Almost all of the tutorials for the Arduino use a delay function to pause when the servo is running or when the motor is spinning but that’s no good when you need the loop to continue processing while all of this happens. So, I looked into a few alternatives. Using a counter to count the milliseconds since the device was turned on was fine but this would need to reset after 34 days which would cause a problem with the timing of the loop. I then tried a library called ElapsedMilis. This works fine but I had a lot of problems figuring out the logic. I got there in the end though but unfortunately my approach wasn’t completely sound.

After asking a question on the Arduino forum I was pointed in the direction of another library called Delay Timer. I don’t think it’s released because when I included it first in one of my projects I had a bit of debugging to do to get it working. I must subscribe to Git Hub to suggest my changes. Unlike my previous approach, with this library, I can use as many timers as I want. The last time, I was using one hardware timer and a number of intervals to try to mark when functions should be executed. This should have worked fine in theory but the problem is that the loop is processed so quickly that it can run through the process too quickly and miss an important event. With this new approach, I can have different timers running concurrently and I can check each one. When it is time to execute that function, the timer resets again and its place in the loop is never lost.

Of course, it’s not all programming. Some of this work is also about putting the components together and making it sit properly. One problem I was having is that the servo was generating too much vibration. This would cause the camera to constantly think it was detecting motion. I came up with the great idea of using a bit of Velcro to help mount the servo to the side of the Raspberry Pi and then Velcro the camera board to the moving part of the servo. Now, the vibration is absorbed by the servo. It’s funny the solutions that show themselves when you’re stuck.