MeshMeld

Melding Technology

Vancouver, BC

Sidemount Diving

A few weeks ago I did my sidemount training here in the cold water off the coast of British Columbia. Having done my pool training up at SFU. And then doing the ocean dives at WhyteCliff. Finishing the certification dive on Nov 11th, made for a great way to spent remenbrance day, at 50ft.

A few interesting things, now that I have a bunch of sidemount dives under my belt. Among them 2 underwater search and recovery dives, and a few fun dives.

If you get a chance to try out a pair of LP50 (low pressure 50s) do it! Rent a set and try it. It is great for a fun dive, light mobile, hard to explain, like almost not having any tanks.

Al80s are fine to dive, I find that adding 2lbs per tank on the cambands makes them more neutral. A set of low pressure steels would be great for cold water.

Not having to worry about the amount of air you have is nice. I should really say, you wont need to worry about being the first one out... If on a set of AL80's you run out before the backmount diver on a single HP100, maybe start looking for leaks?

I have the xDeep Stealth 2.0 BC and have to say compared to alot of the other sidemount BC, it is the most compact and flexible. Stability in the water is excellent, but that is just sidemount in general. I was impressed when I changed from jacket style BC to BP/W (backplate wing). But going to sidemount has just taken that one step futher.

I will document my setup in a coming blog post. As well as the pack weight for warm and cold dive trips compared to my BP/W setup.

V-Strom 1000 2014 Build Up Givi Sidecases

I got the Givi Outback Trekkers and installed them on my V-strom 1000 2014. Have to say they are great cases. Out of the two sizes I got the smaller ones, 37l each, a little too small to fit a helmet, but are only a little bit wider then motorcycle handlebars. Keeping the bike nice and nimble.

As the bike currently stands a lot of stuff has been done, in the last month. I will post pictures of the givi rear rack and luggage as well as the hand guards with LED turn signals.

  • Crash Bars [Givi] [Installed]
  • Hand guards [SW-Motech] [Installed]
    • Hand guards LED turn signals [SW-Motech] [Installed]
  • Skidplate
  • Centerstand [SW-Motech] [Installed]
  • Soft spot protection,
    • exhaust valve [SW-Motech] [Installed]
    • rear brake reservoir [SW-Motech] [Installed]
    • rear brake cylinder [SW-Motech] [Installed]
  • Luggage rack [Givi] [Installed]
  • Luggage [Givi] [Installed]
  • Tank bag

Python pool.map

During some recent data processing, a nifty built-in library was brought to my attention. Multiprocessing pool.map function, short little snippet below.

from multiprocessing import Pool

def process(data):
    print "{+} Processing: %s" % data
    #do something useful

if __name__ == '__main__':
    data = [1,2,3,4,5,6]
    pool = Pool(processes=6)
    pool.map(process, data)
    pool.close()
    pool.join()

In short, you can with one line almost turn any array that needs to be process into a multiprocess map reduce party.

From a python processing, if you have isolated data, this will allow you to scale in a pretty aggresive way.

MessagePack vs JSON

MessagePack is a binary format that is very similair in terms of feature it supports to JSON. Just like JSON it is supported by a lot of different programming languages.

It brings to the table a few intersting things.

  • It is faster then JSON (Under python, I found it slower under windows, but faster under linux. This had to do with the binary package)
  • Smaller, the data dumps are smaller.
  • If the data is UTF8/Unicode, the size can be 20% smaller if not better.

Currently using it in a few projects, will see if I run into any issues with it. Only time will tell.

pygeoip vs GeoIP

Playing around with two different python geoip lookup libraries thought I would mention some of my findings.

The two libraries in question are pygeoip and GeoIP.

pygeoip, is pure python, making it an easier install, but it is SLOW, just how slow? We will get to that. Other then that, it also deals with odd charaters, extra spaces, tabs and other charaters around the ip address handed to it for lookup gracefully, providing a location.

GeoIP, built ontop of the C library, it is a LOT faster, but it is also less graceful. Have an extra tab at the end of that ip? Yup, let me return None, extra space? None... So be aware if you are moving code from one to the other you end up needing to do more data sanitation.

In terms of speed GeoIP is 3x faster then pygeoip. If you are doing a lot of lookups, in my case I am, that accounts for a massive amount of compute time.