As part of our trip through New Zealand, my guidebook mentioned Poor Knights Islands as some of the best sub tropical diving in the world (and especially New Zealand], so we took 3 days to go dive there with Ocean Blue Adventures. It's a small liveaboard, but they were nice enough to give us the one room (they had some bunks for the rest of the folks), and it was comfortable enough for that duration. The crew of 2 did everything they could to make the trip and diving as nice as possible.
Poor Knights Island is a 2H boat trip from Tutukaka, so it was nice to be able to stay on site and do more dives than the other boats that only did 2 dives per day.
Water was on the cold side (19 to 22C). Jennifer got too cold on her first day due to not putting 2 wetsuits on right away (ideally one would have been enough, but her body just gets colder than mine and then needed more time to recover). She missed a few dives as a result, but enjoyed the ones she did. I did all the dives myself, although 19-21C with a 7mm suit was really on the cold side.
The diving was interesting. There were scorpionfish everywhere, as well as nice nudibranch (some quite fat), and even nudibranch on top of scorpionfish (that was weird):
I totally missed the scorpionfish underneath when I took the picture
There were loads of rays too:
Loads of eels of all kinds:
that poor fish had a tumor
We did one night dive. Lots of little food floating around :)
And that was the conclusion of our 3 days of diving at Poor Knights Islands. It was cold, pretty tough for Jennifer and borderline for me, but it was interesting to see different critters from what we usually see during tropical diving.
As part of our trip to New Zealand's Northland, we flew in an interesting plane I hadn't seen before, an Australian version of a Kodiak. It had very good payload for 300hp, and it only burned about 15gph while carrying 8 people (albeit at 120kts):
The flight was very nice:
We landed on what looked like a sketchy grass runway that went unhill and curved, but our pilot did fine with it :)
Takeoff was also "interesting":
Our flight back was just as scenic:
Russel, where we spent the evening the day before
It was a super nice flight, best way to see North New Zealand. Thanks to Salt Air!
We took an early bus from Auckland to Paiha, the place where all tourists to Northland get dumped :) As my guide book says, the town itself isn't much of a destination, but it's a convenient base to explore locations around from. When we arrived around noon, we were met by the owners of our B&B, Decks of Paiha, who nicely came to pick us up and drove us up the hill to their place. From there, we went for our boat tour of the neighbouring islands. As part of the trip, we got dropped off an island where we hiked a bit for views:
the bus ride was pretty comfortable
the locally famous hole in the rock
we got lucky to see some wild dolphins on the way back
To be honest, the boat trip is probably what people do there, but not what we enjoyed the most. At the end of the trip, the boat dropped us off at Russell across from Paiha, and we hiked to the flagstaff and the beach by Takeka Point. Ironically that was actually free and fun ;)
passion fruit, but not quite ripe yet
After our hike at the beach, we got back to the ocean front for dinner and took the ferry back to Paiha to our BnB:
The last but most fun part of that excursion was going to sand dunes and doing dune boarding:
long climb up :)
Jennifer struggled a bit with directional control :)
After another great flight back, we went to Waitangi Treaty Grounds and learned about how the british went to New Zealand and actually treated the Maori with more respect than they have of any other country they tried to invade. From what I can tell, it's actually because the Maori were bad ass: all the tribes were unified against the british if needed, and they were scary warriors. The british likely feared them which is understandable considering how they look when they do their dances. All this to say, I have much respect for the Maori and I'm happy that it's probably the only native people to a land who stayed ahead and didn't get crushed like most others (Australian Aborigines, US Indians, and so forth).
(but rest assured the british of course still did their best to screw the Maori later, but only managed to do it so much)
where the treaty was signed with the Maori
The Maori gave us a very nice show:
The treaty grounds are also quite nice to visit:
The 3rd day, we had a nice breakfast at our B&B before heading out with a rental car. We then went to Kawiti Glow Worm caves:
you can see the glow worms if you look carefully
Next, we went to the parrot place, which was quite fun:
yeah, scratch me right here :)
very small baby quail
On the way out, we went to see the oldest house in New Zealand, the brick house and rainbow falls:
We finished with a couple of wineries for Jennifer:
From there, we returned our rental car, took a bus to Whangarei and a minivan to Tutukaka where we slept before going to our diving boat the next morning.
This year, LCA went back to New Zealand for the 3rd time. It was great to see the usual suspects again, and this time Jennifer and I used the opportunity to go visit the rest of New Zealand as part of this trip.
For the first year, I went to all 5 years, starting with the openradio miniconf where we built our own radio with an arduino to do tuning before passing on the audio stream to the PC for analysis.
my first surface mount soldering
receiving and decoding the signal
The 2nd day, we built a small robot based off both an arduino and a raspberry pi:
Some pictures from the main conference:
my updated talk on btrfs went well
Tridge gave a talk on ardupilot again, much fun
The LCA Team had an impressive video recording setup they built with their own video capture board:
And after 5 days of great talks and fun, it was over again. See you all next year!
Steve Walch got the Rusty Wrench award this year, well deserved
This year, for the 3rd time, linux.conf.au was in New Zealand, and conveniently in Auckland which is a nice direct flight for us. We arrived 2 days before the conference started, which gave us 2 days to visit Auckland. While 3 or 4 would have been better, I feel that we got the highlights in 2 days :)
Our first day was a bit tough since we landed around 05:30, and went directly to the hotel to drop our luggage and start exploring. Thankfully our flight in business was quite pleasant and the lie down flat beds were very good:
the entertainment system was top notch
The flight was almost over too soon, I'd have happily slept there a bit longer :)
Welcome back to NZ!
After arriving at our hotel around 07:00, we did a portion of the coast to coast walk although we only got as far as the War Museum (which is actually a lot more than just a war museum). We stopped by the botanical garden on the way:
happy bee :)
heavily loaded bee
Finally got to the auckland museum
The museum had one display showing you a simulation of what willl happen when the next volcano errupts around Oakland (and that's just a matter of time, we just don't know when):
Oakland is full of volcanoes
The war museum part is the 3rd floor, which actually was the least interesting to us, but we still went through it quickly:
We then went to the art museum before heading back after a quick dinner (actually I went back out to see a couple of movies at the planetarium that were only showing that evening), and then it was time for well deserved rest :)
The next morning, we took a ferry to Rangitoto, the youngest volcano around Auckland:
we took the easy way up :)
you can still see that the island is volcanic
that's the volcano crater, but you can't really tell with all the trees
nice view of Auckland from there
we went by the lava tubes on the way down
After getting back to Auckland, we went to MOTAT, the museum of transportation:
After MOTAT, we went to Auckland Sky Tower:
you can walk around the top, tethered
That was it for day #2, we were still a bit jetlagged (not just the difference from California, but that we had flown from France 2 days prior), so we were happy to be in bed by 22:00 so that I could get an early start at the conference on monday the next day.
The rest of the week was indeed spent at the conference, but friday night, before leaving, I went to fly a jet auckland to try a 737 simulator again (75mn of flight), and joined Jennifer for dinner at Clooney, probably the best restaurant in Auckland, where we enjoyed a very nice 5 course dinner:
And that was it for our time in Auckland. It's a nice little city that isn't too crowded and we lucked out with the weather.
Code download: Multi Color PWM LED Matrix Driver.
Many LED matrices come with a MAX7219 driver chip or equivalent. Those are great since you program the columns and rows, and they do the line by line scan and refresh for you. Unfortunately, you can't do color mixes with different intensities for each color. For instance the Adafruit LED backpack is super easy to use, but you cannot control each color to mix different shades between them.
Then, I also happened to have some raw LED matrices a dual color one and a triple color one ordered from china, equivalent to these two: https://www.sparkfun.com/products/682 and https://www.sparkfun.com/products/683 . Those didn't come with any driver chip, so that gave me an excuse to program my own code to do line scanning and refresh like many examples you find on the net.
My bycolor matrix has common cathode, green and red on the 2 anodes. Like other matrices you have to disable all the lines, set the rows you'd like for each color, and then turn on the common ground to illuminate those pixels for a little while. Then, you go to the next line, and continue. Many examples do this in the main arduino loop, but I wanted to use Adafruit's excellent Adafruit-GFX library. As a result, I wrote an ISR (interrupt routine) to rrefresh the lines, like an old cathodic raw tube, in the background, while leaving the main loop for programming what you want to do and display. This soon allowed me to display the smiley face bitmap from the Adafruit LED Backpack library.
This was pretty major accomplishment for me since I wrote a generic C++ library that could allocate an array of any size (it supports anything, not just 8x8), and do all the work in the background in an ISR. I then got busy with other projects and hobbies.
Later, I came back to this and added code to support more than one color, and especially support programming an LED array of 1 to 3 separate colors wired either directly or via shift registers, or a combination of the 2 (shift registers save pins, but also make IO 50% slower). By then I was hitting issues where I had to refresh the lines very quickly (200 microseconds) to allow for 16 shades per color and still offer a 40-50Hz refresh rate for the whole array. If my refresh became slower than 200 microseconds, I could not support 16 shades (4 bits per color) without getting too slow and creating an array that would visibly flicker.
I fixed this by doing the following:
Fast Digital IO to make digitalwrite 3x faster and my ISR routine 2.5x faster
Instead of having 16 interruptions for 16 levels per color, I switched to binary code modulation where I could do the same 16 levels of shading with only 4 interrupts instead of 16. This also leaves more time for code in the main loop.
I've published my resulting code here: Multi Color PWM LED Matrix Driver. While it uses more resources than the adafruit backpacks, it's cheaper in hardware and ends up giving more flexibility (many more colors).
You can look at the results here:
The original Adafruit::GFX library doesn't support multi color bitmaps, but I added support for it here: https://github.com/adafruit/Adafruit-GFX-Library/pull/39
After doing the above, I went to add support for Tricolor Matrices, which was not much work, except for adding those 2 bits:
allowing shift registers to be wired to rows in reverse order when it makes wiring easier
3 colors at 16pwm values and 40Hz runs against the speed limits of an arduino nano v3
My tricolor matrix had a common anode which was opposite from the bicolor with a common cathode.
Again, the pictures don't do a good job showing the PWM values because of the CCD trying to capture a consistent amount of light. Also, anything close to white uses all 3 LEDs, this draws too much current from my arduino on the common anode. Before I add FETs or ways to improve current per line, it's still good enogh for demos. This setup uses 2 shift registers for 16 pins (blue and red), while green is connected directly to 8 pins, and 8 pins for common anode (which is where the current for 3 LEDs at once is lacking):