Fixing my first problem with MongoDB.

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.

Méabh is now four months. Here’s a quick update.

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.

Jaws scripts to virtualize list view items.

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

Progressing slowly with the arduino and the Raspberry Pi

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.

A blind person can use the Arduino. Just about.

Continuing on with my Raspberry Pi and Arduino experimentation, I’ve been trying to get a few minutes here and there over the past two days. Christmas is always a very relaxing but very busy time for me. I’m spending time with family and friends and I try to do very little with technology considering I spend so much time in front of a computer during the rest of the year. This year is very different. It’s still as busy as ever but when I get a free moment, I can’t wait to jump back into the RP. RP from here on in will mean Raspberry Pi in case you’re not sure.

Firstly, I had a few questions sent by Email after the last post. All of these questions are asked on the Raspberry Vi website but I’ll briefly give you a few answers here.

  1. Is Speakup supported?
    Technically, Speakup is supported by Raspbian but issues with the sound card integrated with the GPU on the device have caused a lot of problems in relation to software synthesis from ESpeak and other synthesizers. It may be possible to connect something like an Apollo2 to the RP via serial to get that talking. If someone wants to send me over a cable that will connect to the pins on the RP I’d be happy to try this.
  2. Is there any accessibility in the graphical environment?
    Raspbian uses the LXDE Window Display Manager. Orca works with Gnome and the KDE screen reader has a long way to go. Theoretically if Orca is running in LXDE and you start an application written using GDK Orca will work quite happily. However, it is worth remembering that the RP is a low power device. Even with a really good memory card at 96MB read and 92MB write speed the performance will not be nice to work with. My card is 45 write 48 read. Or something close to that.
  3. Is there sound output?
    Yes. Through the line out port and through HDMI if your television supports this.

I think it’s important to understand that the Raspberry Pi is not meant to be a high power device. It is primarily a tool that should promote learning by children. For someone like me, it’s a low cost device that is really useful for experimentation. If I break it, it’s not the end of the world. If I cause the system not to boot it won’t take long to fix.

The great thing for me is I have kind of fallen away from using Linux all that actively at home. I use it on servers a lot but I rarely use it for playing with Python or trying out new packages or configs.

I bought an Arduino a year ago with the best intentions of trying out a few things that I had heard about with the added aim of getting involved with the local maker space. Unfortunately to my annoyance, the Arduino IDE wasn’t accessible to me as a screen reader user. This meant that the kit that I bought has gone on unused for far too long. Thanks to a really brilliant little tool that I found while casually looking around last week, I now have access to compile and upload to my Arduino.

This tool is called Ino. It is exceptionally easy to use. The basic commands are

Ino init Creates a new project.
Ino build Compiles and creates the make file for your project.
Ino upload Uploads the compiled project.
Ino serial Displays the serial output from the Arduino.

You need the Arduino package installed first as well as Python easy_install. There are also a few dependencies listed in the requirements.txt file that will need to be installed before the tool will work.

The great thing is that it allows complete control of the Arduino without ever using the IDE. So, it can all be done using the console via SSH.

All I’ve done so far is use a few sensors and lights to read from the serial port just to get started. I’ve used a few loops, called functions, used include files and set up a few checks using if statements. Nothing too complicated but it’s giving me a starting point. Thanks of course to Emma who is helping me with the very visual side of the Arduino. It’s not possible for me to wire up the board so I need sighted assistance to add new components.

Of course, you would probably get some nice debugging tools using the IDE and the output from ino build isn’t great when it encounters a problem but so far, I’ve been able to debug it manually.

The only terrible thing about the RP and the Arduino is it’s quite addictive when you get stuck into a project. I need to remember that I’ve an 11 week old baby fighting for my attention as well.

First time with the Raspberry Pi

Thanks to Emma and her mother, Santy was very good to me this year. When they asked what to get the man who now has everything he wants, my answer was simple. A Raspberry Pi and a few things that will let me mess around with it.

So, this morning I unwrapped a Raspberry Pi B model, a power supply, an extra-long USB cable for when I want to power it off my laptop, a case for the Raspberry Pi, a camera board and a case for that board. Yes. You read that. A camera board. I want to play around with motion detection, colour detection and generally interfacing with the real world through Python.

First thing that struck me was the amount of tiny boxes. There were boxes for:

  • The Raspberry Pi board
  • The USB cable
  • The power supply
  • The camera board
  • The camera board case
  • The Raspberry pi case
  • The SD card

The second thing that struck me was the tiny size of the Raspberry Pi and the camera board. The Raspberry Pi is no bigger than a credit card. Going from the shortest side with the USB ports facing you, you find from left to right, the LAN port and two USB ports. Turning the device around to the right so that the long edge is facing you, there is one composite port and one audio out port. Continuing this time on the next short edge, you find the SD card reader on the bottom of the board and a micro USB port used for powering the device to the right of this on the top of the board. Continuing on around to the next long edge you find the HDMI port. If your television supports this, audio will also be piped through this port. All the ports are on the top of the card and the card reader is on the bottom.

The camera board is connected by a ribbon cable that is attached at one end to the board. The other end attaches onto the Raspberry Pi just behind the LAN and USB ports. Getting this lined up took sighted assistance from my wife I must admit. I probably could have done it with time but I think I might be getting a bit lazy where this kind of thing is concerned. You will agree with me if you see the camera board. It’s really tiny! The case that you can buy for it is very small as well. The camera goes in to the back. There are two very small place holders at the top that hold it in place. Their hard to find though.

Putting on the case is very straight forward and didn’t require any sighted assistance at all. The only thing I would say here is that getting the four screws in was actually quite difficult. I’d be a reasonably strong person I think but it took a lot of strength to get those screws in. The other thing is, I’m glad that I have a screw driver set for fixing ultra-portable laptops as the screw heads wouldn’t have been compatible with a standard head. The only reason that I mention this is, the Raspberry Pi is meant to be a device that is usable by kids. Getting these screws in would definitely require adult assistance. Either that or last night’s Guinness had more of an impact than I thought.

Preparing to boot it for the first time, I first had to download the Raspbian image to install it to the SD card. I had done this ahead of time by going to the downloads page on the Raspberry Pi website. That’s one of the best download pages I’ve seen actually. So clean and uncluttered and the Win32 disk imager software that I needed to install the Raspbian image onto the SD card was available as a link to make the process really straight forward. I wish I could say the same for the Disk imager site. It’s hosted by source forge, a website that I don’t particularly like. It’s full of pointless regions and the download link is very badly labelled. If you’re looking for the download, you’ll find it by searching for “download the unnamed link”. That’s no reflection on the Raspberry Pi of
course. It’s just worth noting if your preparing to follow the same process I did.

The Win32 disk imager archive is 5.41MB and the Raspbian image I downloaded is 783MB.

I had read previously that the interface for Win32 disk imager was not accessible as it is written in QT and this was certainly the case for me. However, I was able to muddle through. Basic instructions might be useful for other screen readers so if you’re interested, give me a shout and I’ll write them up for you.

When the disk imager process finished, I had a quick look at the SD card. In there, I found a config.txt file. Curiosity of course got the better of me so I went in and had a look. I found an overclocking option so I uncommented it. I had read in a few of the forums that it was safe to do this so I thought it was worth a shot. There was a link to the Raspberry Pi site at the end of the file but after skimming through the page for a moment I decided that I had enough to get started with. I’ll probably tweak this config file a little more when I’ve played around with the Raspberry Pi for a few days.

Right. Now, Raspbian is installed onto the SD card, the case is together with the ribbon cable sticking out and attached to the camera, I have all the cables etc. that I’m going to need sitting to one side so all that’s left is to connect the tiny device to my television. I know the first set up screen isn’t accessible so I’ll need Emma’s help with it but after that, I’ll ensure SSH is enabled and get going.

I’ve also bought a 7 port powered USB hub. The Raspberry Pi doesn’t have enough power to support many unpowered USB devices so when I’m connecting the Arduino to it I’ll need to give it a bit of a boost.

Connecting the Raspberry Pi to the television and giving it power was absolutely no problem at all. Within a minute or two, the set up screen launched and with the assistance of Emma, my wife the system was configured in no time. A few things were a little unusual. For example, instead of selecting your keyboard layout, it wanted you to select the keyboard make and model. The localization screen was also a bit confusing. Over all, the configuration interface wasn’t as snappy or responsive as others that we have used but this is most likely as a result of the low processing power of this device.

Of course, the first thing I changed was the user password. I also changed the hostname and checked for updates. Aside from that, oh, and increasing the partition size, there was nothing else I had to do.

One thing I should have done right away was change the IP to a static address. I have DHCP on this network of course but when I plugged it in to one of the LAN ports in my office, the pi got a completely different IP for some reason. That’s really strange as usually my DHCP server recognises the Mac and continues to respect the lease. You wouldn’t believe how much time I wasted trying to figure out what note on my network the Raspberry Pi was. I have far too many things connected in this house so when it comes to trying to sift through DHCP logs it’s very cumbersome. I gave up and just set the address manually at the end of it.

The first thing I did when I got connected via SSH was update the packages and the firmware. I’m surprised the start-up / configuration wizard didn’t do this automatically. It seemed logical that it would check for all available updates when the option to apply updates was available in the menu.

After a few reboots and some testing, I’m now in a position where I can begin playing around with the pi. I’m really looking forward to this. I’ve read so much online and I’ve bought and read so many books on the subject in the past few weeks that I’m now really looking forward to getting my hands dirty.

The first thing I’m going to do is get something working using the camera as a motion detection light bulb with This handy tutorial as a starting point.

I didn’t use any of the information in this next site during my process of getting up and running with the Pi but I would like to commend their work. It’s people like them that continue to push accessibility forward and I would hope they are recognised for the work that they have done. Please look at the Raspberry Vi website for more details and to get involved. I learned of this project while searching on Google for any accessibility problems I may encounter.

Finally, of course, I have to thank Emma and her mother. I’m into quite a few glasses of wine later but I’ve had a lot of fun playing around with this new toy today.

The Drogheda Traditional Music weekend

Irish traditional music lovers came to life in Drogheda two weekends ago from the 29th to the 1st. of December during the 17th annual Drogheda traditional music festival.

The organizers and the Drogheda arts centre invited musicians from all over the country to entertain at a number of official performances and sessions during the weekend. These performances were well attended and very enjoyable. All venues were very comfortable and there was great respect shown to the musicians during tunes and songs. It was commented by a few musicians on Saturday night that the audience in Drogheda was one of the best they had ever played for.

The sessions were also very well attended by listeners and musicians alike. With credit to the organizers, for the most part, they organized sessions in very centralized and very friendly venues.

I was very fortunate to make it to most of the performances and sessions during the weekend. As Drogheda has a particularly weak traditional Irish music scene, I relished the opportunity to play in my own area for a change.

I have voiced concerns in the past about the lack of traditional Irish music in Drogheda. There is nothing I would like more than to be able to go somewhere local for a few tunes in the evening. For over ten years now, I have ventured to Dundalk, Dublin, Carlow, Limerick and Cork regularly to get my regular fix of tunes but my motivation and determination has just kicked up a gear. There is nothing I would like more than to share the pleasure I get from music with my daughter. I want her to know the opportunity, freedom, enjoyment and relaxation playing music with a few friends can provide. Unlike me, I would like her to have friends that she can join with that have similar musical interests in her own area. The Drogheda traditional music festival is a great way of promoting this tradition in our little corner of the country. It highlights Irish music and brings people together. However, in my opinion, there really isn’t enough exposure given to local musicians. There are some really talented people in Drogheda but they spend all of their time playing music in other parts of the country. These people need to be encouraged to play at home and to highlight the talent that we have locally. Instead, the organizers continue to bring musicians from other parts of the country completely overshadowing our home grown talent.

I mentioned the central locations of the sessions earlier but this of course can have a down side. One of the sessions was in a very nice Italian restaurant called divine. It was a reasonably nice venue but as the session started at around 3PM, Emma and I decided that while we were there we’d grab a coffee and a sandwich. For a coke, a coffee and two sandwiches I paid over €19.50! Now, I’ve paid a lot for a coffee in a really nice hotel in Dublin city centre and I’ve thought to myself that it was a tad on the expensive side. However, that was a really expensive hotel right in the heart of Dublin. Divine is a reasonably nice place in the basement of the Drogheda town centre! It’s far from nice enough to pay nearly twenty quid for a very small lunch! It wasn’t even a nice small lunch! I had to send the wrap back because it was made so badly and Emma’s sandwich had a tiny bit of chicken and a huge amount of onion! Now, my aim here is not to put down a valuable local business. My aim is to maybe make the point that if the aim of having sessions in restaurants is to make them more family friendly then perhaps more family friendly restaurants should be picked. At the very least, their prices should have been discounted ever so slightly for the weekend. In the session that started earlier that day, one of the organizers actually strongly suggested that I go directly to the later session as there wasn’t enough room. Again, if you don’t have room for more than three musicians in a session, that’s a bad location. It’s a nice restaurant there across the road from the art centre but on a Saturday afternoon when it’s busy, maybe it’s not the best venue to get musicians into. That happened twice actually. On Saturday night, the same person who is an organizer of the festival suggested that I should wait until some musicians left before joining the session. As I said earlier, I’ve travelled extensively around Ireland. Not once have I been told that there wasn’t enough room for me to join into a session. It made those around me feel very uncomfortable that a local man would suggest that. I was actually asked later on Saturday night by a visiting musician that I have met at different festivals in the past few years if there was some kind of ill will between me and the organizers. She thought that she picked up a “negative vibe”. I’d like to say here very openly, nothing could be further from the truth. I have nothing but respect and admiration for them. I would love to see more people taking part in this festival and I think they have done an exceptional job. I have a lot of constructive feedback for them and I think there’s a lot of room for improvement in this festival but none the less, I have nothing against any of the organizers.

I have to say, I absolutely loved listening to Donal O Conor, Paul Meehan and Martin Meehan playing in the Tholsel. I arrived late because a session ran on a bit long but as soon as I got there I was drawn in by the tunes. Some lovely slow airs, a few strange tunes with lovely time signatures and a few of nice upbeat jigs and reels. I had Méabh on my knee for the whole time and although two weeks ago she wanted constant entertainment, she was fascinated by the musicians and the music. She couldn’t see the musicians from where we were because her eyes wouldn’t have been that developed but she was so content when they were playing. I was delighted! I danced her on my knee throughout the entire performance and apart from a small squeak during a slow air by Donal, she was very quite and happy. They even said hello to her during one of the tune introductions. She loved Nell Ni Chronin’s singing on Friday night. So she has good taste!

I’m really looking forward to next year’s event. Marcella from the Drogheda Art Centre has suggested that I put a submission together for consideration by the organizing committee. I’m already thinking of what I should include in this.

Failte Méabh

It’s fresh in my mind so I suppose now is a good time to write about yesterday. To say that it began like every other day wouldn’t be an accurate description because for Emma and her mother, it was almost a continuation of Saturday! Especially for Emma’s mother as she didn’t even get to bed on Saturday night. It was certainly busy!

It all began on Saturday at around 11AM. Emma’s mother arrived to Drogheda and immediately the wheels of motion were kicked up a gear. Of course, I had planned things almost five weeks before but Emma and her mother were really adamant that the personal touch was the key so they set about knitting, sowing, baking, cleaning and shopping. A timetable of events had been discussed and agreed and this commenced without delay at 11AM. Of course, as often happens during the lead up to any significant deadline, things go wrong. A fault in a product purchased especially for the occasion resulted in huge upset and torment as what had been a finished master piece had to be dismantled and recreated. This put considerable strain on the plans however, progress was made slowly until 1PM when a gentleman with a particularly feminine voice arrived to cut, shape and style heads. My head was fine so I hid for the duration of his visit. Mainly because there’s only so long I can listen to idle chit and chat about weddings, christenings, hair and babies. Méabh and I escaped for a short while to play with the dog outside while the women were beautifying themselves. I of course explained to Méabh that there’s really no improving on perfection and all this hair and beauty stuff is a big waste of time but I don’t think she really cared. Instead she tried to shove her fingers up my nose which was a very uncomfortable sensation. She obviously already values my opinion as much as the dog values ear medicine. When a considerable volume of hair had been left on the living room floor the preparations continued. Later that day another part of the jigsaw fell into place when two people from very different parts of the country both arrived into Drogheda. Nicky, a great friend for the past 26 years jumped at the chance to be god father for Méabh. Well, he actually didn’t jump. We were in a restaurant in Drogheda at the time and if I recall correctly, he continued sitting at the table. There was no big gesture of disbelief or joyfulness when I made the request but in fairness, I’m sure he knew he was going to be asked which lessened the surprise considerably. The other person to arrive in Drogheda is of course no less important. In fact, she actually may be even more important than the god father. She is the partner in crime of the god father. The poor Girl, let’s call her Jenny for now, actually puts up with Nicky on a regular basis! It is a misconception that Jenny is quiet. She merely conserves her strength so that she can deliver the optimal force necessary for an ear flick when she feels that Nicky has stepped too far out of line. These ear flicks have been witnessed to be quite effective and Jenny should be commended for developing this most difficult of skills. Jenny came on horseback all the way from Donegal. It’s not because they don’t have the facilities that we enjoy in the rest of the world, it’s because they are so generous, and they’ve donated them to Carlow because….. Carlow don’t.

On Saturday night, Emma’s mother was abandoned in our house with a few ounces of milk, a bottle, her knitting, a television, a large supply of tea oh and of course a baby. Again, this was a carefully arranged exit. Ahead of time, we planned to securely lock the living room door and before any profanities could be shouted, we bolted from the house hastily locking the front door and porch behind us. A few seconds later, the area was filled with the sound of a revving car and burning rubber as we retreated for the first independent social gathering since Méabh was born five weeks ago. We met up with Jenny and Nicky for a very nice meal in a local restaurant before adjourning for a single non-alcoholic beverage back at their hotel. It was an early night for some but a very enjoyable night for everyone. When we returned to the house, Méabh had already been taught four styles of knitting! I asked her about it but Mammies funny faces had her in stiches so I didn’t get much out of her.

Because of the remastering of the master piece that had been finished but now had to be remastered, Emma’s mother spent over twelve hours straight trying to complete the finishing touches. Emma was also working hard adding buttons to the christening dress, making the bonnet and adding the decoration to the icing on the christening cake. I felt utterly useless so to keep out of the way, I went to bed. That was actually very effective! You should try it some time. At 3 in the morning, I awoke to find them both still at it. I pleaded with them to take a break but they had their minds set on finishing everything. Fortunately, Emma made enough progress so she was happy to get some sleep for a few hours. I’m glad she did! Could you imagine if she hadn’t slept? I’d probably have been stabbed with a pallet knife by now! I didn’t even know what a pallet knife was until Saturday by the way.

Anyway, the Sun pushed the darkness out of the way on Sunday morning and the day started as it sometimes does. Preparations continued. Méabh had a bath, we showered and Nama got groomed. The house was filthy but we were clean! Emma’s father came over and as previously arranged, I went with him to where we would celebrate after the official part of the christening was over. I wanted to set up the amplification so that music was playing for people when they arrived. I knew that we would be a little late getting there from the church so it would be nice to put some thought into how the place was presented. After that, it was a downhill freewheel until the big event.

At 1PM we arrived in St. Peters church in West Street. Ten and a half months earlier we were married in this same church so it was really nice to go back so soon to christen our first child. St. Peters is also where my grandparents on my mother’s side were married 56 years ago. It’s a spectacular church right in the centre of Drogheda but it now holds a lot of meaning for us. When I walked in, I was a little worried as the church was empty aside from people that we had invited to the christening. Usually there can be up to ten babies christened at one time so I expected the church to be a hive of activity. To our delight, we were told that Méabh was the only baby to be christened. Father Jim came out to us a short time later and began the service.

Now, I am not a religious person. I’m not going to go into it. Everyone has the right to their beliefs or lack thereof. I respect every belief but I don’t share them. Getting Méabh christened was something that I felt I had to allow happen. Of course, Emma had an equal say in this. What I mean is, although I don’t share the same beliefs as the church, I recognise the impact of not having a baby baptised. This impact manifests itself socially in early years when other children are preparing for communion and confirmation but it can have other ramifications in later years for marriage and even a funeral. It would be irresponsible for me to preclude my child from the conventions, and benefits that others in the country share by default because I don’t have the same religious beliefs. It is very unfortunate but that’s the reality as I see it. If the decision impacted me alone, I would not allow myself to be influenced like this but for Méabh, Emma and everyone else in my family, I embrace the religious ceremonies. Now, I’m sorry if this insulted anyone. It wasn’t my intention. The point I am actually trying to make here is, unknown to Father Jim, he made the Baptism of Méabh a very special occasion for me right from the start. He began by saying that a christening is a welcome. It is a welcome to Méabh into our community, into our lives and into our hearts. I felt that it was a lovely way to put it. I believe that church is a necessary social construct that has bound us for thousands of years. I don’t know if the god concept is accurate but I do believe that life is better when people share and contribute to a community. There were about 55 people at the christening yesterday most of whom hadn’t seen Méabh before. The christening was a way of introducing Méabh to them and a way for them to welcome Méabh into our community. That opening sentence for me changed the act of baptism from a pointless tick box filling exercise into a celebration that had a lot of meaning and relevance.

The church part of the celebration finished before 2PM and after what felt like an eternity of picture taking and poses, we left to go to the function room in the Thatch. We had some food and music organized there so it was a really nice way to spend a Sunday afternoon. One of the highlights of the afternoon for me was definitely meeting up with Andrew and Trudy again. Because I’ve been so busy, I haven’t had any time for socializing or playing music so I hadn’t played a few tunes with them since August!

The rest as they say is history. Méabh Caitlín Ní Éiligh was christened in St. Peters church in West Street Drogheda on Sunday 17th November 2013 at 1PM. Godfather is Nicky and god mother is Josie. Incidentally, it was Josie that was Emma’s brides made and Nicky who was my best man at our wedding on New Year’s Eve.

I’m sure I can speak for Emma as well when I thank absolutely every single person who helped and who came to Méabh’s christening yesterday. It was better than either of us could have hoped and I am delighted that so many were there to welcome our daughter into the world and into our community.

Thanks Méabh.

It has been a difficult week in a lot of ways. Mainly because of work but also because by the time I get home, Méabh simply wants to feed or sleep. I have been missing all the activity during the day and when I change her for preparation for feeding in the evening, she launches into hysterics.

It’s unlikely but I think she’s been picking up on my stress in some ways. I have a lot going on in work at the moment and by the time I get home, honestly, I’m in no mood for minding a baby. That’s not good and it’s not what I wanted at this stage but that’s life. Méabh is my responsibility and I have to make time for her even when I’ve been working for 16 hours straight and I feel like doing nothing other than sleeping.

Tonight was a little different. I got to work at 9:30AM and I finished at 7PM. Instead of going straight home, I met up with a few friends in Dublin for a pint or two and that was enough to let the week’s problems wash away for a while. I got home at around 9:30 and by 11PM I could tell Emma was really ready for a good night’s sleep. So I told her to go on up and that I’d change Méabh the next time she started looking for a feed to allow Emma to actually go to bed without anything to worry about.

Emma is brilliant. Because I’m working such long hours, she encouraged me to sleep in Méabh’s room for a lot of days this week. I really want to make sure that I return the favour this weekend by allowing her to get as much rest as possible.

That’s not really what this post is about though. Ordinarily when I change Méabh, she screams the place down and wiggles about like a fish on a hook. Tonight, when I changed her at about 10 past 2 in the morning, she was of course hungry and therefore searching for Emma but the straining against the change of nappy and clothes was much more manageable. In fact, she even paused from time to time when I was buttoning up her baby grow. The main thing she doesn’t like is when I’m getting her hands in to the arm holes but she’s the same with Emma as well.

It was just a huge relief that she wasn’t over difficult for me.

I know that after two weeks I should be fine with all this kind of thing but I’m so afraid of hurting her that when she cries because of a change of clothes, I’m always afraid that I’m doing something wrong.

This whole having a daughter thing is hard but not for the reasons I thought it would be. I’m constantly worried! My ears are ultra-sensitive to her breathing, I’m noticing all her little movements and changes and I’m constantly worried that I’m doing something wrong. Of course, every person who has had a child is assuring me that this is all natural. It’s a pity they didn’t warn me that I’d be this afraid before she was born!

Anyway, I just wanted to say Thanks Méabh. You’ve given me a bit of hope that I’m not doing this completely wrong.

I qualified with Nama this day last year.

Today 18th October marks one year since I qualified with my third guide dog. As any follower of this blog or my updates on various social networks will already know, it has been one hell of a year. In fairness to you, I’ve been saying that almost every year for about five or six years. This past year has been life changing though. Let’s see. I qualified with Nama, I got married, I went on honeymoon and experienced things people could only dream of, I found out I was going to be a father, I changed job and finally I became a father to our beautiful daughter Méabh. Yes. It really has been one hell of a year!

Of course I would have done all this without Nama by my side but it wouldn’t have been half as enjoyable or easy. As I’ve always said, Nama is a bullet proof, resourceful, independent, intelligent, obedient and loyal companion and guide dog. Over both Freddie and Ike he can handle more work, more changes and more upheavals. However, one thing I will say is he’s not gentle at all. I know Ike would be a lot more cautious and a lot easier going around now. Nama is really hardy but he expects everyone else to be hardy as well. That’s the way I like him though.

I’ve written before here about what Nama has been doing in his first year so I won’t repeat myself. Since September however Nama’s work load has really decreased. I have been working a lot from home so I’ve had to artificially boost his work day. I think this has been a very unwelcome change from his perspective because he was really enjoying the work load I was giving him every day. The exercise was also doing us both a lot of good but overall, commuting every day was not doing my personal life or social life any favours. I’ve been commuting for the past ten years so although it’s not really the best thing for Nama, I have to do what’s right for me and my new family. It’s something that continues to weigh very heavily on my mind though.

Nama is full of energy. His idea of a perfect life seems to be an equal balance of constant play and work. With the changes in my work life and the even bigger changes in my personal and family life, poor Nama’s needs have been pushed to one side. I’m really hoping that things will balance out again. Until then, I’m feeling very guilty because he really deserves more than I’m giving him at the moment.

That’s really what this post is about.

With all the changes that we have gone through in the past year, I’m really finding it difficult to juggle everything at once. Take today for example. We were over in my parents’ house for an hour or two. I had to go over to look at a computer problem that my mother encountered last night but because she had cleaned the house this morning I felt bad bringing Nama with me. He has been shedding a lot lately and the fact that I haven’t really had or taken the time to groom him regularly over the past two weeks really hasn’t helped. Anyway, we got back to the house after a while and I knew Nama would be very happy to see us. Ordinarily I’d spend the first few minutes giving him attention, letting him relieve himself and generally making it worth his while waiting for me to get back but today, it was raining and Emma’s not really herself yet so I had to open the house, go back to the car to bring the baby stuff in, go back again to bring in some shopping and then go back to dispose of some recyclable waste that was left over from the packaging. All this was probably done within about five minutes because I ran in and out as fast as I possibly could but I felt very guilty as Nama was moaning and crying in the living room waiting for me to go in to him. I have so many things to do at the moment from taking care of the baby, taking care of Emma and taking care of Nama that unfortunately, for the moment Nama needs to take less of a priority for a while. This leaves absolutely no time for me of course and when I have time to myself, I have absolutely no motivation left to actually get any work done. I’ve taken on some work outside my nine to five work but I’m so far behind that it seems like an absolutely impossible task. I know that it’s just that I’ve taken on a bit more than I can handle at the moment but unfortunately it’s meaning that I’m feeling particularly bad and guilty for poor Nama. Mainly because he’s been so good in his first year of work that I think I should be doing better for him.

Reading back over that it sounds like a poor me post. It’s not. Things will get better. I’ll find more time for Nama and my priorities will get back on track again. For the moment I don’t think I will ever get out of this busy stressful stage but I know it will happen eventually.

The extra money that I’m trying to raise will go into finishing a big chunk of work that I want to do before the end of the year. I know that when it’s all done all of this will be worth it.