Rick Cogley's Tech Logr

Short Technical Laser Bursts %%

Welcome

Rick’s short, technical tip microblog built with Hugo, powered by Deno Deploy. See also my fabulous repository at Github for this site.

28 May 2019

«11:52:17»

Here is a practical look at how Maciej Cegłowski (@pinboard) tried to get normal people to practice better security, during a congressional campaign. Read it and learn something. 🔐

RC Logr 20190528 115216 - Here is a practical look at … Rick Cogley

24 May 2019

«16:49:48»

Like reading a system log where we cannot really assess motive by its entries, we also should not oversimplify body language to a «this therefore that» equation. Former FBI agent Joe Navarro explains in this informative video. 🕵🏻‍

RC Logr 20190524 164948 - Like reading a system log … Rick Cogley

22 May 2019

«07:59:00»

«Le Grand KG», a small cylinder of 90% platinum and 10% iridium located in a Paris basement, that has been the prototype for a kilogram since 1889, is no more. It served as the IPK for 130 years, and was replaced on 20th May 2019 by a calculation based on the Planck constant. This video at NIST explains it. ℏ

Planck’s Constant: 6.626068 × 10^-34 m^2 kg / s

RC Logr 20190522 075900 - «Le Grand KG», a small … Rick Cogley

18 May 2019

«08:35:35»

Learned about an interesting shell called «elvish» today. It includes pipelines that can carry both text and structured data, c-like syntax and control structures, and built-in file manager, directory history and command history. Now I just need to find time to try it! 🧝🏻‍

RC Logr 20190518 083534 - Learned about an interesting … Rick Cogley

16 May 2019

«18:42:52»

Static Site Generator Hugo has a relatively new «append» command made possible because of a golang upgrade, that lets you replace clumsier scratch constructs, which themselves were workarounds to begin with. I tried it for generating a search index for my logr site and it works as expected. Shiny! 🌞 The code is below and this is the result.

1
2
3
4
5
{{- $index := slice -}}
{{- range where .Site.RegularPages "Type" "not in"  (slice "jf2feed" "json") -}}
  {{- $index = $index | append (dict "title" .Title "ref" .Permalink "tags" .Params.tags "content" .Plain) -}}
{{- end -}}
{{- $index | jsonify -}}

RC Logr 20190516 184252 - Static Site Generator Hugo has … Rick Cogley

14 May 2019

«08:38:32»

Japan train stations now have announcements to stay behind the yellow «tenji burokku 点字ブロック braille blocks» when the trains are arriving, so I looked into it. 🕵🏻‍ There are two primary types - ones with a grid of bumps meant to indicate danger, like the edge of a train platform, and ones with elongated bars used to indicate direction. I found out a bunch of other interesting things to note:

  • They were invented in Japan by Seiichi Miyake 三宅 精一, and were first installed in Okayama, Japan on 18 March 1967 (18 March is «Tenji Block Day» in Okayama!). Miyake and his invention was even celebrated in a Google Doodle.
  • The governing standard in Japan is JIS T 9251, which states in summary that the blocks are to be at least a 30cm square, with either four bars of 17mm in width and 5mm height, or a 5x5 grid of dots 12mm in diameter and 5mm height. The bars are to be spaced 75mm apart measured from the bar’s center, and the dots 55-60mm apart measured from a dot’s center. The blocks are usually 30, or 40mm square.
  • They go by various names, originally tenji burokku 点字ブロック which translates as «braille block», or generically as «tactile paving blocks» or «tactile walking surface indicators» per ISO ISO 23599:2012. People in Japan associated with construction shorten it to tenburo 点ブロ.
  • As for materials, there are paving blocks that have the hard yellow rubber tactile bits attached, others that are made of what looks like brushed steel or sometimes a different color rubber (aesthetic reasons?), and still others that are simply an overlay rubber cover that is probably glued to the street.

While on the whole I think they are a good thing, a friend who came to Japan had never seen them in such concentration, and said they are annoying and get in the way of dragging your suitcase. This is true. There were some arguments against, cited on wikipedia, and I have seen a couple of statements that mobility impaired people can trip over them, or that the cause trouble for wheelchair users. I guess not asking disabled folks what they want or need is a kind of “blindsplaining”, isn’t it.

RC Logr 20190514 083832 - Japan train stations now have … Rick Cogley

11 May 2019

«08:11:14»

Ars says Nest died at Google I/O 2019. The current unbridled investment culture where product ecosystems are bought then destroyed, should make you nervous. 😬 Any great or disruptive product or service is an acquisition target, because what business owner can resist quick riches. It assumes our acceptance and trust of the massive companies doing the acquiring. Do you really trust them?

RC Logr 20190511 081114 - Ars says Nest died at Google … Rick Cogley

09 May 2019

«07:50:11»

Reading this article from EasyDNS about Network Solutions scammy business practices, I am reminded that I moved our domains and my client domains off Network Solutions for just these reasons. I have not regretted the decision. Better to avoid anything netsol. 😖

RC Logr 20190509 075011 - Reading this article from … Rick Cogley

08 May 2019

«08:15:22»

Todd Austin and colleagues at The U of Michigan, have developed the unhackable chip «MORPHEUS», which randomly shuffles bits of its own code, defeating hackers by changing even while they try to exploit it. They say it is akin to a Rubiks Cube that changes itself every time you blink. 🤖

RC Logr 20190508 081521 - Todd Austin and colleagues at … Rick Cogley

07 May 2019

«18:21:33»

Microsoft is shipping a Linux kernel in «Windows Subsystem for Linux WSL 2». That is pretty astounding news. It means faster startup for the system, faster file io operations like git clone or npm install and even use of Docker. ㊗️

RC Logr 20190507 182133 - Microsoft is shipping a Linux … Rick Cogley

«17:56:01»

We are back at work after a long, long Golden Week. Well that will not happen for another 30 years! Learned about an interesting device today, the Sensel Morph. Nifty! 🎼

RC Logr 20190507 175601 - We are back at work after a … Rick Cogley

05 May 2019

🗓 "Children's Day" in Japan

«06:36:48»

PSA: A hacker is wiping git repositories and demanding bitcoin ransom. Git config files were scanned for credentials, then used to access and alter git commit headers. If this happened to you, ask your friendly git provider’s support team for help.

If it hasn’t, change your password to a stronger one, enable 2FA of course, and KonMari any unused API tokens. See? That should have sparked some joy for ya. 👻

RC Logr 20190505 063647 - PSA: A hacker is wiping git … Rick Cogley

03 May 2019

🗓 "Constitution Day" in Japan

«12:10:35»

Welcome to May, the beginning of the Reiwa 令和 Era in Japan. The color palette on my Logr site this month was picked thinking of the off white of the Deutzia, or «U-no-hana 卯の花», a type of hydrangea, as well as the beautiful greens of late spring. It has rained most of our specially long golden week, but we have had a couple days of sun. 💐

Not to forget the technical aspect, I am using Hugo Pipes to automatically generate the css from sass code with color variables that define the color palette for the month.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
...
{{ else if eq $mnth "April" }}
$textHilite: #63fbef !default;
$textHilite: $yellow !default;
$codeBgColor: #fee9eb !default;
$one: #FB636F !default;
$two: #A9D14A !default;
$three: #f60619 !default;
$four: #230104 !default;
$topbannerimage: "Cogley-Banner-Hiratsuka-Beach-Windsurfers.jpg";

{{ else if eq $mnth "May" }}
$textHilite: #25ee05 !default;
$codeBgColor: #f8fbf7 !default;
$one: #629A59 !default;
$two: #91599a !default;
$three: #54ad46 !default;
$four: #131e11 !default;
$topbannerimage: "Cogley-Banner-LIFE-Noble-Note.jpg";
...

RC Logr 20190503 121035 - Welcome to May, the beginning … Rick Cogley

«11:51:58»

Martin Tournoij reformatted «The Art of Unix Programming» by Eric S. Raymond. See his easy-to-read, searchable, single-page version of this oldie-but-goodie from 2003 right here. Thanks! 🙏🏻🎉

RC Logr 20190503 115158 - Martin Tournoij reformatted … Rick Cogley

30 Apr 2019

🗓 "Special Holiday for Emperor's Abdication" in Japan

«09:49:40»

One mistake I often see beginning front-end devs make is, not knowing the difference between an absolute path (/img/logo.png) and a relative path (img/logo.png). It will serve you well to know this. 👍

Terminal usage has similar characteristics, with cd /bin and cd bin changing to the bin off the root of the file system and the bin in the current folder, respectively.

RC Logr 20190430 094940 - One mistake I often see … Rick Cogley

25 Apr 2019

«09:56:40»

Learned about «Synergy» from Symless today, which lets you share one mouse and keyboard with multiple computers, letting you move between them seamlessly. Going to try it out between my main Mac, and my Linux desktop. 🔁

RC Logr 20190425 095640 - Learned about «Synergy» from … Rick Cogley

21 Apr 2019

«09:58:01»

Learned about «Working Copy» today, a git client for iOS. Anyone use it? I think it would be cool to combine this with a CI system so that a commit and push would trigger a build and publish. 🤖

RC Logr 20190421 095801 - Learned about «Working Copy» … Rick Cogley

18 Apr 2019

«12:29:25»

You can use a plugin to generate your vim status line, or you could use the «vim statusline generator» from Tom Daly, and just chuck the results into your .vimrc. Cool! 😎

RC Logr 20190418 122925 - You can use a plugin to … Rick Cogley

14 Apr 2019

«13:51:42»

Given a json file, used say for a search index, you can easily use «jq» from stedolan to extract what you need from it. 👻 It is as simple as piping the json to jq, and using its powerful filtering to extract what you need. I generate the search index for this site in json, because that is what lunr requires, but it doubles as a source for the info I use to tweet about a new post.

Given a json like this:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[
  {
    "content": "Static site generator «Hugo 0.55.1» was released, with three bug fixes. Go static! 🚀 #gohugo #jamstack #golang #webdev\n",
    "ref": "https://logr.cogley.info/2019/04/12/1555079759/",
    "tags": null,
    "title": "RC Logr 20190412 233559"
  },
  {
    "content": "MacOS or Linux users, you might find log file viewer «lnav» useful. It is for viewing local log files, and requires no server like Splunk. Fire it up, press ? to toggle help or / to search. 🕵🏻‍\n",
    "ref": "https://logr.cogley.info/2019/04/12/1555047850/",
    "tags": null,
    "title": "RC Logr 20190412 144410"
  },
  {
    "content": "The first black hole...

… I use something like this to extract what I want to tweet:

1
cat index.json | jq --raw-output '.[0] | .content[:75]+"... "+.ref' 

That pipes the index json file to jq, gets the 0th (first and latest) node, then pipes it extracting and concatenating the values of the .content and .ref keys, limiting the .content value to 75 characters. With jq, concatenation to string literals is done with a plus sign. The statement within the single quotes is where the work is done, and it can be multiple filters with pipes between.

RC Logr 20190414 135141 - Given a json file, used say … Rick Cogley

13 Apr 2019

«12:16:27»

Apple iCloud Drive has its place and works well for syncing data for certain apps to «all teh devices», but it really causes trouble sometimes. It especially did not play well with some secure .sparseimage files I had stored in $HOME/Documents on my Mac. 😳

To wit, I was sometimes getting unwanted copies of my secure disk images, and other files under $HOME/iCloud Drive (Archive) or $HOME/Documents - rickmac. To fix I created $HOME/docs, outside the paths iCloud drive targets for syncing, and migrated the files there. Anything that is not needed on my mobile devices is getting chucked in this new folder.

Sync is hard and here are a few commands to aid macOS users in no order:

1
2
3
4
5
~ > killall -KILL bird #bird is the sync daemon
~ > killall -KILL Finder
~ > brctl log -w #watch bird log, ctrl-c to exit
~ > rm -rf ~/Library/Application\ Support/CloudDocs
~ > rm -rf ~/Library/Caches/com.apple.bird

You may need to stop and restart iCloud Drive, or restart the computer.

RC Logr 20190413 121627 - Apple iCloud Drive has its … Rick Cogley