Sunday, December 09, 2018

Puerto Rico - Day 6 - Secret Beaches and Shira's Retirement Plan

[Composed 11/25/2018]

A day at the beach is OK. A day at a hidden beach, with a mile hike through a forest to get there, now that's what I'm talking about! Technically, the hidden beach we were exploring wasn't so hidden. The Frommer's Guidebook explains in detail how to get there. Essentially, you walk to the end of Seven Seas Beach, where you find a trail that disappears into a forest. You take that trail and a mile or so later, you pop-out on a stretch of coastline which provides miles of secluded beach access.

Perhaps the best feature of the beach wasn't the beach itself, but the forest it's adjacent to. This provides for shady areas to rest in, just a few feet from the crystal clear waters. After an hour of walking, we found a nice spot and setup for lunch. On a whim, we picked up a can of sterno at the supermarket and brought it with us to the beach. We found 3 remains of coconuts nearby, placed them tightly around the lit sterno can. We then rested a foil packet containing hot dogs on the coconuts and waited for 15 minutes (flipping the foil packet every 5 minutes). The result: perfectly cooked beach hot dogs! With the waves lapping at the beach, the perfect scenery and the delicious hot dogs, it was just about the perfect lunch.

After lunch we walked back towards the Seven Seas beach looking for a place to splash around in the water. As we walked, we passed a number of groups that were enjoying the quiet stretch of coast as much as we were. At least two parties were truly taking advantage of the solitude, by swimming sans-bathing suits. One group was a couple, which I suppose I can appreciate (who wouldn't want to skinny dip with their significant other?). But the other was a larger group of individuals. I just can't imagine how that conversation goes down: Shira and I hitting are the beach this weekend, anyone else up for some nude swimming?. What can I say, my puritan roots are showing.

The only area the beach didn't live up to was the claim that it was an ideal for snorkeling. I tried my hand at snorkeling in a few different spots and saw nothing. Perhaps I needed to swim out further?

After our day at the beach, and a trip to the hotel hot-tub, we went out for a delicious Mediterranean dinner and then hit up the casino. I continue to be amazed at how fluidly the dealers switch from Spanish to English, especially at the blackjack table where it means switching languages depending on the player you're dealing to. What remained consistent from other casinos we've been to is vibe of the blackjack vs. craps tables. Blackjack tends to be filled with new 'kids,' every night; whereas craps was the same old guys playing night after night. If we wanted to feel old, we need only stop by the blackjack table. If we wanted to feel spry, that just took hanging out at the craps table.

Friday, December 07, 2018

Reflective Body Armor. For my running fanny pack.

I picked up a few yards of reflective elastic a couple of weeks ago. While on a night time run, it occurred to me how I could put some of it to use: as a sleeve for my running fanny pack. I figure adding a passive way to be seen at night would pair well with my active measures.

The project was easy enough to do: I split the sleeve into two lengths and attached backing fabric to each. The result were channels I could slide each end of the waist belt through.

If anything, the sleeves are too good a fit. I was expecting to be able to add and remove the reflective cover as needed, but it's tight enough that doing so is a hassle. Ultimately, the tight fit may serve me well.

For now, I'm safety-pinning the two sleeves together, though I have plans to to attach them with Velcro or another fastener. I figure better to get a few test runs in with the setup than commit to an approach now.

Thursday, December 06, 2018

Google Sheets SDR Touch Exporter - Version 2.0

Simone was finding value in my Google Sheets SDR Touch Exporter plugin, but had a suggested improvement. Could I make it so that all sheets in the document are exported, not just the first?

I can, and I did. Check out version 2 of my code in this sample document. And below is the complete source code for the plugin.

I have to say, it was a real treat learning my little script was helping someone!

function onOpen() {
  var spreadsheet = SpreadsheetApp.getActive();
  var menuItems = [
    {name: 'Export Frequencies', functionName: 'sdrFreqExport'}
  ];
  spreadsheet.addMenu('SDR Tools', menuItems); 
}

function sdrFreqExportSheet(sheet) {
  // This represents ALL the data
  var name = sheet.getName();
  var range = sheet.getDataRange();
  var values = range.getValues();

  var doc    = ['<category id="1" name="' + name + '">'];
  for (var i = 2; i < values.length; i++) {
    doc.push('  <preset id="' + i + '" ' +
             '          name="' + values[i][2] + '" ' +
             '          freq="' + rawFreq(values[i][1]) + '" ' +
             '          centfreq="' + rawFreq(values[i][1]) + '" ' +
             '          offset="0" ' +
             '          order="' + i + '" ' +
             '          filter="13686" dem="0"/>');
  }
  doc.push(' </category>');
  return doc.join("\n");
}

function sdrFreqExport() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var doc =  ['<?xml version="1.0" encoding="UTF-8"?>',
              '<sdr_presets version="1">'];
  for(var i = 0; i < ss.getSheets().length; i++) {
    doc.push(sdrFreqExportSheet(ss.getSheets()[i]));
  }
  doc.push('</sdr_presets>');
  
  showDoc(doc.join("\n"));

}

function rawFreq(freq, band) {
  return freq * 1000000;
}

function showDoc(doc) {
  var src = "<pre><![CDATA[" + doc + "]]></pre>";  
  var html = HtmlService.createHtmlOutput(src)
      .setWidth(400)
      .setHeight(300);
  SpreadsheetApp.getUi()
      .showModalDialog(html, 'SDR Export');
}

Wednesday, December 05, 2018

Puerto Rico Adventure - Day 5

[Composed 11/24/2018]

Give me a chance to explore a historic fort and I'm a happy man. And Old San Juan, where we spent the day today, has not one, but two, massive forts that that cover nearly 400 years of history. From the elaborate carvings of a doomed captain in the dungeon, to shrapnel from the Spanish American War, to authentic signs indicating a tunnel containing explosive defenses, to dystopian looking WWII block style observation posts, these forts have it all. As if the history, architecture and amazing views weren't enough, the place is crawling with iguana and other types of lizards. They're so plentiful, that you'll often see one or two and then notice half a dozen more camouflaged in the area.

Between visits to the forts we stopped in on a small farmer's market and found a vendor serving up vegan food. I've got no idea what we had for lunch, but it was delish. The over-priced virgin pina colada from a street vendor was just the way to cool down on the perfectly sunny day. Price wise, it would have been smarter to stop into any small supermarket and pick up a cold drink there, though I do like the idea of supporting local entrepreneurs.

Speaking of drinks, I ordered a margarita to accompany the Mexican food we ordered for dinner. I quickly scanned the list of variations they offered and picked the 'peach' one. It showed up and I took my first sip: whoa, it had quite a kick. Apparently I hadn't read the fine print: also in the ingredient list were cilantro and cayenne pepper. That was unique.

One area in which Old San Juan didn't blow us away was the shopping department. Admittedly, one of the most unique items you can buy in Puerto Rico are carved religious statues, which we had no interest in purchasing (though they were fun to look at, I suppose).

As we walked back to our hotel we came across the San Juan Holocaust Memorial. We ended up spending a good 30 minutes carefully reading and digesting the memorial. I have to say, it's really well done. Shira and I have years of education about the Holocaust and had a teacher who had survived one of the death camps, so we have an appreciation for the scale and gravity of the topic. But how do you educate random passers-by? The memorial manages to do just this: the symbolism of the large metal-cut out is attention grabbing; the timeline breaks an unthinkable tragedy down into more digestible steps and the walk of the righteous shows the remarkable impact one can have in the face of evil. It's a truly wonderful memorial and worth taking the time to explore.

Tomorrow we hope to explore a hidden set of beaches. Wish us luck!

All of today's photos were taken by Shira. Great work, babe!

Sunday, December 02, 2018

Puerto Rico Adventure - Day 4 - Rum for Breakfast and Hot Dogs for Dinner

[Composed 11/23/2018]

No trip to the San Juan area is complete without a visit to the nearby Bacardi Factory. We took in this tour earlier today and it was delightful. Perhaps the best part was waiting for the tour to begin. Shira sipped on a Bacardi Rum Sunrise and I had a classic Mojito in hand. We leisurely hung out in the bat-shaped pavilion without a care in the world. The historic tour was interesting enough and I have a newfound appreciation for rum.

While waiting for the tour I noticed interesting bird activity in the nearby trees. It seemed to me that there was a pandemonium of parrots flying among the palms. I even managed to capture a picture of one specimen flying by. Could this be an endangered Puerto rican Parrot? Seems unlikely, but from a distance it seems like a match.

After the tour, I had plans for us to visit the nearby Parque Nacional Isla de Cabras for a picnic lunch. Alas, it wasn't meant to be as the gate to the park was locked. I'm not sure if it's a temporary or long term closure, but either way, it wasn't going to work for lunch. Ultimately, we found our way to the nearby Balneario Punta Salinas. This was a picturesque beach, but at $5.00 for parking it was overkill for our relatively quick picnic. Still, the stroll along the beach was a pleasant one and you can hardly complain about supporting the local economy.

After lunch we stopped at a supermarket to pick up supplies for Shabbat. We were happy to find that they had challah, Welch's 100% grape juice and even Hebrew Nats. Our hotel-room improvised Shabbat meal was looking complete. One oddity in the supermarket: the coffee was in a locked case. We're not talking about gourmet, expensive coffee. No, we're talking about $3.00 a bag coffee. A quick Google search explained what was going on: coffee is apparently the most stolen item in supermarkets. So while you have easy access to alcohol and everything else in the store, coffee requires that you ask during check-out and a team-member will run off and return with your requested order.

After watching a perfect sunset from the hot-tub we headed inside for Shabbat dinner. Shira cooked up hot dogs courtesy of the coffee maker in the room. Here was her recipe:

  • Cut up the dogs into 2 inch chunks and place in a 2-cup tupperware container
  • Fill the coffeemaker with 2 cups of clean water
  • Place the tupperware with hot dogs in the coffeemaker and hit the brew button
  • When the two cups of water have passed through the coffeemaker, cover the hot dogs and let sit
  • After 10 minutes, drain the water and enjoy your perfectly cooked Hebrew Nats!

Tomorrow's adventure is exploring Old San Juan - stay tuned!