Vouchers

Skills

Recommendations (73)

Projects (8)

RemoveClickEvents.png

Removing click events in a Windows Form application

Share

When writing a program that has a lot of dynamic controls in it, you have to be careful with registering event handlers onto them. I discovered this the difficult way when one of my applications was registering multiple 'Click' events on a button. This was happening because I was binding a new event on it every time without cleaning up the old ones - so a new Click would trigger all the previous events. This handy little code snippet cleans up all the Click events on a Button so that you can then add a new event handler without any fear!

  • Software Developer

Maidens

Share

In my younger years I enjoyed taking part in debating while in university. One of the more interesting technical challenges to debating is the usage of software to control and monitor the tournaments particularly since there is usually power-pairing algorithms used to ensure that the best teams end up facing each other. This is a problem which modern tab software has fixed but a gap in the market still existed for single-speaker tournaments which follow a different format and scoring pattern to team tournaments. In March 2013, I was the tabmaster at National Maidens which is a national tournament for first year speakers in single speaker format. It was the debut of the software I wrote to remedy this gap and it went off (largely!) without a hitch! I've since open-sourced the project and it's available here.

https://github.com/lorcanthrope/Maidens

  • Software Developer
Python - Traceback example.png

Exception Handling in Python

Share

We recently needed to implement more verbose tracing of exceptions in our Python scripts in order to isolate some errors which were occurring. I decided to use the 'traceback' module for this since it allows you to retrieve all the information from the point where your exception is thrown regardless of where you actually end up catching it. For formatting purposes, I then broke the data returned up into an array and reorganized it. This array now contains the name of the error being thrown followed by each function call from where the exception was thrown to where it was caught. This was a real help for us when we were troubleshooting

  • Software Developer

Work History

Software Developer

SkillPages

April 2011 - Present

Backend development for SkillPages - technologies used include C#, SQL, Python, Javascript and a large portion of the AWS infrastructure including EC2, S3, SQS, SNS, EMR and Elastic Beanstalk.

Co-Operative Intern

Analog Devices

May 2008 - January 2009

This work was part of my industrial placement. I worked in the DAC (Digital to Analog Converters) department under Maurice Egan.

Education

Bachelor of Engineering in Computer Engineering

University of Limerick

September 2006 - January 2011

St. Ita's College, Abbeyfeale

2006

Connections (197)

Lorcan has private updates which are only visible to connections.

Projects (8)

RemoveClickEvents.png

Removing click events in a Windows Form application

Share

When writing a program that has a lot of dynamic controls in it, you have to be careful with registering event handlers onto them. I discovered this the difficult way when one of my applications was registering multiple 'Click' events on a button. This was happening because I was binding a new event on it every time without cleaning up the old ones - so a new Click would trigger all the previous events. This handy little code snippet cleans up all the Click events on a Button so that you can then add a new event handler without any fear!

  • Software Developer

Maidens

Share

In my younger years I enjoyed taking part in debating while in university. One of the more interesting technical challenges to debating is the usage of software to control and monitor the tournaments particularly since there is usually power-pairing algorithms used to ensure that the best teams end up facing each other. This is a problem which modern tab software has fixed but a gap in the market still existed for single-speaker tournaments which follow a different format and scoring pattern to team tournaments. In March 2013, I was the tabmaster at National Maidens which is a national tournament for first year speakers in single speaker format. It was the debut of the software I wrote to remedy this gap and it went off (largely!) without a hitch! I've since open-sourced the project and it's available here.

https://github.com/lorcanthrope/Maidens

  • Software Developer
Python - Traceback example.png

Exception Handling in Python

Share

We recently needed to implement more verbose tracing of exceptions in our Python scripts in order to isolate some errors which were occurring. I decided to use the 'traceback' module for this since it allows you to retrieve all the information from the point where your exception is thrown regardless of where you actually end up catching it. For formatting purposes, I then broke the data returned up into an array and reorganized it. This array now contains the name of the error being thrown followed by each function call from where the exception was thrown to where it was caught. This was a real help for us when we were troubleshooting

  • Software Developer

Bloom Filters

Share

I recently implemented a Bloom Filter for some internal file processing. A bloom filter is an interesting probabalistic data structure modeled around a giant bit array - you take your data set and hash them in order to activate different bits. You can then test your different input values against the filter - if you get back a negative, you know your input value isn't in the filter. If you get a positive, it means it might be in the filter. The error chances of getting a positive for a value that isn't in the filter increases based on there being more items in your data set - but this can be offset by using more hashing functions or starting with a larger bit array.

It's proven very useful in the context I've been using it anyway!

  • Software Developer

Validations

  • Facebook Account Connected
  • Google+ Account Connected
  • SkillPages Premium Member

Contact Details

Phone:
+353872244375
Address:
Grand Canal Dock, Dublin, Ireland