いま巷で話題の NFC で書き換えできる名札サイズの電子ペーパーのプロトコルを調べました。 @alt-coreさんの追加の調査も参考にしています。
- Swift EPaperNFCSwift (@niw)
- Python nfc-eink (@alt-core)
いま巷で話題の NFC で書き換えできる名札サイズの電子ペーパーのプロトコルを調べました。 @alt-coreさんの追加の調査も参考にしています。
| """ | |
| The most atomic way to train and run inference for a GPT in pure, dependency-free Python. | |
| This file is the complete algorithm. | |
| Everything else is just efficiency. | |
| @karpathy | |
| """ | |
| import os # os.path.exists | |
| import math # math.log, math.exp |
These are some notes on the performance work that went into alien-signals. I'm sharing them not as a definitive guide, but as a log of a few key discoveries. The hope is that some of these findings might be useful to others tackling similar problems in high-performance JavaScript.
My journey into the depths of reactivity performance began with Vue. I was trying to solve a specific problem in Vue 3.4: even if a computed's value didn't change, it would still trigger downstream computations and effects. This seemed inefficient. My attempt to fix this resulted in a pull request (vuejs/core#5912) that, after a year of discussions, was eventually merged. This PR introduced the Push-Pull-Push model to Vue 3.4, a model also adopted by libraries like reactivity.
For a time, I thought this was near-perfect. Then I saw the plans for Vue 3.5, which adopted a doubly-linked list but also moved to a pure pull-based model. I was still convinced
Beast Mode is a custom chat mode for VS Code agent that adds an opinionated workflow to the agent, including use of a todo list, extensive internet research capabilities, planning, tool usage instructions and more. Designed to be used with 4.1, although it will work with any model.
Below you will find the Beast Mode prompt in various versions - starting with the most recent - 3.1
| /** | |
| * My Portable RAG | |
| * $ pnpm add sqlite-vec @ai-sdk/google ai | |
| * SQLite Vector Search + Google AI Embeddings | |
| * | |
| * Required environment variables: | |
| * GOOGLE_GENERATIVE_AI_API_KEY=your-api-key | |
| * | |
| * Usage: | |
| * # Index text content |
この資料は以下のイベントの登壇用の殴り書きです
https://hack-at-delta.connpass.com/event/350588/
今までの資料を引用して話すので、この資料はアウトラインです。
| import { McpAgent } from "agents/mcp"; | |
| import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; | |
| import { z } from "zod"; | |
| import { GoogleGenerativeAI } from "@google/generative-ai"; | |
| import { Readability } from '@mozilla/readability'; | |
| import { parseHTML } from 'linkedom'; | |
| type Env = { | |
| MyMCP: DurableObjectNamespace<MyMCP>; | |
| GEMINI_API_KEY: string; |
Raycast has a feature to import/export preferences in a .rayconfig file format. This isn't ideal for use in a dotfiles-esque Git repository since it would be difficult to compare changes with a compressed file. Also, unfortunately, syncing is only possible on a pro subscription and only through Raycast's cloud service.
To get a more useful JSON file from the .rayconfig (example shown in example.rayconfig.json), you will have to first have to export a decrypted version. Go to Settings > Extensions > Raycast > Export Settings & Data and under "Export Password," which by default is 12345678, you will want to delete that.
After that, run the "Export Settings & Data" command. You should be able to export all of the preferences (Settings, Extensions, Floating Notes, Script Directories, Snippets) except Quicklinks without setting a password.
Then, in terminal, run gzip --decompress --keep --suffix .rayconfig NAME_OF_FILE.rayconfig and you should get a JSON file similar to example.rayconfig.json.
After that,