Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
8
We did a high-level “Customer Success” overview yesterday. Today, lets contrast customer support and customer success. Support vs. Success First, what’s the difference between “customer support” and “customer success”? Lincoln Murphey says: Customer Success is proactively working our customers toward their Desired Outcome whereas Customer Support is reactive to customer’s break/fix issues. Customer Support – specifically the number of interactions with the customer and how quickly those interactions are resolved – is a critical input into an overall Customer Health score (a key Customer Success metric). It’s pretty obvious that if customers can’t use the product, they can’t achieve their Desired Outcome. So, support is reactive, and success is proactive. This distinction is quick to cause frustration for support teams, because they feel like they’re being taken down a notch. In some companies, this is absolutely the case. Support is the low man on the totem poll, and it’s not good for...
over a year ago

More from Josh Thompson

On Scooters as a class of vehicle/tool

Introduction Often when I say “scooter”, especially in the united states, the person thinks of something different than what I mean. Here’s Denver’s Sportique Scooters, here’s one of their recent posts: So that is the kind of vehicle I’m talking about when I say “scooter”. I once had a vehicle just like that. I note that I wore a different helmet, vastly safer - I always ride with a full motorcycle helmet. Head injuries are no joke. It’s my primary vehicle, and my only vehicle. In America, nearly every situation is improved by having the option of riding one of those vehicles around. Collections of writings about scooters See, it’s not really about scooters, per se. It’s the verb of the thing. Scooters are different than cars, but the only reason it matters at all is because scooter-ing is vastly different than car-ing. And some of you might say “oh, I have a bicycle, and so…” Scootering is also different than bicycle-ing. 👉 https://josh.works/scootering

a month ago 50 votes
Practicing with Polylines Part 2 - Get Your Data (as a polyline) From Strava

Last time, I did a minimum first pass on rendering a polyline on a map. It wasn’t just any polyline, though, it was a path of a walk I went on. (Technically, just a fragment of a path). this is a heavy draft, I’ve had issues getting this all working well in the past, still have to suss it today. the dictionary definition of a polyline is ‘some string that decodes into lat/long pairs that can be traced on a map’. I’m interested in the lines I’ve always looked at, which were made by Strava, from a device on my person, while I was walking, or biking, or riding my scooter. So it’s data, but it’s also extremely-specific-to-me location data, and it obviously has the capacity to be fascinating. My data is likely to be boring to you, though. What might not be boring would be your data. You could go on a walk right now, with the Strava app running on your phone, save the activity, and a moment later be looking at a map with that new activity data rendered upon it. Lets do just that. Like any good thing on the internet, there’s others who have done this thing in a concise and better-than-i-could way. These were my first sources and inspiration for this project: https://www.markhneedham.com/blog/2017/04/29/leaflet-strava-polylines-osm/ https://gist.github.com/mneedham/34b923beb7fd72f8fe6ee433c2b27d73 Today, I’m going to try to ‘quickly’ get a working auth ‘thing’ set up, close-enough to a copy/paste ruby script, so you can run a script or run some ruby commands in an IRB terminal, and get your data back from Strava, including any activity data polyline strava has. The goal being a polyline you can copy and paste, yourself, into a html document and get a cool map, showing off a walk or journey you went on yourself. It’s strongly based on Mark Needham’s stuff. First, download the Strava app (android/iphone whatever: https://www.strava.com/) Create an account, and then go on a ten minute walk while tracking that as an activity in the strava app. Finish the walk, end the activity. It’ll upload to Strava, and now we can use the Strava API to get that activity data back out and look at. You can keep working through this guide without activity on your Strava account, so maybe plan on taking a ten minute walk in the next hour or so. Set up a ‘strava application’ Strava has apps, and you can give those apps permissions at a per-app basis. You’ll set up an app that you’ll then give permission to know certain things about your data. So, to make the app account, and get your account id/ key, head to the developer settings. go to https://www.strava.com/settings/api and follow the prompts to get an API application set up. When you have your client_id and client_secret available, you’re ready to continue. We might use https://github.com/dblock/strava-ruby-client at some point. Authorize the app to access your strava data You’re going to need to generate a token (a refresh token and ) We’re going to do some creative things. Paste this into a pry session. do gem install 'strava-ruby-client' first. Then, fire up a pry session or irb session in your terminal. I recommend a text file where you can keep text for copy/paste accessibility. Copy the below text into your own blank file, update the client_id and client_secret variables (don’t commit any of this to github, you can make it an environment variable later. Or now.) require 'strava-ruby-client' client = Strava::OAuth::Client.new( client_id: "id", client_secret: "secret" ) redirect_url = client.authorize_url( redirect_uri: 'https://localhost:4000/oauth', approval_prompt: 'force', response_type: 'code', scope: 'activity:read_all', state: 'magic' ) this did not work: https://www.strava.com/oauth/authorize?approval_prompt=force&client_id=63764&redirect_uri=developers.strava.com&response_type=code&scope=activity%3Aread_all&state=magic this worked: https://www.strava.com/oauth/authorize?client_id=my_client_id&response_type=code&redirect_uri=http://localhost/exchange_token&approval_prompt=force&scope=activity:read_all Look in the URL for “code” variable, and carry it on to the next step, where we give Strava this code, it’s treated as a ‘refresh token’, and if we give strava a refresh token it’ll give us back a valid access token that can then be included in the request authorization of every subsequent API call, and we’ll get back data for the strava account identified by that access token. This is all ‘just’ ‘basic’ auth stuff, but it can get tricky sometimes. require "uri" require "net/http" url = URI("https://www.strava.com/oauth/token?client_id=YOURCLIENTID&client_secret=CLIENT_SECRET&refresh_token=REFRESH_TOKEN&grant_type=refresh_token") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) response = https.request(request) puts response.read_body # look at the response before continuing, save the `access_token` In following that link, and approving the app, you’ve given your own app access to your Strava account data. Finish the oauth “flow” to view your data. With that code, in Postman you can now make a request. To see if it works, you can also paste this into an IRB session: require "uri" require "net/http" url = URI("https://www.strava.com/api/v3/activities/") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = "Bearer ACCESS_TOKEN_FROM_PRIOR_STEP" response = https.request(request) puts response.read_body boom. Look at your activities! The polyline(s) might be visible now. If so, phenominal! Save them to a text file, or a CSV, manually or automatically. To get the detailed polyline, and not just the summary polyline, you need one more request: require "uri" require "net/http" url = URI("https://www.strava.com/api/v3/activities/YOUR_ACTIVITY_ID?include_all_efforts=true") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = "••••••" response = https.request(request) puts response.read_body Does that work? I hope it does for you. It worked for me.

4 months ago 13 votes
Practicing with Polylines

This is a first pass at trying to do something interesting (repeatedly) with the same base primative, in this case, a “polyline”. Read the rest of this post, understand what we’re going for, then go to part 2: get your own polyline from strava. It’s not trivial to get, but its interesting data, and you’ll have an abundance of polylines, if you want them. The polyline in question I got from Strava, after recording a scooter ride: This post should be interesting to programmers and non-programmers alike. A polyline is a way of encoding a bunch of latitude/longitude pairs, so it can be drawn in detail on a map. Here’s what the polyline looks like, raw: oops, in a browser this string simply disappears off the side of the page. Here’s what it looks like in an editor: That string is suuuuper long. The only way to get it on your clipboard is to triple click it, highlight the whole thing, ctrl-c. You could then paste it into a polyline decoder. I googled my way to this one: https://www.daftlogic.com/projects-convert-encoded-polyline-to-latitude-longitude-list.htm, and see all 3321 lat long points. Here’s a snippet of what some of it might look like: update, using a different polyline than what I started this whole thing off with - it was maybe giving me issues. 39.72873,-105.00070 39.72877,-105.00071 39.72882,-105.00062 39.72894,-105.00062 39.72898,-105.00060 39.72904,-105.00051 39.72904,-105.00040 39.72908,-105.00035 39.72925,-105.00034 39.72929,-105.00030 39.72930,-105.00024 39.72932,-105.00038 39.72933,-105.00039 39.72951,-105.00032 39.72967,-105.00032 39.72971,-105.00027 39.72979,-105.00020 39.72992,-105.00015 39.72999,-105.00005 39.73016,-105.00005 39.73020,-105.00004 39.73031,-105.00007 39.73039,-105.00006 39.73043,-105.00002 39.73043,-104.99993 39.73040,-104.99989 39.73032,-104.99991 39.73033,-104.99996 39.73024,-105.00000 39.73018,-105.00000 39.73016,-104.99998 39.73023,-104.99993 39.73037,-104.99995 39.73037,-104.99992 39.73036,-104.99997 39.73033,-104.99999 39.73032,-105.00005 39.73030,-104.99999 39.73027,-105.00000 39.73029,-105.00001 39.73028,-105.00000 39.73029,-104.99998 39.73032,-104.99993 Those lat/long pairs are not super useful to look at, so to make a polyline ‘useful’/viewable, you need a map. (and html and javascript, including one very specific JS package, I suppose, and global supply chains of computing technology and the internet!) One can pop the polyline into Google’s polyline decoding utility to see it rendered. Here’s what the original polyline I was working with looks like: If you plot the polyline above (triple-click, ctrl-c, paste) you might see activity data from Denver, I went on a multi-hour walk with my kid through the local park and botanic gardens. More about those later. If you don’t see that data, maybe there’s some issues with the copying and pasting. Now, lets do something interactive, close to what google is doing there under the hood. I’ve used Leaflet before, and mapbox, a little, so I’m going to start with those. Lets render a bare map, but open it up to about where the polyline will go. I’m sorta writing this blog post top down. Lets add a map, and initialize it. Following the Leaflet quick start docs, and soon making use of a js/leaflet plugin that lets us decode polylines directly via L.Polyline.fromEncoded(polyline). I was stressing about how to add JS without something like NPM, but then realized I can source the file directly in the head of the document Open up a new file on some directory - maybe leaflet_practice.html We sourced there css, then JS, then added a div for a map, did a tiny bit of styling, and minimum JS. Telling the map to open on Denver’s approx lat/long. <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin=""/> <!-- Make sure you put this AFTER Leaflet's CSS --> <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js" integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script> <div id="map"></div> <style> #map { height: 180px; } </style> <script> var map = L.map('map').setView([39.742043, -104.991531], 13); L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 19, attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>' }).addTo(map);) And here’s what that renders: <script type="text/javascript" src="https://rawgit.com/jieter/Leaflet.encoded/master/Polyline.encoded.js"></script> ^------- this line is a critical addition There we go! It worked! A basic map. Pinch and zoom and pan. Cool, huh? Lets add the polyline next. We’ll assign to to a variable, and ask Leaflet to decode it and add it to the map. edit, that was really hard, what you’re about to see is a much smaller version of what I’d planned to do. It’s just a tiny fraction of the whole polyline, arbitrarily cut off at one end. I’ll explain what I did below. bleh, I didn’t even get the polyline directly encoded/decoded, I had to do an interstitial bit where I was working directly with lat/long pairs, as retreived from the decoder. Dang. var map1 = L.map('map1').setView([39.742043, -104.991531], 13); L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 19, attribution: '© OpenStreetMap' }).addTo(map1); var map2 = L.map('map2').setView([39.736532, -104.977459], 18); L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 23, attribution: '© OpenStreetMap' }).addTo(map2); var encodedPolyline = "u}pqFttt_S@NFNB?JA@@DIH@@CEEBAPAFBHK@@FEf@??FLEPA\\?LD@CECDI?BBEH?DHLCT@BLBtB?@FADDDMADC@BJEIBAEMA@AC?HKACDDAHQEMA{@?e@BCR@FBJ?DBJAHB`@AF@LAHE~@?FEJLVC\\?DNBA@BFBBAPMJAP@NCBE?CIO@Cn@Fl@Cj@BDEDBFALDN?^?HILCRHNAVD~@?XKz@k@HSBWHKVOD?b@VJBHA?KCQBi@n@Sp@e@`AMHIJDZB^?\\KPKVYLq@f@i@Nm@L}@Cg@Q_AMWDH?CUa@g@YCEBGJQ`@]Eu@AA?HAG?f@CFSZITDHXXJPN`@BBAU}@s@_A][EEBAA?OEA}@JQL@F?EMAKLKBEFPd@Ma@QBA?D@EHKBKJKDILEGHe@@WAAEA@BBCADD@ABCK@UCW@IRO\\GDGLABBF?TGD@TI^GX?@EDBJCNBFCLDHJLMBBBCL@NFDC@MH?JN@X@BD?NIJBh@SZ@HK@BVA@CDALDHHRAHBZBFEBYFO?MBSAECHDPANOIOC?CJIFDFB@DDEEA?DC?B@ALLKADACADC@AC@@GBAA?ECBARDPBKEHDA?IEA@@?C@F@AB?@FCKAF@D?C@@EC@A?BCC?E@P?CCB?GFAGB@CAA?BC?D??D@K?AAB@@AAC@@EDACD?CBBABCA@CADACB@CAC_@@UCKAABGAUAEICAEBa@FU@_@@ED?^BDA@IEQ?k@FCF?DBBGEOCWCAMAG]EAKBADGECECa@Bk@Dc@EaBDQE?CGD_@PIH@LHD?@BIFEEOAf@CDAAI@DBEF@IC?B?CFFDBBFF@LC@ICEQE?B?M@LCAD?EDAC@A@DA@FKACGCFBABCAEIHDB??DCABB@AEGDFEABFAC?CABECJHGBDXXPD`@L@HBDZ@NAJC@O?DOD@CM@BBABNAHEBI?GEKAM?QDDCL?RBJ?HIBKISR@CHBACBECDDG@BB?C@FCGKrC@\\?BCABB@\\?d@@@?C@H@AC?CF?\\GFK?G@EA?CG?gABQFCFCn@Ft@JDT?BFBKNBEGGE?EGAMD@EJQBBFIJGB?@FAFC@B@ABHQ@BMN?H?KCA@@@A@@ABAAHEA?@B@GDCI@?BAEABCA?CB?CBBHGCB?CCBFC?@E?@BC?BCD@CC?BAA@?E@?@AC@AF@??C@G@LEEWFD??FHALD@DGF]CMR@SCAABDADDC@AEED@ADABDCBEA?@?CDAEB?NCCBEABBBDPXJFFDGJ?RGBEB@\\R^LHJJ@d@Kb@E^MD?@@C@@IABDEDBj@?~@GNBJANDr@?TDXNNPPd@Fz@Gz@?f@BZAVBb@Cf@@HELG@?EDB@ADHBrBDz@KpA?~@Kv@a@|@_@Va@`@G?KES[KGKWGEa@CQEBDk@CYBKDc@XSAODUA]DSC[Bk@Ck@BUAUDIAAAUFQIYCIMK]MAODEDAGDBC?CIBUECE@DEACCFD@ACADE@AEFFGMFA?@IAI@AGBMCE@HBBKBG?DCDKLCG@@IBA@MZWA@?CGGCAAGKUAK@MCKIGM_@IA@KDEC?CHAAAD@BB?CA?B@CHJADBBCCC@CNGFBHJJMCC@DT?F?AF@FH?HGXBTFNKPFAAAG@CD?E@DH@@EAIDD?ACCFDDLGB?FELAAC?CMA?BJBMEKA?@A?DJHE?CCCFCAJED@ACA@@EHXFC?EEACKFQ?EEAM@AFC@L?LUHXD?ABCCCFAC@B@GKG?KOUAKKIq@RCD@DHB?@CBVUPo@D?A?BDNQCS@GDQHMCHDIJq@HMBMDI@KC??DBCH?EO?CBACKL_@HI?KCXICJMFS?GGCID@PPQA@GEE?HDHKHC^DBABGLENA@CFe@CMCk@CACD@BCAEIBMB@BGHCB@EM?KBI\\CNBPYEGGB?MCCCLG?@CCHG@EE@CFA?DSFAJBEEDBXCF?V??@E@MFCOi@?KDCB@?FIB?BB`@CN?ADDHY@a@AAADEBAD@HFEC?@CEA@EB@AG@BPEJ@CGOGQ\\AIDCA@EYBMFKH?E^BXAHAAGQFB@ACC?HHIDKC?@BDGB?@FGDE?CKCDAG?FHUYEIDBRHBDF?C?DAGBO?KD[KUEBIABDE@WAIBF?M?ADDv@D@FE?FHGJBBH?RDD@MGOGG?IB@C@@ABF@LHLJBFABKCIBJE@@BG@IJO@?BB?CDB\\DVCDCME?@L@FAB?IFL@J?NEL@X?CCPCAADKAEBWOIBO?a@OG?OQQGG@ML@LEJCZ@@AD@AGJI`@EFCABA@BCH?CMJOBENIp@CDAHEDAAIDMH@@I@?B@AJF@PEFQDC?@@D?WHYRo@R?DQDKRQJG?UFIAm@HOEACDBABE??FIE@AJABKOJGNKACFFdBADG@@BEAZAp@KdCCRG@?AB@CDHLA^Dv@Gd@BNEDUJUBQDID?Ae@C?IBECCC@FGPDTKBIKVy@?UFQF]GMKK[QMAOFYVE?OHO@ULSRGBSb@^r@RXJDXD^ALBhAEDWCI?SC?EBCJ?JDEE@B@BCACC??BDEB@C@FC@CM@GFAABBNKFK@@G?KBIL@@XMDIGH@@BA?OMGMFGFYh@CNAAAEADIDIGSA[HUCGEQ_@_@Y_@q@c@NEDUD]LI?MC}@@e@GUAGDEXUXg@Xa@NGFc@AOBY?k@Ig@Fq@A]DCDc@AY@GGQD_@@GLC@eA@OCqCG}@HO?ICc@DYGMBEEM?MLSE_@?SDm@EO?IDGEG?KFFl@?n@K@QC]@OAKFAFFh@I\\?HDBTCBCEAE@@F@B?Da@PJEKAACDAVWd@[??ALBFNIWHDA@FFA?GGABICC?@s@FSAj@@J@BFCEQCs@DLGH?GBF?C@F?EAB?C?BACAC@?CCBBDHBFAOABA?ACASDH?BBFA@CBBH?KGM@HAMABDF@ICB?EEDDC@?AFAGAB?AAC?D?AB@AO@JDcCP|BWF?DFCGAB@EDLEKFD?@IGF?ED?CAAFHAEA@ACCFECC@?CIDBEGGABBBJAH@@CSDREBMGJB@CAB@AAABBBCGABB??BCBUJFKB@C?CCTIYDEFFEZAICWJAKD@HEF@AB?EDDAHHKCGOJ?BHCENNM@EA?AAD?C@?C?D?E?B@AA??A?DH??BKC@C@DCE@D?EBBCCM@F?AAFBAA@?C@@BA?BCA?@??CA@@AA?@@?A?@@AA?@?CA@BGEI@ABR?KHB?ACF?CIFWIFADB?JEKHDDECDE@HIDFA?MABD?GNEDNQCC@@GDE?BAFA?BD?MBCBBAAAFKA@@FAA@C@BCBI@DEBAABB?@AAE?BC?@EB@GADD?@AA@BGSFRAA@A?H@AAECJEFFE@M?H@AAI@BDAG?@@AC?@CABB?A@?A@@EC??CC?F?CJB?CACB@?E?AGFECBEEHB@FABACJ@BCC@KKC@BGF@A@ACDFAF@DAI?@E@DGDA?@CBCAADBG?BAAAFEAF@AAEBB@?EC@P@BBI@EKBKC?AHBFCK?DBBHAGAADO@H??BD?C?@ADBCGD@YJXAIKBA?EGFBG?B@CA@AC?BC@CCDC?ADAEJB@ACC@B@CBN?EC?BGD?FBEI@B?@IM@G?NIH?DDIIHD?EAD?ICBIAHACDBBA?H@EBLAO?BAG?BCC@B@GED?ABFB?D@CEADEM?AABCDDKAL?CBBA@FEC?CI?B?A??EB@EALBABBC?BE@DAA?@@A@BAD?E@D?WDF?FE?BEAFBCABAA@ECDBCEEDB?ACD?ABDAIBD@AABAC?BAI@F?AGC??@DAC@DDA@BCCBE?AIH@@J@AADB@?KE?DFC?EEKCD?ADD@AA@AD?E@BAGCL?G?A@@ABBE?@EIAL@AB@BAG@@CAF@O?@@C?@@DA?CC@B?C?@A@?CB?EB?CAD?SAh@FK?MCMBF@?@B??EBCD?OABCNBKB?BH??CL@Q?@E@FC@HBI?AAE?HAAAGBFB?DB@GCBCEAH@G?B@CBDCA?BAAA??G@FA?CC@BAGAIBT@QBl@GKAO@B?A?F@UBD@BAI?FMCNBOEHDEKDJIMDFBWDTBDC@GAAB?ECF@EF@GCJBMCF@EAHACF@HCG?F@K?@DE?BMFDCAACUBRACBN@QDDACGBAI?H?C@B@?I[JH?A@NCKCS?P@VE@@@J[MJ?HFEDYAN?@E@@FCL?FCK?QBJ@O@b@@MIM@LDICJE@KA@@@AFG@DFE@@@E?AE@?CCBAI?FJF?E??ICEF?C??HCABC@F@CC??CE@FAAE?D@AC?@@F?G@@DC?AE@@?@@AGAH@A??C@?A?CBFEIB@?CED@AECHB?C?FCCAB?AB?CA?@@ADCARAG?BBIAD@A?DEIFFCG@BEB?E@?AEHDE?ECB?DBAG?DAA@B@@AEA?C@BEDD?@E?BBAAC?BC?AED@GDDE?BBC?BGCLGM@A?FACHEEBAE?D@A@D?A@?CD?M@F?A@HBCA@GCB?CC@D@C?@@A?@B?ADCICCDD@@CBHOAJAAAB?@EG@FNAA?EEAA@BCC?FACEB@E@BAAE?FCBJEC@B@SBLD?CEADDDCI?BA?CCA@??B@CB??BCB@AAAB@CAB?C@@CB@C@B?I?@?@BGAJIE?DEEAHFE@A?BCE@J?CAD?A?@AG?@@ECHDOB?BHDCA?G@?A@FAG@?@D@KJDEACBABC@@C?@BEAD@?@CABB@CK?HCKDB?A@BEB??@CABAAAEDHAGADA?CC@@@C?EB@?AABB@C@@C?BAAAJ@C?EADAEAA?F@EAD?IDDAEAD@A?@?@AE@BA?@C@B@ABEABCCADACBG?J?B?CA@?C?ACD@BAC@@ACA@BC?ECB@C@D@C@DAEAF?@@A@EA@CB@E?FAIDECE?ABCA@ANDBAEAD@CC@CC?D?E?EDNBC@@B?EEA?@B?G?DAADAA@CHA@@E?ABCABAA?DB?@CC@CBBE@D@CADAEA@EA?@@A@@HI@DIA??ED??BC@@CCABEACGDC?@A@BH@?DC@JBECDCGCBCG@IA@?C@@@BAACD?BCEABABBAHLB?GC@?FQCFA?ARFEBD?OAFACDCA@CG@F@C?CE@A?BD?C@AAH?@CK@D@FAACBA?CEBB@@AQADACDG?L?ACA?DBCFDBABJ?KEEEI@HADB@AACG@B?@@A?BAAANCB@E?AFE@B@E?JCCB@@CA@C@?A?BAAC@?I@?DI@BB@CCA@EEE@@?F@A?B@A?BDA?CA?@AK@B?DIE@BFB?EBBAC?D?BA?ACAB?C@D?@D?ICACBHDGDEAEGG?T@GI@?C@CAABF@DCE?D?A?@@C?D@BA@?A@C?@BE?BBA??@B@ACB@EA@AD@KAPBKE@??@C?DACCB@C??@DBEADDEA@BA@B?G?CCD?C@@CBAGCBAI@?BF@AC@@A@@AEAAEC?DBA??AA@D?BKOAPBM@LBC?D?K@L@C?@B@?CCJ?ICE@FAGAJ@O?@AC?BA@BF@M?AGCCD?OCA@DBNDEAAJ@A@BAEDBIGDA@@E?BDCEAD?AD?CA@ADFAGA?B@QMLFBBA@?AEBACHAG@@??B@C@@C@BB@CEB@EC?DABFEC?@@ACE?BACIAB??BAADCAC?BC@B@?@E@F?@@CEDAA@?CIAJ@A@E@J?K?D?C?PFMAFDJ@ECFA?AQMOH@?AE@BDAA?B@FCADB@C@A@?CBC@@GA@AABBCDDC@B?ACQ?H@?BC@E?PEAABAC?ABCCBECDHFMBBEK@C@@BPGD@Q@AF@@BCLSDAA?@@KBB?CD@AGBJAQ@DCRAI@CE@@GBD??EDAJDCFYCGCCBLCCC@BHAC@B?A@DECBB@CA@AAB@CA@B?AAABBA?@AA?@W@NCC?@?EFa@DFIAA`@??GPCEBBDCACBBAA?@?ACABB@?GCDB@C?@AF?M@BA@D?CC@HCCB@?AC@C?@BAI@DCMCE@BLB??FC@BCCQPGJ?EFMD@HFGCAF@MD?ABCH?S?@DDDBAG@@G@??EC@CAB??BFI@?EDE@@FFS@BCDG?CDCCJD?DCA@CCGBCDBCA?B@ELDCEHBGA?@D?EAEDBCAAC@?BEBMEREB@KDBCF?C@DCC?AE@DDGG?KFGALCB@AB?AB?G?F@ZGKAYHVGB?ODEAAJD@?FB@BCACEC@CABE?@CC?IMFVL??IE??@AA?@?EC?B??D?E?@@A?BCC@FBDAE?DB?GK@??@?AAA?B?C@?@NDCCFBEFEEGM??BD@A@E?FCMCE?J?@BBCI@HCD@I?ABD@?C?BCAF@M?ABBBFAAA@BBAC@?EBBCAIBBKDACA?@E?BBAEEDICNBO??CD?BBGBB@F@CCBCG?B?ADFFBCC@BI@@CCDDI@@ACAAGQFJADBDGB@ECC@PFGDIATCE@ICBCD@AAE?C@@@C?AAHAIILAJDQ@A?FBABQ@?DC?LA@KC@B?@?ACBAE?ABB@KBB?CAPAE?@AGAH@C@?DB?ACFAAEK?J@M?GBD?ADBAABHACEBAFDK@D@O@EC@AECHCJ@C?D?ACDAGFDB?ACCGB@@M?b@?I@DFD@?ED@CCH@Q@EA?A@@C@QESH?IJ?VEDIDCYBTGUJLADDCGBFA??DAEBECGCBHDJ@I?Gn@?YH?CEEBEA?ADAEFE@AAFEB?BFCFGHECEO@GNGCEGBC?FKJD@HDBV@HIKAOFIC?BHBBAI?DCACKGE@?@FBEFAKKMHAK?R?SCNB?BHNADB?BFFBD?c@GHEBEA@QAMBF?\\JAEG@@CH?BEMAHIEBCK?BD@GTBDGGJGGBBC@??EFHYAHAA@BBPD?EKE?@ACB@CBBCA?@??CAB@@@AEA@?AB?CBBAC@DEABBC@BAA??GDDAB@GC??@?CCDBEBB?DCI@B?CABAC@@A?@??AAB@C?D?E?B@CA@B@C??A?@BAA??DC@@CC?BE"; console.log("🙄") var decodedPolyline = L.Polyline.fromEncoded(encodedPolyline) line = L.polyline(decodedPolyline._latlngs , {color: 'red', weight: 2, opacity: .7, linejoin: 'round'}) line.addTo(map2) console.log('omg') map2.setView(decodedPolyline._latlngs[0]); Here’s what I did: var map2 = L.map('map2').setView([39.736532, -104.977459], 17); L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 23, attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>' }).addTo(map2); var encodedPolyline = JSON.stringify("u}pqFttt_S@NFNB?JA@@DIH@@CEEBAPAFBHK@@FEf@??FLEPA\?LD@CECDI?BBEH?DHLCT@BLBtB?@FADDDMADC@BJEIBAEMA@AC?HKACDDAHQEMA{@?e@BCR@FBJ?DBJAHB`@AF@LAHE~@?FEJLVC\?DNBA@BFBBAPMJAP@NCBE?CIO@Cn@Fl@Cj@BDEDBFALDN?^?HILCRHNAVD~@?XKz@k@HSBWHKVOD?b@VJBHA?KCQBi@n@Sp@e@`AMHIJDZB^?\KPKVYLq@f@i@Nm@L}@Cg@Q_AMWDH?CUa@g@YCEBGJQ`@]Eu@AA?HAG?f@CFSZITDHXXJPN`@BBAU}@s@_A][EEBAA?OEA}@JQL@F?EMAKLKBEFPd@Ma@QBA?D@EHKBKJKDILEGHe@@WAAEA@BBCADD@ABCK@UCW@IRO\GDGLABBF?TGD@TI^GX?@EDBJCNBFCLDHJLMBBBCL@NFDC@MH?JN@X@BD?NIJBh@SZ@HK@BVA@CDALDHHRAHBZBFEBYFO?MBSAECHDPANOIOC?CJIFDFB@DDEEA?DC?B@ALLKADACADC@AC@@GBAA?ECBARDPBKEHDA?IEA@@?C@F@AB?@FCKAF@D?C@@EC@A?BCC?E@P?CCB?GFAGB@CAA?BC?D??D@K?AAB@@AAC@@EDACD?CBBABCA@CADACB@CAC_@@UCKAABGAUAEICAEBa@FU@_@@ED?^BDA@IEQ?k@FCF?DBBGEOCWCAMAG]EAKBADGECECa@Bk@Dc@EaBDQE?CGD_@PIH@LHD?@BIFEEOAf@CDAAI@DBEF@IC?B?CFFDBBFF@LC@ICEQE?B?M@LCAD?EDAC@A@DA@FKACGCFBABCAEIHDB??DCABB@AEGDFEABFAC?CABECJHGBDXXPD`@L@HBDZ@NAJC@O?DOD@CM@BBABNAHEBI?GEKAM?QDDCL?RBJ?HIBKISR@CHBACBECDDG@BB?C@FCGKrC@\?BCABB@\?d@@@?C@H@AC?CF?\GFK?G@EA?CG?gABQFCFCn@Ft@JDT?BFBKNBEGGE?EGAMD@EJQBBFIJGB?@FAFC@B@ABHQ@BMN?H?KCA@@@A@@ABAAHEA?@B@GDCI@?BAEABCA?CB?CBBHGCB?CCBFC?@E?@BC?BCD@CC?BAA@?E@?@AC@AF@??C@G@LEEWFD??FHALD@DGF]CMR@SCAABDADDC@AEED@ADABDCBEA?@?CDAEB?NCCBEABBBDPXJFFDGJ?RGBEB@\R^LHJJ@d@Kb@E^MD?@@C@@IABDEDBj@?~@GNBJANDr@?TDXNNPPd@Fz@Gz@?f@BZAVBb@Cf@@HELG@?EDB@ADHBrBDz@KpA?~@Kv@a@|@_@Va@`@G?KES[KGKWGEa@CQEBDk@CYBKDc@XSAODUA]DSC[Bk@Ck@BUAUDIAAAUFQIYCIMK]MAODEDAGDBC?CIBUECE@DEACCFD@ACADE@AEFFGMFA?@IAI@AGBMCE@HBBKBG?DCDKLCG@@IBA@MZWA@?CGGCAAGKUAK@MCKIGM_@IA@KDEC?CHAAAD@BB?CA?B@CHJADBBCCC@CNGFBHJJMCC@DT?F?AF@FH?HGXBTFNKPFAAAG@CD?E@DH@@EAIDD?ACCFDDLGB?FELAAC?CMA?BJBMEKA?@A?DJHE?CCCFCAJED@ACA@@EHXFC?EEACKFQ?EEAM@AFC@L?LUHXD?ABCCCFAC@B@GKG?KOUAKKIq@RCD@DHB?@CBVUPo@D?A?BDNQCS@GDQHMCHDIJq@HMBMDI@KC??DBCH?EO?CBACKL_@HI?KCXICJMFS?GGCID@PPQA@GEE?HDHKHC^DBABGLENA@CFe@CMCk@CACD@BCAEIBMB@BGHCB@EM?KBI\CNBPYEGGB?MCCCLG?@CCHG@EE@CFA?DSFAJBEEDBXCF?V??@E@MFCOi@?KDCB@?FIB?BB`@CN?ADDHY@a@AAADEBAD@HFEC?@CEA@EB@AG@BPEJ@CGOGQ\AIDCA@EYBMFKH?E^BXAHAAGQFB@ACC?HHIDKC?@BDGB?@FGDE?CKCDAG?FHUYEIDBRHBDF?C?DAGBO?KD[KUEBIABDE@WAIBF?M?ADDv@D@FE?FHGJBBH?RDD@MGOGG?IB@C@@ABF@LHLJBFABKCIBJE@@BG@IJO@?BB?CDB\DVCDCME?@L@FAB?IFL@J?NEL@X?CCPCAADKAEBWOIBO?a@OG?OQQGG@ML@LEJCZ@@AD@AGJI`@EFCABA@BCH?CMJOBENIp@CDAHEDAAIDMH@@I@?B@AJF@PEFQDC?@@D?WHYRo@R?DQDKRQJG?UFIAm@HOEACDBABE??FIE@AJABKOJGNKACFFdBADG@@BEAZAp@KdCCRG@?AB@CDHLA^Dv@Gd@BNEDUJUBQDID?Ae@C?IBECCC@FGPDTKBIKVy@?UFQF]GMKK[QMAOFYVE?OHO@ULSRGBSb@^r@RXJDXD^ALBhAEDWCI?SC?EBCJ?JDEE@B@BCACC??BDEB@C@FC@CM@GFAABBNKFK@@G?KBIL@@XMDIGH@@BA?OMGMFGFYh@CNAAAEADIDIGSA[HUCGEQ_@_@Y_@q@c@NEDUD]LI?MC}@@e@GUAGDEXUXg@Xa@NGFc@AOBY?k@Ig@Fq@A]DCDc@AY@GGQD_@@GLC@eA@OCqCG}@HO?ICc@DYGMBEEM?MLSE_@?SDm@EO?IDGEG?KFFl@?n@K@QC]@OAKFAFFh@I\?HDBTCBCEAE@@F@B?Da@PJEKAACDAVWd@[??ALBFNIWHDA@FFA?GGABICC?@s@FSAj@@J@BFCEQCs@DLGH?GBF?C@F?EAB?C?BACAC@?CCBBDHBFAOABA?ACASDH?BBFA@CBBH?KGM@HAMABDF@ICB?EEDDC@?AFAGAB?AAC?D?AB@AO@JDcCP|BWF?DFCGAB@EDLEKFD?@IGF?ED?CAAFHAEA@ACCFECC@?CIDBEGGABBBJAH@@CSDREBMGJB@CAB@AAABBBCGABB??BCBUJFKB@C?CCTIYDEFFEZAICWJAKD@HEF@AB?EDDAHHKCGOJ?BHCENNM@EA?AAD?C@?C?D?E?B@AA??A?DH??BKC@C@DCE@D?EBBCCM@F?AAFBAA@?C@@BA?BCA?@??CA@@AA?@@?A?@@AA?@?CA@BGEI@ABR?KHB?ACF?CIFWIFADB?JEKHDDECDE@HIDFA?MABD?GNEDNQCC@@GDE?BAFA?BD?MBCBBAAAFKA@@FAA@C@BCBI@DEBAABB?@AAE?BC?@EB@GADD?@AA@BGSFRAA@A?H@AAECJEFFE@M?H@AAI@BDAG?@@AC?@CABB?A@?A@@EC??CC?F?CJB?CACB@?E?AGFECBEEHB@FABACJ@BCC@KKC@BGF@A@ACDFAF@DAI?@E@DGDA?@CBCAADBG?BAAAFEAF@AAEBB@?EC@P@BBI@EKBKC?AHBFCK?DBBHAGAADO@H??BD?C?@ADBCGD@YJXAIKBA?EGFBG?B@CA@AC?BC@CCDC?ADAEJB@ACC@B@CBN?EC?BGD?FBEI@B?@IM@G?NIH?DDIIHD?EAD?ICBIAHACDBBA?H@EBLAO?BAG?BCC@B@GED?ABFB?D@CEADEM?AABCDDKAL?CBBA@FEC?CI?B?A??EB@EALBABBC?BE@DAA?@@A@BAD?E@D?WDF?FE?BEAFBCABAA@ECDBCEEDB?ACD?ABDAIBD@AABAC?BAI@F?AGC??@DAC@DDA@BCCBE?AIH@@J@AADB@?KE?DFC?EEKCD?ADD@AA@AD?E@BAGCL?G?A@@ABBE?@EIAL@AB@BAG@@CAF@O?@@C?@@DA?CC@B?C?@A@?CB?EB?CAD?SAh@FK?MCMBF@?@B??EBCD?OABCNBKB?BH??CL@Q?@E@FC@HBI?AAE?HAAAGBFB?DB@GCBCEAH@G?B@CBDCA?BAAA??G@FA?CC@BAGAIBT@QBl@GKAO@B?A?F@UBD@BAI?FMCNBOEHDEKDJIMDFBWDTBDC@GAAB?ECF@EF@GCJBMCF@EAHACF@HCG?F@K?@DE?BMFDCAACUBRACBN@QDDACGBAI?H?C@B@?I[JH?A@NCKCS?P@VE@@@J[MJ?HFEDYAN?@E@@FCL?FCK?QBJ@O@b@@MIM@LDICJE@KA@@@AFG@DFE@@@E?AE@?CCBAI?FJF?E??ICEF?C??HCABC@F@CC??CE@FAAE?D@AC?@@F?G@@DC?AE@@?@@AGAH@A??C@?A?CBFEIB@?CED@AECHB?C?FCCAB?AB?CA?@@ADCARAG?BBIAD@A?DEIFFCG@BEB?E@?AEHDE?ECB?DBAG?DAA@B@@AEA?C@BEDD?@E?BBAAC?BC?AED@GDDE?BBC?BGCLGM@A?FACHEEBAE?D@A@D?A@?CD?M@F?A@HBCA@GCB?CC@D@C?@@A?@B?ADCICCDD@@CBHOAJAAAB?@EG@FNAA?EEAA@BCC?FACEB@E@BAAE?FCBJEC@B@SBLD?CEADDDCI?BA?CCA@??B@CB??BCB@AAAB@CAB?C@@CB@C@B?I?@?@BGAJIE?DEEAHFE@A?BCE@J?CAD?A?@AG?@@ECHDOB?BHDCA?G@?A@FAG@?@D@KJDEACBABC@@C?@BEAD@?@CABB@CK?HCKDB?A@BEB??@CABAAAEDHAGADA?CC@@@C?EB@?AABB@C@@C?BAAAJ@C?EADAEAA?F@EAD?IDDAEAD@A?@?@AE@BA?@C@B@ABEABCCADACBG?J?B?CA@?C?ACD@BAC@@ACA@BC?ECB@C@D@C@DAEAF?@@A@EA@CB@E?FAIDECE?ABCA@ANDBAEAD@CC@CC?D?E?EDNBC@@B?EEA?@B?G?DAADAA@CHA@@E?ABCABAA?DB?@CC@CBBE@D@CADAEA@EA?@@A@@HI@DIA??ED??BC@@CCABEACGDC?@A@BH@?DC@JBECDCGCBCG@IA@?C@@@BAACD?BCEABABBAHLB?GC@?FQCFA?ARFEBD?OAFACDCA@CG@F@C?CE@A?BD?C@AAH?@CK@D@FAACBA?CEBB@@AQADACDG?L?ACA?DBCFDBABJ?KEEEI@HADB@AACG@B?@@A?BAAANCB@E?AFE@B@E?JCCB@@CA@C@?A?BAAC@?I@?DI@BB@CCA@EEE@@?F@A?B@A?BDA?CA?@AK@B?DIE@BFB?EBBAC?D?BA?ACAB?C@D?@D?ICACBHDGDEAEGG?T@GI@?C@CAABF@DCE?D?A?@@C?D@BA@?A@C?@BE?BBA??@B@ACB@EA@AD@KAPBKE@??@C?DACCB@C??@DBEADDEA@BA@B?G?CCD?C@@CBAGCBAI@?BF@AC@@A@@AEAAEC?DBA??AA@D?BKOAPBM@LBC?D?K@L@C?@B@?CCJ?ICE@FAGAJ@O?@AC?BA@BF@M?AGCCD?OCA@DBNDEAAJ@A@BAEDBIGDA@@E?BDCEAD?AD?CA@ADFAGA?B@QMLFBBA@?AEBACHAG@@??B@C@@C@BB@CEB@EC?DABFEC?@@ACE?BACIAB??BAADCAC?BC@B@?@E@F?@@CEDAA@?CIAJ@A@E@J?K?D?C?PFMAFDJ@ECFA?AQMOH@?AE@BDAA?B@FCADB@C@A@?CBC@@GA@AABBCDDC@B?ACQ?H@?BC@E?PEAABAC?ABCCBECDHFMBBEK@C@@BPGD@Q@AF@@BCLSDAA?@@KBB?CD@AGBJAQ@DCRAI@CE@@GBD??EDAJDCFYCGCCBLCCC@BHAC@B?A@DECBB@CA@AAB@CA@B?AAABBA?@AA?@W@NCC?@?EFa@DFIAA`@??GPCEBBDCACBBAA?@?ACABB@?GCDB@C?@AF?M@BA@D?CC@HCCB@?AC@C?@BAI@DCMCE@BLB??FC@BCCQPGJ?EFMD@HFGCAF@MD?ABCH?S?@DDDBAG@@G@??EC@CAB??BFI@?EDE@@FFS@BCDG?CDCCJD?DCA@CCGBCDBCA?B@ELDCEHBGA?@D?EAEDBCAAC@?BEBMEREB@KDBCF?C@DCC?AE@DDGG?KFGALCB@AB?AB?G?F@ZGKAYHVGB?ODEAAJD@?FB@BCACEC@CABE?@CC?IMFVL??IE??@AA?@?EC?B??D?E?@@A?BCC@FBDAE?DB?GK@??@?AAA?B?C@?@NDCCFBEFEEGM??BD@A@E?FCMCE?J?@BBCI@HCD@I?ABD@?C?BCAF@M?ABBBFAAA@BBAC@?EBBCAIBBKDACA?@E?BBAEEDICNBO??CD?BBGBB@F@CCBCG?B?ADFFBCC@BI@@CCDDI@@ACAAGQFJADBDGB@ECC@PFGDIATCE@ICBCD@AAE?C@@@C?AAHAIILAJDQ@A?FBABQ@?DC?LA@KC@B?@?ACBAE?ABB@KBB?CAPAE?@AGAH@C@?DB?ACFAAEK?J@M?GBD?ADBAABHACEBAFDK@D@O@EC@AECHCJ@C?D?ACDAGFDB?ACCGB@@M?b@?I@DFD@?ED@CCH@Q@EA?A@@C@QESH?IJ?VEDIDCYBTGUJLADDCGBFA??DAEBECGCBHDJ@I?Gn@?YH?CEEBEA?ADAEFE@AAFEB?BFCFGHECEO@GNGCEGBC?FKJD@HDBV@HIKAOFIC?BHBBAI?DCACKGE@?@FBEFAKKMHAK?R?SCNB?BHNADB?BFFBD?c@GHEBEA@QAMBF?\JAEG@@CH?BEMAHIEBCK?BD@GTBDGGJGGBBC@??EFHYAHAA@BBPD?EKE?@ACB@CBBCA?@??CAB@@@AEA@?AB?CBBAC@DEABBC@BAA??GDDAB@GC??@?CCDBEBB?DCI@B?CABAC@@A?@??AAB@C?D?E?B@CA@B@C??A?@BAA??DC@@CC?BE"); console.log("🙄") var decodedPolyline = L.Polyline.fromEncoded(encodedPolyline) line = L.polyline(decodedPolyline._latlngs , {color: 'red', weight: 2, opacity: .7, linejoin: 'round'}) line.addTo(map2) console.log('omg') map2.setView(decodedPolyline._latlngs[0]); ~I’m still doing something funky to escape the escape characters in the polyline.~ Able to get around that with JSON.stringify() If you’d like to see the raw html that is being used to generate this exact page, it’s available in an extremely hacky way here Next time, might animate a marker moving along the line, something like https://github.com/openplans/Leaflet.AnimatedMarker?tab=readme-ov-file, or maybe make the line blink, or see if we can give a sense of which direction the movement was happening in. Useful additional resources Get the ‘decode raw polyline’ function in your page with this package Leaflet: Mapping Strava runs/polylines on Open Street Map ()

4 months ago 9 votes
Paths In Which I Am Interested

this is still in draft status this page serves as a placeholder for various paths I’m interested in. I hope to bring attention to “linear parks”, or a park that functions more in size and shape to a street, crossing blocks of distance, but maintaining park vibes throughout. Path Segment One: Voodoo <> Cheesman, down Franklin Pardon my language. “segments”? “paths”? I’m referring explicitly to places that connect places, so it’s sorta hard to think about the ‘place’ directly, especially as a path. 1 This is a simple extension of the existing closed street exiting Cheesman. Here’s what it looks like, looking into Cheesman, at the current barricades. I basically want to move the barriers “towards” the camera, there’s a few (not trivial, but very solvable) obvious issues that might need addressing, but I think this as a first move makes sense. If it could be moved a few meters, and backfilled with something everyone agrees is nice, I say keep moving it, 10 or 20 meters at a time, down franklin: Components Moving barricades down an existing closed road making a little traffic path displaceable and non-displacable barriers, like art, play structures, benches much more To make the spreadsheet people happy Heavy foot traffic corresponds with great business, all the time. More and more of Voodoo’s business would come from people who walk to it, from the park, or walk to it, on their way to the park. I can do some magic number work + video footage of foot traffic, to show the value of someone walking/biking vs how much space someone takes when they drive, and fill a whole parking space for 30 minutes or an hour. Segment 2: Ideal Market <> Cheesman Park, down 11th footage inbound, I’ve flown my drone around the area a bunch and am going to put a little video together, do a voice overlay, and add it to this page. Thoughts about these two segments These paths, Voodoo to Cheesman, and Cheesman to Ideal, are paths that I use, personally, all the time, some days more than once a day. Take a look at my activity/mobility data, noting where these two paths overlay that data: My actual map with the data overlay is devoid of labels, but if you can find Cheesman Park, you can find the segments I’m talking about. You can see in the data where I’ve walked all around the Ideal Market building, and the Voodoo Donuts building. https://joshs-mobility-data-54dab943ebba.herokuapp.com/?zoom=16&latlng=39.735985, -104.971018 This is, admittedly, an unusual project, and some might call it audacious, but I say it’s audacious only in a very narrow sense. Also, a huge thing I want to practice is getting buy-in and tacit or formal support from the exact right people, in the exact right way, to nudge through real improvements. If you’re even reading these words, that means so much has already gone right. :) If we somehow get these two segments ‘fixed’, we’ve done distinctive, uncommon things, I say it’s comparable to even those who build buildings, and we’ll have done it accidentally, as a by-product of doing other, more interesting things. Interested entities my guesstimates of people associated with entities that could ostensibly have aligned interests on this. This is who I am thinking about, none of this reflects anything others have said. I come most recently from the software/computing/networking industry, some of my default ways of sharing information and building consensus might strike others as distinctive. :) Pando x2 Voodoo x1 Avanti x4 Ideal/Wholefoods x2 Cornerstone x >15 Bleh, more to talk about. I might direct potential traffic to this page if I expand here on certain best practices, and why there’s certain barriers to certain kinds of fixes. I’ve spoken elsewhere about some of the root causes of all this, don’t really want to pollute this page with more of that energy. paths are places, and places are often used as a path. For example, Cheesman Park is not just a place to go, but for many, many people, passing through/along Cheesman Park is a beautiful portion of their trip, as they take a path from one place to another. I want to draw attention to the way that I think about these two ‘segments’. I think about the roads as connections, and how well they serve that function, and could they be more beautiful and peaceful for all people, kids, adults, old people. And if a one block could be done, why not two? etc. ↩

7 months ago 8 votes
Recommended Reading

I’ve read many books over the years. Thousands. Here’s a few that I find myself referencing/recommending.Periodically, I refresh this list. It’s changed over the years years. the list you are about to read is heavily reworked, based off this older list: josh.works/recommended-reading-original-list These are the books I cannot un-read, which shape me today. I’ll read any book, for any reason, and if I “like” it is almost a complete afterthought. The real question is - can I glean something of value from it? Can I sift and find something, anything that is helpful to me? That increases my understanding or imagination, or is an engaging-enough story? If I can, I’m pleased with the experience. I read English texts quickly, and easily, by the way. 1 Anyway, plunge into a book only if reading seems pleasant-enough to make the effort worthwhile. No sweat either way, you’ll get a sense of some things just by surfing book titles, I’m ‘just’ surfacing a list, one or two of which might catch your eye, and if it does and you click through to amazon or good reads or the library and find a review that seems 🤓🧐 and you have a nice few hours of reading, congrats to us both. 🎉 I also used a Kindle Paperwhite with a nice magnetic cover (easy to transport, read while waiting around, I carry it in my purse/hip bag/fanny pack), and am pretty good with my library card/Libby, and enjoy reading for sometimes purely dissociative purposes. This list is categorized in no particular order. Denver/Regional things I lived in Golden 2015-2022. Even ran for city council in 2017, then did another round of prodding at the machine, informed mostly by Robert Moses, in 2021, after buying a house there late in 2020. Stories are fascinating, here’s some specific to Denver, Colorado, and Golden: Citizen Coors: A Grand Family Saga of Business, Politics, and Beer Hooded Empire: The Ku Klux Klan in Colorado was hard to get, library didn’t have a copy, used prospector + interlibrary loan to get it. Denver (as did every other municipality ) fully implemented the zoning document outlined in The Atlanta Zone Plan: Report Outlining a Tentative Zone Plan for Atlanta In the above blog post, I reference this twitter thread: 1/20 Thoughts on Denver's zoning and systemic racism. Here's a screenshot from @CityofDenver's zoning map on https://t.co/Tzx271JS8u. This is textbook Euclidean Zoning, AKA "Single-Use Zoning". The problems of this form of zoning are well-known:https://t.co/WqiklxjB4h pic.twitter.com/7RDaFJlttS — Josh (@josh_works) August 15, 2020 The existence of r-1 and r-2 housing, which ‘in industry’ is widely known to mean ‘single family housing’ and ‘possible multi-family, like adus, condos, etc’ will cause your blood to boil. The guy that invented r-1 housing originally called it ‘r-1: white’. R-2, he designated “colored”. The system has shifted a little since then, but it’s clear as can be that the plan from the 1922 ‘atlanta zone plan’ is what got ‘ratified’ by the supreme court in 1926, ambler v. euclid, and it’s what hums along in America today. it’s why this whole regime is called ‘euclidean zoning’. It isn’t a reference to Euclidean geometry, it’s a reference to euclid, ohio. They’re saying the quiet part out loud, and drafting on fake science terms for propagandistic value. Euclidean zoning sounds so scientific. 🤢 It’s implementing a plan with a simple goal: The above race zoning is essential in the in interest of the public peace, order and security and will promote the welfare and prosperity of both the white and colored race. Care has been taken to prevent discrimination and to provide adequate space for the expansion of the housing areas of each race without encroaching on the areas now occupied by the other. r1 zoning, single family zoning goes hand-in-hand with a certain road design, and ‘commercial’, ‘industrial’, ‘residential’ segregation, in order to create race segregation. It’s such a fragile system of belief and reasoning. Even most of the people inside, propping it all up, must be so tired of it. General food things Did you know mitochondria constitute half the dry weight of your body? The little high-school biochem drawings are also wrong - for some cells, mitochondria make up 2/3rds non-nucleic volume! I wasn’t aware. Tripping Over The Truth The Case Against Sugar Eating Animals It Starts With The Egg For me, the grand conclusion of most of these books: most days I mostly eat some sauted mushrooms, brocoli, zucchini, sardines, eggs, almonds, s&p, evoo, kimchi, sometime in the early afternoon, first meal of the day, then do ‘whatever’ for dinner. Black coffee or espresso, almond milk or heavy cream if needed for taste. Tea, or veggie Bouillon cubes. Salmon is the ‘other’ meat I eat. I eat almost zero other meat, and have not purchased for myself anything but salmon and sardines for years. I cook on a lodge 10” cast iron pan with this very specific dexter-russell 4”x2.5” pancake turner, and because I use adequate/tons of olive oil, the pan is always oiled and cleanable with the metal turner. I can scrape it clean/flat and never even run it under water. It lives on the stove-top, I cook once or twice a day in it, and never clean it or have to put it away. It is extremely low-effort, low-demand, and delicious. I’ve cooked for dozens of people over the years, most report to enjoy my cooking. Housing and finance and securitizations and bank fraud These are not all books but desperately worth the read. There’s a lot more I could say/have said about this space. Is anyone surprised that a club of settler colonialists used their club privileges to maintain a position of power over non-club members? “The 30-Year Mortgage is an Intrinsically Toxic Product” by Byrne Hobart, Government Policy, Housing, and the Origins of Securitization, 1780 - 1968 by Sarah Lehman Quinn tells the story of ‘regimes and attempted regimes of social control via housing<>financial policy`, which puts many of this century’s financial tooling developments in an interesting context. All the “money” comes from/goes to the banking fraud of treating customer’s deposits as loans. It’s not really money, it’s mis-allocated real resources, the misallocation of which has real world consequences that self-correct the original error. (‘the economic cycle’) The Color of Law: A Forgotten History of How Our Government Segregated America I have beef with the book title. (“Our” government?) and some of the prescriptive bit, but as far as being able to build an emotional understanding of the ‘land back’ argument, this is a good one. American Municipal Zoning Codes are full of memetic copies of some social tooling that came out of Atlanta in 1922. The thing outlined by the Atlanta Zone Plan was ‘ratified’ in the supreme court in Euclid v. Ambler, 1926, and carries on in plain and obvious sight, slightly hidden from some people, today, in 2024. Self-concept and existing in the western world I read the canon of any given topic that climbs high enough on my list of priorities to learn about. Here’s the ones that keep coming up in conversation, or my own mind, on the topic of ‘emotionally immature people’, ‘trauma’, ‘emotional neglect’, blah blah blah. I got a bit of the standard ‘raised in a religious death cult’ cultural package, installed from birth. You or someone you know might be better off for reading some of these books. They were a boon to me. You can get all/most of these books on Libby (a library app) and can send them for free to your kindle paperwhite, anywhere in the world. Or torrent the book epubs via the current piratebay mirror, and use calibre to convert/transfer them to your kindle paperwhite. If your library doesn’t have the book, google [library system] request book form. I’ve asked the local-to-me library systems to add many books over the years, and many were easily added. One didn’t have an ebook option, and I didn’t re-request for a physical version, and sometimes if they think it won’t get read often enough they might say no. So, you could drop a few hundred dollars on books at the high end, or possibly spend not a single dollar on any of these. I like physical copies of books, sometimes, and will mark them up, sometimes quite heavily. But lots to be gained from ebook versions or audio book versions and library versions and more. What counts as a good-enough relationship with others, at various developmental stages? What counts as inadequate? What to do? These books sorta get at that topic. I might start by reading the Goodreads pages, or reviews, and seeing if anything grabs your eye. Complex PTSD: From Surviving to Thriving, Pete Walker The Tao of Fully Feeling: Harvesting Forgiveness from Blame (don’t be put off by the use of the word forgiveness, you don’t have to forgive anyone), Pete Walker Healing the Shame that Binds You, John Bradshaw Parenting from the Inside Out: How a Deeper Self-Understanding Can Help You Raise Children Who Thrive The Adult Children of Emotionally Immature Parents (and the other 4 books by Lindsay C. Gibson, as it feels right.) This book is so short it could be read in a single sitting, almost, but it’s dense, so I wouldn’t recommend it. parsing religious abuse/shame, and the vast overlap with the conditions upstream/downstream of supremacy and colonialism I was raised in a a high-control religious cult, a religious authoritarian home. For example, this author’s description is descriptive of my experience: Under Pressure: What is it like to be child in a Religious Authoritarian home? It’s a form of emotional or mental colonialism, tied to a form of social control to defend certain gains, and to gain other perceived desired outcomes. The will/social attitude that was there in the society, in the children, (or would otherwise be there) is coercively replaced or suppressed in favor of something preferred by the authorities, which usually relates to a certain form of emotional comfort. Certain people tried intensely to replicate their way of thinking/being in others. These books give a nice, dispassionate snapshot of the size of the USA’s colonial footprint. At the time of authorship of one of the Chalmers Johnson books, the US had over 700 full-on military bases around the world. It hurts so much to even think about, the size of the horrors done, in pursuit of empire around the world. The Jakarta Method: Washington’s Anticommunist Crusade and the Mass Murder Program that Shaped Our World Blowback: The Costs and Consequences of American Empire The Sorrows of Empire: Militarism, Secrecy, and the End of the Republic the above three books are about american empire, very worth reading, and helps clarify and make legible the layers of propaganda common around these american institutions. So much for colonialism and supremacy abroad, lets talk about it done at home. The tooling for parents to install social control ‘packages’ was physical assault, abandonment (actual or threatened), or later shame and punishment (actual or threatened), along with subtle presence and absence of warmth-approximating attitudes. Figuring out how to repair the damage isn’t trivial. To that end, here’s some books, about Evangelicalism, whiteness, colonialism, and the willingness to coerce. It’s worth remembering that early american police forces were nothing but deputized slave patrols. Evangelicals usually perceive the police as friendly to them, which means (😬) that evangelicals support slave patrols, and ‘patrol energy’. It’s very perceivable in home environments in ways that land as shocking to those who had alternative experiences. Myself and many others often find a ‘self-policing inner narrative’ or ‘the masters gaze’ following us around. It’s worth tying it straight back to the colonial ‘tool’ of social control, the conceptual compression is best in that framing. When the white, slave-holding population is so vastly outnumbered by their slaves, it takes some creativity and sustained effort to prevent uprisings and rebellions. The role of a slave patrol in a slaving society was to harass the majority population, find the most ‘willful’ slaves, and humiliate and degrade them (without killing them, of course. their labor had value) so that they would serve as a reminder to the other slaves, with their broken bodies and souls, of the cost of resistance. A dog maiming the legs of an ‘uppity’ slave, or a load of birdshot fired across the arms of a slave that wasn’t sufficiently deferential, would leave scars, and a limp, and a maimed countenance, and any other slave that saw the scars would know what had happened, and what might happen again. In some counties in the slave-holding american south, 15% was white, 85% was black. The white people were terrified of the threat of the slaves accruing power to themselves and taking action to improve their situation. Toussaint L’Ouverture and the San Domingo Revolution is a sobering read to help calibrate on the sort of tension that was in the air. The attitudes these white people had towards their slaves morphed and changed over time, but still persist today, and are partially forced into the minds of all children, especially with religious dogma and shame. For example, a common statement/belief/after-the-fact intellectual-justification for slavery by some european settler colonialists was: God placed the white man over the black man for the benefit of the black man this embodied belief, plus the belief in the concept of authority, led to white people pretending to “get mad” at black people when the black people didn’t act thankful for the white man’s domination. Please see, again, Samuel Cartwright’s stunning contribution to the psychological sciences with Drapetomania Of course, supremacy thinking wasn’t just “white over black”, it was also “men over women”, “parents over children”, “fathers over the entire family”, and more. It’s chivalry and nobility culture mixed with Anselm’s ‘satisfaction atonement’ justification of violence, mixed into a dominance hierarchy… soup. Lots of the modern world of hierarchical, authoritative structures are nothing but insane people doing incredible leaps of logic to convince themselves and their victims that the oppression in a given society was good, inevitable, ordained by God and logic. These kinds of people are dangerous to the children that they raise, the people that they ‘help’. That means, though, that when you want to undo some of the damage they did to your soul, it’s best to ‘go to the source’ and see what kinds of things white people said about their own domination when they were not embarrassed or ashamed by it, but actively colluded with other white people to further their domination over their victims. the books that might aid in appreciating the many manifestations of religious/cultural shame To that end, consider reading any the following, if they look interesting to you: The Origins of Proslavery Christianity: White and Black Evangelicals in Colonial and Antebellum Virginia The History of White People They Were Her Property: White Women as Slave Owners in the American South There’s also lots of propaganda around the ‘privilege’ of being part of a state (as long as you’ve achieved sufficient status within that state). If you sometimes find status games de-dignifying, read: Against the Grain: A Deep History of the Earliest States Seeing Like a State: How Certain Schemes to Improve the Human Condition Have Failed Aver reading some of, or all of, these books, you’ll be able to more naturally engage in de-shaming thought patterns, and might be able to find a bit more peace inside your own mind, a sense of solace from the ‘toxic inner critic’, or ‘colonizer’s voice’ that our parents often force into our heads at a tender age. Recognizing coercion Coercion is often rooted in entitlement. If there’s a power dynamic involved, it devolves into abuse or neglect. Can be salient. Mixed in with coercion are often beliefs about authority, obedience, ‘the right way to do it’. Conflict Is Not Abuse: Overstating Harm, Community Responsibility, and the Duty of Repair The Verbally Abusive Relationship: How to Recognize It and How to Respond list of characteristics of white supremacy culture (pdf) “Emotionality and gender issues and patriarchy & supremacy thinking” I’m not sure how to introduce these books. In my opinion, it’s easy to say they’re essential reading if you find yourself to be a women (or female-passing, or feminine, or not sporting a penis) in the modern world. Really, though, the books amount to: ways that hierarchical power structure + violence common in the world hurts everyone, here’s how to recognize it and ways to perhaps respond. Read the list, you might see why I say this: Invisible Women: Data Bias in a World Designed for Men Women Don’t Ask: Negotiation and the Gender Divide But it sounds insane to say “women might want to read these books, but men, you know, just… keep on scrolling”. Presumably, if you’re a man/have a penis, and reading this page, you are sensitive enough to appreciate that society is worse off to the degree that it conforms to hierarchical norms organized around a willingness to use violence. Some of the ideas within these books might benefit your relationship with others, though like all of the books on this list, you’ll find your blood boiling a bit as you read. uggg even using english dictates a certain frame on gender issues. I dislike anything that feels like frame control, and things that sound like fabricated conflict. a lot of ‘modern stuff’ feels distinctly american, and is “just” what happens when settler colonialism + nobility/purity culture gets ‘buried’ or ‘stuck’ somewhere. Something that is undoubtedly true is ‘supremacy/oppressor cultures are entirely devoid, necessarily, of the capacity to recognize and hold space for grief visible in the world around them, else they would necessarily self-correct’2 or, ‘supremacy culture is institutionalized emotional trauma, cptsd + an embodied belief in the legitimacy of authority/political authority’ Not sure how to introduce this post, other than… it’s long, but might be worth a skim: Three Hundred Ways It Can Hurt to Be a Man — Introduction. The way power dynamic exploitation gets encoded in certain american/western/male-ish ‘norms’ in culture is brutal. I only recently found a book written in 2006 titled: Self-Made Man: One Woman’s Year Disguised as a Man. It was an instant download-and-read. It shows how bad the emotional landscape is for a vast swath of people living in the USA. ‘3 Children Children are an oppressed class. I used to think this was self-evident. enough/too many adults internalize the bad things they experienced, normalize it, and push it down on the children around them. I overhear it in adult/child interactions all the time, especially now that I have a young child. I find the taking children seriously twitter account (and website) to be a good resource for appreciating the plight of children as a class, seeing/witnessing them better. Witnessing us better. Ivan Illych’s Deschooling Society and Tools for Conviviality are coherent, as well. I was a child, not so long ago, and can still easily access enjoyable, child-like ways of being. I prize and guard and protect this part of myself, as the world is devastatingly cruel to children. (can’t play in streets. compulsory school. war, capitalism, supremacy, it takes parents and friends from them, temporarily or permanently.) Movies and TV Shows This is the catch-all for “not-books/not-reading”, but my gosh obviously ‘reading’ is just a certain form of relating, I give non-reading works as much priority, weight, dignity, appreciation as I do books. Usually more. I was forced to watch war movies growing up, and as an adult. It is extremely rare that I am in a mood for any sort of depiction of violence in a movie. Most movies made in the USA openly support statist, militaristic, imperialistic narratives. I did a lot of long flights in the last year, watched/observed many different movies being watched around me. Even kids movies feature, regularly, jaw-dropping amounts of violence. Gotta start the propaganda young! Here’s some things I’ve watched, enjoyed, would re-watch. This list ~will probably grow with time~ has now been updated several times as additional beta is gleaned. Studio Ghibli I didn’t even hear of Studio Ghibli until I was quite old, and am now happily working on watching the entire 25 piece anthology. I’ve seen maybe half. As you might imagine, there’s lots a certain sub-three-year-old might love about these productions. Studio Ghibli is a production studio that made/makes animated movies, starting in 1984, based in Japan. It’s refreshingly non-western. Haio Miyazaki was the founder/director. I’ve ahem managed to find a collection of all the works with the original japanese audio and english subtitles, but some of the pieces I’ve gone Noteworthy starting points could be Kiki’s Delivery Service, Pom Poko, My Neighbor Totoro, Tale of Princess Kaguya. I usually prefer them in the original japanese, with english subtitles. Sometimes I’ll tell Eden what’s being said, when we’re watching together, if she wants me to, and we’re watching together. I’m exploring finding good english dubs for the best ones, turns out there might be good ones. I had exclusively poor experiences with Ghibli + english dubs, but My Neighbor Totoro in english is excellent, especially with a child, of course. HBO Max has a lot of studio ghibli. I agree with Lawrence Lessig: Free Culture: The Nature and Future of Creativity, thus after suffering through HBO max and forced english dubs and UI changes for a while, I ‘gave up’ and torrented at least some of the entire collection, so I can have fine-grained control over subtitles and audio tracks via vlc, and didn’t have to navigate crappy smart TV menus again. I usually look up the movie on Wikipedia before I watch it, to help contextualize/orient myself to time/place/context in which the movie was created. Ponyo Delightful. Wikipedia entry for Ponyo (2008). The literal title is Ponyo on the Cliff. The english dubs are great, I thought, and there is only one english dub floating around out there. My evaluation of at least one toddler’s experience of the movie (on the first, second, n-th experience) is that she very much likes it, and it engages a lot of her imagination and enjoyment, at least in the ways we’ve experienced it. My Neighbor Totoro My Neighbor Totoro (wikipedia) I think my daughter watched it first at ~2.5 years old, sat enraptured almost the whole way, we spoke about it extensively after. The file I torrented only included the original audio, which isn’t helpful for an english-speaking toddler, even though she’s gotten along pretty well in japanese-language movies, or with me voicing via subtitles a bit. I think the best english audio is what I’ve found on Amazon prime - $4 to rent, $16 to buy: https://www.amazon.com/My-Neighbor-Totoro-English-Language/dp/B08123SMCH I also found a different english dub online for free, but really dislike the voices, and find it unwatchable: https://archive.org/details/totoro-fox-dub The latter voices the toddler in diminishing, stereotyped ways, and the dad’s voice feels equally mis-fitting to the context, while the amazon dub feels ‘right’. OK, here’s how I got the file with the right audio, so I can just cmd+space (open alfred) [space]my n[tab][return] file-search query my n focus first result, default open file in vlc. Eden learned this routine with the Grinch (she really liked the 2018 version, as did I, watched it many times, knows it takes no time at all to get playing. I really like the theme song, and it has lots of clever moments that ) the search I ran to get the options: https://thepiratebay3.co/s/?q=my+neighbor+totoro what I ended up downloading: My Neighbor Totoro - Streamline - FOX English Dub.mp4 (update nvm, wrong dub, don’t love this one) Howl’s Moving Castle Howl’s Moving Castle, released in 2004, is nice. Strong anti-war themes, reflect’s Miyazaki’s opposition to the American Empire attacking Iraq in 2003. Wikipedia. I’d like to read the novel it’s based on some day. Can be watched for free with english dubs (and downloaded) here on the Internet Archive The way of the househusband Oh my gosh I’m ruined by this show. The Way of the HouseHusband i watched it via netflix extremely dignifying and clever. I’m over the moon with it, giggle to myself all the time. Former Yakuza, leaves gangs and becomes a house husband, takes himself seriously, is taken seriously. the end of chapter 3, episode 1. 🤣 It’s available via english dubs or subs, I’ve enjoyed it in both in different ways. My gosh I laughed at this regularly, thought it was great and very dignifying to all, and deliciously non-normative. You mean to tell me the ways of the yakuza and the way of the househusband are connected??? TEACH MEE!!! chapter 9, episode 2 You’ll absolutely love it, or despise it, but you’ll get a good few minutes either way. You cannot not. The U.S. and the Holocaust (ken burns) The U.S. and the Holocaust Documentary by Ken Burns, I watched via Amazon Prime Video. Vast swaths of the US population, and the world, openly supported hitler in his supremacist ethnic cleansing of ‘his’ lands. _he openly approved of how the native, black, and homosexual populations in the USA were ‘being handled’ by the american people. (ethnic cleansing, ethnic cleansing, and trait cleansing, respectively, via all possible means of social control). He said things like: Our Danube is like their Mississippi! referring to the american expulsion of native people across the mississippi, to Oklahoma. (well, until oil was discovered there, then ‘america’ wanted the land back) Henry Ford was a HUGE fan of Hitler, and Hitler had a poster of Ford in his office! Henry Ford bought a newspaper with the second-highest distribution in the USA, a weekly periodical in America and ran a 90 part weekly series about “The International Jew: The World’s Foremost Problem”!!!!!! The white people running the government of the USA, + the wealthy white people not in the government, via the department of state, and other means, tried it’s hardest to keep those pesky undesirables from eastern europe out of it’s shores and away from it’s women. If there were not so many jews stuck in germany when hitler started really killing them (as he was collabing with Ford to get help in doing), less everyone would have died. “anti immigration laws” were the anvil, pinning those people in place for hitler’s hammer. 43 states in the USA had laws ON THE BOOKS “requiring” (justifying) the forced sterilization of people deemed ‘unfit’ [by wealthy white eugenicists]. the last vestige of these laws were removed from the books in 2014. People that say “protect our neighborhood character” are drafting on the exact same eugenicists in the 1910s, advocating for a program of eugenics, saying “protect our race and our women from them!” They wrote books like “The Passing of the Great Race”, saying “if we don’t act now, and quickly, our great race will be destroyed, especially by these uncouth asiatic non-white jews!” Everyone was down with ‘regimes of social control’, and the current manifestation I’ve been noodling is road networks and zoning. I have stuff going at substack, or write about it here sometimes. not everyone has interest/skills/english reading skills to make any of this list a good fit. I’m less into reading now than I was once, fwiw. I don’t sound out individual words, nor do I sound any words out, in my head, as I read. I also experience my own inner world similar to the author of this post about aphantasia. I read for content and information without a single image passing through my imagination. I only recently learned that this is not the same experience everyone has. I can capture large fractions of lines of text ‘at once’ and process a page quite fast. Not everyone reads at this particular speed, and some people have a vastly different experience with the books they do read. ↩ I maintain They Were Her Property: White Women as Slave Owners in the American South is indispensible for understanding broad swaths of American culture, and western culture. (slavery was rooted in the enlightenment, and of course systems of slavery shaped the world around themselves, then to now) ↩ it’s not normal, how many things are done in the USA. That a settler-colonialist mindset baked into social structures would have many harmful, visible effects on a society is a given. men/women dynamics. parent/child. authority/obedient, nobility/peasant, english-speaking/non-english-speaking, white-passing/non-white-passing. Bleh. ↩

8 months ago 8 votes

More in literature

Advice for a friend who wants to start a blog

What’s odd about you is what’s interesting.

23 hours ago 4 votes
Two poisonous Tanizaki novels, Naomi and Quicksand - the same as a fruit that I’d cultivated myself

Two Junichiro Tanizaki novels from the 1920s for Japanese Literature Month over at Dolce Bellezza.  Always interesting to see what people are reading.  Thanks as usual.  18th edition! The two novels I read, Naomi (1924) and Quicksand (1928-30), are closely related.  Both are about dominant and submissive sexual relations, an obsession of Tanizaki.  Both were serialized in newspapers.  How I wish the books had explanations of how the serialization worked.  Both novels are written in, or at least translated as, plain, sometimes even dull prose, perhaps a consequence of tight serial deadlines. Both have narrators who may well be playing tricks on me, although if so I did not see the signals, and believe me I am alert to the signals, well-trained by Pale Fire and The Tin Drum and Villette and so on.  Maybe Tanizaki’s tricks are different. Naomi is narrated by a creep of an engineer who picks up – grooms – a 15 year-old waitress who he finds especially “Western.”  … most of her value to me lay in the fact that I’d brought her up myself, that I myself had made her into the woman she was, and that only I knew every part of her body.  For me Naomi was the same as a fruit that I’d cultivated myself.  I’d labored hard and spared no pains to bring that piece of fruit to its present, magnificent ripeness, and it was only proper that I, the cultivator, should be the one to taste it.  No one else had that right.  (Ch. 18, 161) Pure poison.  By this point in the novel Naomi has taken power, well on her way to complete control, crushing her groomer, who is likely, it turns out, happier crushed. Much of the novel is set in the modern, Westernized Asakusa neighborhood of Tokyo, before the terrible earthquake that obliterated the dancehalls and movie theaters.  I found all of that detail quite interesting, as it was in Yasunari Kawabata’s The Scarlet Gang of Asakusa (1929-30).  One more piece of bad luck and Naomi might have become one of the homeless teen prostitutes in The Scarlet Gang.  Too bad Naomi does not have the innovative linguistic interest of Kawabata’s crackling novel. The Japanese title of Quicksand is a single character, the Buddhist swastika, a perfect representation of the content of the novel, which is a four-way struggle for dominance among the narrator, her girlfriend, her husband, and the girlfriend’s boyfriend.  Some of the weapons in the struggle are pretty crazy, like a scene where the narrator and the girlfriend’s lunatic boyfriend swear a blood oath.  Eh, they’re all crazy.  The narrator is the eventual winner, obviously, I guess.  Maybe she is making it all up.  Quicksand has a lot in common with Ford Madox Ford’s devious The Good Soldier, another four-way struggle, but as I said if Tanizaki’s narrator is a tenth as tricky as Ford’s I sure couldn’t see it.  She seems more unreliable in theory than practice. One technique that is interesting and may hold clues: Tanizaki and the narrator return to key scenes, describing what happened from different perspectives, yes, like in Akutagawa’s “In a Bamboo Grove” (1922), except everything is filtered through the narrator, which does have the appearance of what I am calling a trick, a technique of emphasizing and controlling unreliability.  How newspaper readers followed this over two full years baffles me, but my understanding is that the lesbian aspect got the attention. I have trouble imaging the literary world where these were newspaper novels.  Naomi was in fact too shocking and was booted from the newspaper, with Tanizaki completing it in a magazine. Should I give an example of what I mean by dull prose?  Is it worth the tedium of the typing?  I mean that there is a lot of this: “Were you still asleep, Mitsu?” “Your phone call wakened me!” “I can leave anytime now.  Won’t you come right away too?” “Then I’ll hurry up and get ready.  Can you be at the Umeda station by half-past nine?” “You’re sure you can?” “Of course I am!”  (Quicksand, Ch. 15, 98) And this is nominally supposed to be the narrator telling her story to Tanizaki.  Serialization filler?  Maybe you can see why I am not in a hurry to solve the puzzle of Quicksand.  The appeal of both novels, for me, was exploring the psychology of the believably awful characters and seeing how their less believable awful schemes work out. Anthony Chambers translated Naomi; Howard Hibbett did Quicksand.

15 hours ago 3 votes
'We Must Be Continually Striving to Live'

A reader asks what I hope to accomplish in retirement. I’m not one for making grand plans or resolutions. No golf and little travel. It’s more likely I’ll continue what I’m already doing – writing, reading, family matters – just more of it. More Montaigne, J.V. Cunningham, Shakespeare, Rebecca West. Luke O’Sullivan writes in his introduction to Michael Oakeshott’s Notebooks, 1922-86 (2014):  “What [Montaigne] had to offer, he believed, was not a consistent set of arguments with which to answer problems of the human condition, but (like Aristotle) a feeling for balance and an ability to live without the need for certainty. Moreover, he had a sense of his own integrity; late in life, Oakeshott made a note of Montaigne’s remark that ‘The greatest thing in the world is to know how to belong to oneself.’”   The Montaigne quote is from the essay “Of Solitude,” written around 1572, and it seems applicable to late-life retirement. The previous year Montaigne had retired from public life to the Château de Montaigne. In its tower he kept his books and found the privacy he needed to write his essays. Like Montaigne, I’m no hermit but I need quiet and a moderate amount of solitude to get done what I want to do. I understand some retirees get bored and start drinking and preparing themselves for a premature death. They have never learned “how to belong to oneself.” In his Notebooks, Oakeshott writes:   “We spend our lives trying to discover how to live, a perfect way of life, sens de la vie. But we shall never find it. Life is the search for it; the successful life is that which is given up to this search; & when we think we have found it, we are farthest from it. Delude ourselves that we have found it, persuade ourselves that here at least there is a point at which we can rest – and life has become at once moribund. Just as to remain in love we must be continually falling in love, so to remain living we must be continually striving to live.”   Montaigne echoes Oakeshott in his essay “Of Physiognomy” (c. 1585-88):   “[D]eath is indeed the end, but not therefore the goal, of life; it is its finish, its extremity, but not therefore its object. Life should be an end unto itself, a purpose unto itself; its rightful study is to regulate, conduct, and suffer itself. Among the many other duties comprised in this general and principal chapter on knowing how to live is this article on knowing how to die; and it is one of the lightest, if our fear did not give it weight.”

12 hours ago 1 votes
The Lily vs. the Eagle: D.H. Lawrence on the Key to Balancing Mutuality and Self-Possession in Love

If you live long enough and wide enough, you come to see that love is simply the breadth of the aperture through which you let in the reality of another and the quality of attention you pay what you see. It is, in this sense, not a phenomenon that happens unto you but a creative act. The poet Robert Graves knew this: “Love is not kindly nor yet grim, but does to you as you to him,” he wrote as a young man a lifetime before the old man came to define love as “a recognition of truth, a recognition… read article

20 hours ago 1 votes
Why Recurring Dream Themes?

...

3 hours ago 1 votes