Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Uses Asana as a repository for capturing quotes of various types.
TBD
The Quoticorn account will examine each quote added. He will also re-examine quotes after they change. If a quote is being changed, he will wait some amount of time for you to stop changing it, and which point he'll assume you're done and examine it. If you want him to examine it right away, you can assign the quote to him.
Quotes come in two flavors: "simple" quotes which have only a single speaker, and "multi-speaker" quotes which may have more than one participant. Each project containing quotes interprets all of its quotes as a specific type.
Simple quotes have a simple structure. Here's where each bit of information should go.
Speaker: The full name of the task is used as the name of the speaker.
Content: The full content of the task description is used as the content of the quote, unless it has a date line at the bottom. Quotes are supposed to be short, so pare it down to just the essential part. Newlines and extra whitespace will be collapsed into a single space.
Date: The creation date of the task will be used as the date of the quote,
unless a date line is the last line of the task description. A date line is
always of the form YYYY-MM-DD
to indicate the date, e.g. 2015-02-23
.
With some work the system could be more flexible in interpreting dates but
for now this is the only way it will figure it out correctly.
Name: Nina Tomaro
Description:
If I have to recommend one app that has helped me become more productive
and stay organized it is Asana.
Name: unknown
Description:
Asana rocks my world! Super user friendly, anyone can learn the
platform easily as it's pretty intuitive. Great work!
2015-01-01
Multi-speaker quotes are made up of one or more lines plus a bit of contextual
information. A line consists of two parts: the speaker and the content. Like writing
a screenplay, the format is speaker: content
. It is optional to put quotes
around the content (unless the line appears in the task name, see below).
Tips:
greg: hello!
. Don't separate the speaker and their line with newlines.YYYY-MM-DD
.greg: "[surprised] huh?"
instead of greg [surprised]: "huh?"
.---
so the dashboard will ignore it but it can stay in the task.Sorry for the rules (we'd like to keep this simple!) but please remember a robot has to understand these to put them on the dashboard nicely, and robot unicorns are dumb. Here are some examples you can look at if you're still scratching your head.
Single speaker in notes, dated as of task creation.
Name: phips on aors
Description:
phips: "One night I taught Hannah about AoRs and all of the sudden I
had the laundry AoR and the dirty dishes AoR"
Two speakers in notes, explicitly dated.
Name: sri and bella on v-day
Description:
sri: I am going to be oncall for Valentine's day
bella: Don't break hearts!
2015-01-07
One speaker in name, no context
Name: manoj: "So, horse masks, yea or neigh?"
Description:
(empty)
One speaker in name with date, context in description
Name: 2015-02-12 bella: "In Russian we have a saying: 'Thank you is too much, but three dollars will do just fine.'"
Description:
on whether peer recognition should be monetary
Two speakers in name, no context
Name: Vanessa: "[to stephanie] Do you usually intervene in other people's conversations?" Marcos: "I do."
Description:
(empty)
Quotana interprets a multi-speaker quote the following way:
Lines: Will read them from either the task name or the description, whichever appears to contain them. If the name consist of lines then the description will be interpreted as the context. If the description consists of lines then the name will be ignored and serves just to identify the quote in for Asana users.
Date: The creation date of the task will be used as the date of the quote,
unless the date is included on its own line in the task description OR at the
beginning of the name. A date line is always of the form YYYY-MM-DD
, e.g.
2015-02-23
. With some work the system
could be more flexible in interpreting dates but for now this is the only way
it will figure it out correctly.
Context: Multi-speaker quotes have a context, or explanation of what was going on at the time. For proper display, this is usually written as if completing the sentence "This was said _____". If the quote lines are in the task name, then the description is used as context. Otherwise the context is whatever follows the lines of a quote and doesn't look like a speaker line or date line.
Extra Stuff: Sometimes people like to add extra color to the quote,
maybe a lengthier context or description of something. This can't be
incorporated in a clean display in Quotana, but it can still be included in the
task as long as it follows a line containing multiple dashes (---
). Everything
after that line will be ignored by the system.
Quotana is made up of two parts - a web server and a listener.
The web server presents a nice UI for rotating through quotes which may be stored in various projects.
To run the server:
gulp build-web
PORT=5678 QUOTANA_CONFIG=/path/to/config.json node lib/web/server.js
The listener loads quotes from their projects and listens to changes so it can parse and validate them, ensuring they're in a format that the web server can consume for display.
To run the listener:
QUOTANA_CONFIG=/path/to/config.json gulp lib/listener/listener.js
FAQs
Use Asana as a repository for capturing quotes.
The npm package quotana receives a total of 4 weekly downloads. As such, quotana popularity was classified as not popular.
We found that quotana demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.