Keith J. Grant: Notes2023-05-10T15:33:00Zhttps://notes.keithjgrant.com/Keith J. Grantbarkeep@keithjgrant.comhttps://notes.keithjgrant.com/http://notes.keithjgrant.com/favicon.icohttp://notes.keithjgrant.com/images/favicon-96.png2023-05-10T15:33:00Z2023-05-10T15:33:00Zhttps://notes.keithjgrant.com/notes/2023/05/sass-nesting/<p>“Sass will simply not support plain CSS nesting unless we can do so in a
way that’s fully compatible with existing Sass behavior.”</p>
<p>I think this is the end of the Sass road for me.
In fact, as soon as I read this, I immediately regretting using Sass in my
recent website redesign at all.</p>
<p>I mean, I get it. This is kind of the path Sass needs to take to maintain
code compatability for existing projects, but I’ve been down this road before.
Once upon a time, I wrote the CSS for nyse.com,
and I did it all using PostCSS plugins to mimic “future” CSS.</p>
<p>The problem was, those future specs changed before they shipped in browsers,
and I was stuck with a ton of legacy code that only worked because of my tooling.
There was no easy path toward turning off the transipiling other than a
painful rewrite of a lot of code.
And that meant I couldn’t actually use the new feature, purely because I was too
eager to fake it before it was ready.</p>
<p>I’m going to want to use CSS nesting as early as possible, and I don’t want
to be stuck waiting on tooling to make that a reality.</p>
2023-05-08T23:30:00Z2023-05-08T23:30:00Zhttps://notes.keithjgrant.com/notes/2023/05/why-im-giving-up-on-arc/<p>I tried <a href="https://arc.net/">Arc Browser</a> as my default browser for several months.
I even tried to talk a few co-workers into doing the same.
I <em>absolutely love</em> the way it manages Spaces, and no other browser comes
close to this kind of reasonable, real-world tab management, not by light years.</p>
<p>Unfortunately, I’ve had to give up. I’m switching back to Firefox.
A few issues were starting to feel like death by a thousand papercuts.
Here are my reasons for giving up on Arc:</p>
<ol>
<li>Multi-window behavior is just too strange; and I always have two windows
open side-by-side on my ultrawide monitor.
The way Arc works, all tabs for the active workspace are listed on the left.
With you have two windows open to the same workspace, each window lists all
the tabs for that workspace;
it looks like you can click that tab in either window, which you sometimes
can, but not for more app-like sites or heavier interfaces. In short, I
found I consistently had to keep mental track of which window <em>actually</em>
had any given tab open. This became too much as I moved windows around
(which I often do during video calls/screenshares).</li>
<li>I miss the URL bar. I get what they’re going for with the ultra-minimalism,
but this is just a bit too far. “Developer mode” seemed like a promising
compromise, but I wasn’t about to take the three clicks needed to activate
it for each and every website where I might manually edit the url.</li>
<li>Even with careful folder management, I just have too many boorkmarks in my
Space for “work”. Because in Arc, your tabs <em>are</em> your bookmarks.
My permanent tabs filled the left sidebar much of the time, even with only
a couple temporary tabs open.</li>
<li>I really, really want my browser history to sync with my phone. After
the disappointing launch of their mobile app that was... well, not even a
browser, I couldn’t do it any longer.</li>
</ol>
2023-05-05T15:22:26Z2023-05-05T15:22:26Zhttps://notes.keithjgrant.com/notes/2023/05/the-silly-low-chance-thing-id-really/<p>The silly low-chance thing I'd really like to see in Tears of the Kingdom
is a revamped version of the Gerudu Valley music from Ocarina of Time.
And the Forest Temple song.</p>
<p>That game had some killer music.
I feel like Nintendo has been sitting on some wasted opportunity for quite a
while to revive those.</p>
2023-05-03T17:26:15Z2023-05-03T17:26:15Zhttps://notes.keithjgrant.com/notes/2023/05/okay-its-time-for-me-to/<p>Okay, it's time for me to start experimenting with posting short
notes to my own website again.</p>
<p>I probably have some fiddling to do to get webmentions working on the new
subdomain.</p>
2019-10-03T13:04:51Z2019-10-03T13:04:51Zhttps://notes.keithjgrant.com/notes/2019/10/web-whiskey-weekend-here-i-come/<p>Web Whiskey Weekend, here I come... 🥃</p>
2019-09-11T20:25:17Z2019-09-11T20:25:17Zhttps://notes.keithjgrant.com/notes/2019/09/that-episode-of-the-great-british/<p>That episode of the Great British Baking show where they make “American pies” but Paul makes it abundantly clear a) he doesn’t like American pies, and b) he doesn’t have a clue what constitutes an American pie.</p>
<p>Then most of the contestants proceed to make tarts that are decidedly neither American nor pies. Though one guy makes a rocking proper American key lime pie, and Paul says he loves it even though it wasn't what he asked for.</p>
2019-07-22T20:06:04Z2019-07-22T20:06:04Zhttps://notes.keithjgrant.com/notes/2019/07/dear-online-merchants-your-package-has/<p>Dear online merchants: “Your package has been shipped” does NOT mean “We have obtained a shipping number from the post office and will actually deliver your package to USPS in five days.”</p>
2019-06-17T22:02:45Z2019-06-17T22:02:45Zhttps://notes.keithjgrant.com/notes/2019/06/for-fathers-day-this-year-my/<p>For Father's day this year, my family got me gift cards to all the artisan coffee shops in Spokane, so I can test them all out.</p>
<p>Up this afternoon: First Avenue Coffee ☕️</p>
2019-05-09T14:11:32Z2019-05-09T14:11:32Zhttps://notes.keithjgrant.com/notes/2019/05/something-that-will-always-bug-me/<p>Something that will always bug me:</p>
<p>I still think <code>const</code> should be used for constants (like ALL_CAPS_CONSTANTS) and <code>var</code> should be the default. Use <code>let</code> when you really want block-level scoping.</p>
2019-04-23T13:39:27Z2019-04-23T13:39:27Zhttps://notes.keithjgrant.com/notes/2019/04/i-love-what-svelte-is-going/<p>I love what Svelte is going for, putting the framework in the compiler. But I see “template logic” in the HTML and alarm bells ring.</p>
<p>Unless I’m missing something, you'll always be limited by what the template language supports :(</p>
2019-04-15T12:10:17Z2019-04-15T12:10:17Zhttps://notes.keithjgrant.com/notes/2019/04/i-tried-to-read-game-of/<p>I tried to read game of thrones once. After 150 pages, nothing had happened, so I stopped.</p>
2019-04-11T15:33:52Z2019-04-11T15:33:52Zhttps://notes.keithjgrant.com/notes/2019/04/insane-idea-dont-flog-me-npm/<p>Insane idea (don't flog me): NPM browser extension. Once a site uses a dependency, it gets stored locally & doesn't need to be downloaded again.</p>
<p>Like CDNs, but with more strongly enforced SST, because CDNs don’t actually gain the caching benefits they initially hoped.</p>
2019-03-29T12:33:40Z2019-03-29T12:33:40Zhttps://notes.keithjgrant.com/notes/2019/03/i-will-henceforth-be-referring-to/<p>I will henceforth be referring to RSS as “the future from the past”</p>
2019-03-27T15:19:27Z2019-03-27T15:19:27Zhttps://notes.keithjgrant.com/notes/2019/03/a-young-naive-me-when-im/<p>A young, naive me: “When I’m grown up, I’m going to have a set of set of matching coffee mugs, not some random assortment”</p>
2019-03-21T13:36:26Z2019-03-21T13:36:26Zhttps://notes.keithjgrant.com/notes/2019/03/dont-forget-kids-always-bet-on/<p>Don’t forget, kids: “Always bet on JavaScript” is and always has always been shorthand for “Always bet on the Open Web Platform”</p>
2019-03-18T12:46:55Z2019-03-18T12:46:55Zhttps://notes.keithjgrant.com/notes/2019/03/i-get-frustrated-with-debugging-breakpoints/<p>I get frustrated with debugging & breakpoints in Firefox. It seems like they often just don’t work—but I suspect it’s that they don’t work <em>exactly like Chrome</em>.</p>
<p>Are there any write-ups that walk through the differences between the two?</p>
2019-02-26T19:23:17Z2019-02-26T19:23:17Zhttps://notes.keithjgrant.com/notes/2019/02/a-search-on-the-online-store/<p>A search on the online store for computer mice, but with a filter that only shows me big, full-size mice that won't cramp my hand</p>
2019-02-26T14:58:23Z2019-02-26T14:58:23Zhttps://notes.keithjgrant.com/notes/2019/02/yeah-so-i-realize-i-still/<p>Yeah, so I realize I still need to finish writing that final installment in my IndieWeb series. Hoping I can get to it this week.</p>
2019-02-26T14:15:16Z2019-02-26T14:15:16Zhttps://notes.keithjgrant.com/notes/2019/02/everyone-likes-to-make-a-fuss/<p>Everyone likes to make a fuss over Celsius vs. Fahrenheit and gallons vs. liters.</p>
<p>But can we talk for a minute about the UK placement of punctuation outside of quotes makes far more sense than the ridiculous U.S. style?</p>
2019-02-17T14:41:54Z2019-02-17T14:41:54Zhttps://notes.keithjgrant.com/notes/2019/02/amazing-how-theres-a-tendency-in/<p>Amazing how there's a tendency (in myself & others) to think it would be easier to build your own tool than to simply learn one that already exists.</p>
<p>Subtweet: You don't need a new flexbox-based grid system. Learn CSS Grid.</p>
2019-02-04T15:58:55Z2019-02-04T15:58:55Zhttps://notes.keithjgrant.com/notes/2019/02/rule-of-thumb-if-a-method/<p>Rule of thumb: if a method in a React class doesn’t reference <code>this</code> (or only references one or two values on <code>this</code>), extract it out into a standalone util and pass those values in as params.</p>
2019-01-29T15:34:58Z2019-01-29T15:34:58Zhttps://notes.keithjgrant.com/notes/2019/01/deleting-code-to-improve-test-coverage/<p>Deleting code to improve test coverage 💪🏻</p>
2019-01-23T15:34:23Z2019-01-23T15:34:23Zhttps://notes.keithjgrant.com/notes/2019/01/im-not-one-who-typically-has/<p>I’m not one who typically has the problem of too many browser tabs open at once. My code editor on the other hand…</p>
2019-01-11T16:45:23Z2019-01-11T16:45:23Zhttps://notes.keithjgrant.com/notes/2019/01/nothing-against-react-suspense-here-but/<p>Nothing against React Suspense here, but… y’all realize that waiting a set delay before showing a loader is do-able with just a few lines of CSS, right?</p>
2019-01-10T21:07:52Z2019-01-10T21:07:52Zhttps://notes.keithjgrant.com/notes/2019/01/i-wish-everybody-arguing-about-the/<p>I wish everybody arguing about the cascade (on both sides) understood the difference between cascade & inheritance, and was more explicit which one they mean when.</p>
<p>The lack of clarity is certainly not helping the discussion.</p>
2019-01-04T01:48:38Z2019-01-04T01:48:38Zhttps://notes.keithjgrant.com/notes/2019/01/i-have-made-a-cocktail-with/<p>I have made a cocktail with London dry gin, lemon juice, and habanero cucumber syrup. And it is one of the best drinks I've ever created.</p>
2018-12-17T14:27:16Z2018-12-17T14:27:16Zhttps://notes.keithjgrant.com/notes/2018/12/currently-chewing-on-this-idea-many/<p>Currently chewing on this idea:</p>
<p>Many frustrations with CSS come from unexpected behavior when we ask it to do conflicting things. Part of this stems from not fully understanding the default behavior, and how our code might fight against that.</p>
2018-12-14T17:24:48Z2018-12-14T17:24:48Zhttps://notes.keithjgrant.com/notes/2018/12/building-a-react-spa-with-a/<p>Building a React SPA with a top-level App component, routing, centralized application state, & API data fetching.</p>
<p>And it renders to static HTML and works without JavaScript.</p>
<p>The whole “docs vs. apps” thing is nonsense</p>
2018-12-13T17:43:17Z2018-12-13T17:43:17Zhttps://notes.keithjgrant.com/notes/2018/12/giving-nextjs-a-try/<p>Giving next.js a try</p>
2018-12-10T18:50:05Z2018-12-10T18:50:05Zhttps://notes.keithjgrant.com/notes/2018/12/typed-up-several-new-drinks-added/<p>Typed up several new drinks & added them to Sidecar over lunch. Check out the lemon bomb!</p>
<p>https://sidecar.us/drinks/lemon-bomb/</p>
2018-12-06T17:32:52Z2018-12-06T17:32:52Zhttps://notes.keithjgrant.com/notes/2018/12/when-one-browser-dominates-the-market/<p>When one browser dominates the market, bugs become features and open standards take a back seat. When IE6 became the dominant browser, we had to live with the consequences for a decade.</p>
<p>It is certainly plausible that Microsoft just doomed us to another decade of fallout.</p>
2018-12-03T13:50:34Z2018-12-03T13:50:34Zhttps://notes.keithjgrant.com/notes/2018/12/we-finished-a-re-watch-of/<p>We finished a re-watch of all six seasons of Community last night (though it was our first time seeing season 6, since it originally only appeared on a weird Yahoo streaming service). Such a phenomenal show. And the final episode was the perfect way to end it.</p>
2018-11-20T20:57:02Z2018-11-20T20:57:02Zhttps://notes.keithjgrant.com/notes/2018/11/i-still-say-theres-something-fundamentally/<p>I still say there’s something fundamentally wrong with our food distribution practices when one outbreak/incident means the entire country has to beware an entire product.</p>
2018-11-17T21:27:33Z2018-11-17T21:27:33Zhttps://notes.keithjgrant.com/notes/2018/11/a-fire-in-the-fireplace-and/<p>A fire in the fireplace and a dram of Talisker Storm 🥃</p>
2018-11-01T17:08:25Z2018-11-01T17:08:25Zhttps://notes.keithjgrant.com/notes/2018/11/chrome-is-simply-better-at-debugging/<p>Chrome is simply better at debugging JavaScript. And Firefox is simply better with CSS.</p>
2018-10-26T14:13:09Z2018-10-26T14:13:09Zhttps://notes.keithjgrant.com/notes/2018/10/has-anyone-done-a-good-exploration/<p>Has anyone done a good exploration yet of good ways to integrate <code>useReducer()</code> and context?</p>
2018-10-17T14:14:18Z2018-10-17T14:14:18Zhttps://notes.keithjgrant.com/notes/2018/10/so-connecttech-is-this-week-im/<p>So Connect.Tech is this week. I’m not there because I apparently cannot read a calendar correctly, and thought it was during my Scotland trip last month. 😕</p>
2018-10-14T22:41:12Z2018-10-14T22:41:12Zhttps://notes.keithjgrant.com/notes/2018/10/today-i-made-scramled-eggs-with/<p>Today I made:</p>
<ul>
<li>Scramled eggs with Scottish smoked salmon, shallots, & tarragon</li>
<li>Almond biscotti from scratch</li>
<li>My famous burgers (the 5 y/o says they're the best anywhere)</li>
</ul>
2018-10-12T13:17:53Z2018-10-12T13:17:53Zhttps://notes.keithjgrant.com/notes/2018/10/the-perfect-use-case-for-web/<p>The perfect use case for Web Components as they are currently defined: libraries like Bootstrap. Then provide thin adapters over the top to tie them into various frameworks.</p>
2018-10-10T13:59:09Z2018-10-10T13:59:09Zhttps://notes.keithjgrant.com/notes/2018/10/developers-please-make-sure-your-library/<p>Developers: Please make sure your library can be imported in both Node and browser environments. Please handle <code>typeof window === &#39;undefined&#39;</code> gracefully, even if it “should only ever be run in browser.”</p>
2018-10-02T13:07:23Z2018-10-02T13:07:23Zhttps://notes.keithjgrant.com/notes/2018/10/observation-about-coffee-in-the-uk/<p>Observation about coffee in the UK:</p>
<p>Most espresso drinks I had there were decent but not outstanding. Meanwhile, none of the drip coffee was remotely as bad as the swill that’s so common in the States. (I did see a few Starbucks, but I avoided them there just as I do here because their coffee is unpalatable.)</p>
<p>In the States, I usually have a bit of trepidation when I order coffee from a new place, but everywhere I went in the UK was “safe.”</p>
2018-10-01T15:45:06Z2018-10-01T15:45:06Zhttps://notes.keithjgrant.com/notes/2018/10/oh-hai-i-have-like-30/<p>Oh hai I have like 30 unread newsletters from my time (mostly) away from the screen. I’m probably gonna skim through them really fast so let me ask this:</p>
<p>Were there any really cool/essential/notable things to read in the past two weeks in webdev?</p>
2018-10-01T14:34:08Z2018-10-01T14:34:08Zhttps://notes.keithjgrant.com/notes/2018/10/yes-hi-i-have-a-very/<p>“Yes hi I have a very important question. So instead of asking it in this email, I have saved it as a Word document and attached to waste your time. Please get back to me ASAP”</p>
2018-09-30T23:09:15Z2018-09-30T23:09:15Zhttps://notes.keithjgrant.com/notes/2018/09/well-look-what-came-home/<p>Well look what came home with me…</p>
2018-09-28T10:00:40Z2018-09-28T10:00:40Zhttps://notes.keithjgrant.com/notes/2018/09/goodbye-scotland/<p>Goodbye, Scotland</p>
2018-09-28T07:54:05Z2018-09-28T07:54:05Zhttps://notes.keithjgrant.com/notes/2018/09/the-edinburgh-airport-is-like-an/<p>The Edinburgh airport is like an IKEA. A slightly strange yet highly efficient system shuffling you through security, and a long winding path taking you through the sections of duty free shopping.</p>
2018-09-23T21:23:14Z2018-09-23T21:23:14Zhttps://notes.keithjgrant.com/notes/2018/09/in-the-last-week-ive-had/<p>In the last week I've had: dim sum, tapas, Israeli, tea at Fortnum’s, French-Moroccan, German shnitzel, Scottish salmon, wood pigeon, Nepalese, and several breakfasts at French patisseries.</p>
<p>I'm so full. Tomorrow we're talking about bread and jam for dinner 😆</p>
2018-09-23T15:51:53Z2018-09-23T15:51:53Zhttps://notes.keithjgrant.com/notes/2018/09/town-of-uig/<p>Town of Uig, Isle of Skye</p>
2018-09-23T15:31:25Z2018-09-23T15:31:25Zhttps://notes.keithjgrant.com/notes/2018/09/theres-almost-certainly-a-korok-seed/<p>There's almost certainly a Korok seed near here...</p>
2018-09-22T20:34:29Z2018-09-22T20:34:29Zhttps://notes.keithjgrant.com/notes/2018/09/view-from-the-room/<p>View from the room, Isle of Skye</p>
2018-09-21T14:21:34Z2018-09-21T14:21:34Zhttps://notes.keithjgrant.com/notes/2018/09/286-steps/<p>286 steps? Conquered.</p>
2018-09-21T14:07:16Z2018-09-21T14:07:16Zhttps://notes.keithjgrant.com/notes/2018/09/furby-over-edinburgh/<p>Furby over Edinburgh</p>
2018-09-20T19:46:37Z2018-09-20T19:46:37Zhttps://notes.keithjgrant.com/notes/2018/09/st-giles-cathedral/<p>St. Giles’ Cathedral, Edinburgh</p>
2018-09-20T09:56:48Z2018-09-20T09:56:48Zhttps://notes.keithjgrant.com/notes/2018/09/the-two-edinburgh-trains-before-ours/<p>The two Edinburgh trains before ours were cancelled and now the whole world wants into this one. One woman here has a ticket for a seat that doesn't exist.</p>
2018-09-20T07:43:29Z2018-09-20T07:43:29Zhttps://notes.keithjgrant.com/notes/2018/09/dear-us-get-your-head-out/<p>Dear U.S.: get your head out of your ass and learn to value proper bread. Thanks.</p>
2018-09-19T18:05:09Z2018-09-19T18:05:09Zhttps://notes.keithjgrant.com/notes/2018/09/just-had-probably-one-of-best/<p>Just had probably one of best meals I've ever had at The Palomar and The Cursed Child (part I) was fantastic (OMG effects that I'm totally not going to spoil). Now for Part II!</p>
2018-09-19T09:20:48Z2018-09-19T09:20:48Zhttps://notes.keithjgrant.com/notes/2018/09/nerrrrrds/<p>Nerrrrrds!</p>
2018-09-18T23:13:23Z2018-09-18T23:13:23Zhttps://notes.keithjgrant.com/notes/2018/09/st-pauls-cathedral/<p>St Paul’s Cathedral and the Millennium Bridge</p>
2018-09-18T20:15:14Z2018-09-18T20:15:14Zhttps://notes.keithjgrant.com/notes/2018/09/thing-i-found-myself-saying-today/<p>Thing I found myself saying today: “we went there for tea, but ended up with schnitzel.”</p>
2018-09-18T17:20:26Z2018-09-18T17:20:26Zhttps://notes.keithjgrant.com/notes/2018/09/man-i-love-the-tube/<p>Man, I love the Tube</p>
2018-09-18T15:44:49Z2018-09-18T15:44:49Zhttps://notes.keithjgrant.com/notes/2018/09/pit-stop/<p>Pit stop</p>
2018-09-18T12:55:14Z2018-09-18T12:55:14Zhttps://notes.keithjgrant.com/notes/2018/09/birds/<p>Birds</p>
2018-09-17T16:40:49Z2018-09-17T16:40:49Zhttps://notes.keithjgrant.com/notes/2018/09/married-ten-years-and-change/<p>Married ten years (and change). And now we will frolick about the UK!</p>
2018-09-17T14:29:27Z2018-09-17T14:29:27Zhttps://notes.keithjgrant.com/notes/2018/09/you-guys-will-never-believe/<p>You guys will never believe this photo of London I took!</p>
2018-09-17T02:33:15Z2018-09-17T02:33:15Zhttps://notes.keithjgrant.com/notes/2018/09/brb-going-to-london/<p>brb going to London</p>
2018-09-16T19:30:16Z2018-09-16T19:30:16Zhttps://notes.keithjgrant.com/notes/2018/09/flying-out-in-the-late-evening/<p>Flying out in the late evening makes for a strange combination of running around all day taking care of little details while also having more time on my hands than I know what to do with.</p>
2018-09-16T12:40:58Z2018-09-16T12:40:58Zhttps://notes.keithjgrant.com/notes/2018/09/seeing-a-wierd-bug-in-firefox/<p>Seeing a wierd bug in Firefox Android: when i use a PWA, then later go open a different PWA, it opens the first one back up and not the second. Seems to happen pretty consistently</p>
2018-09-15T13:53:43Z2018-09-15T13:53:43Zhttps://notes.keithjgrant.com/notes/2018/09/well-yellow-jackets-you-may/<p>Well, yellow jackets. You may have won a battle, but I have won the war</p>
2018-09-14T19:42:41Z2018-09-14T19:42:41Zhttps://notes.keithjgrant.com/notes/2018/09/i-think-my-macbook-just-died/<p>I think my MacBook just died 😵</p>
2018-09-14T15:49:22Z2018-09-14T15:49:22Zhttps://notes.keithjgrant.com/notes/2018/09/just-a-test-posting-photos/<p>Just a test posting photos to my site from my phone.</p>
2018-09-14T01:20:18Z2018-09-14T01:20:18Zhttps://notes.keithjgrant.com/notes/2018/09/i-finally-got-my-site/<p>🎉 I finally got my site automatically sending webmentions. 🎉</p>
<p>Which means my notes will now all automatically post to Twitter</p>
2018-09-09T15:33:44Z2018-09-09T15:33:44Zhttps://notes.keithjgrant.com/notes/2018/09/theres-something-really-wonderful-about/<p>There's something really wonderful about sitting around in a bit of a daze after a good run, still in your running gear, sipping on ice cold water</p>
2018-09-07T17:24:23Z2018-09-07T17:24:23Zhttps://notes.keithjgrant.com/notes/2018/09/wait-so-cmdv-doesnt-paste-into/<p>Wait, so Cmd+V doesn’t paste into the new Chrome address bar anymore 😕</p>
2018-09-04T15:45:29Z2018-09-04T15:45:29Zhttps://notes.keithjgrant.com/notes/2018/09/im-cleaning-up-updating-my-feed/<p>I’m cleaning up & updating my feed subscriptions. Who’s posting their notes via RSS?</p>
2018-09-04T13:21:00Z2018-09-04T13:21:00Zhttps://notes.keithjgrant.com/notes/2018/09/logosvgpng/<p>“logo.svg.png” 🤔</p>
2018-08-31T22:59:21Z2018-08-31T22:59:21Zhttps://notes.keithjgrant.com/notes/2018/08/dns-ing-on-a-friday-night/<p>DNS-ing on a Friday night</p>
2018-08-28T17:43:49Z2018-08-28T17:43:49Zhttps://notes.keithjgrant.com/notes/2018/08/the-re-vamped-omnibear-ui-is/<p>The re-vamped Omnibear UI is coming along nicely. Also: bookmarks support!</p>
2018-08-27T16:18:30Z2018-08-27T16:18:30Zhttps://notes.keithjgrant.com/notes/2018/08/ive-been-working-mobx-into-omnibear/<p>I’ve been working MobX into Omnibear, and I am SOLD. This is so beyond superior to Redux.</p>
2018-08-23T17:59:34Z2018-08-23T17:59:34Zhttps://notes.keithjgrant.com/notes/2018/08/64774/<p>At my first web-related job, one of the early designs for the site had a background of #336699. To this day, that’s still my go-to placeholder color</p>
2018-08-18T00:00:24Z2018-08-18T00:00:24Zhttps://notes.keithjgrant.com/notes/2018/08/til-if-youre-sending/<p>TIL: if you're sending a request using <code>fetch()</code> it does not send cookies by default UNLESS you're coding a browser extension.</p>
<p>Both FF & Chrome extensions will send the cookies anyway unless you specify <code>credentials: &#39;omit&#39;</code> because 🤨</p>
2018-07-25T13:17:11Z2018-07-25T13:17:11Zhttps://notes.keithjgrant.com/notes/2018/07/47831/2018-07-03T12:46:56Z2018-07-03T12:46:56Zhttps://notes.keithjgrant.com/notes/2018/07/might-i-recommend-switching-to-proton/<p>Might I recommend switching to Proton Mail?</p>
<p>http://www.businessinsider.com/google-allows-app-developers-to-read-peoples-gmails-report-2018-7</p>
2018-05-21T12:32:27Z2018-05-21T12:32:27Zhttps://notes.keithjgrant.com/notes/2018/05/relatable-http-nymagcom-selectall-2018-05/<p>Relatable</p>
<p>http://nymag.com/selectall/2018/05/i-dont-know-how-to-waste-time-on-the-internet-anymore.html</p>
2018-05-16T16:40:21Z2018-05-16T16:40:21Zhttps://notes.keithjgrant.com/notes/2018/05/the-incredible-power-of-svg-is/<p>The incredible power of SVG is freeing, but also leads to decision paralysis. Should I use a sprite sheet? Embed them in the CSS? Inline everything in HTML? Which is most performant? And is that option practical in my given circumstance?</p>
2018-04-27T14:29:54Z2018-04-27T14:29:54Zhttps://notes.keithjgrant.com/notes/2018/04/getting-an-immunization-isnt-just-about/<p>Getting an immunization isn’t just about protecting you, but also the people around you. It’s beginning to look like protecting your privacy online works the same way.</p>
2018-04-06T18:37:37Z2018-04-06T18:37:37Zhttps://notes.keithjgrant.com/notes/2018/04/the-american-choppers-meme-is-truly/<p>The American Choppers meme is truly one of the best to roll around in a while.</p>
2018-03-02T13:56:12Z2018-03-02T13:56:12Zhttps://notes.keithjgrant.com/notes/2018/03/software-patents-taking-something-thats-not/<p>Software patents: Taking something that’s not patentable, and “doing it with software” to make it patentable</p>
<p>Silicon Valley “disruption”: taking illegal labor practices and re-framing the terms used to make them legal</p>
2018-02-08T20:59:29Z2018-02-08T20:59:29Zhttps://notes.keithjgrant.com/notes/2018/02/so-i-guess-at-some-point/<p>So I guess at some point Chrome fixed that inputs-as-grid-item-collapse-to-zero-width bug. How long has that been working?</p>
2018-02-08T18:04:14Z2018-02-08T18:04:14Zhttps://notes.keithjgrant.com/notes/2018/02/devtools-feature-request-the-ability-to/<p>DevTools feature request: the ability to hide/suppress all errors in the console that came from browser extensions.</p>
2018-02-05T18:19:34Z2018-02-05T18:19:34Zhttps://notes.keithjgrant.com/notes/2018/02/some-random-thoughts-on-the-solo/<p>Some random thoughts on the Solo trailer:</p>
<p>A lot of exciting stuff (Donald Glover!), but perhaps the least exciting part is Han Solo himself. He doesn’t <em>seem</em> like the Han Solo we know.</p>
<p>Then again, the Han Solo we know—at the beginning of New Hope—isn’t all that great a guy. If these movies are to have any character development, it will have to be more a character <em>devolvement</em>. Han Solo may start out a decent guy, and this backstory will turn him into the Looking-Out-For-Number-One scoundrel we know.</p>
2018-02-01T13:25:47Z2018-02-01T13:25:47Zhttps://notes.keithjgrant.com/notes/2018/02/sometimes-its-faster-and-easier-to/<p>Sometimes, it’s faster and easier to just add a <script> tag to the page and do the thing without your big framework.</p>
2018-01-31T18:04:37Z2018-01-31T18:04:37Zhttps://notes.keithjgrant.com/notes/2018/01/omnibear-v1-is-rolling-out/<p>Omnibear v1.0.0 is rolling out to Chrome and Firefox stores now!</p>
<p>https://omnibear.com/releases/1.0.0/</p>
2018-01-30T13:56:33Z2018-01-30T13:56:33Zhttps://notes.keithjgrant.com/notes/2018/01/the-eu-has-passed-the-gdpr/<p>The EU has passed the GDPR, prohibiting companies from harvesting customer’s personal information without specific a business need.</p>
<p>https://www.cennydd.com/writing/a-techies-rough-guide-to-gdpr</p>
2018-01-30T13:33:24Z2018-01-30T13:33:24Zhttps://notes.keithjgrant.com/notes/2018/01/legalized-gambling-reporting-troll-twitter-accounts/<p>Legalized gambling: reporting troll Twitter accounts and waiting to see which ones actually get their accounts suspended.</p>
<p>(Today, I won 💪🏻)</p>
2018-01-18T15:16:24Z2018-01-18T15:16:24Zhttps://notes.keithjgrant.com/notes/2018/01/54984/<p><strong>Coding from Home on a Snowy Morning</strong></p>
<p>Whose code this is I think I know.<br />
Written before Prettier, though;<br />
He will not see me stopping here<br />
To watch parenthesis reflow.</p>
<p>My editor must think it queer<br />
To save without a commit near.<br />
My MacBook Pro will keep me warm<br />
The coldest morning of the year.</p>
<p>A yellow line highlights to warn<br />
Of declaration with bad form.<br />
The only other sound’s the beep<br />
From webpack build that did perform.</p>
<p>JS is lovely, dark and deep,<br />
But I have Promises to keep,<br />
And JIRAs to go before I sleep,<br />
And JIRAs to go before I sleep.</p>
2018-01-06T15:40:00Z2018-01-06T15:40:00Zhttps://notes.keithjgrant.com/notes/2018/01/56400/<p>Steps to get on the IndieWeb:</p>
<ol>
<li>Get a blog and post to it</li>
<li>You’re on the IndieWeb!</li>
</ol>
2018-01-06T14:56:55Z2018-01-06T14:56:55Zhttps://notes.keithjgrant.com/notes/2018/01/53815/<p>“I’m Harvesting Credit Card Numbers and Passwords from Your Site. Here's How.”</p>
<p>tldr: Use a CSP.</p>
<p>https://medium.com/@david.gilbertson/im-harvesting-credit-card-numbers-and-passwords-from-your-site-here-s-how-9a8cb347c5b5</p>
2018-01-05T20:39:31Z2018-01-05T20:39:31Zhttps://notes.keithjgrant.com/notes/2018/01/74371/<p>An article titled “Frontend in 2017: the Important Parts” but doesn’t mention <em>any</em> of the amazing leaps forward in CSS that happened perfectly sums up our industry. 😩</p>
2018-01-05T19:57:32Z2018-01-05T19:57:32Zhttps://notes.keithjgrant.com/notes/2018/01/71852/<p>Blogging advice for 2018: just hit publish</p>
2018-01-04T21:37:35Z2018-01-04T21:37:35Zhttps://notes.keithjgrant.com/notes/2018/01/77855/<p>HTML needs a “preferred breaking space” character.</p>
2017-11-28T20:07:05Z2017-11-28T20:07:05Zhttps://notes.keithjgrant.com/notes/2017/11/72425/<p>“So, implementors: build stuff which kills your own FB usage before trying to kill facebook.” 👏🏻</p>
<p>https://waterpigs.co.uk/notes/1480/</p>
2017-11-20T03:55:18Z2017-11-20T03:55:18Zhttps://notes.keithjgrant.com/notes/2017/11/14118/<p>It's bug report weekend!</p>
<p>Reported a Prettier bug; saw a fix PR within 8 hours.
Reported a FF bug; had it confirmed and a workaround provided.</p>
<p>Thanks to everyone working on these!</p>
2017-11-15T15:38:30Z2017-11-15T15:38:30Zhttps://notes.keithjgrant.com/notes/2017/11/56310/<p>Microsoft has figured out that winning over the developers & designers will eventually win over the masses. And Apple has forgotten it.</p>
2017-11-14T21:02:41Z2017-11-14T21:02:41Zhttps://notes.keithjgrant.com/notes/2017/11/75761/<p>I think these are going to be <em>big</em> topics at conferences in the coming year</p>
<p>https://twitter.com/fox/status/930232428790087680</p>
2017-11-14T13:59:45Z2017-11-14T13:59:45Zhttps://notes.keithjgrant.com/notes/2017/11/50385/<p>Some interesting findings here, and the current WCAG 2.1 recommendation: text should resize up to 200%.
https://alastairc.ac/2017/11/is-text-sizing-dead/</p>
2017-11-13T18:44:58Z2017-11-13T18:44:58Zhttps://notes.keithjgrant.com/notes/2017/11/67498/<p><input type="country"> probably won’t happen. I’m okay with that.</p>
<p>But can we have an <input type="typeahead">?</p>
2017-11-13T15:53:36Z2017-11-13T15:53:36Zhttps://notes.keithjgrant.com/notes/2017/11/57216/<p>Is it just me, or does FF Nightly ask to be restarted twice each morning?</p>
2017-11-13T15:53:14Z2017-11-13T15:53:14Zhttps://notes.keithjgrant.com/notes/2017/11/57194/<p>Last year, I felt uneasy about the moral implications of using an ad-blocker. Now I feel it's a moral imperative to use one.</p>
<p>Ad-based/spy-based revenue model needs to be broken.</p>
2017-11-11T19:48:54Z2017-11-11T19:48:54Zhttps://notes.keithjgrant.com/notes/2017/11/71334/<p>Considering releasing a stripped-down copy of my blog setup as a Hugo-based IndieWeb starter kit… 🤔</p>
2017-10-26T19:17:38Z2017-10-26T19:17:38Zhttps://notes.keithjgrant.com/notes/2017/10/69458/2017-10-19T15:20:40Z2017-10-19T15:20:40Zhttps://notes.keithjgrant.com/notes/2017/10/55240/<p>Potential CSS specs/concepts I most want to see made reality:</p>
<ul>
<li>Color functions</li>
<li>Regions</li>
<li>Container queries</li>
<li>Subgrid</li>
</ul>
2017-10-17T12:28:40Z2017-10-17T12:28:40Zhttps://notes.keithjgrant.com/notes/2017/10/44920/<p>Trying to decide whether DateTimes in Go are better or worse than DateTimes in JavaScript</p>
2017-10-16T12:50:26Z2017-10-16T12:50:26Zhttps://notes.keithjgrant.com/notes/2017/10/46226/<p>In retrospect, maybe we should have had another WiFi security protocol queued up</p>
2017-10-13T19:00:22Z2017-10-13T19:00:22Zhttps://notes.keithjgrant.com/notes/2017/10/68422/<p>Video from my Connect Tech talk is up! The Decentralized Social Web:</p>
<p>https://www.recallact.com/presentation/decentralized-social-web</p>
2017-10-10T22:49:47Z2017-10-10T22:49:47Zhttps://notes.keithjgrant.com/notes/2017/10/82187/<p>.@davatron preaching the importance of your own blog instead of vomiting into the Twitter sewer</p>
2017-10-06T17:44:44Z2017-10-06T17:44:44Zhttps://notes.keithjgrant.com/notes/2017/10/63884/<p>As soon as this storm clears NOLA, it’s gonna be over ATL. Cannot figure out how I’m gonna get down there without missing at least the entire first day of @CSSDevConf 😣</p>
2017-10-02T17:37:46Z2017-10-02T17:37:46Zhttps://notes.keithjgrant.com/notes/2017/10/63466/<p>I got in the habit of using <code>flex: 1</code> as shorthand for <code>flex-grow: 1</code> and somehow keep forgetting that it breaks in IE 😖</p>
2017-09-29T18:05:24Z2017-09-29T18:05:24Zhttps://notes.keithjgrant.com/notes/2017/09/65124/<p>Things learned when building a browser extension: Chrome will let you publish any old thing. Everyone else vets your extension before putting it in their store.</p>
2017-09-26T21:58:54Z2017-09-26T21:58:54Zhttps://notes.keithjgrant.com/notes/2017/09/79134/<p>I already have the ability to tweet out more than 140 characters ¯\_(ツ)_/¯. 280 characters. 10,000 characters. Whatever.</p>
<p>Not really sure what the big deal is here… 🙃</p>
2017-09-22T19:28:55Z2017-09-22T19:28:55Zhttps://notes.keithjgrant.com/notes/2017/09/70135/<p>Posting live from on stage at @connect_js!</p>
2017-09-19T13:24:20Z2017-09-19T13:24:20Zhttps://notes.keithjgrant.com/notes/2017/09/48260/<p>Interesting thread here on how Firefox rasterizes SVGs & the performance implications</p>
<p>https://twitter.com/Gankro/status/909795286201065472</p>
2017-09-06T19:50:04Z2017-09-06T19:50:04Zhttps://notes.keithjgrant.com/notes/2017/09/71404/<p>Universities: Let’s create WWW using HTML so information readily available</p>
<p>Also universities: Let’s make research papers available only as PDFs</p>
2017-09-01T14:38:00Z2017-09-01T14:38:00Zhttps://notes.keithjgrant.com/notes/2017/09/52680/<p>I believe 100% in “Clean Code” and also believe repetition is much better than the wrong abstraction. Why do I keep seeing folks arguing between the two as if they somehow contradict?</p>
2017-08-31T20:06:30Z2017-08-31T20:06:30Zhttps://notes.keithjgrant.com/notes/2017/08/72390/<p>I’m reversing my previous position: Twitter should drop the 140 char limit.</p>
2017-08-30T19:02:29Z2017-08-30T19:02:29Zhttps://notes.keithjgrant.com/notes/2017/08/68549/<p>Test post from Omnibear in Firefox!</p>
2017-08-30T14:24:37Z2017-08-30T14:24:37Zhttps://notes.keithjgrant.com/notes/2017/08/51877/2017-08-15T18:10:35Z2017-08-15T18:10:35Zhttps://notes.keithjgrant.com/notes/2017/08/65435/2017-08-11T14:08:27Z2017-08-11T14:08:27Zhttps://notes.keithjgrant.com/notes/2017/08/50907/2017-08-07T14:24:18Z2017-08-07T14:24:18Zhttps://notes.keithjgrant.com/notes/2017/08/51858/2017-07-20T17:51:30Z2017-07-20T17:51:30Zhttps://notes.keithjgrant.com/notes/2017/07/64290/2017-06-28T15:37:59Z2017-06-28T15:37:59Zhttps://notes.keithjgrant.com/notes/2017/06/56279/2017-06-28T15:37:52Z2017-06-28T15:37:52Zhttps://notes.keithjgrant.com/notes/2017/06/56272/2017-06-28T15:37:41Z2017-06-28T15:37:41Zhttps://notes.keithjgrant.com/notes/2017/06/56261/2017-06-28T15:37:34Z2017-06-28T15:37:34Zhttps://notes.keithjgrant.com/notes/2017/06/56254/2017-06-23T16:55:52Z2017-06-23T16:55:52Zhttps://notes.keithjgrant.com/notes/2017/06/60952/2017-06-16T14:23:18Z2017-06-16T14:23:18Zhttps://notes.keithjgrant.com/notes/2017/06/51798/2017-06-09T14:12:40Z2017-06-09T14:12:40Zhttps://notes.keithjgrant.com/notes/2017/06/51160/2017-05-25T13:14:16Z2017-05-25T13:14:16Zhttps://notes.keithjgrant.com/notes/2017/05/47656/2017-04-20T15:18:15Z2017-04-20T15:18:15Zhttps://notes.keithjgrant.com/notes/2017/04/55095/2017-04-19T17:57:36Z2017-04-19T17:57:36Zhttps://notes.keithjgrant.com/notes/2017/04/64656/2017-04-13T14:37:42Z2017-04-13T14:37:42Zhttps://notes.keithjgrant.com/notes/2017/04/52662/2017-04-12T14:22:00Z2017-04-12T14:22:00Zhttps://notes.keithjgrant.com/notes/2017/04/51720/<p>“When it comes to CSS, isolation is more important than reuse”</p>
<p>I disagree with this <em>so hard</em></p>
2017-04-07T13:57:30Z2017-04-07T13:57:30Zhttps://notes.keithjgrant.com/notes/2017/04/50250/2017-04-06T01:53:26Z2017-04-06T01:53:26Zhttps://notes.keithjgrant.com/notes/2017/04/6806/2017-04-06T00:19:20Z2017-04-06T00:19:20Zhttps://notes.keithjgrant.com/notes/2017/04/1160/<p>Well, I’m on https://mastodon.social/@keithjgrant for those who are into that sort of thing</p>
2017-04-03T14:13:20Z2017-04-03T14:13:20Zhttps://notes.keithjgrant.com/notes/2017/04/51200/<p>There’s a forgotten element to Separation of Concerns: keeping things in separate files allows developers w/ different specialties to edit & control contents of the stuff they understand. To date, the JavaScript community at large hasn’t really shown it can be responsible for semantic and accessible markup and sane CSS. 🤔</p>
<p>https://hackernoon.com/professional-pride-7b84287ae747</p>
2017-03-29T18:03:32Z2017-03-29T18:03:32Zhttps://notes.keithjgrant.com/notes/2017/03/65012/<p>I get that <a href="https://medium.com/@isaaclyman/8-css-gotchas-to-start-your-morning-off-right-c5daade0731d">this is satire</a>. I’m fine with satire, in general. But the fact that this particular satire resonates with so many people indicates to me that one of the following is true:</p>
<ol>
<li>We have royally screwed up the teaching of CSS.</li>
<li>Web devs are terrible at taking the time to learn how CSS works.</li>
</ol>
<p>It’s probably both. And yes, some of the earlier stuff is not immediately intuitive: floats, vertical-align, etc. But it is understandable. You can make sense of this stuff.</p>
<p>It’s hard to see devs throwing their hands up in the air… If this stuff is discouraging to you, please take some time to read up on it. Stop trying to hack through the brush alone. There are great resources available (p.s. I’m writing one!)</p>
2017-03-28T17:06:27Z2017-03-28T17:06:27Zhttps://notes.keithjgrant.com/notes/2017/03/61587/<p>I’m ready to stop yelling about this crap and start having productive discussions. This is a good starting place 👍</p>
<p>https://twitter.com/jdan/status/846755231325151232</p>
2017-03-20T20:32:34Z2017-03-20T20:32:34Zhttps://notes.keithjgrant.com/notes/2017/03/73954/2017-03-17T13:22:38Z2017-03-17T13:22:38Zhttps://notes.keithjgrant.com/notes/2017/03/48158/<p>Developers somehow acquired the idea that CSS should be easy. Like, learn in a weekend easy.</p>
<p>CSS isn’t like that. Nobody <em>in the world</em> knows all of CSS. You need to commit to learning it just as you do conventional programming.</p>
2017-03-13T18:54:19Z2017-03-13T18:54:19Zhttps://notes.keithjgrant.com/notes/2017/03/68059/<p>I’m still fascinated that JavaScript—which only runs on one thread—is the language that popularized functional, async programming, which is needed for multi-threaded programming.</p>
2017-03-13T18:23:31Z2017-03-13T18:23:31Zhttps://notes.keithjgrant.com/notes/2017/03/66211/2017-03-10T18:05:35Z2017-03-10T18:05:35Zhttps://notes.keithjgrant.com/notes/2017/03/65135/<p>Design, Accessibility, Performance, UX, Frameworks… you can’t master them all. Focus on one & find folks who are good at each.</p>
2017-03-08T19:54:54Z2017-03-08T19:54:54Zhttps://notes.keithjgrant.com/notes/2017/03/71694/<p>I really wish flexbox & grid didn’t break margin collapsing 😕</p>
2017-03-07T21:33:05Z2017-03-07T21:33:05Zhttps://notes.keithjgrant.com/notes/2017/03/77585/2017-03-07T14:56:42Z2017-03-07T14:56:42Zhttps://notes.keithjgrant.com/notes/2017/03/53802/<p>Very rarely should you rewrite the code from the ground up. This probably also applies to law.</p>
2017-03-06T20:17:27Z2017-03-06T20:17:27Zhttps://notes.keithjgrant.com/notes/2017/03/73047/2017-03-03T19:45:43Z2017-03-03T19:45:43Zhttps://notes.keithjgrant.com/notes/2017/03/71143/<p>This is why software is never done. The old days of boxed packaging must have been a nightmare.</p>
<p>https://twitter.com/mathowie/status/837735473745289218</p>
2017-03-02T20:19:47Z2017-03-02T20:19:47Zhttps://notes.keithjgrant.com/notes/2017/03/73187/<p>Always amazed to realize how little CSS actually needs prefixes anymore</p>
2017-02-16T15:16:42Z2017-02-16T15:16:42Zhttps://notes.keithjgrant.com/notes/2017/02/55002/<p>1 2 3 I’ve finally learned to touch-type the number keys</p>
<p>4 5 6 What will be my next amazing trick?</p>
2017-02-15T18:07:22Z2017-02-15T18:07:22Zhttps://notes.keithjgrant.com/notes/2017/02/65242/<p>My editor doesn’t do so great working in a file with a 50,000-character line of text 😣</p>
2017-02-15T13:41:55Z2017-02-15T13:41:55Zhttps://notes.keithjgrant.com/notes/2017/02/49315/<p>This is the natural end result of moving your styles into JS</p>
<p>https://twitter.com/itsmisscs/status/831640807706857472</p>
2017-02-14T23:58:28Z2017-02-14T23:58:28Zhttps://notes.keithjgrant.com/notes/2017/02/86308/<p>Google AMP is like nutrition supplements... Michael Pollan says, “Be the kind of person who takes supplements — then skip the supplements,” because supplements have been proven not to help you, but people who take them are healthier.</p>
<p>Maybe Google AMP is like that: Follow the rules of AMP pages, then skip the AMP cache.</p>
2017-02-14T20:43:54Z2017-02-14T20:43:54Zhttps://notes.keithjgrant.com/notes/2017/02/74634/<p>Test post from phone</p>
2017-02-13T18:08:18Z2017-02-13T18:08:18Zhttps://notes.keithjgrant.com/notes/2017/02/65298/<p>This was a solid episode. I learned a few things about AMP. I’m... slightly less hostile to it now</p>
<p>http://shoptalkshow.com/episodes/248-amp/</p>
2017-02-09T14:16:25Z2017-02-09T14:16:25Zhttps://notes.keithjgrant.com/notes/2017/02/91624/<p>Would it be totally annoying if my tweets linked back to my blog? It probably would, wouldn't it?</p>
2017-02-09T13:42:36Z2017-02-09T13:42:36Zhttps://notes.keithjgrant.com/notes/2017/02/84236/<p>Current status https://www.youtube.com/watch?v=g0MLscghcN4</p>
2017-02-03T15:59:54Z2017-02-03T15:59:54Zhttps://notes.keithjgrant.com/notes/2017/02/105953/<p>Are there any codemods to convert LESS to PostCSS/cssnext syntax? Doesn't need to be too fancy, just cut down on the busywork.</p>
2017-01-27T19:51:58Z2017-01-27T19:51:58Zhttps://notes.keithjgrant.com/notes/2017/01/145158/<p>Progressive enhancement and rule of least power MATTER https://twitter.com/ArielleDRoss/status/825043489016705024</p>