Bye bye, corporate open source, spaced repetition explained as a in cartoon, cyberattacks on healthcare, AI Developer marketing ploy?, and a bunch of lay-offs and obits.
While the Republican-led Congress has used its power to condemn any protests on behalf of Palestinians, where was the same outrage and zealousness when white nationalists came to college campuses?
A modern action adventure road story where a 17-year-old girl named Suzume helps a mysterious young man close doors from the other side that are releasing disasters all over in Japan.
I forked a small demo from Wes Bos and ran in on my own sandbox. It seems much cleaner than using a script tag per each dependency, and works on all major browsers.
In my little demo app, I placed the importmap in the head of the document. Iโm using react as well as my own utils file to test out the functionality.
From there, I imported these libraries in a script module.
<body> <div id="app"></div> <script type="module"> /* eslint-disable */ import { useState } from "react"; import { createRoot } from "react-dom"; import { formatMoney } from "utils"; createRoot(document.querySelector(`#app`)).render(formatMoney(100.2365)); </script></body>
I had a hiccup with [plugin:vite
] as I found countless others have, so I wrote a custom bun server to host this project. Hopefully thereโs a better setup I can find with Vite using importmap in the future.
Luxon datetime library defaults startOf and endOf methods to UTC. But this isnโt great for end users who donโt live in UTC / GMT. To offset this, we need to grab the time zone offset from the userโs system.
While Kelvin talks about the benefits of using Sails, I was thinking about the other โboringโ things that constitute a boring stack. It goes beyond tecnologies, like how to run a business, how to organize your team, and how to market the product. And when those things are boring, they are unsexy and oftentimes neglected.
I wrote a script that updates my daily notes to add properties. Since Iโve been using Obsidian for awhile, properties was introduced much later. Iโll walk through my code.
// Get the current file title, which is in a common date format: YYYY-MM-DDconst currentFileTitle = tp.file.title;// Set folder you want to get latest file for hereconst folder = "Calendar/Personal Reviews/journal and daily review/2022";// Get all files in that folder, including nested foldersconst filesInFolder = app.vault.getMarkdownFiles().filter(file => { return file.path.startsWith(folder);});// Sort files by file namefilesInFolder.sort((a, b) => a.basename < b.basename ? 1 : -1);// Get the index of the current fileconst currentIndex = filesInFolder.findIndex(file => file.basename === currentFileTitle);// Get basename of previous and next TFiles to be used in linklet previousEntry = '';let nextEntry = '';// Wrap it around a try catch block in case there's something wrong with getting these basenamestry { previousEntry = `[[${filesInFolder[currentIndex + 1].basename}]]`} catch (err) { console.error(err);}try { nextEntry = `[[${filesInFolder[currentIndex - 1].basename}]]`} catch (err) { console.error(err);}
Hereโs my template that the templater plugin uses in markdown.
<%*This is where the JS code above is inserted-%>---tags: - logs/daily created: <% currentFileTitle %>previousEntry: - "<% previousEntry %>"nextEntry: - "<% nextEntry %>"---
Iโve had to modify this depending if the file already has properties or not.
I got a chance to play around with Elicit and was reading through Adam Wigginโs
Tweet. I think
I might make a quick web app trying multi-column queries about a particular
topic and allow more of a computational style of conversational chat.
I was getting some errors in my unit test output because I converted my SVGs to React components using SVGR.
As such, I needed to re-configure Jest accordingly.
Create the mock file
export default "svgr-div"; // This is the kebab case that jest is looking forexport const ReactComponent = "div";// @see https://react-svgr.com/docs/jest/ for setup
In practice, you try to eliminate task barriers that require back and forth communication by setting dedicated block of time to meet. An office hour, reminiscent of your professorโs office hours, means you broadcast to your working network you are available in this block of time to chat about open loops.
The problem this solves is eliminating the number of unknowns in your work, whether that be client feedback, questions about a design contract, or ambiguous bug tickets. These tasks become open loops are require external help in order to uncover what tasks you have to do next. It also lowers the communication gap with your work network or team and bridge that gap of understanding. The end goal is it helps with end output and/or goals.
Championed by Cal Newport and highlighted in his book, Slow Productivity.
I have put back together my newsletter after years of absense! These are
primarily updates on my blog, "Craft By Zen", and maybe some highlights to
the new articles I've written. There might be some life updates as well.
I'm doing away with the old format of weekly longform essays, and trying
some new things with my newsletter.