214 karma · joined February 27, 2016
I was not aware the rule against AI-assited text at the time, and will be more careful next time. Nonetheless, I find it unfortunate that we've spend more time talking about AI usage in a comment, than the blog which prompted it.
Could you share more about your NumPy pipeline, or publish the code? I’m particularly curious about how you use the blank film reference and roll-level measurements to handle the orange mask, color balance, and tone curves. Do you use camera/scanner calibration profiles or film-stock-specific adjustments, or estimate everything from the scans themselves?
Also, your screenshot appears to show an OpticFilm 7400. Would you recommend it, and roughly what did you pay? Have you tried camera scanning? I’ve been considering automating film advance and capture on my setup, but consistent color conversion is the part I’m least confident about.
1. I call it the "Table Flip Rule" because naming rules helps with mnemonics:
*The table flip rule: NEVER implement backward compatibility without explicit approval.* I am the only user 99% of the time - this isn't Google. Database migrations? Just change the schema. Breaking API changes? Just make them. No migration scripts, no deprecation warnings, no "what if someone is using the old version?" When in doubt: break it and move forward. (╯°□°)╯︵ ┻━┻
2. Telling it to make more diagrams:
Make extensive use of *ASCII diagrams* for explaining concepts, code flow, and architecture. Include diagrams in proposed plans.
3. The ADHD disclosure. This, coupled with a post-message hook that sends the current time allows it to give me break reminders:
I have ADHD (mainly distraction component) and can lose track of time when hyperfocused. To help:
- Break down complex work into focused steps; use todo lists to track progress. - Suggest a break when we've been stuck on something for over an hour. - After completing something significant, suggest stepping away before the next task. - Log time spent on substantial tasks in the journal for future planning reference.
4. Lastly, a fun one that also serves a positive reinforcement to reduce emoji usage:
You don't use emojis (except for japanese kaomoji).
I find that it is useful as a way to quickly catch up a new session by asking it to read what we did yesterday or earlier that day.
The semantic search layer allows it to search further back in time, or find connections across unrelated notes. I built it because it used to waste a lot of tool calls with grep commands whenever I asked it to find something.
I'm still iterating, but I put together a repo with some of the skills that I find most useful for organization: https://github.com/ravila4/claude-adhd-skills
I also built a cli tool to index embeddings in LanceDB and do semantic search. It helps agents create better internal links between notes. https://github.com/ravila4/obsidian-semantic-search
If you're working on a personal project or trying to learn something new, by all means write the code yourself. That's still the best way to do it. But your life should not necessarily revolve around work, and sometimes there is nothing wrong wih caring more about the end product than the process.
Also, I find the way Marimo uses decorators and functions for defining cells pretty awkward (Although it’s nicely abstracted away in the UI). It looks like normal Python, but the functions don’t behave like real functions, and decorators are a fairly advanced feature that most beginners don’t use.
For me, Quarto notebooks strike a better balance when it comes to generating sharable documents, prototypes, and reports. They’re git-friendly, use simple markup for defining cells, and still keep the clear, linear structure.
However, Marimo might be the best tool for replacing Streamlit apps and “production notebooks” (Although I’d also argue that notebooks should not be in production).
Even something as simple as renaming a variable is often safer and easier when done through the editor’s language server integration.
That said, your comment made me realize I could be using “git apply”more effectively to review LLM-generated changes directly in my repo. It’s actually a neat workflow!