The anti-social media stream. Otherwise known as my personal feed. Similar to Linus's stream by Linus Lee.
Curation / The Stream
-
From this ACM paper, On the Dangers of Stochastic Parrots, the hypothesis is maybe these LLMs are parroting back what we already know and aren’t learning. We can probably, maybe, safely say that is no longer the case.
-
From The Progressive: Students Have the Right to Protest Apartheid. My lovely fiancé wrote a piece about the student protests for Palestine.
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?
-
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.
<script type="importmap"> { "imports": { "react-dom": "https://esm.sh/react-dom", "react": "https://esm.sh/react", "utils": "./utils.js" } } </script>Read more about importmap on MDN
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
startOfandendOfmethods 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.const systemTimeZoneOffsetInMinutes = new Date().getTimezoneOffset(); const systemTimeZoneOffsetInHours = systemTimeZoneOffset / 60;Then we can add the offset to the Luxon datetime object.
const now = DateTime.now(); const startOfLocalDay = now.startOf('day').plus({ hours: systemTimeZoneOffsetInHours }); const endOfLocalDay = now.endOf('day').plus({ hours: systemTimeZoneOffsetInHours }); -
I was listening to this podcast: The boring JavaScript stack featuring Kelvin Omereshone (K.O.O) (JS Party #319). My takeaway is I should be using a boring stack to build my business ideas. Leave the shiny new toys for tinkering and use something stable.
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.
Related: Kelsey Hightower’s nocode
The best way to write secure and reliable applications. Write nothing; deploy nowhere.
-
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-DD const currentFileTitle = tp.file.title; // Set folder you want to get latest file for here const folder = "Calendar/Personal Reviews/journal and daily review/2022"; // Get all files in that folder, including nested folders const filesInFolder = app.vault.getMarkdownFiles().filter(file => { return file.path.startsWith(folder); }); // Sort files by file name filesInFolder.sort((a, b) => a.basename < b.basename ? 1 : -1); // Get the index of the current file const currentIndex = filesInFolder.findIndex(file => file.basename === currentFileTitle); // Get basename of previous and next TFiles to be used in link let previousEntry = ''; let nextEntry = ''; // Wrap it around a try catch block in case there's something wrong with getting these basenames try { 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.

Computational style of conversational AI using Elicit -
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 for export const ReactComponent = "div"; // @see https://react-svgr.com/docs/jest/ for setup- Configure jest in
package.json
{ "jest": { "moduleNameMapper": { "\\.svg": "<rootDir>/PATH_TO_FOLDER/svg.js" } } } -
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.
-
In VSCode, open your palette, and type
%, you get a fuzzy search across your files. And you can use navigational keybindings likecmd+uporcmd+down.
Fuzzy search screenshot