diff --git a/bun.lockb b/bun.lockb index ee88013..7f58294 100644 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/components/title.tsx b/components/title.tsx index 6629473..21ac638 100644 --- a/components/title.tsx +++ b/components/title.tsx @@ -28,7 +28,7 @@ function Title() { let currRoot: SiteSubPages = SiteMap.subpages; let title: string | null = null; if (pagePath !== '/') { - const subPaths = pagePath.split('/'); + const subPaths = pagePath.split('?')[0].split('#')[0].split('/'); for (const p of subPaths.slice(1, subPaths.length)) { splitPath.push({ name: currRoot[p].title, path: p }); diff --git a/notes/browsers.md b/notes/browsers.md index 9f829f4..8c5d987 100644 --- a/notes/browsers.md +++ b/notes/browsers.md @@ -21,7 +21,7 @@ Product/Service-specific Extensions: - [Firefox Source Docs](https://firefox-source-docs.mozilla.org/) ### Reducing UI element padding -- Go to [about:config](about:config) +- Go to the browser's [about\:config](#) page - Set `browser.uidensity` equal to `1` ## Safari diff --git a/notes/lua.md b/notes/lua.md new file mode 100644 index 0000000..092c7ee --- /dev/null +++ b/notes/lua.md @@ -0,0 +1,68 @@ +# Lua Programming Language + +## Lua 5.4 C API + + +## Lua 5.4 Bytecode + +> [!note] +> These are **unstable** and may differ in different versions of the language. +> They are not part of the language specification but an implementation detail, which in this case is the reference implementation. + +> [!note] +> The reference implementation used to have a stack based but now uses a register based VM similar to how modern real computer architectures. + +The instructions are 32 bits wide; every instruction has an opcode that takes up 7 bits, which leaves out 25 bits for the addresses and values. + +The instructions work with three register referred to as: A, B, C; each are of length 8 bits. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
31...2423...161514...76...0
iABCC (8 bits)B (8 bits)k (1 bit)A (8 bits)OP (7 bits)
iABxB (17 bits)A (8 bits)OP (7 bits)
iAsBxsigned B 17 bits)A (8 bits)OP (7 bits)
iAxAx (25 bits)OP (7 bits)
sJsigned jump address (25 bits)OP (7 bits)
+ +```lua +-- arithmetic to calculate the lengths used from https://www.lua.org/source/5.4/lopcodes.h.html +A = 8 +B = 8 +C = 8 +Bx = A + B + 1 -- 17 +Ax = A + Bx -- 25 +sJ = A + Bx -- 25 +``` +This page contains excerpts from Lua's source code which is the copyright of Lua.org, PUC-Rio and is licensed under the MIT License. +[lua.org/license.html](https://www.lua.org/license.html) diff --git a/notes/os.md b/notes/os.md new file mode 100644 index 0000000..3b8b842 --- /dev/null +++ b/notes/os.md @@ -0,0 +1,40 @@ +# Operating Systems +## Windows + +### Package Managers + +- Chocolatey + - requires Administrator permissions +- Winget + - comes with Windows + - (it doesn't work half of the time for me) + +### Mounting ISO, CUE images + +Windows versions 8 and above natively support mounting ISOs. However CUE images are not supported. +WinCDEmu is a lightweight, open-source disc emulator that supports mounting CUE, NRG, IMG, ISO, etc. images. +- [WinCDEmu Website](https://wincdemu.sysprogs.org/) +- [Source (GitHub)](https://github.com/sysprogs/WinCDEmu) +- [Portable Version](https://wincdemu.sysprogs.org/portable/) + +### Master Control Panel / God Mode +(Misnomer; you probably won't use this either) + +Shows a list of all the available settings on Windows in a single view. + +Open it by exceuting the following command or saving it as a shortcut: `explorer.exe shell:::{ED7BA470-8E54-465E-825C-99712043E01C}` + +## MacOS + +### Package Manager + +- [HomeBrew](https://brew.sh) + - package manager everyone uses but it is noticeably slow + +### Video Players + +- IINA + - video player based on mpv with native macOS UI +- mpv + - mpv doesn't have a brew cask for Apple silicon; stolen-mpv exists but it is x86 only + - mpv brew formula is the cli tool which works pretty well but it is not as nice as packaged applications diff --git a/package.json b/package.json index 672afed..fa74c03 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,9 @@ "react-markdown": "^9.0.0", "react-syntax-highlighter": "^15.5.0", "rehype-raw": "^7.0.0", + "remark-directive": "^3.0.0", "remark-gfm": "^4.0.0", + "remark-github-admonitions-to-directives": "^2.0.0", "uri-js": "^4.4.1" }, "devDependencies": { diff --git a/pages/notes/[note].tsx b/pages/notes/[note].tsx index 4144019..9bd9c9c 100644 --- a/pages/notes/[note].tsx +++ b/pages/notes/[note].tsx @@ -1,10 +1,12 @@ -import Layout from '../../components/layout'; import ReactMarkdown from 'react-markdown'; import SyntaxHighlighter from 'react-syntax-highlighter'; import { monokaiSublime as hlTheme } from 'react-syntax-highlighter/dist/cjs/styles/hljs'; import remarkGfm from 'remark-gfm'; import rehypeRaw from 'rehype-raw'; +import remarkDirective from 'remark-directive'; +import remarkGithubAdmonitionsToDirectives from 'remark-github-admonitions-to-directives'; +import Layout from '../../components/layout'; import readMarkdown from '../../lib/read-markdown'; import NotesInfo from '../../public/notes.json'; @@ -19,7 +21,7 @@ interface Notes { function Markdown({ content }: any) { return
{traverseMap(info, path, depth + 1)}
); elements.push(<> - <>
{info.title}
-
{path}
+
paulw.xyz{path}
{children} - ); } return elements; diff --git a/public/notes.json b/public/notes.json index 7b1e287..c8139f9 100644 --- a/public/notes.json +++ b/public/notes.json @@ -1 +1 @@ -{"mos-6502":{"title":"MOS 6502 Microprocessor","mtime":"2023-10-29T18:05:52.439Z"},"zilog-z80":{"title":"Zilog Z80 Microprocessor","mtime":"2023-10-29T18:07:08.579Z"},"steam":{"title":"Steam Client","mtime":"2024-02-13T22:34:17.609Z"},"steam-deck":{"title":"Steam Deck","mtime":"2024-02-13T22:53:51.919Z"},"programming-resources":{"title":"Programming Resources","mtime":"2024-04-20T19:38:33.757Z"},"browsers":{"title":"Web Browsers","mtime":"2024-04-20T19:48:29.981Z"}} \ No newline at end of file +{"mos-6502":{"title":"MOS 6502 Microprocessor","mtime":"2023-10-29T18:05:52.439Z"},"zilog-z80":{"title":"Zilog Z80 Microprocessor","mtime":"2023-10-29T18:07:08.579Z"},"steam":{"title":"Steam Client","mtime":"2024-02-13T22:34:17.609Z"},"steam-deck":{"title":"Steam Deck","mtime":"2024-02-13T22:53:51.919Z"},"programming-resources":{"title":"Programming Resources","mtime":"2024-04-20T19:59:46.944Z"},"os":{"title":"Operating Systems","mtime":"2024-05-10T16:07:32.581Z"},"lua":{"title":"Lua Programming Language","mtime":"2024-09-13T08:45:18.515Z"},"browsers":{"title":"Web Browsers","mtime":"2024-09-13T08:47:57.942Z"}} \ No newline at end of file diff --git a/public/sitemap.json b/public/sitemap.json index 4158c72..8e025c4 100644 --- a/public/sitemap.json +++ b/public/sitemap.json @@ -1 +1 @@ -{"title":"PaulW.XYZ","subpages":{"posts":{"title":"Posts","subpages":{}},"notes":{"title":"Notes","subpages":{"mos-6502":{"title":"MOS 6502 Microprocessor","mtime":"2023-10-29T18:05:52.439Z"},"zilog-z80":{"title":"Zilog Z80 Microprocessor","mtime":"2023-10-29T18:07:08.579Z"},"steam":{"title":"Steam Client","mtime":"2024-02-13T22:34:17.609Z"},"steam-deck":{"title":"Steam Deck","mtime":"2024-02-13T22:53:51.919Z"},"programming-resources":{"title":"Programming Resources","mtime":"2024-04-20T19:38:33.757Z"},"browsers":{"title":"Web Browsers","mtime":"2024-04-20T19:48:29.981Z"}}},"about":{"title":"About"},"sitemap":{"title":"Site Map"}}} \ No newline at end of file +{"title":"PaulW.XYZ","subpages":{"posts":{"title":"Posts","subpages":{}},"notes":{"title":"Notes","subpages":{"mos-6502":{"title":"MOS 6502 Microprocessor","mtime":"2023-10-29T18:05:52.439Z"},"zilog-z80":{"title":"Zilog Z80 Microprocessor","mtime":"2023-10-29T18:07:08.579Z"},"steam":{"title":"Steam Client","mtime":"2024-02-13T22:34:17.609Z"},"steam-deck":{"title":"Steam Deck","mtime":"2024-02-13T22:53:51.919Z"},"programming-resources":{"title":"Programming Resources","mtime":"2024-04-20T19:59:46.944Z"},"os":{"title":"Operating Systems","mtime":"2024-05-10T16:07:32.581Z"},"lua":{"title":"Lua Programming Language","mtime":"2024-09-13T08:45:18.515Z"},"browsers":{"title":"Web Browsers","mtime":"2024-09-13T08:47:57.942Z"}}},"about":{"title":"About"},"sitemap":{"title":"Site Map"}}} \ No newline at end of file