What interests me is how methods of software development and deployment are changing so quickly and how this is bringing in new ideas and talent beyond that of the traditional small pool of software developers and engineers.
We are based in Wicklow Town near to the Murrough which is a piece of coastline directly to the North of Wicklow town. Recently a part of the Murrough has been undergoing rather alarming & incredibly fast erosion, differences in the shore line can be observed on a weekly basis. The erosion is occurring mostly at the end of some new rock armour that was quite recently placed to the North of Wicklow town.
Anyway I started to think about how an amateur could monitor the progress of the erosion and maybe plot time-laps type pictures as it progresses, I couldn’t think of any kind of cheap and accessible survey method that could be used to monitor the erosion until I thought of a quadcopter with a downward facing camera along with some offline computer vision software, here’s the kind of thing that I am thinking of:
1.) Fly a quadcopter on a pre-programmed route low over the area of erosion every few days (may need to fly a grid)
2.) Use a downward facing camera on the quadcopter to acquire images of the shore directly below
3.) Use some computer vision software (OpenGL based) to detect features and use them register the images in space to one another yielding a photo-mosaic for each flight.
4.) Use static features (like the rock armour) to register the photo-mosaics from one flight to another.
This may yield a photo-mosaic of the coast from each flight which can be spatially registered to one another (using static features). This could allow us to accurately monitor the erosion as a function of time in detail along this section of coast.
Now if only I had some spare time (oh and a quadcopter)….
In Software Engineering some patterns reoccur only every few years. The blocking queue pattern is on such for me. Here is a great article on an implementation of a thread-safe blocking queue that uses boost for synchronisation:
I implemented something like this some years ago (without the benefit of boost etc.) and now I need one again and I want to make it bang-up-to-date wrt. C++11 and boost etc., so this article is a real bonus, much thanks to Anthony Williams!
Micheál Martin’s recent rather amusing gaffe has left people in a lot of different emotional states ranging from the wringing of hands emotional state to the back-of-clasroom giggling emotional state – but what nobody seems to have taken from his statement is that it’s actually 100% correct:
We Irish _are_ very good at software!
Thanks for noticing Micheál!
Address: 43 Churchgate, Wicklow, Co. Wicklow, Ireland.
Telephone: +353 87 2236429
email: [email protected]
- Code to calculate heading / bearing from two GPS latitude and longitude Points
- Code Example: Convert Decimal Degrees and Minutes (DDM) to Decimal Degrees (DD)
- Simple Wrapper of boost::asio for receiving UDP datagrams
- mktime() always uses local time zone and converts from UTC
- Estimate Solar Azimuth and Elevation given GPS position and time.
- Creating time_t value from a UTC date and time in C
- Speed up Encoding of JPEG images on Embedded System
- libjpeg example – encode JPEG to memory buffer instead of file