-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
625 lines (374 loc) · 29.5 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>elimarshal.com - elimarshal.com</title>
<meta name="description" content="elimarshal.com">
<meta name="author" content="Éli Marshal">
<meta name="generator" content="Hugo 0.133.1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.elimarshal.com/css/furtive.min.css">
<link rel="stylesheet" href="https://www.elimarshal.com/css/menus-min.css">
<link rel="stylesheet" href="https://www.elimarshal.com/css/tables-min.css">
<link rel="stylesheet" href="https://www.elimarshal.com/css/custom.css">
<link rel="stylesheet" href="https://www.elimarshal.com/css/monokai.css">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/android-chrome-192x192.png" sizes="192x192">
<link rel="manifest" href="/manifest.json">
<link rel="alternate" type="application/rss+xml" href="https://www.elimarshal.com/index.xml" title="elimarshal.com" />
</head>
<body>
<div class="header grd grd-row">
<div class="grd-row-col-1-6--md"></div>
<div class="grd-row-col-4-6--md">
<div class="mobile pure-menu pure-menu-horizontal nav-menu">
<a href="https://www.elimarshal.com/" class="site-title pure-menu-heading" id="toggle-home">elimarshal.com</a>
<input type="checkbox" id="toggle" checked hidden>
<label for="toggle" class="menu-btn" id="show-btn">☰</label>
<label for="toggle" class="menu-btn" id="hide-btn">X</label>
<label for="toggle" class="menu-btn" id="hide-btn-fullpage">X</label>
<ul class="pure-menu-list" id="toggle-content">
<li class="pure-menu-item">
<a href="https://www.elimarshal.com/categories/code" class="pure-menu-link">Code</a>
</li>
<li class="pure-menu-item">
<a href="https://www.elimarshal.com/categories/reviews" class="pure-menu-link">Reviews</a>
</li>
<li class="pure-menu-item">
<a href="https://www.elimarshal.com/about" class="pure-menu-link">About</a>
</li>
</ul>
</div>
</div>
<div class="grd-row-col-1-6--md"></div>
</div>
<div class="grd grd-row">
<div class="grd-row-col-1-6--md"></div>
<div class="grd-row-col-4-6--md">
<div class="post-content">
<p class="posts-name">Recent posts:</p>
<ul class="posts">
<li>
<a href="https://www.elimarshal.com/post/sonos-streaming-services-in-canada/">Sonos streaming services in Canada</a>
<p class="footnote">
submitted <time datetime="2018-09-09" class="post-list">2018-09-09</time>
</p>
<p>
<p>2022-02: Last Updated</p>
<p>Sonos lists their streaming services available in Canada at <a href="https://support.sonos.com/s/article/3459?language=en_CA">Streaming Music</a>.</p>
</p>
<p class ="footnote">
<a href="/post/sonos-streaming-services-in-canada/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/amazon-prime-canada-review/">Amazon Prime Canada review</a>
<p class="footnote">
submitted <time datetime="2018-04-21" class="post-list">2018-04-21</time>
to
categories:[ <a href="https://www.elimarshal.com/categories/reviews">reviews</a> ]
</p>
<p>
For years, I’d avoided Amazon Prime, on the basis that its primary benefit — free fast shipping for low dollar-value orders — wasn’t useful to me. I’m patient, and could always wait until I had a large enough order to qualify for free shipping. However, with Microsoft shuttering Groove Music Pass, I was left without a streaming music service. The various alternatives are either ad-supported (a non-starter), or in the $10/month range for a subscription.
</p>
<p class ="footnote">
<a href="/post/amazon-prime-canada-review/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/youtube-red-frustration/">YouTube Red frustration</a>
<p class="footnote">
submitted <time datetime="2018-03-21" class="post-list">2018-03-21</time>
</p>
<p>
<blockquote>
<p><a href="https://www.bloomberg.com/news/articles/2018-03-21/youtube-to-frustrate-some-users-with-ads-so-they-pay-for-music">YouTube Will ‘Frustrate’ Some Users With Ads So They Pay for Music</a></p>
</blockquote>
<blockquote>
<p>YouTube will increase the number of ads that some users see between music videos, part of a strategy to convince more of its billion-plus viewers to pay for a forthcoming subscription music service from the Google-owned video site.</p>
</blockquote>
<blockquote>
<p>“You’re not going to be happy after you are jamming ‘Stairway to Heaven’ and you get an ad right after that,” […]</p>
</blockquote>
<p>I’m not happy when I see ads on my Android phone in the Play Store or in Google Maps. I don’t use YouTube, but I’d gladly pay for a subscription service to remove ads from the non-media (i.e. those other than YouTube or Google Play Music) services tied to my Google Account.</p>
</p>
<p class ="footnote">
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/mobile-carrier-security/">mobile carrier security</a>
<p class="footnote">
submitted <time datetime="2018-03-08" class="post-list">2018-03-08</time>
</p>
<p>
<p>March 1:</p>
<blockquote>
<p><a href="https://www.macrumors.com/2018/03/01/att-verizon-sprint-t-mobile-authentication/">AT&T, Sprint, T-Mobile, and Verizon Detail Plans for ‘Next-Generation Mobile Authentication Platform’</a></p>
</blockquote>
<blockquote>
<p>AT&T, Verizon, Sprint, and T-Mobile announced a team-up with the mission of developing a mobile authentication solution for both businesses and consumers.</p>
</blockquote>
<p>March 5:</p>
<blockquote>
<p><a href="https://arstechnica.com/information-technology/2018/03/even-more-bugs-in-lte-networks-allow-eavesdropping-fake-emergency-messages/">LTE security flaws could be used for spying, spreading chaos</a></p>
</blockquote>
<blockquote>
<p>The security of 4G LTE networks is largely based on obscurity […]</p>
</blockquote>
<blockquote>
<p>In one case, the Purdue and Iowa researchers found that a carrier didn’t encrypt “control plane” messages at all, meaning an attacker could even eavesdrop on SMS messages and other sensitive data.</p>
</blockquote>
<p>And we’re meant to give them <em>more</em> security-critical responsibilities?</p>
</p>
<p class ="footnote">
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/ipad-5th-gen-review/">iPad (5th generation) review</a>
<p class="footnote">
submitted <time datetime="2018-03-02" class="post-list">2018-03-02</time>
to
categories:[ <a href="https://www.elimarshal.com/categories/reviews">reviews</a> ]
</p>
<p>
I’ve had several Android tablets over the years, with the most recent being the Nvidia Shield Tablet, but at this point, the market has been essentially ceded, with Google no longer selling any tablets on their webstore, and a dearth of even first-party Android tablets apps. For a recent trip, I purchased a 128 GB 5th-gen LTE iPad to bring as my sole device.
Ads on the iOS App Store are heinous.
</p>
<p class ="footnote">
<a href="/post/ipad-5th-gen-review/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/google-ends-first-click-free/">Google ranking for publishers</a>
<p class="footnote">
submitted <time datetime="2017-10-14" class="post-list">2017-10-14</time>
</p>
<p>
<blockquote>
<p><a href="https://searchengineland.com/google-first-click-free-replaced-flexible-sampling-283667">Google: First Click Free is over, being replaced by Flexible Sampling</a></p>
</blockquote>
<blockquote>
<p>Publishers will not be required to provide free content to be indexed. Gingras said that Google will be crawling full articles behind the wall for indexing but that publisher decisions about how much content to sample to search users will not impact rankings in any way.</p>
</blockquote>
<p>Not a user-friendly move. Unless I specifically ask for it, I have no interest in seeing paywalled results for my queries.</p>
</p>
<p class ="footnote">
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/buying-a-microwave-in-canada/">buying a microwave in Canada</a>
<p class="footnote">
submitted <time datetime="2016-08-16" class="post-list">2016-08-16</time>
</p>
<p>
<p>I recently went microwave shopping, starting with The Sweethome’s <a href="http://thesweethome.com/reviews/best-microwave/">The Best Microwave</a> guide. GE, in their wisdom, doesn’t sell <em>any</em> of the reviewed models in Canada, making comparison shopping impossible.</p>
</p>
<p class ="footnote">
<a href="/post/buying-a-microwave-in-canada/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/new-nintendo-3ds-xl-first-impressions/">New Nintendo 3DS XL First Impressions</a>
<p class="footnote">
submitted <time datetime="2016-06-05" class="post-list">2016-06-05</time>
to
categories:[ <a href="https://www.elimarshal.com/categories/reviews">reviews</a> ]
</p>
<p>
Having recently acquired a New Nindendo 3DS XL (what kind of name is that?) system to keep my occupied on some upcoming plane trips, I’ve got several thoughts, unbiased by any prior portable console ownership.
Hardware Build Quality: All plastic. Certainly not premium, but solid.
Charger: Non-standard Nintendo plug, system does not include AC adapter. Charger output is 4.6 V, 900 mA. Should have simply been micro-USB. Any future iteration should be USB-C.
</p>
<p class ="footnote">
<a href="/post/new-nintendo-3ds-xl-first-impressions/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/setting-wpf-control-properties-based-on-bound-property-attributes/">setting wpf control properties based on bound property attributes</a>
<p class="footnote">
submitted <time datetime="2015-09-16" class="post-list">2015-09-16</time>
to
categories:[ <a href="https://www.elimarshal.com/categories/code">code</a> ]
</p>
<p>
I was recently working on an MVVM project where various validation attributes were being set on the data model, and was looking for a solution to bind WPF editor control properties to these validation restrictions. (e.g. Setting TextBox.MaxLength based on StringLengthAttribute.)
Combining a couple of Stack Overflow posts:
How to add a Blend Behavior in a Style Setter WPF TextBox MaxLength — Is there any way to bind this to the Data Validation Max Length on the bound field?
</p>
<p class ="footnote">
<a href="/post/setting-wpf-control-properties-based-on-bound-property-attributes/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/sql-limited-range-attribute/">SQL limited range attribute</a>
<p class="footnote">
submitted <time datetime="2015-09-14" class="post-list">2015-09-14</time>
to
categories:[ <a href="https://www.elimarshal.com/categories/code">code</a> ]
</p>
<p>
<p>If you want your .NET property validation attributes to match the exact minimum and maximum values for your SQL decimal and numeric data types, you can do so with a validation attribute that you can apply to properties with <code>[SQLLimitedRangeAttribute](p, s)</code>, where p and s are the precision and scale for the data type.</p>
</p>
<p class ="footnote">
<a href="/post/sql-limited-range-attribute/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/decrapifying-acrobat-reader-dc/">decrapifying Acrobat Reader DC</a>
<p class="footnote">
submitted <time datetime="2015-07-01" class="post-list">2015-07-01</time>
</p>
<p>
<p>In an ideal world I’d simply eschew Adobe products and use <a href="https://wiki.gnome.org/Apps/Evince">Evince</a> and/or <a href="https://mozilla.github.io/pdf.js/">PDF.js</a> for my PDF requirements. Unfortunately I require Adobe’s COM Interop for some Windows development projects I’m involved with. Although Acrobat Reader continues its march towards bloated, big-brother adware, Adobe does provide a customization wizard for enterprise deployments that allows much of cruft to be disabled, which can be used as follows:</p>
</p>
<p class ="footnote">
<a href="/post/decrapifying-acrobat-reader-dc/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/hd-favicons/">HD favicons</a>
<p class="footnote">
submitted <time datetime="2015-06-01" class="post-list">2015-06-01</time>
to
categories:[ <a href="https://www.elimarshal.com/categories/code">code</a> ]
</p>
<p>
Decided to add favicons and touch icons to the site. I’ve got no design skills, so used Jdenticon to generate icons based on my name. RealFaviconGenerator will automatically generate favicons with comprehensive browser and OS support, but I only really care about up to date browsers and operating systems, so I used their FAQ to piece together the requirements for that.
I used Jdenticon to generated large (3200x3200) icon. Then using GIMP, I autocropped edges and scaled to required various sizes as detailed below, each from fullsize and exported as PNG or ICO.
</p>
<p class ="footnote">
<a href="/post/hd-favicons/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/mobile-ad-blocking/">mobile ad blocking</a>
<p class="footnote">
submitted <time datetime="2015-05-25" class="post-list">2015-05-25</time>
</p>
<p>
2016-08: Updated to reflect currently available ad blockers.
This isn’t meant to be a comprehensive guide, but rather a summary of the best available options.
Device Independent Use a hosts file on your linux-based router of choice to block ads across your home network. Not really recommended anymore due to lack of control on individual devices.
Android Use Firefox with uBlock Origin. Nearly as good as desktop browsing, except the uBlock UI isn’t really usable on mobile, so only the default easy mode blocking is practical.
</p>
<p class ="footnote">
<a href="/post/mobile-ad-blocking/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/apple-watch-review/">Apple Watch review</a>
<p class="footnote">
submitted <time datetime="2015-05-23" class="post-list">2015-05-23</time>
to
categories:[ <a href="https://www.elimarshal.com/categories/reviews">reviews</a> ]
</p>
<p>
Summary: It only works with iPhones, so it’s useless to me.
Note that it doesn’t only work with iOS devices, it’s specifically limited to the iPhone; compatibility is articifically limited from both iPads and iPods.
The latest (among several) revisions of either the iPad Pro, iPad Air, iPad Mini, and iPod Touch all meet every possible requirement for the Apple Watch (as established by the minimum supported iPhone 5), the only thing they lack compared to an iPhone are cellular connectivity.
</p>
<p class ="footnote">
<a href="/post/apple-watch-review/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/two-years-with-the-surface-rt/">two years with the Surface RT</a>
<p class="footnote">
submitted <time datetime="2014-12-15" class="post-list">2014-12-15</time>
</p>
<p>
I’ve now owned the original 64 GB Surface RT for just over two years. In that time I’ve probably averaged 20 minutes or so of use per day, including days with no usage, and days with 8+ hours of usage.
My general observations on the device, not intended to be a full review so long after release:
Wear Tablet: Impeccable condition still. The kickstand loosened a couple times, which I retightened with a very small Torx screwdriver.
</p>
<p class ="footnote">
<a href="/post/two-years-with-the-surface-rt/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/google-ties-map-features/">Google ties map features</a>
<p class="footnote">
submitted <time datetime="2014-10-03" class="post-list">2014-10-03</time>
</p>
<p>
Google Maps used to have a nice feature where, when logged in to your Google account, you could add named destinations. Once they were saved, you could type the destination like “work” when looking for directions, and the address would populate automatically, like so:
This was lovely, but some time ago (mid-2013) Google disabled this feature unless you enable Web History to store all of your searches (among other things):
</p>
<p class ="footnote">
<a href="/post/google-ties-map-features/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/goals-vs-dreams/">goals vs dreams</a>
<p class="footnote">
submitted <time datetime="2012-08-14" class="post-list">2012-08-14</time>
</p>
<p>
I recently made a relatively flippant comment to a friend (“I don’t set goals, I just excel at everything.”) and felt the need to elaborate.
There are two main points of contention in how I view goals. The first is purely a semantic issue; I view goals as a clearly achievable, likely set of circumstances achievable by following a certain set of actions. Buying two lottery tickets every week is a goal.
</p>
<p class ="footnote">
<a href="/post/goals-vs-dreams/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/ikea-standing-desk/">IKEA standing desk</a>
<p class="footnote">
submitted <time datetime="2012-02-09" class="post-list">2012-02-09</time>
</p>
<p>
I’d been bouncing around the idea of a standing desk for health/comfort reasons for quite some time, but having a quality desk and chair already, I wasn’t particularly motivated to do anything about it. Finally after moving to a location with an IKEA for the first time in my life, I hit up Google for ways to build a standing desk setup without any power tools.
Eventually I settled on using the IKEA Hackers: Galant Standing Desk post as a basis for my desk.
</p>
<p class ="footnote">
<a href="/post/ikea-standing-desk/">Read More…</a>
</p>
</li>
<li>
<a href="https://www.elimarshal.com/post/pixel-watch-2-impressions/">Pixel Watch 2 Impressions</a>
<p class="footnote">
submitted <time datetime="0001-01-01" class="post-list">0001-01-01</time>
to
categories:[ <a href="https://www.elimarshal.com/categories/reviews">reviews</a> ]
</p>
<p>
Setup Instruction pamphlet in the box says: Let’s get started
Unlock your phone and turn on Bluetooth
Press and hold the crown on your watch for 3 seconds
Follow steps on your phone to finish setup
I do this, once the watch turns on it gets to a screen with a watch icon with an arrow pointing to a phone icon, and in ‘i’ icon. I tap the ‘i’ and get a language selection screen.
</p>
<p class ="footnote">
<a href="/post/pixel-watch-2-impressions/">Read More…</a>
</p>
</li>
</ul>
</div>
</div>
<div class="grd-row-col-1-6--md"></div>
</div>
<div class="footer grd grd-row">
<div class="grd-row-col-1-6--md"></div>
<div class="grd-row-col-4-6--md">
<div class="footer-content">
<div class="pure-menu pure-menu-horizontal footer-content">
<ul>
<li class="pure-menu-heading" id="foot-name">Éli Marshal:</li>
<li class="pure-menu-item">
<a href="https://github.com/EMarshal" target="_blank" class="pure-menu-link social github">GitHub</a>
</li>
<li class="pure-menu-item">
<a href="https://www.elimarshal.com/index.xml" type="application/rss+xml" target="_blank" class="pure-menu-link social feed">Feed</a>
</li>
<li class="pure-menu-item">
<a href="https://www.goodreads.com/user/show/14047206-mars" target="_blank" class="pure-menu-link social goodreads">Goodreads</a>
</li>
</ul>
</div>
</div>
</div>
<div class="grd-row-col-1-6--md"></div>
</div>
</body>
</html>