Getat PAM homage arrived.

IMG_2234 After some time of waiting and finding my Hong Kong tracking number didn’t work and getting a new transaction produced, delivery from Hong Kong with a working tracking number took about 4 days total. So now I know that the original shipment was never actually made or forgotten about.

Here is the homage – sandwich dial, 100M water resistance (swimmable), manual wind, closed back, simple band which is rather nice, very good lume, roller lever, etc. Setting the time is a little wonky as pulling the crown out works but sometimes slips and needs pulled out a little further in order to move the hands. No AM/PM to worry about as there is no date window. Just a simple sweeping seconds hand and the hour minute hands. Sapphire crystal.

After all the wait, is this watch worth waiting for? I’d say yes, as painful as the very long wait ultimately became (well over a month). Very simple, very elegant, and it should prove to be a nice beater. The G. Gerlach is on it’s way from Poland and will take main daily duty (besides Apple Watch). The Rolex will be just for fancier occasions. I am not sure what to do with my Seiko diver at this point since it’s an AWESOME beater watch. My son is ten years-old – perhaps he might be old enough to sport such a thing. Or I could wait a few years on that one.


That’s pretty decent lume after only a few seconds under iPhone flash. 

Bose QC35 and bass heavy tunes.

0017817725453_QC35_sl8_F.jpg

If you have recently picked up a pair of Bose QuietComfort 35 wireless headphones, throw the song “Unfinished Sympathy” from “Collected (Deluxe Edition)” by Massive Attack at them. That track has some impressive bass in the intro and contains intricate instrumentation. Make sure your headphones sit snug against your skull and enjoy. You might be surprised at the response.

Continue reading “Bose QC35 and bass heavy tunes.”

Tagged : / /

Morning setup

To the left of my keyboard: Joylent in a green Ambronite shaker bottle. To the right of my keyboard sits a vacuum insulated tumbler loaded with c&S coffee. Around my neck: Bose Quiet Control 30 headphones pumping out BT (A Song Across Wires) from my Mac – without wires 🙂 Three monitors (leftmost Macbook Pro screen), center a 26″ Dell, to the right of that another 26″ Dell, in a vertical position for coding). I have USB to HDMI to get the third monitor working from the Mac (not using displayPort).

[mixvisor artists=”BT” id=”576a996d6076285a48278f53″ ]

 

Tagged :

Sound spectrum analyzers on iDevices

I’m surrounded by expensive equipment that I don’t know how to properly engage. So I bucked up and got a sound spectrum analyzer for my iPhone. I need to detect specific bands and thus needed to search hard. 

I’m wondering how accurate these microphones and analyzers are. It seems pretty accurate. The polling looks quick enough and I’m generally seeing what I expected. Just curious. If I need to I can always go back to the series equipment and ask for help. 

Getat Shipping SNAFU

Homage watches in general produce a lot of furious back and forth in the watch world. Some people think that getting an inspired piece for far less which maintains the character of a much more expensive watch. Others view that as blasphemy and if you want a watch, get the real thing. Homage watches are not replicas – they do not mention the name of the brand they aspire to in their design and presentation. From far away you wouldn’t know the difference. And that’s the crux of the problem.

Anyway, I bit on a PAM homage a while ago – knowing I can’t slap down that kind of cash with the kids in school, moving, about to get new automobiles, etc. I wanted to see what it felt like to sport it – and it has 100m water resistance so I figured it could be worn as a beater. I decided to order from Getat in Hong Kong.

Silly me. A month later (more now) I emailed and told him that my tracking number still did not work. At this point I gave up all hope. I was told that he updated Paypal and to check it out. He cancelled my previous purchase and then put it through again – and gave me a new tracking number. That one actually works. I think he may have forgotten to actually ship anything – lest I get two watches in the post eventually?

I am pretty upset at this point and wrote the whole thing off in my mind. With a G. Gerlach Enigma on it’s way from the motherland, I know which watch will be my beater. If the PAM homage ever arrives I’ll be quite surprised. Let’s go Polish Post 🙂

Update for Jun 23, 2016 (post).

Getat came through after a what seems to be a dropped ball. Or a bad tracking number. Since he sent a new watch, it makes me think that the first shipment email from Getat was false. After an order and try to forget situation, a great watch arrived. Already received one comment on it today about how nice it was (from someone who knows nothing about watches).

Daily watch beater: Seiko SKX013K2 to G. Gerlach Enigma

gerlachmove

When not wearing my Apple Watch or more more expensive pieces, my daily beater has been a great Seiko SKX013K2 diver. Automatic, Day, Date, sweeping second hand, incredible lume, and 200m water resistance. This thing has been banged against car doors, door jams, and more without skipping a beat. Very accurate time. Honestly – it’s been a watch that wears easily.

I have since discovered G. Gerlach and their retro-styling. The fact that they are a Polish watch company of great renown is a large bonus. I think they have been around for about three years or so. Look at that Gerlach… it’s beautiful, has a double-domed sapphire crystal with a great AR coating. Date. It’s quartz but it doesn’t have a second hand (so you don’t need to see a cheap looking second tic). So it’s quartz under the hood (accuracy), but has a mechanical chronograph function. A three watch battery. I love automatics, but if this thing has a three year lifespan between batteries, I don’t need to even worry about it. 200m water resistance too. A definite upgrade for a beater watch and it looks a lot better than the Seiko on a NATO. And it’s Polish. Perfect.

Just throwing this out there in case someone is interested in G. Gerlach and a fantastic daily beater.

Swift: Bose SoundTouch device discovery using Bonjour

Are you a developer wanting to use the Bose SoundTouch Developer APIs to create an experience that drives SoundTouch devices? Are you interested in implementing Bonjour discovery AND resolving IP Addresses without using Objective-C and a bridging header?

Well. There is a kick start project on Github that does this very thing. It’s a Swift project that searches a Wi-Fi network for Bose SoundTouch devices, and then makes calls to each via their IP Address to get their Mac Address, device type, and more. Pretty cool.

Swift: Bonjour, NSNetService & IP Addresses

Good morning. At least it’s a good morning here. I have recently been exploring Bonjour in Swift – I have never investigated Bonjour as a concept as networking is one of the weaker areas of my coding ability. However recently I’ve needed to look into it for work reasons.

I had been able to scan the network for a certain protocol and find devices on the network. I’d get their name but needed to resolve their IP Addresses which are not immediately available upon discovery.

I’d been using some Objective-C code and a bridging header to resolve the addresses. So here is what I was using.

-(NSString* )IPAddressesFromData:(NSNetService *)service {
    for (NSData *address in [service addresses]) {
        struct sockaddr_in *socketAddress = (struct sockaddr_in *) [address bytes];
        //NSLog(@"Service name: %@ , ip: %s , port %i", [service name], inet_ntoa(socketAddress->sin_addr), [service port]);
        NSString *retString = [NSString stringWithFormat:@"%s", inet_ntoa(socketAddress->sin_addr)];
        return retString;
    }
    return @"Unknown";
}

Now, while this works, it’s a clutter as I wanted to keep all the code in my Swift project… Swift. Surely there had to be a way. After a quick post to StackOverflow, I was redirected to a post with some relevant code. And now I have this (directly in a NSNetServiceDelegate method).

func netServiceDidResolveAddress(sender: NSNetService){
    let theAddress = sender.addresses!.first! as NSData
    var hostname = [CChar](count: Int(NI_MAXHOST), repeatedValue: 0)
    if getnameinfo(UnsafePointer(theAddress.bytes), socklen_t(theAddress.length), &hostname, socklen_t(hostname.count), nil, 0, NI_NUMERICHOST) == 0 {
        if let numAddress = String.fromCString(hostname){
            print("CONVERT IP: \(numAddress)")
        }
    }
}

Would you look at that? A pure Swift solution. I’ve since removed my Obj-C class and bridging header and now everything is so much cleaner. And seriously – faster.

A quick Joylent review

Joylent-04-1800x1200

Since I finally received my package of Joylent, I’ll start with a quick review of it. I purchased four bags of strawberry and one bag of vanilla. That’s supposed to be 15 meals. The bags, once opened, are very easy to reseal – a la ziplock mechanism. That’s a huge plus from me.

Drink

The first strawberry mix went fine – into the new Joylent shaker bottle – and I used cold tap water. I mixed it up and had it for breakfast. The strawberry flavor was slight, and the texture was slightly… pulpy. Compared to Soylent 2.0, the flavor was acceptable. The enjoy the oats/powered milk flavor of Soylent, this approaches that – but it’s blander. Hence the added flavoring which does it’s job of punching the flavor a tiny, tiny bit.

Ambronite comparison

Compared to Ambronite, it lacks the overwhelming flavor and hearty ingredients. Ambronite so far is my favorite – but it’s very expensive and I also need to augment the it’s base flavor by adding powdered peanut butter or I can’t palette it. I feel wonderful after having Ambronite. If it was half the price, I’d stock up on it. Until that day, I am searching for something that works best. I’m waiting for Huel to become available in the United States. I’d like to kick it’s tires too.

So the first Joylent was fine. It was filling – I filled the bottle to the top. I wasn’t blown away, but I’ve read that it’s a bit healthier than Soylent. I prepared a Joylent for breakfast the next day and put it in the refrigerator overnight. It felt much “pulpier” in the mouth – almost like runny tapioca. The taste was honestly the same – quite slight. I do not think putting Joylent in the fridge overnight or having it very cold changes the taste at all. It makes it feel thicker in the mouth though. Does this translate into tricking the stomach into being more full? I’d say no. So – don’t bother using a blender with ice cubes or putting it into a refrigerator in the hopes of altering the taste.

My third Joylent I had for lunch on the same day. A quick mix with cold tap. I feel a little more full after having a full shake of Joylent than a bottle of Soylent 2.0.

Each 1/3 of a bag of Joylent = about 700 calories. Each Soylent 2.0 bottle is 400 calories. So I need to be careful here, or use less powder per Joylent (and increase the water). Else I could end up packing on some weight. For sure no three Joylent a day.

We’ll see how it goes…

If price were no option

  1. Ambronite
  2. Joylent
  3. Soylent 2.0

Taste rating

  1. Soylent 2.0
  2. Joylent
  3. Ambronite

Joylent shipping time to Boston, MA

My order took a very long time to arrive.

  • I placed my order on 5/16/2016 and I emailed them on 6/1/2016 about my concern.
  • On 6/5/2016 they told me it shipped from their New Jersey warehouse and that I would receive a tracking number soon. New Jersey is quite close to Boston, FYI.
  • On 6/7/2016 I emailed again about no tracking number and was told New Jersey was not completely set up and running. They offered a discount on a future order.
  • 6/7/2016 they offered to refund my shipping cost.
  • 6/9/2016 they offered to send to me from Amsterdam if I didn’t get a tracking number by the weekend.
  • 6/10/2016 the package arrived (slightly tattered) without me ever having received a shipping tracking number.

I’m glad it showed up at all. Time was closing in on a month. If I like it, I’ll take them up on a deep discount for a second order. I am still waiting for Huel to become available in the United States.

Tagged :

Multi-platform API for Google Nearby Messages

I happened upon a video presentation from Google I/O 2016 that I felt was interesting. It was called “Introducing Nearby: Physical proximity within and without apps – Google I/O 2016”. I present it here for your viewing convenience.

At the 9:27 mark a feature is described as “Earshot”. This means that for devices to discover one another, they need to be within 3-5 feet of one another. Obviously this uses an ultrasonic modem. I was quite interested in this feature. BLE and BT can bleed through walls, and I wanted discovery to be limited to a room and by near field.

So I started developing for iOS using cocoapods. It’s fairly straight forwards as I went through some tutorial code supplied by Google at their Messages API center. Nearby Connections and Nearby Notifications are Android-only silos.

I began to see differences in the APIs for Android and for iOS in regards to the Messages API. What is seen in the recent I/O video above, a setDistanceType(DISTANCE_TYPE_EARSHOT) does not exist for iOS. There is a lack of parity there. For iOS, one needs to create a GNSStrategy object with GNSStrategyParams with a discoveryMediums of Audio. These equate to the same thing. But you might not know that and beat the trees for parity you won’t find.

Okay, so the APIs and documentation for iOS needs updating since Earshot was mentioned explicitly for Android in the presentation.

The iOS APIs have many deprecations – which is fine. But the documentation supplied doesn’t offer snippets or method signatures for what new methods replace them. Really? I have to StackOverflow questions for answers? Thankfully those in the know watch the Nearby tagged questions religiously – for I got answers within hours.

Please assign some people to update the documentation and perhaps rail out a Swift version. I don’t mind bridging headers, but those are probably going away in the near future.