<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Erik Ramsgaard Wognsen]]></title>
  <link href="http://blog.erw.dk/atom.xml" rel="self"/>
  <link href="http://blog.erw.dk/"/>
  <updated>2023-07-20T18:18:58+02:00</updated>
  <id>http://blog.erw.dk/</id>
  <author>
    <name><![CDATA[Erik Ramsgaard Wognsen]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Ioniq Electric vs. Ioniq 6]]></title>
    <link href="http://blog.erw.dk/2023/07/20/ioniq-electric-vs-ioniq-6/"/>
    <updated>2023-07-20T18:14:31+02:00</updated>
    <id>http://blog.erw.dk/2023/07/20/ioniq-electric-vs-ioniq-6</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/ioniq_and_ioniq_6.jpg" title="Picture shows profile views of the Ioniq Electric (above) and Ioniq 6 (below) in front of scenic backgrounds" ></p>

<p>The Hyundai Ioniq is not being produced anymore, but its spirit lives on in the
new Ioniq&nbsp;6. In this post I compare the specifications of the Hyundai
Ioniq Electric and the Hyundai Ioniq&nbsp;6. Specifically, the 2020
<a href="https://ev-database.org/car/1165/Hyundai-IONIQ-Electric">Ioniq&#32;Electric</a> and the 2023
<a href="https://ev-database.org/car/1718/Hyundai-IONIQ-6-Long-Range-2WD">Ioniq&nbsp;6&#32;Long&#32;Range&#32;2WD</a>. The data for each
vehicle comes mostly from <a href="https://ev-database.org">evdb</a>. This post is basically just me
discussing with myself how badly I want an Ioniq&nbsp;6 over my current Ioniq
Electric, but I figured I might as well share my findings.</p>

<!-- more -->


<a name="Physical.dimensions"></a>
<h2>Physical dimensions</h2>

<p>First off, the 6 is bigger and heavier, which is a disadvantage. It will be
harder to maneuver and park in small spaces, and heavier cars take more
resources to build, and are potentially more dangerous to others.</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th style="text-align:left;">                                     </th>
<th style="text-align:right;"> Ioniq </th>
<th style="text-align:right;"> Ioniq&nbsp;6 </th>
<th style="text-align:right;"> Change </th>
<th style="text-align:left;"> Unit </th>
<th style="text-align:right;">                              Change </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> <strong>Length</strong>                          </td>
<td style="text-align:right;">   447 </td>
<td style="text-align:right;">          486 </td>
<td style="text-align:right;">    +39 </td>
<td style="text-align:left;"> cm   </td>
<td style="text-align:right;"> <span style="color:red"> +9%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Width&nbsp;(excl.&nbsp;mirrors)</strong> </td>
<td style="text-align:right;">   182 </td>
<td style="text-align:right;">          188 </td>
<td style="text-align:right;">     +6 </td>
<td style="text-align:left;"> cm   </td>
<td style="text-align:right;"> <span style="color:red"> +3%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Height</strong>                          </td>
<td style="text-align:right;">   145 </td>
<td style="text-align:right;">          150 </td>
<td style="text-align:right;">     +5 </td>
<td style="text-align:left;"> cm   </td>
<td style="text-align:right;"> <span style="color:red"> +3%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Weight&nbsp;(unladen,&nbsp;EU)</strong>  </td>
<td style="text-align:right;">  1602 </td>
<td style="text-align:right;">         1985 </td>
<td style="text-align:right;">   +383 </td>
<td style="text-align:left;"> kg   </td>
<td style="text-align:right;"> <span style="color:red">+24%</span> </td>
</tr>
</tbody>
</table>


<p>On the other hand, and as the following sections show, the extra size and
weight enable several advantages, and at least the Ioniq&nbsp;6 has world-class
efficiency despite its weight. Plus it has a pedestrian-friendly shape and
modern collision avoidance safety features. So with that out of the way, let&rsquo;s
continue.</p>

<a name="Cargo.capacity"></a>
<h2>Cargo capacity</h2>

<p>The 6 has more cargo space, a (small) frunk, and a tow hook. The only
disadvantage is that the 6 is a sedan, which means its trunk opening is smaller
than on the liftback Ioniq Electric.</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th style="text-align:left;">                            </th>
<th style="text-align:right;"> Ioniq </th>
<th style="text-align:right;"> Ioniq&nbsp;6 </th>
<th style="text-align:right;"> Change </th>
<th style="text-align:left;"> Unit </th>
<th style="text-align:right;">                                     Change </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> <strong>Cargo volume trunk</strong>     </td>
<td style="text-align:right;">   357 </td>
<td style="text-align:right;">          401 </td>
<td style="text-align:right;">    +44 </td>
<td style="text-align:left;"> L    </td>
<td style="text-align:right;"> <span style="color:green">      +9%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Cargo volume frunk</strong>     </td>
<td style="text-align:right;">     0 </td>
<td style="text-align:right;">           45 </td>
<td style="text-align:right;">    +45 </td>
<td style="text-align:left;"> L    </td>
<td style="text-align:right;"> <span style="color:green">+&infin;%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Max. payload</strong>           </td>
<td style="text-align:right;">   443 </td>
<td style="text-align:right;">          500 </td>
<td style="text-align:right;">    +57 </td>
<td style="text-align:left;"> kg   </td>
<td style="text-align:right;"> <span style="color:green">     +24%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Towing weight (braked)</strong> </td>
<td style="text-align:right;">     0 </td>
<td style="text-align:right;">         1500 </td>
<td style="text-align:right;">  +1500 </td>
<td style="text-align:left;"> kg   </td>
<td style="text-align:right;"> <span style="color:green">+&infin;%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Is hatchback/liftback</strong>  </td>
<td style="text-align:right;">     1 </td>
<td style="text-align:right;">            0 </td>
<td style="text-align:right;">     -1 </td>
<td style="text-align:left;">      </td>
<td style="text-align:right;"> <span style="color:red">      -100%</span> </td>
</tr>
</tbody>
</table>


<p>The 6 also has more legroom for passengers.</p>

<a name="Driving"></a>
<h2>Driving</h2>

<p>The bigger 6 unfortunately has a similarly bigger turning radius. But the 6&rsquo;s
higher mass is compensated by more torque, and it accelerates faster from 0 to
100&nbsp;km/h. The Ioniq Electric, like most EVs, is already pretty snappy in
city driving, and the faster 0&ndash;100 time of the 6 is not really necessary for
normal driving. The biggest advantage of the 6 might be comparably more torque
at higher speeds for more responsive overtaking on the motorway. The website
automobile-catalog.com has approximate torque curves for
<a href="https://www.automobile-catalog.com/curve/2020/2961965/hyundai_ioniq_electric.html">each</a> <a href="https://www.automobile-catalog.com/curve/2023/3171545/hyundai_ioniq_6_168_kw_rwd.html">model</a>.</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th style="text-align:left;">                              </th>
<th style="text-align:right;"> Ioniq </th>
<th style="text-align:right;"> Ioniq&nbsp;6 </th>
<th style="text-align:right;"> Change </th>
<th style="text-align:left;"> Unit </th>
<th style="text-align:right;">                                Change </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> <strong>Turning radius</strong>           </td>
<td style="text-align:right;">  10.6 </td>
<td style="text-align:right;">         11.8 </td>
<td style="text-align:right;">   +1.2 </td>
<td style="text-align:left;"> m    </td>
<td style="text-align:right;"> <span style="color:red">  +11%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Total power</strong>              </td>
<td style="text-align:right;">   100 </td>
<td style="text-align:right;">          168 </td>
<td style="text-align:right;">    +68 </td>
<td style="text-align:left;"> kW   </td>
<td style="text-align:right;"> <span style="color:green">+68%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Total torque</strong>             </td>
<td style="text-align:right;">   295 </td>
<td style="text-align:right;">          350 </td>
<td style="text-align:right;">    +55 </td>
<td style="text-align:left;"> Nm   </td>
<td style="text-align:right;"> <span style="color:green">+19%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Acceleration 0&ndash;100 km/h</strong> </td>
<td style="text-align:right;">   9.7 </td>
<td style="text-align:right;">          7.4 </td>
<td style="text-align:right;">   -2.3 </td>
<td style="text-align:left;"> s    </td>
<td style="text-align:right;"> <span style="color:green">-24%</span> </td>
</tr>
</tbody>
</table>


<p>The Electric is front-wheel drive, while the 6 is rear-wheel drive for better
traction, handling, and interior layout, as is the
<a href="https://www.youtube.com/watch?v=Ho9dRNeqOyw">future</a> of 2WD EVs. (The 6 also comes in an all-wheel
drive version not otherwise described in this blog post. Unfortunately the
Hyundai developers did not use the opportunity for the RWD to have a smaller
turning radius than the AWD version, unlike for example the VW ID.4 where the
RWD version has an amazing 10.2&nbsp;m turning radius instead of 11.6&nbsp;m
for the ID.4 AWD.)</p>

<a name="Range"></a>
<h2>Range</h2>

<p>The 6&rsquo;s improved aerodynamics, among other things, make up for the increased
weight, to bring a slight improvement in efficiency. Combined with a bigger
battery, the 6 drives around twice as far on a full charge. Especially nice is
that the range is slightly <em>more</em> than doubled on the highway which is really
where range matters the most. A huge improvement.</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th style="text-align:left;">                            </th>
<th style="text-align:right;"> Ioniq </th>
<th style="text-align:right;"> Ioniq&nbsp;6 </th>
<th style="text-align:right;"> Change </th>
<th style="text-align:left;"> Unit      </th>
<th style="text-align:right;">                                 Change </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> <strong>Overall consumption</strong>    </td>
<td style="text-align:right;">  15.3 </td>
<td style="text-align:right;">         14.9 </td>
<td style="text-align:right;">   -0.4 </td>
<td style="text-align:left;"> kWh/100km </td>
<td style="text-align:right;"> <span style="color:green">  -3%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Overall efficiency</strong>     </td>
<td style="text-align:right;">  6.54 </td>
<td style="text-align:right;">         6.71 </td>
<td style="text-align:right;">  +0.18 </td>
<td style="text-align:left;"> km/kWh    </td>
<td style="text-align:right;"> <span style="color:green">  +3%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Overall range</strong>          </td>
<td style="text-align:right;">   250 </td>
<td style="text-align:right;">          495 </td>
<td style="text-align:right;">   +245 </td>
<td style="text-align:left;"> km        </td>
<td style="text-align:right;"> <span style="color:green"> +98%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Cold weather - highway</strong> </td>
<td style="text-align:right;">   175 </td>
<td style="text-align:right;">          355 </td>
<td style="text-align:right;">   +180 </td>
<td style="text-align:left;"> km        </td>
<td style="text-align:right;"> <span style="color:green">+103%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Cold weather - city</strong>    </td>
<td style="text-align:right;">   235 </td>
<td style="text-align:right;">          460 </td>
<td style="text-align:right;">   +225 </td>
<td style="text-align:left;"> km        </td>
<td style="text-align:right;"> <span style="color:green"> +96%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Mild weather - highway</strong> </td>
<td style="text-align:right;">   230 </td>
<td style="text-align:right;">          470 </td>
<td style="text-align:right;">   +240 </td>
<td style="text-align:left;"> km        </td>
<td style="text-align:right;"> <span style="color:green">+104%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>Mild weather - city</strong>    </td>
<td style="text-align:right;">   365 </td>
<td style="text-align:right;">          715 </td>
<td style="text-align:right;">   +350 </td>
<td style="text-align:left;"> km        </td>
<td style="text-align:right;"> <span style="color:green"> +96%</span> </td>
</tr>
</tbody>
</table>


<p>These range numbers are evdb Real Range numbers, which are much more realistic
than WLTP numbers, in my experience. The consumption/<wbr>efficiency numbers
are evdb Real Range Vehicle Consumption numbers, where I have converted the
units.</p>

<a name="Charging"></a>
<h2>Charging</h2>

<p>As important as the capacity for range is the capacity for adding range, so to
speak. Here, the 6 is not just twice as good as the Electric. On three-phase
16&nbsp;A, the 6 adds range <em>three</em> times faster. This big difference is
because the 6 charges especially quickly on 16 amps, while the Electric is
especially slow due to its single-phase on-board charger.</p>

<p>On a powerful DC charger, the 6 is almost <strong><em>six</em></strong> times faster, when the
conditions are right. This is again by going from the Electric&rsquo;s slow DC
charging to the 6&rsquo;s world-leading DC charging. The Electric has the dubious
advantage of taking almost no hit in charge speed when only 50 kW DC chargers
are available. The 6 also supports reverse charging (V2L), where the car can
power your household electronics or even charge another EV.</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th style="text-align:left;">                               </th>
<th style="text-align:right;"> Ioniq </th>
<th style="text-align:right;"> Ioniq&nbsp;6 </th>
<th style="text-align:right;"> Change </th>
<th style="text-align:left;"> Unit </th>
<th style="text-align:right;">                                     Change </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> <strong>AC charge speed @ 16 A</strong>    </td>
<td style="text-align:right;">    20 </td>
<td style="text-align:right;">           63 </td>
<td style="text-align:right;">    +43 </td>
<td style="text-align:left;"> km/h </td>
<td style="text-align:right;"> <span style="color:green">    +215%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>AC charge speed @ 32 A</strong>    </td>
<td style="text-align:right;">    40 </td>
<td style="text-align:right;">           63 </td>
<td style="text-align:right;">    +23 </td>
<td style="text-align:left;"> km/h </td>
<td style="text-align:right;"> <span style="color:green">     +58%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>DC charge speed @ 50 kW</strong>   </td>
<td style="text-align:right;">   210 </td>
<td style="text-align:right;">          320 </td>
<td style="text-align:right;">   +110 </td>
<td style="text-align:left;"> km/h </td>
<td style="text-align:right;"> <span style="color:green">     +52%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>DC charge speed @ 350 kW</strong>  </td>
<td style="text-align:right;">   220 </td>
<td style="text-align:right;">         1290 </td>
<td style="text-align:right;">  +1070 </td>
<td style="text-align:left;"> km/h </td>
<td style="text-align:right;"> <span style="color:green">    +486%</span> </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>AC reverse charging (V2L)</strong> </td>
<td style="text-align:right;">     0 </td>
<td style="text-align:right;">          3.6 </td>
<td style="text-align:right;">   +3.6 </td>
<td style="text-align:left;"> kW   </td>
<td style="text-align:right;"> <span style="color:green">+&infin;%</span> </td>
</tr>
</tbody>
</table>


<a name="Supercharger.compatibility"></a>
<h2>Supercharger compatibility</h2>

<p>Tesla opening up their Supercharger network to non-Tesla cars is a big deal.
Tesla Superchargers have become my preferred fast-charging stations in Denmark,
as they are cheaper <em>and</em> better than the competition &mdash; at least for
compatible cars. The Electric has its charge port on the rear left side like
Teslas, whereas the 6 has it on the rear right side. Thus, the Electric works
perfectly with the Superchargers&#8217; typically short cables.</p>

<p>More importantly, there are reports of the E-GMP cars (Ioniq&nbsp;5,
Ioniq&nbsp;6, Kia EV6) not working properly with Tesla V3 Superchargers. One
<a href="https://www.motortrend.com/features/tesla-supercharger-magic-dock-hands-on-review-charging-other-evs/">article</a> from Motortrend from march 2023 describes
the problem, as tested in the US, while the Federation of Danish Motorists here
in Europe briefly mentions the problem in an <a href="https://fdm.dk/nyheder/bilist/2023-06-saadan-bliver-langturen-elbil-billigst-sommeren-2023">article</a> (in
Danish) from three weeks ago. If and when this will be fixed I don&rsquo;t know, but
I really hope it will get fixed as more V3 Superchargers are built. Or perhaps
the fix is just to wait for V4 Superchargers with their higher voltage and
longer cables.</p>

<a name="Discussion"></a>
<h2>Discussion</h2>

<p>Overall, the Ioniq&nbsp;6 as a dedicated EV is a massive improvement over the
Ioniq Electric which was built on a platform that also supported gasoline
hybrid versions (with and without plug-in). The 6 also costs more than the
Electric did by something like 50%. But then again, some essential specs have
improved by more than 50%.</p>

<p>I would like a cheaper and slightly smaller EV with Hyundai&rsquo;s newest
technology. Something like the Ioniq&nbsp;6 Standard Range (365&nbsp;km evdb
Real Range), but in the size of the Ioniq Electric. Or even in the liftback
body of the Ioniq Electric. Basically, I just want the Ioniq Electric with more
range and faster charging. Barring that, the Ioniq&nbsp;6 seems to be pretty
amazing.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Test af Coops personlige tilbud [Danish]]]></title>
    <link href="http://blog.erw.dk/2023/07/13/test-af-coops-personlige-tilbud/"/>
    <updated>2023-07-13T21:12:09+02:00</updated>
    <id>http://blog.erw.dk/2023/07/13/test-af-coops-personlige-tilbud</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/coop_personlige_tilbud.jpg" title="Billedet viser Coops personlige tilbud" ></p>

<p>Som medlem af Coop kan man få skræddersyede personlige tilbud på dagligvarer.
De tilbydes i Coop-appen og skal aktiveres før de træder i kraft, og gælder i
en begrænset periode for et begrænset antal varer. Jeg har prøvet funktionen,
og Coop holder ikke helt hvad de lover, selvom jeg da sparede nogle penge.</p>

<!-- more -->


<p>Jeg aktiverede fire forskellige personlige tilbud, og købte ind i min lokale
Kvickly. Det viste sig at priserne på hylderne i ingen tilfælde var de samme
som Coop-appen havde oplyst varen ville koste som ikke-medlem. Tre af varerne
var billigere end appen påstod, mens Taffel-chips var dyrere! Havregryn var i
butikken billigere end mit dermed ubrugelige personlige tilbud, men i det
mindste kom jeg til at betale butikkens billige pris, frem for mit dyrere
personlige tilbud.</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th style="text-align:left;"> Vare                                </th>
<th style="text-align:right;"> Personlig&nbsp;pris </th>
<th style="text-align:right;"> Påstået&nbsp;pris ikke-&zwj;medlem </th>
<th style="text-align:right;"> Faktisk&nbsp;pris ikke-&zwj;medlem </th>
<th style="text-align:right;"> Jeg&nbsp;betalte </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> Änglamark&nbsp;havregryn            </td>
<td style="text-align:right;">               13,00 </td>
<td style="text-align:right;">                              21,95 </td>
<td style="text-align:right;">                              11,95 </td>
<td style="text-align:right;">            11,95 </td>
</tr>
<tr>
<td style="text-align:left;"> Rana&nbsp;fyldt&nbsp;pasta          </td>
<td style="text-align:right;">               18,00 </td>
<td style="text-align:right;">                              26,95 </td>
<td style="text-align:right;">                              22,00 </td>
<td style="text-align:right;">            18,00 </td>
</tr>
<tr>
<td style="text-align:left;"> Coop&nbsp;revet&nbsp;mozzarella     </td>
<td style="text-align:right;">               14,00 </td>
<td style="text-align:right;">                              20,25 </td>
<td style="text-align:right;">                              17,95 </td>
<td style="text-align:right;">            14,00 </td>
</tr>
<tr>
<td style="text-align:left;"> Taffel&nbsp;chips                   </td>
<td style="text-align:right;">               13,00 </td>
<td style="text-align:right;">                              24,95 </td>
<td style="text-align:right;">                              28,95 </td>
<td style="text-align:right;">            13,00 </td>
</tr>
</tbody>
</table>


<p>Set fra den lyse side fik jeg noget rabat. Men Coop har ikke holdt hvad de
lovede omkring varernes fulde pris. Ved at angive for høje før-priser ser mine
personlige tilbud bedre ud end de er. Og tilbud er ikke noget butikkerne giver
os for vores blå øjnes skyld &mdash; deres formål er at &lsquo;nudge&rsquo; os til at købe
mere. Og så var der chipsene som i butikken var dyrere end listeprisen &mdash;
heller ikke et godt look.</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th style="text-align:left;"> Vare                                </th>
<th style="text-align:right;"> Påstået besparelse </th>
<th style="text-align:right;"> Faktisk besparelse </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> Änglamark&nbsp;havregryn            </td>
<td style="text-align:right;">               8,95 </td>
<td style="text-align:right;">               0,00 </td>
</tr>
<tr>
<td style="text-align:left;"> Rana&nbsp;fyldt&nbsp;pasta          </td>
<td style="text-align:right;">               8,95 </td>
<td style="text-align:right;">               4,00 </td>
</tr>
<tr>
<td style="text-align:left;"> Coop&nbsp;revet&nbsp;mozzarella     </td>
<td style="text-align:right;">               6,25 </td>
<td style="text-align:right;">               3,95 </td>
</tr>
<tr>
<td style="text-align:left;"> Taffel&nbsp;chips                   </td>
<td style="text-align:right;">              11,95 </td>
<td style="text-align:right;">              15,95 </td>
</tr>
</tbody>
</table>


<p>I sidste ende er der intet nyt under solen. Et tilbud &mdash; personligt eller ej
&mdash; skal bedømmes alene ud fra prisen, ikke ud fra før-prisen.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Star Wars: Andor]]></title>
    <link href="http://blog.erw.dk/2023/06/06/star-wars-andor/"/>
    <updated>2023-06-06T10:11:00+02:00</updated>
    <id>http://blog.erw.dk/2023/06/06/star-wars-andor</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/star_wars_andor.jpg" title="Picture shows Cassian Andor from the &#34;Star Wars: Andor&#34; TV series" alt="Picture shows Cassian Andor from the &#34;Star Wars: Andor&#34; TV series"></p>

<p>As a kid back in the 1990s I was spellbound by the Star Wars movies. I didn&rsquo;t
fully grasp the story, but everything was so cool: Spaceships, droids, aliens,
and lasers! <em>So cool!</em> I had Star Wars toys, and I recorded the movies from TV,
to watch again and again in all their blurry VHS glory. Now we have
high-definition streaming, from which I&rsquo;ve spent the past week watching the
&ldquo;Star Wars: Andor&rdquo; series&#8217; first season, and it has blown my now grown-up mind.</p>

<!-- more -->


<p>For having &ldquo;war&rdquo; in its name, the Star Wars franchise is generally
family-friendly. Good and evil are clearly laid out and color coded. The enemy
soldiers have face-covering masks, or are droids, so it doesn&rsquo;t feel as serious
when they&rsquo;re shot in large numbers. Plus there are attempts at comedy, some
better than others.</p>

<p>&ldquo;Andor&rdquo; is something else entirely. Andor is Star Wars for adults. It shows the
oppression of the Empire and enraging unfairness of its bureaucracy. It shows
how oppression leads to rebellion, and all of the treachery, fear, mistrust,
solitude, and courage being a rebel involves.</p>

<p>There&rsquo;s no good or evil, just people. Some work in factories and shops. Some
work for the Empire. Everyone can become a victim of imperial authoritarianism,
whether they&rsquo;re rich or poor, guilty or innocent, or loyal to the Empire or
not. We feel for people on both sides. People on both sides make hard choices
and do unheroic things.</p>

<p>Star Wars has never felt more real to me. At the same time it&rsquo;s the most
gripping Star Wars show I&rsquo;ve seen (as a grown-up), but also the one that makes
me think the most about suffering and injustice in the real world, here on
Earth.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Beware the Tesla Account Region]]></title>
    <link href="http://blog.erw.dk/2023/05/02/beware-the-tesla-account-region/"/>
    <updated>2023-05-02T21:40:31+02:00</updated>
    <id>http://blog.erw.dk/2023/05/02/beware-the-tesla-account-region</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/tesla_account.png" title="Picture shows the Tesla &#34;Create Account&#34; webpage and how its language setting affects the Tesla App &#34;Edit Billing Address&#34; page" alt="Picture shows the Tesla &#34;Create Account&#34; webpage and how its language setting affects the Tesla App &#34;Edit Billing Address&#34; page"></p>

<p>I created a Tesla account to be able to charge my (non-Tesla) car at Tesla
charging stations. When I tried to charge at a Supercharger, I had to add my
credit card info, but then the Tesla app also wanted a billing address. The
only problem was that the country selector was locked to the United States,
where I don&rsquo;t live.</p>

<!-- more -->


<p>I was not going to give a fake address, and I&rsquo;m not even sure it would have
worked anyway due to validation between billing address and credit card info.
After some googling I found out that a Tesla account is bound to a country, and
that you have to get in contact with Tesla to get it changed. There was no
telling how long that would take, so I left the Tesla charging station and
found another place to get some juice.</p>

<p>Later, I learned that the language selector of the Tesla website is a combined
language and country selector, and that the active language/country at the time
of the account creation determines the semi-permanent account country.</p>

<p>This is pretty bad usability. The user is not made aware that they are choosing
a country, and on top of that, the choice is cumbersome to change later. Good
usability involves the user understanding the consequences of their actions as
well as an easy way to undo an undesired action.</p>

<p>The first problem would be easy to fix: By simply adding an explicit country
selector to the main part of the sign-up form, the user is aware that they are
choosing a country. I don&rsquo;t know why we&rsquo;re are not allowed to change our own
account country, but I did find a quick workaround: I deleted my Tesla account
and recreated it in Danish, and then I was allowed to add my Danish address.
After confirming the next day on my trip home that I can now charge at
Superchargers, I&rsquo;m happy that I now have access to even more places to charge
my car.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Taming Python with Dataclasses]]></title>
    <link href="http://blog.erw.dk/2023/02/18/taming-python-with-dataclasses/"/>
    <updated>2023-02-18T20:28:53+01:00</updated>
    <id>http://blog.erw.dk/2023/02/18/taming-python-with-dataclasses</id>
    <content type="html"><![CDATA[<p>The Stack Overflow blog recently published the article
<a href="https://stackoverflow.blog/2023/01/19/adding-structure-to-dynamic-languages/">Minimizing the downsides of dynamic programming languages</a>
(such as JavaScript, Python, Ruby, PHP) from which I&rsquo;ll point out:</p>

<ul>
<li><p>&ldquo;Type hints are the most obvious way to make a dynamic language more static.
In effect, you get the best of both worlds: you can write dynamic code but
are required to be more careful about what types you expect to get and use at
any point.&rdquo;</p></li>
<li><p>&ldquo;Dictionaries are for unknown data.&rdquo; In other words, if you know while
writing the code which keys are going to be in your dictionary at runtime,
you should use an interface (TypeScript), struct (Ruby), or dataclass
(Python), instead of a plain dictionary/object.</p></li>
</ul>


<p>This reminded me that if you&rsquo;re a Python programmer, you should definitely know
about <a href="https://docs.python.org/library/dataclasses.html">dataclasses</a> (since Python 3.7, 2018) because they do both of the
above, as fields of the dataclass are specified using type annotation syntax.</p>

<!-- more -->


<p>For example, if you write:</p>

<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
</pre></td><td class='code'><pre><code class='python'><span class='line'><span class="kn">from</span> <span class="nn">dataclasses</span> <span class="kn">import</span> <span class="n">dataclass</span>
</span><span class='line'>
</span><span class='line'><span class="nd">@dataclass</span>
</span><span class='line'><span class="k">class</span> <span class="nc">InventoryItem</span><span class="p">:</span>
</span><span class='line'>    <span class="n">name</span><span class="p">:</span> <span class="nb">str</span>
</span><span class='line'>    <span class="n">unit_price</span><span class="p">:</span> <span class="nb">float</span>
</span><span class='line'>    <span class="n">quantity</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>
</span></code></pre></td></tr></table></div></figure>


<p>Then the <code>@dataclass</code> decorator adds something like the following to your class
at runtime.</p>

<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
</pre></td><td class='code'><pre><code class='python'><span class='line'><span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">unit_price</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">quantity</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">):</span>
</span><span class='line'>    <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">name</span>
</span><span class='line'>    <span class="bp">self</span><span class="o">.</span><span class="n">unit_price</span> <span class="o">=</span> <span class="n">unit_price</span>
</span><span class='line'>    <span class="bp">self</span><span class="o">.</span><span class="n">quantity</span> <span class="o">=</span> <span class="n">quantity</span>
</span><span class='line'>
</span><span class='line'><span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span class='line'>    <span class="k">return</span> <span class="p">(</span><span class="n">f</span><span class="s">&#39;InventoryItem(name={repr(self.name)}, &#39;</span>
</span><span class='line'>            <span class="n">f</span><span class="s">&#39;unit_price={repr(self.unit_price)}, &#39;</span>
</span><span class='line'>            <span class="n">f</span><span class="s">&#39;quantity={repr(self.quantity)})&#39;</span><span class="p">)</span>
</span><span class='line'>
</span><span class='line'><span class="k">def</span> <span class="nf">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
</span><span class='line'>    <span class="k">return</span> <span class="p">((</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">unit_price</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">quantity</span><span class="p">)</span> <span class="o">==</span>
</span><span class='line'>            <span class="p">(</span><span class="n">other</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">other</span><span class="o">.</span><span class="n">unit_price</span><span class="p">,</span> <span class="n">other</span><span class="o">.</span><span class="n">quantity</span><span class="p">))</span>
</span></code></pre></td></tr></table></div></figure>


<p>Dataclasses can do more than that, but those are the basics. Typically, the
dataclass decorator itself doesn&rsquo;t actually care about the types (str, float,
int) &mdash; it mainly uses the type annotations as a concise syntax to specify the
<em>names</em> of the fields. But since dataclasses are pretty useful, they become
like a &ldquo;gateway drug&rdquo; to using and learning more about Python type annotations.</p>

<a name="Magic"></a>
<h2>Magic</h2>

<p>The Stack Overflow blog post then seems to backpedal with the recommendation
&ldquo;Be more explicit than you need to be&rdquo;. After all, having the dunder methods
(<code>__init__</code> etc.) generated automatically is less explicit than writing them
out yourself. But the blog post clarifies that &ldquo;The only real things that
should ever be doing metaprogramming or reflection are frameworks themselves&rdquo;
which makes it ok again to use dataclasses since they are part of the standard
library.</p>

<p>I agree; &ldquo;magic&rdquo; stuff should mainly be done by frameworks, and only when the
benefits are tangible. And I think dataclasses are so useful (and again, part
of the standard library) that it&rsquo;s ok to expect readers of your code to know or
be willing to learn about them.</p>

<p>However, in combination with other slightly magical things, I was recently
wondering if the code I was writing was a bit &ldquo;too magic&rdquo;:</p>

<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
</pre></td><td class='code'><pre><code class='python'><span class='line'><span class="kn">from</span> <span class="nn">dataclasses</span> <span class="kn">import</span> <span class="n">dataclass</span>
</span><span class='line'><span class="kn">from</span> <span class="nn">rest_framework</span> <span class="kn">import</span> <span class="n">serializers</span>
</span><span class='line'>
</span><span class='line'><span class="nd">@dataclass</span>
</span><span class='line'><span class="k">class</span> <span class="nc">Thing</span><span class="p">:</span>
</span><span class='line'>    <span class="n">my_foo</span><span class="p">:</span> <span class="nb">int</span>
</span><span class='line'>
</span><span class='line'><span class="nd">@dataclass</span>
</span><span class='line'><span class="k">class</span> <span class="nc">SpecialThing</span><span class="p">(</span><span class="n">Thing</span><span class="p">):</span>
</span><span class='line'>    <span class="n">my_bar</span><span class="p">:</span> <span class="nb">int</span>
</span><span class='line'>
</span><span class='line'><span class="k">class</span> <span class="nc">SpecialThingSerializer</span><span class="p">(</span><span class="n">serializers</span><span class="o">.</span><span class="n">Serializer</span><span class="p">):</span>
</span><span class='line'>    <span class="n">MyFoo</span> <span class="o">=</span> <span class="n">serializers</span><span class="o">.</span><span class="n">IntegerField</span><span class="p">(</span><span class="n">source</span><span class="o">=</span><span class="s">&#39;my_foo&#39;</span><span class="p">)</span>
</span><span class='line'>    <span class="n">MyBar</span> <span class="o">=</span> <span class="n">serializers</span><span class="o">.</span><span class="n">IntegerField</span><span class="p">(</span><span class="n">source</span><span class="o">=</span><span class="s">&#39;my_bar)</span>
</span><span class='line'>
</span><span class='line'>    <span class="k">def</span> <span class="nf">create</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">validated_data</span><span class="p">):</span>
</span><span class='line'>        <span class="k">return</span> <span class="n">SpecialThing</span><span class="p">(</span><span class="o">**</span><span class="n">validated_data</span><span class="p">)</span>
</span></code></pre></td></tr></table></div></figure>


<p>This code can deserialize a JSON object such as <code>{"MyFoo": 1, "MyBar": 2}</code> into
my (pep8 compliant) dataclass as an object with the representation
<code>SpecialThing(my_foo=1, my_bar=2)</code>. This overall journey should not be too
surprising, but the individual steps to get there are not very explicit:</p>

<ul>
<li>The <a href="https://www.django-rest-framework.org/">Django REST framework</a> serializer will produce the <code>validated_data</code>
dict <code>{'my_foo': 1, 'my_bar': 2}</code> because when working in reverse
(deserializing), the <code>source</code> field name becomes the target, so <code>MyFoo</code>
becomes <code>my_foo</code>, etc.</li>
<li>This dict is <code>**</code>unpacked as keyword arguments to instantiate <code>SpecialThing</code></li>
<li>The auto-generated <code>SpecialThing.__init__</code> correctly handles both of these
keyword arguments because one is inherited from the <code>Thing</code> dataclass.</li>
</ul>


<p>I love how compact the code is, but I also have to acknowledge that it might
not be clear to Python novices without the above explanation. But in the
bigger picture I think this example is still within the limits of what is
reasonable because:</p>

<ul>
<li>The overall purpose of the code (deserialization) is fairly straightforward
once you are in the context of Django REST framework</li>
<li>The code doesn&rsquo;t use programmatically constructed variable names, so it
passes the grep test, as mentioned in the Stack Overflow blogpost</li>
<li>The magic is done with the standard library and DRF, the main framework of
the codebase.</li>
</ul>


<p>In the end, you should write so it makes sense to the people who are going to
read it.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Bose QuietComfort Earbuds II vs. Jabra Elite 85t]]></title>
    <link href="http://blog.erw.dk/2022/12/21/bose-quietcomfort-earbuds-ii-vs-jabra-elite-85t/"/>
    <updated>2022-12-21T23:16:51+01:00</updated>
    <id>http://blog.erw.dk/2022/12/21/bose-quietcomfort-earbuds-ii-vs-jabra-elite-85t</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/bose_qce_ii_vs_jabra_elite_85t.jpg" title="Picture shows the charging cases and one earbud of each of the Bose QuietComfort Earbuds II and the Jabra Elite 85t earbuds" ></p>

<p>I&rsquo;ve used the Bose QuietComfort Earbuds II for almost a month and the Jabra
Elite 85t earbuds for 4&ndash;5 months. Both are flagship products, with the Boses
being released a few months ago, and the Jabras two years ago. This means that
by now, the Jabras only cost around half as much as the Boses. That doesn&rsquo;t
make the Boses better at everything, however. Depending on what qualities you
value, one or the other could be the better pair.</p>

<!-- more -->


<a name="Noise.reduction"></a>
<h2>Noise reduction</h2>

<p>I am easily distracted by noise and sound which is why I wanted great noise
reduction, and Bose did not disappoint. The noise reduction of the QuietComfort
Earbuds II is fantastic. I think they&rsquo;re almost as good as the over-ear Bose
Noise Cancelling Headphones 700, which is an amazing feat.</p>

<p>I use the term noise reduction instead of noise cancellation, because noise
cancellation is only one component of the total noise reduction. There&rsquo;s
passive isolation (think earplugs) which the Boses do better than the Jabras,
because the Boses get a better seal in my ears. Jabra describes Elite 85t with
their oval ear tips as a semi-open design, so it&rsquo;s not so strange they have
less isolation. (Most Jabra true wireless earbuds except for the 85t&rsquo;s have
round ear tips and are described as a closed design.) It&rsquo;s a bit strange though
that the Boses get a better seal while also having an oblong shape (though more
<a href="https://en.wikipedia.org/wiki/Stadium_(geometry)">stadium</a> than oval).</p>

<p>The next part of noise reduction is active noise cancellation (ANC). The Jabras
have good ANC, but the Boses have possibly the world&rsquo;s best. Third and finally,
I count noise masking as part of noise reduction: The use of regular wide-band
noise to drown out irregular noises. Bose does not list noise masking as a
feature of the QCE II but I do think they use it a little bit. More than other
ANC products I&rsquo;ve tried, the QCE II has a white noise-y hiss in the background
(even with occasional hints of static). I&rsquo;ve seen some people on Reddit be very
unhappy about this, but to me it&rsquo;s acceptable since the QCE IIs are so good at
reducing external distractions which is what I use them for. I don&rsquo;t know if
Bose used masking on purpose or it&rsquo;s just a consequence of their beefy ANC.
Either way, it works.</p>

<p>Winner: Bose</p>

<a name="Connectivity"></a>
<h2>Connectivity</h2>

<p>Both the Boses and the Jabras can be paired with (remember) multiple Bluetooth
sound sources, but the Boses can only be <em>connected</em> to one source at a time,
while the Jabras can be connected to two at the same time, known as multipoint.
From what I read, the first-generation QCEs could easily be switched to another
sound source by pressing the button in the charging case, but the QCE II case
button is only for pairing, not for switching between paired devices.</p>

<p>Bose has other products with multipoint such as the Noise Cancelling Headphones
700, it just seems they didn&rsquo;t find room for it in the earbuds. To switch
sources, Bose suggests using the Bose Music smartphone app, but I find it too
slow to use. Instead I use the target device&rsquo;s Bluetooth menu to &ldquo;steal&rdquo; the
connection. For example if the Boses are connected to my Android phone and I
want to use them with my work computer, I press Win+K to open the connections
menu, and select the Boses which then disconnect from my phone and connect to
the computer. But then when I walk out of the office and the Boses lose the
computer connection, they don&rsquo;t automatically connect to my phone in my pocket.</p>

<p>Both products have stable Bluetooth connections, but the Jabras just
automatically connect to the two most recent devices within range, and it Just
Works.</p>

<p>Winner: Jabra</p>

<a name="Sound.quality"></a>
<h2>Sound quality</h2>

<p>The Jabras sound good, but the Boses sound very good, with much deeper bass,
probably helped by the better seal in my ears. In fact, I&rsquo;ve had to reduce the
low end a bit in the equalizer, so now it&rsquo;s perfect.</p>

<p>Another kind of sound quality is how good phone/voice calls sound to the people
in the other end, listening to you. I have not tried being on the receiving end
of these earbuds, but my impression, based on other people&rsquo;s reviews and tests
online, is that both products are acceptable but not great for call quality.
However, from the music listening experience alone I will definitely say:</p>

<p>Winner: Bose</p>

<a name="Charging.case"></a>
<h2>Charging case</h2>

<p>Both cases feel smooth and sturdy, even though closing their lids sounds a bit
clacky. If they could have fit a soft-close feature for the lids, that would be
really nice. Either way, the Bose case is pretty large while the Jabra case is
smaller, though not small.</p>

<p>Each case has a battery status LED. Jabra indicates high, medium, and low
battery state of charge by green, (greenish) yellow, and red. Bose lumps high
and medium into one with a white light, and low battery is amber. The Jabra one
seemed more intuitive to me, though I think the Bose colors might be more
inclusive to color blind people, which is nice.</p>

<p>It&rsquo;s very easy to get the buds out of the Jabra case, while it&rsquo;s easiest to use
two hands to get one bud out of the Bose case. Combined with a bit slow
connection and auto-calibration, it takes around 15 seconds from I open the
case until I can start using the Boses. With the Jabras, it takes 5 seconds as
I can take one bud in each hand, and they connect quickly. The Jabra buds snap
very satisfyingly back into the case after use, while the Boses require more
precise handling to get back in, and have a less satisfying snap. Small things,
but the Jabra case is just a joy to use.</p>

<p>Winner: Jabra</p>

<a name="Comfort"></a>
<h2>Comfort</h2>

<p>After using the Jabras for months, I was amazed the first time I put the Boses
in my ears. They felt much better than the Jabras, and the fit was more secure.
After the initial impression, and after wearing the Boses for some hours, the
difference did not feel as large, but the Boses are still a bit more
comfortable. The Boses are also more customizable in terms of fit and
stability, while the Jabras fit less securely in my ears.</p>

<p>Winner: Bose</p>

<a name="Controls"></a>
<h2>Controls</h2>

<p>The two products take different approaches: Jabra uses physical buttons while
Bose uses a touch sensitive surface that you both tap and swipe. The Jabras
don&rsquo;t have the swiping actions so you control volume by holding down the
buttons &mdash; hold right bud to increase volume and left to decrease. With Bose,
each bud has full control of volume by swiping up/down, plus more actions you
can do on either side such as one tap to ⏯, two taps to ⏭, and three taps to ⏮.</p>

<p>The Bose controls look better on paper, but the Jabras feel way better in real
life. You can use the physical buttons quickly and effortlessly and always know
if you pressed the correct number of times. All control actions have around one
second of delay before they happen which is why the physical feedback is even
more important. The touch surfaces are slower to use, require more precision
and don&rsquo;t give haptic feedback so you&rsquo;re not sure if a tap registered and
consequently if you tapped the correct number of times. And the touch surface
doesn&rsquo;t work with gloves or headgear that covers the ears. I love that I can
use the Jabras through clothing.</p>

<p>Winner: Jabra</p>

<a name="Transparency.mode"></a>
<h2>Transparency mode</h2>

<p>Transparency mode uses the earbuds&#8217; microphones to let you hear what&rsquo;s going on
around you without taking out the earbuds. Bose calls it <em>Aware</em> while Jabra
calls it <em>HearThrough</em>. Bose Aware mode provides great transparency once the
feature is turned on, but it&rsquo;s annoyingly slow to turn on because it requires a
long press, and then you have to wait for the voice prompt to tell you you&rsquo;re
in Aware mode. It&rsquo;s faster to take a bud out than to wait for the Aware mode to
turn on, so I usually just take one bud out if I need to briefly talk to
someone. Jabra HearThrough is easy and quick to turn on, with or without
gloves, with a single press of the left earbud, but the sound quality is not
especially good.</p>

<p>The Jabras have the advantage that they can work in &ldquo;old school&rdquo; mode with
neither of the newfangled ANC and HearThrough features turned on, whereas Bose
only lets you fade in a straight line between Aware (max transparency) and
Quiet (max ANC) &mdash; you can&rsquo;t turn off the smart features. Bose on the other
hand has a potential advantage with its ActiveSense feature which tries to be
transparent while also cancelling/reducing loud noises in your surroundings.</p>

<p>It&rsquo;s a draw.</p>

<a name="Mono.mode"></a>
<h2>Mono mode</h2>

<p>Mono mode means using one earbud alone. Both products have the right earbud as
the primary one, meaning that the left one is not designed to be used alone. An
advantage of the Bose touch surface controls is that using only one bud gives
you almost all controls on that one bud. The only choice you have to make is
whether long press triggers mode switch or voice assistant, as you cannot have
both on the same bud. The left Bose bud can actually be used alone for playing
audio (no calls) as long as the right bud is turned on, i.e., not in the case,
to relay the audio data from your phone/computer.</p>

<p>For Jabra, the single/double/triple press of each bud can be assigned to
different actions except for volume control. Even though long pressing the
right bud normally increases volume, this is disabled in mono mode, probably so
you don&rsquo;t set the volume too high using the right bud and then can&rsquo;t get it
back down because you&rsquo;re not wearing the left bud which has the volume down
button. You can however use the right bud to activate your device&rsquo;s voice
assistant and ask them to change the volume. The physical button with its
limits again has the upside that it works through fabric. Finally, the right
Jabra bud actually fits pretty well in the left ear, and I do use it like that
occasionally.</p>

<p>It&rsquo;s a draw.</p>

<a name="Battery.life..Water.resistance"></a>
<h2>Battery life, Water resistance</h2>

<p>Bose claims &ldquo;up to&rdquo; 6 hours on a single charge and 24 hours in total including
the charging case. Jabra claims &ldquo;up to&rdquo; 5.5 hours on a single charge and 25
hours including the case. I have not tried to confirm the numbers, but both
products are totally adequate. In practice I charge the Jabra case more often,
but I think that&rsquo;s because its battery indicator shows a non-full battery after
using only (my guess) one third of the charge whereas the Bose case shows
normal status until you have used two thirds of the charge.</p>

<p>As for water resistance, both products are rated IPX4 (splash proof), but I&rsquo;m
not going to test the limits of that!</p>

<p>It&rsquo;s a draw.</p>

<a name="App.support..Wireless.charging"></a>
<h2>App support, Wireless charging</h2>

<p>Both products have supporting smartphone apps. When the Jabra Sound+ app
starts, it connects very quickly to the earbuds and you can use the app almost
immediately. The Bose Music app, even though my phone is already connected to
the earbuds and playing music, sometimes needs to &ldquo;find&rdquo; the earbuds when I
start the app which is frustrating to wait for.</p>

<p>Both apps contain settings, mode setup, equalizer, help/tips, etc. The Jabra
app has some extra features: It shows the case battery state, which is really
nice, and it can play soundscapes like White noise, Pink noise, Waterfall,
Ocean waves, etc.</p>

<p>The Jabra case can be charged wirelessly on a Qi charger. So could the original
QCE case, but not the QCE II case. Not important to me, though it definitely is
to some people.</p>

<p>Winner: Jabra</p>

<a name="Conclusion"></a>
<h2>Conclusion</h2>

<p>Here&rsquo;s a summary of each category winner:</p>

<div class="next-table"></div>




<table>
<thead>
<tr>
<th style="text-align:left;">Category</th>
<th style="text-align:center; width: 40%">Winner</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;">Noise&nbsp;reduction</td>
<td style="text-align:left;">Bose</td>
</tr>
<tr>
<td style="text-align:left;">Connectivity</td>
<td style="text-align:right;">Jabra</td>
</tr>
<tr>
<td style="text-align:left;">Sound&nbsp;quality</td>
<td style="text-align:left;">Bose</td>
</tr>
<tr>
<td style="text-align:left;">Charging&nbsp;case</td>
<td style="text-align:right;">Jabra</td>
</tr>
<tr>
<td style="text-align:left;">Comfort</td>
<td style="text-align:left;">Bose</td>
</tr>
<tr>
<td style="text-align:left;">Controls</td>
<td style="text-align:right;">Jabra</td>
</tr>
<tr>
<td style="text-align:left;">Transparency&nbsp;mode</td>
<td style="text-align:center;">Draw</td>
</tr>
<tr>
<td style="text-align:left;">Mono&nbsp;mode</td>
<td style="text-align:center;">Draw</td>
</tr>
<tr>
<td style="text-align:left;">Battery&nbsp;life, Water&nbsp;resistance </td>
<td style="text-align:center;">Draw</td>
</tr>
<tr>
<td style="text-align:left;">App&nbsp;support, Wireless&nbsp;charging </td>
<td style="text-align:right;">Jabra</td>
</tr>
</tbody>
</table>


<p>The two products win approximately the same number of categories, but some
categories are more important than others. To me, noise reduction is paramount,
which is why I prefer Bose overall, but it&rsquo;s no landslide victory. While I
enjoy the ANC when working at the office, I also dislike having to switch
Bluetooth sound sources manually, often multiple times per day.</p>

<p>Going outside in the winter, I definitely prefer the Jabras, with their
physical buttons that I can use unhindered by winter getup. In hindsight, I
should not have bought the Jabra Elite 85t&rsquo;s with their semi-open design, as
they let in too much external sound for my taste. I might have preferred their
newer Elite 5 or 7 models.</p>

<p>The best product would be a lovechild of Bose and Jabra with the fit, ANC, and
sound quality from Bose and everything else from Jabra. That would be hard to
beat (except perhaps on call quality).</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Avatar: The Way of Water]]></title>
    <link href="http://blog.erw.dk/2022/12/15/avatar-the-way-of-water/"/>
    <updated>2022-12-15T21:23:34+01:00</updated>
    <id>http://blog.erw.dk/2022/12/15/avatar-the-way-of-water</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/avatar2.jpg" title="Picture shows a scene from &#34;Avatar: The Way of Water&#34; with Na'vi people and creatures on a beach" alt="Picture shows a scene from &#34;Avatar: The Way of Water&#34; with Na'vi people and creatures on a beach"></p>

<p>Back in December 2009, I saw the premiere of the movie Avatar, and was
completely enraptured by this beautiful fictional blue world. I went to the
cinema to watch it multiple times. I studied <a href="https://en.wikipedia.org/wiki/Na%CA%BCvi_language">Na&#8217;vi</a>, the language
constructed for the movie (which has a real grammar behind its pleasant alien
sound). I ordered the movie for pickup at Blockbuster at the midnight DVD
release (yes, a physical Blockbuster store!) I just absolutely adored the
movie. Fast-forward to the present, and we finally got to watch the sequel,
Avatar: The Way of Water.</p>

<!-- more -->


<p>This post is not a review, or at least not a very comprehensive one. It is just
a short praise of a movie that managed to transport me 13 years back, back to a
time before I was a dull grown-up with a mortgage. Back to when a good movie
meant a movie <em>I</em> enjoyed, rather than one that critics enjoyed.</p>

<p>Did the movie have flaws? Yes.</p>

<p>Did I love it? Yes.</p>

<p>Did I shed a tear? Yes.</p>

<p>Am I going to watch it again? Yes.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Ioniq Efficiency]]></title>
    <link href="http://blog.erw.dk/2022/11/29/ioniq-efficiency/"/>
    <updated>2022-11-29T08:18:04+01:00</updated>
    <id>http://blog.erw.dk/2022/11/29/ioniq-efficiency</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/hyundai_ioniq_electric_2020_leaves.jpg" title="Picture shows the Hyundai Ioniq Electric's aerodynamic profile in front of some autumn leaves" ></p>

<p>I&rsquo;ve driven the <a href="http://blog.erw.dk/2021/05/02/hyundai-ioniq-electric/">Hyundai Ioniq Electric</a> for two years now, and it&rsquo;s
time for some more stats. While the car model is not for sale anymore, it will
exist on the used car market for many years to come, and I&rsquo;m going to continue
documenting my experiences with it here. Despite being discontinued, the car
remains one of the most energy efficient mass market vehicles on the roads
today.</p>

<!-- more -->


<p>The Ioniq Electric reports energy use per distance (e.g., kWh/100km) or
distance traveled per energy amount (e.g., km/kWh), depending on your
preference. The car has three counters: A trip with automatic reset (after four
hours of parking), a trip with manual reset, and a long-term counter with
manual reset. I reset the long-term counter a couple of times, so I do not have
the car&rsquo;s own efficiency value for the past two years. But I do have a log of
all the times I charged the car, so I know how much energy I put into the
battery and how far I drove. This gives me an overall vehicle efficiency of
6.46&nbsp;km/kWh.</p>

<p>This value includes all the energy spent under all of the real-world conditions
of the shifting Danish weather, HVAC use (heating, ventilation, and air
conditioning), tires (AllSeasonContact), driving styles and speeds, etc. The
figure is the vehicle efficiency and so does not include charging losses. It
does however include the energy used by the car while it is parked, which I
estimate to be around 50&nbsp;kWh/year. (I didn&rsquo;t get the Bluelink option to
make the Ioniq internet-connected. An app-enabled online car could use (much)
more energy while parked.) By correcting for the assumed 50&nbsp;kWh/year
drain, I get a driving-only efficiency of 6.83&nbsp;km/kWh (still including
HVAC and everything else while driving). In the table below, I compare my
performance with the WLTP results and the <a href="https://ev-database.org/car/1165/Hyundai-IONIQ-Electric">Electric Vehicle Database</a>&rsquo;s
Real Range (also driving only) numbers:</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th style="text-align:left;">                     </th>
<th style="text-align:right;"> Vehicle&nbsp;efficiency </th>
<th style="text-align:right;"> Vehicle&nbsp;consumption </th>
<th style="text-align:right;"> Average&nbsp;range </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> <strong>WLTP</strong>            </td>
<td style="text-align:right;">             8.13 km/kWh </td>
<td style="text-align:right;">           12.3 kWh/100km </td>
<td style="text-align:right;">             311 km </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>My&nbsp;driving</strong> </td>
<td style="text-align:right;">             6.83 km/kWh </td>
<td style="text-align:right;">           14.6 kWh/100km </td>
<td style="text-align:right;">             262 km </td>
</tr>
<tr>
<td style="text-align:left;"> <strong>EVDB</strong>            </td>
<td style="text-align:right;">             6.54 km/kWh </td>
<td style="text-align:right;">           15.3 kWh/100km </td>
<td style="text-align:right;">             250 km </td>
</tr>
</tbody>
</table>


<p>The table also shows the range which is calculated as the efficiency multiplied
by the usable battery size which is 38.3&nbsp;kWh. (If the range seems too low
for you, Hyundai are on their way to fix it with the upcoming
<a href="https://ev-database.org/car/1718/Hyundai-IONIQ-6-Long-Range-2WD">Ioniq&nbsp;6</a> sedan which is expected to keep the efficiency of the
Ioniq Electric while almost doubling its range.) I do not report my car&rsquo;s own
range estimation as it is not representative of the long-term. It depends only
on recent driving conditions, as well as HVAC considered either as turned off
or with its instantaneous power draw, neither of which are long-term
representative.</p>

<p>The results give me a lot of confidence in EVDB to not overestimate efficiency
and range, like the WLTP often does. My results being better than EVDB might be
down to the fact that I drive slightly less on motorways/highways than an
average driver, or that the Danish weather is slightly warmer than in the EVDB
model. Speaking of the weather, let&rsquo;s look at how efficiency changes with the
seasons.</p>

<a name="Efficiency.over.time"></a>
<h2>Efficiency over time</h2>

<p>The following diagram shows the driving efficiency average for each two-month
period (Nov-Dec, Jan-Feb, etc.) for the past two years, ranging from 4.7 to
8.4&nbsp;km/kWh.</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/ioniq_efficiency_1.png" title="Graph shows efficiency is lowest in winter and highest in summer" ></p>

<p>In the next diagram I add the daytime air temperature in my region of
Nordjylland, Denmark. (<a href="https://www.dmi.dk/vejrarkiv/manedens-sasonens-og-arets-vejr/tabeller-maned/">Data source</a>. I calculate/approximate daytime
temperature as the average between (1) the average daily peak temperature in
the period and (2) the overall average temperature of the period.)</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/ioniq_efficiency_2.png" title="Graph shows efficiency approximately follows daytime air temperature" ></p>

<p>The efficiency correlates fairly well with the temperature within the
0&ndash;20&deg;C range, but the efficiency actually rises faster than the
temperature in the spring. This could be caused by the spring sunshine:</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/ioniq_efficiency_3.png" title="Graph shows sunshine is high in both spring and summer" ></p>

<p>It might be that the sun dries wet roads faster and slightly increases the road
and tire temperature compared with the air, improving efficiency. Either way,
here&rsquo;s the same diagram with the efficiency turned into range, from 179 to
323&nbsp;km:</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/ioniq_efficiency_4.png" title="Graph same as previous, with range instead of efficiency on vertical axis" ></p>

<p>The efficiency at a given time of year is still just an average of different
driving styles and speeds. Here&rsquo;s how speed affects efficiency.</p>

<a name="Efficiency.and.speed"></a>
<h2>Efficiency and speed</h2>

<p>I tested the efficiency of my car at different speeds. On a calm and sunny
Sunday at the end of May, I drove a motorway round trip three times at
different speeds. I started at 50% state of charge, then drove the 46.6&nbsp;km
loop and charged back up to 50%, then repeated two more times.</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/ioniq_efficiency_E45.jpg" title="Picture shows my motorway round trip route on a satellite image map" ></p>

<p>The Danish Meteorological Institute reported 21°C (in the shade), while my car
(in the sun) said 24°C. Without using the air conditioning, I drove on the E45
motorway from the Clever charger at exit 33 Haverslev to exit 36 Onsild and
back. Of the 46.6&nbsp;km round trip, 43.4&nbsp;km (93%) were motorway, while
3.2&nbsp;km (7%) were on/off ramps and other roads. On the motorway I set the
cruise control to 95, 115, and 135&nbsp;km/h which in true speed should be
around 90, 110, and 130&nbsp;km/h.</p>

<p>This resulted in the following efficiency values reported by the car, for the
full round trip. From the vehicle efficiency I derive the vehicle consumption
and the resulting range.</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th style="text-align:right;"> Cruise&nbsp;speed </th>
<th style="text-align:right;"> Vehicle&nbsp;efficiency </th>
<th style="text-align:right;"> Vehicle&nbsp;consumption </th>
<th style="text-align:right;">       Range </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right;">       <strong>90 km/h</strong> </td>
<td style="text-align:right;">              9.1 km/kWh </td>
<td style="text-align:right;">           11.0 kWh/100km </td>
<td style="text-align:right;"> 349&nbsp;km </td>
</tr>
<tr>
<td style="text-align:right;">      <strong>110 km/h</strong> </td>
<td style="text-align:right;">              6.9 km/kWh </td>
<td style="text-align:right;">           14.5 kWh/100km </td>
<td style="text-align:right;"> 264&nbsp;km </td>
</tr>
<tr>
<td style="text-align:right;">      <strong>130 km/h</strong> </td>
<td style="text-align:right;">              5.6 km/kWh </td>
<td style="text-align:right;">           17.9 kWh/100km </td>
<td style="text-align:right;"> 214&nbsp;km </td>
</tr>
</tbody>
</table>


<p>If the trip ends at a destination/home charger, driving faster simply means
you&rsquo;ll get there faster, by spending more energy (and therefore money).
However, if the journey is longer and requires charging along the route,
driving faster also means waiting more for charging. Here&rsquo;s the time I spent
driving and charging:</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/ioniq_efficiency_5.png" title="Graph shows total driving + charging time only decreases slightly by driving faster" ></p>

<p>This table shows the resulting average speeds, which are lower than the cruise
speeds because of the driving off-motorway, and again lower when including the
time to charge the battery back up:</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th style="text-align:right;"> Cruise&nbsp;speed </th>
<th style="text-align:right;"> Driving&nbsp;average&nbsp;speed </th>
<th style="text-align:right;"> Average&nbsp;speed&nbsp;incl.&nbsp;charging </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right;">       <strong>90 km/h</strong> </td>
<td style="text-align:right;">                         85 km/h </td>
<td style="text-align:right;">                                     64 km/h </td>
</tr>
<tr>
<td style="text-align:right;">      <strong>110 km/h</strong> </td>
<td style="text-align:right;">                        100 km/h </td>
<td style="text-align:right;">                                     68 km/h </td>
</tr>
<tr>
<td style="text-align:right;">      <strong>130 km/h</strong> </td>
<td style="text-align:right;">                        113 km/h </td>
<td style="text-align:right;">                                     70 km/h </td>
</tr>
</tbody>
</table>


<p>The Ioniq Electric 38&nbsp;kWh, because of its limited charging speed, is not
too fast on long journeys. In Youtuber <a href="https://www.youtube.com/@bjornnyland">Bjørn Nyland</a>&rsquo;s
<a href="https://docs.google.com/spreadsheets/d/1V6ucyFGKWuSQzvI8lMzvvWJHrBS82echMVJH37kwgjE/edit#gid=15442336">1000 km challenge</a> series, the Ioniq 38 achieved an average speed around
<strong>70&nbsp;km/h</strong> in the winter, similar to veteran EVs Nissan Leaf and Renault
Zoe. If you pay a bit more, there are some EVs with a great trade-off between
price and long-distance speed around the <strong>90&nbsp;km/h</strong> mark: Hyundai Kona,
Kia Niro, VW&nbsp;ID.3, Cupra Born, Tesla Model&nbsp;3&nbsp;SR+. Finally, you
can get around <strong>100&nbsp;km/h</strong> and up with the newer Ioniqs, Kia EV6, and
many models from Tesla and the German automakers.</p>

<p>But as seen in Bjørn&rsquo;s videos, sustaining a high average speed on a long
journey means there&rsquo;s almost no time to eat or take breaks on the trip. And
that&rsquo;s why even a slower-charging, affordable EV such as the Ioniq Electric can
be good enough.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Bedre elbilsladning i Aalborg [Danish]]]></title>
    <link href="http://blog.erw.dk/2022/06/11/bedre-elbilsladning-i-aalborg/"/>
    <updated>2022-06-11T10:13:23+02:00</updated>
    <id>http://blog.erw.dk/2022/06/11/bedre-elbilsladning-i-aalborg</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/clever_garvergade.jpg" title="Billedet viser elbiler parkeret ved ladestandere ved Garvergade" ></p>

<p>Det er en ny æra for offentlig opladning af elbiler i Aalborg. Efter en meget
begrænset udvikling i 2021 er der i foråret 2022 åbnet flere nye offentlige
ladepladser i Aalborg og Nørresundby. Nu er det næsten altid muligt at finde en
ledig offentlig lader, når man skal bruge den. Dermed er det blevet meget
nemmere at kombinere elbil med at bo i lejlighed, samt at være
plug-in-bils-gæst i Aalborg.</p>

<!-- more -->


<p>Mulighederne er blevet bedre både for <a href="http://blog.erw.dk/2022/05/01/bedre-hurtigladning-i-aalborg/">hurtigladning</a>
(specielt da Circle Ks ladere nu er åbnet igen) og for offentlig
destinationsladning, hvor bilen holder parkeret i et antal timer imens den
oplades. Aalborg Kommune og Clever har i løbet af foråret åbnet 24
destinationsladere fordelt på fire forskellige kommunale P-pladser:</p>

<ul>
<li>Sømandshjemmet, Aalborg: 6 ladere</li>
<li>Vejgaard Bymidte, Aalborg: 6 ladere</li>
<li>Garvergade, Nørresundby: 6 ladere</li>
<li>Havnegade, Nørresundby: 6 ladere.</li>
</ul>


<p>Sømandshjemmet havde i forvejen to af kommunens 2&nbsp;kW-ladestik, som nu er
erstattet af seks 11/22&nbsp;kW-ladestik fra Clever. Aalborg Kongres &amp; Kultur
Center har også længe haft to af kommunens 2&nbsp;kW-ladestik, og disse er også
planlagt til at blive erstattet af Clevers.</p>

<p>Det er skønt at der nu er plads til opladning af seks biler samtidig, i stedet
for de typiske to ad gangen som de fleste ældre ladesteder har. Men der er
flere fordele. For det første har de nye ladere parkeringsregler der er nemme
at forstå (så nemme som parkeringsregler nu kan blive). Dette er også i
modsætning til andre, ældre ladesteder som ofte er på private områder med
uklare regler. Der ikke rart at parkere med frygt for en dyr parkeringsafgift,
så det er rart at de nye kommunale pladser har klare regler.</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/clever_havnegade.jpg" title="Billedet viser parkeringsregler ved ladepladserne på Havnegade: 3 timer 8-19 (8-16)" ></p>

<p>For det andet er det vigtigt at de nye kommunale pladser er gratis at holde på.
Den pris man betaler for strøm fra offentlige ladere er i forvejen 2&ndash;3 gange
dyrere pr. kilowatttime end ved hjemmeladning, så det er dejligt at man ikke
skal betale dyr parkering oveni. Specielt hvis man har en ældre eller billigere
elbil der lader med en lavere effekt, kan dyre parkeringspladser (fx
16&nbsp;kr/time) mere end fordoble den i forvejen halvdyre omkostning for at
lade offentligt.</p>

<p>Ud over nye ladere på kommunale P-pladser er der også kommet andre offentlige
ladere til, fx 4&nbsp;stk. ved Nordelektro på Skibsbyggerivej og 4&nbsp;stk.
ved Centrica på Skelagervej. (Desuden flere i dyre P-huse, samt flere
ikke-offentlige ladere ved boligforeninger, arbejdspladser mv.).</p>

<p>Sammen med de nye lademuligheder er æraen for gratis opladning i Aalborg næsten
slut. Circle&nbsp;K har lukket for gratis ladning og Aalborg Kommunes gratis
ladestik til elbiler er halvvejs med at blive erstattet af Clever-ladestandere.
Gratis ladning har været et privilegie som gjorde det muligt at køre elbil
<a href="http://blog.erw.dk/2021/05/24/3000-km-for-under-100/">ekstremt billigt</a> i Aalborg indtil nu. Nu må det nøjes med &ldquo;bare&rdquo; at
være <a href="https://fdm.dk/nyheder/bilist/2021-02-undersoegelse-afsloerer-denne-biltype-er-billigst-eje">billigere end benzin og diesel</a>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[AAWireless First Impressions]]></title>
    <link href="http://blog.erw.dk/2022/06/04/aawireless-first-impressions/"/>
    <updated>2022-06-04T21:20:37+02:00</updated>
    <id>http://blog.erw.dk/2022/06/04/aawireless-first-impressions</id>
    <content type="html"><![CDATA[<p><img class="left" src="http://blog.erw.dk/images/posts/aawireless.jpg" width="375" title="Picture shows a car infotainment screen with Google Maps as well as the small AAWireless device plugged in to the car's USB port" ></p>

<p>My <a href="http://blog.erw.dk/2021/05/02/hyundai-ioniq-electric/">car</a> supports Android Auto which lets me connect my smartphone and
use the phone&rsquo;s apps on the car&rsquo;s infotainment system including touchscreen,
speakers and microphone. Examples include Google Maps for navigation and
Spotify for music, as well as Google Assistant voice commands.</p>

<p>It normally requires a wired USB connection between phone and car, but
<a href="https://www.aawireless.io/">AAWireless</a> is a device that acts as a wireless bridge between
phone and car while the device stays plugged in to the car, so your phone can
stay in your pocket or bag. I&rsquo;m happy so say it works well so far.</p>

<!-- more -->


<p>With the product being crowdfunded, and just being a consumer electronic
product in general, I was prepared for some problems. To my pleasant surprise,
the product Just Works for me. After the initial Bluetooth pairing, the device
connects quickly when I turn the car on, and the car&rsquo;s touchscreen is
responsive. I did not use the accompanying <a href="https://play.google.com/store/apps/details?id=app.aawireless">app</a> to configure or update
the device, as it was not necessary for me, and because I didn&rsquo;t want the app
to update the device&rsquo;s firmware, as some reviews complained about problems with
a recent version of the firmware.</p>

<p>The AAWireless device uses less than 1&nbsp;W of power from the wired USB
connection which is nice. I don&rsquo;t know how the phone&rsquo;s power consumption is
affected and I have not yet tried longer trips with the AAWireless. But based
on my limited experience with it, I&rsquo;m happy with the purchase.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Bedre hurtigladning i Aalborg [Danish]]]></title>
    <link href="http://blog.erw.dk/2022/05/01/bedre-hurtigladning-i-aalborg/"/>
    <updated>2022-05-01T13:37:59+02:00</updated>
    <id>http://blog.erw.dk/2022/05/01/bedre-hurtigladning-i-aalborg</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/Q8-skilt.jpg" title="Stort skilt ved Q8 som viser priserne på benzin, diesel og el" ></p>

<p>Foråret har bragt bedre muligheder for offent&shy;lig opladning af elbiler i
Aalborg, til glæde for både gæster og os der bor i lejlighed eller af andre
årsager ikke har egen ladeboks. Situa&shy;tionen er blevet bedre både når det
gælder hurtig&shy;ladning og destinations&shy;ladning. Dette indlæg handler om
det første.</p>

<!-- more -->


<p>Hurtigladning er den slags ladning hvor man typisk holder 15&ndash;45 minutter
afhængig af bilen, lade&shy;standerens hastighed, og hvor langt man skal køre.
Ofte kan man tilbringe vente&shy;tiden på tank&shy;station, toilet,
lege&shy;plads, indkøbs&shy;center, fastfood&shy;restaurant eller Netflix.</p>

<a name="Indtil.nu"></a>
<h2>Indtil nu</h2>

<p>Hurtigladning i Aalborg har ikke fungeret så godt frem til nu. I 2020 var der
kun tre hurtig&shy;ladere i Stor&shy;aalborg: En ved Stor&shy;centeret, en ved
føtex Eternitten, og en ved Q8 Scheels&shy;mindevej ved Møllen. Hver af disse
ladere er af den gammel&shy;dags slags med kun ét CCS-stik, dvs. at der typisk
kun er plads til hurtig&shy;ladning af én bil ad gangen.</p>

<p>Efterhånden som antallet af elbiler steg i 2021 blev det sværere at få plads
ved de få ladere der var, specielt ved Storcenteret og Eternitten. Eternittens
ladestander var (og er) tilmed låst inde uden for føtex&#8217; åbnings&shy;tid,
hvilket for&shy;værrer problemet. Scheels&shy;mindevej var nem&shy;mest at få
plads ved, måske fordi det var den dyreste lader til 4,90&nbsp;kr/kWh (drevet
af E.ON), mens de andre kostede 3,50&nbsp;kr/kWh (drevet af Clever). Alle tre
havde (og har) en lade&shy;hastighed på 50&nbsp;kW.</p>

<p>I starten af 2021 fik Circle&nbsp;K Hadsundvej en stander med to 150&nbsp;kW
CCS-stik som tilmed var gratis at benytte som del af en længere&shy;varende
prøve&shy;periode der endte med at vare over et år. Det var på den ene side
skønt at lade gratis når man fik plads, men på den anden side gjorde
popular&shy;iteten at det ofte var svært at få plads uden at holde i kø. Jeg
mødte endda nogle som havde mulighed for at lade hjemme, men som alligevel
kørte forbi Circle&nbsp;K for at få gratis strøm. I&nbsp;starten af 2022 fik
Circle&nbsp;K yder&shy;ligere en stander med to stik på Sønderbro.</p>

<p>Tesla, hvis ladere ikke er offentligt til&shy;gængelige i Danmark, har heller
ikke en såkaldt Super&shy;charger hurtig&shy;ladestation i Aalborg.</p>

<a name="Godt.nyt.hos.Q8"></a>
<h2>Godt nyt hos Q8</h2>

<p>I april 2022 har hurtigladning i Aalborg ændret sig betydeligt, med store
ændringer hos tank&shy;station&shy;erne. Q8 har fået <a href="https://migogaalborg.dk/q8-lynladere/">seks nye stik</a> à
150&nbsp;kW, hvilket i sig selv er fantastisk, men de har også gjort en masse
ting rigtigt som gør el nemmere og mere behageligt at bruge:</p>

<ul>
<li>De viser elprisen på pylonen/standeren man kan se ude fra vejen, på lige fod
med benzin- og dieselpriserne, som vist på billedet øverst på siden. (Prisen
er p.t. 4,95 kr/kWh og hvis du er vant til at tænke i liter frem for
kilowatt&shy;timer, så kan jeg anbefale <a href="https://fdm.dk/alt-om-biler/elbil-hybridbil/opladning/saa-meget-koster-en-liter-stroem-til-en-elbil">denne artikel</a> fra FDM.)</li>
<li>De har placeret en af ladestanderne (to stik) under tag, så man kan stå i
tørvejr lige som dem der tanker fossile brænd&shy;stoffer. De resterende
standere står ikke under tag, men til gengæld er der god plads i bredden på
deres parkerings&shy;pladser.</li>
<li>De tager imod Dankort/&#8203;betalingskort, så man ikke er tvunget til at
bruge (endnu) en mobil&shy;app. Der er dog stadig mulighed for at bruge apps.</li>
</ul>


<p><img class="center" src="http://blog.erw.dk/images/posts/Q8-plads.jpg" title="En ladestander hos Q8 med to stik og rummelige parkeringspladser" ></p>

<p>Desuden har jeg ikke indtryk af at Q8 over&shy;driver den ladehastighed de
tilbyder. De rekla&shy;merer med 150&nbsp;kW, hvilket virker realist&shy;isk at
de kan levere, selvom jeg ikke selv kan teste det. Dette er i mod&shy;sætning
til Circle&nbsp;K som reklamerer med 300&nbsp;kW, men skriver med småt &ldquo;Denne
lade&shy;stander kan lade én bil med op til 300&nbsp;kW, eller to biler med op
til 150&nbsp;kW hver&rdquo;. Desuden har jeg snakket med andre elbilister ved
Circle&nbsp;K og hørt at laderne ikke nød&shy;vendig&shy;vis leverer den lovede
hastighed til de (dyre) biler der kan tage imod så meget. For&shy;håbentlig er
det et problem Circle&nbsp;K får udbedret.</p>

<a name="D..rligt.nyt.hos.Circle.K"></a>
<h2>Dårligt nyt hos Circle K</h2>

<p>Hos Circle&nbsp;K er der også store ændringer her i april. De har længe snakket
om at sætte betal&shy;ing på deres ladere, og nu har de gjort alvor af det. Man
kan læse at de har opsat
<a href="https://www.inputmag.dk/circle-k-har-sat-pris-paa-lynopladning/">betalings&shy;løsninger på alle kædens lade&shy;standere</a>.
Dette er rimeligt og forventet, og er ikke den dårlige nyhed. Endda er det
positivt at det kommer til at mindske træng&shy;slen ved laderne.</p>

<p>Den dårlige nyhed er at alle fire Circle&nbsp;K-lade&shy;stik i Aalborg siden
omkring midt-april har været ude af drift, og ikke har fået monteret
auto&shy;mat til betal&shy;ings&shy;kort endnu. Jeg formoder de fleste
Circle&nbsp;K-&#8203;ladere i Danmark fungerer med betal&shy;ings&shy;system
som medierne siger (og som jeg personligt har set hos Circle&nbsp;K
Framlev&#8203;/&#8203;Harlev vest for Aarhus). For at gøre det værre i Aalborg
henviser de endda fra den ene defekte/&#8203;deaktiv&shy;erede ladestander til
den anden.</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/CircleK-ude-af-drift.jpg" title="Den ene Circle K-ladestander i Aalborg er ude af drift og henviser til den anden som også er ude af drift" ></p>

<p>Når de engang i maj forhåbentlig har fået mon&shy;teret betalings&shy;systemet
og genåbnet laderne bliver det skønt med 13 hurtig&shy;ladestik i
Stor&shy;aalborg fordelt på Q8, Circle&nbsp;K, Clever og E.ON. Men det må siges
PR-mæssigt at være en fan&shy;tastisk dårlig afslutning på en ellers fantastisk
god prøve&shy;periode for Circle&nbsp;K i Aalborg.</p>

<a name="Fremtiden"></a>
<h2>Fremtiden</h2>

<p>Til sommer planlægger Clever at åbne
<a href="https://via.ritzau.dk/pressemeddelelse/clever-etablerer-nordjyllands-storste-lynladestation?publisherId=12636953&amp;releaseId=13641390">Nord&shy;jyllands største lade&shy;station</a> med 16 stk.
300&nbsp;kW-&#8203;ladestik i Nørre&shy;sundby. Det blivere mere end en
fordobling af antallet af hurtig&shy;lade&shy;stik i Stor&shy;aalborg, så det
bliver godt.</p>

<p>De stigende elpriser spørger også. Clever har varslet prisstigninger fra juni,
som vil presse deres lynladere (150+&nbsp;kW) op til være marked&shy;ets
dyreste i løssalg (6,50&nbsp;kr/kWh uden abonnement), endda dyrere end Ionity.
Dog vil deres 50&nbsp;kW-ladere med 4,75&nbsp;kr/kWh fortsat være blandt de
billigste, hvilket er dejligt for os med en &ldquo;gammel&shy;dags&rdquo; elbil der ikke
lader hurtig&shy;ere på en lynlader end på en &ldquo;gammel&shy;dags&rdquo;
50&nbsp;kW-hurtiglader.</p>

<p>Folk i den indtil videre lukkede Tesla-klub kan også glæde sig over at der
skulle komme en <a href="https://www.tesla.com/findus/location/supercharger/aalborgsuperchargerq122">Aalborg Supercharger</a> i tredje kvartal i år.</p>

<p>Ud over hurtigladning er destinations&shy;ladning (mens man holder parkeret i
flere timer) også blevet bedre i Aalborg i april, og står til at blive endnu
bedre snart. Det kommer i mit <a href="http://blog.erw.dk/2022/06/11/bedre-elbilsladning-i-aalborg/">næste indlæg</a>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Visual Studio Sounds]]></title>
    <link href="http://blog.erw.dk/2021/10/02/visual-studio-sounds/"/>
    <updated>2021-10-02T22:35:14+02:00</updated>
    <id>http://blog.erw.dk/2021/10/02/visual-studio-sounds</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/vs_sound1.png"></p>

<!-- more -->


<p><img class="right" src="http://blog.erw.dk/images/posts/vs_sound2.png"></p>

<p>I have been working with a slightly heavy C# code base that takes around a
minute to build and start up. This is enough time that I&rsquo;ll switch to another
program each time I start a debug or test run. But it&rsquo;s also short enough time
that if I get side&shy;tracked for five minutes, that&rsquo;s four minutes of Visual
Studio sitting idle.</p>

<p>One day I stumbled upon a setting in Visual Studio named &ldquo;Play a sound when
tests finish running&rdquo;, and from there a button to open the main Windows Sound
settings where a number of events in Visual Studio can be configured to trigger
a sound. This feature is simple but great. Now I can switch context and always
hear when I need to come back and work from a breakpoint or a finished test
run. I can also use different sounds to distinguish positive and negative
outcomes. Using the built-in Windows sounds, I found that these work great:</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th> Event              </th>
<th> Sound                      </th>
</tr>
</thead>
<tbody>
<tr>
<td> Breakpoint Hit     </td>
<td> Windows Pop-up Blocked.wav </td>
</tr>
<tr>
<td> Build Failed       </td>
<td> Windows Hardware Fail.wav  </td>
</tr>
<tr>
<td> Build Succeeded    </td>
<td> Windows Print complete.wav </td>
</tr>
<tr>
<td> Test Run Failed    </td>
<td> Windows Hardware Fail.wav  </td>
</tr>
<tr>
<td> Test Run Succeeded </td>
<td> tada.wav                   </td>
</tr>
</tbody>
</table>


<p>Especially the Ta-Daaa! fanfare when the tests pass is a nice way to be called
back to Visual Studio. Happy coding!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Motorvejsladning [Danish]]]></title>
    <link href="http://blog.erw.dk/2021/06/26/motorvejsladning/"/>
    <updated>2021-06-26T10:25:52+02:00</updated>
    <id>http://blog.erw.dk/2021/06/26/motorvejsladning</id>
    <content type="html"><![CDATA[<p><span class='caption-wrapper'><img class='caption' src='http://blog.erw.dk/images/posts/plugshare_map.png' width='' height='' alt='Offentlige ladepunkter for elbiler --- de orange punkter er hurtigladere. Skærmbillede fra [PlugShare][plugshare].'><span class='caption-text'>Offentlige ladepunkter for elbiler &mdash; de orange punkter er hurtigladere. Skærmbillede fra <a href="https://www.plugshare.com/">PlugShare</a>.</span></span></p>

<p>En elbil oplades typisk i et roligt tempo mens den er parkeret hjemme, på
arbejde eller ved en offentlig destinations&shy;lader. Men når man skal køre
langt benytter man ladere med høj effekt, så man kan komme hurtigt videre.
Dette indlæg handler om <em>hurtig&shy;ladere</em> i Danmark, med fokus på motorvejen
mellem Aalborg og København. På de 416&nbsp;km mellem de to byer er der 64
CCS-stik langs motor&shy;vejen til hurtig&shy;ladning, og nogle flere i byerne
omkring motor&shy;vejen. Dette er et rigtig godt udgangs&shy;punkt når man
kører turen, men for at optimere rejsens tid eller pris kan man med fordel
benytte nogle ladere frem for andre.</p>

<!-- more -->


<p>I øvrigt håber jeg at dette indlæg bliver hurtigt forældet, i form af
forbedringer af infra&shy;struk&shy;turen. For nylig kom for eksempel nyheden
at Fyn i 2022 får Danmarks <a href="https://via.ritzau.dk/pressemeddelelse/fyn-far-snart-danmarks-storste-lynladestation-til-elbiler?publisherId=12636953&amp;releaseId=13622978">største lyn&shy;ladestation</a> med plads til 28
elbiler. Det siges også at de kommercielle lade&shy;netværk arbejder på et
fælles betalings&shy;system der skal gøre det nemmere at bruge landets ladere
med færre apps og brikker. Men lad os træde et skridt tilbage og fokusere på
nutiden.</p>

<p>Først er der elbilens <a href="https://da.wikipedia.org/wiki/Videokrigen">&ldquo;VHS/Betamax-konflikt&rdquo;</a> omkring hvilket stik og
hvilken teknik man bruger når man hurtig&shy;lader elbiler. Elbilernes Betamax
hedder <em>CHAdeMO</em> og VHS (vinderen) hedder <em>CCS</em> som står for Combined Charging
System. Der findes stadig mange CHAdeMO-stik rundt om i landet, men nye elbiler
i EU sælges nu stort set kun med CCS. Der er også Tesla som har deres eget
system, samtidig med at de afhængig af model og adapter også kan benytte
offentlige ladere af både CHAdeMO- og CCS-typerne. Jeg vil dog kun fokusere på
CCS i det følgende.</p>

<p>En <em>hurtig&shy;lader</em> er en lade&shy;stander som tilbyder bilen mindst
50&nbsp;kW (kilowatt). Det er forskelligt pr. elbil hvor meget af den
tilgængelige effekt som den kan tage imod. Nogle elbiler kan ikke udnytte
50&nbsp;kW fuldt ud, mens andre (dyrere) elbiler kan sluge 250&nbsp;kW eller
mere når det er tilgængeligt. Begrebet <em>lynladning</em> bruges når ladestanderen
tilbyder mindst 100&nbsp;kW, typisk 150&ndash;350&nbsp;kW.</p>

<a name="Fra.Aalborg.til.K..benhavn"></a>
<h2>Fra Aalborg til København</h2>

<p>Der er 64 CCS-stik mellem Aalborg og København inden for 1&nbsp;km fra E45 og
E20. Hvis man kigger op til 5&nbsp;km fra motorvejen er der 13&nbsp;stik mere,
og op til 10&nbsp;km yderligere 10&nbsp;stik. Og hvis man inkluderer
rastepladser på &ldquo;den modsatte side&rdquo; kommer der 10 mere, men dem vil jeg ikke
tælle med da det at anvende sådan en kan medføre en omvej på 10&ndash;30&nbsp;km, da
man ikke bare lige kan krydse over motorvejen. Jeg tæller heller ikke selve
Aalborg og København med i de 64 da det er mere normalt at bruge AC-ladning
(typisk 11&nbsp;kW) når man parkerer nær sin destination. Alt i alt er der en
rimelig mængde hurtig&shy;ladere langs motorvejen, og nogle ekstra der kan
bruges som backup hvis der skulle være trængsel ved en af de primære.</p>

<p>De 64 stik er ikke jævnt fordelt. Nogle findes på en enlig stander der også
ofte inkluderer en til to andre stiktyper, men altså kun ét CCS-stik. Nogle
steder står to, fire eller flere standere sammen. Og nogle steder er flere
forskellige netværk/firmaer repræsenteret på samme lokation inden for nogle
hundrede meter af hinanden. I alt er der 22 lokationer med 1&ndash;10 stik hver, 3 i
gennem&shy;snit. Over de 416&nbsp;km fra Limfjordsbroen i Aalborg til Langebro
i København er der i gennemsnit en lokation hver 19&nbsp;km. Lokationerne er
dog heller ikke jævnt fordelt og spænder fra 2&nbsp;km mellem Nyborg og
Knudshoved til 46&nbsp;km mellem Haverslev og Randers. I den følgende tabel
inkluderer jeg også Horsens og Odense der har hurtig&shy;ladere, selvom de ikke
ligger ud til motorvejen. Tabellen viser <strong>antallet af CCS-stik</strong> fordelt på
netværk og ladehastighed:</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th> Sted                </th>
<th style="text-align:right;"> Afstand til næste </th>
<th style="text-align:right;"> Clever 50&nbsp;kW </th>
<th style="text-align:right;"> E.ON 50&nbsp;kW </th>
<th style="text-align:right;"> Clever/E.ON 175&nbsp;kW </th>
<th style="text-align:right;"> Ionity 350&nbsp;kW </th>
<th style="text-align:right;"> Hurtige byladere </th>
</tr>
</thead>
<tbody>
<tr>
<td> Aalborg             </td>
<td style="text-align:right;">             28 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                5 </td>
</tr>
<tr>
<td> Himmerland          </td>
<td style="text-align:right;">              8 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">               1 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Haverslev           </td>
<td style="text-align:right;">             46 km </td>
<td style="text-align:right;">                 1 </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                       2 </td>
<td style="text-align:right;">                  4 </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Randers/Gudenåen    </td>
<td style="text-align:right;">              6 km </td>
<td style="text-align:right;">                 1 </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                1 </td>
</tr>
<tr>
<td> Randers/Sdr. Borup  </td>
<td style="text-align:right;">             29 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">               1 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Aarhus/Tilst        </td>
<td style="text-align:right;">             14 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">               1 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                7 </td>
</tr>
<tr>
<td> Skanderborg         </td>
<td style="text-align:right;">             13 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                  4 </td>
<td style="text-align:right;">                1 </td>
</tr>
<tr>
<td> Ejer Bavnehøj       </td>
<td style="text-align:right;">             12 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">               1 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Horsens             </td>
<td style="text-align:right;">             24 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                3 </td>
</tr>
<tr>
<td> Vejle N             </td>
<td style="text-align:right;">              5 km </td>
<td style="text-align:right;">                 1 </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Vejle C             </td>
<td style="text-align:right;">              5 km </td>
<td style="text-align:right;">                 1 </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                1 </td>
</tr>
<tr>
<td> Vejle S/Skærup      </td>
<td style="text-align:right;">             17 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">               1 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Fredericia          </td>
<td style="text-align:right;">              4 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                       4 </td>
<td style="text-align:right;">                  4 </td>
<td style="text-align:right;">                1 </td>
</tr>
<tr>
<td> Middelfart          </td>
<td style="text-align:right;">             30 km </td>
<td style="text-align:right;">                 1 </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                1 </td>
</tr>
<tr>
<td> Kildebjerg          </td>
<td style="text-align:right;">             11 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">               1 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Odense              </td>
<td style="text-align:right;">             33 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                4 </td>
</tr>
<tr>
<td> Nyborg              </td>
<td style="text-align:right;">              2 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">               1 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                  4 </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Knudshoved          </td>
<td style="text-align:right;">             19 km </td>
<td style="text-align:right;">                 1 </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                       4 </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Korsør/Halsskov     </td>
<td style="text-align:right;">             16 km </td>
<td style="text-align:right;">                 1 </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                       4 </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Slagelse/Antvorskov </td>
<td style="text-align:right;">             18 km </td>
<td style="text-align:right;">                 1 </td>
<td style="text-align:right;">               1 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                3 </td>
</tr>
<tr>
<td> Sorø/Tuelsø         </td>
<td style="text-align:right;">             12 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">               1 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Ringsted            </td>
<td style="text-align:right;">             24 km </td>
<td style="text-align:right;">                 1 </td>
<td style="text-align:right;">               1 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Køge                </td>
<td style="text-align:right;">             10 km </td>
<td style="text-align:right;">                 1 </td>
<td style="text-align:right;">               1 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Karlslunde          </td>
<td style="text-align:right;">              3 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">               1 </td>
<td style="text-align:right;">                       2 </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">                  </td>
</tr>
<tr>
<td> Greve               </td>
<td style="text-align:right;">             28 km </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                 10 </td>
<td style="text-align:right;">                1 </td>
</tr>
<tr>
<td> København           </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">                 </td>
<td style="text-align:right;">                         </td>
<td style="text-align:right;">                    </td>
<td style="text-align:right;">              30+ </td>
</tr>
</tbody>
</table>


<p>Afstanden mellem ladestederne måler jeg mellem de relevante
motorvejs&shy;afkørsler. Laderne står 0&ndash;1&nbsp;km fra motorvejen, bortset fra
kategorien &ldquo;Hurtige byladere&rdquo; som jeg bruger om hurtig&shy;ladere der står
2&ndash;10&nbsp;km fra motorvejen. Byladerne står primært ved indkøbscentre, hvilket
gør at de oftere end motorvejs&shy;ladere er i brug af folk der bor i
lokal&shy;området. Desuden kan den P-<wbr>plads de står på være aflåst uden for
indkøbs&shy;centerets åbningstid. Alle disse ting gør at jeg kun betragter dem
som en reserveløsning ved motorvejs&shy;rejser. Jeg har ikke optalt
hurtig&shy;laderne i Stor&shy;københavn præcist, men der er mange. Ud over
Clever og E.ON findes der bl.a. også hurtige byladere fra fx Spirii, Sperto,
Circle&nbsp;K og Lidl.</p>

<p><span class='caption-wrapper'><img class='caption' src='http://blog.erw.dk/images/posts/motorvejsladere.png' width='' height='' alt='Kort over hurtigladere i Aalborg og København, samt langs motorvejen imellem.'><span class='caption-text'>Kort over hurtigladere i Aalborg og København, samt langs motorvejen imellem.</span></span></p>

<a name="Hvilke.ladere.skal.man.v..lge."></a>
<h2>Hvilke ladere skal man vælge?</h2>

<p>Faktisk behøver man slet ikke at vælge da man kan bruge alle ladere vha. apps
som kan opsættes på få minutter. Men laderene koster ikke det samme at bruge.
Et abonnement hos Clever giver adgang til Clevers hurtig&shy;ladere
(50&nbsp;kW) og Clever og E.ONs <a href="https://poweredby.dk/">fælles</a> lynladere (175&nbsp;kW), i
tillæg til mange af 50&nbsp;kW-byladerne som også drives af Clever. Hvis man
betaler efter forbrug, i mod&shy;sætning til fastpris&shy;abonnement, koster
hurtig&shy;laderne 3,50&nbsp;kr/kWh og lynladerne 5,00&nbsp;kr/kWh. (Ud over
apps kan man også bestille en ladebrik/RFID-tag som gør det lidt hurtigere at
starte ladningen på et givet netværk uden at skulle fedte med sin telefon og
afhænge af internet&shy;forbindelse.)</p>

<p>Et abonnement hos E.ON giver adgang til E.ONs hurtig&shy;ladere og
Clever/E.ON-lynladerne, samt nogle hurtig&shy;ladere i København. Til forskel
fra Clever tager E.ON samme pris for hurtig&shy;ladning og lynladning:
4,90&nbsp;kr/kWh. Hvis man har en elbil som ikke kan udnytte lynladernes høj
hastighed, er det en ulempe at man ikke kan spare penge ved at holde sig til de
langsommere hurtig&shy;ladere når man betaler efter forbrug, som hos Clever.
(Prisen man betaler afhænger kun af den effekt laderen tilbyder, og ikke af den
effekt bilen aftager.) Omvendt tager E.ON en marginalt lavere kWh-pris end
Clever for præcis de samme lynladere, igen hvis man ikke har
fastpris&shy;abonnement. (Jeg har ikke inkluderet priser på
fastpris&shy;abonnementerne, da de afhænger af flere ting, men de kan ses hos
<a href="https://clever.dk/produkter/abonnementer/">Clever</a> og <a href="https://www.eon.dk/privat/strom-til-din-elbil.html">E.ON</a>.)</p>

<p>Til sidst er der Ionity som har de hurtigste ladere, men også tager den høje
pris af 6,20&nbsp;kr/kWh. Prisen kan dog reduceres hvis man har et abonnement
via en af de bil&shy;producenter der ejer <a href="https://ionity.eu/en/about.html">Ionity</a>: BMW, Ford, Hyundai,
Mercedes, Volkswagen, Audi og Porsche. Herunder opstiller jeg nogle eksempler
på hvordan man kan udvælge sine favorit&shy;ladere &mdash; og så have alle de andre
i reserve:</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th> Foretrukne ladere       </th>
<th style="text-align:right;"> Steder </th>
<th style="text-align:right;"> Stik </th>
<th> Hvis man&hellip;                                          </th>
</tr>
</thead>
<tbody>
<tr>
<td> Ionity                  </td>
<td style="text-align:right;">      5 </td>
<td style="text-align:right;">   26 </td>
<td> kan udnytte og vil betale for den højeste hastighed  </td>
</tr>
<tr>
<td> Clever/E.ON lynladere   </td>
<td style="text-align:right;">      5 </td>
<td style="text-align:right;">   16 </td>
<td> synes 50 kW er for langsomt men 350 kW er for dyrt   </td>
</tr>
<tr>
<td> E.ON inkl. lynladere    </td>
<td style="text-align:right;">     16 </td>
<td style="text-align:right;">   28 </td>
<td> har fastprisabonnement hos E.ON                      </td>
</tr>
<tr>
<td> Clever inkl. lynladere  </td>
<td style="text-align:right;">     12 </td>
<td style="text-align:right;">   26 </td>
<td> har fastprisabonnement hos Clever                    </td>
</tr>
<tr>
<td> Clever ekskl. lynladere </td>
<td style="text-align:right;">     10 </td>
<td style="text-align:right;">   10 </td>
<td> betaler efter forbrug og ikke kan udnytte lynladning </td>
</tr>
</tbody>
</table>


<p>Jeg har lavet et diagram over om hvornår fastpris&shy;abonnement giver mening i
<a href="http://blog.erw.dk/2021/05/24/3000-km-for-under-100/">dette</a> indlæg. Selv benytter jeg primært Clever ekskl. lynladere, da
jeg betaler efter forbrug og Hyundai <a href="http://blog.erw.dk/2021/05/02/hyundai-ioniq-electric/">IONIQ 2020</a> kun har minimal
fordel af lynladere. Men hvis jeg havde en bil der kunne udnytte dem ville jeg
benytte lyn&shy;laderne. Antallene af steder og stik i tabellen medtæller kun
motorvejs&shy;laderne, men ikke hurtig&shy;laderne i byerne, selvom man også
får adgang til de fleste af dem med et Clever-abonnement, samt nogle i
København med et E.ON-abonnement. Desuden giver både E.ON og Clever (men ikke
Ionity) adgang til en lang række destinations&shy;ladere/AC-ladere over hele
landet.</p>

<a name="Hvor.mange.opladninger.har.man.behov.for."></a>
<h2>Hvor mange opladninger har man behov for?</h2>

<p>Et oplagt spørgsmål er hvor mange ladere der er behov for og hvor tæt de skal
stå. Derfor vil jeg se på hvor mange <em>opladninger</em> man har behov for. Svaret
afhænger af bilens rækkevidde, som igen afhænger af køre&shy;hastigheden og
vejret. Med Hyundai IONIQ 2020 som eksempel på en elbil med mellemlav
række&shy;vidde (typisk <a href="https://ev-database.org/car/1165/Hyundai-IONIQ-Electric">200&ndash;300&nbsp;km</a>) kan
Aalborg&ndash;København køres på 1&ndash;3 oplad&shy;ninger. Hvis vejret er godt
(15&ndash;25°C) burde man kunne klare turen med én opladning ved at køre med
100&ndash;110&nbsp;km/t. Jeg forudsætter man starter med fuldt batteri og slutter på
10% som en sikkerheds&shy;margin mod uforud&shy;sige&shy;ligheder. Opladningen
efter ankomst kan som regel foretages mens bilen er parkeret ved en
destinations&shy;lader, uden at man behøver at vente i bilen, men en hurtig
bylader kan også bruges hvis man vil flytte bilen igen en halv times tid
senere.</p>

<p>Hvis man synes det er kedeligt at køre under hastigheds&shy;grænsen, kan man
bare køre turen med 130&nbsp;km/t med to opladninger om sommeren eller tre om
vinteren. IONIQ 2020 kommer dog ikke så meget hurtigere frem med 130&nbsp;km/t,
da de ekstra ladestop spiser meget af den vundne tid. Til gengæld får man
ekstra pauser til at strække ben, gå på toilettet, arbejde, spise, hygge, eller
hvad man nu har lyst til. Hvis man synes ovenstående lyder undervældende, så
kan elbiler med større række&shy;vidde og hurtigere ladning heldigvis klare sig
med færre og kortere ladepauser:</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th> Bilmodel                             </th>
<th style="text-align:right;"> Batteri      </th>
<th style="text-align:right;"> Ladestop </th>
<th style="text-align:right;"> Ladetid </th>
<th style="text-align:right;"> Køretid </th>
<th style="text-align:right;"> Samlet </th>
</tr>
</thead>
<tbody>
<tr>
<td> Mazda&nbsp;MX-30                     </td>
<td style="text-align:right;">  30&nbsp;kWh </td>
<td style="text-align:right;">        4 </td>
<td style="text-align:right;">    2:22 </td>
<td style="text-align:right;">    4:12 </td>
<td style="text-align:right;">   6:35 </td>
</tr>
<tr>
<td> Hyundai&nbsp;IONIQ                   </td>
<td style="text-align:right;">  38&nbsp;kWh </td>
<td style="text-align:right;">        2 </td>
<td style="text-align:right;">    1:08 </td>
<td style="text-align:right;">    3:52 </td>
<td style="text-align:right;">   5:00 </td>
</tr>
<tr>
<td> Volkswagen&nbsp;ID.3&nbsp;Pro        </td>
<td style="text-align:right;">  58&nbsp;kWh </td>
<td style="text-align:right;">        2 </td>
<td style="text-align:right;">    0:24 </td>
<td style="text-align:right;">    3:54 </td>
<td style="text-align:right;">   4:18 </td>
</tr>
<tr>
<td> Volkswagen&nbsp;ID.3&nbsp;Pro&nbsp;S </td>
<td style="text-align:right;">  77&nbsp;kWh </td>
<td style="text-align:right;">        1 </td>
<td style="text-align:right;">    0:08 </td>
<td style="text-align:right;">    3:45 </td>
<td style="text-align:right;">   3:54 </td>
</tr>
</tbody>
</table>


<p>Jeg brugte <a href="https://abetterrouteplanner.com/">A Better Routeplanner</a> til at sammenligne turen for nogle
forskellige bilmodeller, med resultaterne i tabellen herover. De bedste elbiler
på markedet i dag er allerede der hvor mange mennesker har behov for flere
pauser end bilen har. Og i øvrigt kan de dyrere elbiler ofte også selv medregne
den nødvendige opladning i deres navigations&shy;system, så man ikke selv
behøver planlægge opladningen på turen. Men hvis vi vender tilbage til de
billigere elbiler der skal lade oftere, så er det specielt vigtigt at der er
nok ladere med jævne mellemrum.</p>

<a name="Hvor.mange.ladere.er.der.behov.for."></a>
<h2>Hvor mange ladere er der behov for?</h2>

<p>Jo nemmere det er at lade, jo mere attraktivt er det at køre elbil. For at det
skal være rigtig nemt skal der bl.a. være nok ladere til at der altid er én
ledig når man skal bruge den, der hvor man skal bruge den, således at man ikke
behøver at planlægge turen på forhånd.</p>

<p>Allerede nu er der en god mængde ladestandere i forhold til antallet af elbiler
på vejene. Men efter&shy;hånden som antallet af ladere og elbiler stiger
forventer jeg at det bliver lidt mere forud&shy;sige&shy;ligt at
hurtig&shy;lade. Lige nu er situationen nemlig at mange af ladestanderne er
enkelt&shy;stående. I min begrænsede erfaring er de enkelt&shy;stående
ladestanderne på raste&shy;pladserne som regel ledige når jeg ankommer, men
<em>når</em> en lader er optaget, ved man ikke om det tager 3 eller 30 minutter før
den bliver ledig. Med mindre man er heldig at kunne snakke med den ladende
elbilist, og det viser sig at denne næsten er færdig med at lade, så kan det
være spild af tid at holde og vente. Derfor er det usmart at ankomme til en
enkelt&shy;stående lader med meget lavt batteri, og derfor er det stadig en
fordel at planlægge sin tur på forhånd, i hvert fald hvis man har noget man
skal nå i den anden ende. Nogle synes det er sjovt at nørde med
planlæg&shy;ningen, men flertallet vil nok foretrække ikke at være afhængige af
at skulle gøre det.</p>

<p>I øvrigt kan det være en streg i regningen hvis en enkelt&shy;stående lader er
i stykker &mdash; det kan desværre ske. Clever og E.ON tilbyder
<a href="https://clever.dk/produkter/abonnementer/clever-unlimited-network/">mobilitets&shy;garanti</a>/<wbr><a href="https://www.eon.dk/privat/strom-til-din-elbil/oplad-i-netvaerk/bestil-drive-free.html#Vej">vejhjælp</a> i
tilfælde af en defekt lader, men den kræver at man både er abonnent og har
tjekket inden ankomst at laderen ikke allerede er fejl&shy;meldt (mere
plan&shy;lægning). Og garanti eller ej, så tilføjer vejhjælp en større
forsinkelse. Som alter&shy;nativ til de enkelt&shy;stående standere kan man gå
efter ladesteder med mange stik på samme sted:</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th> Sted              </th>
<th style="text-align:right;"> Afstand til næste </th>
<th style="text-align:right;"> Antal stik ved motorvej </th>
</tr>
</thead>
<tbody>
<tr>
<td> Aalborg           </td>
<td style="text-align:right;">             36 km </td>
<td style="text-align:right;">                         </td>
</tr>
<tr>
<td> Haverslev         </td>
<td style="text-align:right;">             95 km </td>
<td style="text-align:right;">                       7 </td>
</tr>
<tr>
<td> Skanderborg       </td>
<td style="text-align:right;">             76 km </td>
<td style="text-align:right;">                       4 </td>
</tr>
<tr>
<td> Fredericia        </td>
<td style="text-align:right;">             79 km </td>
<td style="text-align:right;">                       8 </td>
</tr>
<tr>
<td> Nyborg+Knudshoved </td>
<td style="text-align:right;">             20 km </td>
<td style="text-align:right;">                      10 </td>
</tr>
<tr>
<td> Halsskov          </td>
<td style="text-align:right;">             82 km </td>
<td style="text-align:right;">                       5 </td>
</tr>
<tr>
<td> Greve+Karlslunde  </td>
<td style="text-align:right;">             30 km </td>
<td style="text-align:right;">                      13 </td>
</tr>
<tr>
<td> København         </td>
<td style="text-align:right;">                   </td>
<td style="text-align:right;">                         </td>
</tr>
</tbody>
</table>


<p>Fordelen er at en optaget eller evt. defekt lader er et meget mindre problem,
og at der nok snart bliver en ledig plads, hvis der ikke allerede er det når
man ankommer. De fleste af disse mange ladere er også de hurtigste (og
dyreste), hvilket kan være et plus eller et minus afhængig af ens bil og
abonnement. Da der er længere imellem stederne med mange stik er det også godt
at være bevidst om hvor man skal huske at lade (hvis bilen ikke selv guider dig
via navigations&shy;systemet).</p>

<a name="Fremtiden"></a>
<h2>Fremtiden</h2>

<p>Efterhånden som der kommer flere elbiler er der også behov for flere ladere, og
omvendt. Det er en hønen og ægget-situation, men heldigvis står det ikke
stille. Clever udmeldte i oktober 2020 at de vil etablere
<a href="https://via.ritzau.dk/pressemeddelelse/clever-vil-etablere-flere-end-10000-offentlige-ladepunkter-til-elbiler-inden-udgangen-af-2025?publisherId=12636953&amp;releaseId=13602758">10.000</a> nye ladepunkter inden udgangen af 2025, hvoraf 500 skal
være lyn&shy;ladere og 100 skal være normale hurtig&shy;ladere. På kortere sigt
opsætter Circle&nbsp;K og OK hurtig&shy;ladere ved deres tankstationer.
Circle&nbsp;K har allerede bygget fire lynlade&shy;stationer (med mindst to
CCS-stik hver) og har yderligere 14 stationer <a href="https://www.circlek.dk/el">planlagt i år</a>. Man kan
se nogle af disse, samt nogle fra OK og Lidl, under &ldquo;coming soon&rdquo; på
<a href="https://www.plugshare.com/">PlugShare</a>. Det var først for nylig at jeg på denne måde opdagede
Circle&nbsp;K-<wbr>lynladeren i Aalborg. Det viser sig endda at den er gratis
at benytte i en prøveperiode der ind til videre har varet et halvt år!</p>

<p>Langs motorvejen håber jeg at nogle af de eksisterende enkelt&shy;stående
ladere får en makker, så der kommer et ekstra CCS-stik på stedet. Der kunne
også godt bruges enkelte nye lokationer mellem Aalborg og København. De
46&nbsp;km mellem Haverslev i Nordjylland og Gudenåen-raste&shy;pladserne ved
Randers kunne halveres ved at placere en ladestation ved motorvejen nær Hobro.
De 74&nbsp;km over Fyn mellem Middelfart og Nyborg kunne også bruge mere end
den ene nuværende opladnings&shy;mulighed på Kildebjerg-rastepladserne, men
heldigvis skulle der jo være <a href="https://via.ritzau.dk/pressemeddelelse/fyn-far-snart-danmarks-storste-lynladestation-til-elbiler?publisherId=12636953&amp;releaseId=13622978">28 nye lynladere</a> på vej ved motorvejen nær
Odense.</p>

<p>Det er ikke kun gennemrejsende der får glæde af de nye lynladere ved Odense.
Lokale beboere, ikke mindst dem der ikke kan få egen hjemmelader, kan benytte
hurtig&shy;ladere i nærheden som alternativ eller supplement til
destinations&shy;laderne, specielt ind til mængden af destinations&shy;ladere
<a href="https://www.tv2lorry.dk/koebenhavn/markant-flere-ladestandere-til-elbiler-kan-vaere-paa-vej-til-hovedstaden">forhåbentlig</a> kommer til at stige i fremtiden.</p>

<p>Selvom der er plads til mange forbedringer er det allerede nu forholdsvis nemt
at køre elbil for mange danskere, specielt de mange der bor i hus. Selv bor vi
i lejlighed og klarer det også fint. Der er selvfølgelig nogle for hvem det
stadig vil være upraktisk, men for de mange med et normalt kørselsbehov vil jeg
foreslå at springe plugin-hybriden over og gå direkte til ren el. For miljøets
skyld, og for <a href="https://fdm.dk/alt-om-biler/bilen-hverdagen/braendstof-oekonomi/undersoegelse-afsloerer-denne-biltype-er-billigst">pengenes skyld</a>.</p>

<p>Fordi det hele virkede nyt og ukendt valgte vi Hyundai
<a href="https://www.hyundai.dk/privatleasing">privatleasing</a> hvor man kun er bundet i ét år, i
modsætning til de fleste firmaer jeg har fundet som binder én i tre år.
Volkswagen har også et koncept hvor man kan lease en ID.3 i
<a href="https://app.volkswagen.dk/app/web/privat/go/konfigurer/?id=2075">seks måneder</a>. Men nu hvor jeg er blevet vant til elbil tænker
jeg ikke på at slippe af med den igen &mdash; jeg glæder mig bare til næste gang
jeg skal ud at køre.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[3000 km for under €100]]></title>
    <link href="http://blog.erw.dk/2021/05/24/3000-km-for-under-100/"/>
    <updated>2021-05-24T15:40:00+02:00</updated>
    <id>http://blog.erw.dk/2021/05/24/3000-km-for-under-100</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/hyundai_ioniq_electric_2020_charging.jpg"></p>

<p>Getting an electric vehicle while living in an apartment was a bit of an
experiment. Public charging is still a bit rough around the edges, but it
turned out manageable, and in fact quite cheap, with the help from some free
charging. Here&rsquo;s my experience with EV charging in the past six months.</p>

<!-- more -->


<p>From November to April I drove our <a href="http://blog.erw.dk/2021/05/02/hyundai-ioniq-electric/">Hyundai IONIQ Electric</a>
<strong>3034 km (1885 mi)</strong> while keeping a charging log. I charged 37 times in
total, on average from 56% to 92% state of charge. This covered various
situations such as a small top-up to 100% before a long trip, a motorway
fast-charge up to at most 80%, a full recharge after a long trip (the biggest
being 11%->100%), and various city charging in between. Some of the charging
sessions were tests to try out the various charger types and charging networks
to get comfortable with the process.</p>

<p>Disregarding the tests, I charged on average every <strong>100 km (62 mi)</strong>. On long
trips I gradually became more comfortable with going farther between charges,
with the longest stretch being <strong>263 km (163 mi)</strong> in the spring. But for city
charging with a limited number of public chargers, it remains practical to
charge when the opportunity arises, without running down to a low state of
charge each time.</p>

<a name="Charging.in.the.City"></a>
<h2>Charging in the City</h2>

<p>Most charging sessions were on slow destination chargers, and most were in
Aalborg where we live. We rely on public chargers as we live in an apartment
and don&rsquo;t have our own home charger. It works like this: Drive to a charger,
find a free socket, plug in, and walk 10&ndash;20 minutes home or to work. Later, I
walk back to pick up the car when I need it again, or when it&rsquo;s done charging.</p>

<p><span class='caption-wrapper'><img class='caption' src='http://blog.erw.dk/images/posts/hyundai_ioniq_electric_2020_charging_dash.jpg' width='' height='' alt='Remaining charging time at a slow charger.'><span class='caption-text'>Remaining charging time at a slow charger.</span></span></p>

<p>A home charger would be much easier to use, but for city dwellers with EVs,
this is how it works at the moment (unless you drive to work and that workplace
has chargers available). Each city and town will be different in the density,
availability, and reliability of public chargers, and improving this
infrastructure will be an undertaking for the next many years.</p>

<p>Going back and forth to the charger takes a bit of time, but the walk is
healthy. However, driving in vain to find all charger sockets in use is
annoying. For commercial chargers, you can usually look up their availability
status online before going, but not all chargers are commercial, as we&rsquo;ll get
to later. In practice, sharing a limited number of public chargers takes a bit
of foresight. If I know I&rsquo;m going on a long trip, I start trying to charge up
to 100% a few days in advance, so there&rsquo;s time to come back later if the
chargers are all in use the first time around. Another option would be to use
fast-chargers (more) on the trip, but the IONIQ&rsquo;s fast-charging speed is not as
good as many other EVs in that regard.</p>

<a name="Parking.Problems"></a>
<h2>Parking Problems</h2>

<p>You shouldn&rsquo;t block a public charger if you&rsquo;re not using it &mdash; that is
etiquette and usually also part of parking regulations. But it can also make
using public destination chargers a hassle. If you plug in to charge late in
the evening, it might be that the charging will finish in the middle of the
night. Do you get up to move the car in the middle of the night? Do you skip
charging altogether? (Probably not.) Do you pick up your car some time the next
morning, hoping to get there before the parking attendant and other EV drivers
in need of some juice? (Perhaps.) I try to plan my charging so I don&rsquo;t block
the charger unnecessarily, but it&rsquo;s not always practical to do so, neither for
me nor other EV drivers.</p>

<p>For EVs to become mainstream, I think the charging situation needs to become
easier and require much less planning. As a start, the parking rules could be
relaxed so the parking-only-while-charging requirement doesn&rsquo;t apply at night.
Ideally there should be enough parking spaces that you could leave your car
some extra time after charging finishes while someone else could take over the
socket you used. Such a grace period would also be helpful when you want to
charge to 100%, because the car&rsquo;s estimation of when the charging will finish
can be a bit off.</p>

<p><span class='caption-wrapper'><img class='caption' src='http://blog.erw.dk/images/posts/ev_parking_signs.jpg' width='' height='' alt='Some EV parking signs in Danish. (Elbil is the Scandinavian word for **el**ectric automo**bil**e.)'><span class='caption-text'>Some EV parking signs in Danish. (Elbil is the Scandinavian word for <strong>el</strong>ectric automo<strong>bil</strong>e.)</span></span></p>

<p>In other situations, the parking time is limited. There is a parking lot in
Aalborg where the two EV spots have a two hour limit but their charging sockets
supply at most 11&ndash;12 amps. It&rsquo;s nice to have a few parking spaces that are
reserved for EVs, but with those sockets the charging itself is almost
inconsequential since you add at most 15 km (9 mi) of range per hour. That&rsquo;s
like going to the gas station for only 1 liter of gas!</p>

<p>In another place they had 11 kW outlets and a three hour parking limit. That
will get you far if your EV has a matching 11 kW on-board charger (OBC) which
adds range at up to 60 km/h (37 mph). A plug-in hybrid/PHEV can also typically
fill up its smaller battery completely in three hours. But for cheaper EVs with
slow OBCs like the IONIQ, you&rsquo;ll get at most 20 km/h (12 mph). I think
something needs to be done here to improve the situation for social equality in
EV adoption. The solution at Aalborg Zoo is nice: &ldquo;No time limit while
charging&rdquo;. That way, all EVs get the opportunity to add meaningful range, while
still not allowing blocking the parking spot unnecessarily. The last part just
requires parking attendants to check the charging status and not just the
parking disc. I&rsquo;m not sure, but I have the impression that many parking
attendants don&rsquo;t yet understand or care about EV charging.</p>

<p>Another problem is when many of the public chargers are placed in expensive
parking garages. It might be okay to use them once in a while when out of town,
but when you live in an apartment and rely on local destination chargers in
your daily life, you definitely don&rsquo;t want to pay €15 for an eight-hour
charging session &mdash; on top of the charging cost. Despite these problems, using
an EV in Aalborg and Denmark works fine, and the charging has in fact been very
cheap as we&rsquo;ll get to soon.</p>

<a name="Energy.and.Efficiency"></a>
<h2>Energy and Efficiency</h2>

<p>In total I drove 3034 km (1885 mi) using an estimated 524 kWh of energy, or a
bit less than 14 full charges of the <a href="https://ev-database.org/car/1165/Hyundai-IONIQ-Electric">38.3 kWh</a> battery pack.
That comes out to <strong>5.79 km/kWh (3.60 mi/kWh)</strong>, or 17.3 kWh/100km (27.8
kWh/100mi). This was for the Danish winter half-year, using Continental
AllSeasonContact tires, and my driving comprising 40% city, 20% open road, and
40% motorway. It also gives the average range of 222 km (138 mi) from a full
charge for these conditions.
As described in my <a href="http://blog.erw.dk/2021/05/02/hyundai-ioniq-electric/">previous post</a>, efficiency and range
depend heavily on speed and weather, so the results will be better in the
summer. Also, some of the driving was economical but I also did a lot of
unnecessary (but fun!) acceleration.</p>

<p><span class='caption-wrapper'><img class='caption' src='http://blog.erw.dk/images/posts/hyundai_ioniq_electric_2020_info_dash.jpg' width='' height='' alt='Economical driving from Odense to Aalborg, Denmark.'><span class='caption-text'>Economical driving from Odense to Aalborg, Denmark.</span></span></p>

<p>There are two things to add. First, the total energy is not only used while
driving. The IONIQ, like regular cars, has a 12 V battery that discharges over
time. The IONIQ, unlike regular cars, can keep the 12 V battery in shape
automatically, using a bit of juice from the main driving battery. This will
take around one percentage point of charge from the main battery per week, at
least when it&rsquo;s freezing. My calculated average efficiency and range includes
half a year of parking, so during driving alone, the efficiency and range is a
tiny bit better than the numbers above indicate.</p>

<p>Second, it&rsquo;s not all the energy that comes through the charging cable that
makes it to the battery. During charging, some electricity is lost as heat,
plus the car needs some electronics running, and it might even spend energy on
battery cooling or heating to optimize the charging speed, depending on the car
model. The loss is around 10&ndash;15%. So getting 524 kWh into the IONIQ will
actually have required around <strong>600 kWh</strong> in total. Let&rsquo;s see what this means
for the cost.</p>

<a name="Cost.Complexity"></a>
<h2>Cost Complexity</h2>

<p>EV charging prices vary a lot, at least in Denmark where legislation is
complicated. Most EV price calculations I&rsquo;ve read assume you will install a
home charger, but for many city dwellers that is not an option, so I will
instead exclude home charging. That removes some of the complexity of EV
charging prices, including home charger installation, home charger purchase vs.
rental, combined home and public charger subscription, time dependent
electricity tariffs, electricity tax refunds, and interaction between tax
refunds and the use of solar panels and geothermal heat pumps.</p>

<p>Public charging is still complicated, though: Pay per kWh or a fixed price per
month, or somewhere in between. Use one provider, or multiple, or a meta
provider, or somewhere in between. For fast-charging, the price can depend on
the charging speed, or potential partnerships between EV manufacturers and
charging providers. In some countries you also pay per minute.</p>

<p>You can also be lucky and have access to free charging. Our municipality has a
few sockets in Aalborg for free EV charging, which is a nice &ldquo;carrot&rdquo; for EV
adoption. Some hotels and supermarkets have free charging. For example, Lidl
supermarkets have free chargers in some countries and are getting it in
Denmark. Car manufacturers also sometimes offer some free charging. Hyundai
started giving away six months of free charging with new leases, less than a
week after we got our IONIQ. Tesla also sometimes gives away free charging.</p>

<a name="Charging.Cost.in.Denmark"></a>
<h2>Charging Cost in Denmark</h2>

<p>As mentioned in the previous section, there are many possibilities. Here I will
compare what I do with a few simple alternatives. Blessed with tax-paid
electricity in Aalborg, I mainly use those free sockets when at &ldquo;home&rdquo; &mdash; a
15-minute walk from our apartment. When all the free spots are taken, or when
out of town, I use the <em>Clever</em> charging network, with other networks such as
<em>E.ON</em>, <em>Spirii</em> and <em>Ionity</em> as possible backups. Because I don&rsquo;t use the
commercial operators so much, it&rsquo;s cheaper to pay by the kWh instead of using a
flat rate subscription.</p>

<p>In the last six months I paid only 676 DKK (€91 or $111) for 191 kWh, while
getting the remaining ~409 kWh for free. However, not everyone has the
privilege (or patience) to use free charging, so I&rsquo;m going to show some
alternatives. Electricity prices and taxes vary by country, so I&rsquo;m not going to
convert the following prices as they are not directly comparable to other
countries anyway. But here are the current prices in <strong>DKK/kWh</strong> for some
charging network products and charger speeds (with Aalborg Municipality thrown
in so you can see that my free charging is also slow charging):</p>

<div class="next-table"></div>


<table>
<thead>
<tr>
<th style="text-align:right;"> Charger&nbsp;power </th>
<th style="text-align:right;"> Aalborg </th>
<th style="text-align:right;"> Clever&nbsp;Go </th>
<th style="text-align:right;"> E.ON&nbsp;Drive&nbsp;Lite </th>
<th style="text-align:right;"> Spirii&nbsp;Go </th>
<th style="text-align:right;"> Ionity&nbsp;(guest) </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right;">        <strong>2&ndash;3 kW</strong> </td>
<td style="text-align:right;">    0.00 </td>
<td style="text-align:right;">              - </td>
<td style="text-align:right;">                         - </td>
<td style="text-align:right;">              - </td>
<td style="text-align:right;">                   - </td>
</tr>
<tr>
<td style="text-align:right;">      <strong>11&ndash;43 kW</strong> </td>
<td style="text-align:right;">       - </td>
<td style="text-align:right;">           3.50 </td>
<td style="text-align:right;">                      3.50 </td>
<td style="text-align:right;">     2.25&ndash;3.75 </td>
<td style="text-align:right;">                   - </td>
</tr>
<tr>
<td style="text-align:right;">      <strong>50&ndash;75 kW</strong> </td>
<td style="text-align:right;">       - </td>
<td style="text-align:right;">           3.50 </td>
<td style="text-align:right;">                      4.90 </td>
<td style="text-align:right;">              - </td>
<td style="text-align:right;">                   - </td>
</tr>
<tr>
<td style="text-align:right;">    <strong>100&ndash;350 kW</strong> </td>
<td style="text-align:right;">       - </td>
<td style="text-align:right;">           5.00 </td>
<td style="text-align:right;">                      4.90 </td>
<td style="text-align:right;">              - </td>
<td style="text-align:right;">                6.20 </td>
</tr>
</tbody>
</table>


<p>By mixing some of the above speeds and networks, you&rsquo;ll end up with an average
price per kWh. If you only use public chargers, you might end up at 3&ndash;5
DKK/kWh and if you can mix in free charging, you can get under 3 DKK/kWh. My
average was just over 1 DKK/kWh for the past six months. I&rsquo;m using these rates
in the following graph, which also includes a typical 650 DKK/month flat rate
subscription without a home charger included.</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/ev_charging_cost_dk.png"></p>

<p>I made the chart based on a consumption of 5 km/kWh including charging loss,
corresponding to the 5.8 km/kWh vehicle consumption that I got for the Danish
winter half-year. In comparison, every time the <a href="https://ev-database.org/car/1165/Hyundai-IONIQ-Electric">Hyundai IONIQ</a>
drives 5 km, the <a href="https://ev-database.org/car/1337/Mercedes-EQC-400-4MATIC">Mercedes EQC</a> will drive 4 km, and the
<a href="https://ev-database.org/car/1272/Audi-e-tron-S-Sportback-55-quattro">Audi e-tron S Sportback</a> will drive 3 km using the same energy.
However, the majority of <a href="https://ev-database.org/compare/efficiency-electric-vehicle-most-efficient">EVs</a> fall somewhere between the EQC
and the IONIQ &mdash; including Audi&rsquo;s upcoming Q4 models, and the very-long-range
Mercedes EQS.</p>

<p>The chart shows that what is cheapest depends heavily on your driving.
Long-distance drivers will profit greatly from a flat rate subscription, while
I would pay 5&ndash;6 times as much as I currently do. Before getting the IONIQ, I
didn&rsquo;t know it would end up like this &mdash; I just knew I wanted to support the
push toward a greener future (and try out some cool tech while at it). And
while charging turned out way cheaper than gasoline, the total cost still could
have been lower by choosing a conventional car with a weaker internal
combustion engine and a manual transmission. But for comparable cars driving an
average 20,000 km/year or 16,000 mi/year, EVs already have ample opportunity to
have a lower total cost of ownership in <a href="https://fdm.dk/alt-om-biler/bilen-hverdagen/braendstof-oekonomi/undersoegelse-afsloerer-denne-biltype-er-billigst">Denmark</a> as well as
the <a href="https://www.nytimes.com/interactive/2021/01/15/climate/electric-car-cost.html">USA</a>.</p>

<p><em>Update 2021-06-26, 2023-06-21: Minor fixes.</em></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Hyundai IONIQ Electric]]></title>
    <link href="http://blog.erw.dk/2021/05/02/hyundai-ioniq-electric/"/>
    <updated>2021-05-02T09:31:37+02:00</updated>
    <id>http://blog.erw.dk/2021/05/02/hyundai-ioniq-electric</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/hyundai_ioniq_electric_2020.jpg"></p>

<p>In late 2020 we decided to get a car. After relying on the extensive Danish
public transport system for many years, it was time for a &ldquo;socially distanced&rdquo;
means of transportation. My friend Jon had just got a Hyundai Kona Electric &mdash;
a mini-crossover with good range. This sparked my interest in electric cars,
and after a month of research and testing, we ordered its sibling, the 2020
IONIQ Electric. It&rsquo;s a frugal yet fun car with good value but some drawbacks.</p>

<!-- more -->


<a name="Range.and.Efficiency"></a>
<h2>Range and Efficiency</h2>

<p>The Hyundai IONIQ is a fairly normal small family car, except of course that
it&rsquo;s electric. The first thing people want to know about an electric vehicle
(EV) is the range. In my opinion, charging speed is at least as important as
range but we&rsquo;ll get to that in a bit.</p>

<p>The rated range is <strong>311 km (193 mi)</strong> according to the WLTP standard. However,
the WLTP can be optimistic for the Danish climate, and having a single
&ldquo;combined driving&rdquo; range number in your head can lead to disappointment when
you travel by motorway/highway &mdash; which is where range often matters the most.</p>

<p>Driving an EV makes you more aware of the factors that affect efficiency:
Speed, temperature, weather, tires, weight, aerodynamics, etc. Even though
these affect regular internal combustion engine (ICE) cars as well, you&rsquo;re just
more likely to notice them in an EV. Here&rsquo;s how much it matters:</p>

<p>Driving at 130 km/h (~80 mph) on a dry road just below freezing, with the
heat cranked up, I got:</p>

<ul>
<li>4.3 km/kWh (2.7 mi/kWh) or 23 kWh/100km (37 kWh/100mi), or</li>
<li>38 km/L (89 MPG US) or 2.6 L/100km in fuel equivalents, or</li>
<li><strong>165 km (102 mi) estimated range</strong></li>
</ul>


<p>Driving at 80 km/h (50 mph), and slowing down for the occasional town, in 9°C
(48°F) gave:</p>

<ul>
<li>8.8 km/kWh (5.5 mi/kWh) or 11 kWh/100km (18 kWh/100mi), or</li>
<li>78 km/L (183 MPG US) or 1.3 L/100km in fuel equivalents, or</li>
<li><strong>337 km (209 mi) estimated range</strong></li>
</ul>


<p>Notice the amazing efficiency. While the Hyundai IONIQ&rsquo;s range is not
fantastic, its efficiency is. It was in fact the world&rsquo;s most efficient
production car, before the Tesla Model 3. But even so, range depends heavily on
speed and weather. I have not yet tried the car in the summer but I expect to
get <strong>250 km (155 mi) of range</strong> on the Danish motorways at 110&ndash;130 km/h
(~70&ndash;80 mph).</p>

<p>For short/city trips, the IONIQ is great. It&rsquo;s snappy, quiet, and clean, and I
never worry about range, only charging it once or twice per month. But for long
trips, charging speed is at least as important as range, and the 2020 IONIQ&rsquo;s
fast-charging speed is unfortunately not especially good &mdash; a trait shared
with most of the least expensive EVs.</p>

<a name="Charging.Basics"></a>
<h2>Charging Basics</h2>

<p>EV charging is complicated, compared to the ol&#8217; gas/petrol fill-ups. Charging
speed varies by a great deal, depending on the power that the charging station
will deliver and the power the car will accept. The power that the charging
station can deliver can roughly be classified into <strong>home/destination</strong> (AC)
charging which takes hours and (DC) <strong>fast-charging</strong> which takes minutes. The
power that the car will accept is governed by the car&rsquo;s battery management
system, and depends on the exact battery technology used in the car, but also
on the state of charge of the battery (fullness percentage), and even the
battery temperature.</p>

<a name="Fast-Charging"></a>
<h2>Fast-Charging</h2>

<p>For long trips, a big battery with a long range is nice for the first leg of
the trip if you start off fully charged. But after that, the big battery is not
of much help if it takes a long time to charge. It would be faster overall to
have a smaller battery that charges quickly. The best is of course a big
battery that charges quickly.</p>

<p>Charging speed is generally expressed in kW (kilowatts a.k.a. kilojoules per
second), but another useful metric is km/h or mph, as in &ldquo;how much range can I
add in one hour of charging&rdquo;. This makes it easy to compare vehicles with
different battery sizes and efficiencies, based on some combined driving style.</p>

<p>According to the EV Database, the <a href="https://ev-database.org/car/1165/Hyundai-IONIQ-Electric">2020 Hyundai IONIQ</a> will
charge at <strong>210 km/h (130 mph)</strong>, when connected to a 50 kW fast-charger &mdash;
that is, a charger that will deliver as much power as the car wants, up to 50
kW. This charging speed is comparable to that of a Chevrolet Bolt, Renault Zoe,
or Nissan Leaf (small battery). While 210 km/h (130 mph) is fast as a driving
speed, it&rsquo;s not a crazy charging speed. In case of the IONIQ it means spending
50 minutes to charge it from 10% to 80% state of charge. (The slow charge from
80% and up is typically reserved for home/destination charging.) Taking a break
once in a while is a good thing, and 50 minutes can be a nice food break on a
roadtrip. But many breaks only need to be short, and with the 2020 IONIQ, up to
a third of your time will be spent charging on long trips.</p>

<p>More expensive EVs will be able to accept charge at a faster rate. Everything
over 300 km/h (~185 mph) also requires faster charging stations providing from
75 kW up to 350 kW, which may be rarer than 50 kW stations. Around <strong>400 km/h
(~250 mph)</strong> charging speed we find cars such as Ford Mustang Mach-E, the long
range versions of Nissan Leaf and Hyundai Kona, and, ironically, the older
2016&ndash;2019 Hyundai IONIQ with a smaller battery. Further up we have the
Polestar 2 and the top versions of Volkswagen ID.3 and ID.4, and Skoda Enyaq.
Even further up we have Audi, Porsche, and Tesla. The upcoming
<a href="https://www.youtube.com/watch?v=c2tHJD6mMbE">IONIQ 5</a> crossover should be able to compete
at the top, at up to <strong>960 km/h (~600 mph)</strong> charging speed.</p>

<p>At the moment, many EVs are great city cars, but only some are great for long
distance. Or rather, they have the potential to be great, if paired with good
charging infrastructure &mdash; this is a topic for another time. I expect to post
an update when I get more personal experience with longer trips. Also note that
while the IONIQ&rsquo;s charging speed is not great, the car <em>is</em> fully capable of
long trips, and has a good range for the price. More city-oriented EVs have
shorter range or will be pushed to their limit at highway speeds.</p>

<a name="Home.Destination.Charging"></a>
<h2>Home/Destination Charging</h2>

<p><img class="center" src="http://blog.erw.dk/images/posts/hyundai_ioniq_electric_2020_charging.jpg"></p>

<p>Home or destination charging is slower, but just like fast-charging, available
power vs. receivable power applies. The slowest form of charging is trickle
charging using an ICCB (In-Cable Control Box) cable. All EVs are slow charging
with this type because power is limited by supply rather than demand. A
household outlet might supply at most around 2 kW and should only be used for
prolonged periods in emergencies or if the outlet has been properly installed
for it. Slightly faster are the few CEE camping outlets that our municipality
have installed for public use in the city, where I get 2.6 kW. At this speed, a
full charge of the Hyundai IONIQ&rsquo;s 38 kWh battery from 0% to 100% takes <strong>17
hours</strong>. Cars with bigger batteries will take proportionately longer.</p>

<p>Proper home/destination wallboxes, like the one in the picture above, typically
supply 11 kW using three phases. This is the market standard, and what many EVs
will accept. For example, the long range versions of Hyundai Kona or Tesla
Model 3 will take <strong>7&ndash;8 hours</strong> for a full charge, and often less, because you
don&rsquo;t run the battery down to empty every time (or ever). A few cars, such as
the Renault Zoe, will slurp up 22 kW if the wallbox can supply it.</p>

<p>The Hyundai IONIQ with its single-phase charger is unfortunately more limited.
I might explore this in a future post, but in practice I get only 3.5 kW out of
an 11 or 22 kW wallbox, and a full charge takes <strong>13 hours</strong>. As with
fast-charging, the 2020 IONIQ is slow. On the other hand, home or destination
charging doesn&rsquo;t <em>need</em> to be fast, unless you drive a lot. There&rsquo;s more
interesting stuff about charging such as parking, prices, economy, etiquette,
reliability, and the availability of chargers for people like us who live in an
apartment, but for now I want to talk about the car itself.</p>

<a name="Driving.the.Hyundai.IONIQ.Electric"></a>
<h2>Driving the Hyundai IONIQ Electric</h2>

<p>As with many EVs, the best part about driving the Hyundai IONIQ is the
acceleration. Known as instant torque, an electric motor supplies high torque
from low RPMs whereas an internal combustion engine (ICE) needs high RPMs for
high torque. It also reacts quickly to pedal input, and has no downshifting
delay or turbo lag. Even though it is a modest car with &ldquo;only&rdquo; 100 kW (134 BHP)
and a 9.7 second 0&ndash;100 km/h (0&ndash;62 mph) time, it is still pretty fun in the
city. At medium speeds like 30&ndash;70 km/h (~20&ndash;45 mph), flooring the accelerator
will push you back in your seat. It&rsquo;s no Tesla, but it makes me smile.</p>

<p>At low speeds the acceleration does not feel quite as strong for some reason,
but it can still leave regular city drivers behind when the stop light turns
green, all without making noise. At highway speeds of 110 km/h (~70 mph) and
up, the acceleration feels fairly average. More powerful EVs will still be
snappy at high speeds, and of course extremely snappy at low speeds. Compared
with similarly priced EVs, the IONIQ has a high
<a href="https://www.youtube.com/watch?v=Sz7giPLTCss">top speed</a> of ~180 km/h (~110 mph),
probably thanks to its good aerodynamics.
The car feels very stable on the road, but the suspension feels too firm for a
family car, and I need to go over speed bumps quite slowly.</p>

<a name="Braking"></a>
<h2>Braking</h2>

<p>One of the advantages of electric cars, including hybrids, is that braking
turns the kinetic energy back into usable electrical energy instead of losing
it as heat. In the IONIQ, like in most EVs, the brake pedal will regenerate
power using the motor when pressed lightly, and only apply the disc brakes when
pressed hard. In between the two is a transition that works pretty well.</p>

<p>Power regeneration, and therefore braking, also occurs when letting go of the
accelerator pedal, with the level of <em>regen</em> being configurable in the IONIQ.
The default setting feels exactly as how I remember driving an automatic
transmission ICE car, but it is possible to both lower and increase the regen
from that. Level 0 is like coasting in Neutral, except pressing the accelerator
still speeds up the car. Level 1 is the default mild regen. Levels 2 and 3 get
you into <em>one-pedal driving</em> territory.</p>

<p>In one-pedal driving, the accelerator transitions smoothly between full
acceleration and medium braking, with the brake pedal and disc brakes only
required for emergency braking. Unfortunately, the IONIQ, like older Teslas,
does not brake all the way down to a standstill when you release the
accelerator, and so I still use the brake pedal at stop lights. The Nissan
Leaf, and newer Teslas, allow for complete one-pedal driving all the way down
to zero. (As an aside, Tesla separates itself from other EVs in that the brake
pedal does <em>not</em> regen, and apparently, the <a href="https://electrek.co/2020/10/27/tesla-removes-regenerative-braking-strenght-option-new-cars/">newest Teslas</a> can
<em>only</em> do one-pedal driving &mdash; no coasting.)</p>

<a name="Noise.and.Sound"></a>
<h2>Noise and Sound</h2>

<p>I love the ability of an EV to accelerate quickly without making noise. In
fact, every time I hear a loud car or motorcycle in the city I realize how
considerate EVs are to other people. In mean, please have fun in your sports
(ICE) car, but please do it somewhere else. Even the majority of normal people
in normal ICE cars produce a background level of noise in the city that is
detrimental to our health &mdash; like the emissions.</p>

<p>While I like the lack of noise, the IONIQ can be too quiet. It is actually
equipped with a loudspeaker for its VESS &ldquo;Virtual Engine Sound System&rdquo; which
makes a sci-fi humming sound to alert pedestrians, but it&rsquo;s just not very loud.
We live on the Aalborg waterfront where pedestrians often walk in the middle of
the street and the less observant pedestrians will not hear the car when I
approach from behind. I patiently wait behind them but it would sure be nice to
have a volume knob for the VESS.</p>

<p>While reversing, the VESS plays a distinct and louder &ldquo;ding&rdquo; sound. Again, I&rsquo;d
prefer just having a louder hum but at least the ding is noticeable. In fact so
much that I usually turn it off when parking at night, as the ding can be heard
from inside nearby apartments. It&rsquo;s not as loud as an ICE, but different.</p>

<p>The inside of the car is quiet at low speeds, but somewhat noisy on the highway
due to wind and rolling noise. More expensive cars will have more sound
insulation, but you can&rsquo;t get everything in an economy car.</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/hyundai_ioniq_electric_2020b.jpg"></p>

<a name="Practicality.and.Features"></a>
<h2>Practicality and Features</h2>

<p>The good efficiency of the IONIQ comes in part from its good aerodynamics &mdash;
not just a low drag coefficient, but a low cross-sectional area as well. The
car is 145 cm (4&#8217;9&#8221;) tall and that has a few disadvantages. The sloping
liftback roofline means that the back seat does not have a lot of headroom.
Even in the front, with the driver&rsquo;s seat lowered all the way down, my big
lockdown hair sometimes touched the ceiling until my recent haircut (I&rsquo;m ~188
cm (6&#8217;2&#8221;)). The rear window does not have great visibility, and there&rsquo;s no rear
windshield wiper.</p>

<p>The charge port is located on the side of the car like a regular fuel door
which is a bit annoying since many public chargers in Denmark seem to expect
you to charge from the front of the car. Actually, it&rsquo;s probably more correct to
say that the charging stations are annoying.</p>

<p>The IONIQ includes plenty of tech such as automatic lane keeping and emergency
braking, adaptive cruise control, keyless entry and start, Android Auto and
Apple CarPlay, heat pump, heated side-view mirrors, heated seats, heated
steering wheel, parking sensors front + back, backup camera, etc.</p>

<p>Like probably a lot of other new cars it also has a touch screen that doesn&rsquo;t
work with gloves (presumably a capacitive touch screen). At least the climate
control &ldquo;buttons&rdquo; below the touch screen work with gloves (presumably resistive
touch buttons). Thankfully, the steering wheel buttons are old-school push
buttons (unlike in the Volkswagen ID.3 and ID.4).</p>

<a name="On.and.Off"></a>
<h2>On and Off</h2>

<p>The IONIQ is built on a platform that includes a hybrid and a plug-in hybrid
version, and this makes it feel &ldquo;last gen&rdquo; compared to cars built on pure EV
platforms. Among other things because it uses the old on/off paradigm:</p>

<ul>
<li>Get in</li>
<li>Turn car on</li>
<li>Switch to Drive</li>
<li>Drive</li>
<li>Switch to Park</li>
<li>Engage parking brake</li>
<li>Turn car off</li>
<li>Leave car</li>
</ul>


<p>The key is wireless and the parking brake will disengage automatically in
Drive, but it&rsquo;s still more steps than is necessary. It&rsquo;s especially easy to
forget to turn the car off after use because there&rsquo;s no motor noise/vibration
to make you feel that it&rsquo;s on. And if (when) you do forget, the IONIQ lets out
a prolonged, piercing beep when you close the door from the outside. Instead, a
simpler and friendlier sequence would be:</p>

<ul>
<li>Get in</li>
<li>Switch to Drive</li>
<li>Drive</li>
<li>Switch to Park</li>
<li>Leave car</li>
</ul>


<p>The Volkswagen ID.3 and ID.4 work like this, except even switching to
<a href="https://youtu.be/0Zzpsn_D9HA?t=208">Park is optional</a> &mdash; it will automatically apply the
parking brake when you open the door, and turn off when you leave.</p>

<a name="Conclusion"></a>
<h2>Conclusion</h2>

<p>Overall, the IONIQ Electric is a nice car. It&rsquo;s fantastic for city use, and
unlike cheaper EVs, it&rsquo;s fully capable of long trips &mdash; as long as you are
patient when charging. If long trips are only occasional it is still a good EV
for the price. The best value would be if you have your own home charger and a
medium long daily commute. But in the end, charging speed is the 2020 IONIQ&rsquo;s
Achilles&#8217; heel when it comes to using the car as your only or primary car.</p>

<p>A Tesla Model 3 SR+ would be bigger and better in range, acceleration, and
charging speed, but it would also cost 75% more to purchase in Denmark. In
between the IONIQ and Model 3 are some good options though: Peugeot e-208,
Hyundai Kona, Nissan Leaf e+, Volkswagen ID.3, Volkswagen ID.4, and Skoda
Enyaq. The upcoming <a href="https://www.topgear.com/car-reviews/ioniq-5/first-drive">IONIQ 5</a> and its sister
<a href="https://www.topgear.com/car-news/electric/new-kia-ev6-and-fast-version-will-do-0-62mph-35s">Kia EV6</a> also look very interesting. In general, the future is
set to bring a lot of exciting development in EVs.</p>

<p>If you want to know more about EVs I can recommend the YouTube channel of
<a href="https://www.youtube.com/user/youtube_bjornnyland">Bjørn Nyland</a> for car reviews and tests, and
<a href="https://www.youtube.com/channel/UCgBPvqu6vqvO3MmTjQZ0lfg">Plug Life Television</a> with more background info on
charging, economics, society, and the environment, as well as some beautiful EV
roadtrips. Also check out <a href="https://www.youtube.com/user/fullychargedshow">Fully Charged Show</a>
including their EV beginner&rsquo;s guides.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[RIP Mercurial (on Bitbucket)]]></title>
    <link href="http://blog.erw.dk/2019/08/28/rip-mercurial-on-bitbucket/"/>
    <updated>2019-08-28T07:39:28+02:00</updated>
    <id>http://blog.erw.dk/2019/08/28/rip-mercurial-on-bitbucket</id>
    <content type="html"><![CDATA[<p><a href="https://bitbucket.org/">Bitbucket</a> is going to <a href="https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket">drop support</a> for the
<a href="https://www.mercurial-scm.org/">Mercurial</a> version control system, due to most people using
<a href="https://git-scm.com/">Git</a> instead. I use both Mercurial (hg) and Git, and while Git has become
the de facto standard today, Mercurial was my first love in the world of
version control systems, and I&rsquo;m sad to see it go.</p>

<p>Of course, Mercurial is not dead, but being removed from Bitbucket is a big
deal (at least to me). But this news also gave me an occasion to reconsider Git
vs. Mercurial, and writing this post has actually given me a newfound, if not
appreciation, then at least understanding of Git.</p>

<!-- more -->


<a name="Init"></a>
<h2>Init</h2>

<p>When I started university in 2006, <a href="https://en.wikipedia.org/wiki/Apache_Subversion">SVN</a> had recently replaced <a href="https://en.wikipedia.org/wiki/Concurrent_Versions_System">CVS</a>
as the cool thing. So for group work we used SVN and it worked fine. Well,
except for all the file conflicts we got. And the awful tree conflicts. Come to
think of it, it didn&rsquo;t work that great. Luckily
<a href="https://en.wikipedia.org/wiki/Distributed_version_control">distributed version control systems</a> had been maturing in the meantime.</p>

<p>In 2009 we started using Mercurial. It was like SVN, except it was actually
good for collaboration! Now you could store a safe snapshot of your own work
before trying to merge other people&rsquo;s changes in. Also merging generally worked
well. Also it was fast.</p>

<p>All was good, but there was also this Git thing people on the internet were
talking about. Coming from SVN, Mercurial made sense and Git didn&rsquo;t. (Linus
Torvalds, being Linus Torvalds, made Git purposely different from the CVS/SVN
family.) Git did seem to be more flexible at the expense of being less elegant.
As was written back then:
<a href="https://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/">Git is MacGyver, Mercurial is James Bond</a>.</p>

<p>My group mates and I kept using Mercurial, but as I started my PhD,
collaboration with new people, not least my supervisor René, made me spend more
time with Git. It got better when I began to understand that the differences
between Mercurial and Git start at fundamental concepts such as branches and
merges.</p>

<a name="Different.Concepts"></a>
<h2>Different Concepts</h2>

<p>&ldquo;Branch&rdquo; doesn&rsquo;t have the same interpretation in Mercurial and Git. In
Mercurial, a branch is a sequence of commits all sharing a (permanent) name. In
Git, a branch is temporary and is represented by a reference to the current
commit at the tip of the branch. Once gone, you can&rsquo;t tell which branch(es)
a commit used to be part of.</p>

<p>In Mercurial branches are also shared between clones of the same repository.
Everybody works on the same branch, and you can <a href="https://www.mercurial-scm.org/repo/hg/help/pull"><code>hg pull</code></a> to get the
newest version of the branch, and then <a href="https://www.mercurial-scm.org/repo/hg/help/update"><code>hg update</code></a> your working
copy. In Git nobody works on the same branch &mdash; there&rsquo;s just people working on
different branches that might or might not have the same name. You can&rsquo;t
&ldquo;update&rdquo; to the newest version because you already have the newest version of
your own branch by definition. But you can <em>merge</em> another branch, possibly
with the same name, into your own.</p>

<p>In Mercurial, merges are used for merging divergent branches or heads. In Git,
everything is a merge, even if only one branch has changed. But at the same
time, a Git merge might or might not create a merge commit. By default, a new
commit will only be created if the two branches had diverged, i.e., work had
been done on both. Otherwise, the current branch will just be updated to point
to the same commit as the branch being merged in. It makes a lot of sense once
you get used to Git, but before that it&rsquo;s just confusing.</p>

<a name="Different.Commands"></a>
<h2>Different Commands</h2>

<p>Learning Git from an SVN/Mercurial background meant relearning a few words.
&ldquo;Revert&rdquo; means something new in Git and &ldquo;shelve&rdquo; is called &ldquo;stash&rdquo;, but that&rsquo;s
not bad. Instead, what is annoying is that many simple Mercurial commands don&rsquo;t
have simple, memorable equivalents in Git:</p>

<p>Show the hash of the current commit:</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>hg id
</span><span class='line'>git rev-parse HEAD</span></code></pre></td></tr></table></div></figure>


<p>Show which commits would be pulled or pushed:</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>hg in
</span><span class='line'>git fetch && git log ..@{u}
</span><span class='line'>
</span><span class='line'>hg out
</span><span class='line'>git fetch && git log @{u}..</span></code></pre></td></tr></table></div></figure>


<p>Mark a file to stop tracking, but don&rsquo;t delete the file. This one is especially
weird in Git because you don&rsquo;t remove something <em>-&#8203;-cached</em>, you cache
(stage) the removal of something:</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>hg forget
</span><span class='line'>git rm --cached</span></code></pre></td></tr></table></div></figure>


<p>Print the root directory of the repository and the URL of the remote repository:</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>hg root
</span><span class='line'>hg path
</span><span class='line'>
</span><span class='line'>git rev-parse --show-toplevel
</span><span class='line'>git config --get remote.origin.url</span></code></pre></td></tr></table></div></figure>


<p>List the version controlled files:</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>hg manifest
</span><span class='line'>git ls-tree -r --name-only --full-tree HEAD</span></code></pre></td></tr></table></div></figure>


<a name="Git.is.Git"></a>
<h2>Git is Git</h2>

<p>I have been using the above commands as aliases in Git, but I have wondered if
doing that somehow prevented me from learning the &ldquo;true spirit&rdquo; of Git. I have
now come to the conclusion that the essence of Git is its architecture and data
model, and not its incoherent command line interface. Learning the user
interface is just a chore, and using aliases to smooth it out is fine.</p>

<p>I&rsquo;m not bashing Git because it&rsquo;s different from Mercurial, but because it is
internally inconsistent and, as another blogger puts it:
<a href="https://stevebennett.me/2012/02/24/10-things-i-hate-about-git/">Git doesn’t so much have a leaky abstraction as no abstraction.</a>
Here are some of the inconsistencies and lacking abstractions:</p>

<ul>
<li>Concepts can have multiple names, like the index a.k.a. the cache a.k.a. the
staging area (which would be okay if Git didn&rsquo;t already have so many
concepts)</li>
<li>The branch <code>origin/master</code> is your (local) remote tracking branch, but
<code>master</code> alone can refer to your local master branch or to the remote&rsquo;s
master branch depending on context</li>
<li>The <a href="https://git-scm.com/docs/git-checkout"><code>git checkout</code></a> command famously does too much: It can
check out a branch (merging in uncommitted changes in the process if you
want, or creating a new branch manually or automatically if you want), and it
can restore or overwrites individual files in the working copy

<ul>
<li>However, the new Git 2.23 released this month has started experimenting
with the new, more specific, and subject to change
<a href="https://git-scm.com/docs/git-switch"><code>git switch</code></a> and <a href="https://git-scm.com/docs/git-restore"><code>git restore</code></a> commands
(similar to <a href="https://www.mercurial-scm.org/repo/hg/help/update"><code>hg update</code></a> and <a href="https://www.mercurial-scm.org/repo/hg/help/revert"><code>hg revert</code></a>!)</li>
</ul>
</li>
<li>The notation <code>A:B</code> sometimes means <code>&lt;src&gt;:&lt;dst&gt;</code> (a refspec) and sometimes
<code>&lt;rev&gt;:&lt;path&gt;</code> (path in a revision &mdash; to be distinguished from a pathspec
which is a third concept that can use the colon in a third way)</li>
<li>The notations <code>A B</code> and <code>A..B</code> mean the same thing to <a href="https://git-scm.com/docs/git-diff"><code>git diff</code></a>
but not to <a href="https://git-scm.com/docs/git-log"><code>git log</code></a></li>
<li>The notations <code>A..B</code> and <code>A...B</code> mean somewhat opposite things to
<a href="https://git-scm.com/docs/git-diff"><code>git diff</code></a> and <a href="https://git-scm.com/docs/git-log"><code>git log</code></a>

<ul>
<li>To specify branches A and B symmetrically you need <code>git diff A..B</code> but <code>git
log A...B</code></li>
<li><code>git diff A...B</code> and <code>git log A..B</code> mean &ldquo;from the common ancestor of A and
B, to B&rdquo;</li>
</ul>
</li>
</ul>


<p>In the end, I think Git is a good tool despite its command line interface. But
if you&rsquo;re the type of person who needs to understand something in depth to feel
comfortable with it, you have a lot of reading to do. If you already know the
basics, <a href="https://git-scm.com/docs/gitglossary"><code>git help gitglossary</code></a> will get you started on 80+
underlying concepts that will help you on your way to master the world&rsquo;s
favored VCS!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Google Assistant Currently Unavailable for This Language]]></title>
    <link href="http://blog.erw.dk/2019/05/31/google-assistant-currently-unavailable-for-this-language/"/>
    <updated>2019-05-31T11:28:46+02:00</updated>
    <id>http://blog.erw.dk/2019/05/31/google-assistant-currently-unavailable-for-this-language</id>
    <content type="html"><![CDATA[<p>One day I said &ldquo;Hey Google&rdquo; and my <a href="http://blog.erw.dk/2017/11/19/google-pixel-2-first-impressions/">Pixel</a> didn&rsquo;t respond. After a few
more unsuccessful tries I went into the settings and saw that Voice Match &mdash;
the feature that lets you activate Google Assistant by voice &mdash; &ldquo;is currently
unavailable for this language&rdquo;. I found this strange since the language was set
to <strong>English</strong>, and it used to work. Now, neither US nor UK English, nor
Danish, could make it work.</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/google_assistant_voice_match_unavailable.png"></p>

<p>I googled the problem and found lots of tips, but none of them worked. Later
I found a solution, that I&rsquo;ll post here in the hopes of helping someone else.</p>

<!-- more -->


<a name="Toward.The.Solution"></a>
<h2>Toward The Solution</h2>

<p>Before I found the solution I checked several things after googling the
problem. I confirmed that the microphone did work in other apps. In fact, it
even worked in the Google app itself when activated by touch instead of voice.
I didn&rsquo;t have other voice assistants installed that could somehow conflict with
Google Assistant. I couldn&rsquo;t retrain the voice model as some recommended since
the whole Voice Match feature was unavailable. I tried rebooting, uninstalling
Google app updates, clearing its cache, reinstalling the updates, rebooting
some more, all to no avail.</p>

<p><img class="right" src="http://blog.erw.dk/images/posts/google_assistant_android_language_preferences.png"></p>

<p>Besides the system Voice settings&#8217; language preferences, the Google app&rsquo;s
Assistant settings also have language preferences. Here, I also had English
(tried both US and UK), so that couldn&rsquo;t be the unsupported language either.
Finally I went to the system settings&#8217; main language preferences, which are
a <em>third</em> language setting in the same Google/Android ecosystem. My main
language was set to &ldquo;English (Denmark)&rdquo;.</p>

<a name="Solution"></a>
<h2>Solution</h2>

<p>It&rsquo;s not enough to use a supported language, the regional variant also has to
be supported and set in the correct one out of three sets of language
preferences. &ldquo;English (Denmark)&rdquo; doesn&rsquo;t work, but setting the main system
language preferences&#8217; top or only language to &ldquo;English (United States)&rdquo; does.
Presumably English from other primarily English-speaking regions works as well.</p>

<p><strong>After changing my <em>main</em> system language to &ldquo;English (United States)&rdquo;
I could now activate Voice Match a.k.a. &ldquo;OK Google&rdquo;/&ldquo;Hey Google&rdquo;.</strong></p>

<a name="Problems"></a>
<h2>Problems</h2>

<p>The above is more of a hack than an actual solution, because it prevents me
from using Danish regional (time, date, number, etc.) formats on Android while
using Voice Match.</p>

<p>When I got my Pixel 2 I had set it myself to &ldquo;English (United States)&rdquo;. This
worked fine until I later installed Google Fit and wanted its calendar view to
use Monday as the first day of the week, rather than Sunday. The app didn&rsquo;t
have it&rsquo;s own setting for this, but it worked after I changed the main system
language to &ldquo;English (Denmark)&rdquo;. I don&rsquo;t use Google Assistant every day, so
when &ldquo;Hey Google&rdquo; later didn&rsquo;t work, I didn&rsquo;t immediately make the connection
to the region change.</p>

<p>If the original error message had been &ldquo;This feature is currently unavailable
for <em>English (Denmark)</em>&rdquo;, rather than the generic &ldquo;this language&rdquo;, it would
have been much easier to fix. Even better, Android should use the Voice
settings&#8217; language as the voice language. Or the Assistant settings&#8217; language
as the assistant language. Or stop having so many language settings! Or let
Voice Match fall back to a supported language variant if the chosen one is
unsupported.</p>

<a name="More.Problems"></a>
<h2>More Problems</h2>

<p>Speaking of Google Assistant problems, I just <a href="https://www.theguardian.com/technology/2019/may/28/a-white-collar-sweatshop-google-assistant-contractors-allege-wage-theft">read</a> that many of the
linguists that helped create Google Assistant were treated with mistrust and
being paid less than 20% of what permanent staff makes, while also expected to
do unlogged overtime. I appreciate that not all skills are in equal demand, and
therefore pay, but that&rsquo;s no excuse to treat people with a lack of respect <em>on
top of</em> low pay and inferior health insurance. I think Google should choose to
treat <em>all</em> its workers with dignity. #DontBeEvil</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[How to Pin RemoteApps to the Taskbar]]></title>
    <link href="http://blog.erw.dk/2019/04/24/how-to-pin-remoteapps-to-the-taskbar/"/>
    <updated>2019-04-24T00:09:57+02:00</updated>
    <id>http://blog.erw.dk/2019/04/24/how-to-pin-remoteapps-to-the-taskbar</id>
    <content type="html"><![CDATA[<p><img class="center" src="http://blog.erw.dk/images/posts/pin_remoteapps_pin_start.png"></p>

<p>In Microsoft Windows you can &ldquo;pin&rdquo; apps to the taskbar so you can launch them
with a single click. You can right click and pin an app when it is running in
the taskbar, or anytime through the start menu. But some apps, such as
<a href="https://techcommunity.microsoft.com/t5/Enterprise-Mobility-Security/Introducing-RemoteApp-and-Desktop-Connections/ba-p/246803">RemoteApps and Desktop Connections</a>, cannot be pinned.</p>

<!-- more -->


<p><span class='caption-wrapper center' style='width: 568px'><img class='caption' src='http://blog.erw.dk/images/posts/pin_remoteapps_remoteapp_no_pin_running.png' width='550' height='131' alt='No "Pin to taskbar" option from running RemoteApp'><span class='caption-text'>No &ldquo;Pin to taskbar&rdquo; option from running RemoteApp</span></span></p>

<p><span class='caption-wrapper center' style='width: 678px'><img class='caption' src='http://blog.erw.dk/images/posts/pin_remoteapps_remoteapp_no_pin_start.png' width='660' height='365' alt='No "Pin to taskbar" option from the start menu'><span class='caption-text'>No &ldquo;Pin to taskbar&rdquo; option from the start menu</span></span></p>

<a name="Solution"></a>
<h2>Solution</h2>

<p><img class="right" src="http://blog.erw.dk/images/posts/pin_remoteapps_remoteapp_props.png"></p>

<p>Here&rsquo;s how I pin RemoteApps to the taskbar for easy access:</p>

<ol>
<li>Open the file location of the RemoteApp from the start menu (see image
above)</li>
<li>Open the Properties dialog for the RemoteApp shortcut and copy the Target</li>
<li>Pin a random app to the taskbar, e.g. Command Prompt, to be a temporary
placeholder.</li>
<li>In File Explorer, go to the folder <div><em>%appdata%\Microsoft\Internet
Explorer\Quick Launch\User Pinned\TaskBar</em></div></li>
<li>Open the Properties dialog for the placeholder app shortcut</li>
<li>Overwrite the Target by pasting from the clipboard, and click OK</li>
<li><strong>In the start menu, the RemoteApp can now be pinned</strong></li>
<li>Unpin the placeholder from the taskbar</li>
</ol>


<p><img class="center" src="http://blog.erw.dk/images/posts/pin_remoteapps_remoteapp_pin_start.png"></p>

<p><img class="center" src="http://blog.erw.dk/images/posts/pin_remoteapps_remoteapp_pinned.png"></p>

<a name="Details"></a>
<h2>Details</h2>

<p>It might seem like a roundabout way to deal with multiple shortcuts instead of
simply adding the desired shortcut to <em>%appdata%\Microsoft\Internet
Explorer\Quick Launch\User Pinned\TaskBar</em>. Unfortunately, simply adding
a shortcut in the TaskBar folder will not make it show up in the taskbar. This
is because the registry decides what is displayed. (The relevant information is
at <em>HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband</em> but it is
not easy to edit by hand.) The recipe above tricks Windows into letting the
RemoteApp be added the normal way so the registry gets the correct info. Tested
on Windows 10 Enterprise, version 1803.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Spar penge med Rejsekortets mængderabat [Danish]]]></title>
    <link href="http://blog.erw.dk/2019/01/17/spar-penge-med-rejsekortets-maengderabat/"/>
    <updated>2019-01-17T07:52:10+01:00</updated>
    <id>http://blog.erw.dk/2019/01/17/spar-penge-med-rejsekortets-maengderabat</id>
    <content type="html"><![CDATA[<p><img class="left" src="http://blog.erw.dk/images/posts/rejsekort.jpg"></p>

<p>Jeg prøver noget nyt og skriver på dansk. Jeg startede med at skrive denne
artikel på engelsk, men nu hvor jeg har skiftet til dansk føler jeg ikke vores
allesammens <a href="https://www.rejsekort.dk/">Rejsekort</a> behøver nogen introduktion. Det er normalt
for tech-bloggere at komme ind på it-sikkerhed eller brugervenlighed når det
gælder Rejsekortet, men i dag vil jeg snakke om noget lidt andet, nemlig
hvordan man undgår at snyde sig selv i Rejsekortets indviklede rabatsystem.
Vest for Storebælt kan man nemlig i flere tilfælde spare penge ved at rejse
<em>mere</em> hver måned.</p>

<!-- more -->


<p>(Men først lige én kommentar om grafisk design: Sort tekst på en blå baggrund,
som på billedet af mit rejsekort herover, er dårligt design. Min
billedbehandling overdriver lidt her, men illustrerer faktisk fint hvor svært
det er at læse sort på blåt under dårlige lysforhold. Nå, tilbage til
rabatten.)</p>

<a name="Rejsekortets.Rabatter"></a>
<h2>Rejsekortets Rabatter</h2>

<p>Rejsekortet giver <a href="https://www.rejsekort.dk/brug-rejsekort/priser-for-rejser/">to typer rabat</a> på rejser: tidsrabat og
mængderabat. Tidsrabat gives når rejsen starter uden for myldretiden, mens
mængderabat afhænger af hvor mange rejser man har haft i de foregående tre
måneder. Rabatterne afhænger desuden af typen af rejsekort, transportmidlet,
samt både udgangspunktet og destinationen.</p>

<p>Tidsrabatten er nem at få &mdash; man skal lægge sin rejse uden for myldretiden
(som kan være kl. 7&ndash;11 og 13&ndash;18 på hverdage, men det afhænger af region,
transportmiddel og type af rejsekort, naturligvis) &mdash; men derudover afhænger
den ikke af noget. Derfor fokuserer jeg på mængderabatten, som på mere
indviklet vis påvirkes af fortiden. Jeg antager desuden at man benytter et
personligt rejsekort for voksne &mdash; I modsætning til flex, anonym, barn, ung,
pensionist, handicappet, hund/cykel, pendler, pendler kombi,
erhverv/institution, glemte jeg nogen?</p>

<a name="Rejsekortets.m..ngderabat"></a>
<h2>Rejsekortets mængderabat</h2>

<p>Mængderabatten afhænger af både udgangspunkt og destination, og forudsætter at
mindst én af disse to ligger vest for Storebælt (sorry, sjællændere). Rejser
<em>over</em> Storebælt har én rabatskala, mens rejser udelukkende vest for Storebælt
har en anden, som jeg her vil arbejde videre med. Rejsekortet har teknisk set
otte forskellige rabattrin, men vest for Storebælt giver flere af dem samme
rabatsats, så jeg arbejder blot med fire rabattrin.</p>

<p>Mængderabatsatserne i procent er ens mellem regionerne, men rejsens grundpris
varierer mellem regionerne, og kan også afhænge af transportmidlet. Jeg
benytter priserne fra Nordjylland gældende fra 20. januar 2019 i det følgende,
men grundprincippet er det samme uanset gamle og nye priser samt region. Det
fulde prisblad findes <a href="https://www.rejseplanen.dk/bin/help.exe/mn?L=vs_rkfc&amp;tpl=prisblad">her</a>.</p>

<table>
<thead>
<tr>
<th style="text-align:right;"> <strong>Rejser/måned</strong> </th>
<th style="text-align:right;"> &nbsp;&nbsp;&nbsp;&nbsp;<strong>Rabat</strong> </th>
<th style="text-align:right;"> &nbsp;&nbsp;&nbsp;&nbsp;<strong>Pris for 2 zoner</strong> </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right;"> 0&ndash;3             </td>
<td style="text-align:right;"> 0%                                </td>
<td style="text-align:right;"> 16,90 kr.                                    </td>
</tr>
<tr>
<td style="text-align:right;"> 4&ndash;15            </td>
<td style="text-align:right;"> 10%                               </td>
<td style="text-align:right;"> 15,21 kr.                                    </td>
</tr>
<tr>
<td style="text-align:right;"> 16&ndash;33           </td>
<td style="text-align:right;"> 25%                               </td>
<td style="text-align:right;"> 12,67 kr.                                    </td>
</tr>
<tr>
<td style="text-align:right;"> 34&ndash;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </td>
<td style="text-align:right;"> 40%                               </td>
<td style="text-align:right;"> 10,14 kr.                                    </td>
</tr>
</tbody>
</table>


<p><br>
Rabattrinnet i en given måned sættes ud fra den af de tre sidste måneder med
flest rejser. Måned skal dog ikke nødvendigvis forstås som kalendermåned.
I stedet har man en <em>rabatskiftedato</em> (fx den 5. i hver måned) som afhænger af
hvornår ens rejsekort blev taget i brug. For at det ikke skal blive for nemt
kan man ikke aflæse sin rabatskiftedato på Rejsekortets
<a href="https://selvbetjening.rejsekort.dk/">selvbetjening</a>, men skal i stedet ringe til kundeservice for at
få den oplyst.</p>

<a name="Beregning.med.m..ngderabat"></a>
<h2>Beregning med mængderabat</h2>

<p>Hvis vi forudsætter at man rejser det samme antal ture hver måned, så betaler
man i alt følgende pr. måned afhængig af antallet af rejser:</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/rejsekort_rabat1.png"></p>

<p>Rejser man 14, 15 eller 28&ndash;33 rejser pr. måned, betaler man mere pr. måned end
hvis man rejste lidt mere. Man kan altså spare penge, fra og med næste måned,
ved at rejse lidt mere. Så hvis man har flere steder, man skal hen, kan man
blot nyde turen og de 10&ndash;72 kr. man sparer hver måned.</p>

<p>Men har man ikke behov for at rejse mere, er der stadig penge at spare ved at
foretage nogle få ekstra rejser. Så længe man har opnået et højere rabattrin
end normalt gælder det nemlig i tre måneder, hvori ens normale antal rejser
også bliver billigere, og man dermed opnår en besparelse:</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/rejsekort_rabat2.png"></p>

<p>Prisen for at opnå denne besparelse er at rejse nogle ekstra rejser for at nå
op på det næste rabattrin, dvs. nå op på 4, 16 eller 34 rejser i én måned.
Dette kan være så lidt som én ekstra rejse eller så meget som 18 rejser for at
nå fra 16 til 34. Omkostningen ved disse skal lægges i én måned, men fordelen
gælder i tre, så derfor viser jeg her omkostningen pr. måned, dvs. delt med
tre:</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/rejsekort_rabat3.png"></p>

<p>Jo færre ekstrarejser der er behov for, jo lavere er den samlede ekstrapris.
Befinder man sig i de store spænd 11&ndash;15 eller 22&ndash;33 rejser pr. måned, er
besparelsen større end omkostningen. I den laveste del af disse spænd er den
samlede besparelse mindst og tidsforbruget ved at rejse de ekstra rejser
størst, så man må selv vurdere om man synes besparelsen er indsatsen værd. Mest
får man ud af de ekstra rejser hvis man normalt ligger på 30&ndash;33 rejser, da man
her kan spare 60&ndash;80 kr. om måneden vha. nogle få ekstra rejser.</p>

<p>Omkostningen kan bringes yderligere ned: De ekstra rejser kan foretages uden
for myldretiden, dvs. med 20% tidsrabat, hvorved de fordelagtige spænd udvides
til 3, 10&ndash;15 og 20&ndash;33. Hvis man tre måneder senere vil gentage manøvren,
gøres det denne gang ud fra det højere rabattrin, man har opnået, og spændene
er nu, inkl. tidsrabat, 3, 10&ndash;15 og 18&ndash;33. Med andre ord er det kun hvis man
rejser 0&ndash;2, 4&ndash;9, 16 eller 17 gange om måneden at det <em>ikke</em> kan betale sig at
opnå et højere rabattrin.</p>

<a name="L..ngere.rejser"></a>
<h2>Længere rejser</h2>

<p>Jeg vil også nævne muligheden for pendlerkort. I Nordjylland koster 2 zoner
i 30 dage 380 kr., dvs. ca. 385 kr. for en gennemsnitlig måned, hvilket er
billigere end 31&ndash;33 rejser pr. måned på næsthøjeste rabattrin og 39+ rejser på
højeste rabattrin med det almindelige rejsekort:</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/rejsekort_rabat4.png"></p>

<p>Jeg foretrækker dog det almindelige rejsekort over pendlerkortet, herunder
pendler kombi, da den rabat jeg opsparer på mine daglige, korte rejser også
gælder på længere rejser vest for Storebælt med det almindelige rejsekort. Med
40% mængderabat sparer jeg 150 kr. på én tur/retur Aalborg&ndash;Aarhus, og 290 kr.
for Aalborg&ndash;Odense.</p>

<p>Hvis man dagligt eller ofte rejser længere end 2 zoner kan man også spare penge
i dagligdagen med metoden med ekstrarejser. Her er fordelen at de ekstra rejser
er billigere end de normale, da man kan nøjes med at rejse 2 zoner på
ekstrarejserne, da det udelukkende er antallet af rejser &mdash; ikke længden &mdash;
der afgør rabattrinnet. Dermed bliver omkostningen mindre i forhold til
besparelsen. Som eksempel ser vi her på 8 zoner, som er afstanden fra Aalborg
til Hjørring eller Hobro:</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/rejsekort_rabat5.png"></p>

<p>Allerede fra seks månedlige rejser på 8 zoner er det en fordel at opnå det
næste rabattrin. Ved 30&ndash;33 rejser er der 250&ndash;300 kr. at hente hver måned
i gennemsnit (besparelse fraregnet omkostning). Ved 26 zoner sparer man <em>altid</em>
penge ved at opnå det næste rabattrin, op til 837 kr./måned! Det har jeg
illustreret i følgende diagram.</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/rejsekort_rabat6.png"></p>

<p>Hvis man lige som før gentager de ekstra rejser efter tre måneder med tidsrabat
og det opnåede næste rabattrin, er der endda lidt mere at spare:</p>

<p><img class="center" src="http://blog.erw.dk/images/posts/rejsekort_rabat7.png"></p>

<p>Det er nok de færreste der kan klemme sig op i højre hjørne, specielt uden at
investere i et pendlerkort hvis man pendler langt, men det er vildt at
muligheden er der. Man skal dog huske at det kun hjælper hvis man i forvejen
rejser færre end 34 rejser pr. måned. Er man først deroppe, er der ikke flere
rabatniveauer at opnå &mdash; man kan blot kigge på om et pendlerkort er billigere.</p>

<p><em>Opdatering 2019-08-28: Lille sprogfejl rettet.</em></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Android 9 Impressions]]></title>
    <link href="http://blog.erw.dk/2018/11/06/android-9-impressions/"/>
    <updated>2018-11-06T08:43:18+01:00</updated>
    <id>http://blog.erw.dk/2018/11/06/android-9-impressions</id>
    <content type="html"><![CDATA[<p><img class="right" src="http://blog.erw.dk/images/posts/android9_homescreen.png"></p>

<p>Last year I got the <a href="http://blog.erw.dk/2017/11/19/google-pixel-2-first-impressions/">Google Pixel 2</a> smartphone to try the pure Android
experience. It took a bit of time to get used to but I have come to appreciate
its simplicity and cleanness. But the main purpose was getting OS updates
directly from Google, without waiting for the OEMs. Besides monthly security
updates, the new Android 9 came in August. Here are my impressions after two
months, including Gesture Navigation, the Overview, Adaptive Battery, and
Digital Wellbeing, as well as my thoughts on the Pixel 2 after a year.</p>

<!-- more -->


<a name="Pixel.2.a.Year.Later"></a>
<h2>Pixel 2 a Year Later</h2>

<p>The two things I initially liked best about the Pixel 2 are still the best: The
speed and the screen. The speed and responsiveness of the device is still
amazing one year and OS update later. This is what using a computer &mdash; because
a smartphone is a computer &mdash; in 2018 should feel like. (Running Windows 10 on
a laptop does, incidentally, not feel like 2018.)</p>

<p>The brightness range of the screen is also still great. Not perfect, but
I certainly find myself needing <a href="https://play.google.com/store/apps/details?id=com.haxor">Screen Filter</a> less often than
before I got an OLED screen. The always-on screen feature that shows the time
and notifications when the screen is &ldquo;off&rdquo; was also neat at first, but I&rsquo;ve
since grown so accustomed to it that a device that doesn&rsquo;t have it now feels
antiquated. Similarly, the fingerprint sensor on the back was ok at first but
now makes the phone feel like a natural extension of my hand
(<a href="https://www.theguardian.com/society/shortcuts/2018/oct/30/get-a-grip-are-smartphones-ruining-our-manual-dexterity">for better or worse</a>).
And unlike the <a href="https://youtu.be/hrHf6XQpmk0?t=94">in-screen fingerprint sensor</a> of the new OnePlus 6T, the
traditional sensor does not blind you with its bright light at night.</p>

<p>The camera and speakers are still great, and I can still get through the day
with battery left to spare. To mention a few negatives, the volume rocker is
still too stiff, and I&rsquo;ve disabled the Active Edge squeeze feature completely
as it was more likely to be activated accidentally than when I actually needed
it.</p>

<a name="Android.9"></a>
<h2>Android 9</h2>

<p>Android 9 was released in August. Installing the update was extremely fast,
just like booting up the Pixel 2 was when I first turned it on a year ago.
Again, this feels like 2018. Other improvements made me wonder why they weren&rsquo;t
made sooner. The sound volume control now defaults to controlling media volume
instead of ringer volume, also when no media is playing. Now you can lower the
volume <em>before</em> your embarrassing video starts playing. Simple yet great.</p>

<p><span class='caption-wrapper left'><img class='caption' src='http://blog.erw.dk/images/posts/android9_rotate_button.png' width='497' height='138' alt='The rotate button works with and without gesture navigation enabled.'><span class='caption-text'>The rotate button works with and without gesture navigation enabled.</span></span></p>

<p>Another such feature is the screen rotation button. I prefer having screen
auto-rotate disabled so I can keep reading while lying on my side in bed or in
the sofa. But for the few times I did want the screen to rotate, it was
annoying to have to enable the auto-rotate feature and then disable it later
after use. Now in Android 9, if auto-rotate is disabled but the phone senses
it&rsquo;s been rotated, a little rotate button appears that let&rsquo;s you rotate the
screen, once, without messing with the general auto-rotate setting. If you
ignore it, the button goes away after some seconds. Made me wonder why this
wasn&rsquo;t built in many years ago.</p>

<a name="App.Switching.and.Overview"></a>
<h2>App Switching and Overview</h2>

<p><span class='caption-wrapper right'><img class='caption' src='http://blog.erw.dk/images/posts/android9_overview.png' width='' height='' alt='The Overview/app switching screen of Android 9'><span class='caption-text'>The Overview/app switching screen of Android 9</span></span></p>

<p>As seen in the picture with the rotate button above, there are now two
different ways to navigate around Android 9. The new gesture navigation with
the &ldquo;pill&rdquo; button, as well as the traditional navigation bar.</p>

<p>In the traditional mode, the &ldquo;Overview button&rdquo; (the square) opens the Overview
where you can see recently used apps and switch to them. A second press of the
Overview button switches to the next most recently used app. This can be done
quickly, i.e., double tapping the Overview button to switch to the next most
recently used app.</p>

<p>Using gesture navigation, swiping up from the pill (or in fact anywhere on the
bottom of the screen) opens the Overview, while instead dragging the pill to
the right scrolls through recently used apps until you release it.</p>

<p>The Overview mode, besides app switching, lets you select and copy text, even
from apps that don&rsquo;t allow this during normal usage, which is a great feature.
It&rsquo;s also from the Overview that apps can be sent to split screen mode.</p>

<a name="To.Gesture.or.Not.to.Gesture"></a>
<h2>To Gesture or Not to Gesture</h2>

<p>Since I got the Pixel 2 last year, I have loved double tapping the Overview
button, so it was not like I desperately wanted a different way of navigating.
Happily, upgrading to Android 9 didn&rsquo;t force the switch to the new gesture
navigation. In fact, I had to enable it myself, by activating the &ldquo;Swipe up on
Home button&rdquo; gesture.</p>

<p>Swiping up is very smooth, and while you do it, the active app shrinks down to
the rectangle/preview shown in the Overview. If you continue swiping up, the
app drawer opens. In the Overview you can scroll sideways between the previews,
and to select one, you can tap it, or swipe it back down and out to full
screen. This part works well.</p>

<p>The sideways drag feature is a mixed bag. It&rsquo;s good for switching to the
previous app with a short, quick sideways swipe &mdash; even simpler than the old
double tap. If you hold and drag further, the sideways scroll snaps to each app
with satisfying haptic feedback, which is even better than the regular
Overview. But. The problem with the sideways drag is that in one-handed
operation, it invariably leads your thumb into an uncomfortable position.</p>

<p>This is why I prefer the short sideways swipe for the previous app and swiping
up to the Overview if I want to go further back. But this leads to a mental
overhead: Now I stop and think before gesturing. The old Overview button didn&rsquo;t
have this problem: Every switch starts with a press of the button. Gesture
navigation <em>looks</em> fancy, but I have to say my thumb prefers the old way.</p>

<a name="Adaptive.Battery"></a>
<h2>Adaptive Battery</h2>

<p><img class="left" src="http://blog.erw.dk/images/posts/android9_adaptive_battery.png"></p>

<p>According to android.com, &ldquo;Adaptive Battery learns how you like to use your
phone, so the apps and services you don&rsquo;t use as much aren&rsquo;t a battery drain&rdquo;.
Unlike gesture navigation, this feature was enabled automatically when
I upgraded.</p>

<p>When I travel for work, I book a taxi to the airport ahead of time, and in the
early morning on my travel day, the app notifies me when the taxi is ready to
pick me up. Except this didn&rsquo;t happen after I had upgraded to Android 9. In the
same vein, the airline app notifies me when the online check-in opens. Didn&rsquo;t
happen either. So mine and Android&rsquo;s ideas of &ldquo;using an app&rdquo; are not the same.
I also use the Dropbox app to upload my photos in the background &mdash; also
delayed from the &ldquo;optimization&rdquo;. Luckily, you can stop individual apps from
being optimized. On the other hand, I guess this feature also optimizes tons of
apps that I don&rsquo;t need to run in the background. So it&rsquo;s probably fine after
you have set up your exclusions.</p>

<a name="Digital.Wellbeing"></a>
<h2>Digital Wellbeing</h2>

<p><img class="right" src="http://blog.erw.dk/images/posts/android9_digital_wellbeing.png"></p>

<p>Finally, Android 9 brings the <a href="https://wellbeing.google/">Digital Wellbeing</a> feature which shows you
how much you use your smartphone, and offers you ways to reduce interruptions
and screen time.</p>

<p>It&rsquo;s interesting to see how much I use my smartphone. The picture to the right
is from one of the aforementioned travel days, which brings my usage a bit
higher than usual. But besides the statistics I don&rsquo;t feel that the feature
brings me much. It helps reduce the number of notifications, but I have already
disabled the most nagging notifications myself, including all email
notifications (try it, it&rsquo;s great for your sanity).</p>

<p>It allows you to set time limits for app use, but I have already uninstalled my
time wasters such as the Facebook app. The &ldquo;Wind Down&rdquo; feature helps you go to
bed by enabling Do Not Disturb mode and turning the screen grayscale. I already
have DND and Night Light on a schedule. The grayscale mode is kinda cool, but
I often end up disabling it to see what I&rsquo;m doing.</p>

<p>I think Digital Wellbeing is a good idea, but I already knew that, it seems.
But I could see how many people could benefit from easy access to all these
settings to nudge them into reclaiming a bit of non-phone time.</p>

<p>All in all, Android 9 feels like evolution rather than revolution, but that&rsquo;s
fair. Smartphones themselves were a revolution that started only around ten
years ago, even though they have now invaded our lives. But we might start
seeing some bigger changes to the smartphone market already when next years
<a href="https://www.gsmarena.com/samsung_teases_galaxy_f_foldable_phone_days_before_its_developers_conference-news-34061.php">folds around</a>.</p>
]]></content>
  </entry>
  
</feed>
