-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.xml
1784 lines (1436 loc) · 143 KB
/
index.xml
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
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Yo-Dave</title>
<link>https://yo-dave.com/</link>
<description>Recent content on Yo-Dave</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>&copy; 2011-2020, David D. Clark. All rights reserved.</copyright>
<lastBuildDate>Fri, 13 May 2022 16:37:44 -0400</lastBuildDate><atom:link href="https://yo-dave.com/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Blogging Friction (part 2)</title>
<link>https://yo-dave.com/2022/05/13/blogging-friction-part-2/</link>
<pubDate>Fri, 13 May 2022 16:37:44 -0400</pubDate>
<guid>https://yo-dave.com/2022/05/13/blogging-friction-part-2/</guid>
<description>Ironically, after posting about &ldquo;Blogging Friction&rdquo;, I took a break from blogging at all for awhile.
When it came time that there was something I wanted to post about again, things didn&rsquo;t work.
Yet again, things had changed on GitHub and GitHub Pages. First GitHub stopped allowing access via passwords. You had to move to SSH access. Then, for GitHub Pages, you had to add &ldquo;Deploy Tokens&rdquo;, another kind of SSH token.</description>
</item>
<item>
<title>Generating Pseudo-Random Numbers in Scheme</title>
<link>https://yo-dave.com/2022/05/01/generating-pseudo-random-numbers-in-scheme/</link>
<pubDate>Sun, 01 May 2022 10:31:17 -0400</pubDate>
<guid>https://yo-dave.com/2022/05/01/generating-pseudo-random-numbers-in-scheme/</guid>
<description>Recently, I needed to write a simple simulation in multiple programming languages. For the simulations to operate, they needed a source of random numbers from two statistical distributions: a uniform distribution and a standard distribution.
The numbers from the distributions needed to be &ldquo;random&rdquo;, but not too random. I needed each generator in each language to produce the same sequence of &ldquo;pseudo-random&rdquo; numbers. And I needed the same sequence every time the simulators were run.</description>
</item>
<item>
<title>Blogging Friction</title>
<link>https://yo-dave.com/2021/04/07/blogging-friction/</link>
<pubDate>Wed, 07 Apr 2021 12:55:22 -0400</pubDate>
<guid>https://yo-dave.com/2021/04/07/blogging-friction/</guid>
<description>Let&rsquo;s face it. I&rsquo;m an infrequent blogger. But I&rsquo;m not an infrequent writer. So why does the (vast) majority of what I write never make it onto the blog?
The answer is friction. And why is that? Here is my process.
Think of something that I want to write down so I remember it. Realize that what I&rsquo;ve written might be useful to someone else too. (It could happen!) Look at what I have to do in order to get my thoughts from my editor to the blog.</description>
</item>
<item>
<title>File Operations in Scheme</title>
<link>https://yo-dave.com/2021/02/19/file-operations-in-scheme/</link>
<pubDate>Fri, 19 Feb 2021 17:58:30 -0500</pubDate>
<guid>https://yo-dave.com/2021/02/19/file-operations-in-scheme/</guid>
<description>A little word game that I&rsquo;ve been writing requires a list of acceptable words. For the game, acceptable words should be defined similarly to popular word games the player already knows like Scrabble® or Words with Friends. Luckily word lists for such games are readily available.
For my little game, the list from Words with Friends seemed like the best choice. But it has about 175,000 English words. Way to many to use routinely in development.</description>
</item>
<item>
<title>Raw Terminal IO in Scheme</title>
<link>https://yo-dave.com/2020/12/23/raw-terminal-io-in-scheme/</link>
<pubDate>Wed, 23 Dec 2020 16:45:32 -0500</pubDate>
<guid>https://yo-dave.com/2020/12/23/raw-terminal-io-in-scheme/</guid>
<description>Recently I&rsquo;ve written about doing some fairly low-level operations in Scheme, specifically how to get the window size of a terminal where the program is running. This was part of a little project to write a simple terminal-based text editor in Scheme along the lines of the kilo editor by following a tutorial entitled &ldquo;Build Your Own Text Editor&rdquo;.
Another part of that project that was surprisingly difficult to accomplish in Scheme was putting the terminal in &ldquo;raw&rdquo; mode.</description>
</item>
<item>
<title>Getting the Terminal Window Size using Scheme</title>
<link>https://yo-dave.com/2020/12/21/getting-the-terminal-window-size-using-scheme/</link>
<pubDate>Mon, 21 Dec 2020 17:40:44 -0500</pubDate>
<guid>https://yo-dave.com/2020/12/21/getting-the-terminal-window-size-using-scheme/</guid>
<description>Doing some experimenting with the Scheme programming language recently has been a lot of fun. It&rsquo;s even simpler in most ways than Clojure.
As part of that experimentation, I&rsquo;ve been looking into implementing a simple, terminal-based text editor along the lines of kilo by following along with the tutorial series &ldquo;Build Your Own Text Editor&rdquo;.
Working through those tutorials, one of the first things that smacks you in the face is just how low-level the C programming language is and how very different it feels when compared to Scheme or, really, any other Lisp variant.</description>
</item>
<item>
<title>Using Clojure to Delete Directories Containing Symlinks</title>
<link>https://yo-dave.com/2020/07/24/using-clojure-to-delete-directories-containing-symlinks/</link>
<pubDate>Fri, 24 Jul 2020 10:17:45 -0400</pubDate>
<guid>https://yo-dave.com/2020/07/24/using-clojure-to-delete-directories-containing-symlinks/</guid>
<description>As part of repository maintenance, I often use a script to delete a group of directories, even if those directories are not empty. It looks something like this:
(require &#39;[clojure.java.io :as io]) . . . (defn delete-children-recursively! [f] &#34;Given a file, delete it. If the file is a directory delete its contents first. This version does not handle symlinks.&#34; (when (.isDirectory f) (doseq [f2 (.listFiles f)] (delete-children-recursively!</description>
</item>
<item>
<title>Counting Words in a Markdown File</title>
<link>https://yo-dave.com/2020/06/15/counting-words-in-a-markdown-file/</link>
<pubDate>Mon, 15 Jun 2020 15:50:09 -0400</pubDate>
<guid>https://yo-dave.com/2020/06/15/counting-words-in-a-markdown-file/</guid>
<description>I wanted to add an estimate of words and characters in wiki pages for a program I am writing CWiki There was some guidance on this topic (in Python) here.
Of course the original Markdown.pl was a good source for matching regular expressions too.
What follows is a copy of the &ldquo;seed page&rdquo; &ldquo;About the Word Count&rdquo; from the CWiki wiki program:
Begin Quote
Up at the top of each page, below the author and creation/modification dates, there is a line showing the number of characters in the page along with an estimate of the number of words in the page.</description>
</item>
<item>
<title>Why EDN?</title>
<link>https://yo-dave.com/2020/02/05/why-edn/</link>
<pubDate>Wed, 05 Feb 2020 11:09:06 -0500</pubDate>
<guid>https://yo-dave.com/2020/02/05/why-edn/</guid>
<description>Anyone who looks into my experimental outliner with notes, clown, is sure to notice that the native data format is EDN (Extensible Data Notation).
The canonical data representation for outlines is OPML (Outline Processor Markup Language) and it is well suited for that purpose. It&rsquo;s a dialect of XML especially adapted to outliners.
So, why use EDN? Rich Hickey gives a good rationale at the link above. But for me it boils down to a few things.</description>
</item>
<item>
<title>Undo/Redo with Clojure using the Memento Pattern</title>
<link>https://yo-dave.com/2020/01/05/undo/redo-with-clojure-using-the-memento-pattern/</link>
<pubDate>Sun, 05 Jan 2020 17:27:07 -0500</pubDate>
<guid>https://yo-dave.com/2020/01/05/undo/redo-with-clojure-using-the-memento-pattern/</guid>
<description>Because of the ability to attach &ldquo;watch&rdquo; functions to Clojure atoms, it is very easy to create and use a simple undo/redo mechanism.
The approach is to create a stack that holds every change to the state of the atom, as detected by a watch function. To undo something you just pop the last state off the stack. You can repeat it until you recover the original state of the atom as it existed when you attached the watch function.</description>
</item>
<item>
<title>clown -- A Clojure/Script Outliner with Notes</title>
<link>https://yo-dave.com/2020/01/05/clown--a-clojure/script-outliner-with-notes/</link>
<pubDate>Sun, 05 Jan 2020 09:39:38 -0500</pubDate>
<guid>https://yo-dave.com/2020/01/05/clown--a-clojure/script-outliner-with-notes/</guid>
<description>Questions about note-taking are very popular on Hacker News. I am always interested in the responses. It seems like developers are always interested in the best tools and methodologies. Me too.
I&rsquo;ve been researching and using different approaches for decades. Over all that time, I&rsquo;ve written thousands of notes, both short and long. Most notes become uninteresting after awhile and are just erased. But thousands have persisted for many years because I still refer to them.</description>
</item>
<item>
<title>Setting Up Remote Repositories for Mercurial</title>
<link>https://yo-dave.com/2019/08/25/setting-up-remote-repositories-for-mercurial/</link>
<pubDate>Sun, 25 Aug 2019 12:10:31 -0400</pubDate>
<guid>https://yo-dave.com/2019/08/25/setting-up-remote-repositories-for-mercurial/</guid>
<description>With the recent announcement that Bitbucket is &ldquo;sunsetting&rdquo; Mercurial support, I&rsquo;ve been looking at ways of hosting remote copies of my repositories on my own.
In the short term, I have just cloned my repositories from Bitbucket onto a Raspberry Pi 4 sitting behind my home desktop. I use Pi to run a River of News aggregator for my family. It has plenty of capacity for a task like this.</description>
</item>
<item>
<title>Letting the User Change the Sidebar Width in CWiki</title>
<link>https://yo-dave.com/2019/06/27/letting-the-user-change-the-sidebar-width-in-cwiki/</link>
<pubDate>Thu, 27 Jun 2019 16:51:20 -0400</pubDate>
<guid>https://yo-dave.com/2019/06/27/letting-the-user-change-the-sidebar-width-in-cwiki/</guid>
<description>Recently, I&rsquo;ve been working on what I thought was a simple feature &ndash; changing the width of the sidebar in the CWiki wiki program.
There were two ways the user could do it.
First, they could set it manually in the &ldquo;Preferences&rdquo; page.
Second, and more naturally in my opinion, they could use the mouse to drag the separator between the sidebar and the main article area to the location they wanted it.</description>
</item>
<item>
<title>Detecting from a Web Client Whether a Particular Font is Installed</title>
<link>https://yo-dave.com/2019/06/03/detecting-from-a-web-client-whether-a-particular-font-is-installed/</link>
<pubDate>Mon, 03 Jun 2019 17:31:32 -0400</pubDate>
<guid>https://yo-dave.com/2019/06/03/detecting-from-a-web-client-whether-a-particular-font-is-installed/</guid>
<description>Sometimes, a web client just needs to know what font it is using. The use cases may vary, but when you need it, you need it.
In my own case, I have a tag editing component for my personal wiki. The component allows entry of any number of tags. It also changes the size of the input as the user types in the text, getting smaller when characters are deleted or larger when new characters are entered.</description>
</item>
<item>
<title>Displaying Video from a Webcam using Clojurescript and Reagent</title>
<link>https://yo-dave.com/2019/05/13/displaying-video-from-a-webcam-using-clojurescript-and-reagent/</link>
<pubDate>Mon, 13 May 2019 08:22:29 -0400</pubDate>
<guid>https://yo-dave.com/2019/05/13/displaying-video-from-a-webcam-using-clojurescript-and-reagent/</guid>
<description>As part of a book cataloging project, I want to be able to use a webcam on a desktop or laptop to scan ISBN (International Standard Book Number) numbers from the jackets of physical books. This isn&rsquo;t quite as easy as scanning barcodes with a phone or tablet because of focus, magnification, and depth of field characteristics of desktop and laptop cameras. (Or so I&rsquo;m told. I really don&rsquo;t know much about it yet.</description>
</item>
<item>
<title>My Note-Taking Journey</title>
<link>https://yo-dave.com/2019/01/06/my-note-taking-journey/</link>
<pubDate>Sun, 06 Jan 2019 14:55:42 -0500</pubDate>
<guid>https://yo-dave.com/2019/01/06/my-note-taking-journey/</guid>
<description>I&rsquo;m surprised by how often questions like this come up on HN, but I always find the responses interesting and educational.
What I Want Non-negotiable items include:
Low Friction: A little initial setup is ok, but just taking a note should require no more than a click or two (whether clicking a mouse or a pen). Open source. Aesthetically Pleasing: I&rsquo;m tired of looking at ugly stuff. Has to handle LaTex.</description>
</item>
<item>
<title>Wiki Layout for Editing</title>
<link>https://yo-dave.com/2018/10/23/wiki-layout-for-editing/</link>
<pubDate>Tue, 23 Oct 2018 16:05:29 -0400</pubDate>
<guid>https://yo-dave.com/2018/10/23/wiki-layout-for-editing/</guid>
<description>Update: 2018-12-15 This post substantially updates the original. The most significant changes are that the layout now works as expected - no partial success.
A few weeks ago, I wrote a post about a wiki layout for reading. I used that project to experiment with improvements to the reading view of CWiki, a personal wiki that I am writing. I used the lessons learned in the project described in that post to make some changes to CWiki.</description>
</item>
<item>
<title>Wiki Layout for Reading</title>
<link>https://yo-dave.com/2018/09/23/wiki-layout-for-reading/</link>
<pubDate>Sun, 23 Sep 2018 13:20:23 -0400</pubDate>
<guid>https://yo-dave.com/2018/09/23/wiki-layout-for-reading/</guid>
<description>As many of you know, I&rsquo;ve been working on a personal wiki for some time now. (See the CWiki repository.) In fact, I&rsquo;m using it to write this post. It&rsquo;s very comfortable for me.
One of the things I have been trying to get absolutely right (for me at least) is the layout. There are really only two layouts; one is for the &ldquo;reading&rdquo; view, the other for the &ldquo;editing&rdquo; view.</description>
</item>
<item>
<title>Writing a flexmark Extension in Clojure</title>
<link>https://yo-dave.com/2018/09/16/writing-a-flexmark-extension-in-clojure/</link>
<pubDate>Sun, 16 Sep 2018 10:10:08 -0400</pubDate>
<guid>https://yo-dave.com/2018/09/16/writing-a-flexmark-extension-in-clojure/</guid>
<description>Writing wiki pages using Markdown is a great way to do things because it is simple, well-known, and capable.
One of the annoyances of using Markdown is that it has no default syntax to create wikilinks, a type of hyperlink that links one page in a wiki to another.
I&rsquo;ve been working on a home-grown, personal wiki, CWiki, for almost a year now off and on. It&rsquo;s written in the Clojure programming language, which is a pleasure to use.</description>
</item>
<item>
<title>Stuart Sierras Component System</title>
<link>https://yo-dave.com/2018/08/13/stuart-sierras-component-system/</link>
<pubDate>Mon, 13 Aug 2018 15:34:09 -0400</pubDate>
<guid>https://yo-dave.com/2018/08/13/stuart-sierras-component-system/</guid>
<description>Starting the implementation of user options (preferences) in CWiki (a personal wiki program) got me thinking about refactoring the project into a shape that is more compatible with Stuart Sierras reloaded workflow. Naturally, that led to thinking about his component architecture. Here are some more resources related to the component architecture.
Stuart has a blog post about his reloaded workflow, linked above. The component code repository is on Github here.</description>
</item>
<item>
<title>De-Tabifying</title>
<link>https://yo-dave.com/2018/08/12/de-tabifying/</link>
<pubDate>Sun, 12 Aug 2018 13:36:36 -0400</pubDate>
<guid>https://yo-dave.com/2018/08/12/de-tabifying/</guid>
<description>There is probably no more boring task in programming than processing a file to replace tabs with spaces or doing the reverse and replacing spaces with tabs. And yet it has started religious wars that have raged for years in various programming communities.
This &ldquo;tabifying&rdquo; or &ldquo;de-tabifying&rdquo; is not something I have to do frequently, but every once in a while, I need to convert tabs to spaces in some text.</description>
</item>
<item>
<title>Autosave Functionality in ClojureScript</title>
<link>https://yo-dave.com/2018/08/01/autosave-functionality-in-clojurescript/</link>
<pubDate>Wed, 01 Aug 2018 15:56:32 -0400</pubDate>
<guid>https://yo-dave.com/2018/08/01/autosave-functionality-in-clojurescript/</guid>
<description>Most programs provide an &ldquo;Autosave&rdquo; feature these days. The feature gives the user a chance to minimize the amount of work lost due to some unforeseen mishap, like a sudden power outage.
When I write a program in Clojure that requires such a feature, I have the entire Java library at my disposal. I usually create something based on a ScheduledExecutorService &ndash; something that watches for a change in the document then allows a certain amount of user inactivity to pass before automatically saving the document.</description>
</item>
<item>
<title>Note-Taking</title>
<link>https://yo-dave.com/2018/07/15/note-taking/</link>
<pubDate>Sun, 15 Jul 2018 16:47:36 -0400</pubDate>
<guid>https://yo-dave.com/2018/07/15/note-taking/</guid>
<description>Changing jobs in 2005 caused me to switch from taking notes on paper to doing it electronically.
My new employer provided a tablet PC with a stylus running Windows and OneNote. Taking notes on that system with excellent handwriting recognition was a revelation. The tablet was pretty clunky by today&rsquo;s standards, but it worked well. It was particularly useful for generating meeting notes in real time and projecting them during meetings.</description>
</item>
<item>
<title>Moving Away from Collate Notes</title>
<link>https://yo-dave.com/2018/07/14/moving-away-from-collate-notes/</link>
<pubDate>Sat, 14 Jul 2018 10:07:00 -0400</pubDate>
<guid>https://yo-dave.com/2018/07/14/moving-away-from-collate-notes/</guid>
<description>Collate Notes has received my praise in the past. I even paid for it. Shortly after that unusual event, development seems to have stopped. And it still has numerous shortcomings. The most annoying problem is that periodically, it says my trial period has run out, and I need to enter the activation code (again). And since it&rsquo;s closed-source, I have no recourse but to submit bugs and make feature requests to a developer who seems to have gone silent.</description>
</item>
<item>
<title>The Best Coffee Roasters</title>
<link>https://yo-dave.com/2018/07/14/the-best-coffee-roasters/</link>
<pubDate>Sat, 14 Jul 2018 09:44:34 -0400</pubDate>
<guid>https://yo-dave.com/2018/07/14/the-best-coffee-roasters/</guid>
<description>There was an article that I came across recently that listed the 25 &ldquo;best&rdquo; coffee roasters in America. The report included lots of companies I had never heard of and only a few of the ones I believe rank up there with the best.
As you may know, I have some opinions about coffee, mostly that it is about flavor, not caffeine. Also, I strongly prefer specific methods of preparation to others.</description>
</item>
<item>
<title>Using Caddy Server as a Proxy for a Web App using Sente WebSockets</title>
<link>https://yo-dave.com/2018/07/04/using-caddy-server-as-a-proxy-for-a-web-app-using-sente-websockets/</link>
<pubDate>Wed, 04 Jul 2018 09:49:16 -0400</pubDate>
<guid>https://yo-dave.com/2018/07/04/using-caddy-server-as-a-proxy-for-a-web-app-using-sente-websockets/</guid>
<description>I created a simple web app, called clajistan.
Purpose The purpose of creating the app was two-fold.
I wanted to have a little app to act as a &ldquo;placeholder&rdquo; on a very lightly used virtual server. To learn how to use WebSockets (sente) behind a proxy server (Caddy). Desired Performance The program displays a simple web page, written in ClojureScript, with a few statistics about the server, written in Clojure:</description>
</item>
<item>
<title>Closing Branches in Mercurial</title>
<link>https://yo-dave.com/2018/06/09/closing-branches-in-mercurial/</link>
<pubDate>Sat, 09 Jun 2018 16:47:43 -0400</pubDate>
<guid>https://yo-dave.com/2018/06/09/closing-branches-in-mercurial/</guid>
<description>As a lone developer, I have a workflow that I believe is pretty typical.
Most of my development work happens on the &ldquo;tip&rdquo; of the &ldquo;default&rdquo; branch. It&rsquo;s just easier to do work on fixing small bugs or adding minor features there.
For more significant, more difficult pieces of work, I usually create a &ldquo;feature branch.&rdquo; I do this with the expectation that if things get messed up too badly, I can delete the branch and start over without affecting the readiness of the default branch.</description>
</item>
<item>
<title>CWiki-Next</title>
<link>https://yo-dave.com/2018/05/01/cwiki-next/</link>
<pubDate>Tue, 01 May 2018 09:38:50 -0400</pubDate>
<guid>https://yo-dave.com/2018/05/01/cwiki-next/</guid>
<description>For the past few months, I&rsquo;ve been beating my head against a brick wall. The problem was that I was trying to get an all-server-side wiki built using Clojure.
It actually works pretty well. I&rsquo;ve been using it for personal information for months now. It works well except for one aspect, arguably the most important &ndash; editing new or existing content is not that pleasant.
It&rsquo;s all a variation of Markdown, which is nice.</description>
</item>
<item>
<title>Notes on ClojureScript Regular Expressions</title>
<link>https://yo-dave.com/2018/04/20/notes-on-clojurescript-regular-expressions/</link>
<pubDate>Fri, 20 Apr 2018 10:14:36 -0400</pubDate>
<guid>https://yo-dave.com/2018/04/20/notes-on-clojurescript-regular-expressions/</guid>
<description>There&rsquo;s an old saying about regular expressions &ndash; paraphrasing: &ldquo;If you try to solve a problem with regular expressions, you then have two problems.&rdquo;
Even though regular expressions are present in most programming languages, I have never become particularly proficient with them. Those that I am most familiar with are the Java version. Since ClojureScript compiles to JavaScript and runs without the Java underpinnings, it&rsquo;s version of regular expressions are different.</description>
</item>
<item>
<title>Using Anonymous Functions in the Clojure/Script Thrush Macro</title>
<link>https://yo-dave.com/2018/04/15/using-anonymous-functions-in-the-clojure/script-thrush-macro/</link>
<pubDate>Sun, 15 Apr 2018 11:48:25 -0400</pubDate>
<guid>https://yo-dave.com/2018/04/15/using-anonymous-functions-in-the-clojure/script-thrush-macro/</guid>
<description>The other day, I was putting together a sequence of operations to transform one piece of text into another form of that same text. The functions took a text argument, and the result was a slightly tweaked version. Put all those functions together to get the fully transformed result.
What could be more natural than to string those pieces of code together with one of Clojure&rsquo;s threading macros: &lsquo;-&gt;&rsquo; or &lsquo;-&raquo;.</description>
</item>
<item>
<title>Restart River5 after Reboot with PM2</title>
<link>https://yo-dave.com/2018/03/28/restart-river5-after-reboot-with-pm2/</link>
<pubDate>Wed, 28 Mar 2018 10:06:21 -0400</pubDate>
<guid>https://yo-dave.com/2018/03/28/restart-river5-after-reboot-with-pm2/</guid>
<description>I run a River5 &ldquo;River of News&rdquo; on a Raspberry Pi wirelessly connected to my internal home network. Sometimes, the power fluctuates, and the Pi reboots. I want to have River5 restart when the system comes back up.
There are lots of ways to restart stuff on Linux. (I am running Raspian GNU/Linux 8.0.) The process manager I use is PM2 &ndash; mostly because it knows Nodejs. River5 is written for Node.</description>
</item>
<item>
<title>New Blogging Setup</title>
<link>https://yo-dave.com/2018/03/26/new-blogging-setup/</link>
<pubDate>Mon, 26 Mar 2018 10:09:24 -0400</pubDate>
<guid>https://yo-dave.com/2018/03/26/new-blogging-setup/</guid>
<description>It&rsquo;s been a bit of a slog, but things should be up and running again. The transition was a bit harder than expected.
Here are some things you should know:
The site is generated by the Hugo static site generator. The site uses a trivial modification of the very pleasant Blackburn theme. There are still some kinks I want to work out, but it is very useful overall. The repository for the site is on GitHub here and is generated from the information in the repository here.</description>
</item>
<item>
<title>So Many Broken Links</title>
<link>https://yo-dave.com/2018/03/17/so-many-broken-links/</link>
<pubDate>Sat, 17 Mar 2018 13:24:20 -0400</pubDate>
<guid>https://yo-dave.com/2018/03/17/so-many-broken-links/</guid>
<description>As noted in yesterday&rsquo;s blog, I&rsquo;m making a sweep through my previous posts trying to fix links that have broken over the years. This is in preparation for switching to another blogging platform.
I find that the rot even creeps into the README.md files in my own code repositories. Many of them refer back to descriptions of the repositories posted to no longer existing versions of the blog.
I&rsquo;ll fix those as soon as I can.</description>
</item>
<item>
<title>Bit Rot</title>
<link>https://yo-dave.com/2018/03/16/bit-rot/</link>
<pubDate>Fri, 16 Mar 2018 09:41:04 -0400</pubDate>
<guid>https://yo-dave.com/2018/03/16/bit-rot/</guid>
<description>Every once in awhile, I change blogging platforms. Recently I have been working on a switch to Hugo. Whenever I go through this exercise, I religiously check for broken links. There are always plenty.
Most of the time, when broken links are found, I can find a replacement. Sometimes not though. Sometimes something is just gone. No new address. No record in the Internet Archive Wayback Machine. Just gone.
I know I&rsquo;m contributing to this myself by changing hosts and blogging platforms.</description>
</item>
<item>
<title>Contact Information</title>
<link>https://yo-dave.com/contact/contact-information/</link>
<pubDate>Wed, 07 Mar 2018 17:32:57 -0500</pubDate>
<guid>https://yo-dave.com/contact/contact-information/</guid>
<description>This is some contact information.</description>
</item>
<item>
<title>Contact Information</title>
<link>https://yo-dave.com/contact/contact/</link>
<pubDate>Wed, 07 Mar 2018 17:32:57 -0500</pubDate>
<guid>https://yo-dave.com/contact/contact/</guid>
<description>If you are trying to contact me, you will have a hard time at the moment. I don&rsquo;t use social media. And I&rsquo;m fiddling with different email services right now. And I don&rsquo;t usually check my email very often. May clear this up later.</description>
</item>
<item>
<title>About This Blog</title>
<link>https://yo-dave.com/about/about/</link>
<pubDate>Wed, 07 Mar 2018 17:31:11 -0500</pubDate>
<guid>https://yo-dave.com/about/about/</guid>
<description>Hi! My name is David Clark (one of many, I’m afraid.)
This site is just a place for me to write down things I find interesting or to capture notes about things I’m likely to forget.
I&rsquo;ve been blogging for awhile. I&rsquo;ve used a lot of blogging software and hosted things in many places. This site consolidates those posts back to 2011. Since things came here from multiple other blogs, you might see multiple posts talking about the same thing.</description>
</item>
<item>
<title>A Timestamp Plugin for Sublime Text 3</title>
<link>https://yo-dave.com/2018/02/10/a-timestamp-plugin-for-sublime-text-3/</link>
<pubDate>Sat, 10 Feb 2018 10:16:57 -0500</pubDate>
<guid>https://yo-dave.com/2018/02/10/a-timestamp-plugin-for-sublime-text-3/</guid>
<description>Since switching from Windows to a Mac in the middle of developing a new wiki, I lost access to the MarkdownPad Markdown editor &ndash; it&rsquo;s Windows only. One of the nice features of MarkdownPad was the ability to insert a timestamp easily. It&rsquo;s what I used to insert the creation date and the time of the last modification.
Since the switch, I&rsquo;ve been using Sublime Text 3 as my editor for Markdown files.</description>
</item>
<item>
<title>Another Useful Function -- convert-seq-to-comma-separated-string</title>
<link>https://yo-dave.com/2018/01/19/another-useful-function--convert-seq-to-comma-separated-string/</link>
<pubDate>Fri, 19 Jan 2018 14:32:49 +0000</pubDate>
<guid>https://yo-dave.com/2018/01/19/another-useful-function--convert-seq-to-comma-separated-string/</guid>
<description>This is a little note about a function I find myself using frequently in Clojure.
User interface code often needs to display a list of things as a comma-separated list, e.g. &ldquo;a, b, c, d&rdquo;.
If all of the things are strings, you can use the built-in string/join function to build such a string. When you have a sequence of things that are not strings, I suppose you could convert each element to a string and then use string/join.</description>
</item>
<item>
<title>sorted-set-by</title>
<link>https://yo-dave.com/2018/01/19/sorted-set-by/</link>
<pubDate>Fri, 19 Jan 2018 13:49:13 +0000</pubDate>
<guid>https://yo-dave.com/2018/01/19/sorted-set-by/</guid>
<description>This is just a little note about one of my favorite datatypes in Clojure.
Like most Lisps, Clojure has a very useful group of datatypes built in including some set types. I use sorted-set a lot. Until recently, I hadn&rsquo;t noticed sorted-set-by, a function that returns a sorted set using a comparator you specify. I found myself needing to create a sorted set of strings where the sorting was case-insensitive. The sorted-set-by function was exactly what I needed.</description>
</item>
<item>
<title>A New Version of the Confidence Interval Program</title>
<link>https://yo-dave.com/2017/09/13/a-new-version-of-the-confidence-interval-program/</link>
<pubDate>Wed, 13 Sep 2017 17:18:01 +0000</pubDate>
<guid>https://yo-dave.com/2017/09/13/a-new-version-of-the-confidence-interval-program/</guid>
<description>Recently, I wrote about updating an old program that did the Sign Test. Well, I have lots of old programs that could stand a bit of refreshing.
Another of the simple ones calculates the confidence interval around the proportion of successes in a series of Bernoulli trials. I wrote about it way back in 2011. The original was written in Java and Swing many years ago. It is still available in a repository on Bitbucket.</description>
</item>
<item>
<title>Spell Checking in the Editor Changes the Way I Name Things</title>
<link>https://yo-dave.com/2017/08/31/spell-checking-in-the-editor-changes-the-way-i-name-things/</link>
<pubDate>Thu, 31 Aug 2017 14:16:24 +0000</pubDate>
<guid>https://yo-dave.com/2017/08/31/spell-checking-in-the-editor-changes-the-way-i-name-things/</guid>
<description>While editing some program text recently, I noticed myself doing something weird. I do most of my programming in Clojure these days. I mostly use IntelliJ IDEA with the Cursive plugin for Clojure. This turns out to be a great way to develop.
One of the (many) things I love about IntelliJ IDEA is that it does spell checking in my code. Stops me looking (so much) like an idiot when I misspell stuff in comments.</description>
</item>
<item>
<title>A Titled JavaFX Separator</title>
<link>https://yo-dave.com/2017/08/31/a-titled-javafx-separator/</link>
<pubDate>Thu, 31 Aug 2017 13:50:58 +0000</pubDate>
<guid>https://yo-dave.com/2017/08/31/a-titled-javafx-separator/</guid>
<description>In the process of updating some old programs, I had to change the GUI frameworks used. The old programs were written in Java using the Swing GUI framework and the JGoodies Forms and Looks libraries. Nowadays, the official GUI framework for Java is JavaFX.
Making the transition from Swing to JavaFX was relatively painless because the programs were so small. However, one of the things I missed from the JGoodies Forms library was the &ldquo;titled separator&rdquo;, that is a separator with a label in front of it.</description>
</item>
<item>
<title>An Updated Sign Test Program</title>
<link>https://yo-dave.com/2017/08/31/an-updated-sign-test-program/</link>
<pubDate>Thu, 31 Aug 2017 13:05:51 +0000</pubDate>
<guid>https://yo-dave.com/2017/08/31/an-updated-sign-test-program/</guid>
<description>Long ago, I wrote a post about a small program to calculate the probabilities of a sign test.
A lot has happened since then.
The sign test is still useful to me on occasion, but the application framework used to write the original program is now unsupported. Too, the original program used Java&rsquo;s Swing framework for the GUI. The new official GUI framework for Java is JavaFX.
So I&rsquo;ve updated the program a bit.</description>
</item>
<item>
<title>Proofreading: I am Humbled</title>
<link>https://yo-dave.com/2017/08/25/proofreading-i-am-humbled/</link>
<pubDate>Fri, 25 Aug 2017 14:15:45 +0000</pubDate>
<guid>https://yo-dave.com/2017/08/25/proofreading-i-am-humbled/</guid>
<description>Often, when reading blogs, I am struck by the number of misspellings, incorrect word usages, bad grammar, and so on.
But the experience of transferring this blog from other systems to it&rsquo;s current home has been an eye opener. I proofread my posts, usually multiple times. However, in doing so I was struck by the number of misspellings, incorrect word usages, bad grammar, and so on.
I am humbled (in the real sense of the word.</description>
</item>
<item>
<title>Getting Images to Load and Preview in Hexo</title>
<link>https://yo-dave.com/2017/08/20/getting-images-to-load-and-preview-in-hexo/</link>
<pubDate>Sun, 20 Aug 2017 13:55:37 +0000</pubDate>
<guid>https://yo-dave.com/2017/08/20/getting-images-to-load-and-preview-in-hexo/</guid>
<description>As part of the work of transferring old blog posts from other systems (mostly WordPress) to Hexo, I hit a bump when trying to use images in the new posts.
There are basically two recommended ways to access images in Hexo.
Put a new sub-directory, say images in your Hexo source directory. Put your images in your new directory. In your posts, use the usual Markdown method of linking to images, that is something like !</description>
</item>
<item>
<title>Turns Out My Hosting Company **was** a Scam</title>
<link>https://yo-dave.com/2017/08/16/turns-out-my-hosting-company-was-a-scam/</link>
<pubDate>Wed, 16 Aug 2017 13:10:49 +0000</pubDate>
<guid>https://yo-dave.com/2017/08/16/turns-out-my-hosting-company-was-a-scam/</guid>
<description>Way back in 2014, I wrote a post asking whether my new hosting company, CloudAtCost was a scam. Back then, I concluded that they were not.
Fast forward to now, and it turns out they were a scam after all.
Back in June they started sending me notices about not having paid a fee for &ldquo;Maintenance&rdquo;. They threatened to shut down and erase all my stuff at some unspecified time in the near future if I didn&rsquo;t pay up.</description>
</item>
<item>
<title>First Light</title>
<link>https://yo-dave.com/2017/08/15/first-light/</link>
<pubDate>Tue, 15 Aug 2017 14:03:02 +0000</pubDate>
<guid>https://yo-dave.com/2017/08/15/first-light/</guid>
<description>First light with a new blogging platform.
My hosting vendors have been playing games with me. They offer terrific prices to new customers to start using them. But the loyal folks who have been using them for years get nothing &ndash; except maybe a price increase. Not cool.
So, I&rsquo;m looking into hosting my blog for free on GitHub Pages. It even provides HTTPS out of the box. No configuring certificates or any of that stuff.</description>
</item>
<item>
<title>More Note-Taking Goodness - Collate</title>
<link>https://yo-dave.com/2017/05/16/more-note-taking-goodness-collate/</link>
<pubDate>Tue, 16 May 2017 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2017/05/16/more-note-taking-goodness-collate/</guid>
<description>Last time, I wrote about some of the really nice note-taking apps available nowadays. Since then, I&rsquo;ve come across another great one I just had to tell you about: Collate.
It has just about everything I could want. I&rsquo;ll let you read about all of its features on its web site, but some of the things I like most include:
It&rsquo;s cross-platform, capable of running on Windows, MacOS, and Linux.</description>
</item>
<item>
<title>Leiningen passing Invalid Flags to Java Compiler</title>
<link>https://yo-dave.com/2017/05/14/leiningen-passing-invalid-flags-to-java-compiler/</link>
<pubDate>Sun, 14 May 2017 09:54:13 +0000</pubDate>
<guid>https://yo-dave.com/2017/05/14/leiningen-passing-invalid-flags-to-java-compiler/</guid>
<description>Just a note about some weirdness in my work process and it’s solution.
A few weeks ago, I started noticing some weirdness in trying to use some tools with Leiningen while developing a program in Clojure. When running tools like kibit, lein would fail with an error from javac about an invalid flag. Initially these flags were for attempts to set the file encoding. And the file encoding kept changing.</description>
</item>
<item>
<title>Rant About JavaFX Ecosystem</title>
<link>https://yo-dave.com/2017/04/22/rant-about-javafx-ecosystem/</link>
<pubDate>Sat, 22 Apr 2017 14:30:27 +0000</pubDate>
<guid>https://yo-dave.com/2017/04/22/rant-about-javafx-ecosystem/</guid>
<description>Feeling a bit frustrated today, so I thought I would just vent a bit.
I’ve been working on some personal tools. I see some things in other tools that I would like to include in my own. I keep finding that those features that I like are written in JavaScript with that whole mess of an ecosystem. When I look for something similar in Java/JavaFX I find next to nothing.</description>
</item>
<item>
<title>An Embarrassment of Riches for Note-Taking</title>
<link>https://yo-dave.com/2017/04/03/an-embarrassment-of-riches-for-note-taking/</link>
<pubDate>Mon, 03 Apr 2017 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2017/04/03/an-embarrassment-of-riches-for-note-taking/</guid>
<description>Ever since dumping Evernote, I&rsquo;ve been looking at alternative note-taking apps. I&rsquo;ve been usingtiddlywiki, but, surprisingly, it has grown a bit slow. Probably from the sheer volume of notes that I&rsquo;ve imported from Evernote. Maybe time to look some more?
I&rsquo;ve also been writing a lot of program documentation in Markdown. I like the wiki format just fine, but it seems like Markdown can do more. Both markup languages have a plethora of dialects, usually incompatible.</description>
</item>
<item>
<title>Vendor Games with Subscriptions</title>
<link>https://yo-dave.com/2017/03/04/vendor-games-with-subscriptions/</link>
<pubDate>Sat, 04 Mar 2017 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2017/03/04/vendor-games-with-subscriptions/</guid>
<description>I have subscriptions to a number of services, not just magazines. These include things like computer programs, hosting services, home supplies, groceries and so on. I&rsquo;m sure vendors love this.
Within the past two weeks though, I have canceled three subscriptions when the vendor started playing games at renewal time. It usually went down like this:
I get notification of a renewal at an (often substantially) increased price. Increases of 30%+ are not uncommon.</description>
</item>
<item>
<title>More Whinging about CloudAtCost</title>
<link>https://yo-dave.com/2017/02/01/more-whinging-about-cloudatcost/</link>
<pubDate>Wed, 01 Feb 2017 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2017/02/01/more-whinging-about-cloudatcost/</guid>
<description>I&rsquo;ve written about my love/hate relationship with CloudAtCost before here and here. In essence, I like the low cost but hate the poor reliability.
At one time I had seven web sites up and running on servers bought from CloudAtCost, including this one. But over a period of weeks and months they all failed for one reason or another. Some of the failures could be fixed with a ticket to tech support.</description>
</item>
<item>
<title>Keeping the JavaFX UI Responsive</title>
<link>https://yo-dave.com/2017/01/30/keeping-the-javafx-ui-responsive/</link>
<pubDate>Mon, 30 Jan 2017 16:45:26 +0000</pubDate>
<guid>https://yo-dave.com/2017/01/30/keeping-the-javafx-ui-responsive/</guid>
<description>It&rsquo;s common knowledge that the JavaFX user interface toolkit is single-threaded. When your JavaFX-based program is doing things that can take some time, you need to run those tasks on a separate thread(s) to keep the interface responsive.
Recently, I&rsquo;ve been working on a program that can spend a lot of time reading and writing to the disk, but at the same time I want to retain the ability for the user to change views of the UI as the work proceeds.</description>
</item>
<item>
<title>Windows, rsync and permissions</title>
<link>https://yo-dave.com/2016/12/31/windows-rsync-and-permissions/</link>
<pubDate>Sat, 31 Dec 2016 10:10:20 +0000</pubDate>
<guid>https://yo-dave.com/2016/12/31/windows-rsync-and-permissions/</guid>
<description>Just a short note on mixing Linux utilities with Windows. I wanted to set up a single button deployment of updates to a static web site. I had been using an rsync script, but it required me to manually enter authentication credentials every time it was used to send updates to a remote Ubuntu server.
I set up public key authentication, but it would not work with the permissions of the key files on the Windows machine where the updates were coming from.</description>
</item>
<item>
<title>De-Activating My Evernote Account</title>
<link>https://yo-dave.com/2016/12/16/de-activating-my-evernote-account/</link>
<pubDate>Fri, 16 Dec 2016 16:29:30 +0000</pubDate>
<guid>https://yo-dave.com/2016/12/16/de-activating-my-evernote-account/</guid>
<description>It was very unpleasant for me. I&rsquo;ve been a user of Evernote almost from the beginning, and a Premium user for almost as long. But today I erased all of my notes and deactivated my account. &ldquo;Why?&rdquo; you might ask. Let me tell you.
The price increase. Earlier in the Autumn, Evernote announced a price increase. It was pretty substantial, at least for me. At about the same time, they announced that they were moving our data to Google&rsquo;s infrastructure in order to take advantage of improved economies of scale among other reasons.</description>
</item>
<item>
<title>De-Activating My Evernote Account</title>
<link>https://yo-dave.com/2016/12/15/de-activating-my-evernote-account/</link>
<pubDate>Thu, 15 Dec 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/12/15/de-activating-my-evernote-account/</guid>
<description>I&rsquo;m kind of sad today. I erased all of my notes from Evernote and then de-activated my account.
I had been a Premium user for years and had thousands of notes. I used it on the web (when using Linux), on the desktop under Windows, and on my iPhone and iPads. I liked that the data was available on all of those devices. I really liked the web clipper. But the killer feature that got me started on it in the first place was the ability to search in images.</description>
</item>
<item>
<title>Removing CDNs</title>
<link>https://yo-dave.com/2016/12/10/removing-cdns/</link>
<pubDate>Sat, 10 Dec 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/12/10/removing-cdns/</guid>
<description>(Update: 27 Mar 2018, Despite what the rest of this blog post says, I have reinstated CDNs. This site now uses the Cloudflare CDN due to the inability of raw GitHub Pages to serve sites with custom domain names over HTTPS. See this)
Everyone wants their web site to load quickly using as few resources as possible. Content Delivery Networks (CDNs) are a very attractive way to achieve this. You can put parts of your web site on someone else&rsquo;s servers.</description>
</item>
<item>
<title>Advertising at the Movies</title>
<link>https://yo-dave.com/2016/12/09/advertising-at-the-movies/</link>
<pubDate>Fri, 09 Dec 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/12/09/advertising-at-the-movies/</guid>
<description>A few weeks ago, my wife and I went to the movies, something we don&rsquo;t do very often. (Arrival, which I highly recommend, just like the short story it is derived from.)
We arrived at the theatre, one of those multi-screen megaplexes, about 15 to 20 minutes before the advertised start time for the feature. Of course, while waiting, we were exposed to the various advertisements shown before the start of the film.</description>
</item>
<item>
<title>Why This Blog Disappeared for a Few Days</title>
<link>https://yo-dave.com/2016/12/08/why-this-blog-disappeared-for-a-few-days/</link>
<pubDate>Thu, 08 Dec 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/12/08/why-this-blog-disappeared-for-a-few-days/</guid>
<description>Those of you who visit this site regularly may have noticed that is has been down for a few days. Here&rsquo;s why.
About a week ago, I attempted to reboot the server after applying a few updates. It wouldn&rsquo;t come back up. As I&rsquo;ve written before, this site is hosted on CloudAtCost. Sorry to say that it is a regular occurrence for servers not to reboot.
Usually, I can just file a ticket and get help in a day or so.</description>
</item>
<item>
<title>Clojure/Script has Ruined Me for Other Languages</title>
<link>https://yo-dave.com/2016/10/17/clojure/script-has-ruined-me-for-other-languages/</link>
<pubDate>Mon, 17 Oct 2016 10:57:40 +0000</pubDate>
<guid>https://yo-dave.com/2016/10/17/clojure/script-has-ruined-me-for-other-languages/</guid>
<description>The Elm language is often cited as an up-and-comer for web front end development. I was attracted to it largely because of the compiler&rsquo;s friendly and extremely helpful error messages. It&rsquo;s really attractive in many ways.
But when I started looking at examples, I often found myself thinking things like &ldquo;Why is this so inconsistent?&rdquo; or &ldquo;Why is this syntax so complicated?&rdquo;. And it finally occurred to me that I&rsquo;ve been ruined by the way Clojure/ClojureScript/Lisp/Scheme do things.</description>
</item>
<item>
<title>I Am So Over HD</title>
<link>https://yo-dave.com/2016/10/02/i-am-so-over-hd/</link>
<pubDate>Sun, 02 Oct 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/10/02/i-am-so-over-hd/</guid>
<description>Many years ago, back in 2009, during an infrequent upgrade of my desktop computer, I finally bought an HD monitor, actually, slightly better than HD at a resolution of 1920x1200 pixels. My reaction was along the lines of &ldquo;Ooooh! Pretty!&rdquo;. It was a big 27&quot; unit. Easy to view, lots of screen real estate. Very clear text rendering.
I thought I was set forever.
Since then, I&rsquo;ve purchased a few Apple products with Retina displays.</description>
</item>
<item>
<title>Coffee Storage</title>
<link>https://yo-dave.com/2016/09/12/coffee-storage/</link>
<pubDate>Mon, 12 Sep 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/09/12/coffee-storage/</guid>
<description>I know, this is quite a &ldquo;First World&rdquo; kind of problem isn&rsquo;t it. Nevertheless&hellip;
As I&rsquo;ve written before, I like coffee. I probably spend too much on the beans as well. So, there is a need to store them correctly to maintain the best flavor for as long as possible.
The Problem Coffee has three major enemies:
Light Air (specifically, the oxygen in the air) Moisture There&rsquo;s also one more wrinkle to deal with.</description>
</item>
<item>
<title>An Email Server on Ubuntu 14.04</title>
<link>https://yo-dave.com/2016/08/26/an-email-server-on-ubuntu-14.04/</link>
<pubDate>Fri, 26 Aug 2016 09:59:54 +0000</pubDate>
<guid>https://yo-dave.com/2016/08/26/an-email-server-on-ubuntu-14.04/</guid>
<description>Email is pretty old. It is older than the Internet. Despite the perennial claims that email is &ldquo;dead&rdquo;, it is still going strong. It&rsquo;s also a bit complicated, which is why most folks set up an account with someone else (Yahoo!, Gmail, HotMail, ProtonMail, FastMail, etc.) who can take care of it for them.
However, if you want to host your own server, it can be done. If you are running Ubuntu 14.</description>
</item>
<item>
<title>What's the Deal with Flash Sales?</title>
<link>https://yo-dave.com/2016/08/26/whats-the-deal-with-flash-sales/</link>
<pubDate>Fri, 26 Aug 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/08/26/whats-the-deal-with-flash-sales/</guid>
<description>We have some pretty amazing communications technology these days. One way we seem to be wasting it is on the phenomenon of &ldquo;Flash Sales&rdquo; &ndash; offering items on sale for a very short time. That&rsquo;s all we need &ndash; more advertising &ndash; often for trivial discounts &ndash; with deadline pressure.
I have never understood the allure of such things. It seems that people who have a &ldquo;Fear of Missing Out&rdquo; (FOMO) are most susceptible to this stuff.</description>
</item>
<item>
<title>Serving WordPress over HTTPS with Caddy Server</title>
<link>https://yo-dave.com/2016/08/19/serving-wordpress-over-https-with-caddy-server/</link>
<pubDate>Fri, 19 Aug 2016 18:02:38 +0000</pubDate>
<guid>https://yo-dave.com/2016/08/19/serving-wordpress-over-https-with-caddy-server/</guid>
<description><p>The <a href="https://caddyserver.com/">Caddy</a> server is a relatively new, easy-to-use server written in the <a href="https://golang.org/">Go programming language</a>. It is very buzzword compliant. But, the nicest thing about it, in my opinion, is that it sets up SSL/TLS (<a href="http://info.ssl.com/article.aspx?id=10241">Secure Sockets Layer</a>/<a href="https://en.wikipedia.org/wiki/Transport_Layer_Security">Transport Layer Security</a>) certificates automatically from <a href="https://letsencrypt.org/">Let&rsquo;s Encrypt</a> to let you serve a site with<a href="https://en.wikipedia.org/wiki/HTTPS"> HTTPS</a> by default. The project is open source and the certificates are free.</p>
<p>Of course, <a href="https://wordpress.org/">WordPress</a> is a very popular blogging platform. Caddy provides some <a href="https://github.com/caddyserver/examples/tree/master/wordpress">guidance</a> on getting WordPress up and running on the server. However, it wasn&rsquo;t enough for me. Here&rsquo;s some step-by-step guidance on how I got it working on some of my own self-hosted sites.</p></description>
</item>
<item>
<title>Font Pairings</title>
<link>https://yo-dave.com/2016/08/17/font-pairings/</link>
<pubDate>Wed, 17 Aug 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/08/17/font-pairings/</guid>
<description>As you may have guessed, I like to fiddle with things until they seem to be just perfect. One of those fiddly things is font pairing. (Changed them just today as a matter of fact.) I can never seem to get the perfect pairing of headline and body fonts.
In order to get a little more professional perspective, I follow the TypeWolf blog. Jeremiah Shoaf is a great design resource. I have even spent actual money to buy his &ldquo;The Definitive Guide to Free Fonts&rdquo;, which he updates monthly.</description>
</item>
<item>
<title>My Favorite Pens</title>
<link>https://yo-dave.com/2016/08/13/my-favorite-pens/</link>
<pubDate>Sat, 13 Aug 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/08/13/my-favorite-pens/</guid>
<description>Sure, this is a technology site, but sometimes you have to get a little retro. That is the case for my preferences in note-taking. I tend to do a fair amount of writing into paper notebooks. To do that, I use a pen.
Fountain pens are pretty pieces of art, but too messy and fiddly. Ballpoints are OK, but feel a little harsh as you write. Roller balls are OK too, except the quality of the ink is a bit &ldquo;smeary&rdquo; for my tastes.</description>
</item>
<item>
<title>My Server Setup Process</title>
<link>https://yo-dave.com/2016/08/10/my-server-setup-process/</link>
<pubDate>Wed, 10 Aug 2016 15:58:09 +0000</pubDate>
<guid>https://yo-dave.com/2016/08/10/my-server-setup-process/</guid>
<description><p><a href="https://yo-dave.com/2016/02/12/cloudatcost-setup-notes/">Earlier</a>, I posted about how I set up servers hosted at <a href="http://cloudatcost.com/">CloudAtCost</a>. There have been a few changes to that process. Rather than continually patching that post, here’s a new description. Again, this is for <a href="http://www.ubuntu.com/">Ubuntu</a> 14.04 which gets upgraded to 16.04 as part of the setup.</p></description>
</item>
<item>
<title>Caddy Server and Let's Encrypt</title>
<link>https://yo-dave.com/2016/08/09/caddy-server-and-lets-encrypt/</link>
<pubDate>Tue, 09 Aug 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/08/09/caddy-server-and-lets-encrypt/</guid>
<description>The observant among you may have noticed a small change in the blog. It&rsquo;s that little lock symbol next to the URL for the post. That means the blog is being served on HTTPS instead of plain ol&rsquo; HTTP.
Ever since hearing about it, I&rsquo;ve had mixed feelings about the push to HTTPS. Of course, it will provide some benefit in terms of security. But if Google weights its search results based on whether or not a site supports it, access to some early web sites may be lost.</description>
</item>
<item>
<title>Speech Synthesis in ClojureScript</title>
<link>https://yo-dave.com/2016/07/17/speech-synthesis-in-clojurescript/</link>
<pubDate>Sun, 17 Jul 2016 12:35:08 +0000</pubDate>
<guid>https://yo-dave.com/2016/07/17/speech-synthesis-in-clojurescript/</guid>
<description><p>Just like everyone else, it seems, I&rsquo;ve been following all of the news about voice-activated personal assistants. There are all the commercial offerings like Siri, Alexa, Cortana, and so on, as well as some DIY projects on the web, like this <a href="https://blog.truthlabs.com/rethinking-voice-search-2496640fdec2#.uvnrkmji0">one</a> and <a href="https://howchoo.com/g/yti5mmq0ntu/add-voice-controls-to-your-raspberry-pi-using-jasper">this one</a> and <a href="http://www.instructables.com/id/Raspberri-Personal-Assistant/">this one</a>.</p>
<p>These types of projects typically involve a front end that converts voice to text, some middle piece that interprets the text and obtains some answer or creates an action, ending up with a voice response by the system back to the user. I have some (out-of-date) experience with speech to text, but not the other end of the process: text to speech. So here&rsquo;s a little investigation into how to do it with ClojureScript. Turns out that it is almost trivial these days.</p></description>
</item>
<item>
<title>The Linux Desktop</title>
<link>https://yo-dave.com/2016/07/06/the-linux-desktop/</link>
<pubDate>Wed, 06 Jul 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/07/06/the-linux-desktop/</guid>
<description>The &ldquo;Linux Desktop&rdquo; failing to gain traction is a perennial topic of blogs and musings by people smarter than me. But I&rsquo;m going to offer my two cents worth of opinion anyway.
My Own Experience I use Linux on the desktop myself rather frequently, but it is not the OS my system boots to by default. Why is that?
Legacy Windows Programs It used to be that there was a large amount of inertia that kept me from making the switch completely because of legacy apps on Windows.</description>
</item>
<item>
<title>My Experience with 1999 Blogging Software</title>
<link>https://yo-dave.com/2016/06/05/my-experience-with-1999-blogging-software/</link>
<pubDate>Sun, 05 Jun 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/06/05/my-experience-with-1999-blogging-software/</guid>
<description>tldr; This long post contains my impressions of setting up and using the 1999.io blogging platform on a remote Ubuntu server.
Blogging is a great thing. It lets anybody say what they want to whatever audience is interested. It&rsquo;s relatively simple for anyone to set up. (Me setting up this blog for example.) But it&rsquo;s not dead simple. Particularly if you want to self-host your site rather than putting it on someone else&rsquo;s machine, for example WordPress.</description>
</item>
<item>
<title>Amazon's non-Prime Shipping</title>
<link>https://yo-dave.com/2016/05/12/amazons-non-prime-shipping/</link>
<pubDate>Thu, 12 May 2016 08:50:53 +0000</pubDate>
<guid>https://yo-dave.com/2016/05/12/amazons-non-prime-shipping/</guid>
<description>Since I&rsquo;ve taken it upon myself to rail about Amazon&rsquo;s behavior, here&rsquo;s another thing.
Does Amazon actually delay delivery for it&rsquo;s non-Prime customers? In the times I have not had a Prime account, it seems that orders are delayed in being filled on purpose. It seems like they make an effort to delay picking and filling the order, not really changing the shipping method itself.
This statement is based on two (unscientific) observations.</description>
</item>
<item>
<title>Two Day Shipping</title>
<link>https://yo-dave.com/2016/05/12/two-day-shipping/</link>
<pubDate>Thu, 12 May 2016 08:40:40 +0000</pubDate>
<guid>https://yo-dave.com/2016/05/12/two-day-shipping/</guid>
<description>Is it just me or does it seem like the &ldquo;FREE Two-Day Shipping&rdquo; promised by Amazon Prime never actually occurs?
Sometimes I actually get things after one business day. But more often its three or four or five. Sometimes there&rsquo;s an excuse like &ldquo;Extreme Weather Conditions&rdquo;. Sometimes things actually get here when promised.
If Amazon is paying extra for two day shipping, they are getting robbed.
Just sayin'.</description>
</item>
<item>
<title>Reflections on NIH Syndrome</title>
<link>https://yo-dave.com/2016/05/05/reflections-on-nih-syndrome/</link>
<pubDate>Thu, 05 May 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/05/05/reflections-on-nih-syndrome/</guid>
<description>During the past few weeks, I&rsquo;ve been thinking about &ldquo;To Do&rdquo; lists &ndash; specifically how I wanted one. It was my plan to write my own, despite the fact that I have been using Evernote for years and that there are literally thousands already out there already. For the longest time, it never even occurred to me to use a manager that already existed. Or even just to use pen and paper for the simple lists I needed.</description>
</item>
<item>
<title>Hardening an ngnx Server</title>
<link>https://yo-dave.com/2016/04/28/hardening-an-ngnx-server/</link>
<pubDate>Thu, 28 Apr 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/04/28/hardening-an-ngnx-server/</guid>
<description><p>Besides the Clarkonium.net site where I host this blog, I have several other sites that I maintain. This is all more of an educational effort for myself than anything really important. That said, I am a neophyte in terms of server security. It&rsquo;s something I want to do better. What better place to start than by evaluating security settings on some of my &ldquo;play&rdquo; sites that use <a href="http://nginx.org">nginx</a> as the server component?</p>
<p>Like I said, I&rsquo;m no expert, but these are some of the things I have done to my own sites.</p></description>
</item>
<item>
<title>Three Reasons to Dislike Blogs of Lists</title>
<link>https://yo-dave.com/2016/04/28/three-reasons-to-dislike-blogs-of-lists/</link>
<pubDate>Thu, 28 Apr 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/04/28/three-reasons-to-dislike-blogs-of-lists/</guid>
<description>Over the past few years, a lot of blogs or news articles have been written that are lists of items related to a larger topic, like &ldquo;50 Ways to Leave Your Lover&rdquo; or &ldquo;10 Things You Didn&rsquo;t Know about this Big Star&rdquo; and so on.
I generally dislike these for three reasons.
Lack of Speed. A lot of these articles are set up such that you have to load a sequence of pages to read each of the items.</description>
</item>
<item>
<title>Cataract Surgery</title>
<link>https://yo-dave.com/2016/04/20/cataract-surgery/</link>
<pubDate>Wed, 20 Apr 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/04/20/cataract-surgery/</guid>
<description>Medical procedures are not always completely satisfactory. However, from my own experience, cataract surgery can be extremely beneficial.
Last year, vision in one of my eyes was becoming quite blurry. Vision in the other eye was deteriorating as well. I&rsquo;ve known for years that I had small cataracts in one eye even though I am relatively young. (I blame chemotherapy several years ago, but who really knows.)
A visit to the ophthalmologist confirmed that my cataracts were growing rather quickly.</description>
</item>
<item>
<title>A New Blogging Platform</title>
<link>https://yo-dave.com/2016/04/12/a-new-blogging-platform/</link>
<pubDate>Tue, 12 Apr 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/04/12/a-new-blogging-platform/</guid>
<description>The &ldquo;Lou the Luddite&rdquo; blog was originally created as a self-hosted WordPress blog. But this blog was always a bit problematic for some reason. At first, I couldn&rsquo;t get automatic WordPress updates to work. Then I found EasyEngine, which did the install for me and got things running. But it&rsquo;s just a big black box of a script. I don&rsquo;t know all of the details of what it does. That isn&rsquo;t something I&rsquo;m really comfortable with.</description>
</item>
<item>
<title>ClojureScript with Reagent and figwheel</title>
<link>https://yo-dave.com/2016/03/07/clojurescript-with-reagent-and-figwheel/</link>
<pubDate>Mon, 07 Mar 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/03/07/clojurescript-with-reagent-and-figwheel/</guid>
<description><p>I have a bit of a love/hate relationship with <a href="https://github.com/clojure/clojurescript">ClojureScript</a>. On the one hand, it is a Lisp, with all the power it entails. On the other, the development toolchain can be byzantine. With the advent of <a href="http://www.2ality.com/2015/06/web-assembly.html">WebAssembly</a> and <a href="https://github.com/lukehoban/es6features/blob/master/README.md">ECMAScript6</a>, I have hopes of seeing tail call optimization (allowing true recursion) handled in ClojureScript, if not Clojure itself. And <a href="https://github.com/reagent-project/reagent">Reagent</a> and <a href="https://github.com/bhauman/lein-figwheel">figwheel</a> can make web development (not my strong suite) much easier.</p></description>
</item>
<item>
<title>River5 on Windows</title>
<link>https://yo-dave.com/2016/02/22/river5-on-windows/</link>
<pubDate>Mon, 22 Feb 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/02/22/river5-on-windows/</guid>
<description><p>As you know, I&rsquo;m a big fan of <a href="https://en.wikipedia.org/wiki/Dave_Winer">Dave Winer</a> and his <a href="http://scripting.com/2014/06/02/whatIsARiverOfNewsAggregator.html">River of News</a> aggregators. His recent <a href="https://github.com/scripting/river5">River5</a> is particularly nice.</p>
<p>(<strong>Update</strong>: 17 Mar 2018. Although these notes discuss setting up River5 on a virtual server, I have used these instructions to set it up on a <a href="https://www.raspberrypi.org/products/raspberry-pi-3-model-b/">Raspberry Pi 3 Model B</a> sitting on my desk. It has been running for months without issue. In fact, it&rsquo;s more reliable than my CloudAtCost rented server ever was.)</p>
<p>I&rsquo;ve already <a href="https://clartaq.github.io/yo-dave/2016/02/12/2016-02-12-cloudatcost-setup-notes/">posted</a> about installing on a <a href="http://cloudatcost.com/">CloudAtCost</a> server running <a href="http://www.ubuntu.com/">Ubuntu</a>. But it seems some folks are running into difficulty installing on Windows. It&rsquo;s easy and works like a dream. Here&rsquo;s how.</p></description>
</item>
<item>
<title>River5 on Ubuntu 14.04 LTS with a CloudAtCost VS</title>
<link>https://yo-dave.com/2016/02/14/river5-on-ubuntu-14.04-lts-with-a-cloudatcost-vs/</link>
<pubDate>Sun, 14 Feb 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/02/14/river5-on-ubuntu-14.04-lts-with-a-cloudatcost-vs/</guid>
<description><p><a href="https://github.com/scripting/river5">River5</a> is the latest in a series of <a href="https://en.wikipedia.org/wiki/RSS">RSS</a> News Aggretators written by <a href="https://en.wikipedia.org/wiki/Dave_Winer">Dave Winer</a>. You can read his announcement <a href="http://scripting.com/liveblog/users/davewiner/2016/02/09/0995.html">here</a>. These notes describe how to set up a River of News on a Virtual Server (VS) purchased or rented from <a href="http://cloudatcost.com/">CloudAtCost</a> and freshly imaged with <a href="http://www.ubuntu.com/">Ubuntu</a> 14.04.</p>
<p>These notes assume that you have done some work in configuring your VS with a user, other than root, that has super user privileges. If you need help doing the initial setup of your VS, look <a href="https://yo-dave.com/2016/08/10/my-server-setup-process/">here</a>.</p></description>
</item>
<item>
<title>CloudAtCost Setup Notes</title>
<link>https://yo-dave.com/2016/02/12/cloudatcost-setup-notes/</link>
<pubDate>Fri, 12 Feb 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/02/12/cloudatcost-setup-notes/</guid>
<description><h2 id="update-10-aug-2016">Update: 10 Aug 2016</h2>
<p>There&rsquo;s a new and improved version of this post <a href="https://yo-dave.com/2016/08/10/my-server-setup-process/">HERE</a>. Look at that instead.</p>
<hr>
<p>I&rsquo;ve been experimenting with servers from <a href="http://cloudatcost.com/">CloudAtCost</a>. As such, I tear them down and re-image them fairly frequently. These are my notes on how I do initial setup of servers that have been freshly imaged with <a href="http://www.ubuntu.com/">Ubuntu</a> 14.04 LTS.</p></description>
</item>
<item>
<title>Java JDK Install Fails on Windows 10</title>
<link>https://yo-dave.com/2016/01/30/java-jdk-install-fails-on-windows-10/</link>
<pubDate>Sat, 30 Jan 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/01/30/java-jdk-install-fails-on-windows-10/</guid>
<description>An update to the Java JDK is always a good thing. I look forward to seeing all the new stuff. But my recent attempt to update to 1.8.0_72 only partially succeeded. I attempted to install the new updates, both update 71 and 72, and both failed to finish installing the JRE. The rest of the JDK seemed to install correctly and I have been able to use it successfully, but the local JRE failed to install, returning error code 1603.</description>
</item>
<item>
<title>Dropbox Can Break Windows 10 Start Menu</title>
<link>https://yo-dave.com/2016/01/26/dropbox-can-break-windows-10-start-menu/</link>
<pubDate>Tue, 26 Jan 2016 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2016/01/26/dropbox-can-break-windows-10-start-menu/</guid>
<description>The first time I tried to install Windows 10, I had to revert to 7 because the Start Menu started producing Critical Errors.
Naturally, I searched the web for solutions. None worked, including the suggestions made by Microsoft about using a particular sequence of logins, checking system files for corruption, and creating a new user and transferring all my data to the new user account.
Eventually, I came across this link to a post of possible solutions containing the usual stuff, but someone also mentioned that their system started working correctly once they removed Dropbox.</description>
</item>
<item>
<title>What's Broken Today</title>
<link>https://yo-dave.com/2015/12/30/whats-broken-today/</link>
<pubDate>Wed, 30 Dec 2015 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2015/12/30/whats-broken-today/</guid>
<description>Like most days, I got up ready to tackle a bunch of problems and features on some of the software I work on. But, as is often the case, I was stymied by technical problems and got almost nothing done. The problems?
None of the JetBrains IDEs that I use could open a working terminal window. For most work, these are my tools of choice for programming tasks. Without a terminal, I can get by, but it isn’t as convenient or fast.</description>
</item>
<item>
<title>The Best Thing About Upgrading to Windows 10...</title>
<link>https://yo-dave.com/2015/12/23/the-best-thing-about-upgrading-to-windows-10.../</link>
<pubDate>Wed, 23 Dec 2015 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2015/12/23/the-best-thing-about-upgrading-to-windows-10.../</guid>
<description>Is that it shuts up the continual nagging to upgrade to Windows 10.
I tried to upgrade earlier this year but it was a miserable failure. Buggy, slow, missing device drivers, nosy, nosy, nosy.
It was a bit improved this time. A Windows 10 version of the driver for my Fujitsu ScanSnap S1500 finally appeared, so I thought I would try it again. The upgrade process was pretty smooth and the new driver works just fine.</description>
</item>
<item>
<title>Using Local Java JARS in Clojure Projects</title>
<link>https://yo-dave.com/2015/10/03/using-local-java-jars-in-clojure-projects/</link>
<pubDate>Sat, 03 Oct 2015 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2015/10/03/using-local-java-jars-in-clojure-projects/</guid>
<description><p>Recently, I&rsquo;ve been working on a <a href="https://en.wikipedia.org/wiki/Sudoku">Sudoku</a> game program. Part of the program provides a user with the ability to generate new puzzles of a particular difficulty. Generating a puzzle usually requires two puzzle solvers: one that solves puzzles (slowly) like a human would, the other that solves puzzles (very quickly) like a computer would.</p>
<p>Rather than write my own from scratch, for this part of the development, I wanted to use an existing implementation of the machine-like solver. After a little research (more on this some other time), I found one I liked a lot &ndash; the <a href="https://github.com/attractivechaos/plb/tree/master/sudoku">Kudoku solver written in Java</a> from <a href="https://attractivechaos.wordpress.com/2011/06/19/an-incomplete-review-of-sudoku-solver-implementations/">attractive chaos</a>.</p>
<p>But how does one use a local jar file in a Clojure Project? Read on&hellip;</p></description>
</item>
<item>
<title>My Windows 10 Update Experience</title>
<link>https://yo-dave.com/2015/08/29/my-windows-10-update-experience/</link>
<pubDate>Sat, 29 Aug 2015 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2015/08/29/my-windows-10-update-experience/</guid>
<description><p>Just like millions of others, I tried the free upgrade to Windows 10. I waited a few weeks after it was available before trying it, just to see what the early fallout was before committing myself. It was pretty much a disaster.</p>
<p>On my system it was</p>
<ul>
<li>Too buggy</li>
<li>Too slow</li>
<li>Too nosy</li>
</ul></description>
</item>
<item>
<title>Finding Mono-Spaced Fonts in JavaFX</title>
<link>https://yo-dave.com/2015/07/27/finding-mono-spaced-fonts-in-javafx/</link>
<pubDate>Mon, 27 Jul 2015 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2015/07/27/finding-mono-spaced-fonts-in-javafx/</guid>
<description>There are many use cases where a mono-spaced (fixed-width) font is useful in programming. Programming editors and creating program listings come to mind. But there doesn&rsquo;t seem to be a consistent way of obtaining a list of all of the mono-spaced fonts installed in the operating system.
Back in the days of Swing, you usually had to grab a list of font families (e.g. Arial, Times New Roman, etc.) from AWT and then create a BufferedImage to print the font to and check layout widths.</description>
</item>
<item>
<title>Tasks and UI Updates in JavaFX</title>
<link>https://yo-dave.com/2015/06/30/tasks-and-ui-updates-in-javafx/</link>
<pubDate>Tue, 30 Jun 2015 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2015/06/30/tasks-and-ui-updates-in-javafx/</guid>
<description><p>Recently, I answered a <a href="http://stackoverflow.com/questions/30980138/javafx-indeterminate-progress-bar-while-doing-a-process/30986188#30986188">question</a> on <a href="http://stackoverflow.com/">StackOverflow</a> related to executing a long-running task in the background of a JavaFX application while updating the UI on the progress of that task. I have found myself coming back to that solution several times now.</p></description>
</item>
<item>
<title>Web vs. Native App Redux</title>
<link>https://yo-dave.com/2015/05/28/web-vs.-native-app-redux/</link>
<pubDate>Thu, 28 May 2015 00:00:00 +0000</pubDate>
<guid>https://yo-dave.com/2015/05/28/web-vs.-native-app-redux/</guid>
<description><p>If you have been following along for awhile, you may have noted how conflicted I am about writing web apps <em>vs</em>. native apps. I&rsquo;ve been looking into <a href="https://www.meteor.com/">Meteor</a>, which makes the decision even thornier for me.</p></description>
</item>
<item>
<title>No More Disqus</title>
<link>https://yo-dave.com/2015/05/15/no-more-disqus/</link>
<pubDate>Fri, 15 May 2015 17:09:14 +0000</pubDate>
<guid>https://yo-dave.com/2015/05/15/no-more-disqus/</guid>
<description>Man, I am so fed up with companies that insist on tracking me. Disqus has a great commenting system. Great features. Widely used.
But they track you, building a pretty detailed profile, which they sell. They do it to both me and you if you comment on this site. Without telling either of us. So, Disqus is out.</description>
</item>
<item>
<title>Turning Off Disqus</title>
<link>https://yo-dave.com/2015/05/15/turning-off-disqus/</link>