-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.json
1 lines (1 loc) · 125 KB
/
index.json
1
[{"categories":["blog podcast"],"content":"As of Sunday, December 18, 2022, the Tech Guy radio show is no more. But starting Sunday, January 8, 2023 a new and improved show will be born: Ask The Tech Guys with Leo and Mikah! I may be “retiring from radio” but all that really means is that I’m hanging up the transmitter and towers. I’ll still be talking tech with you for six shows a week at https://twit.tv. Most importantly, I’m still doing The Tech Guy show but without all the attendant radio cruft. Leo and Mikah waiting for your Zooms!\" Leo and Mikah waiting for your Zooms! Here’s how the show will differ: Mikah Sargent is co-hosting with me. Yay! Mikah represents the next generation of tech guys, and, more importantly to me, we have a lot of fun together! We’re going to use the “Living Room” set in the studio with additional demos in “Radio Corner.” (If that’s confusing watch, you’ll see what I mean.) No more 19 minutes of radio commercials per hour - seriously, that’s not an exaggeration, that’s the legal max. We’ll still have podcast ads but no more than three per show. Ironically this means the podcast will be longer because we’ve been cutting those radio ads, and local newscasts, etc, out. I anticipate the show will be closer to 3 hours than the previous 2 hours. Of course, there will be only one show a week instead of two, but still a net loss of an hour per weekend from previous years. We’ll still stream it live at https://live.twit.tv, Sundays 11a-2p Pacific/2-5p Eastern/1900-2200 UTC, and we’re hoping for plenty of live calls. Calls will be primarily via Zoom. We’re strongly encouraging everyone to call from their smart phones using https://call.twit.tv - you won’t need to install Zoom. We will also be answering emails at [email protected]. And encouraging recorded questions via email. Expect two hands-on demos a week. We will always offer audio versions of the show, but we want to use the availability of video to do more. We’ll make sure to describe the video for people who only listen. Questions and answers will still be the backbone of the show, as before, but we’ll also have several pre-recorded segments every week from the Tech Guy contributors (Scott, Johnny, Dick, Sam, Chris, and Rod) as well as short interview segments. For example, I’m interviewing Daniel Suarez about his new book Critical Mass, on Feb 10. A 10-minute except will be aired on ATG and the full interview will be a Triangulation special. I want to use ATG as a chance to do more short, one-off interviews. We need these short pre-recorded segments of 3-5 minutes to give us a break during the live recording on Sundays. In short, the show will be the Tech Guy plus. I’ll still do the show opens, aka my Sunday Sermon, but I think it will feel a bit more relaxed without the clock forcing me to break at awkward moments. We are going to put a time limit on calls and segments, however, to maintain some pace. I think it will be a really fun, engaging, and informative show unlike anything we’ve done in the past. I hope you’ll listen. The feed is exactly the same, as is the show page: https://twit.tv/ttg or https://techguylabs.com. If you’re already subscribed to The Tech Guy feed in your podcast client do nothing. The show will continue with episode 1956. See you Sunday! ","date":"2023-01-07","objectID":"/2023/01/askthetechguys/:0:0","tags":["radio techguy podcasts askthetechguys"],"title":"Time to Ask The Tech Guys","uri":"/2023/01/askthetechguys/"},{"categories":["blog"],"content":"Roger Angell passed away yesterday at the age of 101. A long-time editor at The New Yorker, he was also the best damn baseball writer ever. His essay This Old Man from 2014 is a lovely paen to old age and features these words of wisdom from another old coot, Walter Cronkite. Never trust a fart. Never pass up a drink. Never ignore an erection. Truer words were never spoke. ","date":"2022-05-21","objectID":"/2022/05/thisoldman/:0:0","tags":["aging"],"title":"This Old Man","uri":"/2022/05/thisoldman/"},{"categories":["blog"],"content":"Posting to my blog has never been easier!","date":"2022-05-04","objectID":"/2022/05/easy-hugo/","tags":["emacs hugo easy-hugo"],"title":"Easy Hugo","uri":"/2022/05/easy-hugo/"},{"categories":["blog"],"content":"If you can read this I’m too close. Close to nirvana that is! I’m posting this using emacs and an emacs extension called easy-hugo. I’m writing this in Markdown mode, but it also supports org-mode, HTML, AsciiDoc, and a number of other major modes. Works with S3, github, Google cloud storage, etc. Honestly this wouldn’t be a big deal, but I’m really trying to find ways to post more often. And that means reducing the friction of writing as much as possible. Emacs is always open on any computer I’m using. Which now means… so is my blog. ","date":"2022-05-04","objectID":"/2022/05/easy-hugo/:0:0","tags":["emacs hugo easy-hugo"],"title":"Easy Hugo","uri":"/2022/05/easy-hugo/"},{"categories":["blog"],"content":"Random notes about current projects","date":"2022-05-04","objectID":"/now/","tags":["now"],"title":"Now","uri":"/now/"},{"categories":["blog"],"content":"This is my now page. I’ll check in from time to time to tell folks what I’m doing. Now. ","date":"2022-05-04","objectID":"/now/:0:0","tags":["now"],"title":"Now","uri":"/now/"},{"categories":["blog"],"content":"Current Location Petaluma, California, USA (38.27377102230379, -122.67053388165631) ","date":"2022-05-04","objectID":"/now/:0:1","tags":["now"],"title":"Now","uri":"/now/"},{"categories":["blog"],"content":"Profession Radio host (since 1976) - currently hosting a syndicated weekend call-in show called The Tech Guy (last show will be December 18, 2022) Founder of the TWiT Netcast Network where I host six podcasts about tech. ","date":"2022-05-04","objectID":"/now/:0:2","tags":["now"],"title":"Now","uri":"/now/"},{"categories":["blog"],"content":"Family Married to Lisa with two adult children, both performers, and one adult stepson following his grandpa’s footsteps in the grocery biz. Owned by two cats, Paris and Samantha. ","date":"2022-05-04","objectID":"/now/:0:3","tags":["now"],"title":"Now","uri":"/now/"},{"categories":["blog"],"content":"Motto 186,000 miles per hour. It’s not just a good idea, it’s the law. Hobbies ","date":"2022-05-04","objectID":"/now/:0:4","tags":["now"],"title":"Now","uri":"/now/"},{"categories":["blog"],"content":"Working on learning Lisp Wed 04 May 2022 11:20:05 PM PDT I got pretty good at Racket (Genus Scheme, Family Lisp) by reading How to Design Programs and taking a related online class from Gregor Kilczales from the University of British Columbia on EDX. Good enough to earn 37 out of 50 stars in the 2021 Advent of Code (although I stopped more because I ran out of interest than I ran out of Scheme).. My solutions are on Github. I’m really proud of them. I’ve been programming for fun for a long time - more than 40 years. I wrote a daemon dialer for my Mac BBS in 68000 assembler in 1986. I know it was 1986 because I remember watching the Space Shuttle Challenger blow up while I was doing it. A few years ago I decided to start over and learn how to program right. That’s when I started HtDP and Racket. But everyone agrees the king of languages is Lisp. esr says: Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot. Raymond is spectacularly wrong about many things, but I think he nailed it with Lisp. So now I’m working on that. I like Lisp because it’s exactly as old as I am and it hasn’t changed in 40 years. Unlike me. I’ve been using the following books to learn: Common Lisp, A Gentle Introduction to Symbolic Computing by David Touretzky Practical Common Lisp by Peter Siebel ANSI Common Lisp by Paul Graham On Lisp by Paul Graham I recommend all four in that order. I’m hoping to do this year’s Advent of Code in Lisp. And get all 50 stars, too. (But I’ll be happy with 40.) ","date":"2022-05-04","objectID":"/now/:0:5","tags":["now"],"title":"Now","uri":"/now/"},{"categories":["blog"],"content":"Learning Emacs Wed 04 May 2022 11:45:11 PM PDT Part of learning Lisp is learning Emacs. They go hand-in-hand. I don’t think I can really become adept at it in my remaining 18 years but it’s fun to try. I’m also trying to learn its org-mode for journaling, note-taking, and list making. It’s pretty handy. Forget vi, I’m emacs for life. ","date":"2022-05-04","objectID":"/now/:0:6","tags":["now"],"title":"Now","uri":"/now/"},{"categories":["blog"],"content":"Travel Fri Nov 18 08:30:34 2022 Sometimes I think the best part of travelling is planning the trip. The expectation is thrilling. I’m using Notion to plan it out. Currently booked trips: Lisbon-\u003eRome cruise on Silversea, 31 March - 16 April 2023 with an extended visit with PadreSJ in Rome. F1 Grand Prix in Las Vegas, 16-19 Nov 2023 - a big bucket list item, Grandstand seats on the Strip straightaway! Danube River cruise, 22 Dec 2022 - 3 Jan 2023 on Uniworld - another bucket list item, Germany’s Christmas Markets and New Year’s Eve in Vienna Mississippi River cruise, 14-28 September 2024 on Viking - if the river don’t dry up that is In between Lisa and I like to take short trips in the US, we’re thinking Las Vegas or Seattle for the holidays this year. ","date":"2022-05-04","objectID":"/now/:0:7","tags":["now"],"title":"Now","uri":"/now/"},{"categories":["blog"],"content":"Coming to grips with aging Wed 04 May 2022 11:40:07 PM PDT My mom turns 90 in January my dad next July. They’re both sharp and healthy but they’re slowing down and I know I won’t have many more years with them. I’m 65. Retirement age. According to the Life Expetancy Calculator I have about 18 years left. That’s it. I worry about being a burden to my family in my later years, even though my parents aren’t yet. I’ve read Atul Gawande’s excellent (and sad) Being Mortal and it scares me. I’m an atheist so I don’t have any hopes of an afterlife. Although, as I get nearer to the end I notice that Nick Bostrom’s simulation hypothesis gets more appealing. Even more believable. I also wonder if I shouldn’t retire soon so I can enjoy my remaining years. (I have about the same amount of time left as I’ve been doing TWiT. That seems like a very short time.) I want to travel and my work schedule makes it hard to go on the longer trips I dream about, especially an around the world cruise. I have enough money saved to retire fairly comfortably, even go on that cruise, but I still am the primary support for several family members and I am afraid of leaving them in the lurch. And then I wonder if not working will drive me nuts. I think it’s likely I’ll begin to work less and less over the next few years and by the time I’m 70 just do one, audio-only, podcast a week until my voice or my brains give out. ","date":"2022-05-04","objectID":"/now/:0:8","tags":["now"],"title":"Now","uri":"/now/"},{"categories":["blog"],"content":"Reading I’m on book four of the very fun Bobiverse series from Dennis E. Taylor. Ray Porter reads it for Audible and he’s just perfect, as he was narrating the excellent Project Hail Mary by Andy Weir. Porter’s a master of modern wise-ass delivery. (Wed 04 May 2022 11:51:48 PM PDT) Finished the Bobiverse (until the next volume comes out - it’s quite enjoyable). Now listening to Neal Stephenson’s latest Termination Shock. I’m a huge Neal Stephenson fan, Crytponomicon is one of my all-time faves, and this one doesn’t disappoint so far. Neal’s erudition and research is so high quality that I never mind his weak endings. It’s the journey that matters. (Sat 28 May 2022 02:26:32 PM PDT) Also attempting David Graeber’s The Dawn of Everything (archeology and world pre-history) and I’m mired in the slog - book six - of the Wheel of Time. I may not finish that one. I only have 18 years left, remember. (Wed 04 May 2022 11:54:56 PM PDT) Just finished William Gibson’s The Peripheral in preparation for the Amazon Prime adaptation. Gibson never disappoints, although I had to re-listen to the first few chapters just to understand what was going on. Much better than the TV show. (Fri Nov 18 08:41:50 2022) Now playing: I’ve finally got around to the Expanse series. I watched a season of the TV show (pretty good) but the novels are surprisingly even better. I’ll probably work my way through most of them. (Fri Nov 18 08:37:30 2022) Up and coming: Iain Bank’s Culture Series. It’s apparently Elon Musk’s bible and I’d like to know what’s going on in that dememted noggin. ","date":"2022-05-04","objectID":"/now/:0:9","tags":["now"],"title":"Now","uri":"/now/"},{"categories":["blog"],"content":"TV I watch way too much TV, usually a couple of shows each night with Lisa. Our secret shame is Peacock/Bravo’s Below Deck reality series. We started watching it during Covid because we missed traveling so much. But now we’re just hooked on the drama. We loved loved Loved Succession on HBO and Slow Horses on AppleTV+ but I’m having a hard time finding anything I love as much these days. Turned out we loved Industry on HBO - it’s very Succession like. ","date":"2022-05-04","objectID":"/now/:0:10","tags":["now"],"title":"Now","uri":"/now/"},{"categories":["blog"],"content":"It's over right? I think it is. Hello? Can I come out now?","date":"2022-02-16","objectID":"/2022/02/isitover/","tags":["covid covid-19 masks"],"title":"Mission Accomplished","uri":"/2022/02/isitover/"},{"categories":["blog"],"content":"I created this site in the midst of a pandemic. Now two years later, it’s over. Right? Today mask mandates are lifted in our county and, despite cowardly quibbling from the CDC, most of the US. It seems the pandemic ends with a whimper, not a bang. Sunday’s mostly-maskless Superbowl was the party we’ve all been waiting for. And, yet, I’m not exactly ready to celebrate. Personally, I’m planning to tiptoe back, mask at the ready. I’d love to make a pyre in the backyard to burn them all, but what if there’s a new virulent variant? We still have Π Ρ Σ Τ Υ Φ Χ Ψ and Ω if we need them. But, for now, I’m willing to say Mission Accomplished. Good job everyone. Let’s say a prayer for the nearly one million dead in the US, nearly six million worldwide (a chilling number) and get back to living. Save the remaining ivermectin for the horses, shall we? Oh, and get your goldurn vaccine, will ya? For me? For all of us! ","date":"2022-02-16","objectID":"/2022/02/isitover/:0:0","tags":["covid covid-19 masks"],"title":"Mission Accomplished","uri":"/2022/02/isitover/"},{"categories":["blog"],"content":"A proud papa interviews his boy on the Tech Guy show","date":"2022-02-07","objectID":"/2022/02/likefatherlikeson/","tags":["tiktok salt_hank henry"],"title":"Like Father, Like Son","uri":"/2022/02/likefatherlikeson/"},{"categories":["blog"],"content":"Yesterday my son showed up at the studio. I took the opportunity to interview him! Henry (or Hank as he’s known now) has become a big-time Tik Tok chef with 1.8 million followers and nearly 30 million likes. Check out his videos and, as soon as he gets more, you can also buy his salt at salthank.com. We tried to reproduce a photo from 27-years-ago at KSFO. Fathers and Sons 27-years apartFathers and Sons 27 Years Apart \" Fathers and Sons 27-years apart Thanks to RailEuropeGroups from Club TWiT for the Photoshop! And here’s the clip from Sunday’s show. I guess I’m kind of a proud father! ","date":"2022-02-07","objectID":"/2022/02/likefatherlikeson/:0:0","tags":["tiktok salt_hank henry"],"title":"Like Father, Like Son","uri":"/2022/02/likefatherlikeson/"},{"categories":["blog"],"content":"Let the Fediverse handle it. Why I'm changing my commenting system on leo.fm.","date":"2022-02-06","objectID":"/2022/02/comments/","tags":["comments mastodon fediverse"],"title":"A New Commenting System","uri":"/2022/02/comments/"},{"categories":["blog"],"content":"I’ve been using a third-party commenting system here, Commento. But I think it’s time to make a change. Commento is well supported by my blog engine, Hugo. It’s relatively inexpensive with a good set of features, but…. this is such a low volume blog that I don’t think it’s worth the $5/month for Commento. That’s no reflection on it - it’s a nice system. But I like the idea of the Fediverse and I’d like to support the Mastodon instance I run, twit.social. It turns out it’s pretty easy to use Mastodon comments with Hugo. I found a great post by Carl Schwan that included the code to insert in my theme. A simple copy and paste and - wow!- it worked! I modified the default header to include a link to twit.social. The only trick is to quickly edit the post metadata to point to the toot announcing the post. So it’s not automatic, but it’s not hard either. I’m hoping that this will facilitate conversation on posts here, and, not incidentally, drive some traffic on Mastodon. Thanks, Carl. To try it out - press “Reply” below and it will open a Mastodon form in your browser. Your comment will appear here and on your Mastodon account. If you don’t have a Mastodon account, join us at twit.social. We’d love to have you! UPDAYE: Well for some reason that’s not working at all. Sigh. I’ll keep banging on it. I love the idea of creating a conversation about posts on Mastodon, especially since I’m already running my own instance. Ironically one of the replies to this post was a complaint about my facetious cookie banner. Without Commento.io there are no cookies, so I’m turning that off too. Finally, I had it half working using Carl’s code, but I did need to get some Javascript, purify.min.js, accesible. Carl uses it to sanitize HTML in comments. I stuck that dang code everywhere, but finally put it in /static/assets/js/ and lo and behold, it works! I still have a lot to learn about Hugo. Per Carl, I am using his “Load Comments” button to keep from hammering the Mastodon server. So have at it! ","date":"2022-02-06","objectID":"/2022/02/comments/:0:0","tags":["comments mastodon fediverse"],"title":"A New Commenting System","uri":"/2022/02/comments/"},{"categories":["blog"],"content":"I pulled the trigger on a Monster Gaming Machine. I know it’s crazy, but boys just want to have fun. See I have a three-year-old iMac Pro, but it’s getting flaky and I’ve been eyeing my wife’s 49\" monitor for months. Dell 49-inch Curved Monitor\" Dell 49-inch Curved Monitor Apple’s never going to do something like that! And how long before they ship something powerful that can work with an external monitor: A high-end mac Mini or a new mini-Mac Pro? I finally lost my patience and pulled the trigger on something completely different. Alienware Aurora Ryzen Edition R10\" Alienware Aurora Ryzen Edition R10 Maxed out with a Ryzen 7 5800X, nVidia GTX 3080, 128GB RAM, and dual 2TB drives (1 m.2, 1 spinning). I know I could save money and probably get something better by building my own or going to a custom gaming PC maker, but these components are hard to get and I figure Dell can get them faster than anyone else. Even so this baby doesn’t ship ’til May. And as long as I’m going for a power rig, I might as well go all out with a monster monitor, right? Alienware 55-inch OLED Gaming Monitor\" Alienware 55-inch OLED Gaming Monitor A 55-inch OLED monitor that’s absurdly expensive. (It’s basically a hi-res TV but it costs a lot more.) I rationalize this crazy purchase because I believe in open source, and like Linux as much as I like macOS. Dell supports Linux pretty well. (No I don’t plan on using Windows. Ick.) I really need to get to know the new PC hardware. Specifically The AMD Ryzen and the new nVidia ray-tracing GPUs. I can’t get an Xbox Series X or Playstation 5 to save my life, but I really want to play something new. and the real reason… Valheim (it runs on Linux!) I’ve been saving up for something like this for some time. It’s kind of the Ultimate Gaming Machine for 2021. OK tell me I’m a fool. I’m ready to be roasted. Or you can come over and watch me play Valheim come May. UPDATE: It has arrived. I’ve been playing with it all day and it’s so fast. Super happy with the purchase. Dual booting Windows 10 with Manjaro Linux and everything is working perfectly. I think I’m in love. ","date":"2021-03-19","objectID":"/2021/03/amiafool/:0:0","tags":["pc amd ryzen nvidia 3080 hardware"],"title":"Am I Crazy?","uri":"/2021/03/amiafool/"},{"categories":["blog"],"content":"Yesterday I got the first shot of the Covid-19 vaccine! In the waiting room\" In the waiting room When I arrived at Kaiser they threw me a curve. “Would you like Moderna or Johnson \u0026 Johnson?” I chose Moderna for a variety of reasons, but mostly because I think the mRNA technology is very cool. The process was quick and nearly painless. Afterwards I hod to wait 15 minutes, just in case I had a bad reaction. I didn’t. My arm hurts a bit today, but that’s the extent of the side effects. I expect worse after the second shot, April 14. Now we just have to get the rest of my friends and family vaccinated and life can kind of get back to normal! ","date":"2021-03-18","objectID":"/2021/03/gottheshot/:0:0","tags":["covid-19 vaccine"],"title":"I Am Not Throwing Away THIS Shot","uri":"/2021/03/gottheshot/"},{"categories":["blog"],"content":"Just because someone believes in conspiracy theories, doesn’t mean they’re dumb. From an article in The New Republic: The University of Minnesota’s Joanne Miller and Christina Farhart and Colorado State University’s Kyle Saunders conducted a survey examining support for conspiracy theories, including birtherism and 9/11 trutherism. In a result unsurprising to those who follow this research, they found that higher levels of political knowledge actually deepened the likelihood that conservatives with low trust in people and major institutions would endorse right-wing conspiracy theories. In a section reviewing previous research on the subject, the authors explained that political sophisticates “have the ability to make connections between abstract principles and more concrete attitudes and are therefore more fully able to notice the implications of specific attitudes for their worldviews.” “Because politically knowledgeable people care more about politics and hold stronger political attitudes,” they added, “they are especially likely to want to protect those attitudes.” The researchers conclude that “people will believe what they want to believe in spite of available data and evidence.” ","date":"2021-02-07","objectID":"/2021/02/qanon/:0:0","tags":["politics","qanon","conspiracy theory"],"title":"It's Right Against Wrong, Not Smart Against Dumb","uri":"/2021/02/qanon/"},{"categories":["blog"],"content":"I admit the timing is confusing. No I’m not leaving Twitter because they blocked Trump. Duh. It’s just too toxic on Twitter. The continued trolling was hurting our team, our hosts, and our business, so we decided, as a team, to pack up and move out. I don’t know about you, but I always found Twitter mildly disturbing. I won’t miss it (any more than I miss Facebook). We’re not going dark, though. Not at all. If you want to keep up on what’s coming up on TWiT, subscribe to our free newsletter at https://twit.tv/newsletter. The network also has an active Facebook and Instagram presence. And, of course, many TWiTs are active on the TWiT Forums. We’d love to see you there, too! Instead of tweeting, I’m tooting at @[email protected]. You can follow and message me there from any Mastodon instance (that’s one of the reasons I love Mastodon: it’s federated). If you don’t already have a Mastodon account, you’re welcome to join me at twit.social. To eliminate spam and trolls, you do have to be manually approved - but I promise to do that within a day or two. I’ve also moved the old Twitter news links feed, @links_for_twit to @[email protected]. These are links to stories I’m following for our shows. It’s automatically generated from my Pinboard feed. Thanks for understanding. See you in the Fediverse! ","date":"2021-01-12","objectID":"/2021/01/tweet2toot/:0:0","tags":["twitter","mastodon"],"title":"Tweet to Toot","uri":"/2021/01/tweet2toot/"},{"categories":["blog"],"content":"I resemble that cartoon. via Rakhim https://rakhim.org/honestly-undefined/19/\" via Rakhim https://rakhim.org/honestly-undefined/19/ ","date":"2020-11-28","objectID":"/2020/11/guilty/:0:0","tags":["cartoon","hugo"],"title":"Guilty as Charged","uri":"/2020/11/guilty/"},{"categories":["blog"],"content":"I got my new M1-based MacBook Pro (17,1) on Monday (11/23/2020). Here are some preliminary notes. This MBP 13\" is identical to the previous Intel 13\" outwardly, but inside, it’s very different. I maxed it out with 16GB of RAM and a 2TB SSD and it’s noticeably snappier. No the fan is never audible, and even when rendering a large 4K Motion file it only gets a little warm. And battery life is the best of any system I’ve ever used. It depends a lot on what I’m doing but it’s always at least 9 hours and usually around 15. All that’s great but you have to weigh it against the issues of software compatibility. Over time Apple Silicon’s advantages over Intel will increase, while software issues will gradually disappear. But today the issue of incompatible software could be significant1, especially at the edges. The Is Apple Silicon Ready website has a decent list of some big names that are (and aren’t yet) native. But under the surface lurk many thousands of programs that just don’t run. All Apple programs run natively. Many popular Mac programs run natively. Many CLI and dev tools don’t run at all. Yes it’s a cool architecture, yes it’s really fast, but unless you feel like your machine is slow (I didn’t feel that way with any Macs in the past couple of years), and you’re sure the programs you need will work, it might be worth waiting until the Mac dev community gets with it. I’ll keep track of the issues I’m encountering in the following table.2 Note: I’m using Macports as my package manager. Program Native? Runs? Notes Google Chrome (87) 😍 😍 Stadia works, too! Panic Nova 😍 😍 I’m using it to write this! iTerm 😍 😍 ssh 😍 😍 Apple provided, OpenSSH_8.1p1, LibreSSL 2.7.3 git, curl, nano, bash, zsh, vim, sed, grep, awk, python, perl, etc. 😍 😍 Apple provided VSCode 😍 😍 Insiders beta some extensions fail Fish shell 😍 😍 native out of the box, yay! Rust 😍 😍 yay rustup! Emacs CLI 😍 😍 sudo port install emacs-devel works! Emacs GUI 😍 😍 sudo port install emacs-app-devel homebrew 😍 😍 Now M1 native, but many packages are not yet. I’ve switched to Macports for many reasons3 Dr Racket 😍 😍 Woo hoo! Thanks to Matthew Flatt! Requires building from source, for now. Lastpass ☠️ 😍 works fine and speed isn’t an issue Mailmate ☠️ 😍 My preferred email program - seems to run fine under Rosetta 2 MacPorts ☠️ 😍 but many of the ports don’t run3 Syncthing ☠️ 😍 installed via Macports Franz ☠️ 😍 https://meetfranz.com an electron app - electron is getting updated so should these, eventually ghcup ☠️ ☠️ Haskell installer “Unknown architecture” SBCL Lisp ☠️ ☠️ won’t install using MacPorts, but as a stopgap ECL is native Docker ☠️ ☠️ I suppose for some of the command-line utilities it might be possible to compile from source using gcc but many libraries aren’t ported yet (notably gnutls), others like OpenJDK and Electron have been ported but we’re still waiting for their dependent projects to update. Many apps have ARM versions; so maybe it’s a Big Sur issue? Update: I built Racket CS from source (using the latest version from Github). It’s now Apple native and man is it FAST! Faster even than Racket BC on my iMac Pro with 64GB of RAM. Honestly, two months in, I don’t even want to use any other computer. The M1 MacBook is the best laptop I’ve ever owned. I’m very excited to see what Apple does in 2021. I’ll probably replace all our Macs. Intel just doesn’t cut it any more. See this Register article from 11/18 - but it’s a moving target and things will get better over time. ↩︎ The lipo info command is helpful in determining whether a program is universal. (e.g. lipo -info /Applications/LastPass.app/Contents/MacOS/LastPass or lipo -info (status fish-path)) The Mac Activity Monitor also has an “Architecture” column. ↩︎ It’s worth running sudo port selfupdate daily - many packages are being updated for Apple Silicon (just got gnupg updated for arm). I find Macports more Unix-y. This article helped me make the switch from Homebrew to Macports: Thoughts on macOS Package Mana","date":"2020-11-25","objectID":"/2020/11/applesilicon/:0:0","tags":["macos","m1","apple silicon"],"title":"Notes on the M1 MacBook Pro","uri":"/2020/11/applesilicon/"},{"categories":["blog"],"content":"A new study from CU Boulder (my son’s alma mater) and Harvard’s TF Chan School of Public Health points to a way forward in the pandemic. The study says “These rapid tests are contagiousness tests,” said senior co-author Dr. Michael Mina, an assistant professor of epidemiology at the Harvard T.H. Chan School of Public Health. “They are extremely effective in detecting COVID-19 when people are contagious.” They are also affordable, he added. The rapid tests can cost as little as $1 each and return results in 15 minutes. Best of all, “testing half the population weekly with inexpensive, rapid-turnaround COVID-19 tests would drive the virus toward elimination within weeks.” This is something we could do today to end the pandemic by Christmas. The FDA has already approved the tests. For more information and some easy ways to get Congress off its butt visit rapidtests.org. ","date":"2020-11-21","objectID":"/2020/11/rapid/:0:0","tags":["covid"],"title":"Rapid Testing","uri":"/2020/11/rapid/"},{"categories":null,"content":" Home Outside Home Inside Loading PurpleAir Widget… Loading PurpleAir Widget… Meadow School Corona Creek School Loading PurpleAir Widget… Loading PurpleAir Widget… Sonoma Mtn School Loading PurpleAir Widget… ","date":"2020-10-07","objectID":"/aqi/:0:0","tags":null,"title":"Local Air Quality","uri":"/aqi/"},{"categories":["blog"],"content":"Everything I know in a nutshell","date":"2020-09-18","objectID":"/2020/09/talent/","tags":["broadcasting","podcasting","on-air","talent","tips"],"title":"How To Be Talent","uri":"/2020/09/talent/"},{"categories":["blog"],"content":"One of our hosts asked me for some talent coaching. This is how I responded. I’ll tell you what I do, but this is only what works for me. I don’t have any talent. I can’t tell jokes. I can’t juggle. I’m not sexy. So all I can do is try to be myself, be likable, and serve my audience. I’m always trying to get to the love that’s at the core of all human interactions. For me, connecting with the audience is to love and honor who they are. And connecting with the audience is my job. It’s what I strive to do every time I’m on the air. I do very little prep these days - I should definitely do more but I’m lazy. Remember I’ve been on the radio for 43 years, and doing interviews since 1987, so everything I do is totally internalized and mostly unconscious. There’s no way I could pass it on to you, and you wouldn’t want me to if I could, since the essence of being good on the air is to be totally yourself. And, bad news, you can’t pursue being centered and authentic on the air. You can only relax into it. And that just takes practice. It took me 15 years before I was any good.1 In interviews, I am naturally curious. That helps. Always pay attention like a hawk to what people are saying. They’ll tell you what they want to talk about. Make it a conversation, not a series of questions. I will sometimes think of a question or two ahead of time, just so I have something to fall back on, but generally, if you are really engaged in the conversation, the next question will come easily. Never be thinking of what you’re going to ask next; you’ll miss the cues your guest is giving you. The essence of great interviewing is to be a great listener. Engage in the conversation and let your natural curiosity direct you. Be very careful about trying to show what you know. I hear a lot of interviewers trying to be smart. It’s better to be dumb. That’s how you learn. I think it is worth trying to be as honest and genuine as you can be at all times. People can sniff inauthenticity. There’s plenty of it on the airwaves, but I believe people want to see you as you are. That’s scary because there’s always the risk people won’t like you, but it’s better to be yourself than to try to appeal to people by putting on a false persona. If they don’t like you, so be it. Be open, be kind, and always aim toward honesty. It’s hard enough in real life, and it’s even harder on-the-air because you can’t see your audience. It’s easy to fall into the trap of being automatic. Always strive to be present and always ask yourself, “am I telling the truth?” Studying improv was useful. In improv the rule is always to respond to every prompt with “yes, and” - never block, never say no. In improv you learn to listen. You also learn how to center and relax even while your energy is soaring. When the mic comes on you’re going to feel a rush of energy. Use it, don’t let it run you. You want to get into a heightened state of awareness without becoming amped up. Mihaly Csikszentmihalyi calls it flow. You’re always working to get into the flow state. Also, learn how to pronounce long last names. This is all very meta advice. I don’t do “talent coaching.” Sometimes coaching is as simple as telling someone to say “you know” less, but I don’t like to operate at that level. You should do that yourself. Watch video and look for repetitive verbal crutches and tics. Practice reading until you can be fluent, even the first time you see something. I make little notes to myself about goals, “don’t interrupt,” “slow down,” “don’t curse,” etc. and then store them in the back of my mind. Practice one thing at a time. It’s good to work on technique, but you don’t want to become self-conscious. It’s like learning to be a pro-basketball player. You can work on your skills, and I guess you have to, but nothing is going to sing until you can stop being self-conscious enough to flow. If you’re “working at it” on-the-air it shows. Never let them see you sweat. You don’t want to make your audience worry about","date":"2020-09-18","objectID":"/2020/09/talent/:0:0","tags":["broadcasting","podcasting","on-air","talent","tips"],"title":"How To Be Talent","uri":"/2020/09/talent/"},{"categories":["blog"],"content":"I love Paul Graham’s essays. This one, from 2016, truly hits home. Life is short, so it’s worth eliminating the time wasters. For one, defending yourself online. Your instinct when attacked is to defend yourself. But like a lot of instincts, this one wasn’t designed for the world we now live in. Counterintuitive as it feels, it’s better most of the time not to defend yourself. Otherwise these people are literally taking your life. But that’s just one of many powerful ideas in this essay. Please take 10 of your precious remaining minutes to read it. One heuristic for distinguishing stuff that matters is to ask yourself whether you’ll care about it in the future. Fake stuff that matters usually has a sharp peak of seeming to matter. That’s how it tricks you. The area under the curve is small, but its shape jabs into your consciousness like a pin. As I come to the waning years of my life, I want to make every minute count. Relentlessly prune bullshit, don’t wait to do things that matter, and savor the time you have. That’s what you do when life is short. ","date":"2020-08-29","objectID":"/2020/08/bullshit/:0:0","tags":["time","life","self-help"],"title":"Life is Short","uri":"/2020/08/bullshit/"},{"categories":["blog"],"content":"Normally I wait until Spring to start complaining, but I’ve gotten nothing else done this summer, so I’m going to start the campaign early. End Daylight Saving Time! The august Academy of Sleep Medicine has finally proclaimed the truth. The AASM supports a switch to permanent standard time, explaining in the statement that standard time more closely aligns with the daily rhythms of the body’s internal clock. The position statement also cites evidence of increased risks of motor vehicle accidents, cardiovascular events, and mood disturbances following the annual “spring forward” to daylight saving time. “Permanent, year-round standard time is the best choice to most closely match our circadian sleep-wake cycle,” said lead author Dr. M. Adeel Rishi, a pulmonology, sleep medicine and critical care specialist at the Mayo Clinic in Eau Claire, Wisconsin, and vice chair of the AASM Public Safety Committee. “Daylight saving time results in more darkness in the morning and more light in the evening, disrupting the body’s natural rhythm.” The AASM position statement on daylight saving time has been endorsed by the following organizations: American Academy of Cardiovascular Sleep Medicine American Academy of Dental Sleep Medicine American College of Chest Physicians (CHEST) American College of Occupational and Environmental Medicine California Sleep Society Dakotas Sleep Society Kentucky Sleep Society Maryland Sleep Society Michigan Academy of Sleep Medicine Missouri Sleep Society National PTA National Safety Council Society for Research on Biological Rhythms Society of Anesthesia and Sleep Medicine Society of Behavioral Sleep Medicine Southern Sleep Society Start School Later Tennessee Sleep Society Wisconsin Sleep Society World Sleep Society. And, I’d like to add, by the Leo Laporte Sleep Society. OK President Trump, you want to do something that would ensure your re-election in November? Stop the Insanity! What’s the use of being an autocrat if you can’t use your power for good! ","date":"2020-08-29","objectID":"/2020/08/insanity/:0:0","tags":["dst","sleep"],"title":"Stop the Insanity","uri":"/2020/08/insanity/"},{"categories":["blog"],"content":"I’ve always loved Neil Young. It’s fun to hear a “new” album from the artist at his peak. Homegrown, Neil Young Homegrown was recorded in 1974 and 1975 at various venues. Young planned to release it with Tonight’s The Night, but never did, perhaps because most of the record was an angry elegy for his broken relationship with actor Carrie Snodgress. But in this century, with hit breakup albums from the likes of Taylor Swift and Beyoncé (well, near breakup), Neil has finally set his anger free. I always wonder what it would be like to hear a new Beatles song. Would I love it as much as I love the songs I’ve been hearing my whole life? Here’s my answer. Hearing these new, old, Neil Young songs for the first time is like meeting someone new and feeling like you’ve known them forever. “Try” followed by “Mexico” and the classic “Love is a Rose” compose three perfect Neil Young songs in a row. Featuring performances by Robbie Robertson, Levon Helm, and Emmylou Harris, Homegrown is a very welcome addition to my quarantine playlist. Available on iTunes, Spotify, YouTube Music, et al. ","date":"2020-07-31","objectID":"/2020/07/nowplaying/:0:0","tags":["music"],"title":"New Music from 1975","uri":"/2020/07/nowplaying/"},{"categories":["blog"],"content":"I know it sounds morbid, but I’ve made a list of songs I want played at my funeral service. Consider it a work in progress — like me. I don’t expect to kick the bucket any time soon, but these are songs that mean a lot to me and would make for a fitting final farewell. https://music.youtube.com/playlist?list=PLvANGjRpbsX6Su3UdlSjggfCn9suwkFuV I listen to it from time to time and it makes me feel good. Maybe it will help my loved ones say goodbye. Any suggestions? ","date":"2020-07-19","objectID":"/2020/07/funeral/:0:0","tags":["music","funeral","final wishes"],"title":"Funereal Playlist","uri":"/2020/07/funeral/"},{"categories":["blog"],"content":"My 3D printed custom mask fitters have arrived and they’re swell! Remember my post from last month about creating a mask fitter using Belus3D? Well they’re arrived and I have to say they really work. The idea is that the fitter, contoured perfectly to your face thanks to the software generated model, seals the mask material around your mouth and nose so that no air escapes around the edges. You are breathing only through the mask. I’ve ordered about eight of them from three different companies. All three specialize in printing dental implants. I used the three featured on the Belus3D ordering page. Cadmus Dental took almost a month to get me the two designs I ordered - the tall and premium fitters. Master Labs took less than a week, but they’re local. I was only able to order the standard design from them. I’m still waiting for the fitters I ordered from Forecast3D but I think they’re on their way. If you’re in a hurry go with Master Labs. All the fitters are printed from PLA plastic and seem pretty durable. The Standard fitter is all you need. All cost roughly $20 each. This is me using the Master Labs Standard fitter over one of my homemade cloth masks. Go ahead, come at me Covid! Leo wearing the standard mask fitter \" Go ahead, come at me Covid! According to Belus3D The NIH has listed the Bellus3D Mask Fitter as appropriate for clinical use. and The Loma Linda University School of Dentistry has worked with [Belus3d] on the development and testing of the Mask Fitter and have found that it enhances the peripheral seal of a mask. I wore a standard surgical mask with the fitter and a face shield to the grocery store yesterday and I felt invulnerable. Of course I sterilized the fitter and shield immediately afterwards, washed thoroughly, and tossed my clothes into the wash. My shoes are still on the steps outside. I know, I’m paranoid, but it’s not a lot of effort and I really don’t want to get or spread Covid-19! I highly recommend these fitters. Wearing one protects me as well as it protects others. OK this is the last time I’ll post about masks. I think I’ve covered the subject pretty thoroughly, and by now you know how I feel about them. If everyone wears a simple mask we can go back to life as usual in as little as a month. Why wouldn’t you wear one? And if it’s extra protection you’re after, put the Belus3D app on your iPhone X or later and make yourself a mask fitter! ","date":"2020-07-17","objectID":"/2020/07/maskfitters/:0:0","tags":["masks","covid19","health"],"title":"A Perfect Fit","uri":"/2020/07/maskfitters/"},{"categories":["blog"],"content":"I keep finding articles describing why masks are important. This is from more than two months ago but it’s more important than ever. Why simple cloth masks work best, from the Journal of Aerosol and Air Quality Research1 By donning a homemade mask made of any 2-ply or more dense fabric, [Americans] would be able shrink their inhalation/exhalation radius immensely and help stem the current outbreaks that are ravaging their country. In addition, cloth masks can be tailor made to fit snugly and close the gaping holes created by poorly fitting surgical masks. Furthermore, a cloth mask can be easily decontaminated as it can be washed with over-the-counter disinfectants, heated in an oven or treated by steam sterilization above 70°C for longer than 5 mins, all proven methods to effectively inactivate the SARS-CoV-2 virus (Chin et al., 2020). Surgical masks are designed for single-use and can be decontaminated by any of the above methods, including dry-heating in an electric rice cooker (Lin et al., 2017). However, the potential deformation and degraded effectiveness of the mask’s polymer layer after repeated treatments should be further evaluated. With that, the surgical masks are then thrown away and added to the mounting global plastic pollution problem. Thus, the environmental cost of discarded surgical masks is already being outlined and with the persistence of the COVID-19 pandemic and the slow, cautious transition back to normal, this cost will grow unabated unless alternative mask usage is widely promoted. Still many of the people I see on the street are not wearing masks of any kind. And most of those who do are wearing poorly-fitted disposable surgical masks. Exactly the kind of mask this article is arguing against. Since people seem unwilling to do anything to protect others, I’m going to have to take matters into my own hands by fully protecting myself whenever I go out using my own home-made PPE. Kind of like Jude Law in “Contagion” minus the oxygen tank. Jude Law in “ContagionJude Law in his home-made PPE from the movie Contagion \" Jude Law in “Contagion I’m still waiting for my 3D printed mask fitter to come from Cadmus Dental. When it arrives I believe I’ll be able to sew mask squares composed of two layers of cotton with chiffon or silk in between that will provide almost perfect protection and still remain highly breathable. I also have a yard of meltblown polypropylene fabric to try out. Washing depletes the static charge on the chiffon, silk, or poly but virgourous ironing restores it. I iron all my masks after washing to further disinfect them. Plus putting on a freshly ironed mask is quite nice. Wearing these masks with a face shield and coupled with apppropriate social distancing and hygiene I might be able to dodge this thing. My personal protection equipment Leo wearing ball cap, homemade face mask, and face sheild. \" My personal protection equipment Our failed President said yesterday that 99% of Covid cases are harmless. That’s a lie. It is true that the mortality rate may be as low as 1% globally (still that’s 129,000 people in the US alone as of today), but according to the World Health Organization While the majority of patients with COVID-19 have mild or moderated illness, it is estimated that 20% of affected patients will need oxygen. Seems serious to me. And we’re only starting to learn of the long-term damage caused by even mild cases.2 Buy or make cloth masks people, and wear them whenever you’re out of the house. It’s the only way through this. Hsiao, T.C., Chuang, H.C., Griffith, S.M., Chen, S.J. and Young, L.H. (2020). COVID-19: An Aerosol’s Point of View from Expiration to Transmission to Viral-mechanism. Aerosol Air Qual. Res. 20:905-910. https://doi.org/10.4209/aaqr.2020.04.0154 ↩︎ Calculating mortality and risks during a pandemic is hard. But the New York Times has a good article on the subject. And the stories about healthy young people suffuring horrific consequences and even death are very","date":"2020-07-05","objectID":"/2020/07/science/:0:0","tags":["masks","covid19","health"],"title":"It’s Science, Buddy","uri":"/2020/07/science/"},{"categories":["blog"],"content":"Just putting a bookmark here so I can refer people to this page when they say The Donald is a great president. Here’s extensive proof otherwise. From McSweeney’s Lest We Forget the Horrors: A Catalog of Trump’s Worst Cruelties, Collusions, Corruptions, and Crimes No need to read the whole thing. Just start with the first five items. How did this clown get elected? ","date":"2020-07-01","objectID":"/2020/07/lestweforget/:0:0","tags":["politics","trump"],"title":"Lest We Forget","uri":"/2020/07/lestweforget/"},{"categories":["blog"],"content":"I admit, I have wondered why our generation need pay reparations to black Americans enslaved by past generations, but this brilliant and persuasive piece in the Sunday New York Times Magazine has convinced me that it’s time for us to right the wrongs of 400 years. It’s not about paying a fine, it’s about building a future for all Americans. Nikole Hannah-Jones on the steps we need to take as a country to repare the damage we created building this nation: If true justice and equality are ever to be achieved in the United States, the country must finally take seriously what it owes black Americans. It’s not enough to fix policing, end job discrimination, or integrate schools. To restore balance in this country we must give black Americans the same opportunity as white Americans to succeed, build wealth, and care for their children and grandchildren. Wealth begets wealth, and white Americans have had centuries of government assistance to accumulate wealth, while the government has for the vast history of this country worked against black Americans doing the same. As a nation we continue to behave shamefully to the people who lived on this land before we moved in, and to the people who built the economy as chattel slaves, and that inequality is perpetuated generation after generation. It’s time to fix this. Now. ","date":"2020-06-27","objectID":"/2020/06/reparations/:0:0","tags":["blm","slavery","reparations"],"title":"Time to Pay What Is Owed","uri":"/2020/06/reparations/"},{"categories":["blog"],"content":"This site is a laboratory. In particular, I’ve been seeking a friction-free way to write. I think I’ve found it. I’ve long wanted to be able to blog as easily as one would tweet. Most content management systems put up a number of roadblocks. If it’s a struggle to post, however little, I’m less likely to do it. I know I’m an edge case here. As a broadcaster there’s zero friction to speaking my mind. I sit in front of a mic, form a thought, make some mouth noises, done. Writing is a much more painstaking process, and even though I’ve done a lot of it, it’s always felt like labor. I listen to writers do podcasts (I’m listening to Jon Gruber’s Talk Show from WWDC right now, for example) and I can feel how much harder it is for them to talk than write. Sometimes I can even hear them re-writing their words before they speak. I probably should do that more often, but I generally speak quickly and with little to no editing. To each his own but that’s my preferred way to create content. And how I’ve made my living for more than 40 years. But I do want to write. There are lots of reasons to put pen to paper. Writing forces a more thoughtful pace, requires more rigorous reasoning, and is the best way to develop complex ideas. It’s also more permanent, and, potentially, begs a more thoughtful response from readers. And, once I’m done, writing is more deeply satisfying. That makes sense. The more effort one puts into doing something, the more satisfying the sense of accomplishment will be when done. “I don’t like to write, but like having written.” – Frank Norris Writing is so much work for me that I don’t want to add any friction via the mechanics of posting what I’ve written. Ideally I’d fire up an editor, write something, save it, and it would magically appear as a post. I think that’s one reason Twitter is so successful. But… it’s also why Twitter is so full of ephemeral crap – it’s too easy. Twitter combines the worst of both worlds: thoughtless posting with a permanent record. That combo has bitten most of us over time. So I guess I don’t want to make it that easy. There should be enough friction to encourage thoughtful writing. That’s where the text editor comes in. Once I’m looking at all that blank real-estate on my screen I feel the need to fill it. There’s no jotting and posting here. I’m in writing mode. For a while I used Manton Reece’s micro.blog, “the fastest way to blog”. But it’s too fast. Like Twitter it encourages short off-the-cuff posts - and I wanted to encourage my monkey mind to work on longer pieces (like this). Also, after long experience, I’ve learned it’s best to host my own content. I want my stuff to live on my server, and to live in a form that’s easy to backup and move around (like, say, plaintext + markdown). So, my shopping list for a blog includes: Mostly friction-less posting Write anywhere: iPad, Mac, Linux Pick up writing anywhere else Self-hosted Clean, portable content Clean, attractive presentation I believe I’ve found all of the above here. My workflow at leo.fm varies, but over time it has evolved to the following. Hugo is running on my server with -w to watch for changes in the content folder1 I mount my web site locally using sshfs on all my machines, so I can create and edit posts on my local machines. When that file is saved or updated, hugo rebuilds the site instantly, and the post is up. You can’t get simpler than Ctrl-S to post.2 This is an wonderfully flexible workflow. That’s another requirement of friction-free posting, it has to work wherever I am. There are a number of ways I can create and edit posts. I’ve used emacs on the server for many posts. I like Panic’s Code Editor for the iPad, too. Its support for ssh, sftp, and editing makes the iPad a perfect way to work on the site. I actually started this post on my iPad using Code Editor3 but I’m finishing it on my Mac using the absolutely wonderful Typora (Mac/Windows/Linux). This really is the perfect writing tool for any purpose, but","date":"2020-06-25","objectID":"/2020/06/hugoworkflow/:0:0","tags":["hugo","ssh","typora"],"title":"My New Hugo Workflow","uri":"/2020/06/hugoworkflow/"},{"categories":["blog"],"content":"Lisa and I are trying to take walks every evening after dinner. Seeing nature blithely go on with its business is kind of reassuring. The Dutch have a word for it, uitwaaien1. Literally it means out-blowing, getting some exercise in the fresh wind. Out with the old bad air, in with the new. They’ve been doing it for 100 years in the Netherlands. When times get tough, go play in the wind. Sunset on the Petaluma turning basin Sunset on the Petaluma River \" Sunset on the Petaluma turning basin I feel better already. Pronounced ↩︎ ","date":"2020-06-24","objectID":"/2020/06/sunset/:0:0","tags":["photo"],"title":"Outblowing","uri":"/2020/06/sunset/"},{"categories":["blog"],"content":"I just finished a long book that I really loved, Gregory David Roberts’s 2003 novel, Shantaram. Shantaram by Gregory David Roberts Shantaram by Gregory David Roberts \" Shantaram by Gregory David Roberts Truth is I didn’t read it, I listened. And the Audible edition is beautifully brought to life by Humphrey Bower. Although in the midst of listening, I ended up buying both the paperback and Kindle edition to make it easier to take notes. Shantaram is the very nearly true story of an Australian, Lindsay, who flees to Bombay under a phony New Zealand passport after climbing over the wall of an Aussie prison. I say “very nearly true” because, even though he insists Shantaram is a work of fiction, Roberts’s real-life story closely mirrors his protagonist’s. Roberts also escaped Australian prison where he was serving time for armed robbery and fled to Bombay in the 80s before becoming a novelist. He insists that he invented the vivid characters that populate this epic, but even if they never existed they become flesh as the story winds on. And none more captivating than Prabaker, the first Indian Lin meets, and our guide to the steamy, fragrant, crowded streets of Bombay. There was something in the disk of his smile – a kind of mischievous exuberance, more honest and more excited than mere happiness – that pierced me to the heart. It was the work of a second, that eye contact between us. It was just long enough for me to trust him – the little man with the big smile. I didn’t know it then, but it was one of the best decisions of my life. Lin ends up falling in love, living in a slum, acting as a medic to its denizens, becomes a gangster, is shockingly beaten in an Indian jail. runs guns, money, and fake passports, and even joins the Mujahideen guerrillas in Afghanistan. But the most memorable part of the book for me is the idyllic months he spends in a remote Indian village with Prabaker’s family, where he earns the Marathi name, “Shantaram,” man of peace. It’s the calm before the storm in which Linbaba proves he’s anything but a peaceful man. The second half of Shantaram becomes more of a pot-boiler, but Roberts redeems the overheated prose with surprising insight into the human condition. I was moved many times to jot down an observation or epigram from the story. Roberts has a way of cutting to the heart of any moment. It’s an inspiring as well as an engaging first novel. Apple has optioned Shantaram and is planning to make it into a mini-series. I’m sure it will be good, but, as usual, I recommend reading the book first. Thanks to the TWiT listener, Jim Edwards, who recommended it (and even sent me the Audible credit for it). After 45 hours (or 936 pages for you dead tree lovers) in the world of Shantaram I was very sorry to see it end. Next up, Erik Larson’s The Splendid and the Vile, the story of Winston Churchill and London during the Blitz. ","date":"2020-06-19","objectID":"/2020/06/shantaram/:0:0","tags":["books"],"title":"Shantaram","uri":"/2020/06/shantaram/"},{"categories":["blog"],"content":"Time for another mask iteration. Today on MacBreak Weekly Alex Lindsay recommended using a cool iPhone app to help make masks more effective. Belus3D is a free app for iOS that creates a 3D model of your head in a few seconds. I’ve used it before and it’s pretty amazing, but there never seemed to be anything useful to do with it. Until now. A 3D model of my head with the mask fitter attached Creepy 3D model of Leo\u0026rsquo;s head \" A 3D model of my head with the mask fitter attached You can use the 3D model of your head to print a custom fitted plastic frame designed to make masks more effective. The idea is that the frame will hold down the mask fabric to make a better seal between the mask and the face. The frame has four t-mounts for elastic bands to hold the mask to your face. I’ve ordered a couple of different sizes (tall and premium) from Cadmus Dental (you can do that from the Belus3D app). I’ll let you know when they arrive and how well they work. Next step, build a Leo clone so TWiT can continue forever! Mwa-ha-ha-ha! ","date":"2020-06-16","objectID":"/2020/06/improved/:0:0","tags":["masks","3D"],"title":"The Hannibal Lecter Covid Mask","uri":"/2020/06/improved/"},{"categories":["blog"],"content":"I’ve been thinking lately about human nature, how we understand the world around us, and why conspiracy theories are so attractive. When I was a freshman in college I loved spouting grand theories. My smarter roommates would mock me, and eventually told me to stop spewing crap. I had fallen in love with stories: The stories we humans use to make sense out of an inexplicable world. But what I lacked at the time was the judgment to know which stories to believe, and which were utter bunk. I lacked a method to validate my stories. For as long as we’ve been talking, humans have told stories to make sense of the world, from creation myths, to Homer, to the big bang theory. We organize the constant stream of sensory inputs filtering into our brains by turning them into stories.1 Conspiracy theories are a particularly potent kind of story that soothe our anxieties by making sense of a chaotic world. They also stroke our egos because when we join into the conspiracy our intelligence and perception is affirmed. “I, of all people, see behind the curtain to understand the true inner mysteries of life.” We’re all susceptible to this, but these false narratives can be deadly. They often incorrectly demonize an out group, the Jews, the Illuminati, the liberals, the conservatives. Sometimes they convince us to burn 5G towers because they cause Covid-19, or not vaccinate our children because we think vaccines cause autism. That’s bad for us and bad for society. Jews were blamed for the Black Death and widely massacred in Europe in the 14th century, ostensibly because their religious practices caused them to succumb to the plague less often. This conspiracy theory helped ease gentiles’ fears by giving them a proximate cause for the inexplicable deaths and something they could do to fix it. It didn’t work, because, like most conspiracy theories, it was a fantasy. The plague was caused by fleas, not Jews. There’s a cure for conspiracy theories, and it emerged a couple of centuries later: the scientific method. The scientific method turns empty conjecture into provable fact. In a nutshell, a question about how something works leads to a hypothesis which experimentation can prove right or wrong. Why is the sky blue? leads to a prediction, filtering light through a prism separates it into its component colors, which can be tested, then proven, thus answering the question and adding to our understanding of the world around us. Conspiracy theories stop at hypothesis. The “proof” is simply that it “seems right” – it fits our world view. Of course, the worst proof of a conjecture is that it seems right, cf. confirmation bias, or that everyone you know believes it, or that it makes you feel part of the “in” group and smarter than the others. Those aren’t tests, they’re just ego strokes: attractive, tempting, but ultimately damaging. Science is a lot harder. It requires testing, and even then, nothing is written in stone. Scientific progress comes from the repeated application of the above steps backed by rigourous observation, peer review, and honesty. It’s a lot easier to just believe something, but it doesn’t add to our understanding of the world or our survival on this planet. Often belief without proof does just the opposite. Scientific method is useful, but it doesn’t produce “truth,” just a provable theory. The quest for knowledge doesn’t end with a good theory; it requires continued exploration and testing. There’s always a better theory. But it does help us progress toward the truth. And the proof of that is the success we’ve achieved in science and technology in the years since the invention of the method. Without Einstein’s Theory of Relativity there would be no GPS. If Newton didn’t exist, neither would SpaceX. The scientific method is so powerful and its success so breathtaking that it’s one of the marvels of our age. It’s true that not every conjecture is provable experimentally, and there are many areas of darkness that the scientific meth","date":"2020-06-13","objectID":"/2020/06/stories/:0:0","tags":["conspiracy theories","stories","humans","scientific method"],"title":"It’s Stories All The Way Down","uri":"/2020/06/stories/"},{"categories":["blog"],"content":"Turns out not only that masks work, but they work better than social distancing and hand washing alone. If you’re going out, wear a mask and don’t take it off until you’re back inside. From a peer-reviewed1 article in The Proceedings of the NAS - Identifying airborne transmission as the dominant route for the spread of COVID-19: Our analysis reveals that the difference with and without mandated face covering represents the determinant in shaping the trends of the pandemic. This protective measure significantly reduces the number of infections. Other mitigation measures, such as social distancing implemented in the United States, are insufficient by themselves in protecting the public. It turns out SARS-CoV-2 virus is particularly virulent when aerosolized. While transmission via direct or indirect contact occurs in a short range, airborne transmission via aerosols can occur over an extended distance and time. Inhaled virus-bearing aerosols deposit directly along the human respiratory tract. Transmission by aerosol is the last pathway for the virus that we haven’t stopped with hand-washing and social distancing, and it might be the most virulent form. Please wear your mask whenever you’re outside. Don’t take it off just because there’s no one around. The aerosolized virus can float in the air for hours and infect anyone who inhales it. Masks don’t show weakness, they show intelligence. Be smart, wear your mask! 😷 Wait a minute. Now there’s some issue with the paper and its peer-review. The problem seems to be that the paper overstates the importance of masks relative to other mitigations. Furthermore, there’s still debate over the path of infection. Some scientists say this paper overstates the evidence that aerosolized particles are the primary vector. ↩︎ ","date":"2020-06-13","objectID":"/2020/06/maskswork/:0:0","tags":["covid-19","masks"],"title":"Masks Work","uri":"/2020/06/maskswork/"},{"categories":["blog"],"content":"Leo Laporte and the TWiT Network offer a number of effective ways to reach technology consumers, influencers, and early adopters. Leo produces and hosts the most listened to tech podcasts in the world with over 5 million unique downloads each month, at [TWiT.tv][http://twit.tv/]. Banner ads on TWiT.tv and host read endorsement ads are available for many of the TWiT shows. The linear component of TWiT, TWiT Live, airs 50+ hours a week of live streaming video which is watched by over 4 million people every month. Leo hosts a national radio show on technology on the Premiere Networks. The show is heard every week from 2-5p Eastern Saturday and Sunday. It also airs on 200+ stations nationwide including KFI Los Angeles and KGO San Francisco. The Tech Guy, reaches a national audience of over 1 million listeners every week. For advertising on any of these venues, contact the Artisanal Agency: [email protected] . For information about sending products to Leo, or pitching a story or interviews, visit the PR page. Thanks for your interest in Leo Laporte and TWiT! ","date":"2020-06-11","objectID":"/advertise/:0:0","tags":["advertise","tech guy","twit"],"title":"Advertise With Us","uri":"/advertise/"},{"categories":["blog"],"content":"Leo Laporte and the TWiT Network can offer your clients unequaled exposure to technology consumers, early-adopters, and influencers in a number of ways. Leo hosts The Tech Guy, a national radio show on technology syndicated by the Premiere Networks. The show is recorded every Saturday and Sunday from 2-5p Eastern. It also airs on 200+ stations nationwide including KFI Los Angeles and KSFO San Francisco with an Average Quarter Hour audience of 500,000. Leo produces and hosts the most listened to tech podcasts in the world with more than six million unique downloads each month, at TWiT.tv. His IPTV network, TWiT Live, broadcasts 50+ hours a week of live streaming video which is watched by several million people every month. Leo has among the largest social networks of any tech journalist in the world with more than 500,000 followers on Twitter. Leo makes regular appearances on mainstream radio and television shows as a commentator. He has appeared more than a dozen times on Live with Regis and Kelly. Other appearances include CNN, The Today Show, and NPR’s All Things Considered. For more information about Leo, including a head shot, visit his Bio. Contacting LeoPlease no phone calls. The best way to stay in touch is to email press releases and information to [email protected]. If you’d like to send products for review you may mail them to TWiT, 1351 Redwood Way, Suite B, Petaluma, CA 94954. We usually keep software and return hardware after a short review period, but if you want your product back, you must include a pre-paid return shipping label. Leo does not sign NDAs or honor embargoes, so please wait until your product has been released before offering it for review. We rarely interview vendors about their products or take vendor meetings. However, we are always interested in interviewing content creators, technologists, and industry thought-leaders. You may send guest pitches to [email protected]. To request an interview with Leo, email [email protected]. Thanks for your interest! ","date":"2020-06-11","objectID":"/pr/:0:0","tags":["PR","pitches"],"title":"PR Info","uri":"/pr/"},{"categories":["bio"],"content":"Official Headshot -- Photo credit: [Chris Marquardt](https://tfttf.com) Official Headshot \" Official Headshot -- Photo credit: [Chris Marquardt](https://tfttf.com) Leo Laporte has worked as an author, speaker, and broadcaster in New Haven, Monterey, San Jose, San Francisco, and Los Angeles, most recently focusing on technology coverage for the Internet. PastLeo has written software for CP/M, Macintosh, and PC compatible computers including the popular open source programs, QDial and MacArc for the Macintosh. From 1985 to 1988, he operated one of the first Macintosh-only computer bulletin board systems, MacQueue He was the co-author, with former ABC Technology Correspondent Gina Smith, of “101 Computer Answers You Need to Know,” a computer book for beginners published in 1995 by Ziff-Davis Press. He has written about computer hardware and software for Byte, MacUser, and InfoWorld magazines, and he has contributed chapters to “Dvorak’s Guide to PC Telecommunications” and “Dvorak’s Inside Track to the Mac,” both published by Osborne/McGraw Hill. He has written four bestselling “Technology Almanacs.” “Leo Laporte’s 2003 Technology Almanac” was Pearson Publishing’s Book of the Year in 2003. In 2000-2001, Leo was a Contributing Editor at Access Magazine, a Sunday newspaper magazine supplement with an estimated readership of 13 million in 80 markets nationwide. In January, 1991 he created and co-hosted Dvorak On Computers, the most listened to high tech talk radio show in the nation, syndicated on over 60 stations and around the world on the Armed Forces Radio Network. Laporte also hosted Laporte on Computers on KSFO and KGO Radio in San Francisco. On television, Leo was host of Internet! a weekly half-hour show airing on PBS in 215 cities nationwide. He reported on new media for Today’s First Edition, on PBS, and did daily product reviews and demos on New Media News, broadcast nationally on Jones Computer Network and ME/U, and regionally on San Francisco’s Bay TV. He was a Managing Editor at Ziff-Davis Television, where he wrote and co-hosted The Personal Computing Show, a half-hour weekly television show for beginning computer users that aired on CNBC. He created and was a daily contributor to The Site, an hour-long technology newsmagazine that aired nightly on MSNBC, CNBC International, and NBC Superchannel in Europe and Asia. Leo won an Emmy in 1997 for his work on The Site. He also hosted two shows on TechTV (formerly ZDTV), a 24-hour cable channel dedicated to computers and the Internet. Call for Help and The Screen Savers aired live every weekday from 1998 to 2004. After Call for Help was cancelled in the US, Leo began producing the show in Toronto for Rogers Communications. The show aired in Canada on G4TechTV, and Australia on the HOW-TO Channel. Rogers moved production to Vancouver in 2007 and renamed it The Lab with Leo Laporte. The show ended its ten-year run in May, 2008. For 19 years (2004-2022) Leo hosted The Tech Guy Show a national radio technology talk show every Saturday and Sunday from 2-5p Eastern on over 200 stations on the Premiere Networks including KFI, Los Angeles and KGO, San Francisco. Leo retired from his radio career on December 18, 2022. Present Today Leo focuses on his podcast newtork. Founded in April, 2005, the TWiT Netcast Network produces some of the most popular podcasts in the world heard by more than 6 million listeners and viewers each month including shows like this WEEK in TECH, Security Now!, Windows Weekly, MacBreak Weekly, This Week in Google, and the Webby Award winning, Triangulation. In May, 2008, Leo launched a live streaming video version of TWiT called TWiT Live with 25 hours of original programming each week. 2.6 million people watched TWiT Live in its first month and the numbers continue to grow. TWiT broadcasts daily from a dedicated live-streaming video studio in Petaluma, California. Leo lives with his wife and TWiT CEO, Lisa Laporte, in Petaluma. To request Leo as a speaker or","date":"2020-06-11","objectID":"/bio/:0:0","tags":["bio","Leo","Leo Laporte"],"title":"Official Biography","uri":"/bio/"},{"categories":["blog"],"content":"Last month, when the weather in Petaluma turned nice, I started riding my e-bike to work every day. Until last week. The trip is only a couple of miles, and takes fewer than 10 minutes, but there’s one spot that always gives me the heebie jeebies. The Corona Road overpass is a narrow bridge with an even narrower bike path. Whenever I cross it I try to wait for a break in the traffic, and that’s been a lot easier during quarantine. But as the traffic’s been getting busier I’ve been getting more worried. And then, last week, the worst happened. One hour before I would have been crossing the bridge a bicyclist was hit and killed by a driver under the influence. I’ve crossed that spot hundreds of times, but no more. I don’t know Joze, but I feel for him and his family. From now on I’ll be crossing that bridge in my car and reserve my rides for somewhere safer. ","date":"2020-06-10","objectID":"/2020/06/bicycle/:0:0","tags":["bicycle","Petaluma","RIP"],"title":"RIP Joze","uri":"/2020/06/bicycle/"},{"categories":["blog"],"content":"New research shows that wearing masks makes a difference. But we all have to do it! According to Science Daily, reporting on a study from the University of Cambridge: The widespread use of face masks keeps the coronavirus reproduction number below 1.0, and prevents further waves when combined with lockdowns, new research suggests. A modeling study from the universities of Cambridge and Greenwich indicates that lockdowns alone will not stop the resurgence of COVID-19. Researchers say even homemade masks with limited effectiveness can dramatically reduce transmission rates if worn by enough people, regardless of whether they show symptoms. I love making my own masks. I even bought a sewing machine to do it (the inexpensive Bernina Bernett b35, now sold out everywhere!) With a little practice you can make a mask like this: It’s taken me a while to perfect this mask, but I love it because it’s relatively easy to make it’s convenient to wear and take off fit is snug and almost airtight it’s effective I started with this video then made some improvements: One of the nicest features of this mask is how you tie it. There’s one length of cord1 that goes around your neck and ties at the top of the head. It’s effectively a drawstring which helps fit the mask snugly as you tie it. The neck loop is handy because you can take off the mask but leave it hanging around your neck for quick donning.2 I’ve made some changes to the mask that makes it more comfortable and, I believe, more effective. First the materials. In the video the designer recommends two layers with a filter pocket. I tried this using high-threadcount cotton for the outer layer 3 and old t-shirts for the inner layer. The t-shirts are soft and comfortable but the pouch opening hits right at the mouth and kind of bothers me. And adding a filter layer (I tried vacuum cleaner bags and paper towels) really reduces breathe-ability. This is key; if it’s not easy to breathe in a mask you won’t wear it. After reading about research from the American Chemical Society about the effectiveness of various materials for mask making: One layer of a tightly woven cotton sheet combined with two layers of polyester-spandex chiffon – a sheer fabric often used in evening gowns – filtered out the most aerosol particles (80-99%, depending on particle size), with performance close to that of an N95 mask material. Substituting the chiffon with natural silk or flannel, or simply using a cotton quilt with cotton-polyester batting, produced similar results. I decided to eliminate the superfluous filter pouch and replace the t-shirt cotton with silk charmeuse. It feels better, it’s much easier to sew, and the breathe-ability is excellent. Come winter, and yes I expect us to still be wearing masks this winter, I’ll replace the silk with flannel. To help seal the nose area I use peel and stick tin ties, the kind used to seal up coffee bags at the grocery store. I experimented with these by ripping them off all our coffee bags, but it turns out you can buy them by the hundred on Amazon, so no more open coffee bags at the Laporte house. Sealing the nose well is important for mask effectiveness and to keep my glasses from steaming up. If I’m not wearing glasses I’m wearing protective lab goggles. Keeping the mouth, nose, and eyes protected from aerosolized virus particles is the goal here. To soften the edges of the mask and block leaks around the edges, I have started folding all four edges in over a small strip of cotton quilt batting. The batting adds some structure and softness to the edges and, as I learned when I used it as a layer in one of my masks, is practically impermeable. The mask on the left is for my mom. At 87-years-old she finds it hard to tie the string behind her head so I replaced it with elastic. These masks are light, comfortable, and breathe-able. I don’t have any evidence that they’re more effective than any other mask, but I like to think so. Want to make your own masks? Here’s what y","date":"2020-06-10","objectID":"/2020/06/makingmasks/:0:0","tags":["masks","covid-19"],"title":"Making Masks","uri":"/2020/06/makingmasks/"},{"categories":["blog"],"content":"I’m not all that fond of newsletters; they just add to the crushing pile of email I’ll never get through. For some reason I subscribe to them anyway. I use a filter to put any email with the word Unsubscribe in its body into a folder called Mailing Lists. This, at least, keeps my newsleters out of spam and out of my Inbox. From time to time I’ll cull through the stack and find something worth reading. Another issue complicating things is that, for security reasons, I don’t allow my email clients to render HTML or show images. Thus most newsletters look like an unintelligible bunch of cryptic nonsense. This is the start of an email I just received from Walmart @media screen yahoo{@media (min-width:700px){.backgroundImage{min-width:700px!important}}}.stars{width:28%!important}.mosaic-seven{font-family:Bogle;width:320px!important}.mosaic-seven td{font-size:0!important;padding:0!important;cursor:pointer!important}.mosaic-seven td.text{height:150px!important;padding-left:0!important}.mosaic-seven td.text.top{height:150px!important}.mosaic-seven .first td.text{padding-left:20px!important}.mosaic-seven h3{font-size:24px!important;font-weight:400!important;margin:20px Ugh! I’m always glad when a newsletter puts a link to read on the web in the clear at the top of the message: View email in your browser (https://mailchi.mp/ba623677f8e3/rk0l9ast4h?e=e15d8b4016) 1f0314a4-8aab-4e0f-926f-2f00a8e93e02.png Issue #489 - June 05, 2020 Double issue today because I missed yesterday's issue. Much nicer. This is Morning Cup of Coding (free) a nice little daily list of technical articles in all fields of software engineering from HumanReadable.io. As you might expect, Steven Levy does put that web referral up top in his new Plaintext (paywall) newsletter from Wired. Unfortunately the letter itself is delivered in an image heavy rich text format which means it’s unreadable unless you load images. Shouldn’t a newsletter called Plaintext be written in plain text? I’m sure this isn’t Steven’s choice; it’s probably something Conde Nast does. Worse, you have to pay for Wired to get it. Despite all that, it’s well worth it. Plaintext is a good example of why newsletters matter. It’s nothing like an article in Wired, or even an opinion piece. It’s like hearing from Levy directly and very much reflects his voice. I like that. Steven offers context, insight, and an intellectual’s perspective on tech news. This week, for example, he likened Facebook’s forbearance toward Donald Trump to Chamberlin’s appeasement at Munich. He says, “It’s time for the internet moguls to stop acting like Chamberlain —- and start channeling Churchill.” Of course I subscribe to newsletters from my co-hosts, Paul Thurrott (subscribers only) and Stacey Higginbotham (free), and TWiT’s own upcoming shows newsletter (free). But my post today is inspired by the news that one of the smartest people I know, Cory Doctorow, was leaving his long time ‘zine, Boing Boing. I love Cory’s insight, taste, and quirky eye, so I instantly subscribed to his daily newsletter, Plura-List (free). You can also read his links on the web at Pluralistic.net. I need my Cory fix. I guess newsletters aren’t so bad, after all. What newsletters do you recommend? Add them to the comments below. ","date":"2020-06-05","objectID":"/2020/06/newsletters/:0:0","tags":["newsletters"],"title":"Newsletters Worth Reading","uri":"/2020/06/newsletters/"},{"categories":["blog","video"],"content":"Take 30 minutes to watch this eulogy for George Floyd. So moving and powerful. I feel like our country is at the top of a rollercoaster at this moment. We can either slip backwards into authoritarism – there’s a plurality of Americans who would choose a strong-man’s response to current events – or we can advance into a future with justice for all and a renewed committment to protect the earth and our citizens. The choice is clear and the decision point is here. It’s time for the country to move forward, not backward. ","date":"2020-06-04","objectID":"/2020/06/eulogy/:0:0","tags":["george floyd","rev. al sharpton","eulogy"],"title":"\"Get Your Knees Off Our Necks\"","uri":"/2020/06/eulogy/"},{"categories":["blog"],"content":"I, too, believe in the rule of law, Mr. President. ","date":"2020-06-03","objectID":"/2020/06/firstamendment/:0:0","tags":["constitution","1st amendment"],"title":"The First Amendment","uri":"/2020/06/firstamendment/"},{"categories":["blog"],"content":"The First Amendment of The Constitution of The United States of America Congress shall make no law respecting an establishment of religion, or prohibiting the free exercise thereof; or abridging the freedom of speech, or of the press; or the right of the people peaceably to assemble, and to petition the Government for a redress of grievances. And this quote today from Trump’s first Secretary of Defense, James Mattis: I have watched this week’s unfolding events, angry and appalled, The words “Equal Justice Under Law” are carved in the pediment of the United States Supreme Court. This is precisely what protesters are rightly demanding. It is a wholesome and unifying demand—one that all of us should be able to get behind. We must not be distracted by a small number of lawbreakers. The protests are defined by tens of thousands of people of conscience who are insisting that we live up to our values—our values as people and our values as a nation. We must reject and hold accountable those in office who would make a mockery of our Constitution. Read the full statement here. ","date":"2020-06-03","objectID":"/2020/06/firstamendment/:0:1","tags":["constitution","1st amendment"],"title":"The First Amendment","uri":"/2020/06/firstamendment/"},{"categories":["blog","video"],"content":"This is something my African-American friends know all too well, but for the rest of us, this is a perpective that we need right now. Baratunde “Living While Black” ","date":"2020-06-02","objectID":"/2020/06/livingwhileblack/:0:0","tags":["blm","black lives matter","baratunde","video"],"title":"Living While Black","uri":"/2020/06/livingwhileblack/"},{"categories":["blog"],"content":"Exactly five years ago, we debuted the “new” TWiT web site. I wrote the following post shortly after. It’s buried somewhere on the site (that’s one part of the design I wish we’d done better) so I wanted to “resurrect” it here. The annotations are from today. Originally Posted 12 June 2015 ","date":"2020-06-01","objectID":"/2020/06/blastfromthepast/:0:0","tags":["twit","pwa","web design","history"],"title":"Five Years Later: The TWiT.tv Web Site","uri":"/2020/06/blastfromthepast/"},{"categories":["blog"],"content":"Some History The Internet is changing. And so are we. The way web sites look seems to change every few months, but even the way they work, and the very reason they exist has shifted since the first pages at twit.tv went up in 2005. I designed and implemented that original site by myself, choosing Drupal 4 as the content management system. It didn’t take long, as we added more shows and more hosts, for TWiT to outgrow that very simple original design. I asked Amber MacArthur, host of Inside The Net on TWiT, and her brother Jeff, to redesign the site. Their company, MGImedia Communications, crafted a new look and user interface for us and I hired the best Drupal programmers I knew, Lullabot, to implement it. TWiT.tv v2.0, engineered chiefly by Ted Serbinski, went live in 2007 and served us well for four years. But changes in our business and intense growth prompted another redesign by ImageX in 2011. By the end of 2014 I had decided it was time for another re-design, but this time I wanted to undertake something more ambitious. In talks about new media for more than 10 years I’ve been saying that our job was to provide content for our audience when they wanted, where they wanted, in any form they wanted, without limitations on how they could consume it. (I remember telling that to a convention of HBO employees in 2004 and almost being shown the door. But even HBO is coming around.) One of the reasons I’ve always made TWiT ad-supported is because it let us do that. It was in our interest to serve up our shows live or on-demand, in audio or video, and everywhere you wanted to watch. In the early days of TWiT that meant a web site to provide you with a directory of shows and RSS feeds. Most people, once they found out about TWiT, went to iTunes to subscribe. And that was how 90% of our audience listened for years. ","date":"2020-06-01","objectID":"/2020/06/blastfromthepast/:0:1","tags":["twit","pwa","web design","history"],"title":"Five Years Later: The TWiT.tv Web Site","uri":"/2020/06/blastfromthepast/"},{"categories":["blog"],"content":"Fast Forward to the Present Today the market is much more fragmented. iTunes downloads are down to about 16% of the total. Another 10% of our audience watches the live stream either on the web site or by plugging the URL into a video player like VLC. 30% download pre-recorded shows via the web site. All the rest, nearly half, use apps to watch or listen on their mobile phones, tablets, Rokus, TiVOs, Samsung TVs, many other platforms.1 I consider this a success. We’ve put TWiT in front of our audiences wherever they want it. But it means that our web site plays a very different role. And mobile apps are becoming increasingly important. As I began to appreciate this drastic change in how you watch and listen, I came to the realization that we needed to pay more attention to mobile while not ignoring the web. I, and many others, began to think of what we do as not broadcasting, or podcasting, but content as a service, or CaaS.2 That’s a pretty high-falutin’ term, but it does describe what we’re trying to do. RSS feeds were a step in this direction, making it possible for readers and listeners to subscribe to a feed and get content in any manner they wanted. Instead of forcing you to read the news in a newspaper or on a web page, RSS feeds let you decide how you’d read and in what form. But RSS doesn’t go far enough. We are taking it a step farther and creating a full-blown API that can deliver our content, all the meta-data associated with it, and additional information about our hosts, sponsors, and events on demand to any app that wants it. 3 Our new web site is just once consumer of this API. We’re developing new apps on iOS, Android, and Windows that will also use the API.4 And we’re inviting anyone who knows how to make a JSON call to create their own sites and apps. What we’re unveiling today is much more than a new web site, it’s a new way to deliver content that empowers my dream to give our audience the shows when they want, where they want, how they want without limits. ","date":"2020-06-01","objectID":"/2020/06/blastfromthepast/:0:2","tags":["twit","pwa","web design","history"],"title":"Five Years Later: The TWiT.tv Web Site","uri":"/2020/06/blastfromthepast/"},{"categories":["blog"],"content":"Headless Drupal We met with several great Drupal design teams late last year to begin the process of creating a new site. One, Four Kitchens out of Austin, told us about an exciting new technique they had developed for a couple of their big media clients. This technique, called “Headless Drupal,” used the robust Drupal content management system for data entry (I’m writing this in a Drupal form right now) 5 and to serve the API calls. ","date":"2020-06-01","objectID":"/2020/06/blastfromthepast/:0:3","tags":["twit","pwa","web design","history"],"title":"Five Years Later: The TWiT.tv Web Site","uri":"/2020/06/blastfromthepast/"},{"categories":["blog"],"content":"The Front End But Four Kitchens didn’t use Drupal for the web site. Instead they recommended a more modern and flexible tool called node.js. Unlike previous web sites, the site itself wouldn’t be a content management system, it would only be a representation of the content via the API. I liked the idea for several reasons. First, Drupal’s presentation is looking a little old and staid next to the spiffy, responsive sites other media companies are using. I liked the idea of being able to use a more modern tool like node.js. Second, by decoupling the backend from the presentation, it would be easier and faster to create new sites. Web design styles change faster than high fashion, so it’s nice to be able to update the site without re-doing all the hard work on the backend.6 ","date":"2020-06-01","objectID":"/2020/06/blastfromthepast/:0:4","tags":["twit","pwa","web design","history"],"title":"Five Years Later: The TWiT.tv Web Site","uri":"/2020/06/blastfromthepast/"},{"categories":["blog"],"content":"The Apps Third, having a complete API would make it easier to do apps. The app, just like the web site, would have access to everything there is to know about TWiT, in a simple, orderly fashion. Finally, by making the API public, we encourage members of our audience to create new things, things we might never have thought of. You could even design a web site you like better. Abstracting the content from the presentation seems like a big win.7 So while you may think we’re unveiling a new web site here, we’re really just showing you the tip of the iceberg. Most of the work was done on the backend and is invisible to you. ","date":"2020-06-01","objectID":"/2020/06/blastfromthepast/:0:5","tags":["twit","pwa","web design","history"],"title":"Five Years Later: The TWiT.tv Web Site","uri":"/2020/06/blastfromthepast/"},{"categories":["blog"],"content":"The Site Let me talk about the various pieces that go into this new twit.tv. We asked the Four Kitchens design team to create something very visual and clean. We feel that people come to the web site for two reasons: first because they googled one of us or were looking for tech information. Those people need to get a quick idea of what twit is and what we do. The front page is designed to do that with the big hero images, quick statements of purpose, and a gallery of recent shows in our three main categories: tech news, help and how-tos, and reviews.8 The second reason people come to the site is to find content. These people already know about TWiT, but they want to quickly find and download a show, watch the live stream, or seach for information they heard on a show. The top navigation reflects those primary purposes: Live, Shows, Apps, Search and More… (where we stick everything else). We’re using Apache Solr search and I think it’s a major upgrade to our old search. The site is fully mobile responsive and looks great on every size screen. You can see for yourself by resizing the page and refreshing. We think the site might even look best on mobile - and that’s good because that’s how most people surf these days! ","date":"2020-06-01","objectID":"/2020/06/blastfromthepast/:0:6","tags":["twit","pwa","web design","history"],"title":"Five Years Later: The TWiT.tv Web Site","uri":"/2020/06/blastfromthepast/"},{"categories":["blog"],"content":"Roll the Credits My deepest thanks to Four Kitchens’ designer Jared John for the look and feel (and the lovely Verlag font up front). Kevin Lamping did the dust programming. Peter Sieg was the node.js lead. Any missing or broken features are not their fault - they’re ours. We had a strict budget and weren’t abe to add many of the cool features we all wanted. But we have an ongoing support contract with Four Kitchens and hope to add the most requested missing features over time. We have a backlog of well over 100 features we didn’t have the time or money to implement in version 1.0 I also suspect we’ll be ready to do a second phase with Four Kitchens when everybody recovers from this one. In about a year.9 The stuff you don’t see is even more amazing. Four Kitchens’ Drupal dev David Diers took the lead here and worked many long hours (and weekends, too) to get us to launch. Matt Grill played the part of the cavalry, swooping in to make sure SSL worked right, and backing David on getting the API up and running. The two of them worked miracles, and if you enjoy the API, buy them a beer the next time you’re in Austin or San Diego (that’s where Matt is). I want to buy them a whole brewery.10 The entire process used the Agile methodology, and our project leaders, Paul Benjamin and Suzy Bates, kept the Jira log humming through 279 user stories and 730 points in nine sprints over the past six months. And if you know Agile you’ll know what that means. On the TWiT Team, credit to Patrick Delahanty who re-coded our workflow engine, Elroy, to interface with Drupal so that our editors and producers could move their entire data entry workflow to the Drupal backend. And he did it in about a month. Patrick is the official first API user. I managed the project with help from our CEO Lisa Laporte, Engineering Manager, Bruce Chezem, and analyst Jeff Needles. The Drupal 7.0 backend is running on Acquia servers11 using memcache and Varnish to speed things up. The web front end is running on Heroku. The API is documented at Apiary with key service from 3Scale. Node.js caching is provided by RedisLabs. Video and audio playback on the site is from JW Player. All TWiT shows and RSS feeds are stored and served by Cachefly. Many of the pictures you see on the site were shot by Jason Guy at JasonGuyPhotography.com.12 I hope you like the new TWiT.tv 4.0. Please give me your feedback at [email protected]. We’ll fix the bugs as fast as we can, and adjust the interface to better suit your needs when we can afford it. Meanwhile, brush up on your RESTful API calls. I can’t wait to see what you do with it. For more information about our developer program and the public API visit https://twit.tv/about/developer-program Five years later this trend is even more pronounced. The most significant trend is towrd using an app to stream shows. Most people don’t download at all anymore. ↩︎ OK that name didn’t catch on, but conceptually that’s still what’s happening behind the scenes. ↩︎ This didn’t happen, alas. RSS is still totally dominant. We use the API and a few other apps do, but an API is far harder to use than RSS, and doesn’t really offer much more. ↩︎ After spending $75,000 on these apps with a third-party developer we abandoned them as unusable. The development team attempted to use a cross-platform app framework. It didn’t work. Today we would probably have created the site as a Progressive Web App which would have eliminated the need for dedicated apps entirely. ↩︎ And I’m writing these notes in markdown with emacs. So I think I’m actually going back in time. But sometimes the oldest things are the best! ↩︎ And, in fact, we’ve changed the original, elegant, design considerably to reflect the needs of our marketing department. Honestly, I thought the original design was perfect, but over time we wanted to make it easier to discover our shows. The flexibility designed into the front end has definitely paid off. ↩︎ And there have been some fantastic apps using t","date":"2020-06-01","objectID":"/2020/06/blastfromthepast/:0:7","tags":["twit","pwa","web design","history"],"title":"Five Years Later: The TWiT.tv Web Site","uri":"/2020/06/blastfromthepast/"},{"categories":["blog"],"content":"What a time to be graduating. But then it’s always been a weird old world and lately getting a lot weirder. It’s going to be up to you to make it better. We’re counting on you. I remember, sort of, what I felt like at my high school graduation. Worse, I remember what I looked like. Talk about innocent. Little Leo in 1973\" Little Leo in 1973 This is the speech I gave at my daughter, Abby’s, high school graduation in 2010. I send it to you now with love and congratulations. You’ve only just begun. Thank you, Janet. Parents, grandparents, aunties and uncles, brothers and sisters, cousins, teachers, staff, and administrators. Seniors. How did it come to this? It seems like only yesterday Jennifer and I were planning to open a college savings account for our newborn daughter, Abby. And now our baby girl is graduating. If you notice me tearing up a little it’s because I really wish we had opened that savings account. Seniors, today marks the end of four years of hard work for you. That doesn’t mean it’s going to get any easier now. On the contrary, college, work, adult life all will bring many challenges. You will make many new friends but none that you will hold more dear than those you have made here at Sonoma Academy. You may not believe it now, but trust me, you will cherish your time here until the end of your days. Thanks to SA, I know each of you have the tools to find your special talent, and to make your unique difference in the world. You will achieve happiness and deep satisfaction, and maybe someday you will arrive at a sunny field like this, filled with shining faces like yours, and you will truly know the joy we feel today at your success. This week, in high schools all over America, we hand over the keys to the planet to you, our seniors. It’s not in great condition. I hope you will pass it along a little cleaner, a little happier, a little healthier than my generation has left it. Sorry about the gas tank. We meant to fill it up before we got here. Maybe you can do better. I’d like to leave you with a reading from a book your parents know well. It was very popular when we were your age. Written in the 1930s by a Lebanese-American poet named Kahlil Gibran, this admonition to parents matched our feelings, as teenagers, exactly. It’s something we parents often need to struggle to remember. Your children are not your children. They are the sons and daughters of Life’s longing for itself. They come through you but not from you, And though they are with you yet they belong not to you. You may give them your love but not your thoughts, For they have their own thoughts. You may house their bodies but not their souls, For their souls dwell in the house of tomorrow, which you cannot visit, not even in your dreams. You may strive to be like them, but seek not to make them like you. For life goes not backward nor tarries with yesterday. You are the bows from which your children as living arrows are sent forth. The archer sees the mark upon the path of the infinite, and He bends you with His might that His arrows may go swift and far. Let your bending in the Archer’s hand be for gladness; For even as he loves the arrow that flies, so He loves also the bow that is stable. – Kahlil Gibran, The Prophet Parents, teachers, family, and friends, for 18 years, give or take, we have been these graduates stable bow. Now they take flight into their new lives, leaving us behind, waving farewell. It’s sad for us in many ways, but it’s also exactly right. It’s time. Today marks the culmination of everything we have all worked so hard to achieve. We can truly say it is done, and it is good. Seniors, we send you out into the world, our hearts bursting with pride. We won’t burden you with our hopes and fears, but instead lift you with our love and together we will celebrate a joyous completion and a new beginning. We know you will fly far and high. We can’t wait to see where you land. ","date":"2020-05-29","objectID":"/2020/05/graduates/:0:0","tags":["graduates","speeches","photo"],"title":"Congratulations Class of 2020","uri":"/2020/05/graduates/"},{"categories":["blog"],"content":"It’s a story as old as time. Well at least as old as HG Wells… The lawgiver, of all beings, most owes the law allegiance. He of all men should behave as though the law compelled him. But it is the universal weakness of mankind that what we are given to administer we presently imagine we own. – H.G. Wells Sigh. ","date":"2020-05-28","objectID":"/2020/05/lawgiver/:0:0","tags":["quotes"],"title":"The Lawgiver","uri":"/2020/05/lawgiver/"},{"categories":["audio"],"content":"It would be nice to be able to embed audio here. Let’s see what happens. For more of Leo on the Line, “Podcast like there’s nobody listening” or to subscribe, visit lotl.fun And this is an example of a local mp3 file using the HTML5 APlayer provided by the LoveIt theme. It works! Great news. Now I can do some audio-blogging! ","date":"2020-05-27","objectID":"/2020/05/testinganchor/:0:0","tags":["audio","podcast","anchor.fm"],"title":"Testing Embeds from Anchor.fm","uri":"/2020/05/testinganchor/"},{"categories":["blog","video"],"content":"Do you like Sudoku? This video will give you a visceral thrill. I’ve never heard of the Cracking the Cryptic YouTube Channel, but I’m a subscriber now. ","date":"2020-05-25","objectID":"/2020/05/miraclesudoku/:0:0","tags":["puzzles","sodoku","youtube"],"title":"The Miracle Sudoku","uri":"/2020/05/miraclesudoku/"},{"categories":["iusethis"],"content":"In case you're interested, this is the stuff I use.","date":"2020-05-23","objectID":"/use/","tags":["gear","hardware","software","cameras","linux","headphones","audio","speakers","storage","e-bikes","autos"],"title":"I Use This ","uri":"/use/"},{"categories":["iusethis"],"content":"Just in case you’re curious, here’s a description of the various hardware and software I use to work and play. This is a work in progress, but over time should reflect the entirety of my toolset. My hope is to keep this up-to-date because things change regularly. If there’s something you’d like to know and you don’t see it here ask in the comments at the bottom of the page! I realize that the following is a ridiculously large menagerie of gear. That’s an occupational hazard. I review more gear than the average bear, but I do keep the stuff that suits me best. One small point, I almost always buy all the gear I use. I generally don’t ask for or use review units or loaners. I think it gives me a more realistic idea of what owning this gear is like, and this way I’m not beholden to anyone. Any exceptions are indicated below. ","date":"2020-05-23","objectID":"/use/:0:0","tags":["gear","hardware","software","cameras","linux","headphones","audio","speakers","storage","e-bikes","autos"],"title":"I Use This ","uri":"/use/"},{"categories":["iusethis"],"content":"Home Office I have a ~300 sq ft home office with several book shelves and a built-in desk in the bay window. There’s a comfy armchair and ottoman I’ve had for years, a less comfy chair from the studio, a couple of side tables. Computers My desktop and computersMy Desk \" My desktop and computers Sitting on my desk in the office are: Alienware Aurora Ryzen Edition R10 gaming desk top from April 2021 Ryzen 7 5800 X (8-core, 32MB Cache 4.7GHz) Nvidia GeForce RTX 3080 10Gb G DDR6X 128GB Dual Channel DDR4 XMP at 3400MHz 2TB M.2 SSD 2 TB SATA drive Dark Side of the Moon chassis with High-Performance CPU Liquid Cooling and 1000W Power Supply I use a 5TB Drobo Mini for backup. Apple Mac Studio Max M1 Max 32 GB RAM 1 TB SSD connected to a 4TB OWC Express 4M2 Thunderbolt 3 external drive Xbox Seriex X 1TB Each connected to a 55\" Alienware 120Hz 4K gaming monitor. I switch devices using the remote control that came with the monitor. Audio goes to a pair of Audioengine 2 wired speakers with an Audioengine S8 subwoofer beneath the desk. I use an Alienware 310K Mech. Gaming Keyboard and 510M RGB Gaming Mouse mostly to play Valheim. The Dell dual boots Manjaro Linux and Windows 11. When I’m not sitting at my desk, I primarily use one of my more portable devices: A 2021 Macbook Pro 14\" running Apple’s M1 Pro processor with 16 GB RAM and a 512 TB SSD (these days my go-to device) A 2021 Framework DIY Laptop with Intel i7-1185G7, 32GB RAM, 2TB M.2 drive and 1TB USB drive runing Manjaro A 2020 iPad Pro 12.9\" with the Magic Keyboard. A 2021 iPad Mini There’s also a 2016 17\" System76 Oryx Pro i7/32GB/2.5TB/GTX980 laptop. It weighs about 10 pounds but I don’t have the heart to give it away. It’s running, you guessed it, Manjaro Linux Gnome Edition. All my systems have synced Document, Source Code, and dotfile directories using the excellent and free open-source SyncThing. I keep system build instructions and scripts in Notion which I also use for fancy note-taking. For day-to-day notes, to-dos, and lists I use emacs org-mode. Because this site is running on a server (cf. The Beast) in the studio. I keep logged into it via a tmux session running over mosh on all the systems (even the iPad using the Blink terminal). An emacs daemon is always running on the Beast so it’s easy to jump into any post exactly where I left off from any system although right now I’m editing this using Emacs Tramp mode from home on my M1 Pro Macbook. This web site runs on hugo, so I simply save the markdown file, rebuild the site (it takes about 200 milliseconds to rebuild it from scratch with hugo) and jump back into emacs (^XS ^Z hugo fg - it’s practically muscle memory). If you see any stray XSs in any of the posts you’ll know I accidentally hit the shift key instead of the Control key. To avoid this I always map Caps Lock to the control key. The other tmux panes monitor the five Minecraft instances also running on the server (using Spigot), WeeChat IRC logged into the TWiT IRC channel, and our Jitsi videoconferencing server. Smartphones My daily carry is a two-year old T-Mobile iPhone 12 Pro Max in a red Apple silicon case. I also carry a Fi-based Google Pixel 6 Pro Android phone and a Samsung Galaxy S22 Ultra on Verizon. I’m wearing a Series 6 Apple Watch or, occasionally, a Samsung Galaxy Watch4 and an Oura 3rd generation smart ring. Cameras I use a couple of different camera systems. I shoot stills with the Sony A7RIV mirrorless camera typically with Sony FE 24mm f1.4 GM or Zeiss Planar T* FE 50mm F1.4 FE lenses. My daily carry for street photography is a Leica Q2 with its fixed 28mm F1.7 lens. I carry the Leica in a beautiful case and strap from Angelo Pelle. A beautiful camera deserves a beautiful case. A/V For Zoom calls and audio recording on the iMac, I use a Heil PR-40 mic. It’s connected via USB using a SoundDevices MixPre-3. As I do in the studio, I use custom-molded in-ear monitors from JH Audio or AKG K240 headphones. When I do radio shows from here, I use the","date":"2020-05-23","objectID":"/use/:0:1","tags":["gear","hardware","software","cameras","linux","headphones","audio","speakers","storage","e-bikes","autos"],"title":"I Use This ","uri":"/use/"},{"categories":["iusethis"],"content":"Studio A In Studio A at the TWiT Eastside Studios, where we shoot This Week in Tech, MacBreak Weekly, and This Week in Google, I use a Heil PR-40 mic and JH Audio in-ear monitors. The big computer in front of me is a 2019 Lenovo A940 all-in-one with an 8th Generation Intel® Core™ i7-8700 Processor with a 27\" 4K UHD (3840 x 2160) IPS display, 32 GB RAM, and a 256GB SSD. It’s running Manjaro Linux with the Gnome desktop. The TWiT Wiki has a fairly up-to-date description of the hardware we use to stream the shows. The short version is that we use multiple Canon Vixia consumer grade camcorders, switched with a Newtek Tricaster 2 Elite, streaming live to Twitch, Ustream, and YouTube Live via an Amazon Elemental. The shows are recorded using decks from Sound Devices. Editors use Adobe Premiere on Dell Precision Workstations. Our audio uses Telos’s Axia digital over ethernet. ","date":"2020-05-23","objectID":"/use/:0:2","tags":["gear","hardware","software","cameras","linux","headphones","audio","speakers","storage","e-bikes","autos"],"title":"I Use This ","uri":"/use/"},{"categories":["iusethis"],"content":"Studio B Studio B at the TWiT Eastside Studios doubles as my office. I shoot The Tech Guy radio show there, along with Windows Weekly and Security Now. While on the air use a 2016 5K iMac desktop and a 2019 System 76 Darter Pro laptop with a 4.9 GHz i7-10510U CPU, 32 GB RAM and a 2 TB SSD running Manjaro Linux with Gnome. When I need to record audio I use Twisted Wave on the iMac. My Heil PR-40 mic is connected, as it is at home, using a Blackmagic Designs MixPre-3. I’m wearing AKG K240 studio headphones. ","date":"2020-05-23","objectID":"/use/:0:3","tags":["gear","hardware","software","cameras","linux","headphones","audio","speakers","storage","e-bikes","autos"],"title":"I Use This ","uri":"/use/"},{"categories":["iusethis"],"content":"Transport When the weather’s nice, I ride to work on a Radpower electric bike, the Rad City Step Thru. We own two old-school Segways which we mostly ride for fun. I drive a leased 2021 Ford Mustang Mach-E First Edition and love it. Lisa has a 2022 electric Mini Cooper. We really like electric vehicles. Maybe that’s because we generate and store our own electricity with 60 solar panels on the roof and two Tesla Powerwall batteries. Our house is on a well and without electricity we have no water. ","date":"2020-05-23","objectID":"/use/:0:4","tags":["gear","hardware","software","cameras","linux","headphones","audio","speakers","storage","e-bikes","autos"],"title":"I Use This ","uri":"/use/"},{"categories":["gallery"],"content":"Pictures of Petaluma during the height of the quarantine. An historic record. Tip Click an image for a lightbox of the entire gallery. Neighborhood Love\" Neighborhood Love B Street and the Boulevard\" B Street and the Boulevard Getting Lucky on Kentucky\" Getting Lucky on Kentucky Stay Safe Petaluma\" Stay Safe Petaluma Western Ave and the Boulevard\" Western Ave and the Boulevard Social Distancing\" Social Distancing Middle of the Road\" Middle of the Road The Petaluma River\" The Petaluma River That Cherry Tree Slays Me\" That Cherry Tree Slays Me Park Bench\" Park Bench Chair amid poppies\" Chair amid poppies Thank You Mr. Postman\" Thank You Mr. Postman Masks To-Go\" Masks To-Go Shollenberger Park\" Shollenberger Park Under Your Protection\" Under Your Protection Blue Swing\" Blue Swing Hit The Road\" Hit The Road ","date":"2020-05-22","objectID":"/2020/05/petalumapause/:0:0","tags":["photos","quarantine","petaluma"],"title":"Petaluma. Paused.","uri":"/2020/05/petalumapause/"},{"categories":["blog"],"content":"I just paid $60 for a year subscription to the commento.io comment system. It’s like Disqus but supposedly more private. So you should be able to leave a comment here! But you can’t. Grrr. Working on it. (But see below!) Update: I can’t figure it out for the life of me. All the code seems to be there. I’ve set all the settings, etc. So for now, no comments. That’s not the worst thing in the world. At least this way I don’t have to moderate them! For the time being I guess you can comment on Twitter. UPDATE: Ok all of a sudden comments are working! Look at the very bottom of the page! I’m thinking it just took a few days for the folks at Commento to hook up the site. Thank you! I might want to mess with the theming a bit - the comments are so far down they’re easy to miss. But notice the thought bubble on the lower right as you scroll down - click that to jump right to the comment section. ","date":"2020-05-21","objectID":"/2020/05/test/:0:0","tags":["comments"],"title":"Testing comments","uri":"/2020/05/test/"},{"categories":["blog"],"content":"I use fortune and cowsay1 to spit out pithy sayings when I launch my terminal2. This morning’s seemed very apropos. Fame is a vapor; popularity an accident; the only earthly certainty is oblivion. – Mark Twain After the game the king and the pawn go in the same box. – Italian proverb The universe speaks. And now, a little movie3 to demonstrate. Pay no attention to the locomotive. Mac users can use brew to install the fortune and cowsay programs. Arch users can combine both with cowfortune in the AUR. And for extra fun, install lolcat and get rainbow fortune cookies. I’ve posted the fish shell code I use in the comments below (the footnote formatting mangles code blocks). ↩︎ From xkcd #196: Thank you, Randall! ↩︎ This movie brought to you by asciinema. Install on macOS with the command brew install asciinema. ↩︎ ","date":"2020-05-21","objectID":"/2020/05/wtlb/:0:0","tags":["aphorisms","brew","commandlinefu","cli"],"title":"Words to Live By","uri":"/2020/05/wtlb/"},{"categories":["blog"],"content":"Now that I’ve switched to the new LoveIt template I noticed something worrisome. I was organizing my posts by month folders, but it looks like LoveIt uses Hugo’s page bundles which means that each post ends up in its own directory (using the filename of the source file) in the root of the public folder. Does that mean that every post I ever write will have to have a unique name? Maybe Hugo has a way to solve this, but just in case I’ve re-written my newpost.fish function to append the current UNIX time in seconds to the filename so it’s unique. So the source file for this post, for example, is bundles1590002452.md. I’m still going to put the source files in the month folder. So, for example: is transformed by Hugo into the static files in the public folder here’s the new fish function code: ... set -l thepost \"post/\"(date +%Y-%m)\"/\"$argv(date +%s)\".md\" Update: After further exploration I’ve realized that hugo can use permalinks of the year-month form (check out the url of this post) and that I can organize the content folders that way, too. I no longer have to use crazy unique filenames. I only need to make sure a post filename is unique in any given month. So here’s the new (and I hope final) fish code to create a new post: ... # build the file name using the current year and month as dirs, $argv is the argument to the function # this generates a string like \"posts/2020/05/mypost.md\" set -l thepost \"posts/\"(date +%Y)\"/\"(date +%m)\"/\"$argv\".md\" ... ","date":"2020-05-20","objectID":"/2020/05/bundles/:0:0","tags":["hugo"],"title":"Unique Filenames in Page Bundles","uri":"/2020/05/bundles/"},{"categories":["blog"],"content":"The only issue I’m having with using a static web page generator like Hugo is images. I like to put images in my blog posts. I think it really dresses them up. But if I have to upload all these images manually that’s going to be a pain in the butt. This image is linked in markdown: Bill and IBill and me \" Bill and I OK that works fine but, the picture is hosted on my Wordpress site. I don’t like hosting images on other sites because they can disappear without warning. That happened to a lot of the images from my previous blog and it’s sad. Ideally an image would be on the same server as the blog. Then moving the blog would be simpler. There doesn’t seem to be any automatic way to fetch a non-local image and store it locally during the Hugo render. I wish there were. So for now, I have to upload the image to this server by hand. 😑 ","date":"2020-05-20","objectID":"/2020/05/images/:0:0","tags":["hugo","images","experiments"],"title":"Displaying Images, Uploading Images","uri":"/2020/05/images/"},{"categories":["blog"],"content":"I’ve finally settled on a look for this new blog: LoveIt. Hugo has a huge number of themes, with many different capabilities, but this seems to do everything I want. You can choose light or dark mode in the upper right hand corner. There’s an RSS feed. And the organizational system makes sense to me. I’m not turning on search, although it is supported. Maybe after the thing gets big and unwieldy. I’d really like to port all the entries from leolaporte.com over - but that’s a big project. Some day. Enjoy! ","date":"2020-05-20","objectID":"/2020/05/theming/:0:0","tags":["style","hugo"],"title":"Hello Dark Mode My Old Friend","uri":"/2020/05/theming/"},{"categories":["blog"],"content":"Hugo has shortcodes that are embedded in the markdown of posts. This is an example of the figure shortcode. Honor Guard at the Tomb of the Unknown Soldier, Athens And this is a gist from my github account: Et voila ","date":"2020-05-19","objectID":"/2020/05/playing/:0:0","tags":["hugo"],"title":"Playing with Hugo Shortcodes","uri":"/2020/05/playing/"},{"categories":["blog"],"content":"How quickly can I write a post?","date":"2020-05-18","objectID":"/2020/05/onmyipadtoo/","tags":["ipad"],"title":"On My iPad, too!","uri":"/2020/05/onmyipadtoo/"},{"categories":["blog"],"content":"Just a quick test to see if I can post from my iPad using the Blink shell program. If you’re reading this, I can! ","date":"2020-05-18","objectID":"/2020/05/onmyipadtoo/:0:0","tags":["ipad"],"title":"On My iPad, too!","uri":"/2020/05/onmyipadtoo/"},{"categories":null,"content":"I’ve written a small fish function to automate the creation of a new post on this site. Fish is the shell I use pretty much everywhere (instead of the default bash shell on Linux, or zsh on macOS). It has a great command language and the ability to create functions that become shell commands. The following code is saved as .config/fish/functions/newpost.fish To create this post I ssh’ed into the server (actually I keep a mosh session always open on most of my computers, including the iPad with a tmux pane dedicated to this purpose) and typed newpost automated. This fish function creates a new blank markdown file, opens it in my editor, and then will rebuild the site once I finish editing. Here’s the function… function newpost -d \"creates a new hugo post with the name supplied in $argvand opens emacs to edit it, upon emacs close rebuilds the site\" # this is my site's location set -l sitedir \"/home/leo/www/leofm/\" # save the current directory set -l curdir (pwd) # move to the web dir (hugo needs to be invoked from here) cd $sitedir # build the file name using the current year and month as dir, $argv is the argument to the function set -l thepost \"posts/\"(date +%Y-%m)\"/\"$argv\".md\" # tell hugo to create a new post hugo new $thepost # then edit it emacsclient -c -a=\"\" \"content/\"$thepost # after saving the post, update the site hugo # and return to the original dir cd $curdir end Thanks to this script, and Hugo, all I need to do to post here is log into the server and type newpost \u003cpostname\u003e. That’s exactly what I’ve been looking for. By the way, Hugo has a ton of interesting templates. This is Binario. Like it? ","date":"2020-05-18","objectID":"/2020/05/automated/:0:0","tags":null,"title":"Automating Hugo Posting","uri":"/2020/05/automated/"},{"categories":["blog"],"content":"I am tempted to write first! But there’s not a whole lot of glory to be the first to post on your own blog. This is leo.fm - a silly attempt to create a static blog (so you see the tag line is a lie). I’m using Hugo to make this thing. Hugo is a go program that takes markdown files (and other stuff) and turns it into static web pages. No CMS, just HTML. The idea here is that with Hugo running on this remote server (it’s the Beast running in the studio) I should be able to create content quickly and remotely. For example, I’m writing this in a mosh + tmux session (I want to say “mosh sesh”) from my MacBook Air at home using emacs on the Beast. Once I save this, I type hugo and the site is updated. I suppose the next step will be to automate the process, although this is pretty simple. I can keep a little shell window open in emacs and issue the commands without ever exiting. What fun! ","date":"2020-05-18","objectID":"/2020/05/helloworld/:0:0","tags":null,"title":"Hello World","uri":"/2020/05/helloworld/"},{"categories":["Leo"],"content":"🙏 Hello. My name is Leo Laporte. I am a US-based journalist specializing in technology coverage on the Internet. This site (leo.fm) is a place I store quick posts. I guess it’s the closest thing I have to a blog these days. Well done finding it. leo.fm is a static site generated from markdown files using Hugo. The site template is LoveIt. The server is running Debian and nginx out of the TWiT studios. I mirror it at Github (leolaporte.github.io) - that’s one of the many benefits of a static site! I have several other web sites you might be more interested in: I host and produce multiple technology-focused podcasts at TWiT. You can download them all on the TWiT.tv website or subscribe on iTunes. Watch us produce the shows live at TWiT Live or listen in at TWiT.am. Listen live any time on your voice assisted devices by saying “Hey [device name here], listen to TWiT Live.” Chat with me and members of the TWiT community in our community-run IRC channel #twitlive at irc.twit.tv. Our official forums are at TWiT.community. Club TWiT members ($7/month) can chat with me and the team on our private Discord server, and get ad-free versions of all our shows, and a special TWiT+ podcast feed. I don’t use Facebook or Twitter, preferring instead to use a federated social network called Mastodon. Our official TWiT Mastodon instance is at TWiT.social and I am [email protected]. I’m also trying out Bluesky as leolaporte.me. For secure messages to me (or anyone) don’t use email. My secure Signal messaging ID is 302-536-8948. I’m an avid amateur photographer and post my best photos (such as they are) at www.leo.camera and Flickr. I’m @ChiefTWiT on glass.photo. For information about advertising on my podcasts visit leo.fm/advertise. PR professionals, please visit leo.fm/pr before pitching me. I use GNU Privacy Guard (gpg) or S/MIME signing for email whenever possible. Mail from me will be signed with my PGP key with the short ID 4567B47C or GlobalSign S/MIME certificate ID 582BC167. Email addresses are easily spoofed, but signatures can generally be trusted. If you receive an email from me that is not signed, reply requesting a signed version before trusting it. If you’d like to encrypt your email to me, or verify a message from me, use my public PGP key: Leo Laporte 2018-2022 (4567B47C). I create new keys every few years so be sure to use this key and not older versions. (This key is dated June 8, 2018 and identified as [email protected]). It’s probably easier (and even more secure) to use Signal messenger (302-536-8948). My phone rejects calls from unknown numbers, but you can leave a text or voice message. My full bio is posted at leo.fm/bio. Identity verification for this and some other sites at Keyoxide. Contact Info: Email: [email protected] Voice mail/SMS/Signal: +1 302-536-8948 Snail mail: Leo Laporte, 1351 Redwood Way, Ste. B, Petaluma, CA 94954 ","date":"2020-05-18","objectID":"/about/:0:0","tags":["bio","about"],"title":"","uri":"/about/"},{"categories":["Leo"],"content":"Answers to questions people frequently ask me: What’s the best way to stay secure online? Start by using a password manager. We all need to use passwords all the time. The problem with passwords is that good ones are hard to remember. So people often use weak (but memorable passwords) and reuse them on site after site. A better way is to use a program that generates long, really random (hence unmemorable) passwords and keeps track of them so you don’t have to. That’s a password manager. If you only use your Mac and an iPhone, Apple can do this for you with the keychain. Your browser can also keep track of your passwords. BitWarden is open-source, inexpensive, and very secure. It generates long, strong passwords and remembers them for you. Dashlane and 1Password are also excellent and work the same way. Two more important tips: If you use Gmail, follow Google’s security advice at https://google.com/security – make sure to add a recovery phone number and email. Turn-on two factor authentication wherever you can. What programming language should I learn? If you merely want to get a job as quickly as possible go to one of the many coding camps and study Javascript. If you want to learn the art of programming. I recommend starting right with the free textbook How To Design Programs. HtDP uses the free DrRacket language and IDE. Racket is a lisp, but as they use it in the book it’s a much simplified teaching language. It’s intended to get out of the way so you can learn coding concepts without having to struggle with language syntax. There’s a well-done free pair of online courses from the University of British Columbia that teaches HtDP at edX.org. I highly recommend them (I’ve done them myself.) Once you’ve learned how to think about programs you can study any other language and you’ll be a better programmer for it. Can I promote X with you? I appreciate your sending along information about your product, service, web site, brilliant idea, or podcast proposal. I wish you all the best. I will read it and store it away for future reference. I don’t meet with vendors, so please don’t ask. TWiT.tv isn’t looking for any more podcasts either, but good luck with your show! How do I buy ads on your shows? Advertising Sales for TWiT is handled through Lisa Laporte, [email protected]. Our minimum buy is $25,000. Thanks so much for your support!! Please help me! Thanks so much for writing. Unfortunately due to the volume of mail I get I just don’t have the ability to answer individual questions. I’ll keep your question in mind for use on one of my shows, though. I’ve also found that searching Google can be helpful. If you’d like to ask your question our Ask The Tech Guys show point your browser to call.twit.tv from 11a-2p Pacific/2-5p Eastern/1900-2200 UTC on any Sunday. I appreciate hearing from you. I hope you understand why I can’t be of much help. ","date":"2020-05-18","objectID":"/about/:0:1","tags":["bio","about"],"title":"","uri":"/about/"}]