Rick Cogley

Sticking out like a sore thumb in Japan since 1987! 日本語もOK ⚁ Founder, Co-RD @ https://esolia.com ❤️ code, hiking, jogging, our Shiba Maru, yoga, calisthenics, photography.

Trials of MS365 Trial Tenant

We at my firm eSolia decided to migrate everything to MS365, for better or worse, because literally all our clients use it and it's just more efficient if it's our daily driver.

Besides the tenantname.onmicrosoft.com domain that comes with the service, you can assign a custom domain that you purchase via a registrar in the usual way. You add the domain you want in either Exchange or Azure AD admin, add a TXT record in your DNS host (like AWS Route53) to prove that you own the domain, and once that's done, the domain is ready to be put into production when you point the DNS MX records at it.

However, when we clicked "verify" we got an error, saying that the domain was associated with the tenant ourfirmcojp.onmicrosoft.com and that we'd need to remove it from there, before we could add it to our production tenant. From that, support told us that it was probably generated during a self-service trial in which the person signing up used their company email address. They thought so because the tenant name was just our email domain without any dots (ourfirm.co.jp). The test tenant had become an "unmanaged tenant", abandoned.

We tried taking advice from a whole bunch of various online help forum and blog posts and support, to "force takover" the domain, but nothing worked, GUI, powershell or otherwise. Finally we tried using a private browser window to log in via various possible users, and mostly, we just got more errors that self-service password resets SSPR was not enabled.

Except for one account.

We were able to change the password for this account in this tenant, and finally successfully signed in via https://admin.microsoft.com.

Once I was in, I created a global admin user, re-signed in as it, deleted all the other users, groups, and licenses (following this guide), then proceeded to delete the tenant. When you first attempt to delete it, there are a lot of various errors but MS makes it easy to figure out what you need to do, deleting groups, disabling licenses and so on. It's a whole process, and in the end once all the checks are "green", you need to wait 72 hours before you can finally delete the tenant itself.

So, in 72 hours I'll visit https://aad.portal.azure.com/ and try the tenant deletion again.

In the end? I was able to add our production ourfirm.co.jp domain to our production tenant and we're ready to migrate!

I hope this little story might help anyone who happens upon it.

Photo of frustrated monkey by Asa Rodger on Unsplash



Social Photo by Asa Rodger on Unsplash

Terrible Plight of Abandoned Scent Hounds

My wife told me about an awful thing happening in Japan. Some hunters who use "gun dogs" or "scent hounds" to flush out prey, will abandon them in the forest, chained up at the end of the hunting season in early spring, or let them stray, after which they get picked up and taken to a shelter. These people are really scum to be treating an innocent dog so cruelly like that.

Rie Kaneko from Chiba set up Gundog Rescue CACI (Japanese) in 1993 to provide shelter and retrain gun dogs, even working with hunting organizations. You can read about her organization in this article (English). She mentions:

“Only a few inconsiderate hunters abandon gundogs, and it (the hunters’ organization) hopes bird-hunting canines can live happily until the last moment of their lives, just like us,” Kaneko said. “I want to deepen our mutual understanding.”

I'm glad to read that, but it's still disheartening to learn that these dogs are trained for hunting, used for the purpose, then treated like trash when they are no longer needed.

Makiko Matsumoto in Okayama, founded the non-profit Scenthound Rescue (Japanese) to do a similar thing, and there's a listing of dogs looking for homes, as well as a listing of scenthounds that have been adopted (Japanese but photos).

Mina Martinez, also from Chiba, runs a general sanctuary called AnimO (English) or "Animal Oasis" to take care of various animals in need. What a collection they have, and the site is quite educational. You can read more about Mina in this article (English).

In the 10 minutes it takes to make coffee, on average another shelter dog has been killed in Japan. It's not just a Japan problem, but a problem world wide. If that bothers you, and it should, what you can do is, "adopt don't shop".

Photo of dog by Jamie Street on Unsplash



Social Photo by Jamie Street on Unsplash

30th Anniversary Trip to Shimane and Tottori

I can't believe it's been 30 years since we got married. To celebrate, we booked a tour of Shimane and Tottori prefectures, and had a fantastic time. We did a tour so we could not have to plan, and drink without worrying about someone having to drive. We took the bullet train from Shin Yokohama to Okayama, then went on the tour bus to Adachi Museum, then to Tamazukuri Onsen for the first night. The second day was on to the Shimane Winery, Izumo Taisha shrine, then Misasa Onsen. The final day was the old warehouse town of Kurayoshi, the Tottori Port, and finally the Tottori Sand Dunes before heading back to Okayama. I'll give some details in this post. ♨️🫃🏼


Getting There

We left our house at 7am, and made our way to JR Shin-Yokohama station, to get on the bullet train. We bought our lunches, boarded the Nozomi on time, and just enjoyed the trip. The tour included reserved "green car" (first class) tickets, and the seats were quite nice, comfortable, and included outlets to charge the devices. The Nozomi is an express service, and stops in only a handful of places. We got to Okayama in no time, then walked a ways to the bus terminal. We stowed our bags, boarded, and we were off. Next stop, the Adachi Museum.

Adachi Museum

We arrived after a couple hours in the bus. The garden is so well maintained and lovely, you can see why it wins awards, and the Takeuchi Seiho retrospective, the Waterscapes exhibit and the Rosanjin Hall all were such a pleasure to get to view up close. Such masterful detail. The Adachi Museum of Art was a sensory overload and well worth visiting.

Adachi Museum Garden

Tamazukuri Onsen

Next, on to an Japanese style "Ryokan" inn, in the the hot spring town Tamazukuri Onsen. Kasuien Minami was a wonderful experience. A traditional feel while being modern at the same time, the staff, the room, the baths, the award-winning garden and the food were all top notch. We had about 17 hours here, so we took advantage of the large bathing complex several times, enjoyed a huge multi-course "kaiseki" meal, and just relaxed. We got up early, took another bath, and had probably the best breakfast we'd ever experienced in any hotel or inn. The amount of choice was positively decadent. Just amazing. Afterwards, we got ready, checked out, and took a walk around the town to see the local deity statuary all around the river walk area. It was cool that they had QR codes to let you view a translation of the Japanese signage.

Kasuien Minami Foyer

Kasuien Minami Café

Kasuien Minami Garden

Tamazukuri Onsen Town

Shimane Winery and Train to Izumo Taisha

The next stop was the Shimane Winery for lunch and a little tasting. We were pleasantly surprised that the lunch was so good. It was meant to be quick, but, it was kaiseki quality, and the wagyu steak and sashimi was divine. The winery gift shop had a tasting bar which was closed, so we made do with some free samples of the various wines, and settled on a pair of wines that are specially made for November, when the gods come to visit Izumo Taisha.

Then a short jaunt around an interesting lake just off shore, to the train station. The train line we took uses recycled train cars from Tokyo, so we immediately felt nostalgic riding this train. The train has a rare switchback station, and so the train gets turned around so that if you were facing the lake, you're now facing the mountains. It took about an hour on the train to get to the station nearest Izumo Taisha shrine, but the scenery was really worth it - really lovely, and felt like a Miyazaki anime.

Train to Izumo Taisha

Izumo Taisha

If Ise Jingu shrine is the number one since it houses Amaterasu, Izumo Taisha is the clear number two, housing the rest of the many, many gods. In Japan, the old way to refer to the tenth lunar month (generally equivalent to November) is 神無月 "kannazuki" or "the month without gods" while at Izumo Taisha, it's known as 神在月 or "kamiarizuki" or "the month with gods". We visited right during the crowded festival week, welcoming the gods back to the shrine. It was explained that the gods gather to hold discussions on matchmaking, determining the fates of their worshippers. Ceremonies and festivals held during this time are supposed to be sober, quiet affairs so as not to disturb their deliberations.

Our guide was a young person in her 20s from Okayama who said she was the oldest of 8 siblings, and she was really knowledgeable. She obviously had studied quite hard, and gave us an endless stream of informational anecdotes and tidbits about everything along the way in the bus, but also of course about Izumo Taisha. If I remember right, she said it was the only shrine where you go down into it, rather than up a bunch of steps. The four great torii gates were magnificent, although the largest one was under wraps, being restored or repaired in some way. The great しめ縄 "shimenawa" which you'll see in the pictures was truly imposing, especially when you're right under it making your offerings. As we explored, we also saw a very large flag of Japan, along with several wedding processions.

One point about making an offering at Izumo Taisha is, the process is two bows, four claps, and one bow, rather than the customary two claps at most shrines. The lay explanation for the 4 claps is given as standing for 幸せ, “shi-a-wa-se” or happiness, but the real etymology is supposed to be the saying 一霊四魂, or the four key aspects of a spirit: action, peace, loving protection & knowledge. I dug into this a little, and it appears that although this is only done on one day of the year now at a spring festival, the custom used to be eight claps, because 8 on its side looks like the infinity symbol.

Other thing we learned was, while the best coins to put in the offering box are either 5 or 50 yen ones (the ones with the holes) since "go en" means good relationships, you can also put combinations like a 10 yen and 1 yen coin, or a 100 yen and a 10 yen coin. I'll need to study about this a bit more.

At any rate, remembering "shi-a-wa-se" is easy enough, and my wife and I prayed at several locations in the grounds for our daughters to have good fortune in their lives and relationships, as well as for our own health.

Izumo Taisha Queue

Izumo Taisha Shimenawa

Rick and A at Izumo Taisha

Misasa Onsen

Next stop, Misasa Onsen. Izanro Iwasaki in Misasa Onsen is a wonderful older ryokan establishment, with friendly staff, clean rooms and facilities, really comfortable futon beds and pillows, fantastic food and a lovely garden that you can go out into. We even saw a frog in a pond in the garden, how appropriate for Japan. The views from our room were just super, and we could see the wide river and mountains from it. There’s a public bath right near the bridge, and we could see some tiny naked bathers enjoying it from our room. The bathing area is really large with many baths, and even has a radon steam room, the area being famous for that (there’s even a Marie Curie statue). The lounge area outside the baths on the first floor has coffee milk in a vending machine, and some delicious local ice cream to enjoy while you lounge around.

Tottori had a big quake in 2016, and there was unfortunate damage then to a famous teahouse in the garden. Maybe related, but the little town area on the other side of the river had some shuttered inns and looked pretty run down, but, there was a quaint little “ashiyu” foot bath over there, which we wished we had time for. We got a lot more soaking and eating and wandering in, before we left on the bus for the "white warehouse" area around 10am.

Izanro Iwasaki Foyer

Izanro Iwasaki Steak

Kurayoshi Shirakabe White Warehouse District

Next we did a one hour tour at Kurayoshi "Shirakabe" White Warehouses in Tottori, and it was fascinating! The warehouses were from various eras from Edo to Meiji, with glass that was warped due to the manufacturing methods of the day. The guide showed us all the various differences from era to era, from building heights to construction styles, which was really cool. The red "Sesshu" tiles looked lovely against the white walls and black burnt cedar wood skirtings. It was great to learn about the architectural style of these protected buildings.

One oddity was that several shops had life sized "sexy anime mascot girl" cutouts in their store fronts. Maybe "otaku" types would like it, but, these were jarring and added nothing to the history or attraction of the place. Our regret here was that we wished the tour let us have time to browse a bit as there was a craft beer brewery shop, a cool looking café, gallery, local goods, and others which were beckoning. Also it was raining. They say “in Tottori, even if you forget your bento, don’t forget an umbrella” because the wet weather there is so unpredictable.

Next was lunch at the port, and on to the dunes.

Sesshu Tile

Tottori Dunes

The Tottori sand dunes, our last stop, were quite impressive as well. We got a brief explanation from the “dune meister” then set off to climb the big one that we saw from the top of the stairs. It's about 63m the meister said, and about twice the height of Jockey's Ridge in Kitty Hawk for comparison. The tour had us wear plastic shop bags over our shoes, but not many other people were wearing them and sand got in anyway. It was chilly weather in November, so the jackets we had came in handy. It had rained earlier so the sand was supposedly a little easier to walk on, but it was a bit aerobic to get to the top.

We walked about 1.5km on sand (harder than it seems) then headed back toward the bus, stopping for coffee in the shop in the cool building in the parking lot.

Then it was back on the bus, and back to Okayama to get some last minute omiyage gifts, then head home on the ever-reliable shinkansen.

What a great way to spend 3 days out of our 30 year history so far. Here's to 30 more! ❤️

Tottori Dunes A Hooray



Photos by Rick Cogley

Getting a Driver's License in Japan, an Ordeal

I finally got my proper Japan driver's license, and what an ordeal it's been. Fasten your seatbelts for this one.

The incident

I've been in Japan since 1987 and did not drive for the first 4 or 5 years. I always have kept my US license current, and after getting married, got and started using an international license. Never had a problem buying cars, mopeds, or insurance using the international license. They expire yearly, and recently had always bought them online via AAA, and they'd come in the post a couple weeks later.

I had a couple fender benders and a couple citations over the years, but nothing major, and no cop ever questioned the international license. But about three years ago, it was my lucky day I guess: got pulled over and the cop told me you can only use an int'l for 1 year, meaning, I was driving without a license or guilty of "mumenkyo unten".

Cue getting carted off to the police station in the back of a cruiser, a scary interview process, signing a statement, getting my wife pulled in as well (so sorry) and interviewed because the car's in her name, then finally released. We got called back separately for more interviews and finally they decided to just limit it to me. They could have charged and fined her too, for allowing an unlicensed person to drive her car. We would have really been in trouble had they not been charitable to us in the weeks following.

I was feeling sick for a long time after this. Fearing the absolute worst because this offense can come with prison time, I contacted a lawyer. He told me if I wasn't in cuffs and locked up, it wasn't an arrest per se, albeit of course a serious issue. This eased my mind somewhat. He told me to just be sincere and honest, and advised me not to change the story.

In about a month I had to appear before the prosecutor & judge, paid a 300,000 JPY fine, and had to go to a day's training regarding the rules: there would be no chance of getting a license for 2 years, mandatory 2 day course for people who lose their license. After the course they interview you to make sure you understand, and the cop told it's easiest to stay in US for 90d over a three year period, then convert. Conversion means you hand in a translation of your license and proof that you've been in the US (not sure re other countries) for the required 90 days over three years, take an eye test and simple 10 question written test, and take a driving test. I hear they fail you a few times, but it's a cheap process compared to going to a school. Some countries and some US states (OH, WA, HI I think?) are exempt from the testing; you just do an eye test and bam, you're licensed.

Going to school

I started trying to get the 90 days in the US, and was up to 60 days, but COVID messed with those plans. Eventually my wife got tired of driving us everywhere so she insisted I just pay to take the course at a school. I went to the certified "kounin" school in Totsuka where we are, and to get your regular car license at any of such school is about 300,000 JPY.

There are schools that offer English language courses but they are not so convenient for me, so I opted for Japanese lessons with English tests. My Japanese is good, but my kanji reading is too slow to be competitive in a test situation. It's a lot of training, and textbook facts you have to memorize. I know how to drive so I had to tamp down the annoyance, and try to keep a beginners' mindset. The biggest challenge was, I'm 56, so memorizing is not my strong suit right about now.

My "stance" during all this was to keep an earnest sincerity, and kind of over-exaggerate all the checks and so on, that you're meant to do. Basically, when I took the driver test in PA in the US in 81, it was like getting tossed off a cliff. Our gym teacher at HS was the driving instructor, and while we did have a primitive driving simulator in the basement of the HS, the training was little to non-existent.

So for this class in Japan, I decided to make the best of it, ask a ton of questions and get them to explain a lot. Especially with regard to driving skills that, while I could do them, I can't say I felt confident about. Due to the step by step nature of the training and the repetition, I have to say I'm a lot more confident about things like backing up, parallel parking and so on.

The training is in two stages and breaks down like this:

  1. Stage 1
    • Take a psych test to find out your "driver personality"
    • Classes on basic knowledge
    • Practice driving basics inside the school grounds on their test course
    • Pass practice tests using "mantensama" online site
    • Pass "koukasokutei" 50-question true-false test after all classwork, which focuses on the classes you've taken so far
    • Pass "mikiwame" driving test, which says you're ready for the actual test
    • Pass the "karimen" driving test
    • Get your "karimen" learner's permit, with which you can drive on the streets when accompanied by person with a license
  2. Stage 2
    • Classes on intermediate knowledge
    • Practice driving basics outside the school on regular roads
    • First aid "set" class, 3 hr
    • Other "set" classes, such as "expressway driving" class, followed by actual expressway driving, or "emergency maneuvers" followed by some fun experiences like taking a curve at higher speed than normal or, slamming on the brakes to see how the car reacts at 40 kph
    • Pass practice tests using "mantensama" online site
    • Pass "koukasokutei" 90-question true-false test after all classwork, which focuses on stage 2 classroom learning with a little review of stage 1 learning, and is similar to the actual licensing exam
    • Pass "mikiwame" driving test, which says you're ready for the actual test
    • Pass "sotsugyo" driving test
    • Graduation ceremony, explanation of taking the written test at the DMV, and get your graduation certificate, and some other papers you need to present when taking the written test

That's a lot, and it's really designed to get a person with no experience at all, up to speed to be able to drive relatively safely. For that, I think it serves its purpose well. Despite knowing how to drive, I found myself nodding my head in agreement with the instructors, many around my age, when they were emphasizing some point to the classes (mostly late teens early 20s) about how dangerous an accident can be, or whatnot. Most of the many, many instructors I interacted with were excellent ranging in age from late 20s to around 60.

The two hardest parts for me were first, the memorization (it's just not so easy at 56) and second, not exceeding the posted speed limit. Thirty kph really feels too slow.

Remedial training

Before I could get the karimen learner's permit, I had to take the remedial two day course for people who have had their license confiscated - when I scheduled it, the person arranged it so I could take the course more near my house, which was a relief. I arrived at the school near Kamioooka at 8am, and my classmates were a guy who drove drunk and another who got caught speeding way over the limit.

The initial psych test they have you take on day one at the regular school gives you an idea of how you'll react in various situations. They ask many questions designed to tease out your personality, and also give tests that are designed to induce stress, as in, making the same mark on paper as fast as you can for a one minute period: how many X's can you make, crossing a backward slash.

I did not do "well" on this initial test, partially because of irritation about it, and partially because the explanations were fast and I wasn't following well. Then, surprise, surprise, there was another one during this two day course!

However, this time I knew what to expect, and did much better, with a normal result. The instructor also explained it better as well. He was really encouraging and got us psyched up to do it, and all of us got an acceptable result.

I think also it helped that this instructor, an ex cop, was empathetic and funny. He knew this course and the whole thing about losing your license would have been a stress and an embarrassment, and basically handled the whole two days with humor. Of the three of us, one fellow was at the point I was at, just before the "karimen" and the other fellow had already graduated. The instructor joked that he was going to make the graduate backup through the "crank" (a series of narrow 90 degree turns you have to negotiate), and that if he couldn't, he'd have to tell his school to rescind the graduated status. Sounds mean, but it was funny and broke the tension.

Formal steps and graduating

Regarding the two driving tests you take during the course of the schoolwork, they are formal and there are specific sets of steps that you must complete. This was a bit of a challenge because before each test, the instructors are explaining very quickly, and if your listening comprehension is not 100% on that day, you might miss something. I asked them to repeat just in case I missed; things like "so, after we stop, we're to turn off the engine and get out of the car, checking behind, otherwise it's a fail, right?" I imagine that might have helped another student who missed the point, since they said you'd fail if you missed it.

Regarding the "sets of steps" I mentioned, I mean a process like, before starting, you:

  • inspect the vehicle,
  • get in checking to the rear,
  • confirm parking brake and that the gear is in P,
  • press engine button twice / turn key to aux,
  • confirm mirrors and seat position,
  • verbally say you're ready,
  • fasten seatbelt,
  • turn on engine,
  • put gear in D,
  • release side brake,
  • check mirrors,
  • signal,
  • turn and check blind spot,
  • go.

Or, when changing lanes or turning, it's:

  • check back mirror,
  • check relevant side mirror,
  • signal,
  • check blind spot,
  • turn

I found it was useful to do some image training, thinking about these steps, and then do them every time I drove. You can get in a lot of practice before the test, if you memorize it up front and just repeatedly do it how they expect. It's a bit of a challenge to unlearn shortcuts you've been taking for many years, though.

The final driving test was a lot easier than I thought it would be, and you're paired up with another person. In my case, my partner was around 20, had never driven, and passed even though though they cut off a car coming straight while they were turning right. When the instructors were coming out to give us the results after taking the final test, I overheard my partner say "I know I screwed up badly...", and the instructor respond "yes, but you have done everything else right so far, so I am going to pass you. Just please be careful in those situations since you can't know what someone else will do."

Once you graduate, you don't need to go back to the school, but you've just got the the final written test, which is only given at the DMV test center. In our case, it's the Kanagawa Driver Center near Futamatagawa station in Yokohama. Before you could just show up and take the test, but due to COVID, now you register online and there's a bit of a wait. We had to wait a month. I graduated on 22 Feb and took the written test on 22 Mar 2022. During the month of waiting, unfortunately I could feel the facts kind of slipping away out of my brain, so I studied regularly using mantensama, and my own notes.

The final written test

The test center was a madhouse, but thankfully everyone was masked. Reception was supposed to be from 8:30 to 9:00am, so I arrived at 8:15. They were already processing people in, and it was already very crowded. When I got to the front of the line, I handed over my various papers including graduation certificate, proof I had taken the 2-day remedial course, and answers on a questionnaire about not having epilepsy or narcolepsy. I emphasized that I wanted to take the test in English, and the cop doing my check-in told me I need to fill out the form in English instead. So I did that, re-queued, and then got passed over to the eye test line.

The eye test was literally 30 seconds: you look into a machine like they have at the ophthalmologist, and say whether the opening in the C is up, down, left or right. Then you get directed to a waiting room. In my case, since my test was to be in English, they directed me to wait with other such testees, and in a few minutes another official came out to check our paperwork and direct us to the test rooms.

After a bit more waiting, and people scrambling down to the convenience store on the first floor to buy pencils (!) since they no longer provide them due to COVID, they passed the tests out and walked us through how to fill out the answer sheet. In the case of the foreign language testers, there were special codes to enter, so an official came over and filled bits of the sheet in for us.

The test in English had a different odd grammar from the odd grammar of the practice tests, so that was a bit of a jolt. The test is 90 questions in 50 min, and I used up 40 of the 50 min, handed it in, then went to a special kiosk to get a barcode slip with the license PIN on it, and pay the 2100 yen for the license fee. Actually, as is typical in Japan, you buy stamps to affix to a physical form.

Once everyone was done with the test I went back in and sat down, and waited for the result. They display the "jukenbango" numbers of the people who passed on the screen. Maybe 10 of about 100 people in the room failed, and were told to leave the room. But, there's my number, a pass!

Next they explain the rest of the process, including optional membership in the "safety club" which is 1500 yen for the license validity period, and has the main benefit of giving you a kind of "fast pass" letting you skip the line when you renew the next time. Sounds like a good deal to me, so I paid it. Maybe 5 of 90 of the others joined.

Finally, they came in with the licenses, and call people by the number of their birthday month, so since I'm Jan, I was in the first group. You get the license, hand in your permit, then leave. One last step is, to use a kiosk to check the info in the license. All good! Now I just need to remember to put the "beginner mark" magnets on the car any time I drive. Luckily the school gave us these as a graduation present.

Interesting trivia

Congrats, you made it to the end! Some interesting facts I picked up:

  • You can be cited for "failure to render first aid" if you don't use your first aid knowledge during an accident, whether it's your fault or not.
  • If your car runs out of gas or breaks down on the expressway, you can be cited for "failure to maintain your vehicle".
  • You can be cited for staying in the passing lane on the expressway.
  • If you ride the expressway, it's a requirement to have one of those triangle reflectors to put out in case of a breakdown.
  • Getting a citation or having points subtracted during the first year is a problem; you can be made to take a two day remedial class, then redo all the tests. What a pain. Drive carefully that first year!
  • If you get another more advanced license, like "jun-chuugata" (small truck), during the first year, the aforementioned strictness is applied to the more advanced of whatever license you have. So, if you have "jun-chuugata" and get cited while driving your normal car, that does not count as a citation against your first-year "beginner period".
  • If you are in an accident even if it's minor, never run and always call the police. Something that seems minor in the context of your home country is probably not seen as minor in Japan. The example given was bumping mirrors. They are designed to fold back, but even that is classed as an "accident" and you still have to call the cops, even if both drivers agree it's nothing. Better to do it right, than to risk having someone come at you later.


Social Photo by why kei on Unsplash

Tools for the Modern Linux Learner

If you're trying to learn *nix command line, whether you're on a Mac, Linux, the Linux subsystem in Windows or something else, here's a few points you might find useful:

In my opinion, don't try to learn every command deeply, but rather learn the basics, take a while to get used to it, then circle back for more detail. Use man to learn what you need, when you need it.


Idan Kamara created a really useful site called « ExplainShell » that graphically shows what linux commands do. For example:

https://www.explainshell.com/explain?cmd=tar%20xzvf%20archive.tar.gz

It kind of looks like what you’d draw on a whiteboard, if you were giving a lecture on a particular command.

In a similar vein is https://cheat.sh/, from @igor_chubin.


If you want to share your terminal sessions with other learners, try out the free and open source «@Asciinema» service, which lets you record your terminal sessions for sharing. Slick.


If you need a remote Linux server to learn on, create an account at sites like ctrl-c.club, tilde.club or tilde.town.


Zsh is a good interactive shell to use. «Zsh for Humans» (z4h by @romkatv on GitHub) is a configuration for z-shell that just works and works well. It has a killer ssh wrapper feature, that lets you auto-push your zsh environment up to a remote server, and is pre-configured with the most useful stuff. That is not to even mention the awesome prompt it includes: powerlevel10k.

Edit 20221204: zsh4humans isn't maintained per the github repo, so you might want to check out zim instead.


« Dasel » from Tom Wright @tomwright1993, is a truly cool tool. It uses a standard DAta SELector syntax, so you can learn it once, then use it for converting and querying files of various oft-used types. 🆒

It lets you do something similar to jq or yq, but it supports JSON, YAML, TOML, XML or CSV. Say you have a simple json file which you need in yaml. Just do this:

> dasel select -f website.json
{
  "ErrorDocument": {
    "Key": "404.html"
  },
  "IndexDocument": {
    "Suffix": "index.html"
  },
  "RoutingRules": [
    {
      "Condition": {
        "KeyPrefixEquals": "/"
      },
      "Redirect": {
        "ReplaceKeyWith": "index.html"
      }
    }
  ]
}

Easily convert to yaml like this:

> dasel select -f website.json -p yaml
ErrorDocument:
  Key: 404.html
IndexDocument:
  Suffix: index.html
RoutingRules:
- Condition:
    KeyPrefixEquals: /
  Redirect:
    ReplaceKeyWith: index.html

And boom.


If you need a super simple way to cryptographically sign a file, such as a software release, try « minisign », from @jedisct1.


« Dolt is git for data » as their repo says. 😎 A SQL database with git features, Dolt lets you push, pull, clone, branch, merge, do all the git things as well as all the sql things.

There's even DoltHub, where you can host public data such as this holidays dataset. It has tools like permissions, and a SQL query interface as well.


Try substituting «bat» for cat. Bat is a fast (written in Rust) cat clone with syntax highlighting for programming and markup languages, integration with your $PAGER, and git index awareness.


« Exa » (@dot_slash_exa) is a superb modern and fast ls replacement that supports colors, file and filesystem info, tree view, git info, and wide view. You have plenty of compute power, so why not take advantage of it and use something better than ls.


When you cannot dig dig for cli dns lookup, you might try « dog », written in Rust by Benjamin Sago @cairnrefinery (who also wrote the lovely exa) or « q », written in Go by Nate Sales. 😎

I especially like how you can output json from dog for consumption by another program for say, pushing to a database:

{
> dog esolia.com A AAAA MX TXT --json | jq
"responses": [
  {
    "additionals": [],
    "answers": [
      {
        "address": "99.84.138.103",
        "class": "IN",
        "name": "esolia.com.",
        "ttl": 26,
        "type": "A"
      },
      {
        "address": "99.84.138.27",
        "class": "IN",
        "name": "esolia.com.",
        "ttl": 26,
        "type": "A"
      },
      {
        "address": "99.84.138.119",
        "class": "IN",
        "name": "esolia.com.",
        "ttl": 26,
        "type": "A"
      },
      {
        "address": "99.84.138.118",
        "class": "IN",
        "name": "esolia.com.",
        "ttl": 26,
        "type": "A"
      }
    ],
    "authorities": [],
    "queries": [
      {
        "class": "IN",
        "name": "esolia.com.",
        "type": 1
      }
    ]
  },
  {
    "additionals": [],
    "answers": [],
    "authorities": [],
    "queries": [
      {
        "class": "IN",
        "name": "esolia.com.",
        "type": 28
      }
    ]
  },
  {
    "additionals": [],
    "answers": [
      {
        "class": "IN",
        "exchange": "alt1.aspmx.l.google.com.",
        "name": "esolia.com.",
        "preference": 5,
        "ttl": 300,
        "type": "MX"
      },
      {
        "class": "IN",
        "exchange": "alt2.aspmx.l.google.com.",
        "name": "esolia.com.",
        "preference": 5,
        "ttl": 300,
        "type": "MX"
      },
      {
        "class": "IN",
        "exchange": "aspmx.l.google.com.",
        "name": "esolia.com.",
        "preference": 1,
        "ttl": 300,
        "type": "MX"
      },
      {
        "class": "IN",
        "exchange": "aspmx2.googlemail.com.",
        "name": "esolia.com.",
        "preference": 10,
        "ttl": 300,
        "type": "MX"
      },
      {
        "class": "IN",
        "exchange": "aspmx3.googlemail.com.",
        "name": "esolia.com.",
        "preference": 10,
        "ttl": 300,
        "type": "MX"
      }
    ],
    "authorities": [],
    "queries": [
      {
        "class": "IN",
        "name": "esolia.com.",
        "type": 15
      }
    ]
  },
  {
    "additionals": [],
    "answers": [
      {
        "class": "IN",
        "message": "google-site-verification=K4Vo3d0t6V11dXkV2nWU-H0srafI_UVPtlCvKvN2npQ",
        "name": "esolia.com.",
        "ttl": 300,
        "type": "TXT"
      },
      {
        "class": "IN",
        "message": "keybase-site-verification=JldStq9k7lM6uosSy-za3ilkJo0mlnqSulhYIGMgbpQ",
        "name": "esolia.com.",
        "ttl": 300,
        "type": "TXT"
      }
    ],
    "authorities": [],
    "queries": [
      {
        "class": "IN",
        "name": "esolia.com.",
        "type": 16
      }
    ]
  }
]
}


Social Photo by Ash Edmonds on Unsplash

Maru the Shiba's Rebellious Phase

Our dog "Maru", a male Shiba, is going through a rebellious phase now at 11 months old. Our trainer told us Shibas especially go through a phase between 6 and 18 months where they seem to forget every bit of their training, won't listen to commands, won't eat, won't crate, forget there they're supposed to pee; all manner of fun stuff. Yep, it's happening. He's being extra difficult now, but there are still flashes of that obedient, cute little guy from, um, two weeks ago!

When it happens you just need to accept it, but also be smart about it. As the "alpha" you can't let him get away with everything, but as long as he is not tearing the place apart, we are finding that if we just chill and let him chill, he's more receptive to commands.

He has to take antihistamines for allergies, and thankfully has not started to resist the miracle-working "medi-ball" treats. These are balls with a marzipan-like consistency, into which you put a pill. We never, ever have trouble with giving him meds if we put it in a medi-ball. Good stuff.

Photo of Maru the Shiba at 11 Months



Photos by Rick Cogley

Japan is Sometimes Overly Precise

A while back, the morning news in Japan did a piece on "how much is too much reclining" in trains and planes. The result was, most people in Japan felt that 40.4 cm (15.90551 in) was the max they wanted someone in front of them to recline. In typical Japan News fashion, they measured distances and angles, and got a cute little girl to say when she felt uncomfortable when the man in front reclined. (What burns my cookies is when the person in front of you reclines violently and suddenly.)

Anyway, this sort of detail is typical in Japan, and it's something my western friends and I find rather humorous. For example, they go into incessant detail about wind speed and hectopascals of barometric pressure, compleat with demonstrations from poor schlub in the field going "yep, this gale force wind is realllly hard to walk in". I, for one, expect my news broadcast numbers to be reported with six decimals of precision. :-p

Of course many Japanese are aware of this tendency, and have done some excellent comedy taking the piss regarding it. Here are a couple funny examples:

I promise, those are meant to be comedy, despite the assertions from the "experts" in the comments section. (God save us).



Social Photo by Matt Artz on Unsplash

Trouble Comes Free

Of course there are people who live by creating trouble as their raison d'être, like Baron Munchausen. In my thinking, life dishes out trouble anyway and automatically, so why make it more difficult?

People who are constantly negative are as impractical in thought, as people who are constantly positive. People who make even more mistakes to compound the problem as the pressure mounts, then bail, are another good example. As are people who fail to plan at all, or people who blurt out problems expecting magic, as though nobody else ever noticed it and just failed to wave their magic wand to fix it. Another example is people who insist on looping you in to their every issue.

I strive to not be an example of the above. I like people who fix problems and will fix problems with me, and try to cultivate relationships with them.

N.b.: "Munchausen Syndrome" is colloquially called "match pump" in Japanese. S/he who lights the match also yields the pump. Very descriptive. Almost poetic.



Social Photo by Robert Gourley on Unsplash

Praise for Discomfort

Thinking about motivation and how to motivate, I came to a conclusion that works for me.

Praising someone for what they are already good at, is a waste of an interaction. The person being praised learns nothing, especially if you or others have said it before. The praiser misses a chance to make any sort of difference, and can fall into a rut of doing nothing to improve or better themselves.

I think it's better to guide someone in the direction of things they don't like to do or are not good at, then praise them when they do it. Such as when a person, perhaps an "introvert", who fears and avoids confrontation, takes the plunge and confronts a difficult person in their life. Or when a decidedly non-athletic person makes a big effort to get out there and do something more athletic, even if it's just walking around the block to start. Or when a person develops job skills that they never thought they'd be able to. I think praise in those circumstances has lasting meaning.

Conversely, praising a talented athlete for being great athletically, or a student who never has to study to do well, for getting good grades, is just a waste.

Through the lens of living in Japan, people criticize more when you're uchi rather than soto. When you are uchi, a part of the group (the family, company, or club), the criticism can be harsh, because "otherwise, who else would ever say this." And usually, we don't direct too much criticism at someone outside the group, at someone who is soto. However it feels dysfunctional to me, no matter how many years I have lived in Japan, to harshly criticize someone just because they're a group member, and you can. I want to remember that words can be weapons.

Hopefully I am neither too harsh nor sweet, giving praise where it counts most, and therefore succeeding to motivate people to do better.



Social Photo by Cindy Tang on Unsplash

Got Japanese Humor?

I like comedy because laughter makes me feel better, and the heavy stuff comes for free. What about in Japan?

Japan has some interesting comedy or "owarai" styles that are good to know for learners of Japanese. It might be really, really esoteric to those who don't speak any Japanese, but if you're trying to get from intermediate to advanced any language, you could do worse than to listen to and learn some comedy in that language.

Japan has some types of humor such as the performed styles manzai, rakugo, or konto, and written styles like senryu.

Manzai (漫才) acts are almost always a "double act" pair like Abbott and Costello, and it's characterized by rapid fire talk, back and forth between a "tsukkomi" straight man, and a "boke" funny man. The M-1 Grand Prix is a great Manzai act competition. Manzai acts I like are Waraimeshi ("double boke" style switching the boke role between them), Tutorial (delusional "wild idea" style) and Slim Club (extra slow delivery).

Rakugo (落語) is traditionally a lone seated comic, performed with a fan as a prop, with an emphasis on a story. After the success of M-1 Grand Prix for manzai acts, single-performer acts got features on the "R-1 Grand Prix". The R comes from Rakugo, even though these acts are usually pretty far removed from traditional rakugo.

Konto (コント) are skit performances, sometimes quite elaborate and funny. They remind me of the ones Carol Burnett and her troupe used to do on her show. God, I'm old.

Senryu (川柳) especially "Salaryman Senryu" are haiku-like poems which riff on daily life.

If you're a learner of Japanese and interested in this, just search online for the above words.

Read More



Social Photo by Michel Grolet on Unsplash

Stop Fiddling with your Tool

Are you a project manager or, a manager of MS Project. That is, is your selected tool impeding you rather than helping you? The more time spent fiddling with your tool (an apt metaphor here), the less time you're spending thinking and communicating about how people, things and money fit with your schedule and the goals you're aiming to meet.

There may be projects that require a 5000-line Gantt chart, but even large projects I've managed have never needed one. Steering committees made up of senior people don't want to hear a PM droning on trying to zoom in on a super-detailed Gantt. In fact, most would question the sanity of a PM who shared or presented such a monstrosity.

Instead, I think the better approach is:

  1. let your teams manage their piece with whatever documents they want (sometimes compliance proscribes this) and report to you the day before the steering committee meeting.
  2. keep a 20,000 ft view Gantt in a Spreadsheet, with 5 or 6 activities, to roughly show where the project is at and just update the dates and status before each meeting.
  3. mark status in a simple "GYR" manner: Green means good, Yellow means slowed, Red means there's a showstopper. You can use it to focus attention where your executives can provide the most help: getting problems unstuck.

That said, there will always be someone who will be a tool about why you're not supplying a detailed Gantt, but don't buckle to that pressure. It's a fool's errand.

In the end, satisfy the real and pressing requirements of your projects, and stop fiddling with your tools.



Social Photo by Matt Artz on Unsplash

My Favorite Podcasts #trypod

Before COVID I used to walk to JR Totsuka station here in Yokohama, every day for my commute to Tokyo. It was a good opportunity to listen to a podcast, and I have several favorites I'll share here.

Although there's English news in Japan (I've paid so much in newspaper subscription fees for the last 34 years I'm practically an investor), I like radio, and Podcasts are a great radio-like way to keep up with what is going on outside our little archipelago. I can't stand queuing, but we do a lot of it while waiting for trains, so, podcasts come in handy to fill in that void. Also they are great for the train ride itself, too.

You can subscribe to these podcasts from Apple iTunes, apps like Overcast or Castro on iPhone (I don't have an Android but there are a bunch of apps you can use like "BeyondPod", "Stitcher Radio" and others), or on apps from the podcast producers, like NPR's "NPR One" app.

My Favorite Podcasts

In no particular order:

From Moz://a

Mozilla does important work "to ensure the Internet is a global public resource, open and accessible to all." The Mozilla Manifesto is worth studying, and it's great that there is an organization fighting for us, the "Joe and Jane Users" of the Internet. I like the Mozilla IRL podcast, which makes the point that our online lives are real life.

From NPR

Here's NPR's directory, and among those, I love:

  • Invisibilia
  • Planet Money
  • TED Radio Hour
  • How I Built This

From PRX

PRX sponsors a curated group of podcasts called "RadioTopia", which keeps me deep into listening material from gems like:

  • 99% Invisible
  • ZigZag
  • What Trump can teach us about Con Law
  • The Memory Palace
  • The Allusionist
  • Criminal
  • This is Love
  • Song Exploder
  • Mortified

From CIR and PRX

PRX and the Center of Investigative Reporting co-sponsor a great one:

From WNYC Studios

WNYC produces many beloved podcasts. Read more at their site, but here's the ones in my heavy rotation:

  • RadioLab
  • More Perfect
  • Freakonomics Radio
  • More Perfect
  • Here's the Thing

From WBEZ Chicago

Can't forget Ira Glass team's "stories in three acts". I love these Podcasts from WBEZ:

  • This American Life
  • Serial
  • S Town

... and you can learn more at the WBEZ website.

Others

No less important, but here are a handful of other great ones:

  • From Glenn Ostlund: MytholoGuy is a fantastic new family-friendly podcast that showcases stories from around the world. I wish I had had it when my kids were growing up.
  • From Stitcher: Stephen Dubner's Tell Me Something I Don't Know). Fake news antidote.
  • From Defacto Sound: 20000 Hertz. Want to know all about "that sound"? 2K Hertz has you covered.
  • From Panoply: Malcolm Gladwell's Revisionist History. Revise away; it's so entertaining.
  • Kevin Allison's Risk! podcast. It's kind of an adult version of "Mortified".

And that's a wrap. If you're not yet into Podcasts, the ones above are a good starting point. You're sure to branch out and find other ones you love, among the great content that's being produced these days. Enjoy!

Read More



Social Photo by Jonathan Velasquez on Unsplash

Japan Banking is a Polite Bureaucratic Hell

The other day I had to do three bank transfers for my company, since my business partner who usually takes care of this, couldn't. The bank tellers are really very polite, but I can't get away from the idea that they are also completely incompetent, albeit really politely.

The thing is, I had only the bank book and the hanko (stamp). If you have the cash card and PIN, it's easy to do a bank transfer. You deal with an ATM only. But if you don't, it's forms, and forms mean mistakes, especially for a schlub like me whose written Japanese is fair, to be charitable. 😅

On getting there at 11AM, I explained the situation, saying what I brought and what I want to do. I got the right forms (there's a different one depending on the target bank). Filled the forms, getting help from the floor teller, whose directions I followed to the letter. It takes me a while to fill them out too, because of course it's all Japanese, this being Japan.

Submitted the forms, waited 20 minutes. Got apologetically called up and told I need to re-write the forms because the order I wrote the company name and my name was incorrect, and, I can't just cross it out. It has to be company name first, then my name and title. Also, I wrote my own title wrong, apparently, despite having been told to enter it that way. But... the lady out there said... nevermind. Have a seat...

So, rewrote the forms how the window teller told me (even flubbed up one from sheer fatigue and re-wrote it), re-submitted, more waiting. Called again. The name on this transfer form is not correct (despite the spelling being exactly what is on the directions I got from the requester). Fixed it to her directions, stamping where I needed to, and for some inexplicable reason they let me cross it out and stamp the affected area. Uhh, but you just said... nevermind. Have a seat...

Got called again, this time to write my name and company name on the back of a piece of paper "for security reasons". Uhh, ok... poor writing ensues. Have a seat...

Called again. Also, your name here, and here, and here is incorrect. It needs middle dots.

In other words, this:

コグレー ジェームズ

... had to be this:

コグレー・ジェームズ

Fortunately, this time they let me just add the dots, miracle of miracles.

More waiting, wondering if the Wizard of Oz in the back there is having fun or not. Finally, success, at 14:00 after three hours. I hope I never have to do that again. Argh.



Social Photo by Wesley Tingey on Unsplash

Japan PSA - Autumn is Murder Hornet Season

Robert on Strava says he "just takes the stings and calls it free Vespa", which is funny, but Asian Giant Hornets (Vespa mandarinia) in Japan are no joke. Read on to find out why.

Sept and Oct is breeding season for the Japanese Hornet, which is when they get aggressive. In Japanese, these are called "oo-suzumebachi (オオスズメバチ)" meaning "great sparrow bee" because of their large size. You know you're in trouble when they start clacking their mandibles. You'll hear their buzzing anyway, but when they start in with a clack!-clack! sound, know they're going on the attack.

If you're in Japan and watch the Japanese news, you'll see reports about these regularly. I read that 40-70 people die yearly in Japan from their stings, specifically from anaphylactic shock. These hornets have a re-usable stinger, so they can stick you multiple times. If you approach them, accidentally or on purpose, or are simply in their vicinity, they can attack. One came after me as I was hanging out the laundry, not even near a nest.

Black-clothed, loud, perfumed people be gone!

They say prevention is half the cure, so, this is what I've learned:

  • Stay away from their nests, in trees (even low to the ground such as in the roots of a big tree) or the eaves of buildings.
  • Wear solid white, and avoid creating areas of contrast on your body (like black stripes on a white background).
  • Don't wear any scents at all, even scented soaps - keep it boring on the trails in the autumn in Japan.
  • Do like bee-keepers do - stay calm, slow and quiet. Nobody likes a lot of noise on the trail anyway, but, if they are coming after you, don't swat at them and yell. Go gently and quietly.

If you do get stung, I read that the best thing to do is to squeeze out the venom (with your fingers, not by sucking), and keep it cold until you can get to a doctor. And multiple stings necessitate such a visit.

Stay safe out there.

⚠️ 🐝 😱

kenpei-vespa_mandarinia_japonica image

Related



Social Photo by hp koch on Unsplash

Deploy Hugo on Vercel

A question on the Hugo support forum prompted me to try deploying the Hugo quickstart site on Vercel. It was super simple. Here's what I did.

Hugo Quickstart

First, just run through the quickstart steps in a local folder to get it basically working. I put my projects in $HOME/dev.

Connect to Vercel using their CLI command

Assuming you have installed the vercel CLI command locally and have authenticated, you can connect your new Hugo project to your Vercel account by running vercel in the project folder. It prompts you for the basic settings you want for the project, and for a standard Hugo site, ./ is correct for the code directory:

vercel
Setup and deploy? Y
Which scope? Rick Cogley
(pick user or org, and I picked "Rick Cogley" my account)
Link to existing project? N
Project name: hugo-quickstart
In which directory is your code located? ./
Override settings? N
Deploying...

N.b.: Vercel private / free accounts require non-commercial sites

It will start deploying, and return some info about the deployed site.

Want to override the settings? [y/N] N
🔗  Linked to rickcogley/hugo-quickstart (created .vercel and added it to .gitignore)
🔍  Inspect: https://vercel.com/rickcogley/hugo-quickstart/APeDa4... [3s]
✅  Production: https://hugo-quickstart-lilac.vercel.app [copied to clipboard] [28s]
📝  Deployed to production. Run `vercel --prod` to overwrite later (https://vercel.link/2F).
💡  To change the domain or build command, go to https://vercel.com/rickcogley/hugo-quickstart/settings
user=1.07s system=0.25s cpu=0% total=2:39.28

You'll see that it creates a .vercel folder in your project folder, which contains account and project information in a project.json. This folder is added to .gitignore so if you git clone to another system at a later date, you'll need to link it again using vercel.

The site should now be available where Vercel deployed it (it's on the clipboard, so just paste into your browser to check).

So, it's deployed, and you could simply work from your local folder, and use the vercel CLI command to re-deploy when you need to. However, it's cooler to deploy on git push, so let's get that working next.

Minor Tweaks Needed

Now you can edit your Hugo config.toml adding the URL that Vercel provided as a baseURL, although, it appears that Vercel is smart enough to feed Hugo the production URL anyway.

Also, since Vercel's default Hugo version is really old, copy the vercel.json from my test repo for this post, and add it to the base of your project. This will tell Vercel to use that version of Hugo and also set some security headers for you.

Create a GitHub Repository and Link It

Next, create a repository in your Github, but do not add a README or anything. Then execute these commands from your local project folder, to add your new GH repository as a remote, add and commit the changed / added files, and push to main.

git remote add origin https://github.com/YourGithubUser/hugo-quickstart.git
git add .
git commit -m "added baseurl to config, added vercel.json"
git branch -M main
git push origin main

Now in your Vercel project, settings, Git menu, connect Vercel to your Github repo using the button.

Test by Editing and Pushing

Then to test, make an edit in the site files (e.g. content/my-first-post.md), push to main, then check the URL that Vercel deployed on. You can watch it deploy in your Vercel project.

And that is it. A very simply process to get a Hugo project linked up to and deployed to Vercel.

Vercel


Social Photo by Artiom Vallat on Unsplash

Backup Your @postmarkapp Templates

The other day I wrote about using Postmark for sending out HTML emails. We wanted to have a way to backup our Postmark email templates automatically, so we coded a simple Github Actions workflow.

There is about 10 minutes of setup for you to do, and it works well enough to backup your Postmark templates and server information on a schedule.

Basically, you need to:

  • Visit our postmark-backup repo on Github.
  • Click "Use this template" to copy the repo to your own account where you can set your repo's visibility.
  • Make a couple of adjustments to the workflow yaml file.
  • Add some repository secrets to reference your Postmark account and server tokens as appropriate.

Once it's setup, it's basically set and forget, and will backup on a schedule, or when you push.


Post Cover Photo by Markus Spiske on Unsplash. Git repo photo by Rick Cogley.