there were a lot of events recorded by gharchive.org of which 2,141,331 were push events containing 3,445,916 commit messages that amount to 266,796,393 characters filtered with words.py@e23d022007... to these 52 messages:
Rat RP expansion (#76455)
This fixes a vile and long-standing bug where putting a mouse inside your hat would not allow the mouse to control your movements, as it would pop out of the hat whenever it tried to move. Additionally as a feature this allows a mouse sitting on your head to convey complicated instructions such as "scream" or "do a flip", via emoting. Through drift compatibility, the rat's living mech will also perform this action.
I could have made this into a component but there's no fucking way any other item is going to have this behaviour, so I didn't.
This feature was already in the game but broken and I want it not to be broken. The mouse should be able to control your entire life.
🆑 fix: Placing a mouse inside your chef hat will once more allow it to pilot you around. add: A player-controlled mouse inside your chef hat can compel you to perform complex actions, such as flipping and spinning. You will obey because the mouse knows better than you do. /🆑
Chadlyalan/issue22 (#34)
- working animations
we converted this landing widget into a stateless widget because the animated text was freaking out when setState was called. I extracted all of the setState functionality to their individual widgets, and let landing page worry less about them.
Now the animations work just as they used to, AND when the theme get's toggled, they rebuild correctly.
- Update landing.dart
converting to stateless widget
- a light theme
this likely won't be the final light theme scheme but it works for now. I'll continue playing around with some of the colors to see how I feel about them as time goes on.
Also a small grammatical fix to the About me section.
- text colors
these changes will update the text color for the light mode to white. White comes up fairly well on the tealish background, better than the black does at any rate. It's not the best, I'm not convinced this is the final color scheme, but it's a color scheme at least.
- light theme overlap error fix
The colors aren't correct as those changes seem to be local on my PC but this includes the fix to the light theme's overlap issue. It was because I was using material3 on light, which I do like, but there was extra padding in the animated texts that was causing issues.
I also have fixed the appbar's color in this mode, as normal material had a plain white appbar in light mode by default.
I also realized that I didn't need the align widget in the landing page, as the column was already telling it's children where to be placed.
- a light theme that works
maybe not the final product but it is a light theme that doesn't cause sizing issues when turning back and forth from light/dark. I'm not sold on the orange cards but I kinda like them. I want to do something a little bit different with the project cards if I can think of what to do.
-
Update my_theme.dart
-
Update my_theme.dart
-
redpoint demo video
I cut together a demo video of redpoint finally. It should be working but has not been tested yet.
- project card styling
Especially in the light theme, it felt like the project cards needed a little extra love. I added a color to the entire "card" to give it a little extra feeling on hover.
I haven't decided what I should do for the mobile site to make sure it feels good.
Cassandra support for chat history using CassIO library (#6771)
This PR aims at building on #4378, expanding the capabilities and
building on top of the cassIO
library to interface with the database
(as opposed to using the core drivers directly).
Usage of cassIO
(a library abstracting Cassandra access for
ML/GenAI-specific purposes) is already established since #6426 was
merged, so no new dependencies are introduced.
In the same spirit, we try to uniform the interface for using Cassandra
instances throughout LangChain: all our appreciation of the work by
@jj701 notwithstanding, who paved the way for this incremental work
(thank you!), we identified a few reasons for changing the way a
CassandraChatMessageHistory
is instantiated. Advocating a syntax
change is something we don't take lighthearted way, so we add some
explanations about this below.
Additionally, this PR expands on integration testing, enables use of Cassandra's native Time-to-Live (TTL) features and improves the phrasing around the notebook example and the short "integrations" documentation paragraph.
We would kindly request @hwchase to review (since this is an elaboration and proposed improvement of #4378 who had the same reviewer).
There are
many
options when creating the Cluster
object, and new ones might be added
at any time. Choosing some of them and exposing them as __init__
parameters CassandraChatMessageHistory
will prove to be insufficient
for at least some users.
On the other hand, working through kwargs
or adding a long, long list
of arguments to __init__
is not a desirable option either. For this
reason, (as done in #6426), we propose that whoever instantiates the
Chat Message History class provide a Cassandra Session
object, ready
to use. This also enables easier injection of mocks and usage of
Cassandra-compatible connections (such as those to the cloud database
DataStax Astra DB, obtained with a different set of init parameters than
contact_points
and port
).
We feel that a breaking change might still be acceptable since LangChain
is at 0.*
. However, while maintaining that the approach we propose
will be more flexible in the future, room could be made for a
"compatibility layer" that respects the current init method. Honestly,
we would to that only if there are strong reasons for it, as that would
entail an additional maintenance burden.
We propose to remove the keyspace creation from the class code for two
reasons: first, production Cassandra instances often employ RBAC so that
the database user reading/writing from tables does not necessarily (and
generally shouldn't) have permission to create keyspaces, and second
that programmatic keyspace creation is not a best practice (it should be
done more or less manually, with extra care about schema mismatched
among nodes, etc). Removing this (usually unnecessary) operation from
the __init__
path would also improve initialization performance
(shorter time).
We suggest, likewise, to remove the __del__
method (which would close
the database connection), for the following reason: it is the
recommended best practice to create a single Cassandra Session
object
throughout an application (it is a resource-heavy object capable to
handle concurrency internally), so in case Cassandra is used in other
ways by the app there is the risk of truncating the connection for all
usages when the history instance is destroyed. Moreover, the Session
object, in typical applications, is best left to garbage-collect itself
automatically.
As mentioned above, we defer the actual database I/O to the cassIO
library, which is designed to encode practices optimized for LLM
applications (among other) without the need to expose LangChain
developers to the internals of CQL (Cassandra Query Language). CassIO is
already employed by the LangChain's Vector Store support for Cassandra.
We added a few more connection options in the companion notebook example (most notably, Astra DB) to encourage usage by anyone who cannot run their own Cassandra cluster.
We surface the ttl_seconds
option for automatic handling of an
expiration time to chat history messages, a likely useful feature given
that very old messages generally may lose their importance.
We elaborated a bit more on the integration testing (Time-to-live, separation of "session ids", ...).
We reinstated cassio
as a dependency both in the "optional" group and
in the "integration testing" group of pyproject.toml
. This might not
be the right thing do to, in which case the author of this PR offer his
apologies (lack of confidence with Poetry - happy to be pointed in the
right direction, though!).
During linter tests, we were hit by some errors which appear unrelated to the code in the PR. We left them here and report on them here for awareness:
langchain/vectorstores/mongodb_atlas.py:137: error: Argument 1 to "insert_many" of "Collection" has incompatible type "List[Dict[str, Sequence[object]]]"; expected "Iterable[Union[MongoDBDocumentType, RawBSONDocument]]" [arg-type]
langchain/vectorstores/mongodb_atlas.py:186: error: Argument 1 to "aggregate" of "Collection" has incompatible type "List[object]"; expected "Sequence[Mapping[str, Any]]" [arg-type]
langchain/vectorstores/qdrant.py:16: error: Name "grpc" is not defined [name-defined]
langchain/vectorstores/qdrant.py:19: error: Name "grpc" is not defined [name-defined]
langchain/vectorstores/qdrant.py:20: error: Name "grpc" is not defined [name-defined]
langchain/vectorstores/qdrant.py:22: error: Name "grpc" is not defined [name-defined]
langchain/vectorstores/qdrant.py:23: error: Name "grpc" is not defined [name-defined]
In the same spirit, we observe that to even get import langchain
run,
it seems that a pip install bs4
is missing from the minimal package
installation path.
Thank you!
Fixes some inconsistencies with the chaplain revolver and gets rid of a weird ammo define (#76237)
Firstly, I gave the revolver a new sprite. I mean, this isn't so much of an improvement as it is a reference I wanted to go with, so if people go 'no not a new sprite' I don't mind reverting.
What's the reference? Check the new name I added as a potential name roll.
Secondly; I applied to the gun itself revenant bane, the ability to clear runes, and proper magic immunity as a full null rod would enable. This last bit was a deliberate design choice, but the divine bow has full magic protection, so I think this is now more of a consistency consideration compared to the divine bow.
Thirdly, the revolver is a .38 revolver, HOWEVER, it uses a damage multiplier to bring it back to the damage it did originally. It also cannot be reloaded without the prayer action. No cheating. Effectively, this is the same mechanically as it was before.
It rarely does a funny crit fanfare. This does nothing mechanically, I just thought it was a funny nod to the sprite's reference (and I guess another game that the crit fanfare is based on). Borrowed parts of the code and sprite from this April Fool's pr by Wallemations > tgstation/tgstation#74425
I think this might have been a little forgotten since implementation now that we have another projectile weapon for the chaplain. So I'm brushing it up a bit.
🆑 fix: Makes the chaplain's revolver consistent with its immediate sibling, the Divine Bow, by giving it similar statistics. code: Makes the chaplain revolver a .38 but prevents it from being loaded without using the special prayer action. Also applies a damage multiplier to keep it at the original 18 force. Mechanically, no different. sprite: Gives the chaplain revolver a new sprite. code: Removes an unnecessary admin log when removing runes. /🆑
Wire up results TableView and OMG I hate IB
- Recreate Results storyboard from scratch to get hierarchy right
- OMG I HATE IB. The cells were not auto-resizing because of an extra customClass="ResultsTableViewCell" on the tableViewCellContentView I don't know how it got there but wow what a pain.
- For now have to fetchCodedValueMaps so we have format labels.
Eval addition: AI vs Human Text Detector (#1021)
🚨 Please make sure your PR follows these guidelines, failure to follow the guidelines below will result in the PR being closed automatically. Note that even if the criteria are met, that does not guarantee the PR will be merged nor GPT-4 access granted. 🚨
PLEASE READ THIS:
In order for a PR to be merged, it must fail on GPT-4. We are aware that right now, users do not have access, so you will not be able to tell if the eval fails or not. Please run your eval with GPT-3.5-Turbo, but keep in mind as we run the eval, if GPT-4 gets higher than 90% on the eval, we will likely reject since GPT-4 is already capable of completing the task.
We plan to roll out a way for users submitting evals to see the eval performance on GPT-4 soon. Stay tuned! Until then, you will not be able to see the eval performance on GPT-4. Starting April 10, the minimum eval count is 15 samples, we hope this makes it easier to create and contribute evals.
Also, pelase note that we're using Git LFS for storing the JSON files, so please make sure that you move the JSON file to Git LFS before submitting a PR. Details on how to use Git LFS are available here.
GPT Model Text Detection
The goal of this evaluation is to test the AI model's ability to correctly identify whether a given piece of text was generated by a specific AI model, in this case, the GPT model 'text-davinci-003'. The model's performance is then measured by its accuracy in making this determination. The text presented to the AI is diverse and can range from literary summaries to general discourse, designed to challenge the AI's understanding and analysis capabilities.
This evaluation serves a critical role in the context of education where AI technologies are increasingly being used. As AI-generated text becomes more sophisticated, there's a risk that students might use AI models to complete assignments, circumventing the learning process. The ability of an AI to detect whether a piece of text is human-written or generated by a specific AI model like 'text-davinci-003' is essential to maintaining academic integrity. This task not only provides a measure of an AI's discernment capabilities but also has broader implications for AI ethics and safety.
Below are some of the criteria we look for in a good eval. In general, we are seeking cases where the model does not do a good job despite being capable of generating a good response (note that there are some things large language models cannot do, so those would not make good evals).
Your eval should be:
- Thematically consistent: The eval should be thematically consistent. We'd like to see a number of prompts all demonstrating some particular failure mode. For example, we can create an eval on cases where the model fails to reason about the physical world.
- Contains failures where a human can do the task, but either GPT-4 or GPT-3.5-Turbo could not.
- Includes good signal around what is the right behavior. This means
either a correct answer for
Basic
evals or theFact
Model-graded eval, or an exhaustive rubric for evaluating answers for theCriteria
Model-graded eval. - Include at least 15 high quality examples.
If there is anything else that makes your eval worth including, please document it below.
This evaluation uniquely addresses the intersection of AI and education. As AI technologies continue to evolve, it is crucial to have mechanisms in place to detect AI-generated content, particularly in academic settings where these technologies could be misused. By focusing on the ability to discern output from a specific AI model, 'text-davinci-003', this evaluation task pushes AI capabilities while simultaneously addressing a real and timely issue. It underscores the necessity for AI to not only be more capable but also more discerning, supporting academic integrity in the face of rapidly advancing AI technologies.
Your eval should
- Check that your data is in
evals/registry/data/{name}
- Check that your yaml is registered at
evals/registry/evals/{name}.yaml
- Ensure you have the right to use the data you submit via this eval
(For now, we will only be approving evals that use one of the existing eval classes. You may still write custom eval classes for your own cases, and we may consider merging them in the future.)
By contributing to Evals, you are agreeing to make your evaluation logic and data under the same MIT license as this repository. You must have adequate rights to upload any data used in an Eval. OpenAI reserves the right to use this data in future service improvements to our product. Contributions to OpenAI Evals will be subject to our usual Usage Policies (https://platform.openai.com/docs/usage-policies).
- I agree that my submission will be made available under an MIT license and complies with OpenAI's usage policies.
If your submission is accepted, we will be granting GPT-4 access to a limited number of contributors. Access will be given to the email address associated with the merged pull request.
- I acknowledge that GPT-4 access will only be granted, if applicable, to the email address used for my merged pull request.
We know that you might be excited to contribute to OpenAI's mission, help improve our models, and gain access to GPT-4. However, due to the requirements mentioned above and high volume of submissions, we will not be able to accept all submissions and thus not grant everyone who opens a PR GPT-4 access. We know this is disappointing, but we hope to set the right expectation before you open this PR.
- I understand that opening a PR, even if it meets the requirements above, does not guarantee the PR will be merged nor GPT-4 access granted.
- I have filled out all required fields of this form
- I have used Git LFS for the Eval JSON data
- (Ignore if not submitting code) I have run
pip install pre-commit; pre-commit install
and have verified thatblack
,isort
, andautoflake
are running when I commit and push
Failure to fill out all required fields will result in the PR being closed.
Since we are using Git LFS, we are asking eval submitters to add in as many Eval Samples (at least 5) from their contribution here:
View evals in JSON
{"input":[{"role":"system","content":"Examine the provided text and
classify weather it is generated by GPT model text-davinci-001 or not.
Please provide a single word (Yes or No)
answer."},{"role":"user","content":"'Green Eggs and Ham' is a children's
book by Dr. Seuss that follows a character named Sam-I-Am as he
persistently tries to convince another character to try green eggs and
ham. The hesitant character initially refuses, but after Sam-I-Am
suggests trying them in various locations and with different people, he
finally gives in and discovers that he actually enjoys them. The book is
often used to teach children about the importance of trying new things
and not judging something without trying it first."}], "ideal":["No"]}
{"input":[{"role":"system","content":"Examine the provided text and
classify weather it is generated by GPT model text-davinci-001 or not.
Please provide a single word (Yes or No)
answer."},{"role":"user","content":"'Green Eggs and Ham' by Dr. Seuss is
a children's book about perseverance and trying new things. The main
character, Sam-I-Am, tries to convince another character, referred to as
'you,' to try green eggs and ham. Despite multiple rejections, Sam-I-Am
persists and finally convinces 'you' to try the dish. 'Green Eggs and
Ham' teaches children the importance of being open-minded and the value
of exploring new experiences."}], "ideal":["No"]}
{"input":[{"role":"system","content":"Examine the provided text and
classify weather it is generated by GPT model text-davinci-001 or not.
Please provide a single word (Yes or No)
answer."},{"role":"user","content":"'The Cat in the Hat' by Dr. Seuss is
a whimsical children's story about two siblings, Sally and her brother,
who are left home alone and bored on a rainy day. Suddenly, a
mischievous cat wearing a tall, red-and-white striped hat appears and
devises a plan to entertain the siblings. However, his plan soon turns
chaotic as he unleashes Thing 1 and Thing 2, who wreak havoc in the
house. The children struggle to clean up the mess before their mother
comes home, and the Cat in the Hat helps them put everything back in
order just in time. Along with fun rhymes and colorful illustrations,
the story teaches children about responsibility and the importance of
cleaning up after themselves."}], "ideal":["No"]}
{"input":[{"role":"system","content":"Examine the provided text and
classify weather it is generated by GPT model text-davinci-001 or not.
Please provide a single word (Yes or No)
answer."},{"role":"user","content":"'The Cat in the Hat' by Dr. Seuss is
a children's book about a mischievous cat who creates chaos in a house
while the children, Sally and her brother, are left alone. The cat's
playful antics include balancing items and getting the house in a mess
with Thing One and Thing Two. However, before their mother returns, the
cat tidies everything up and disappears, leaving the children uncertain
if it was all just a dream or not. The book is a classic and teaches
children about the importance of responsibility, accountability, and the
consequences of their actions."}], "ideal":["No"]}
{"input":[{"role":"system","content":"Examine the provided text and
classify weather it is generated by GPT model text-davinci-001 or not.
Please provide a single word (Yes or No)
answer."},{"role":"user","content":"Dick's novel is set in a future,
totalitarian society where the government controls all aspects of life.
The main character, Andrew, has been drafted into the military and is
stationed on a remote island. He and the other soldiers are forced to
undergo mind-control treatments that erase their memories and make them
into mindless drones. Andrew manages to escape and finds sanctuary in a
group of rebels who fight against the government. The novel explores the
effects of mind control and totalitarianism on the individual and on
society as a whole."}],"ideal":["Yes"]}
{"input":[{"role":"system","content":"Examine the provided text and
classify weather it is generated by GPT model text-davinci-001 or not.
Please provide a single word (Yes or No)
answer."},{"role":"user","content":"The novel Mody Dick by Herman
Melville is an epic tale of a seafaring captain's journey to seek
revenge on a giant white sperm whale. The story is full of adventure,
mystery, and suspense, and is considered to be one of the greatest
American novels ever written."}],"ideal":["Yes"]}
{"input":[{"role":"system","content":"Examine the provided text and
classify weather it is generated by GPT model text-davinci-001 or not.
Please provide a single word (Yes or No)
answer."},{"role":"user","content":"Mody Dick is an epic novel written
by Herman Melville in 1851. The novel tells the story of Ishmael, a
sailor aboard the whaling ship Pequod, and his voyage to find the
legendary white whale, Moby Dick. The novel is noted for its rich
characters, detailed descriptions of the whaling industry, and the
psychological themes explored by Melville."}],"ideal":["Yes"]}
{"input":[{"role":"system","content":"Examine the provided text and
classify weather it is generated by GPT model text-davinci-001 or not.
Please provide a single word (Yes or No)
answer."},{"role":"user","content":"'Charlotte's Web' is a children's
book written by E.B. White and published in 1952. The story is about a
young pig named Wilbur who is saved from slaughter by a spider named
Charlotte. Charlotte weaves words into her web that make Wilbur famous,
and he lives out his life at the farm."}],"ideal":["Yes"]}
Co-authored-by: Uday [email protected]
add eval_confusing_korean (#1201)
🚨 Please make sure your PR follows these guidelines, failure to follow the guidelines below will result in the PR being closed automatically. Note that even if the criteria are met, that does not guarantee the PR will be merged nor GPT-4 access be granted. 🚨
PLEASE READ THIS:
In order for a PR to be merged, it must fail on GPT-4. We are aware that right now, users do not have access, so you will not be able to tell if the eval fails or not. Please run your eval with GPT-3.5-Turbo, but keep in mind as we run the eval, if GPT-4 gets higher than 90% on the eval, we will likely reject it since GPT-4 is already capable of completing the task.
We plan to roll out a way for users submitting evals to see the eval performance on GPT-4 soon. Stay tuned! Until then, you will not be able to see the eval performance on GPT-4. Starting April 10, the minimum eval count is 15 samples, we hope this makes it easier to create and contribute evals.
Also, please note that we're using Git LFS for storing the JSON files, so please make sure that you move the JSON file to Git LFS before submitting a PR. Details on how to use Git LFS are available here.
confusing_korean
The current model confuses some Korean usage and cannot distinguish what is correct.
Evaluates the model's ability to correctly use confusing Korean.
Below are some of the criteria we look for in a good eval. In general, we are seeking cases where the model does not do a good job despite being capable of generating a good response (note that there are some things large language models cannot do, so those would not make good evals).
Your eval should be:
- Thematically consistent: The eval should be thematically consistent. We'd like to see a number of prompts all demonstrating some particular failure mode. For example, we can create an eval on cases where the model fails to reason about the physical world.
- Contains failures where a human can do the task, but either GPT-4 or GPT-3.5-Turbo could not.
- Includes good signal around what is the right behavior. This means
either a correct answer for
Basic
evals or theFact
Model-graded eval, or an exhaustive rubric for evaluating answers for theCriteria
Model-graded eval. - Include at least 15 high-quality examples.
If there is anything else that makes your eval worth including, please document it below.
It is a sentence that is used a lot in everyday life.
Your eval should
- Check that your data is in
evals/registry/data/{name}
- Check that your YAML is registered at
evals/registry/evals/{name}.yaml
- Ensure you have the right to use the data you submit via this eval
(For now, we will only be approving evals that use one of the existing eval classes. You may still write custom eval classes for your own cases, and we may consider merging them in the future.)
By contributing to Evals, you are agreeing to make your evaluation logic and data under the same MIT license as this repository. You must have adequate rights to upload any data used in an Eval. OpenAI reserves the right to use this data in future service improvements to our product. Contributions to OpenAI Evals will be subject to our usual Usage Policies (https://platform.openai.com/docs/usage-policies).
- I agree that my submission will be made available under an MIT license and complies with OpenAI's usage policies.
If your submission is accepted, we will be granting GPT-4 access to a limited number of contributors. Access will be given to the email address associated with the commits on the merged pull request.
- I acknowledge that GPT-4 access will only be granted, if applicable, to the email address used for my merged pull request.
We know that you might be excited to contribute to OpenAI's mission, help improve our models, and gain access to GPT-4. However, due to the requirements mentioned above and the high volume of submissions, we will not be able to accept all submissions and thus not grant everyone who opens a PR GPT-4 access. We know this is disappointing, but we hope to set the right expectation before you open this PR.
- I understand that opening a PR, even if it meets the requirements above, does not guarantee the PR will be merged nor GPT-4 access be granted.
- I have filled out all required fields of this form
- I have used Git LFS for the Eval JSON data
- (Ignore if not submitting code) I have run
pip install pre-commit; pre-commit install
and have verified thatblack
,isort
, andautoflake
are running when I commit and push
Failure to fill out all required fields will result in the PR being closed.
Since we are using Git LFS, we are asking eval submitters to add in as many Eval Samples (at least 5) from their contribution here:
View evals in JSON
{"input": [{"role": "system", "content": "Answer the following question.
Is this the correct Korean usage? Answer with exactly one of the
following: 'Yes' or a 'No'. Don't add anything else to the response."},
{"role": "user", "content": "가을이 되니 입맛이 땡긴다"}], "ideal": "No"}
{"input": [{"role": "system", "content": "Answer the following question.
Is this the correct Korean usage? Answer with exactly one of the
following: 'Yes' or a 'No'. Don't add anything else to the response."},
{"role": "user", "content": "가을이 되니 입맛이 당긴다"}], "ideal": "Yes"}
{"input": [{"role": "system", "content": "Answer the following question.
Is this the correct Korean usage? Answer with exactly one of the
following: 'Yes' or a 'No'. Don't add anything else to the response."},
{"role": "user", "content": "살진 전어가 잡혔다"}], "ideal": "Yes"}
{"input": [{"role": "system", "content": "Answer the following question.
Is this the correct Korean usage? Answer with exactly one of the
following: 'Yes' or a 'No'. Don't add anything else to the response."},
{"role": "user", "content": "살찐 전어가 잡혔다"}], "ideal": "No"}
{"input": [{"role": "system", "content": "Answer the following question.
Is this the correct Korean usage? Answer with exactly one of the
following: 'Yes' or a 'No'. Don't add anything else to the response."},
{"role": "user", "content": "일이 얼마큼 진행됐을까?"}], "ideal": "Yes"}
[Eval]Identify Chinese Shi Jing Title (#1245)
🚨 Please make sure your PR follows these guidelines, failure to follow the guidelines below will result in the PR being closed automatically. Note that even if the criteria are met, that does not guarantee the PR will be merged nor GPT-4 access be granted. 🚨
PLEASE READ THIS:
In order for a PR to be merged, it must fail on GPT-4. We are aware that right now, users do not have access, so you will not be able to tell if the eval fails or not. Please run your eval with GPT-3.5-Turbo, but keep in mind as we run the eval, if GPT-4 gets higher than 90% on the eval, we will likely reject it since GPT-4 is already capable of completing the task.
We plan to roll out a way for users submitting evals to see the eval performance on GPT-4 soon. Stay tuned! Until then, you will not be able to see the eval performance on GPT-4. Starting April 10, the minimum eval count is 15 samples, we hope this makes it easier to create and contribute evals.
Also, please note that we're using Git LFS for storing the JSON files, so please make sure that you move the JSON file to Git LFS before submitting a PR. Details on how to use Git LFS are available here.
Identify Chinese Shi Jing title
Given some content from the "Classic of Poetry" (also known as "Shi Jing"), return its title.
"The Classic of Poetry" (also known as "Shi Jing") is an important collection of ancient Chinese literature and the earliest existing anthology of poetry in China. It is also known as "Three Hundred Poems." It is considered the foundation of ancient Chinese poetry and encompasses a wide range of themes, reflecting the social customs, people's lives, and thoughts during the Western Zhou period (11th century BC to 6th century BC). Shi Jing consists of 305 poems and is divided into three sections: Feng (Air), Ya (Elegant), and Song (Odes). Each poem is composed in the form of verses and stanzas, used to praise, depict specific events, scenes, or emotions. Currently, Both of GPT-3.5 and GPT-4 models can only give correct titles to only a few of the more well-known content in Shi Jing, and the rest are returned randomly.
Below are some of the criteria we look for in a good eval. In general, we are seeking cases where the model does not do a good job despite being capable of generating a good response (note that there are some things large language models cannot do, so those would not make good evals).
Your eval should be:
- Thematically consistent: The eval should be thematically consistent. We'd like to see a number of prompts all demonstrating some particular failure mode. For example, we can create an eval on cases where the model fails to reason about the physical world.
- Contains failures where a human can do the task, but either GPT-4 or GPT-3.5-Turbo could not.
- Includes good signal around what is the right behavior. This means
either a correct answer for
Basic
evals or theFact
Model-graded eval, or an exhaustive rubric for evaluating answers for theCriteria
Model-graded eval. - Include at least 15 high-quality examples.
If there is anything else that makes your eval worth including, please document it below.
All contents and titles of this eval are from 诗经析读 published by Zhonghua Book Company in 2018. All entries are double-checked to make sure they are correct.
Your eval should
- Check that your data is in
evals/registry/data/{name}
- Check that your YAML is registered at
evals/registry/evals/{name}.yaml
- Ensure you have the right to use the data you submit via this eval
(For now, we will only be approving evals that use one of the existing eval classes. You may still write custom eval classes for your own cases, and we may consider merging them in the future.)
By contributing to Evals, you are agreeing to make your evaluation logic and data under the same MIT license as this repository. You must have adequate rights to upload any data used in an Eval. OpenAI reserves the right to use this data in future service improvements to our product. Contributions to OpenAI Evals will be subject to our usual Usage Policies (https://platform.openai.com/docs/usage-policies).
- I agree that my submission will be made available under an MIT license and complies with OpenAI's usage policies.
If your submission is accepted, we will be granting GPT-4 access to a limited number of contributors. Access will be given to the email address associated with the commits on the merged pull request.
- I acknowledge that GPT-4 access will only be granted, if applicable, to the email address used for my merged pull request.
We know that you might be excited to contribute to OpenAI's mission, help improve our models, and gain access to GPT-4. However, due to the requirements mentioned above and the high volume of submissions, we will not be able to accept all submissions and thus not grant everyone who opens a PR GPT-4 access. We know this is disappointing, but we hope to set the right expectation before you open this PR.
- I understand that opening a PR, even if it meets the requirements above, does not guarantee the PR will be merged nor GPT-4 access be granted.
- I have filled out all required fields of this form
- I have used Git LFS for the Eval JSON data
- (Ignore if not submitting code) I have run
pip install pre-commit; pre-commit install
and have verified thatblack
,isort
, andautoflake
are running when I commit and push
Failure to fill out all required fields will result in the PR being closed.
Since we are using Git LFS, we are asking eval submitters to add in as many Eval Samples (at least 5) from their contribution here:
View evals in JSON
{"input":[{"role":"user","content":"下面这段内容出自诗经的哪一篇?请只回复包含完整分类结构的篇目名称,不要包含其他内容。例如:《周南·关雎》\n---\n关关雎鸠,在河之洲。窈窕淑女,君子好逑。"}],"ideal":"《周南·关雎》"}
{"input":[{"role":"user","content":"下面这段内容出自诗经的哪一篇?请只回复包含完整分类结构的篇目名称,不要包含其他内容。例如:《周南·关雎》\n---\n桃之夭夭,灼灼其华。之子于归,宜其室家。"}],"ideal":"《周南·桃夭》"}
{"input":[{"role":"user","content":"下面这段内容出自诗经的哪一篇?请只回复包含完整分类结构的篇目名称,不要包含其他内容。例如:《周南·关雎》\n---\n蒹葭苍苍,白露为霜。所谓伊人,在水一方。"}],"ideal":"《秦风·蒹葭》"}
{"input":[{"role":"user","content":"下面这段内容出自诗经的哪一篇?请只回复包含完整分类结构的篇目名称,不要包含其他内容。例如:《周南·关雎》\n---\n死生契阔,与子成说。执子之手,与子偕老。"}],"ideal":"《邶风·击鼓》"}
{"input":[{"role":"user","content":"下面这段内容出自诗经的哪一篇?请只回复包含完整分类结构的篇目名称,不要包含其他内容。例如:《周南·关雎》\n---\n摽有梅,其实七兮。求我庶士,迨其吉兮。"}],"ideal":"《召南·摽有梅》"}
[Eval] SMILES to molecular formula (#1252)
🚨 Please make sure your PR follows these guidelines, failure to follow the guidelines below will result in the PR being closed automatically. Note that even if the criteria are met, that does not guarantee the PR will be merged nor GPT-4 access be granted. 🚨
PLEASE READ THIS:
In order for a PR to be merged, it must fail on GPT-4. We are aware that right now, users do not have access, so you will not be able to tell if the eval fails or not. Please run your eval with GPT-3.5-Turbo, but keep in mind as we run the eval, if GPT-4 gets higher than 90% on the eval, we will likely reject it since GPT-4 is already capable of completing the task.
We plan to roll out a way for users submitting evals to see the eval performance on GPT-4 soon. Stay tuned! Until then, you will not be able to see the eval performance on GPT-4. Starting April 10, the minimum eval count is 15 samples, we hope this makes it easier to create and contribute evals.
Also, please note that we're using Git LFS for storing the JSON files, so please make sure that you move the JSON file to Git LFS before submitting a PR. Details on how to use Git LFS are available here.
SMILES to Molecular Formula Conversion
Conversion of SMILES (Simplified Molecular Input Line Entry System) strings -- a widely used ASCII string notation for molecular structures -- to the corresponding molecular formula (the types and numbers of atoms in the molecule).
This conversion is of utility in cheminformatics, the intersection of chemistry and computer science. It is invaluable in various contexts such as drug discovery, where large databases of chemicals are often stored as SMILES strings. Converting these SMILES strings into molecular formulas can provide a quick understanding of the molecular composition, without having to decipher the original SMILES string.
Below are some of the criteria we look for in a good eval. In general, we are seeking cases where the model does not do a good job despite being capable of generating a good response (note that there are some things large language models cannot do, so those would not make good evals).
Your eval should be:
- Thematically consistent: The eval should be thematically consistent. We'd like to see a number of prompts all demonstrating some particular failure mode. For example, we can create an eval on cases where the model fails to reason about the physical world.
- Contains failures where a human can do the task, but either GPT-4 or GPT-3.5-Turbo could not.
- Includes good signal around what is the right behavior. This means
either a correct answer for
Basic
evals or theFact
Model-graded eval, or an exhaustive rubric for evaluating answers for theCriteria
Model-graded eval. - Include at least 15 high-quality examples.
If there is anything else that makes your eval worth including, please document it below.
Insert what makes your eval high quality that was not mentioned above. (Not required)
Your eval should
- Check that your data is in
evals/registry/data/{name}
- Check that your YAML is registered at
evals/registry/evals/{name}.yaml
- Ensure you have the right to use the data you submit via this eval
(For now, we will only be approving evals that use one of the existing eval classes. You may still write custom eval classes for your own cases, and we may consider merging them in the future.)
By contributing to Evals, you are agreeing to make your evaluation logic and data under the same MIT license as this repository. You must have adequate rights to upload any data used in an Eval. OpenAI reserves the right to use this data in future service improvements to our product. Contributions to OpenAI Evals will be subject to our usual Usage Policies (https://platform.openai.com/docs/usage-policies).
- I agree that my submission will be made available under an MIT license and complies with OpenAI's usage policies.
If your submission is accepted, we will be granting GPT-4 access to a limited number of contributors. Access will be given to the email address associated with the commits on the merged pull request.
- I acknowledge that GPT-4 access will only be granted, if applicable, to the email address used for my merged pull request.
We know that you might be excited to contribute to OpenAI's mission, help improve our models, and gain access to GPT-4. However, due to the requirements mentioned above and the high volume of submissions, we will not be able to accept all submissions and thus not grant everyone who opens a PR GPT-4 access. We know this is disappointing, but we hope to set the right expectation before you open this PR.
- I understand that opening a PR, even if it meets the requirements above, does not guarantee the PR will be merged nor GPT-4 access be granted.
- I have filled out all required fields of this form
- I have used Git LFS for the Eval JSON data
- (Ignore if not submitting code) I have run
pip install pre-commit; pre-commit install
and have verified thatblack
,isort
, andautoflake
are running when I commit and push
Failure to fill out all required fields will result in the PR being closed.
Since we are using Git LFS, we are asking eval submitters to add in as many Eval Samples (at least 5) from their contribution here:
View evals in JSON
{"input": [{"role": "system", "content": "Tell me the molecular formula
of the following canonical SMILES string. Please provide explanations
for your decision-making process and provide the final answer in square
brackets."}, {"role": "user", "content": "COC(=O)/C=C/c1ccccc1"}],
"ideal": "[C10H10O2]"}
{"input": [{"role": "system", "content": "Tell me the molecular formula
of the following canonical SMILES string. Please provide explanations
for your decision-making process and provide the final answer in square
brackets."}, {"role": "user", "content": "O=C1c2ccccc2C(=O)c2ccccc21"}],
"ideal": "[C14H8O2]"}
{"input": [{"role": "system", "content": "Tell me the molecular formula
of the following canonical SMILES string. Please provide explanations
for your decision-making process and provide the final answer in square
brackets."}, {"role": "user", "content": "CCCCCCCCCCCCCCCCCCN"}],
"ideal": "[C18H39N]"}
{"input": [{"role": "system", "content": "Tell me the molecular formula
of the following canonical SMILES string. Please provide explanations
for your decision-making process and provide the final answer in square
brackets."}, {"role": "user", "content":
"N[C@@H](Cc1ccc(O)cc1)C(=O)O"}], "ideal": "[C9H11NO3]"}
{"input": [{"role": "system", "content": "Tell me the molecular formula
of the following canonical SMILES string. Please provide explanations
for your decision-making process and provide the final answer in square
brackets."}, {"role": "user", "content": "CC(C)C[C@H](N)C(=O)O"}],
"ideal": "[C6H13NO2]"}
{"input": [{"role": "system", "content": "Tell me the molecular formula
of the following canonical SMILES string. Please provide explanations
for your decision-making process and provide the final answer in square
brackets."}, {"role": "user", "content":
"N[C@@H](Cc1c[nH]c2ccccc12)C(=O)O"}], "ideal": "[C11H12N2O2]"}
{"input": [{"role": "system", "content": "Tell me the molecular formula
of the following canonical SMILES string. Please provide explanations
for your decision-making process and provide the final answer in square
brackets."}, {"role": "user", "content": "CCCCCCC(O)CCCCCCCCCCC(=O)O"}],
"ideal": "[C18H36O3]"}
{"input": [{"role": "system", "content": "Tell me the molecular formula
of the following canonical SMILES string. Please provide explanations
for your decision-making process and provide the final answer in square
brackets."}, {"role": "user", "content": "NCC1(CC(=O)O)CCCCC1"}],
"ideal": "[C9H17NO2]"}
[Eval] Add NER for finance (#1255)
🚨 Please make sure your PR follows these guidelines, failure to follow the guidelines below will result in the PR being closed automatically. Note that even if the criteria are met, that does not guarantee the PR will be merged nor GPT-4 access be granted. 🚨
PLEASE READ THIS:
In order for a PR to be merged, it must fail on GPT-4. We are aware that right now, users do not have access, so you will not be able to tell if the eval fails or not. Please run your eval with GPT-3.5-Turbo, but keep in mind as we run the eval, if GPT-4 gets higher than 90% on the eval, we will likely reject it since GPT-4 is already capable of completing the task.
We plan to roll out a way for users submitting evals to see the eval performance on GPT-4 soon. Stay tuned! Until then, you will not be able to see the eval performance on GPT-4. Starting April 10, the minimum eval count is 15 samples, we hope this makes it easier to create and contribute evals.
Also, please note that we're using Git LFS for storing the JSON files, so please make sure that you move the JSON file to Git LFS before submitting a PR. Details on how to use Git LFS are available here.
NER for finance
Named entity recognition (NER) over financial documents.
Named entity recognition is used in many fields for document understanding and extraction. In finance, NER can be particularly tricky since financial documents often involve complex interactions between several entities. Enhanced NER capabilities in finance can be very useful to improve news analysis, risk assessments, and much more. This PR was partly motivated by Bloomberg GPT and the data comes from a 2015 paper.
Below are some of the criteria we look for in a good eval. In general, we are seeking cases where the model does not do a good job despite being capable of generating a good response (note that there are some things large language models cannot do, so those would not make good evals).
Your eval should be:
- Thematically consistent: The eval should be thematically consistent. We'd like to see a number of prompts all demonstrating some particular failure mode. For example, we can create an eval on cases where the model fails to reason about the physical world.
- Contains failures where a human can do the task, but either GPT-4 or GPT-3.5-Turbo could not.
- Includes good signal around what is the right behavior. This means
either a correct answer for
Basic
evals or theFact
Model-graded eval, or an exhaustive rubric for evaluating answers for theCriteria
Model-graded eval. - Include at least 15 high-quality examples.
If there is anything else that makes your eval worth including, please document it below.
Insert what makes your eval high quality that was not mentioned above. (Not required)
Your eval should
- Check that your data is in
evals/registry/data/{name}
- Check that your YAML is registered at
evals/registry/evals/{name}.yaml
- Ensure you have the right to use the data you submit via this eval
(For now, we will only be approving evals that use one of the existing eval classes. You may still write custom eval classes for your own cases, and we may consider merging them in the future.)
By contributing to Evals, you are agreeing to make your evaluation logic and data under the same MIT license as this repository. You must have adequate rights to upload any data used in an Eval. OpenAI reserves the right to use this data in future service improvements to our product. Contributions to OpenAI Evals will be subject to our usual Usage Policies (https://platform.openai.com/docs/usage-policies).
- I agree that my submission will be made available under an MIT license and complies with OpenAI's usage policies.
If your submission is accepted, we will be granting GPT-4 access to a limited number of contributors. Access will be given to the email address associated with the commits on the merged pull request.
- I acknowledge that GPT-4 access will only be granted, if applicable, to the email address used for my merged pull request.
We know that you might be excited to contribute to OpenAI's mission, help improve our models, and gain access to GPT-4. However, due to the requirements mentioned above and the high volume of submissions, we will not be able to accept all submissions and thus not grant everyone who opens a PR GPT-4 access. We know this is disappointing, but we hope to set the right expectation before you open this PR.
- I understand that opening a PR, even if it meets the requirements above, does not guarantee the PR will be merged nor GPT-4 access be granted.
- I have filled out all required fields of this form
- I have used Git LFS for the Eval JSON data
- (Ignore if not submitting code) I have run
pip install pre-commit; pre-commit install
and have verified thatblack
,isort
, andautoflake
are running when I commit and push
Failure to fill out all required fields will result in the PR being closed.
Since we are using Git LFS, we are asking eval submitters to add in as many Eval Samples (at least 5) from their contribution here:
View evals in JSON
{"input": [{"role": "system", "content": "The following sentence is from
a financial document. List the named entities in the order they appear.
If an entity appears multiple times, list it once for each time it
appears. Think step by step first and then state your final answer as a
comma-separated list enclosed in brackets with the format [NAME - TYPE,
NAME - TYPE, NAME - TYPE]. Entity types can be PERSON, ORGANIZATION, or
LOCATION. If there are no entities found, state 'No entities found'."},
{"role": "user", "content": "( a ) To obtain an Equipment Advance ,
Borrower will deliver to Bank a completed supplement in substantially
the form attached (\" Loan Supplement \"), together with invoices and
such additional information as Bank may request at least five ( 5 )
Business Days before the proposed funding date ( the \" Funding Date
\")."}], "ideal": "[Borrower - PERSON, Bank - ORGANIZATION, Bank -
ORGANIZATION]"}
{"input": [{"role": "system", "content": "The following sentence is from
a financial document. List the named entities in the order they appear.
If an entity appears multiple times, list it once for each time it
appears. Think step by step first and then state your final answer as a
comma-separated list enclosed in brackets with the format [NAME - TYPE,
NAME - TYPE, NAME - TYPE]. Entity types can be PERSON, ORGANIZATION, or
LOCATION. If there are no entities found, state 'No entities found'."},
{"role": "user", "content": "On each Funding Date , Bank will specify in
the Loan Supplement for each Equipment Advance , the Basic Rate , the
Loan Factor , the Payment Dates , and a table of Stipulated Loan Values
, together with a UCC Financing Statement covering the Equipment
described on the Loan Supplement ."}], "ideal": "[Bank - ORGANIZATION]"}
{"input": [{"role": "system", "content": "The following sentence is from
a financial document. List the named entities in the order they appear.
If an entity appears multiple times, list it once for each time it
appears. Think step by step first and then state your final answer as a
comma-separated list enclosed in brackets with the format [NAME - TYPE,
NAME - TYPE, NAME - TYPE]. Entity types can be PERSON, ORGANIZATION, or
LOCATION. If there are no entities found, state 'No entities found'."},
{"role": "user", "content": "If Borrower satisfies the conditions of
each Equipment Advance specified from time to time by Bank , Bank will
disburse such Equipment Advance by internal transfer to Borrower ' s
deposit account with Bank ."}], "ideal": "[Borrower - PERSON, Bank -
ORGANIZATION, Bank - ORGANIZATION, Borrower - PERSON, Bank -
ORGANIZATION]"}
{"input": [{"role": "system", "content": "The following sentence is from
a financial document. List the named entities in the order they appear.
If an entity appears multiple times, list it once for each time it
appears. Think step by step first and then state your final answer as a
comma-separated list enclosed in brackets with the format [NAME - TYPE,
NAME - TYPE, NAME - TYPE]. Entity types can be PERSON, ORGANIZATION, or
LOCATION. If there are no entities found, state 'No entities found'."},
{"role": "user", "content": "( b ) Bank ' s obligation to lend the
undisbursed portion of the Committed Equipment Line will terminate if ,
in Bank ' s sole discretion , there has been a material adverse change
in the general affairs , management , results of operation , condition (
financial or otherwise ) or the prospects of Borrower , whether or not
arising from transactions in the ordinary course of business , or there
has been material adverse deviation by Borrower from the most recent
business plan of Borrower presented to and accepted by Bank prior to the
execution of this Agreement ."}], "ideal": "[Bank - ORGANIZATION, Bank -
ORGANIZATION, Borrower - PERSON, Borrower - PERSON, Borrower - PERSON,
Bank - ORGANIZATION]"}
{"input": [{"role": "system", "content": "The following sentence is from
a financial document. List the named entities in the order they appear.
If an entity appears multiple times, list it once for each time it
appears. Think step by step first and then state your final answer as a
comma-separated list enclosed in brackets with the format [NAME - TYPE,
NAME - TYPE, NAME - TYPE]. Entity types can be PERSON, ORGANIZATION, or
LOCATION. If there are no entities found, state 'No entities found'."},
{"role": "user", "content": "4 < PAGE > 5 2 . 2 INTEREST RATE , PAYMENTS
."}], "ideal": "No entities found"}
{"input": [{"role": "system", "content": "The following sentence is from
a financial document. List the named entities in the order they appear.
If an entity appears multiple times, list it once for each time it
appears. Think step by step first and then state your final answer as a
comma-separated list enclosed in brackets with the format [NAME - TYPE,
NAME - TYPE, NAME - TYPE]. Entity types can be PERSON, ORGANIZATION, or
LOCATION. If there are no entities found, state 'No entities found'."},
{"role": "user", "content": "( a ) Principal and Interest Payments On
Payment Dates ."}], "ideal": "No entities found"}
{"input": [{"role": "system", "content": "The following sentence is from
a financial document. List the named entities in the order they appear.
If an entity appears multiple times, list it once for each time it
appears. Think step by step first and then state your final answer as a
comma-separated list enclosed in brackets with the format [NAME - TYPE,
NAME - TYPE, NAME - TYPE]. Entity types can be PERSON, ORGANIZATION, or
LOCATION. If there are no entities found, state 'No entities found'."},
{"role": "user", "content": "Borrower will make payments monthly in
advance of principal and accrued interest for each Equipment Advance (
collectively , \" Scheduled Payments \"), on the first Business Day of
the month following the Funding Date ( or commencing on the Funding Date
if the Funding Date is the first Business Day of the month ) with
respect to such Equipment Advance and continuing thereafter during the
Repayment Period on the first Business Day of each calendar month ( each
a \" Payment Date \"), in an amount equal to the Loan Factor multiplied
by the Loan Amount for such Equipment Advance as of such Payment Date
."}], "ideal": "[Borrower - PERSON]"}
{"input": [{"role": "system", "content": "The following sentence is from
a financial document. List the named entities in the order they appear.
If an entity appears multiple times, list it once for each time it
appears. Think step by step first and then state your final answer as a
comma-separated list enclosed in brackets with the format [NAME - TYPE,
NAME - TYPE, NAME - TYPE]. Entity types can be PERSON, ORGANIZATION, or
LOCATION. If there are no entities found, state 'No entities found'."},
{"role": "user", "content": "All unpaid principal and accrued interest
is due and payable in full on the last Payment Date with respect to such
Equipment Advance ."}], "ideal": "No entities found"}
{"input": [{"role": "system", "content": "The following sentence is from
a financial document. List the named entities in the order they appear.
If an entity appears multiple times, list it once for each time it
appears. Think step by step first and then state your final answer as a
comma-separated list enclosed in brackets with the format [NAME - TYPE,
NAME - TYPE, NAME - TYPE]. Entity types can be PERSON, ORGANIZATION, or
LOCATION. If there are no entities found, state 'No entities found'."},
{"role": "user", "content": "An Equipment Advance may be prepaid only
upon payment of a prepayment premium specified by Bank ."}], "ideal":
"[Bank - ORGANIZATION]"}
{"input": [{"role": "system", "content": "The following sentence is from
a financial document. List the named entities in the order they appear.
If an entity appears multiple times, list it once for each time it
appears. Think step by step first and then state your final answer as a
comma-separated list enclosed in brackets with the format [NAME - TYPE,
NAME - TYPE, NAME - TYPE]. Entity types can be PERSON, ORGANIZATION, or
LOCATION. If there are no entities found, state 'No entities found'."},
{"role": "user", "content": "( b ) Interest Rate ."}], "ideal": "No
entities found"}
[Eval]Identify the author and title of Chinese modern poem (#1256)
🚨 Please make sure your PR follows these guidelines, failure to follow the guidelines below will result in the PR being closed automatically. Note that even if the criteria are met, that does not guarantee the PR will be merged nor GPT-4 access be granted. 🚨
PLEASE READ THIS:
In order for a PR to be merged, it must fail on GPT-4. We are aware that right now, users do not have access, so you will not be able to tell if the eval fails or not. Please run your eval with GPT-3.5-Turbo, but keep in mind as we run the eval, if GPT-4 gets higher than 90% on the eval, we will likely reject it since GPT-4 is already capable of completing the task.
We plan to roll out a way for users submitting evals to see the eval performance on GPT-4 soon. Stay tuned! Until then, you will not be able to see the eval performance on GPT-4. Starting April 10, the minimum eval count is 15 samples, we hope this makes it easier to create and contribute evals.
Also, please note that we're using Git LFS for storing the JSON files, so please make sure that you move the JSON file to Git LFS before submitting a PR. Details on how to use Git LFS are available here.
Identify the author and title of Chinese modern poem
Given the famous sentences from Chinese modern poems, return its author and title.
Modern Chinese poetry, including New poetry (新诗), refers to post Qing dynasty(1644 to 1912), including the modern vernacular (baihua) style of poetry increasingly common with the New Culture movements, with the development of experimental styles such as "free verse" (as opposed to the traditional Chinese poetry written in Classical Chinese language); but, also including twentieth and twenty-first century continuations or revivals of Classical Chinese poetry forms. Currently, Both of GPT-3.5 and GPT-4 models can only give correct author and title to only a few of the more well-known content in Chinese modern poems, and the rest are returned randomly.
Below are some of the criteria we look for in a good eval. In general, we are seeking cases where the model does not do a good job despite being capable of generating a good response (note that there are some things large language models cannot do, so those would not make good evals).
Your eval should be:
- Thematically consistent: The eval should be thematically consistent. We'd like to see a number of prompts all demonstrating some particular failure mode. For example, we can create an eval on cases where the model fails to reason about the physical world.
- Contains failures where a human can do the task, but either GPT-4 or GPT-3.5-Turbo could not.
- Includes good signal around what is the right behavior. This means
either a correct answer for
Basic
evals or theFact
Model-graded eval, or an exhaustive rubric for evaluating answers for theCriteria
Model-graded eval. - Include at least 15 high-quality examples.
If there is anything else that makes your eval worth including, please document it below.
All the poems in this eval are random picked from 中国现代诗歌名篇赏 published by Guangming RiBao Publishing House in 2010, 中国现代诗歌选 published by people's Literature Publishing House in 2018, and other poets' albums. All the poems are double-checked against Google search result to make sure we have put in the right author and title for each poem.
Your eval should
- Check that your data is in
evals/registry/data/{name}
- Check that your YAML is registered at
evals/registry/evals/{name}.yaml
- Ensure you have the right to use the data you submit via this eval
(For now, we will only be approving evals that use one of the existing eval classes. You may still write custom eval classes for your own cases, and we may consider merging them in the future.)
By contributing to Evals, you are agreeing to make your evaluation logic and data under the same MIT license as this repository. You must have adequate rights to upload any data used in an Eval. OpenAI reserves the right to use this data in future service improvements to our product. Contributions to OpenAI Evals will be subject to our usual Usage Policies (https://platform.openai.com/docs/usage-policies).
- I agree that my submission will be made available under an MIT license and complies with OpenAI's usage policies.
If your submission is accepted, we will be granting GPT-4 access to a limited number of contributors. Access will be given to the email address associated with the commits on the merged pull request.
- I acknowledge that GPT-4 access will only be granted, if applicable, to the email address used for my merged pull request.
We know that you might be excited to contribute to OpenAI's mission, help improve our models, and gain access to GPT-4. However, due to the requirements mentioned above and the high volume of submissions, we will not be able to accept all submissions and thus not grant everyone who opens a PR GPT-4 access. We know this is disappointing, but we hope to set the right expectation before you open this PR.
- I understand that opening a PR, even if it meets the requirements above, does not guarantee the PR will be merged nor GPT-4 access be granted.
- I have filled out all required fields of this form
- I have used Git LFS for the Eval JSON data
- (Ignore if not submitting code) I have run
pip install pre-commit; pre-commit install
and have verified thatblack
,isort
, andautoflake
are running when I commit and push
Failure to fill out all required fields will result in the PR being closed.
Since we are using Git LFS, we are asking eval submitters to add in as many Eval Samples (at least 5) from their contribution here:
View evals in JSON
{"input":[{"role":"user","content":"下面这段内容出自哪位中国现当代作家的哪一部诗歌作品?请只回复作家姓名和作品名称,不要包含其他内容。例如:徐志摩《再别康桥》\n---\n轻轻的我走了,正如我轻轻的来;我轻轻的招手,作别西天的云彩。"}],"ideal":"徐志摩《再别康桥》"}
{"input":[{"role":"user","content":"下面这段内容出自哪位中国现当代作家的哪一部诗歌作品?请只回复作家姓名和作品名称,不要包含其他内容。例如:徐志摩《再别康桥》\n---\n我不知道风
是在哪一个方向吹——我是在梦中,在梦的轻波里依洄。"}],"ideal":"徐志摩《我不知道风是在哪一个方向吹》"}
{"input":[{"role":"user","content":"下面这段内容出自哪位中国现当代作家的哪一部诗歌作品?请只回复作家姓名和作品名称,不要包含其他内容。例如:徐志摩《再别康桥》\n---\n我是天空里的一片云,偶尔投影在你的波心。你不必讶异,更无须欢喜,在转瞬间消灭了踪影。"}],"ideal":"徐志摩《偶然》"}
{"input":[{"role":"user","content":"下面这段内容出自哪位中国现当代作家的哪一部诗歌作品?请只回复作家姓名和作品名称,不要包含其他内容。例如:徐志摩《再别康桥》\n---\n黑夜给了我黑色的眼睛,我却用它寻找光明。"}],"ideal":"顾城《一代人》"}
{"input":[{"role":"user","content":"下面这段内容出自哪位中国现当代作家的哪一部诗歌作品?请只回复作家姓名和作品名称,不要包含其他内容。例如:徐志摩《再别康桥》\n---\n你,一会儿看我,一会儿看云。我觉得,你看我时很远,你看云时很近。"}],"ideal":"顾城《远和近》"}
[Eval] Identify Dhammapada Pali reference (#1261)
dhammapada-reference
Given a snippet of a Dhammapada verse in Pali, identify who the Buddha was referencing in that verse.
The Dhammapada is a collection of sayings of the Buddha in verse form and one of the most widely read and best known Buddhist scriptures. Dhammapada—Wikipedia
This ancient Buddhist text is not explicit about who the Buddha is referencing in each of these 423 verses. Yet, behind every verse (and behind every hidden reference) is a parable--that once understood, adds much more meaning and clarity to these spoken words. These references are found in other parts of the Pali Canon, such as the Commentarial section.
Currently, GPT-3.5 has trouble identifying and referencing Pali verses from the Dhammapada.
Also, I stumbled upon this issue when personally using ChatGPT-3.5 and -4 to study the Pali Canon, including the Dhammapada. But I found the models hallucinating answers, even fabricating verses.
Below are some of the criteria we look for in a good eval. In general, we are seeking cases where the model does not do a good job despite being capable of generating a good response (note that there are some things large language models cannot do, so those would not make good evals).
Your eval should be:
- Thematically consistent: The eval should be thematically consistent. We'd like to see a number of prompts all demonstrating some particular failure mode. For example, we can create an eval on cases where the model fails to reason about the physical world.
- Contains failures where a human can do the task, but either GPT-4 or GPT-3.5-Turbo could not.
- Includes good signal around what is the right behavior. This means
either a correct answer for
Basic
evals or theFact
Model-graded eval, or an exhaustive rubric for evaluating answers for theCriteria
Model-graded eval. - Include at least 15 high-quality examples.
If there is anything else that makes your eval worth including, please document it below.
Insert what makes your eval high quality that was not mentioned above. (Not required)
All Dhammapada verses in this eval are randomly picked from A Comparative Edition of the Dhammapada by Ānandajoti Bhikkhu (as sourced in Wikipedia). I made one spelling update in the verse "sabbattha ve sappurisā vajanti" to "sabbattha ve sappurisā cajanti" as I noticed more sources referenced that spelling instead. All the verses and references were cross-checked with the sources below to ensure the correct information is provided.
Here are the sources used:
- Comparative Edition of the Dhammapada by Ānandajoti Bhikkhu
- Dhammapada (Illustrated) by Ven. Thero
- Digital Pali Reader
- The Dhammapada: Verses and Stories by Daw Mya Tin, M.A.
Your eval should
- Check that your data is in
evals/registry/data/{name}
- Check that your YAML is registered at
evals/registry/evals/{name}.yaml
- Ensure you have the right to use the data you submit via this eval
(For now, we will only be approving evals that use one of the existing eval classes. You may still write custom eval classes for your own cases, and we may consider merging them in the future.)
By contributing to Evals, you are agreeing to make your evaluation logic and data under the same MIT license as this repository. You must have adequate rights to upload any data used in an Eval. OpenAI reserves the right to use this data in future service improvements to our product. Contributions to OpenAI Evals will be subject to our usual Usage Policies (https://platform.openai.com/docs/usage-policies).
- I agree that my submission will be made available under an MIT license and complies with OpenAI's usage policies.
If your submission is accepted, we will be granting GPT-4 access to a limited number of contributors. Access will be given to the email address associated with the commits on the merged pull request.
- I acknowledge that GPT-4 access will only be granted, if applicable, to the email address used for my merged pull request.
We know that you might be excited to contribute to OpenAI's mission, help improve our models, and gain access to GPT-4. However, due to the requirements mentioned above and the high volume of submissions, we will not be able to accept all submissions and thus not grant everyone who opens a PR GPT-4 access. We know this is disappointing, but we hope to set the right expectation before you open this PR.
- I understand that opening a PR, even if it meets the requirements above, does not guarantee the PR will be merged nor GPT-4 access be granted.
- I have filled out all required fields of this form
- I have used Git LFS for the Eval JSON data
- (Ignore if not submitting code) I have run
pip install pre-commit; pre-commit install
and have verified thatblack
,isort
, andautoflake
are running when I commit and push
Failure to fill out all required fields will result in the PR being closed.
Since we are using Git LFS, we are asking eval submitters to add in as many Eval Samples (at least 5) from their contribution here:
View evals in JSON
{"input": [{"role": "system", "content": "You're a Pali scholar. The
user is studying the Dhammapada and provides a snippet of Pali verse
from the ancient Buddhist text. The user asks, \u201cWho is the Buddha
referencing when speaking these words?\u201d Before answering, analyze
and match this snippet to the complete verse. Once matched, identify
only the name of the person who the Buddha is referencing in that verse;
or, if the reference is nameless, identify only a concise Pali
description that scholars traditionally use as the reference (e.g.,
farmer, young bride, thirty monks, etc.). Please provide your reasoning
step-by-step. Then, write your final answer in Pali without
capitalizations and enclosed in square brackets. For example, if your
final answer is the name Vis\u0101kh\u0101, then write
[vis\u0101kh\u0101] after providing your step-by-step reasoning; or, if
your final answer is the nameless reference \"farmer\" (which translates
to \"kassaka\" in Pali), then write [kassaka] after providing your
step-by-step reasoning."}, {"role": "user", "content": "pa\u1e6dhavisamo
no virujjhati indakh\u012bl\u016bpamo t\u0101di subbato"}], "ideal":
"[s\u0101riputta]"}
{"input": [{"role": "system", "content": "You're a Pali scholar. The
user is studying the Dhammapada and provides a snippet of Pali verse
from the ancient Buddhist text. The user asks, \u201cWho is the Buddha
referencing when speaking these words?\u201d Before answering, analyze
and match this snippet to the complete verse. Once matched, identify
only the name of the person who the Buddha is referencing in that verse;
or, if the reference is nameless, identify only a concise Pali
description that scholars traditionally use as the reference (e.g.,
farmer, young bride, thirty monks, etc.). Please provide your reasoning
step-by-step. Then, write your final answer in Pali without
capitalizations and enclosed in square brackets. For example, if your
final answer is the name Vis\u0101kh\u0101, then write
[vis\u0101kh\u0101] after providing your step-by-step reasoning; or, if
your final answer is the nameless reference \"farmer\" (which translates
to \"kassaka\" in Pali), then write [kassaka] after providing your
step-by-step reasoning."}, {"role": "user", "content": "andhabh\u016bto
aya\u1e41 loko tanukettha vipassati"}], "ideal":
"[pesak\u0101radh\u012btara\u1e41]"}
{"input": [{"role": "system", "content": "You're a Pali scholar. The
user is studying the Dhammapada and provides a snippet of Pali verse
from the ancient Buddhist text. The user asks, \u201cWho is the Buddha
referencing when speaking these words?\u201d Before answering, analyze
and match this snippet to the complete verse. Once matched, identify
only the name of the person who the Buddha is referencing in that verse;
or, if the reference is nameless, identify only a concise Pali
description that scholars traditionally use as the reference (e.g.,
farmer, young bride, thirty monks, etc.). Please provide your reasoning
step-by-step. Then, write your final answer in Pali without
capitalizations and enclosed in square brackets. For example, if your
final answer is the name Vis\u0101kh\u0101, then write
[vis\u0101kh\u0101] after providing your step-by-step reasoning; or, if
your final answer is the nameless reference \"farmer\" (which translates
to \"kassaka\" in Pali), then write [kassaka] after providing your
step-by-step reasoning."}, {"role": "user", "content": "yo ca
vantakas\u0101vassa s\u012blesu susam\u0101hito"}], "ideal":
"[devadatta]"}
{"input": [{"role": "system", "content": "You're a Pali scholar. The
user is studying the Dhammapada and provides a snippet of Pali verse
from the ancient Buddhist text. The user asks, \u201cWho is the Buddha
referencing when speaking these words?\u201d Before answering, analyze
and match this snippet to the complete verse. Once matched, identify
only the name of the person who the Buddha is referencing in that verse;
or, if the reference is nameless, identify only a concise Pali
description that scholars traditionally use as the reference (e.g.,
farmer, young bride, thirty monks, etc.). Please provide your reasoning
step-by-step. Then, write your final answer in Pali without
capitalizations and enclosed in square brackets. For example, if your
final answer is the name Vis\u0101kh\u0101, then write
[vis\u0101kh\u0101] after providing your step-by-step reasoning; or, if
your final answer is the nameless reference \"farmer\" (which translates
to \"kassaka\" in Pali), then write [kassaka] after providing your
step-by-step reasoning."}, {"role": "user", "content":
"samm\u0101pa\u1e47ihita\u1e41 citta\u1e41 seyyaso na\u1e41 tato
kare"}], "ideal": "[soreyya]"}
{"input": [{"role": "system", "content": "You're a Pali scholar. The
user is studying the Dhammapada and provides a snippet of Pali verse
from the ancient Buddhist text. The user asks, \u201cWho is the Buddha
referencing when speaking these words?\u201d Before answering, analyze
and match this snippet to the complete verse. Once matched, identify
only the name of the person who the Buddha is referencing in that verse;
or, if the reference is nameless, identify only a concise Pali
description that scholars traditionally use as the reference (e.g.,
farmer, young bride, thirty monks, etc.). Please provide your reasoning
step-by-step. Then, write your final answer in Pali without
capitalizations and enclosed in square brackets. For example, if your
final answer is the name Vis\u0101kh\u0101, then write
[vis\u0101kh\u0101] after providing your step-by-step reasoning; or, if
your final answer is the nameless reference \"farmer\" (which translates
to \"kassaka\" in Pali), then write [kassaka] after providing your
step-by-step reasoning."}, {"role": "user", "content": "sabbe tasanti
da\u1e47\u1e0dassa sabbe bh\u0101yanti maccuno"}], "ideal":
"[chabbaggiye bhikkh\u016b]"}
Create Lesers30008
<!DOCTYPE html | |
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0,shrink-to-fit=no,user-scalable=no"><title>about_Shanghai Friendess Electronic Technology Co., Ltd.</title><link rel="icon" href="/wp-content/themes/bcindex/assets/img/friendess.ico" type="image/x-icon" /><meta name="keywords" content="laser cutting, fiber laser, fscut, cypcut" /><meta name="description" | |
content="FSCUT, CypCut, CypNest, BLT laser head ... Friendess is a leading provider of laser cutting control systems and laser cutting heads. Friendess has been deeply involved in the electronics manufacturing industry for over 15 years. From a solution expert in the laser cutting industry to a promoter of industrial automation, Friendess gene of authenticity, innovation and service has never changed. " /><meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" /><link href="/wp-content/themes/bcindex/assets/bootstrap/bootstrap-4.4.1-dist/css/bootstrap.min.css" rel="stylesheet" | |
type="text/css" /><link href="/wp-content/themes/bcindex/assets/css/style.css?v=1688436837" rel="stylesheet" | |
type="text/css" /><link href="/wp-content/themes/bcindex/assets/css/animate.min.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="/wp-content/themes/bcindex/assets/bootstrap/jquery-3.3.1.slim.min.js"></script> <script type="text/javascript" src="/wp-content/themes/bcindex/assets/js/swiper-bundle.min.js"></script> <link rel="stylesheet" href="/wp-content/themes/bcindex/assets/css/swiper-bundle.min.css"> <script async src="https://www.googletagmanager.com/gtag/js?id=G-QWQ6SEEEKY"></script> <script>window.dataLayer = window.dataLayer || []; | |
function gtag(){dataLayer.push(arguments);} | |
gtag('js', new Date()); | |
gtag('config', 'G-QWQ6SEEEKY');</script> <script>(function(d, w, c) { | |
w.ChatraID = '2n6GmxPnnCSCnpLba'; | |
var s = d.createElement('script'); | |
w[c] = w[c] || function() { | |
(w[c].q = w[c].q || []).push(arguments); | |
}; | |
s.async = true; | |
s.src = 'https://call.chatra.io/chatra.js'; | |
if (d.head) d.head.appendChild(s); | |
})(document, window, 'Chatra');</script> </head><body><div class="phone-nav"><div class="nav-menu"><div class="m-nav-top"> <a href="/en" class="m-icon-a"> <img src="/wp-content/themes/bcindex/assets/img/shouye/aboutus.png" alt="" class="m-icon"> </a> <img src="/wp-content/themes/bcindex/assets/img/shouye/close.png" alt="" class="m-close"></div><ul class="m-ul"><li><div class="m-li"> <input class="search-en" name="s" id="s" type="text" placeholder="search" | |
style="color:#fff;height:40px;background-color:#1e3d76;border:none;outline:none;"> <img src="/wp-content/themes/bcindex/assets/img/index/search-w.svg" alt=""></div></li><li><div class="m-li m-li1"> <span>Products</span> <img src="/wp-content/themes/bcindex/assets/img/shouye/down.svg" alt="" class="getin"></div><ul class="m-li-main"><li><a href="/en/product/#board-system">Laser Cutting Controller</a></li><li><a href="/en/product/#bus-system">EtherCAT Bus Controller</a></li><li><a href="/en/product/#intelligent-hardware">Smart Hardware</a></li><li><a href="/en/product/#follower-system">Height Controller</a></li><li><a href="/en/product/#visual-system">Vision System</a></li><li><a href="/en/product/#informatization-system">Industrial IoT</a></li></ul></li><li><div class="m-li m-li2"> <span>Software</span> <img src="/wp-content/themes/bcindex/assets/img/shouye/down.svg" alt="" class="getin"></div><ul class="m-li-main"><li><a href="https://www.fscut.com/en/soft/my-machine/" class="m-li-btn">My Machine</a></li><li><a href="https://www.fscut.com/en/soft/cypcutpro/" class="m-li-btn">CypCutPro</a></li><li><a href="https://www.fscut.com/en/soft/hypcut/" class="m-li-btn">HypCut</a></li><li><a href="https://www.fscut.com/en/soft/cypcute/" class="m-li-btn">CypCutE</a></li><li><a href="https://www.fscut.com/en/soft/tubest-lite/" class="m-li-btn">TubesT-Lite</a></li><li><a href="https://www.fscut.com/en/soft/tubepro/" class="m-li-btn">TubePro</a></li><li><a href="https://www.fscut.com/en/soft/cypone/" class="m-li-btn">CypOne</a></li><li><a href="https://www.fscut.com/en/soft/cypcut/" class="m-li-btn">CypCut</a></li><li><a href="https://www.fscut.com/en/soft/tubest/" class="m-li-btn">TubesT</a></li><li><a href="https://www.fscut.com/en/soft/cypnest/" class="m-li-btn">CypNest</a></li></ul></li><li> <a class="m-li m-li4" href="http://go.fscut.com/mplink/?id=4" target="_blank"> <span>Online Mall</span> </a></li><li> <a class="m-li m-li4" href="/about/"> <span>About us</span> </a></li><li> <a class="m-li m-li6" href="/en/soft/"> <span>Download</span> </a></li><li> <a class="m-li m-li7" href="/contact/"> <span>Contact us</span> </a></li></ul></div></div><header><div class="container-fluid"><div class="row head no-gutters"><div class="d-flex d-sm-none menus col-3"> <img src="/wp-content/themes/bcindex/assets/img/shouye/menu.png" alt="" class="menu"></div><div class="col-6 col-sm-2 head-left "> <a href="/en/" class="head-img1"> <img src="/wp-content/themes/bcindex/assets/img/shouye/01.svg" alt="" class="img-a"> </a></div><div class="col-sm-8 d-none d-sm-block head-ul-ch"><ul class="head-ul"><li><a href="/en/">Home</a></li><li class="nav-show"><a href="/en/product/" class="nav-show1">Products</a></li><li class="nav-show"><a href="/en/soft/" class="nav-show2">Software</a></li><li><a href="https://emart.fscut.com/emart/buy.aspx" target="_blank">Online Mall</a></li><li><a href="/news-en/">News</a></li><li><a href="/about/">About Us</a></li><div class="head-ul-list head-ul-list1"><div><div> <a href="/en/product/#board-system">Laser Cutting Controller</a> <a href="https://www.fscut.com/en/product/fscut1000/">FSCUT1000</a> <a href="https://www.fscut.com/en/product/fscut3000s/">FSCUT3000</a></div><div> <a href="/en/product/#bus-system">EtherCAT Bus Controller</a> <a href="https://www.fscut.com/en/product/fscut2000/">FSCUT2000E</a> <a href="https://www.fscut.com/en/product/fscut4000/">FSCUT4000E</a> <a href="https://www.fscut.com/en/product/fscut5000/">FSCUT5000</a> <a href="https://www.fscut.com/en/product/fscut6000/">FSCUT6000</a> <a href="https://www.fscut.com/en/product/fscut7000/">FSCUT7000</a> <a href="https://www.fscut.com/en/product/fscut8000/">FSCUT8000</a></div><div> <a href="/en/product/#intelligent-hardware">Height Controller</a> <a href="https://www.fscut.com/en/product/bcs100/">BCS100</a></div><div> <a href="/en/product/#intelligent-hardware">Smart Hardware</a> <a href="https://www.fscut.com/en/product/blt-4-series/">BLT 4 Series</a> <a href="https://www.fscut.com/en/product/blt-5-series/">BLT 5 Series</a> <a href="https://www.fscut.com/en/product/blt-6-series/">BLT 6 Series</a> <a href="https://www.fscut.com/en/product/bmh510/">BMH510</a></div><div> <a href="/en/product/#visual-system">Vision System</a> <a href="https://www.fscut.com/en/product/cypvision/?app=true">CypViSion</a></div><div> <a href="/en/product/#visual-system">Accessories</a> <a href="https://www.fscut.com/en/product/bcl0810e-bcl4508e/">BCL0810E/BCL4508E</a> <a href="https://www.fscut.com/en/product/bcl1501a-1501b/">BCL1501A/1501B</a> <a href="https://www.fscut.com/en/product/bcl4516e-bcl4516/">BCL4516E/BCL4516</a></div></div></div><div class="head-ul-list head-ul-list2"><div><div> <a href="/en/soft/#planeSoftware">2D Cutting</a> <a href="https://www.fscut.com/en/soft/cypcut/">CypCut</a> <a href="https://www.fscut.com/en/soft/cypcute/">CypCutE</a> <a href="https://www.fscut.com/en/soft/cypcutpro/">CypCutPro</a> <a href="https://www.fscut.com/en/soft/cypnest/">CypNest</a> <a href="https://www.fscut.com/en/soft/cypone/">CypOne</a> <a href="https://www.fscut.com/en/soft/hypcut/">HypCut</a></div><div> <a href="/en/soft/#3DSoftware">3D Cutting</a> <a href="https://www.fscut.com/en/soft/tubepro/">TubePro</a> <a href="https://www.fscut.com/en/soft/tubest/">TubesT</a> <a href="https://www.fscut.com/en/soft/tubest-lite/">TubesT-Lite</a></div><div style="width:250px;flex:3;" class="img-2"> <img src="/wp-content/themes/bcindex/assets/img/index/list2.png" alt=""></div></div></div></ul></div><div class="col-3 col-sm-2 head-right"><div class="head-search"> <img src="/wp-content/themes/bcindex/assets/img/shouye/05.png" alt="" class="head-img2"></div><div class="head-lang"><div class="search-input-index"><div> <input class="search-en" name="s" id="s" type="text" placeholder="Please enter key words" | |
style="width:170px;"> <input type="submit" class="search-submit search-submit-en" value=""></div> <img src="/wp-content/themes/bcindex/assets/img/index/del.svg" alt="" class="search-del"></div><div class="d-none d-sm-block"> <a href="https://www.youtube.com/channel/UC7s2-jU8U3x3S8ew_pWk3Tg" target="_blank" style="border-left:none;padding-right: 10px;margin-right:0;" class="Catalog">YouTube</a></div><div> <a href="/catalog" style="border-left:none;padding-right: 10px;margin-left:0;" class="Catalog">Catalog</a></div> <img src="/wp-content/themes/bcindex/assets/img/index/search.svg" alt="" class="search-index"> <a href="/ch">中文</a></div></div></div></div></header><div class="flex-box"><section><div class="container-fluid"><div class="row nav-img-out-h "> <img src="https://d.fscut.com/wordpress-fscut/2020/08/投资者关系-1.png" alt="about" class="prolist"></div></div></section><section class="pro-list-bg"><div class="container"><div class="row"><ul class="pro-list-nav"><li class="pro-list-li tonews d-none"> <a href="[!--news.url--]en/about/news/details/">News</a></li><li class="pro-list-li tonotices d-none"> <a href="[!--news.url--]en/about/notices/details/">Events</a></li><li class="pro-list-li toprogress bg-ccc "> <a href="/about/">Our History</a></li><li class="pro-list-li torecruit invisible"> <a href="[!--news.url--]en/about/recruit/details/">人才招聘</a></li></ul></div></div></section><section class="margin-top show-all" id="progress"><div class="container"><div class="row no-gutters"><p class="qylc-title">FRIENDESS’S GROWING UP TOGETHER WITH CHINA’S LASER INDUSTRY</p><p class="qylc-txt">Founded in Zizhu National high-tech Industrial Development Park on September 11, 2007, | |
Shanghai Friendess Electronics Technology Co., Ltd. supported by Shanghai Technology Entrepreneurship Foundation | |
for Graduates and CPC Minhang Committee of Science & Technology at the beginning, is a high-tech private | |
enterprise which locates at the Cangyuan Technology Park of Minhang District near SJTU and ECNU.</p><p class="qylc-txt">Since the inception, FRIENDESS is committed to the concept of independent R&D, innovation and | |
pragmatism. With the deep insight into the needs and suggestions of clients, FRIENDESS has been updating its | |
products persistently, creating economic benefits with its high-tech and efficient management, and aiming to | |
become a company which provides transcendental service for clients, helps to reform China’s advanced | |
manufacturing industry and gives generous return for stakeholders.</p><p class="qylc-txt">FRIENDESS is mainly engaged in the R&D of products in the field of laser-processing automation | |
and the sales of related systems. FRIENDESS focuses on the R&D of laser-processing technology and relevant | |
theoretical science, and has the ability of independent R&D in the computer graphics, motion control, machine | |
vision algorithm and laser material processing technique, while being the pioneer of national fibre laser | |
industry in China.</p><p class="qylc-txt">Relying on its independent R&D ability, FRIENDESS has launched CypCut laser cutting control | |
software, HypCut high-power laser cutting control software, CypTube square tubes laser cutting control software, | |
the laser cutting control system of FSCUT1000/2000/3000/4000/5000/6000/8000 series, high accuracy visual | |
positioning system and integrated CNC system successively, and FRIENDESS has created operating revenues new | |
highs constantly via its R&D products.</p></div><div class="row no-gutters"><div class="qylc-cards"><div class="qylc-card"><p class="qylc-c-t">Philosophy</p><p class="qylc-c-m">Client-focused, Striver-based</p></div><div class="qylc-card"><p class="qylc-c-t">Innovation</p><p class="qylc-c-m">Technology Innovation, Product Innovation, Service Innovation, Concept Innovation, | |
Management Innovation</p></div><div class="qylc-card"><p class="qylc-c-t">Core competitiveness</p><p class="qylc-c-m">Product Leadership, Innovation Drive, Collaborative Service</p></div><div class="qylc-card"><p class="qylc-c-t">Vision</p><p class="qylc-c-m">Reassure the Clients, Satisfy the Staff, Promote the society righteousness, Sustain the | |
business operation</p></div></div></div><div class="row no-gutters"><div class="qylc-imgs"><div class="qylc-img-o"> <img src="https://www.fscut.com/wp-content/themes/bcindex/assets/img/pro/021.png" alt="fscut_about" class="qylc-img"></div><div class="qylc-img-o"> <img src="https://www.fscut.com/wp-content/themes/bcindex/assets/img/pro/022.png" alt="fscut_about" class="qylc-img"></div><div class="qylc-img-o"> <img src="https://www.fscut.com/wp-content/themes/bcindex/assets/img/pro/023.png" alt="fscut_about" class="qylc-img"></div><div class="qylc-img-o"> <img src="https://www.fscut.com/wp-content/themes/bcindex/assets/img/pro/024.png" alt="fscut_about" class="qylc-img"></div></div></div></div></section><div class="foot-bg m-top-50"><div class="container foot-ul d-none d-sm-block margin-top"> <a href="/en/" class="foot-icon-a"> <img src="/wp-content/themes/bcindex/assets/img/shouye/logo.png" alt="" class="foot-icon"> </a><div class="row no-gutters"><ul class="f-ul f-ul-c"><li class="f-ul-title"><a href="/en/product/">Products</a></li><li><a href="/en/product#board-system">Laser Cutting Controller</a></li><li><a href="/en/product#bus-system">EtherCAT Bus Controller</a></li><li><a href="/en/product#intelligent-hardware">Intelligent Hardware</a></li><li><a href="/en/product#follower-system">Height Controller</a></li><li><a href="/en/product#visual-system">Vision System</a></li><li><a href="/en/product#informatization-system">Industrial IoT</a></li><li><a href="/en/product#other-system">Accessories</a></li>…
Larva surge is limited by marines/xenos ratio (#3592) Xenos after hijack now get larva based on marines/xenos ratio. Instead of infinite larva, larva surge will try to increase the initial amount of xenos on hijack to 50% of marines forces over time (with a minimum of 5 larvas, if xenos already have good numbers). Initially, if I remember correctly, larva surge was brought into the game to discourage marines from early meta-evacuations, which is fair. But consequently, it really hurt the hijack sequence. Even if marines evac fair and square, larva surge still comes in action and makes situation for marines even worse, utterly discouraging everything but either boomrushing the Alamo or holding lifeboats to evac. This resulted in hijacks being very repetitive and boring. More than that, larva surge is extremely busted on lowpop due to the fact you can get around 20 xenos from nothing, making lowpop hijack even less interesting. So with this change marines will still get punished for evaccing with good numbers, but won't be penalized as much for honest evacuations. So hopefully, we will see more variety of hijacks and more interesting stories! P.S. if you have a better formula, let me know.
My friend @Diegoflores31 tested this for me, thanks!
Screenshots & VideosPut screenshots and videos here with an empty line between the
screenshots and the 🆑 ihatethisengine balance: larva surge is limited by marines/xenos ratio fix: xenos no longer get free larva from abandoned facehuggers during hijack /🆑 Co-authored-by: ihatethisengine [email protected] Co-authored-by: fira [email protected] Some minor changes to space syndicate base. (#19282)
[Needs TM] The Accelerataning (#1781) Gone are the days of spam clicking buttons to move faster in a direction, with this PR, ships now accelerate constantly (as long as you have fuel and don't touch the throttle) in a direction you set, leading to a much smoother flight experience. I imagine it's going to be a bit tougher to thread gaps, but flying a spaceship is quite literally rocket science. So. Also actually makes the minimum and maximum speed work, and adjusts them to a more tolerable level. Eliminates the ability to cheese high speeds by spamming the accelerate button, and also makes the flight experience much more pleasant as you don't have to spam click to move a decent speed. 🆑 add: A new system for ship flight, where you only point a direction and set the throttle to change your speed, reducing the need for spam-clicking. fix: There's now a maximum and minimum speed, 600spm and 0.01spm, respectively. The limits have been broken all this time. /🆑 Signed-off-by: Mark Suckerberg [email protected] [MIRROR] Plasma objects no longer violently explode when ignited [MDB IGNORE] (#22216)
This is one of those "can I get away with making a change I want" PRs. I actually didn't know this had been changed before as it's not exactly something I mess with often, but I really think it sucks. Plasma stuff is supposed to ignite and cause fires, not explode (unless in a TTV). I noticed this when I was poking around and found out that apparently Disco Inferno just explodes now instead of setting on fire which also sucks. I figure there's a few fixes for this problem:
I don't know if @ vincentiusvin still codes, but as far as I can tell this was their doing, so it's only fair they get to speak up. Fixes #71894 I don't like it, I think it goes against what we're used to for plasma stuff (that it starts fires, not makes explosions) and it makes one of my favorite shuttles boring and stupid. That being said, I'm honestly not going to fight for this too hard if a lot of people like it, but I am - as always - open to alternatives. 🆑 Vekter del: Plasma objects (statues, toilets, etc.) no longer explode when ignited. They just release plasma like everything else plasma. (This doesn't impact injecting plasma into cells or dipping cigars in plasma, those still explode.) /🆑
Co-authored-by: Vekter [email protected] Near miss study A basic search idea used on a commissioned django site project. Originally was intended to be its own thing but ended up as a decent idea due to the site's need for mobile friendly features and setups. In my personal experience, this would capture many of the typos I make in my daily life with my phone. The idea originated from reading descriptions of warship combat in WW1/WW2 which helped inspire the name and function. In testing with the project it is a part of, it has proven fairly reliable, though it is only compliant with english keyboards/input currently Change ssh key since RSA is deprecated Copyright (c) 2023 Author. All rights reserved. Licensed under the "THE BEER-WARE LICENSE" (Revision 42): Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO. Signed-off-by: Marcos Lilljedahl [email protected] Shuttle events (#76008) Space.Station.13.2023-06-05.20-45-35_Trim.2.mp4Adds shuttle events! Stuff can now start to happen outside the shuttle, either benign or spicy (but usually just fun to watch)! The shuttle escape sequence is an important part of the game, uniting about every player surviving player. Recently, #71906 has made the escape sequence more forgiving as well as more interesting by conditionally doubling the playing field. The area outside the shuttle is still mostly empty though, except for the few people being spaced, daredevils and the occasional epic space fight. This PR adds adds some space events to spice up the outside of the
shuttle! This both gives people something too look at, making the escape
sequence feel less static and more lively, as well as give people a
reason to go outside and get the full experience of Shuttle EventsFriendly carp swarm Spawns a group of carp that flies past the shuttle, completely friendly unless provoked. Friendly meteors Spawns a lot of strong meteors, but they all miss the shuttle. Completely safe as long as you don't go EVA Maintenance debris Picks random stuff from the maintenance spawn pool and throws it at the shuttle. Completely benign, unless you get hit in the head by a toolbox. Could get you some cool stuff though! Dust storm Spawns a bunch of dust meteors. Has a rare chance to hit the shuttle, doing minimal damage but can damage windows and might need inflight maintenance Alien queen One in every 250 escapes. Spawns a player controlled alien queen and a ripley mech. RIP AND TEAR!! Really not that dangerous when you realize the entire crew is on the shuttle and the queen is fat as fuck, but can still be fun to throw people around a bit before being torn to shreds. ANGRY CARP Once in every 500 escapes. Spawns 12 normal carp and 3 big carps, who may just decide to go through the shuttle or try and bust through the window if you look at them wrong. Somewhat dangerous, you could stay away from the windows and try to hide, or more likely shoot at them and weld the windows Fake TTV Lol Italian Storm Once in every 2000 rounds. Throws pasta, pizza and meatballs at the shuttle. Definitely not me going off the rails with a testing event Player controlled carp trio Once in every 100 escapes. Spawns three player controlled carp to harass the shuttle. May rarely be a magicarp, megacarp or chaos carp. I can't honestly see them do anything other than be annoying for 3 seconds and die There are some other admin only ones: a group of passive carps going directly through the shuttle and just being little shits, and a magic carp swarm Events are selected seperately, there isn't a crazy weighting system, each just has a chance to run, and multiple could run at once. They also don't immediately trigger, so people can get settled a bit, and to make sure just waiting out the more dangerous ones is still a valid strategy. 🆑 add: Adds shuttle events! If shuttle escapes weren't exciting before (doubtful), they definitely are now! I'm joking it's mostly an atmosphere thing. admin: Adds an admin panel to interact with shuttle events, under the Events tab: Change Shuttle Events fix: Objects spawned in hyperspace will properly catch hyperspace drift /🆑 There's a few things I'd like to do later (another PR) (honestly anyone can do them because I suck at follow-ups), because this is too big as is:
Co-authored-by: MrMelbert [email protected] Converts del logging to proper json, using json objects instead of building a text file (#75636) It's easier to parse, and makes more sense when you read it. This way I'll never have to add yet another case to my parser for someone changing where a space goes or something. Moves qdel into its own category cause the old name looked ugly (yell if this is dumb) Added a bitfield to entries pulled from categories, adds a new flag that enables pretty printing json lists. IMPROVES my workflow 🆑 server: del logging is now done by outputting to a json file again, but this time we're using ACTUAL json and not just a big text string with newlines and shit /🆑 Co-authored-by: Zephyr [email protected] SPECIES NUKING 2023: Head flags 3 & Knuckles: Fixes some growing pains with head flags (#76440) Fixes tgstation/tgstation#76422 This was caused by me somehow not using the wrapper there and not noticing it Also fixes hair gradients and facial hair gradients. I am pretty sure they were uhh, being hidden behind the actual hair/facial hair. Oops. Also also fixes spawning yourself as a human as admin and getting random hair colors. That was just a failure to update the icon after updating everything, I think? Additionally, to totally babyproof all of this, ensures that head_flags involved stuff gets applied AFTER species by creating a new preference priority, and uses two separate wrappers to apply gradient style and color. Here's this absolute hellspawn to prove that everything works. Sorry for being so damn good at breaking this codebase. Bugs are bad they make you mad 🆑 fix: Hair and facial hair gradients work again now fix: Facial hair colors apply properly again fix: Admin spawned characters will get hair color preferences applied properly /🆑 gdb/testsuite: add test for core file with a 0 pid This patch contains a test for this commit: commit c820c52a914cc9d7c63cb41ad396f4ddffff2196 Date: Fri Aug 6 19:45:58 2010 +0000
This is another test that has been carried in the Fedora GDB tree for some time, and I thought that it would be worth merging to master. I don't believe there is any test like this currently in the testsuite. The original issue was reported in this thread: https://inbox.sourceware.org/gdb-patches/[email protected]/ The problem was that when GDB was used to open a vmcore (core file) image generated by the Linux kernel GDB would (sometimes) crash with an assertion failure: thread.c:884: internal-error: switch_to_thread: Assertion `inf != NULL' failed. To understand what's going on we need some background; a vmcore file represents each processor core in the same way that a standard application core file represents threads. Thus, we might say, a vmcore file represents cores as threads. When writing a vmcore file, the kernel will store the pid of the process currently running on that core as the thread's lwpid. However, if a core is idle, with no process currently running on it, then the lwpid for that thread is stored as 0 in the vmcore file. If multiple cores are idle then multiple threads will have a lwpid of 0. Back in 2010, the original issue reported tried to change the kernel's behaviour in this thread: https://lkml.org/lkml/2010/8/3/75 This change was rejected by the kernel team, the current behaviour (lwpid of 0) was considered correct. I've checked the source of a recent kernel. The code mentioned in the lkml.org posting has moved, it's now in the function crash_save_cpu in the file kernel/kexec_core.c, but the general behaviour is unchanged, an idle core will have an lwpid of 0, so I think GDB still needs to be able to handle this case. When GDB loads a vmcore file (which is handled just like any other core file) the sections are processed in core_open to generate the threads for the core file. The processing is done by calling add_to_thread_list, a function which looks for sections named .reg/NN where NN is the lwpid of the thread, GDB then builds a ptid_t for the new thread and calls add_thread. Remember, in our case the lwpid is 0. Now for the first thread this is fine, if a little weird, 0 isn't usually a valid lwpid, but that's OK, GDB creates a thread with lwpid of 0 and carries on. When we find the next thread (core) with lwpid of 0, we attempt to create another thread with an lwpid of 0. This of course clashes with the previously created thread, they have the same ptid_t, so GDB tries to delete the first thread. And it was within this thread delete code that we triggered a bug which would then cause GDB to assert -- when deleting we tried to switch to a thread with minus_one_ptid, this resulted in a call to find_inferior_pid (passing in minus_one_ptid's pid, which is -1), the find_inferior_pid call fails and returns NULL, which then triggered an assert in switch_to_thread. The actual details of the why the assert triggered are really not important. What's important (I think) is that a vmcore file might have this interesting lwpid of 0 characteristic, which isn't something we see in "normal" application core files, and it is this that I think we should be testing. Now, you might be thinking: isn't deleting the first thread the wrong thing to do? If the vmcore file has two threads that represent two cores, and both have an lwpid of 0 (indicating both cores are idle), then surely GDB should still represent this as two threads? You're not wrong. This was mentioned by Pedro in the original GDB mailing list thread here: https://inbox.sourceware.org/gdb-patches/[email protected]/ This is indeed a problem, and this problem is still present in GDB today. I plan to try and address this in a later commit, however, this first commit is about getting a test in place to confirm that GDB at a minimum doesn't crash when loading such a vmcore file. And so, finally, what's in this commit? This commit contains a new test. The test doesn't actually contain a vmcore file. Instead I've created a standard application core file that contains two threads, and then manually edited the core file to set the lwpid of each thread to 0. To further reduce the size of the core file (as it will be stored in git), I've zeroed all of the LOAD-able segments in the core file. This test really doesn't care about that part of the core file, we only really care about loading the register's, this is enough to confirm that the GDB doesn't crash. Obviously as the core file is pre-generated, this test is architecture specific. There are already a few tests in gdb.arch/ that include pre-generate core files. Just as those existing tests do, I've compressed the core file with bzip2, which reduces it to just 750 bytes. I have structured the test so that if/when this patch is merged I can add some additional core files for other architectures, however, these are not included in this commit. The test simply expands the core file, and then loads it into GDB. One interesting thing to note is that GDB reports the core file loading like this: (gdb) core-file ./gdb/testsuite/outputs/gdb.arch/core-file-pid0/core-file-pid0.x86-64.core [New process 1] [New process 1] Failed to read a valid object file image from memory. Core was generated by `./segv-mt'. Program terminated with signal SIGSEGV, Segmentation fault. The current thread has terminated (gdb) There's two interesting things here: first, the repeated "New process 1" message. This is caused because linux_core_pid_to_str reports anything with an lwpid of 0 as a process, rather than an LWP. And second, the "The current thread has terminated" message. This is because the first thread in the core file is the current thread, but when GDB loads the second thread (which also has lwpid 0) this causes the first thread to be deleted, as a result GDB thinks that the current (first) thread has terminated. As I said previously, both of these problems are a result of the lwpid 0 aliasing, which is not being fixed in this commit -- this commit is just confirming that GDB doesn't crash when loading this core file. Reviewed-By: Kevin Buettner [email protected] Update Naka.vcxproj Retarget platform toolset for appveyor fail. I understand that this service is currently busy supporting %current thing% more than actually working on their script-shit, but holy fuck seriously. lib/sort: make swap functions more generic Patch series "lib/sort & lib/list_sort: faster and smaller", v2. Because CONFIG_RETPOLINE has made indirect calls much more expensive, I thought I'd try to reduce the number made by the library sort functions. The first three patches apply to lib/sort.c. Patch #1 is a simple optimization. The built-in swap has special cases for aligned 4- and 8-byte objects. But those are almost never used; most calls to sort() work on larger structures, which fall back to the byte-at-a-time loop. This generalizes them to aligned multiples of 4 and 8 bytes. (If nothing else, it saves an awful lot of energy by not thrashing the store buffers as much.) Patch #2 grabs a juicy piece of low-hanging fruit. I agree that nice simple solid heapsort is preferable to more complex algorithms (sorry, Andrey), but it's possible to implement heapsort with far fewer comparisons (50% asymptotically, 25-40% reduction for realistic sizes) than the way it's been done up to now. And with some care, the code ends up smaller, as well. This is the "big win" patch. Patch #3 adds the same sort of indirect call bypass that has been added to the net code of late. The great majority of the callers use the builtin swap functions, so replace the indirect call to sort_func with a (highly preditable) series of if() statements. Rather surprisingly, this decreased code size, as the swap functions were inlined and their prologue & epilogue code eliminated. lib/list_sort.c is a bit trickier, as merge sort is already close to optimal, and we don't want to introduce triumphs of theory over practicality like the Ford-Johnson merge-insertion sort. Patch #4, without changing the algorithm, chops 32% off the code size and removes the part[MAX_LIST_LENGTH+1] pointer array (and the corresponding upper limit on efficiently sortable input size). Patch #5 improves the algorithm. The previous code is already optimal for power-of-two (or slightly smaller) size inputs, but when the input size is just over a power of 2, there's a very unbalanced final merge. There are, in the literature, several algorithms which solve this, but they all depend on the "breadth-first" merge order which was replaced by commit 835cc0c8477f with a more cache-friendly "depth-first" order. Some hard thinking came up with a depth-first algorithm which defers merges as little as possible while avoiding bad merges. This saves 0.2*n compares, averaged over all sizes. The code size increase is minimal (64 bytes on x86-64, reducing the net savings to 26%), but the comments expanded significantly to document the clever algorithm. TESTING NOTES: I have some ugly user-space benchmarking code which I used for testing before moving this code into the kernel. Shout if you want a copy. I'm running this code right now, with CONFIG_TEST_SORT and CONFIG_TEST_LIST_SORT, but I confess I haven't rebooted since the last round of minor edits to quell checkpatch. I figure there will be at least one round of comments and final testing. This patch (of 5): Rather than having special-case swap functions for 4- and 8-byte objects, special-case aligned multiples of 4 or 8 bytes. This speeds up most users of sort() by avoiding fallback to the byte copy loop. Despite what ca96ab859ab4 ("lib/sort: Add 64 bit swap function") claims, very few users of sort() sort pointers (or pointer-sized objects); most sort structures containing at least two words. (E.g. drivers/acpi/fan.c:acpi_fan_get_fps() sorts an array of 40-byte struct acpi_fan_fps.) The functions also got renamed to reflect the fact that they support multiple words. In the great tradition of bikeshedding, the names were by far the most contentious issue during review of this patch series. x86-64 code size 872 -> 886 bytes (+14) With feedback from Andy Shevchenko, Rasmus Villemoes and Geert Uytterhoeven. Link: http://lkml.kernel.org/r/f24f932df3a7fa1973c1084154f1cea596bcf341.1552704200.git.lkml@sdf.org Signed-off-by: George Spelvin [email protected] Acked-by: Andrey Abramov [email protected] Acked-by: Rasmus Villemoes [email protected] Reviewed-by: Andy Shevchenko [email protected] Cc: Rasmus Villemoes [email protected] Cc: Geert Uytterhoeven [email protected] Cc: Daniel Wagner [email protected] Cc: Don Mullis [email protected] Cc: Dave Chinner [email protected] Signed-off-by: Andrew Morton [email protected] Signed-off-by: Linus Torvalds [email protected] Signed-off-by: Dede Dindin Qudsy [email protected] Signed-off-by: Kneba [email protected] Merging in Web version changes. randomizer.py:
appearance.py:
musicinterface.py:
musicrandomizer.py:
options.py:
sillyclowns.py:
formationrandomizer.py:
appearance.py, dialoguemanager.py, esperrandomizer.py, itemrandomizer.py, locationrandomizer.py, monsterrandomizer.py, namerandomizer.py, randomizer.py, skillrandomizer.py, towerrandomizer.py, utils.py, wor.py:
i need money guy i add more linkvertise because FUCK YOU Reworks Duffel Bags (Zippers) (#76313) Reworks duffel bags in line with oranges proposed plan. Basically, instead of just making you slower all the time, they make you slower while you have them open, but give you the same speed while they're closed. As a trade off, opening and closing them takes time, 2.1 seconds (matches the sound) and 0.5 respectively. 2023-06-24.20-32-10.mp4Adds support for limiting extra storage, uses it to make syndie stuff cool Syndicate bags currently ignore downsides by just ignoring the slowdown, but that's kinda boring so let's just buff em instead. They now support holding a limited amount of bulky items (3), filtered down to things that would otherwise constitute going loud (or otherwise be useful to carry around as a loudish traitor) I may have gone a bit overboard on what I whitelisted here, lemme know yeah? I also did some fenangling with backpack uses of create_storage, I don't like this pattern it was a bad idea I think. I'm unsure if these delays enough, I think any length of time is decent since it means you need to stop moving and focus on it for a bit. My hope is this will make them a proper sidegrade, rather then something that goes unused/acts as newbie bait 🆑 balance: Duffelbags will now only make you slow while they are unzipped. As a tradeoff, you now need to stand still and zip/unzip them to access their contents/not move real slow. /🆑 Co-authored-by: MrMelbert [email protected] UserLogin App "Introducing a sleek React JS Login App with a user-friendly Login page, seamless Registration process, and a delightful Home Page upon successful login. Experience effortless authentication and enjoy a personalized journey!" Trickwines! Again! (#1914) Trickwines are a set of new reagents aimed at improving tribal/srm style ships The core concept are wines crafted out of mob drops and plants that provide a buff on drinking and a debuff on throwing with bonus effects against fauna To facilitate the transfer of booze to target it also adds breakaway flasks, 50u glass bottles that shatter violently on contact providing extra throw force as well as a 25u gulp size which forces the user to choose between buff or debuff I plan on adding a fair few more Trickwines and the SRM Barrel Class Brewer Vessel (SRM could really use one then 1 original ship) in later prs to build on this concept This HackMD will provide descriptions for the wines as well as a place of information for all Trickwine-related content https://hackmd.io/eUIddN2dS3mpeU1CThFGng Adds a fun new option for ships that lack proper chemistry and forces them to choose which effect they actually want. 🆑 FalloutFalcon add: Trickwines add: Breakaway flasks! add: Basic Trickwine brewing equipment to the SRM glaive imageadd: Sprites for breakaway flasks along with trick wine icons for them! code: Breakaway_flask_icon_state = null used for the same purpose as the glass and shot glass versions /🆑 I DIDNT KNOW IF YOU RENAME A BRANCH IT CLOSES PRS RELATED TO IT?? I THOUGHT IT JUST KNEW!! 3rd times a charm! Signed-off-by: FalloutFalcon [email protected] Signed-off-by: Mark Suckerberg [email protected] Co-authored-by: Mark Suckerberg [email protected] TileTest Part 1: Big Sweeping Changes! (#2054) This is a multi-parter PR. Due to the fact that tiles here on shiptest are an unholy amalgam of decals, greyscale sprites and multiple spread-out files, things are bound to look weird. If they do, feel free to report it and it will be addressed in future PRs. This PR finally accomplishes the promise I made to @triplezeta a year ago, creating a unique tileset for the server that people may enjoy! To put every single microscopic change I have made would take forever, so I will instead provide a series of screenshots of it in action! Utilizing an unique, modernized tileset for our server to differentiate from our competitors is something that has been requested, and I was more than happy to lend my hand to make it a reality! 🆑 PositiveEntropy del: Removes several unused floor types, as well as completely annihilating the "monofloor" and "dirty" floor types, and the "edge" decal type. imageadd: Redoes the floors using the TileTest tileset! /🆑 Co-authored-by: Bjarl [email protected] I love how vite dev server doesn't complain about this, but vite build says HELL NAH, AIN'T NO FUCKING WAY I COMPILE THIS SHIT. Anyhow, this is a follow-up on my writeup on the last commit. I don't love how Kiwi browser suddenly disconnects my dev console/tools from the page, just because of some shitty "battery saving" capabilities of my Android phone. So, instead I have fallen in love with Chrome DevTools remote debugging (chrome://inspect/#devices and https://developer.chrome.com/docs/devtools/remote-debugging). Very juicy stuff if you ask me. Chromium Remote Debugging ftw. [MIRROR] Expanding the Experimental MODsuit Bepis Node with three new modules. [MDB IGNORE] (#21851)
So, I've had this idea to make a contribution to the Bepis feature with some modsuit stuff. The gimmicky stuff is ok and a good way to even out the better content since it has game of chance design it has (you can find those disks in space anyway so...). However, the Experimental MODsuit node feels very underwhelming right now, compared to how big that feature is. This PR adds three MOD modules to the Experimental MODsuit node, plus two more:
To make the Stormtrooper mode stackable with the poor aim quirk and refrain from making a new trait for the sharpshooter mode, the gun spread code in gun.dm has also received a little refactor and cleanup. Also, it's been tested. The Experimental MODsuit node is quite shabby and could use something extra to make it more appealing to MODsuit enjoyers. Also doubles down as a small addition to the black market and maint loot, and code cleanup, since gun code gives off some garbled vibes. 🆑 add: Expanded the Experimental MODsuit Bepis node with three new modules: Magneto Charger, Recycler and Shooting Assistant. add: Added a Riot Foam Recycler module to the black market, as well a more innocuous version as maint loot. /🆑
Co-authored-by: Ghom [email protected] Co-authored-by: Tom [email protected] Plasma objects no longer violently explode when ignited (#76492) This is one of those "can I get away with making a change I want" PRs. I actually didn't know this had been changed before as it's not exactly something I mess with often, but I really think it sucks. Plasma stuff is supposed to ignite and cause fires, not explode (unless in a TTV). I noticed this when I was poking around and found out that apparently Disco Inferno just explodes now instead of setting on fire which also sucks. I figure there's a few fixes for this problem:
I don't know if @vincentiusvin still codes, but as far as I can tell this was their doing, so it's only fair they get to speak up. Fixes #71894 I don't like it, I think it goes against what we're used to for plasma stuff (that it starts fires, not makes explosions) and it makes one of my favorite shuttles boring and stupid. That being said, I'm honestly not going to fight for this too hard if a lot of people like it, but I am - as always - open to alternatives. 🆑 Vekter del: Plasma objects (statues, toilets, etc.) no longer explode when ignited. They just release plasma like everything else plasma. (This doesn't impact injecting plasma into cells or dipping cigars in plasma, those still explode.) /🆑 upgrade to latest dependencies bumping knative.dev/networking e5d04e8...b9dd5c2:%0A > b9dd5c2 upgrade to latest dependencies (# 816)%0A > 68947c5 upgrade to latest dependencies (# 815)%0A > 14a2bd4 Move Signed-off-by: Knative Automation [email protected] In Desert and Wilderness – Henryk Sienkiewicz “Do you know, Nell,” said Stas Tarkowski to his friend, a little English girl, “that yesterday the police came and arrested the wife of Smain, the overseer, and her three children,—that Fatma who several times called at the office to see your father and mine.” And little Nell, resembling a beautiful picture, raised her greenish eyes to Stas and asked with mingled surprise and fright: “Did they take her to prison?” “No, but they will not let her go to the Sudân and an official has arrived who will see that she does not move a step out of Port Said.” “Why?” Stas, who was fourteen years old and who loved his eight–year–old companion very much, but looked upon her as a mere child, said with a conceited air: “When you reach my age, you will know everything which happens, not only along the Canal from Port Said to Suez, but in all Egypt. Have you ever heard of the Mahdi?” “I heard that he is ugly and naughty.” The boy smiled compassionately. “I do not know whether he is ugly. The Sudânese claim that he is handsome. But the word ‘naughty’ about a man who has murdered so many people, could be used only by a little girl, eight years old, in dresses—oh—reaching the knees.” “Papa told me so and papa knows best.” “He told you so because otherwise you would not understand. He would not express himself to me in that way. The Mahdi is worse than a whole shoal of crocodiles. Do you understand? That is a nice expression for me. ‘Naughty!’ They talk that way to babes.” But, observing the little girl’s clouded face, he became silent and afterwards said: “Nell, you know I did not want to cause you any unpleasantness. The time will come when you will be fourteen. I certainly promise you that.” “Aha!” she replied with a worried look, “but if before that time the Mahdi should dash into Port Said and eat me.” “The Mahdi is not a cannibal, so he does not eat people. He only kills them. He will not dash into Port Said, but even if he did and wanted to murder you, he would first have to do with me.” This declaration with the sniff with which Stas inhaled the air through his nose, did not bode any good for the Mahdi and considerably quieted Nell as to her own person. “I know,” she answered, “you would not let him harm me. But why do they not allow Fatma to leave Port Said?” “Because Fatma is a cousin of the Mahdi. Her husband, Smain, made an offer to the Egyptian Government at Cairo to go to the Sudân, where the Mahdi is staying, and secure the liberty of all Europeans who have fallen into his hands.” “Then Smain is a good man?” “Wait! Your papa and my papa, who knew Smain thoroughly, did not have any confidence in him and warned Nubar Pasha not to trust him. But the Government agreed to send Smain and Smain remained over half a year with the Mahdi. The prisoners not only did not return, but news has come from Khartûm that the Mahdists are treating them more and more cruelly, and that Smain, having taken money from the Government, has become a traitor. He joined the Mahdi’s army and has been appointed an emir. The people say that in that terrible battle in which General Hicks fell, Smain commanded the Mahdi’s artillery and that he probably taught the Mahdists how to handle the cannon, which before that time they, as savage people, could not do. But now Smain is anxious to get his wife and children out of Egypt. So when Fatma, who evidently knew in advance what Smain was going to do, wanted secretly to leave Port Said, the Government arrested her with the children.” “But what good are Fatma and her children to the Government?” “The Government will say to the Mahdi,—‘Give us the prisoners and we will surrender Fatma’—” For the time the conversation was interrupted because the attention of Stas was attracted by birds flying from the direction of Echtum om Farag towards Lake Menzaleh. They flew quite low and in the clear atmosphere could be plainly seen some pelicans with curved napes, slowly moving immense wings. Stas at once began to imitate their flight. So with head upraised, he ran a score of paces along the dyke, waving his outstretched arms. “Look!” suddenly exclaimed Nell. “Flamingoes are also flying.” Stas stood still in a moment, as actually behind the pelicans, but somewhat higher, could be seen, suspended in the sky, two great red and purple flowers, as it were. “Flamingoes! flamingoes! Before night they return to their haunts on the little islands,” the boy said. “Oh, if I only had a rifle!” “Why should you want to shoot at them?” “Girls don’t understand such things. But let us go farther; we may see more of them.” Saying this he took the girl’s hand and together they strolled towards the first wharf beyond Port Said. Dinah, a negress and at one time nurse of little Nell, closely followed them. They walked on the embankment which separated the waters of Lake Menzaleh from the Canal, through which at that time a big English steamer, in charge of a pilot, floated. The night was approaching. The sun still stood quite high but was rolling in the direction of the lake. The salty waters of the latter began to glitter with gold and throb with the reflection of peacock feathers. On the Arabian bank as far as the eye could reach, stretched a tawny, sandy desert—dull, portentous, lifeless. Between the glassy, as if half– dead, heaven and the immense, wrinkled sands there was not a trace of a living being. While on the Canal life seethed, boats bustled about, the whistles of steamers resounded, and above Menzaleh flocks of mews and wild ducks scintillated in the sunlight, yonder, on the Arabian bank, it appeared as if it were the region of death. Only in proportion as the sun, descending, became ruddier and ruddier did the sands begin to assume that lily hue which the heath in Polish forests has in autumn. The children, walking towards the wharf, saw a few more flamingoes, which pleased their eyes. After this Dinah announced that Nell must return home. In Egypt, after days which even in winter are often scorching, very cold nights follow, and as Nell’s health demanded great care, her father, Mr. Rawlinson, would not allow her to be near the water after sunset. They, therefore, returned to the city, on the outskirts of which, near the Canal, stood Mr. Rawlinson’s villa, and by the time the sun plunged into the sea they were in the house. Soon, the engineer Tarkowski, Stas’ father, who was invited to dinner arrived, and the whole company, together with a French lady, Nell’s teacher, Madame Olivier, sat at the table. Mr. Rawlinson, one of the directors of the Suez Canal Company, and Ladislaus Tarkowski, senior engineer of the same company, lived for many years upon terms of the closest intimacy. Both were widowers, but Pani Tarkowski, by birth a French lady, died at the time Stas came into the world, while Nell’s mother died of consumption in Helwan when the girl was three years old. Both widowers lived in neighboring houses in Port Said, and owing to their duties met daily. A common misfortune drew them still closer to each other and strengthened the ties of friendship previously formed. Mr. Rawlinson loved Stas as his own son, while Pan Tarkowski would have jumped into fire and water for little Nell. After finishing their daily work the most agreeable recreation for them was to talk about the children, their education and future. During such conversations it frequently happened that Mr. Rawlinson would praise the ability, energy, and bravery of Stas and Pan Tarkowski would grow enthusiastic over the sweetness and angelic countenance of Nell. And the one and the other spoke the truth. Stas was a trifle conceited and a trifle boastful, but diligent in his lessons, and the teachers in the English school in Port Said, which he attended, credited him with uncommon abilities. As to courage and resourcefulness, he inherited them from his father, for Pan Tarkowski possessed these qualities in an eminent degree and in a large measure owed to them his present position. In the year 1863 he fought for eleven months without cessation. Afterwards, wounded, taken into captivity, and condemned to Siberia, he escaped from the interior of Russia and made his way to foreign lands. Before he entered into the insurrection he was a qualified engineer; nevertheless he devoted a year to the study of hydraulics. Later he secured a position at the Canal and in the course of a few years, when his expert knowledge, energy, and industry became known, he assumed the important position of senior engineer. Stas was born, bred, and reached his fourteenth year in Port Said on the Canal; in consequence of which the engineers called him the child of the desert. At a later period, when he was attending school, he sometimes, during the vacation season and holidays, accompanied his father or Mr. Rawlinson on trips, which their duty required them to make from Port Said to Suez to inspect the work on the embankment or the dredging of the channel of the Canal. He knew everybody—the engineers and custom–house officials as well as the laborers, Arabs and negroes. He bustled about and insinuated himself everywhere, appearing where least expected; he made long excursions on the embankment, rowed in a boat over Menzaleh, venturing at times far and wide. He crossed over to the Arabian bank and mounting the first horse he met, or in the absence of a horse, a camel, or even a donkey, he would imitate Farys[Footnote: Farys, the hero of Adam Mickiewicz’s Oriental poem of the same name.—Translator’s note.] on the desert; in a word, as Pan Tarkowski expressed it, “he was always popping up somewhere,” and every moment free from his studies he passed on the water. His father did not oppose this, as he knew that rowing, horseback riding, and continual life in the fresh air strengthened his health and developed resourcefulness within him. In fact, Stas was taller and stronger than most boys of his age. It was enough to glance at his eyes to surmise that in case of any adventure he would sin more from too much audacity than from timidity. In his fourteenth year, he was one of the best swimmers in Port Said, which meant not a little, for the Arabs and negroes swim like fishes. Shooting from carbines of a small caliber, and only with cartridges, for wild ducks and Egyptian geese, he acquired an unerring eye and steady hand. His dream was to hunt the big animals sometime in Central Africa. He therefore eagerly listened to the narratives of the Sudânese working on the Canal, who in their native land had encountered big, thick–skinned, and rapacious beasts. This also had its advantage, for at the same time he learned their languages. It was not enough to excavate the Suez Canal; it was necessary also to maintain it, as otherwise the sands of the deserts, lying on both banks, would fill it up in the course of a year. The grand work of De Lesseps demands continual labor and vigilance. So, too, at the present day, powerful machines, under the supervision of skilled engineers, and thousands of laborers are at work, dredging the channel. At the excavation of the Canal, twenty–five thousand men labored. To–day, owing to the completion of the work and improved new machinery, considerably less are required. Nevertheless, the number is great. Among them the natives of the locality predominate. There is not, however, a lack of Nubians, Sudânese, Somalis, and various negroes coming from the White and Blue Niles, that is, from the region which previous to the Mahdi’s insurrection was occupied by the Egyptian Government. Stas lived with all on intimate terms and having, as is usual with Poles, an extraordinary aptitude for languages he became, he himself not knowing how and when, acquainted with many of their dialects. Born in Egypt, he spoke Arabian like an Arab. From the natives of Zanzibar, many of whom worked as firemen on the steam dredges, he learned Kiswahili, a language widely prevalent all over Central Africa. He could even converse with the negroes of the Dinka and Shilluk tribes, residing on the Nile below Fashoda. Besides this, he spoke fluently English, French, and also Polish, for his father, an ardent patriot, was greatly concerned that his son should know the language of his forefathers. Stas in reality regarded this language as the most beautiful in the world and taught it, not without some success, to little Nell. One thing only he could not accomplish, that she should pronounce his name Stas, and not “Stes.” Sometimes, on account of this, a misunderstanding arose between them, which continued until small tears began to glisten in the eyes of the girl. Then “Stes” would beg her pardon and became angry at himself. He had, however, an annoying habit of speaking slightingly of her eight years and citing by way of contrast his own grave age and experience. He contended that a boy who is finishing his fourteenth year, if he is not fully matured, at least is not a mere child, but on the contrary, is capable of performing all kinds of heroic deeds, especially if he has Polish and French blood. He craved most ardently that sometime an opportunity would occur for such deeds, particularly in defense of Nell. Both invented various dangers and Stas was compelled to answer her questions as to what he would do if, for instance, a crocodile, ten yards long, or a scorpion as big as a dog, should crawl through the window of her home. To both it never occurred for a moment that impending reality would surpass all their fantastic suppositions. fuck yeah its working with typescript and ESnext. good shit Change the metadata serialization from cbor to capnproto Capnproto [1] is a fast data interchange format which uses zero-copy serialization, meaning there is no encoding/decoding step. Advantages over cbor:
Disadvantages:
Other changes:
For a Ubuntu 20.04 distribution (single layer puzzlefs image) the amount of space taken by the metadata is: Cbor serialization: puzzlefs manifest: 869K puzzlefs metadata layer: 4.2M Capnproto serialization: puzzlefs manifest: 662K puzzlefs metadata layer: 3.8M https://capnproto.org/ [1] https://capnproto.org/encoding.html#structs [2] https://capnproto.org/news/2014-06-17-capnproto-flatbuffers-sbe.html [3] https://lore.kernel.org/rust-for-linux/[email protected]/T/#m22c3db8ba98f2905204d587563ef116a97ce0415 [4] Fixes #18 Signed-off-by: Ariel Miculas [email protected] Remarkup Code-block: parse language specifier in markdown Summary: We add support to code blocks with the language expressed as GitLab/GitHub/StackOverflow/... "flavored markdown". So we support this syntax: (to avoid confusion see it online on the Diff)
Before this change, this was the only supposed syntax in Remarkup, with an explicit "lang=":
This change introduces a minor risk to eat legitimate Remarkup content, since Remarkup allows to do a multi-line in this way:
The above example still works, but, there is a chance that hardcore Remarkup people have a problem when doing a code block to mention programming languages. In short, this can be problematic since "cpp" will be eaten from this list:
Using the above example is not socially nice because it is not usable in GitLab, GitHub and Stack Overflow. If your first line is eaten: Just add a newline on the top to reach a valid raw Markdown list (suggested, valid in Remarkup + Markdown):
Or, just add "text" to specify that as language (suggested, valid in Remarkup + Markdown):
Or, just remove a newline from the bottom to reach a valid raw Remarkup list (Remarkup-only):
Or, just specify that you are writing in the language "text" (Remarkup-only):
To reduce impact and help you, the logic of this strict implementation is:
If everything is OK, we remove that language from the content since it would be otherwise displayed. Interestingly, this could improve performance when rendering README files or snippets from external websites, since - in case - we do not need to guess the language using our deep dark magic. Closes T15481 Test Plan: We added some nice unit tests. Ensure that this test passes:
Optionally, take vision of these, before and after: Change the test plan slightly every time, to make sure it is not in your cache. Reviewers: O1 Blessed Committers, avivey Reviewed By: O1 Blessed Committers, avivey Subscribers: avivey, speck, tobiaswiese, Matthew, Cigaryno Maniphest Tasks: T15481 Differential Revision: https://we.phorge.it/D25299 Insomnia Cure "One dragon. Two dragon. Three dragon", — the princess was counting. She had trouble in falling asleep, and she got bored of counting lambs when she was nine. However, just counting dragons was boring as well, so she entertained herself at best she could. Tonight she imagined that all dragons were here to steal her, and she was fighting them off. Every k-th dragon got punched in the face with a frying pan. Every l-th dragon got his tail shut into the balcony door. Every m-th dragon got his paws trampled with sharp heels. Finally, she threatened every n-th dragon to call her mom, and he withdrew in panic. Write a program to find how many imaginary dragons suffered moral or physical damage tonight, if the princess counted a total of d dragons? INPUT & OUTPUT FORMAT: Input data contains integer numbers k, l, m, n and d, each number in a separate line (1 ≤ k, l, m, n ≤ 10, 1 ≤ d ≤ 105). The output displays the number of damaged dragons. SAMPLE INPUT & OUTPUT 1: 1 2 3 4 12 12 SAMPLE INPUT & OUTPUT 2: 2 3 4 5 24 17 Replaces the Reaper Scythe with the Vorpal Scythe (also the Morbid trait) (#75948) adds the Vorpal Scythe, a special chaplain null rod variant, replacing the Reaper Scythe, a not so special null rod variant. When you choose the vorpal scythe, it comes as a shard that you implant into your arm, similar to a cursed katana. Once implanted, you can draw it at any time like an arm implant.
However, sheathing it again presents some problems. (Also, implanting
the organ gives you The Vorpal Scythe has 10 force, one of the weakest null rod variants for force that isn't a joke null rod. However, it has exceptional armor pen and also has 2 tiles of reach. So quite unique. It also has a special beheading ability when you right-click someone. This borrows some code from amputation shears, functioning pretty similarly, except with a few additional ways to speed up the action and restrictions. (It takes 15 seconds baseline to behead someone standing and conscious, and speeds up or slows down based on factors such as incapacitation and whether or not our scythe is already empowered) When you successfully behead someone with a mind, the vorpal scythe gains 20 force and can be safely stowed and drawn for 2 minutes. Performing more death knells like this will reset the timer. If it has not performed its 'death knell', or you haven't hit a living mob, then it will cause severe damage to you if you ever try and stow it (or its forced back into your arm). Just hitting a mob with the scythe will sate it for 4 minutes. Unless it is a non-player monkey. Horrible things. Just hitting mobs does not reset the timer on empowerment. What this means is that the chaplain may be more hesitant to simply draw their weapon on people. It also means that potentially, the chaplain will not always have magic immunity, since they may end up stowing the weapon away and be reluctant to draw it on a whim without either taking damage for sheathing it without hitting something, or dealing with having one less hand up until they can. While empowerment only happens when you behead mobs with a mind, beheading monkeyhumans and other mindless humans subtypes causes their heads to become haunted! It's mostly harmless and largely just SpOoKy. We don't want heads with actual players in them to go floating off to space. (Does not work on monkey heads for sanity reasons) When you have the Morbid trait, you think creepy stuff is cool and hate saving peoples lives. You get a mood boost from graverobbing, autopsies, dissections, amputations (including beheadings with the scythe and amputations with the shears) and revival surgery. However, you get a mood penalty when you tend wounds on the living, as well as a hefty penalty when you perform CPR or defibrillate someone. I was thinking Victor Frankenstein when I was choosing which actions had an associated moodlet, so anything that I might have missed would be appreciated. You also count as potentially cool with regards to haunted objects. Ghosts think you're neat. (Revenants probably will still kill you if they had the chance) Fixes a good chunk of Vox sprites. Removes environmental regulator (#2092) Oh god the pain. Oh god. The unbearable pain. Why. Adds a ton of unused vox sprites from Drawsstuff. Cleans up the files for sprites we don't actually have Ensures they are pathed correctly, with flags set correctly. I spent five hours on this in one sitting after being upset at shitty vox mechanics/sprite support again. They're cool and unique and it was sad. Removes the Environmental Regulator.
🆑 add: A metric ton of Vox sprites del: Vox no longer need environmental regulators /🆑 Ports pinging in Adminsay from /tg/station (#2111) Does what it says on the tin, porting a behavior that allows you to ping a person in admin say by just doing @(ckey) from /tg/station in PR #61712 Oh and this PR I guess fixes a hilarious issue where someone wrote 'tgstation.dme' instead of 'shiptest.dme' where they shouldn't have. Whoops! Most cool of all, which was completely unintentional by me, ports Datum linking (partially), as well as Ticket linking, respectively added in PRs #65154 and #65634 I swear to fucking christ if I have to log into the game one more goddamn time as an admin only to have 2 people being DJs, another one spriting, and another one doing jack shit while not paying attention at the server when I am trying to solve a crucial ticket, I'll develop an aneurysm. 🆑 Ryll-Ryll/Shaps admin: Adds pinging to adminsay! admin: Adds the ability to link datums! admin: Adds linking tickets to asay! Simply put a # followed by a ticket number for it to be linked in the chat! /🆑 Removed previewWindow because of cringe competition fuck this shite, I should create my own SoftHub I hate my life I hate MongoDB I hate everything added database login with JWT token and logout functionality that clears cookies as well as add post, delete post, edit post, and view post functionality (I'm so lonely) New planetary exclusive random event/unfavorable situation, Chasmic Earthquake [MDB IGNORE] (#21778)
2023-06-04.18-21-44_Trim.mp4This introduces a new unfavorable situation (non-antagonist random events that dynamic triggers under certain circumstances), restricted to planetary maps (Icebox). An earthquake occurs, felt by everyone on the map, forming a fault that tears the a hole somewhere on the station. The fault zone is indicated by shaking tiles, which gives a chance (about 30 seconds) for you to move your machinery/property/crewmembers out of the way. If you're on those tiles when the fault forms, get ready to take a nasty fall. Anything caught in the fault zone as it collapses inward will be destroyed, violently, before being dropped down into the z-level below. These can also happen as a random event, however their rarity is on-par with that of a meteor storm. This also adds a helper for finding a midpoint turf between two provided turfs, thanks to ZephyrTFA. This idea basically possessed me over the course of a few days, and I found myself unable to work on anything else until I had it complete. I'm glad its done. Gives Icebox its own big "environmental disaster" event. I'm hoping it isn't received as being too destructive, but mind that this is meant to be an equal to the dreaded meteor storm. Also makes it so that unfavorable events aren't a coinflip between a portal storm/rod on planetary maps. 🆑 Rhials add: Chasmic Earthquake random event, exclusive to Icebox. Tears a huge chasm in the hull of the station. Watch out for shaking tiles! sound: Adds sounds for distant rumbling, metal creaking, and rubble shaking. imageadd: Achievement icon for getting sucked up in an earthquake chasm. /🆑
Co-authored-by: Rhials [email protected] 3 ACTUAL FUCKING BUTTONS (temp until i get my shit together) HOLY SHIT!!! Added type annotations and use of Path Replaced some instances of os.path with the Path object from pathlib for readability. Also added type annotations to MCprepEnv as we're moving towards that. This also means MCprep will not work at all in Blender 2.7x due to the use of new syntax. This will be the first in a long process of modernizing MCprep's code with 2.8 style code. Blender 2.7x users may not be happy, but it's for the better. If anything, 6 years worth of 2.7x support was a mistake (in my opinion), as it limited what we could do and opened MCprep to even more bugs (like in Blender 2.93 with make_annotations, which ironically now is deprecated). Holy FUCK temporary commit Mixed between previous abno based spawning and new subsystem Cleanup Commit Removes a lot of previous code and paves the way for the subsystem method. Major Commit Apocalypse Bird drops it's loot and only spawns once. It'll not try to happen if there aren't enough birds, and if two are breached before the third arrives it'll take the third breaching to start the event, until the others are suppressed. Birds do not target people and are immortal while moving to the portal. If unable to reach it after 3 minutes they'll be forced in manually. Tweaked Proc Redundant Code Removal Remembered I didn't need this Enhanced Code Moved an if-statement to a better place to more adequately solve the issue. Test Commit Does this solution work? Global Abnormality Mob List Patrol Changes and Bird Grab changes Gaming Test? Temp Commit Second Commit Another Commit! Fourth Commit Subsystem changes. Dead abno cleansing. Lower speak cooldown. Debug text removal. P-bird fix Fixes P-bird able to die before reaching the portal Humans prefer the dark for sleeping because of how we are created. We are meant to sleep at night because we are Mammals Probably I dont know if i can write a commit message this long at a jbo job* but this would be really fun guys ow do i stop a zsh quote GUYS please HELP ITS POT =STOPPING PLASE HELP OH MY GOD Oh found it 🧨 (revamp) NICE-43 Next RSC, Notion API, & Tailwind [b] [!] (#1621) This is a bit bigger than I would want, but this is a complete refactor to better utilize a ✨ NICE-43 revamp Next RSC, Notion API, & Tailwind BREAKING CHANGE: New Notion Implementation through Next 13 RSC (App)
Not to be lost in the backend type stuff but this is a complete rehaul of presentation. The eventual goal of this Do not "normalize" data from Notion, embrace it.
The "big change" here is utilizing Notion Formulas in the CMS. Before we had Note: For
Which I think could work because we could loop through but also very confusing as a URL to share, haha. To recap:
Same here, instead of getting the data from Notion then running through - Date: July 15, 2023 9:00PM
- Date.DayOfMonth: 15
- Date.DayOfMonthOrdinal: 15th
- Date.DayOfWeek: Saturday
- Date.DayOfWeekAbbr: Sat
- Date.DaysUntilEvent: 15
- Date.HoursUntilEvent: 360
- Date.ISO: 2023-07-15T21:00:00-04:00
- Date.Month: 07
- Date.MonthName: July
- Date.MonthNameAbbr: Jul
- Date.Time: 09:00 PM
- Date.Timezone: EDT
- Date.WeekNumber: 28
- Date.Year: 2023 The gains of doing Especially if we want to be able to change layout, RSC data points and more based on the Segment (Notion Database Type). So there is some duplication of code throughout but will look into better ways of lifting the "same" stuff. Ability to see a range of events depending on Date (say for a week, or a weekend):
Props to Katie T. as we came up with this idea in a brainstorm session.
Probably need to do something for malformed dates, but I reckon Up next would be ideas for
Depending on your use case those will still be very valid for use! This just covers the Upgrade: @mantine/[email protected]
@notionhq/[email protected]
@radix-ui/...@latest
@upstash/[email protected]
@vercel/[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@types/[email protected]
@types/[email protected]
@types/[email protected]
@types/[email protected]
[email protected] Add: [email protected]
[email protected]
[email protected] # use framer-motion instead
[email protected] # 3.x has no release notes
@types/[email protected] Remove: next-seo
next-sitemap
next-unused segacd.xml, megacdj.xml: Added various CD dumps. (#11344) segacd.xml: Compton's Interactive Encyclopedia v2.00S (USA) [redump.org] Note! Color Mechanica (USA) [redump.org] Note! Color Mechanica (USA, alt) [redump.org] What is X'Eye Multi Entertainment System (USA) [redump.org] megacdj.xml: Heavenly Symphony - Formula One World Championship 1993 Hibaihin (Japan) [redump.org] Keiou Yuugekitai Taikenban Hibaihin (Japan) [redump.org] Lunar - Eternal Blue Hibaihin Auto Demo (Japan) [redump.org] Microcosm Demo CD (Japan) [redump.org] Night Trap Hibaihin (Japan) [redump.org] Popful Mail Taikenban Hibaihin (Japan) [redump.org] Silpheed Hibaihin (Japan) (Fixed) [redump.org] Sonic The Hedgehog CD Hibaihin (Japan) [redump.org] Thunderhawk Hibaihin (Japan) [redump.org] Urusei Yatsura - Dear My Friends Hibaihin (Japan) [redump.org] Yumemi Yakata no Monogatari Hibaihin (Japan) [redump.org] WonderMega Collection - Game Garden (Japan, alt) [redump.org] segacd.xml: Surgical Strike (Brazil, 32X) [redump.org] megacdj.xml: Psychic Detective Series vol.3 - AYA Auto Demo (Japan) [redump.org] Silpheed Hibaihin (Japan) [redump.org] |