Jekyll2021-06-05T13:36:19-07:00https://dpron.com/feed.xmldpronWritings on Tech, Cars, and TravelDan RoncadinCapturing SMART Statistics from Synology drives with SNMP2021-06-04T00:00:00-07:002021-06-04T00:00:00-07:00https://dpron.com/synology-smart<p>I have been a Synology user for over 6 years now, and since I’ve already got a comprehensive set of Grafana dashboards set up to monitor my home systems, I decided to get one going for the NAS too. Thankfully, a great <a href="https://grafana.com/grafana/dashboards/1727">monitoring dashboard</a> already exists. It’s pretty slick, shows all the basic info you’d want to have. That dashboard relies on Telegraf to poll the NAS for SNMP data, and the author created a <a href="https://github.com/jperillo/Synology_dashboard_grafana">sample configuration file</a>.</p>
<p>I’ve also been a Backblaze user for many years, both their backup service as well as B2 object storage. One of my favorite things about Backblaze is that they publish a lot of great info about <a href="https://www.backblaze.com/b2/hard-drive-test-data.html">hard drive reliability</a>, including SMART data (the standard for reporting various metrics about the health of a drive).</p>
<p>Since my Synology also has a bunch of drives running 24/7, I want to capture data about those too, and I’d like them on the dashboard.</p>
<p>First, the data for SMART attributes for each of the drives in a Synology is available in the following SNMP table: SYNOLOGY-SMART-MIB::diskSMARTTable.</p>
<p>To take a look at it ensure you have snmptools installed locally, as well as the <a href="https://global.download.synology.com/download/Document/Software/DeveloperGuide/Firmware/DSM/All/enu/Synology_MIB_File.zip">Synology MIB files</a> installed, and use the following command (replacing YOUR_SYNOLOGY_IP with the IP of your Synology):</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code> snmptable -v 2c -c public YOUR_SYNOLOGY_IP SYNOLOGY-SMART-MIB::diskSMARTTable
</code></pre></div></div>
<p>Add it to the configuration file by appending the following code to the example telegraf.conf in the repo above.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code> # SMART Attributes
[[inputs.snmp.table]]
oid = "SYNOLOGY-SMART-MIB::diskSMARTTable"
[[inputs.snmp.table.field]]
is_tag = true
oid = "SYNOLOGY-SMART-MIB::diskSMARTInfoDevName"
[[inputs.snmp.table.field]]
is_tag = true
oid = "SYNOLOGY-SMART-MIB::diskSMARTAttrName"
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-SMART-MIB::diskSMARTAttrId"
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-SMART-MIB::diskSMARTAttrCurrent"
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-SMART-MIB::diskSMARTAttrWorst"
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-SMART-MIB::diskSMARTAttrThreshold"
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-SMART-MIB::diskSMARTAttrRaw"
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-SMART-MIB::diskSMARTAttrStatus"
</code></pre></div></div>
<p>Next, add a panel to the Grafana dashboard, with the following query:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>SELECT last("diskSMARTAttrCurrent") AS "Current", last("diskSMARTAttrThreshold") AS "Threshold", last("diskSMARTAttrWorst") AS "Worst", last("diskSMARTAttrRaw") AS "Raw", last("diskSMARTAttrStatus") AS "Status" FROM "diskSMARTTable" WHERE ("agent_host" =~ /^$host$/) AND $timeFilter GROUP BY "diskSMARTInfoDevName", "diskSMARTAttrName"
</code></pre></div></div>
<p>Now we have a nice table with all the SMART attributes most recent values</p>
<center>
<figure>
<a href="/images/grafana-synology-smart-attributes-panel.png"><img src="/images/grafana-synology-smart-attributes-panel.png" alt="SMART Attributes Panel" /></a>
<figcaption>SMART Attributes Panel</figcaption>
</figure>
</center>
<p>This dashbord has been shared for importing directly into <a href="https://grafana.com/grafana/dashboards/14548">Grafana at ID 14548</a></p>Dan RoncadinTracking drive metrics over time with Telegraf, InfluxDB and GrafanaUsing Google’s Archival Cloud Storage for Long Term Backups2020-10-11T00:00:00-07:002020-10-11T00:00:00-07:00https://dpron.com/gcs-archive-backups<p>I have some large media files that I want to keep forever, and need an off-site copy of, just in case. Home movies, photos, music I’ve accumulated over the years are that I won’t ever delete. I already have various backup strategies, like Time Machine and Backblaze, which are all great for data that changes on a regular basis. This data is immutable - I’m never going to edit those high resolution digital copies of the entire Led Zeppelin collection I bought a few years back. Since I have another copy of them on my home NAS, I shouldn’t need to do a retrieval very often, if ever.</p>
<h2 id="options--pricing">Options & Pricing</h2>
<p>Being in the business of cloud, I know that cloud object storage is a great option for these files, except for the price. They look cheap but are always priced in gigabytes per month. I need to store terrabytes. Those extra zeros add up. Here are some of the options and what they end up costing for 10TB on a monthly basis:</p>
<table rules="groups">
<thead>
<tr>
<th style="text-align: center"><strong>Storage Type</strong></th>
<th style="text-align: center"><strong>$/GB/Month</strong></th>
<th style="text-align: center"><strong>Monthly Cost of 10 TB</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center"><strong>AWS S3 Standard</strong></td>
<td style="text-align: center">$0.023</td>
<td style="text-align: center">$230</td>
</tr>
<tr>
<td style="text-align: center"><strong>GCP Standard</strong></td>
<td style="text-align: center">$0.02</td>
<td style="text-align: center">$200</td>
</tr>
<tr>
<td style="text-align: center"><strong>AWS S3 Infrequent Access</strong></td>
<td style="text-align: center">$0.0125</td>
<td style="text-align: center">$125</td>
</tr>
<tr>
<td style="text-align: center"><strong>GCP Nearline</strong></td>
<td style="text-align: center">$0.01</td>
<td style="text-align: center">$100</td>
</tr>
<tr>
<td style="text-align: center"><strong>Backblaze B2</strong></td>
<td style="text-align: center">$0.005</td>
<td style="text-align: center">$50</td>
</tr>
<tr>
<td style="text-align: center"><strong>GCP Coldline</strong></td>
<td style="text-align: center">$0.004</td>
<td style="text-align: center">$40</td>
</tr>
<tr>
<td style="text-align: center"><strong>GCP Archive</strong></td>
<td style="text-align: center"><strong>$0.0012</strong></td>
<td style="text-align: center"><strong>$12</strong></td>
</tr>
</tbody>
</table>
<p>That’s more like it - $12/month for 10TB of storage? Sold. (<em>Note: I work at Google, but pay for GCP, AWS and others with my own $</em>) I excluded AWS Glacier, which was the first true long term cloud storage option for the simple reason that the retrieval process is very annoying and requires making a request then waiting hours until the objects are made available. If I want to grab <em>In the Evening</em>, I’m not waiting till morning. Given the rarity of a retrieval, I don’t factor the retrieval costs of any of these options into the decision.</p>
<p>Now to get the data up there and keep it in sync.</p>
<h2 id="bucket-setup">Bucket Setup</h2>
<p>There’s one nuance to consider about GCP Archival class storage, and that is when an object is placed in it, if that object is deleted within 1 year it’s charged for the entire year as an “early delete.” Since there is always the opportunity to make a mistake and copy up some files accidentally, that could be costly. To handle this, keep the bucket storage class on Standard and use a lifecycle policy that sets the storage class to Archive only after 3 days. Since a large file transfer may take many days, this value might need to be updated to suite the expected time-line of the copy.</p>
<p>I won’t cover the basics of getting a GCP account set up, or authenticating, and getting the CLI commands in the Google Cloud SDK set up, as there are many places to see that workflow. Let’s jump right into creating our bucket. I’ll call mine “bigbackupbucket” and put it somewhere close by on the west coast. Replace that name, the PROJECT_ID and choose a close-by <a href="https://cloud.google.com/compute/docs/regions-zones">region</a>. This can all be done via the web console too but that’s no fun at all.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>gsutil mb -p PROJECT_ID -c STANDARD -l us-west1 -b on gs://bigbackupbucket
</code></pre></div></div>
<p>Create a .json file with the following lifecycle policy:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>{
"rule": [
{
"action": {
"storageClass": "ARCHIVE",
"type": "SetStorageClass"
},
"condition": {
"age": 3,
"matchesStorageClass": [
"STANDARD"
]
}
}
]
}
</code></pre></div></div>
<p>Then apply the policy to the bucket</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>gsutil lifecycle set ./bigbackupbucket_lifecycle_policy.json gs://bigbackupbucket
</code></pre></div></div>
<h2 id="data-transfer">Data Transfer</h2>
<p>Time to copy some data. The CLI tool, gsutil, has the ability to copy objects in parallel - this is important if you have a fast connection, and I found that about 6 transfers in parallel was the right value for me to achieve good performance (around 800Mbps) but not completely saturate a gigabit connection. I had a better experience running parallel processes than parallel threads, your mileage may vary. It’s perfectly fine to take out the -o options altogether and try it out automatically managed as well. The rsync command synchronizes directories recursively with -r.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>gsutil -m -o "GSUtil:parallel_process_count=6" -o "GSUtil:parallel_thread_count=1" rsync -r /files_to_backup gs://dansbigbackupbucket/
</code></pre></div></div>
<p>To try out the transfer and make sure it’s copying the right files add -n after the -r and that will be in “dry run” mode, listing out what files it would copy but not copying anything. In my case I only want to do additive copies, so I’m not including the -d flag that will delete anything from the target not on the source (because of early deletes, and also in case I get the source directory wrong, I don’t want it going and automatically trying to delete things in the destination).</p>
<h2 id="monitoring">Monitoring</h2>
<p>Despite its low cost, this isn’t free storage, so set up some monitoring to see just how much space is in this new storage bucket. Thanks to Google’s extensive monitoring there are all sorts of metrics available to watch. For the purposes of simple backups, there are 2 main things to monitor:</p>
<ol>
<li>Total Bytes</li>
<li>Bytes by Storage Class</li>
</ol>
<p>Total Bytes should be obvious, but Bytes by Storage Class is particularly important since there is a 16X difference in cost between the class of storage being uploaded, and the final class after the lifecycle policy takes effect. This is a good way to ensure it’s working - especially if you’re cut & pasting that policy from some random website.</p>
<p>In the GCP Console go to the Monitoring section, and then Dashboards and create a new dashboard, then add a chart. Hit the Query Editor button and use the following query (replace <em>bigbackupbucket</em> with the correct bucket name):</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>fetch gcs_bucket
| metric 'storage.googleapis.com/storage/total_bytes'
| filter (resource.bucket_name == 'bigbackupbucket')
| group_by 1m, [value_total_bytes_mean: mean(value.total_bytes)]
| every 1m
| group_by [metric.storage_class],
[value_total_bytes_mean_aggregate: aggregate(value_total_bytes_mean)]
</code></pre></div></div>
<p>Back in the Edit Chart view, it should look like this (the storage_class legend may not show up if you don’t have any objects in your bucket yet or the bucket isn’t old enough to have statistics generated):</p>
<center>
<figure>
<img src="/images/gcs-archive-edit-chart.png" alt="Edit Chart Panel" />
<figcaption>Edit Chart Panel</figcaption>
</figure>
</center>
<p>Once the bucket statistics are updated (usually the next day), the dashboard will have a graph showing the amount of storage in the bucket broken down by object class. As objects are added to the bucket they will be under the class “Regional” (which is Standard, just indicating that it’s a single region bucket, not a dual or multi-region). As the objects age to the value of the lifecycle policy settings they will move into Archive and the graph will update accordingly. Keeping an eye on this graph is a good way to ensure the lifecycle policy is set correctly. If objects aren’t moving tiers, then that is the likely culprit.</p>
<center>
<figure>
<img src="/images/gcs-archive-chart.png" alt="Total bytes by Storage Class" />
<figcaption>Total bytes by Storage Class</figcaption>
</figure>
</center>
<p>In this graph, the Archive class is the blue line, and Standard is the orange. After 3 days, as per the policy, the Standard objects are converted into Archive. The Archive object count seems to update ahead of the standard count decreasing, but I verified by listing some objects that everything worked correctly.</p>Dan Roncadin$1 per TB per Month.Troubleshooting High CPU in Outlook 2016 for Mac2018-01-13T00:00:00-08:002018-01-13T00:00:00-08:00https://dpron.com/outlook-mac-cpu<h2 id="tldr">TL;DR</h2>
<p>Objects in an Exchange Online mailbox unable to be synchronized to the Mac Outlook 2016 client cause significant CPU usage and impact battery life.</p>
<h2 id="the-symptoms">The Symptoms</h2>
<p>The recent <a href="https://spectreattack.com/">Spectre & Meltdown</a> updates have me keeping a closer eye on CPU usage and slowdowns in general. In doing so I have been reminded just how much CPU Microsoft Outlook 2016 for Mac takes up. On both my Mac systems it’s continually on the top apps list taking up 70%+ of a core. Way more than it should. I get plenty of email, but really not enough to keep it so busy. On my laptop it’s impacting battery life significantly whenever Outlook is open. This morning I decided to dig a little deeper into what’s going on.</p>
<p>Alongside the CPU usage, I noticed consistent network activity from the Outlook app as well - between 100-200Kbps. When I’m mobile and using a MiFi or tethering to a phone, that adds up. There must be something behind that. My setup is pretty simple - a corporate email account run through Exchange Online / Office 365, and both Windows and Mac Outlook clients. The Windows Outlook 2016 app is well behaved, using minimal resources. This must just be a Mac problem.</p>
<h2 id="investigating-outlook">Investigating Outlook</h2>
<p>Outlook 2016 for Mac doesn’t give you much detail on what it’s up to, but it does have a few things we can look at.</p>
<p>First up - <strong>Sync Errors</strong> (Available from the Window menu). Nope, nothing there.</p>
<p>Next - <strong>Sync Status</strong>. This looks interesting - It’s constantly trying to sync a particular folder. That item pops up again and again.</p>
<center>
<figure>
<img src="/images/outlook-mac-cpu-sync.png" />
<figcaption>Outlook is determined to sync.</figcaption>
</figure>
</center>
<p>But why? To get more info we need to head back to the Sync Errors window. Sync Errors has a settings icon at the top right coder, that will let us “Turn on logging for troubleshooting.” That’s a well hidden configuration setting. It doesn’t bother to mention that you need to restart Outlook for the logs to actually show up.</p>
<p>The process of enabling logging for Outlook on Mac is detailed at <a href="https://support.microsoft.com/en-us/help/2872257/how-to-enable-logging-in-outlook-for-mac">this Microsoft page</a></p>
<p>If I open up the directory “~/Library/Containers/com.microsoft.outlook/Data/Library/Logs/” now I have a log file to look into. A log file that is filled with messages like this:</p>
<figure class="highlight"><pre><code class="language-xml" data-lang="xml"><table class="rouge-table"><tbody><tr><td class="gutter gl"><pre class="lineno">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
</pre></td><td class="code"><pre><span class="cp"><?xml version=\"1.0\" encoding=\"utf-8\"?></span>
<span class="nt"><s:Envelope</span>
<span class="na">xmlns:s=</span><span class="s">\"http://schemas.xmlsoap.org/soap/envelope/\"</span><span class="nt">></span>
<span class="nt"><s:Header></span>
<span class="nt"><h:ServerVersionInfo</span> <span class="na">MajorVersion=</span><span class="s">\"15\"</span> <span class="na">MinorVersion=</span><span class="s">\"20\"</span> <span class="na">MajorBuildNumber=</span><span class="s">\"407\"</span> <span class="na">MinorBuildNumber=</span><span class="s">\"11\"</span> <span class="na">Version=</span><span class="s">\"V2017_10_09\"</span>
<span class="na">xmlns:h=</span><span class="s">\"http://schemas.microsoft.com/exchange/services/2006/types\"</span>
<span class="na">xmlns:xsd=</span><span class="s">\"http://www.w3.org/2001/XMLSchema\"</span>
<span class="na">xmlns:xsi=</span><span class="s">\"http://www.w3.org/2001/XMLSchema-instance\"/</span><span class="nt">></span>
<span class="nt"></s:Header></span>
<span class="nt"><s:Body></span>
<span class="nt"><m:GetItemResponse</span>
<span class="na">xmlns:m=</span><span class="s">\"http://schemas.microsoft.com/exchange/services/2006/messages\"</span>
<span class="na">xmlns:xsd=</span><span class="s">\"http://www.w3.org/2001/XMLSchema\"</span>
<span class="na">xmlns:xsi=</span><span class="s">\"http://www.w3.org/2001/XMLSchema-instance\"</span>
<span class="na">xmlns:t=</span><span class="s">\"http://schemas.microsoft.com/exchange/services/2006/types\"</span><span class="nt">></span>
<span class="nt"><m:ResponseMessages></span>
<span class="nt"><m:GetItemResponseMessage</span> <span class="na">ResponseClass=</span><span class="s">\"Error\"</span><span class="nt">></span>
<span class="nt"><m:MessageText></span>The recurrence format wasn't valid., The duration between startTime and endTime (6.00:30:00) of the recurrence is greater than the minimum duration between two occurrences (1.00:00:00).<span class="nt"></m:MessageText></span>
<span class="nt"><m:ResponseCode></span>ErrorInvalidOperation<span class="nt"></m:ResponseCode></span>
<span class="nt"><m:DescriptiveLinkKey></span>0<span class="nt"></m:DescriptiveLinkKey></span>
<span class="nt"><m:Items/></span>
<span class="nt"></m:GetItemResponseMessage></span>
<span class="nt"><m:GetItemResponseMessage</span> <span class="na">ResponseClass=</span><span class="s">\"Error\"</span><span class="nt">></span>
<span class="nt"><m:MessageText></span>The recurrence format wasn't valid., The duration between startTime and endTime (6.00:30:00) of the recurrence is greater than the minimum duration between two occurrences (1.00:00:00).<span class="nt"></m:MessageText></span>
<span class="nt"><m:ResponseCode></span>ErrorInvalidOperation<span class="nt"></m:ResponseCode></span>
<span class="nt"><m:DescriptiveLinkKey></span>0<span class="nt"></m:DescriptiveLinkKey></span>
<span class="nt"><m:Items/></span>
<span class="nt"></m:GetItemResponseMessage></span>
<span class="nt"></m:ResponseMessages></span>
<span class="nt"></m:GetItemResponse></span>
<span class="nt"></s:Body></span>
<span class="nt"></s:Envelope></span>
</pre></td></tr></tbody></table></code></pre></figure>
<p>From the timestamps, Outlook for Mac is nonstop trying to sync with Exchange Online but getting errors and then instantly trying again. This is very poor design, not backing off or throttling when an error is encountered or ignoring the offending object and moving on with the sync operation.</p>
<p>Here’s the critical part of the log errors: “<em>The recurrence format wasn’t valid., The duration between startTime and endTime (6.00:30:00) of the recurrence is greater than the minimum duration between two occurrences (1.00:00:00).</em>”</p>
<p>The error message itself narrows down a little bit what we’re looking for - a meeting invite for a recurring meeting.</p>
<h2 id="finding-and-removing-the-problematic-objects">Finding and Removing the Problematic Objects</h2>
<p>To find these items, I needed to switch back over to the Windows Outlook client, because obviously these items weren’t syncing down to my Mac properly. I opened up the offending “2011” folder, and arranged the messages by Type. This way we can get straight to the Meeting Invites. Outlook does show you “Type: Recurring Meeting” in the messages list so this makes it easier.</p>
<p>I have all of these old emails saved in a PST folder, so it was easy to delete a few and see if anything changed on the Outlook for Mac side. Eventually I found this innocent looking meeting invite which was causing all my problems (there were actually two nearly identical ones with different lists of people on the “to” line which is why Outlook for Mac was failing to sync 2 objects not 1).</p>
<center>
<figure>
<a href="/images/outlook-mac-cpu-badmeeting.png"><img src="/images/outlook-mac-cpu-badmeeting.png" /></a>
<figcaption></figcaption>
</figure>
</center>
<p>To me it looks like a perfectly fine meeting - not one that would generate an error message about the duration or recurrence. Nevertheless, without that mail in the folder, Outlook for Mac was able to continue syncing, and once completely synchronized the CPU usage calmed right down, now idling at 0.0-0.1%.</p>
<p>Unfortunately the Outlook for Mac client can get into these situations without behaving correctly (backing off and not hammering Exchange Online with requests), or alerting the user to a persistent sync problem. Most people who have this issue have likely never looked into that Sync Status window at all. It was such a frustration that I decided to put a nice serene waterfall image at the top of this page just to relax me when proofreading it or for others that have to go through the painstaking procedure of finding and deleting un-syncable objects. Hope it helped.</p>Dan RoncadinHow a meeting from 2011 took up half my morning.What Happens When Your Comcast Promotional Rate Expires2017-12-20T00:00:00-08:002017-12-20T00:00:00-08:00https://dpron.com/comcast-promotional-rate-expired<p>Two years ago I negotiated a 2-year contract with Comcast for about half the price I was previously paying. The <a href="/how-i-cut-my-comcast-bill-in-half/">post</a> I wrote up on my experiences, has become one of the most highly viewed pages on this site, still getting over 1500 views per month, even after all this time. I hope it’s helped many of those readers reduce their own bills. However, nothing lasts forever. As a few of the commenters on that page suggested, once the 2 year period expires, I might not be able to keep the low price I’d been paying. Sure enough, I eventually got the following email.</p>
<center>
<figure>
<img src="/images/comcast-promotional-offer-expires-soon.png" />
<figcaption>Smile, your bill is going up!</figcaption>
</figure>
</center>
<p>Don’t those people look way too happy to have just found out their bill is getting jacked up? I was nowhere near that elated when I got the email. Perhaps they’re shareholders.</p>
<p>Last time I negotiated my rate, I went into the Comcast office, but to be honest, I was feeling a bit lazy and thought I’d try giving their customer service line a call before taking the time to go there in person. So I called the number in the email. I was all ready for the tough negotiating to begin, ready to threaten to cancel my service and take a hard line. But right away they offered to look at what further promotional packages were available. Within 5 minutes the agent offered me nearly the same deal I already had on a 1 year term. There were a few things I didn’t need from my existing package so I had them adjust it slightly and in under 10 minutes it was all done.</p>
<center>
<figure class="half">
<img src="/images/comcast-renew-before.png" />
<img src="/images/comcast-renew-after.png" />
<figcaption>Another year, another deal.</figcaption>
</figure>
</center>
<table rules="groups">
<thead>
<tr>
<th style="text-align: center"><strong>Billing Item</strong></th>
<th style="text-align: center"><strong>Old Amount</strong></th>
<th style="text-align: center"><strong>New Amount</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center"><strong>Bundle</strong></td>
<td style="text-align: center">$109.99</td>
<td style="text-align: center">$99.99</td>
</tr>
<tr>
<td style="text-align: center"><strong>Additional services and equipment</strong></td>
<td style="text-align: center">$20.00</td>
<td style="text-align: center">$20.00</td>
</tr>
<tr>
<td style="text-align: center"><strong>Other charges and credits</strong></td>
<td style="text-align: center">$5.50</td>
<td style="text-align: center">$9.50</td>
</tr>
<tr>
<td style="text-align: center"><strong>Taxes and fees</strong></td>
<td style="text-align: center">$5.71</td>
<td style="text-align: center">$4.70</td>
</tr>
<tr>
<td style="text-align: center"><strong>Total</strong></td>
<td style="text-align: center"><strong>$141.20</strong></td>
<td style="text-align: center"><strong>$134.19</strong></td>
</tr>
</tbody>
</table>
<p>In the end, I got my bill lowered yet again, although this time around I did drop some channels. I got rid of the formerly free HBO they had given me, but I never actually watched, and a few of the “preferred” channels that I also never watched. This time around the promotional period offered was for 1 year. I asked what the bill would be once it expires, and was told over $200/month, but also that I should just call back next year and they’d find another deal for me. I am actually OK with the 1 year term this time around instea of 2 years. I’m getting pretty close to not needing cable TV at all, and I plan to go internet-only next year when this term expires.</p>Dan RoncadinMy low Comcast rate finally expired, but it was easy to get a new deal.My VW/Audi Diesel Buyback Experience2016-12-31T00:00:00-08:002016-12-31T00:00:00-08:00https://dpron.com/vw-diesel-buyback<p>Up until last week, I owned one of the VW diesel’s that have been all over the news for the past year. Mine was a bit different than most, since it actually had an Audi badge on it, so few people knew it was actually one of the affected cars. This allowed me to avoid many snarky comments, especially from the rather environmentally conscious folks in my city. Upon discussing the scandal I’ve had more than one person comment “at least your diesel is an Audi and not one of these VWs.”</p>
<p>Back in 2010 I had a long commute and was in the market for a new car, so I chose a brand new 2011 A3 TDI diesel. It was a fantastic car, well equipped and comfortable, with amazing gas mileage - I averaged over 41mpg for the first few years (more on that later). In 2010 it also won “Green Car of the Year.”</p>
<figure class=" ">
<img src="https://dpron.com/images/vwdiesel-01.jpg" alt="" />
<figcaption>My little polluter
</figcaption>
</figure>
<p class="notice">Notice the little “TDI Clean Diesel” sticker in the back window. By the time the scandal hit the car was over 5yrs old and that sticker was fused into the glass. I thought about scraping it off, but left it on for the irony.</p>
<h2 id="warning-signs">Warning Signs</h2>
<p>The very first sign that something wasn’t quite right was a letter from Audi in April 2015. It mentions an important update to the engine control software is required. The issue was relating to emissions systems, and that it supposedly could result in a check-engine light causing a failure of emissions testing. Plus, it was serious enough for a recall not just a standard service bulletin that would be applied next time I took the car in for service.</p>
<p>I took the car in and the recall work was performed. Instantly average fuel economy went from 41mpg to 38mpg with the same driving profile. Thanks Audi. Looking back, I can’t imagine this wasn’t related - engine control software, and its performance during emissions testing. Sounds familiar.</p>
<p>In the summer of 2015 I almost traded it in on a new car. I wanted something a bit bigger and more luxurious. Audi dealerships offered me lousy buyback rates ($13K) compared to BMW/Mercedes (around $17-18K), almost as if they felt the car was worth less than market price. I honestly wonder if they knew this was coming well in advance of any public announcements.</p>
<p>Then the scandal hits. Well, there’s no selling the car now.. let’s ride this out. By this time I’ve owned the car for almost exactly 5 years, and the little “TDI Clean Diesel” sticker on the back window that came with the car is fused into the glass and can’t be removed without serious effort. I left it on for the irony.</p>
<p>The story of how the scandal played out has been extensively reported, so I won’t cover it here, this is more about what it’s been like as an owner.</p>
<h2 id="the-portal">The Portal</h2>
<p>VW put together an online portal site where all the steps of the claims process were handled. Everything I sent them was scanned and uploaded. No mailing or faxing required, as it should be in 2016. The whole thing was very well done. The <a href="https://www.vwcourtsettlement.com">online site</a> was clear, and the claims portal for submitting documentation was easy to use.</p>
<figure class=" ">
<img src="https://dpron.com/images/vwdiesel-02.jpg" alt="" />
<figcaption>VW settlement site
</figcaption>
</figure>
<h2 id="my-timeline">My Timeline</h2>
<p><strong>Nov 9, 2015</strong> - Audi/VW offers a goodwill package to 2.0TDI owners. It consists of a $500 visa debit card, $500 to spend at Audi dealerships (it bought me 1 service on the car), and 3 years of Roadside Assistance including “Disablement Coverage” that will pay lodging/meals/transportation costs should the vehicle be disabled more than 100 miles from your residence (up to $1000 per occurrence).</p>
<p><strong>August 9th, 2016</strong> - Notification that the online portal is accepting initial info.</p>
<p><strong>October 10th, 2016</strong> - Notification that documents can be submitted through the online portal.</p>
<p><strong>October 12th, 2016</strong> - I submit the requested documentation - vehicle title, current registration.</p>
<p><strong>October 28th, 2016</strong> - Official settlement announcement of court approval.</p>
<p><strong>November 4th, 2016</strong> - Notice that my Offer Package is complete and can be downloaded through the online portal.
It requires some forms signed and notarized.</p>
<p><strong>November 15th, 2016</strong> - I submit my notarized package. Some confusion here about notarizing forms in California, there’s an extra form that needs to be filled out which wasn’t clear and caused me to have to go back and get my package notarized a second time.</p>
<p><strong>November 16th, 2016</strong> - I re-submit my notarized package with the right California form.</p>
<p><strong>Nov 26th, 2016</strong> - Notification that my offer letter has been accepted, online portal allows scheduling of buyback appointments</p>
<p><strong>Dec 6th, 2016</strong> - I schedule my appointment for Dec 22nd.</p>
<p><strong>Dec 22nd, 2016</strong> - My buyback appointment.</p>
<p><strong>Dec 23rd, 2016</strong> - Payment notice.</p>
<h2 id="the-buyback-experience">The Buyback Experience</h2>
<p>I was expecting this to be a typical dealership experience, where everything is slow, there’s tons of back and forth and it takes forever. This was not the case at all. I arrived a few minutes late for the appointment, and walked inside the dealership. It wasn’t done at the local Audi dealership, but at a VW dealer (same dealer network as Audi in SF actually and right across the street), which makes sense since the majority of vehicles affected were VW. Inside I was met by a friendly guy named Felix, who is a dedicated specialist for the buybacks. The dealer I went to in downtown San Francisco was doing 13 buybacks today, and 15 tomorrow.</p>
<p>The process was completely painless. I had the required items - the car, the keys, the title, and my ID. The specialist took the keys, went out and checked out the car, and I think took some pictures. He was back in 5 minutes. Then I signed two forms, gave them the title to the car, and that was it. I didn’t even have time to finish the tiny bottle of water I was offered as I walked in. There was no sales pitch to buy a new car, which I had expected (and did want to buy something new).</p>
<h2 id="the-numbers">The Numbers</h2>
<p>Here are the specs on my car.</p>
<ul>
<li>2011 A3 TDI</li>
<li>43318 Miles</li>
<li>Premium Plus Package</li>
</ul>
<p>Kelly Blue book says that the price I should expect to get from a dealer on trade in is somewhere around $16,000 for a car like that in “very good” condition (the exterior and interior were both in good shape). Except for a couple things. 1) There’s a clunking noise with the front suspension, something is definitely wrong or wearing out. 2) The car needs new tires, there’s barely any tread left. 3) The car recently started blowing black then white smoke from the exhaust while on the highway a few weeks ago. Hasn’t happened again, but I barely drove the car after that. A mechanic is definitely bound to figure out there are some problems with the car a knock a few thousand off it’s value. But the nice thing about the VW buyback program is they don’t care about any of that. As long as you’re not a jerk and strip the car, it’s OK if it’s got mechanical problems. That doesn’t factor into the buyback amount at all.</p>
<p>Here’s how they broke it down for my car:</p>
<table>
<thead>
<tr>
<th style="text-align: center"><strong>Item</strong></th>
<th style="text-align: center"><strong>Amount</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center">Vehicle Return Amount</td>
<td style="text-align: center">$21,450.00</td>
</tr>
<tr>
<td style="text-align: center">Additional Restitution Payment</td>
<td style="text-align: center">$ 7,276.73</td>
</tr>
<tr>
<td style="text-align: center"><strong>Total Amount</strong></td>
<td style="text-align: center"><strong>$28,726.73</strong></td>
</tr>
</tbody>
</table>
<p>Add to this the goodwill package, and the total nears $30K. VW gives the option of getting a check, or electronic funds transfer, which is what I chose. A day after I dropped off the car I got this email. Unfortunately Gmail flagged it as Spam initially, but thankfully I was watching out for it. Unfortunately, there was no option to receive the funds in stacks of $100’s, or a duffle bag filled with $20s, or I would have opted for that instead. It would have made a better story.</p>
<figure class=" ">
<img src="https://dpron.com/images/vwdiesel-03.jpg" alt="" />
<figcaption>The money shot
</figcaption>
</figure>
<h2 id="the-end">The End</h2>
<p>The scandal was a downer, it really ruined what was, up until then, a fantastic car I really enjoyed owning. But I must say now, VW/Audi really did right by me. The entire process for making a claim and selling back my car was as clean and efficient as the car was supposed to be. The price was also extremely attractive. Getting over $10K more for the car than I would have gotten a year and a half ago before the scandal is quite amazing. In the end, Audi kept me as a customer as I walked across the street into the dealership and ordered a new A4 Allroad, which after the buyback will cost me about as much as a Honda Civic.</p>Dan RoncadinVolkswagen just paid me an absurd amount of money for a 6 year old car.Passing the AWS Solution Architect Associate Exam2016-11-30T00:00:00-08:002016-11-30T00:00:00-08:00https://dpron.com/aws-solution-architect-associate-exam<p>Today I passed the AWS Solution Architect Associate exam, and I wanted to share some thoughts on the experience and tips, while I can still remember how it went. I’ve been using AWS for years professionally, so I had a lot of practical experience to draw on, but I feel the steps taken in preparation were key to the result. Day to day usage of AWS is very different from covering things at the level of detail needed for an exam.</p>
<p>I finished the exam in 47 minutes, with a score of 98%, or 59 out of 60. Trying to figure out which one question I got wrong has been torturing me ever since. Being that close to perfection and falling short almost makes me want to take the test again, but not quite.</p>
<h2 id="preparing-for-the-exam">Preparing for the Exam</h2>
<p>I used the online training by <a href="https://acloud.guru/learn/aws-certified-solutions-architect-associate">A Cloud Guru</a>. It was very well done, and an extremely good value. The material covers the fundamentals of what is on the exam. I didn’t use any other exam-related materials to study except that course, and info on the AWS web pages.</p>
<p>As recommended in the training, I did spend time re-reading the FAQs of key services such as EC2, S3, CloudFront, SQS, RDS, VPC. This was very helpful. Many things that were clearly answered in the FAQ came up on the exam.</p>
<p>The only downside to the A Cloud Guru course was the quality of some of their quiz and practice exam questions. Many of these were multiple choice without stating how many answers were valid (or even if more than 1 was an option). This is very different from the exam. The exam clearly states when the correct answer is more than one option, and in those cases how many answers need to be chosen. Specifically their practice timed exam included questions that were much harder (or more poorly worded as to be vague) than the actual exam. My scores on the mini exam and final timed practice exam were 40% and 67% respectively. A long way off the 98% I scored on the actual exam (and that was only a day later with little time for extra studying). So if anything, don’t let poor results on their exams get you down and dissuade you from taking the real exam, you’re probably in better shape than you think.</p>
<h2 id="taking-the-exam">Taking the Exam</h2>
<p>The exam questions range from the extremely simplistic, which ask you which service to use for a particular need, to the more complex that involve scenarios. It was a fair exam and didn’t focus on memorization of things like default hard/soft limits (i.e. 20 EC2 instances in a new account) or maximum sizes of various items like S3 objects or SQS items.</p>
<p>There’s plenty of time to get through the exam, so don’t be too concerned about running out of time. If you do the simple math there are 60 questions to answer in 80 minutes, giving you 1:20 to complete each question. But at least 20 of the 60 questions are so obvious and simple they can be each read and answered in under 15 seconds. That leaves nearly 2 minutes each to answer the remainder of questions.</p>
<p>Some of the questions really need to be read a couple times and digested, including the possible answers. There are times where 2 or 3 answers seem right, until you read them through multiple times and catch things like an implication that Security Groups apply to a VPC, and not to an instance, even though there would be instances inside the VPC a wording such as that can make the question “less correct” than other options. This isn’t a big concern though, since in the exam I counted only 10 or so questions that required that level of attention.</p>
<p>Key areas of focus:</p>
<ul>
<li>VPC - you need to know this very well. Understand routing, peering, and how network ACLs work. As is mentioned in the course, NAT instances are covered repeatedly, despite most users moving to NAT Gateways now.</li>
<li>Understand what happens when EC2 instances are stopped and started, how this effects storage volumes, IP addresses (elastic and VPC private), and what actions can and cannot be taken on an instance in various states.</li>
<li>Know EBS volumes, encryption and security, as well as the behavior of snapshots and what can and cannot be done with them.</li>
<li>Understand S3 and how to secure content on it, both encryption options as well as access control.</li>
</ul>Dan RoncadinExperience and tips on the exam.The Accidental SL550 Test Drive2016-11-14T00:00:00-08:002016-11-14T00:00:00-08:00https://dpron.com/accidental-sl550<p>Is there a better way to spend a sunny California day than to drive a 911 Carrera S up to wine country? Probably not. But there are better ways to spend an evening than driving back into the city after a day of wine tasting, so the smart thing to do is stay overnight.</p>
<p>For this adventure we decided to stay at <a href="https://solage.aubergeresorts.com/">Solage</a> in Calistoga. While it’s rather expensive, even the Best Western in Napa can run into the $300 per night range - so comparatively in this strange world of $200 bottles of wine, it’s not outrageous. As it turns out, the hotel is a complete steal. Factored into the price of a night’s stay should be the use of of a fleet of Mercedes Benz’s that are available free to guests. Any of these cars would typically go for hundreds per day from a rental car company. As promised, parked out front of the hotel was a GL450, a GLA250, and two E550 Convertibles.</p>
<p>At first, I wasn’t interested in taking any of these cars for a drive, since I had a 911 at my disposal. But the hotel staff was very insistent about reminding me they had these fantastic cars available. Since I was paying quite a lot for the room, I figured I’d give it a shot and went into the office to fill out the required paperwork promising that I had insurance, and that I would eventually return with the car. Without asking me which car I preferred, the man behind the desk grabbed the GLA250 key. I’m not one to turn down the free use of someone else’s car - but it was gorgeous day, so I asked for one of the convertibles instead (meaning the E550s, but I didn’t say “E550” though, thankfully). He retrieved another key and took me outside, right past all of these cars to the back of the parking lot, where sat an SL550. He pointed it out and said “this was the car you wanted right?”. My jaw wanted to drop but I held it together and said “oh yes, of course.” And so begins the story of how my 911 sat in the parking lot while I spent the evening in a younger, topless model.</p>
<p>This wasn’t my first time in a Mercedes convertible. Shortly after moving to California in 2007 I bought an SLK32 AMG. That was a great car, though I did manage to get a wicked sunburn with the top down one day. Eventually I wanted something with a bit of cargo space and a couple extra seats. Furthermore, the transmission on the SLK32 AMG wasn’t quite fast enough for my liking and that really limited the experience of an otherwise fun ride. Every time I drove it I wished it was a manual. But I did remember how nice it was to drive a rather overpowered Mercedes. So I was eager to spend more time behind the wheel of a forced induction Benz with a much newer transmission.</p>
<p>Not every car is an emotional experience. When you get into a Nissan Sentra (sorry Nissan) you don’t feel much of anything. This car made me feel something immediately. The cabin is meticulously crafted. The warm glow of the dull orange light, immediately luxurious. Someone paid attention to details such as the levels of the lighting and how it will feel at night. Not so bright on your eyes as to be painful once they’ve adjusted to the night. Although the brightness of the main screen was somewhat out of proportion to the rest of the well crafted cabin. I’m sure there’s a way to adjust it, I just didn’t find it. I was more interested in driving than fiddling with instruments, especially since this car has a twin turbo V8.</p>
<center>
<figure>
<img src="/images/sl550-interior.jpg" />
<figcaption>Apart from the wood trim, this interior is gorgeous</figcaption>
</figure>
</center>
<p>People spend too much time writing about zero to sixty times. To me, the only thing that matters is whether or not the engine can push your stomach against your spine and give you the impression that you’re rushing downhill on a roller coaster. This car definitely has that capability. From around 40 to 85 mph I nearly wanted to throw my hands up in the air. If a car can reach that point of acceleration force it becomes a binary designation. I probably can’t tell the difference between a car capable of a 4.0 and a 4.5 seconds 0-60 without a stopwatch, but I can answer that yes or no question. Yes, yes, and yes. I did try it at least three times, just to be sure. Some reviews now say the SL450 may be the new sweet spot of the SL range, but I’m skeptical the car would have been as enjoyable down a hundred HP.</p>
<p>Handling wise, the car is not a light nimble vehicle, but it does a surprisingly good job of keeping body role to a minimum, though I didn’t exactly have road conditions to really push it to the limit. The adjustable suspension didn’t feel appreciably different in regular or sport mode either. It’s really more of a GT car, meant to provide a supple comfortable ride, and just enough straight line acceleration to remind you what’s under the hood.</p>
<p>Airscarf. I love this. Why is it restricted to convertibles? All heated seats should gently blow warm air across the back of your neck. It was a cool night in the low 50s, but Airscarf made it a perfectly comfortable experience with the top down under the stars. It’s similar to sitting by a an outdoor firepit at night, you’re both aware of how cool the air is and yet warm at the same time. My old SLK32 was miserable with the top down at night in the cold. This car had all the right aerodynamics to keep the wind out of my face even with the windows down.</p>
<p>The side bolsters hug you in reaction to cornering, inflating the opposite side to keep you in the middle of the seat. The first time it happened, I thought the seat was malfunctioning, or my arm had hit the seat controls (which Mercedes likes to keep on the door in view instead of out of sight on the lower side of the seat). It’s a neat feature, but after a while, I would have preferred the ability to turn it off. It’s something that should only be active in sport mode.</p>
<p>The night view screen lets you see basically in the dark. Driving with it seems a bit distracting at first. Then I figured I could just look at the screen and drive instead of looking out the windshield. In that regard it feels like a video game, since the screen is a bit small and low resolution (especially for such a high end car), plus the effect of the grayscale night vision made it more like a 90’s pre-HD 4:3 square TV sort of game. After commenting on this out loud, I was cautioned to not drive like it’s a video game by the person sitting next to me, who has seen me play GTA and Need for Speed. Perhaps the screen should also show the current speed, or since it’s so visible from the passenger seat, perhaps not.</p>
<p>Sometimes the best way to appreciate a car is to just happen upon a random opportunity to drive it. No time for anticipation, or to read reviews or specs (beyond what you might or might not be able to recall depending on how encyclopedic your knowledge of cars is). Just get in and drive.</p>
<p>Eventually it was time to find my way back to the hotel, aided by the navigation system, which was competent yet a bit dated looking. The SL550 was parked, and the next day I was comfortably back in the 911 (which is in nearly every regard a superior automobile), but I often think back to that magical one night in the Mercedes.</p>Dan RoncadinI took a Porsche for a weekend in wine country and ended up cheating on it with a Mercedes SL550.Why Hotel Wi-Fi Sucks, and How To Make It Faster2016-10-12T00:00:00-07:002016-10-12T00:00:00-07:00https://dpron.com/faster-hotel-internet<p>Hotels are fantastic places, with king size beds, fluffy bathrobes, and room service. When you leave the room, it’s magically cleaned for you. It’s almost paradise, until you try and get a decent internet connection. Then even 5-star resorts seem like digital slums. I can put up with being charged $4 for bottles of water, or even being charged for “premium internet” - except when it’s not premium. I often see 3mbps out of a typical hotel internet connection, up to 7-10mbps at a newer location. That’s garbage. Most cell phones on an LTE network can run circles around that (but don’t get me started on data caps). Thankfully, there is one simple thing you can do to drastically improve the speed and quality of your connection. I’ve successfully done this at many hotels and wanted to share so that I can help end some of the needless suffering of travelers out there.</p>
<h2 id="the-biggest-problem-with-hotel-internet---wi-fi">The Biggest Problem with Hotel Internet - Wi-Fi</h2>
<p>Most hotel Wi-Fi setups are bound by design to offer a lousy experience:</p>
<ul>
<li>Hotels don’t refresh their rooms or technology frequently - so Wi-Fi systems at even high end hotels may be 5-10 years old now. Plus, they need to maintain maximum compatibility with older devices so aren’t moving to newer versions of the protocol like 802.11ac.</li>
<li>Hotel Wi-Fi is often over-saturated. The individual access points have many users sharing a small number of back-haul wired connections, leading to congestion.</li>
<li>Because of this saturation, Wi-Fi connections are often throttled per-device (and sometimes not in line with the amount a user is provisioned on a tiered connection system such as when hotels ask you to pay extra for “premium internet”).</li>
<li>Wi-Fi deployments in hotels enforce device separation, so your phone can’t connect to your computer or any other device on the same network. This is because all users in the hotel are sharing the same network, and if someone has a computer not well secured and firewalled it could easily be infiltrated by another guest.</li>
<li>Hotel Wi-Fi networks are usually unencrypted. This is just a terrible practice in 2016.</li>
</ul>
<h2 id="the-simple-solution---make-your-own-wi-fi">The Simple Solution - Make Your Own Wi-Fi</h2>
<p>In most cases, somewhere right in your hotel room is a wired ethernet port, that likely has a much better upstream connection than the hotel Wi-Fi. Easy enough to use for a laptop (depending on its location), but to make it available to all your devices - use a wireless travel router. You probably have a wireless router at home that plugs into a Cable or DSL modem, and this is the same principle. <a href="http://amzn.to/2et5WBh">Netgear Trek N300</a> is the model I’ve been using for the past couple years, and it’s still perfectly good today. It’s very small and easy to travel with. Plug the router in, and connect an ethernet cable between the wired ethernet jack in the room, and the router’s “internet” port. Then follow the router’s setup instructions to configure a local wireless network that you can take with you whenever you’re traveling.</p>
<figure class=" ">
<img src="https://dpron.com/images/hotel-internet-netgear-n300.png" alt="" />
<figcaption>Netgear N300 Travel Router
</figcaption>
</figure>
<h2 id="how-much-faster">How Much Faster??</h2>
<p>Here are a few results from some of the hotels I’ve stayed in over the past few months (when I actually kept records of speed tests). It’s a pretty significant difference. In each case I tested the speed of hotel-provided Wi-Fi in a hotel room against Wi-Fi from my Netgear N300 connected to a wired ethernet port in the same room.</p>
<table rules="groups">
<thead>
<tr>
<th style="text-align: center"><strong>Hotel</strong></th>
<th style="text-align: center"><strong>Hotel Wireless Speed (down / up)</strong></th>
<th style="text-align: center"><strong>Wired Speed (via my Wi-Fi Router) (down/up)</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center"><strong><a href="https://www.kiawahresort.com/accommodations/the-sanctuary-hotel">The Sanctuary at Kiawah Island</a></strong></td>
<td style="text-align: center">2.66mbps / 4.55mbps</td>
<td style="text-align: center">51.08mbps / 54.28mbps</td>
</tr>
<tr>
<td style="text-align: center"><strong><a href="https://solage.aubergeresorts.com/">Solage Calistoga</a></strong></td>
<td style="text-align: center">13.70mbps / 7.93mbps</td>
<td style="text-align: center">44.06mbps / 10.57mbps</td>
</tr>
<tr>
<td style="text-align: center"><strong><a href="http://doubletree3.hilton.com/en/hotels/california/doubletree-by-hilton-hotel-san-jose-JOSE-DT/index.html">Hilton Doubletree San Jose</a></strong></td>
<td style="text-align: center">6.48mbps / 12.99mbps</td>
<td style="text-align: center">14.34mbps / 14.25mbps</td>
</tr>
<tr>
<td style="text-align: center"><strong><a href="http://montereyplazahotel.com/">Monterey Plaza Hotel</a></strong></td>
<td style="text-align: center">24.26mbps / 6.97mbps</td>
<td style="text-align: center">62.52mbps / 89.09mbps</td>
</tr>
<tr>
<td style="text-align: center"><strong><a href="http://www.hotelhealdsburg.com/">Hotel Healdsburg</a></strong></td>
<td style="text-align: center">45.89mbps / 24.10mbps</td>
<td style="text-align: center">89.70mbps / 24.14mbps</td>
</tr>
</tbody>
</table>
<p>Test it for yourself. I use <a href="http://speedtest.net">speedtest.net</a> or <a href="http://fast.com">fast.com</a> - which only tests Download speed but doesn’t require Flash.</p>
<h2 id="benefits-beyond-speed">Benefits Beyond Speed</h2>
<p>Isn’t speed all that counts? Well, not quite. Even if the hotel Wi-Fi is just as fast as the wired connection (rare though that is), I still use a travel router to make a private network in my room for these additional reasons:</p>
<ul>
<li>It only counts as one “device” to the hotel, so once you are signed in from the first device, you don’t have to sign in on each device and you can connect as many devices to your network as you want.</li>
<li>All the devices you connect to this local Wi-Fi network will be able to communicate with each other - which is extremely helpful if you want to connect a streaming devices such as a Chromecast to your hotel room TV.</li>
<li>You only have to configure the wireless network on your devices once, and they won’t have to connected to and remember a slew of unsecured hotel wifi networks which can leave the devices more vulnerable to spoofing attacks with things like the <a href="https://www.wifipineapple.com/">Wi-Fi Pineapple</a>.</li>
</ul>
<h2 id="finding-a-wired-connection">Finding a Wired Connection</h2>
<figure style="width: 300px" class="align-right">
<img src="https://dpron.com/images/hotel-internet-ap.jpg" alt="" />
<figcaption>This Access Point has ethernet ports</figcaption>
</figure>
<p>Most hotels expect users will want wireless connections these days, but before Wi-Fi was everywhere many hotels had cabled cat5 ethernet to their rooms, and many hotel rooms use wired ethernet in the rooms for other purposes already so there are a number of places I’ve learned to look for LAN ports. It doesn’t always work, but I’ve repeatedly surprised myself with what a little persistence can accomplish.</p>
<ul>
<li>Bring your own ethernet cable, the hotel ones (if they even have any) often have damaged connectors.</li>
<li>Look near the desk, sometimes they do make it easy</li>
<li>Check the back of the TV. Many hotel entertainment systems use ethernet, and I’ve been able to use this connection to plug into a travel router.</li>
<li>Some hotels will have an ethernet port and RCA/HDMI ports on a panel near the TV - but I’ve found the ethernet ports are sometimes not wired up.</li>
<li>The phone - sometimes the phone system is an IP telephone and has an ethernet jack</li>
<li>The Hotel wireless access point - I’ve found these in various places in the room (including in closets) and sometimes they have wired ports directly on the device.</li>
</ul>
<p>Using these methods I am able to find and use a wired ethernet connection in about 7 out of 10 hotels I stay in.</p>
<h2 id="configuring-your-hotel-wi-fi">Configuring your Hotel Wi-Fi</h2>
<ul>
<li>Always secure it with WPA and a strong password.</li>
<li>Set the MAC address of the router’s wired connection to that of your laptop (or a similar ranged MAC) - some hotel networks block anything having the MAC address of a network device manufacturer (and travel routers typically are). This is easily done via the web administration interface.</li>
<li>Allow the router to automatically choose a channel to limit interference with other Wi-Fi access points (like the ones the hotel has plastered all over every floor)</li>
</ul>
<h2 id="what-this-wont-solve">What This Won’t Solve</h2>
<p>If the hotel requires you to register or pay for “premium” Internet, this won’t get around that. What this will do is ensure you get the best speeds possible, especially if you’re paying extra for it.</p>
<p>If the hotel room really doesn’t have a working ethernet connection, then you’re also out of luck. For situations like this I also have a Wi-Fi LTE hotspot on me when traveling.</p>Dan RoncadinTips for travelers to maximize bandwidth in hotels.2 Weeks In With The iPhone 7 Plus2016-10-08T00:00:00-07:002016-10-08T00:00:00-07:00https://dpron.com/two-weeks-with-the-iphone7<p>Everyone has already reviewed the iPhone 7, all its features and flaws. But reviews that come out at the same time as a new device are really just based on initial impressions. How you think and feel about a brand new phone changes over time as you use it. Small things that either delight or annoy you often take time to reveal themselves. I’ve now spent over two weeks with the iPhone 7 Plus now, using it as my primary (and only) phone for hours each day and wanted to share my impressions. I also know that how I feel about the phone will continue to evolve, so having something written down also serves as a reference point for me to look back on.</p>
<p>I didn’t really need a new phone. I’ve been using mobile phones for over 20 years now and the iPhone 6 is the first phone I’ve kept longer than a year. In fact I kept it for nearly 2 full years. It was fine, but I decided to upgrade anyways, to an iPhone 7 Plus. I had a few reservations about upgrading. Would I hate the larger size and find it awkward? What about missing headphone jack?</p>
<h2 id="the-headphone-jack">The Headphone Jack</h2>
<p>Not since the loss of optical drives in the Macbook Pro, or floppy drives in PCs have I seen the removal of a feature so talked about. I use headphones daily, and spend a lot of time and money following the space in pursuit of the perfect setup (see my <a href="/journey-into-headphones">other article</a> on that for an example of my obsessiveness). But this is one of the first times that a feature has been taken away from smartphones, or an iPhone. Features always get added, never removed.</p>
<p>Truth is, on the first day I noticed the lack of the headphone jack. I had to hunt around in the iPhone box to find the new little dongle which goes from a 3.5mm headphone to Lightning. Never one to waste space, Apple had cleverly stuck it on the back of the cardboard that holds their new Lightning connected earpods. But since I first put the dongle onto the end of my daily pair of headphones (Bose QC20i), I haven’t noticed it since. In fact what I’ve experienced is an improvement in usability.</p>
<ul>
<li>Plugging headphones in via Lightning is a more secure connection than with a 3.5mm headphone jack, they are much less likely to come loose when the phone is put into a jacket pocket for instance.</li>
<li>While 3.5mm headphone jacks are standard, there are various types of connectors on the end of headphones. Some are straight, some have a right angle in them (like the Bose QC20i), and this causes problems with cases. On my iPhone 6, I used the Apple Smart Battery Case, and had to attach an extension adapter to the QC20is to get them to fit through the case. Cases are optimized better for Lightning connections because they’re all the same.</li>
</ul>
<figure class="third ">
<a href="https://dpron.com/images/iphone-headphones.jpg" title="Bose QC20i headphones alongside a 3.5mm extender and the 3.5mm to Lightning dongle">
<img src="https://dpron.com/images/iphone-headphones.jpg" alt="" />
</a>
<a href="https://dpron.com/images/iphone-battery-case-qc20.jpg" title="The Apple Smart Battery Case (and others) don't fit well with certain 3.5mm headphones, especially those with right angled jacks">
<img src="https://dpron.com/images/iphone-battery-case-qc20.jpg" alt="" />
</a>
<a href="https://dpron.com/images/iphone-battery-case-adapted.jpg" title="The Apple Smart Battery Case requiring an adapter to fit the Bose QC20i headphones">
<img src="https://dpron.com/images/iphone-battery-case-adapted.jpg" alt="" />
</a>
<figcaption>Headphones, the Lightning dongle, and extension that the Apple Smart Battery Case required
</figcaption>
</figure>
<p>As for the complaint that it now requires an extra dongle to both charge and use headphones at the same time, see the later second on battery life for why I don’t think that’s even an issue.</p>
<h2 id="the-screen-size-and-form-factor">The Screen Size and Form Factor</h2>
<p>My last 3 phones have all had increasingly bigger screens. An iPhone 5, to a 6, to a 7 Plus. Each time I am concerned that the new size will be too big. Then after a day or two using the new device I grow to appreciate the larger screen size and real estate, and the previous phone feels childishly small. The added bulk and weight of the Apple Smart Battery case on the iPhone 6 I was using may have made the transition up to an iPhone 7 Plus that much easier.</p>
<p>One handed usage of the iPhone 7 Plus vs the iPhone 6 (or 7) does take a bit of adjustment. It’s helped out quite a lot by having a thin case on the phone. I could see it being a problem for people that have smaller hands.</p>
<p>I tried out a number of cases, including the Apple Silicone case, but found the <a href="http://amzn.to/2e09SGQ">Speck Presidio Grip Case</a> to be the best one out there. Having the small grip strips helps for one handed usage, especially as your pinky/little finger can get a much better grip on the phone when sliding your hand midway up the case. The Apple case (along with many other ones) also suffers from using a silicone material that while it feels nice, attracts a tremendous amount of dust and lint when put into pockets.</p>
<h2 id="the-best-feature---speed">The Best Feature - Speed</h2>
<p>The most amazing feature of this phone is its speed. Regardless of what they call the processor, the iPhone 7 Plus is so much faster to respond that it has changed the way I use a phone. I’ve never bothered to use Siri on either of my previous iPhones because it was too slow to load and respond, and now it’s instantaneous. Apps like Chrome and Google Search seemed laggy and slow compared to built in Safari, but now they’re completely usable. The additional RAM also means apps that have been pushed to the background are unloaded less often and thus resume faster.</p>
<h2 id="the-second-best-feature---battery-life">The Second Best Feature - Battery Life</h2>
<p>One of the reasons I moved up from a regular sized iPhone to the 7 Plus was the battery. I had to use the Apple Smart Battery Case on my iPhone 6 in order to get through a full days usage. I’m a pretty heavy user between phone calls and apps. The iPhone 7 Plus doesn’t quite have the same total battery capacity as the 6 with a battery case on (1810mAh iPhone 6 + 1877mAh Apple Smart Battery Case = 3687mAh vs. 2900mAh iPhone 7 Plus), but I regularly end the day with over 40% battery remaining. I’ve not yet managed to run the iPhone 7 Plus battery down in a single day despite similar usage. With my iPhone 6 I typically would run the entire case battery down to 0%, and have the phone itself down to 30% after a day of typical usage. That means I was running through approximately 3144mAh in a day with an iPhone 6, and about 1740mAh on an iPhone 7 Plus, even though it has a larger screen. Also, I recognize the battery on a phone will deteriorate over time, but my iPhone 6 was actually replaced recently because the original device I bought had a volume button failure, so I’m not comparing the new iPhone 7 Plus to a 2 year old iPhone 6 here. Even with the smaller capacity of an iPhone 7 battery at 1960mAh, there would be some juice left over at the end of a days usage (likely more than the above calculated 200mAh given the smaller screen size drawing less power).</p>
<p>Range anxiety isn’t just a problem for electric vehicle owners. How often do you come across someone who has had their smartphone run out of battery? I see it all the time, and prior to this phone had to put a lot of thought into making sure I had extra sources of power around such as portable battery packs and chargers. Finally I resorted to putting a fat heavy battery case on my iPhone 6. That significantly affected the weight and form factor of my iPhone 6 but it was better than running out of power.</p>
<h2 id="the-third-best-feature---waterproofing">The Third Best Feature - Waterproofing</h2>
<p>I take care to keep my tech gadgets in very good condition. Walking around with a phone all day every day, there are many opportunities to get it wet. Worrying about damaging the phone detracts from the benefits of having it. From rain (which admittedly used to happen a bit more often in California than it does lately), to being near pools, to accidental spills, liquids are everywhere. I can’t overstate the improvement of the experience of phone ownership that comes from being able to not worry if the phone gets spilled on, or not having to put a big sealed case on it if I want to take it down to the hot tub in my building. The only thing they really have left to do in this area of peace of mind is make the screen fully scratch, crack and shatter proof. We’re all waiting for that day.</p>
<h2 id="the-camera">The Camera</h2>
<p>The camera is amazing, that’s been well reviewed. Although some of the power of the dual lens camera is held back by many apps (like Snapchat) which haven’t been updated to allow toggling between 1x and 2x zoom directly. Having a pinch/zoom function doesn’t let the user intentionally avoid digital zoom.</p>
<figure class="half ">
<img src="https://dpron.com/images/iphone-lowlight.jpg" alt="" />
<img src="https://dpron.com/images/iphone-city.jpg" alt="" />
<figcaption>A couple of handheld shots from the iPhone 7 Plus
</figcaption>
</figure>
<h2 id="conclusions">Conclusions</h2>
<p>The key to understanding the brilliance of the iPhone 7 Plus, is recognizing that refinement can be as important as novelty. Making the phone significantly faster improves every part of the experience. Improving battery life and adding waterproofing both offer significant reductions to some of the biggest daily anxieties of using a smartphone.</p>Dan RoncadinApple has made vast improvements to the two most important features of a phone - Speed and Battery Life. And removing the headphone jack is actually an improvementRental Car Review: 2015 Ford Taurus LTD2016-07-06T00:00:00-07:002016-07-06T00:00:00-07:00https://dpron.com/rental-car-ford-taurus<h2 id="introduction">Introduction</h2>
<p>I’m the sort of person who wants to get to the airport as early as possible. But that’s not to say I like airports; once I’ve landed, I also want to leave the airport and be on my way as fast as I can. So I prefer to carry on instead of checking bags, and I’m keen to find any way to make post-flight items faster. Whether that’s ordering an Uber to pick me up while I’m still on the plane so it’s ready for me when I get to the exit (after timing that it takes at least 10 min to get a pickup at SFO Terminal 3 since all the Uber cars are coming from the cell phone waiting lot), or pre-ordering a rental car if I’m away. I signed up for the Avis Preferred program, so I could avoid the lineups at the counter, and the inevitable pitches to upgrade my vehicle or pay for a bunch of extra insurance coverage, that typify the car rental experience. It promised that I could choose a vehicle class in advance, and then go directly to my assigned car without talking to anyone. The first couple times it was somewhat exciting, waiting to see what exact vehicle was there waiting for me. Sometimes it was about what I was expecting, sometimes a bit nicer. Never a total disappointment. Then Avis created a smartphone app and took all the magic out of it. I can now open it and see exactly what car I’ve been assigned. On my last trip I did just that, and found a picture of a Ford Taurus LTD staring back at me. In the Las Vegas airport rental car center (as with most rental car centers), the car you’ve been assigned is never in the first row. Avis makes you walk by all the nice cars in the “upgrade” section before getting to your Taurus, making sure you know just how easy it would be to drive away in another car. And did I really want to drive away in a Taurus? When I could be driving away in a Mustang convertible, or a Mercedes? Well, according to <a href="https://www.youtube.com/watch?v=Q1lgJ7G2KaY">YouTube videos</a> Mustangs seem very dangerous to drive, and one look into how much the Mercedes would cost me, made the decision. What I did notice right up front though, was that it wasn’t listed as a Ford Taurus, but specifically a Ford Taurus LTD. That’s the top level trim (except for the SHO). I’m typically used to rental car companies only ever buying base models, so I decided to give this one a try.</p>
<h2 id="first-impressions-and-interior">First Impressions and Interior</h2>
<p>My Taurus was Bronze Fire in color. In the dim lights of the rental car center parking lot, it seemed a bit like the maroon color of my grandfathers last Lincoln Continental which I have fond memories of. It had a “dune” colored interior (which is just a nice way of saying beige). Dark wood trim on the doors, dash and top of the steering wheel gave it a classy touch. Upon sitting down, I instantly noticed that the seats were made of surprisingly high quality leather. Not the tough feeling leather you’ll find in a base model BMW or Audi, but very soft and supple leather. This is important in Vegas, because I don’t wear pants in Vegas during the summer, or long sleeve shirts, so my skin was going to be feeling those seats. There are also really nice soft touch plastics on the door and side of the center console that feel almost as good as the leather. Almost a textured version of the great plastic that makes most Apple smartphone cases that you can’t stop touching. Unfortunately they didn’t put that great stuff on the steering wheel, which was a bit of a letdown as it felt cheap in comparison. Space wise, the car felt very roomy, not quite BMW 7 series in spaciousness, but plenty of legroom, headroom both in the front and back seats. The ford.com site seems to be very proud of the Taurus’s “wide stance.”</p>
<h2 id="driving">Driving</h2>
<p>My least favorite part of this car had to be the engine. A naturally aspirated 3.5L V6 that wasn’t going to win any drag races, nor any fuel economy competitions. Supposedly it has 288HP, but it sure didn’t feel like there was that much power available. Then again, the car is quite heavy at nearly 4200 lbs. Fuel economy was dismal at a combined 18MPG across my 4 days of driving. The engine did not sound good at high RPMs, but was quiet and refined below 3000 RPMs. But this car isn’t for driving fast. It’s for sedately driving around town, insulated from the outside world, in your own portable living room. At that it excels. I’d talk about how the car handled, but it’s clear this car isn’t for taking corners at high speeds or anything ever described as “spirited” driving. So I didn’t even try to test the limits of grip, or explore body roll beyond a couple of roundabouts (yes these actually do exist in suburban Las Vegas if you know where to look). It’s a big heavy car that handles rather like you’d expect a big heavy car to do. It turns, it goes up and down streets, onto highways, into parking lots and garages just fine. But that’s ok, not every car needs to prioritize speed over comfort. This car is named after the Ford LTD - and it shows.</p>
<figure class="half ">
<img src="https://dpron.com/images/ford-ltd.jpg" alt="" />
<img src="https://dpron.com/images/ford-taurus-ltd.jpg" alt="" />
<figcaption>A few generations apart
</figcaption>
</figure>
<p>Enough about the engine and suspension, let’s get back to those seats. Did I mention that they’re ventilated (or “cooled” as the ford.com website calls them, perhaps in case people won’t know what ventilated means)? Having light colored, ventilated seats is absolutely heavenly in 110F Las Vegas desert heat.</p>
<figure class=" ">
<img src="https://dpron.com/images/ford-seats.jpg" alt="" />
<figcaption>So so good in the Vegas heat!
</figcaption>
</figure>
<p>The entertainment system and navigation worked very well, except for not allowing you pair a bluetooth phone while driving. Once safely stopped, an iPhone was easily paired and used for audio streaming throughout the trip. I absolutely hate nanny features such as this. Especially since they’re not tied into the passenger seat airbag sensor which could clearly indicate that a front seat passenger is present, and is possibly the person trying to pair their phone.</p>
<figure class="half ">
<img src="https://dpron.com/images/ford-dash.jpg" alt="" />
<img src="https://dpron.com/images/ford-gauges.jpg" alt="" />
<figcaption>One of the better tech integrations available
</figcaption>
</figure>
<p>Dash displays to the right and left of the speedometer are a neat item, but limited by few configuration options. The items on the left side can’t be used on the right display and vice versa. I couldn’t show current fuel economy and RPMs at the same time. Also, there was no tire pressure monitor, something that’s offered on most cars now. But these gripes were rather minor.</p>
<h2 id="conclusion">Conclusion</h2>
<p>This car turned out to be one of the most enjoyable cars I’ve ever rented. The equipment level was fantastic, better even than the last 2 BMWs (a 528 and a 740) I rented (mostly because of those ventilated seats, and because the LTD was an exception to the rental car standard of picking base model cars without any options). The ride was comfortable and relaxing, just the type you want on a vacation.</p>Dan RoncadinDespite strong temptation to upgrade to a sports car, I spent 4 days driving a Taurus and liked it.