# $HOME/.zshrc
# -- Print Bluth ipsum paragraphs. --------------------------------------------
'her?'() {
curl -fsSL https://bluthipsum.com/ \
| perl -0777 -ne 'while (/<p[^>]*>(.*?)<\/p>/gs) { my $t = $1; $t =~ s/<[^>]+>//g; $t =~ s/^\s+|\s+$//g; print "$t\n\n"; }'
}
# zsh would otherwise try to glob `her?` when it is typed unquoted.
alias 'her?'='noglob her?'Stop it, stop it! This objectification of women has got to stop! It's just Mom and whores. Don't worry, these young beauties have been nowhere near the bananas. Speaking of settling, how's Ann?
I know what an erection feels like, Michael. No, it's the opposite. It's like my heart is getting hard. Let's make Ann the backup, okay? Very good way to think about her, as a backup. I hear the jury's still out on science. I didn't mean who… I meant… her? Suddenly playing with yourself is a scholarly pursuit? And I wouldn't just lie there, if that's what you're thinking. That's not what I WAS thinking.
An LLM in code is just a function call over HTTP. There's no magic "spinning up" — you either hit a local daemon or a cloud endpoint, send {model, messages, options}, and get text back. For this spike I'd use Ollama (local): it's the on-prem, llama.cpp-family runtime we identified as the production sharp tool, so what you learn transfers directly; no API key; and it has a JSON mode. If ollama serve is running, you POST http://localhost:11434/api/chat with {"model": "llama3.1" (or any instruct model you've pulled), "messages": [...], "format": "json", "stream": false, "options": {"temperature": 0}}, and the JSON you want is in response ["message"]["content"] (as a string you still have to json.loads). urllib from the stdlib is enough — no new deps.
Three concepts that are the whole skill, each a deliberate choice:
- The system prompt is the component's contract, not chit-chat. You're not conversing; you're defining a function in English. It must state the job ("identify spans likely
| //! Exploration of different strategies for handling optional/missing Neo4j node | |
| //! properties in neo4rs 0.8. | |
| //! | |
| //! The problem: Neo4j nodes seeded at different times may or may not have a | |
| //! given property. In Rust, we model this as `Option<String>`. But neo4rs's | |
| //! `Node::get::<Option<String>>("words")` fails with `NoSuchProperty` when the | |
| //! key is entirely absent from the node — the HashMap lookup fails before the | |
| //! `Option` type parameter ever gets a chance to run. | |
| //! | |
| //! This binary exercises seven different approaches against live Neo4j data, |
You're right to be confused! The lens composition actually does work in the order you expected - colorsLens first, then semanticLens, etc., ending with hoverLens.
The reason it looks backwards is that R.compose reads right-to-left for regular functions, but with lenses it's different:
When you compose lenses with R.compose, they execute in left-to-right order (the order written):
colorsLens- focus ontheme.colorssemanticLens- within that, focus onsemantic
| # hides engage-y modules from the rightmost sidebar | |
| twitter.com##[data-testid="sidebarColumn"] div[aria-label] | |
| twitter.com##[data-testid="sidebarColumn"] div:has(> aside[aria-label]) | |
| x.com##[data-testid="sidebarColumn"] div[aria-label] | |
| x.com##[data-testid="sidebarColumn"] div:has(> aside[aria-label]) | |
| # hides promoted tweets | |
| twitter.com##article :has(svg[d="M20.75 2H3.25C2.007 2 1 3.007 1 4.25v15.5C1 20.993 2.007 22 3.25 22h17.5c1.243 0 2.25-1.007 2.25-2.25V4.25C23 3.007 21.993 2 20.75 2zM17.5 13.504c0 .483-.392.875-.875.875s-.875-.393-.875-.876V9.967l-7.547 7.546c-.17.17-.395.256-.62.256s-.447-.086-.618-.257c-.342-.342-.342-.896 0-1.237l7.547-7.547h-3.54c-.482 0-.874-.393-.874-.876s.392-.875.875-.875h5.65c.483 0 .875.39.875.874v5.65z"]) | |
| x.com##article :has(svg[d="M20.75 2H3.25C2.007 2 1 3.007 1 4.25v15.5C1 20.993 2.007 22 3.25 22h17.5c1.243 0 2.25-1.007 2.25-2.25V4.25C23 3.007 21.993 2 20.75 2zM17.5 13.504c0 .483-.392.875-.875.875s-.875-.393-.875-.876V9.967l-7.547 7.546c-.17.17-.395.256-.62.256s-.447-.086-.6 |
| { | |
| "slug": "punk-hardcore-photos-sunday-matinee", | |
| "byline": [ | |
| { | |
| "names": [ | |
| { | |
| "twitter": "", | |
| "facebook": "", | |
| "name": "Caryn Rose", | |
| "instagram": "", |
| [64290:1024/082914.178063:INFO:CONSOLE(83)] "Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self' https://*.vscode-cdn.net 'nonce-icgVV3j6VgF5uX05ewOoIA==' 'unsafe-hashes' 'sha256-zCS+ubUbQ2s89oA2fBkOFRlQUjbq1DjjsiGY9OlmDMk=' 'sha256-0oUKC05+rMUna2WV/1dh4gYJXRAMAEtVgf+n8LpKnfE='". Either the 'unsafe-inline' keyword, a hash ('sha256-TMLnGHcHuaP1IGfOIlow4y9VuEmkzaBSGhTQHF7CzWM='), or a nonce ('nonce-...') is required to enable inline execution. | |
| ", source: https://file+.vscode-resource.vscode-cdn.net/tmp/code-git-lens-extensions/eamodio.gitlens-13.0.3/dist/webviews/settings.js (83) |
| **/node_modules/** | |
| **/.git/** | |
| **/dist/** |
| import { babel, css } from '@nymag/configs/webpack/loaders/index.js' | |
| import { | |
| client, | |
| development as developmentEnvironment, | |
| } from '@nymag/configs/webpack/environments/index.js' | |
| import { | |
| context, | |
| entrypoints, | |
| resolveExtensions, | |
| resolveModules, |