I started a branch to develop proper Android Wear support for the popular K-9 mail client.
The last few weeks I was grinding on a strange error.
It would create PendingIntents for the different actions for each individual message.
Because on Wear the messages are shown as a stack and you can act on each of them.
What I found was that it would issue the right action...on the wrong message.
Always the firt message of the notificaiton.
I think I found it.
PendingIntents are not created. They are requested.
If the same PendingIntent already exists, it is returned.
The "same" means same Action, same Data, ... But not same Extras.
The message ID was transmitted as an Extra.
This was no problem up to now, because most people you would only ever have one notification.
But even in the existing code this bug would have hit (and hit hard inc ase of the "delete" action) if you have multiple accounts configured and choose an action on the second notification, you would get it with the parameters of the same action on the first notification.
I'm considering the Android Wear branch of K-9 to be BETA-quality now
and am using it myself daily to find bugs.
I'm regularly using a thread cutter on 3D printed parts to do this instead.
Now I have some solenoid valves with a very strange NPT1/2 thread.
This is a very rare imperial sized, trapezoidal (getting smaller, not staying at one diameter)
thread with only 1,814mm per thread instead of 1mm.
(BTW NPT1/2 isn't even near 1/2" in size. )
So it looks like a perfect test to 3D print the thread without cutting.
Due to the extreme heat recently, I had some issues with my Ultimaker II extended at first.
But int he end it worked out.
Here is the same thread printed in normal quality, high quality(at 200% speed) and ulti quality (40 micron).
The (at first) strange result it, that the thread printed at normal quality was far more clean then the other ones.
...that is until you think about a thread as one giant overhang. A thicker layer-height seems to work better for overhangs as it's not as compressed by the next layer. This is no problem in solid areas bu when there is air below the layer...you can guess.