Skip to content

Instantly share code, notes, and snippets.

Avatar

Sam Fentress sfentress

  • Concord Consortium
View GitHub Profile
View biologica.md

biologica 2.0 RFC

Motivation 1

To have a more maintainable library with type definitions

Motivation 2

I have always hated needing to transform organisms back and forth between the BioLogica.Organism class objects and plain-object formats. Frequently in Geni*

@sfentress
sfentress / Connected-Bio-App.js
Last active Jul 26, 2018
ConnectedSpaces (or whatever other name...) thoughts.
View Connected-Bio-App.js
// This is what using the connected-spaces library would look like from the
// perspective of the application that is consuming it, such connected-bio.
/** **** app.js **** */
import ConnectedSpaces from 'conected-spaces'
import PopulationsSpace from './wrapped-components/populations-space'
//...etc
render () {
View gist:381b5a06a3c14b063d315eb284cbf2fc
Sending message to ITS: {username: "https://learn.concord.org/users/139672-9ad0bca4", classInfo: "https://learn.concord.org/api/v1/classes/7300", studentId: "139672", externalId: 185748, session: "9ad0bca4-ef98-4b08-ad3a-309ba7fde81d", …}action: "SUBMITTED"actor: "USER"classInfo: "https://learn.concord.org/api/v1/classes/7300"context: {species: "Drake", challengeCriteria: {…}, userSelections: {…}, correct: false, incrementMoves: true, …}externalId: 185748sequence: 27session: "9ad0bca4-ef98-4b08-ad3a-309ba7fde81d"studentId: "139672"target: "ORGANISM"time: 1522956006997username: "https://learn.concord.org/users/139672-9ad0bca4"__proto__: Object
Message received from ITS: {"type":"Debug","message":"Tutor - handling: USER-SUBMITTED-ORGANISM user=139672","time":1522956007076}
Message received from ITS: {"type":"Debug","message":"Load rules from: https://docs.google.com/spreadsheets/d/1QWdalhsSfdiREucjH77Rrh8dIOdXDCbivFHxiT4RC_0","time":1522956007078}
Message received from ITS: {"type":"Debug","message":"Load rules
View x.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@sfentress
sfentress / dialog.js
Created Jan 24, 2018
Geniventure dialog script
View dialog.js
json = {...}
printDialog = function(lines) {
for (line of lines) {
console.log(line.character + ": " + line.text)
}
}
levelN = missionN = challengeN = 0
for (level of json.levels) {
levelN++
missionN = 0
View simple_server.js
/************************************************
FILENAME
server_simple.js
DESCRIPTION
creates a simple web server that
display "Hello World"
HOW TO START SERVER:
1) npm install firebase-admin --save
2) node simple_server.js
3) open web browser visit http://127.0.0.1:8080
View fb-reduced-student-model.json
{
"studentModel": {
"traitScores": [
{
"trait": "forelimbs",
"score": 0.5
},
{
"trait": "sex",
"score": 1
View json-query.json
{
"filter": [
{
"key": "application",
"list": [
"CODAP"
],
"remove": false,
"filter_type": "string"
@sfentress
sfentress / reasoning.md
Last active Jun 23, 2017
Saving user data and authoring in Firebase
View reasoning.md

Thoughts on making state-saving to Firebase, along with authoring etc., as future-proof as possible

Issues:

  1. We may want to support multiple versions of the same game concurrently. E.g. two different treatments in schools, with different authoring. Or we may want a new version of authoring, but to keep the old data. (Note: this does not refer to old versions of the software -- we assume all users always have the most recent version.)
  2. We may want to change the user data in breaking ways.

For (1) we can put the version number/name of the application at the root of the tree. Nothing in one version ever needs to refer to anything in another, so it should all be contained in the same branch. Possible issue: If we have permissions based on paths, every time we release a new version of the game, we need to update the permissions. The alternative would be to put the appVersion further down the leaves, but it makes it much messier and the user may have to download much more data.

For (2) we can add a version

@sfentress
sfentress / gist:3f06ebcbc6f6cb6d5e765d37580169cf
Created Jun 23, 2017
Saving user data and authoring in Firebase
View gist:3f06ebcbc6f6cb6d5e765d37580169cf
Thoughts on making state-saving to Firebase, along with authoring on firebase etc., as future-proof as possible
Issues:
1. We may want to support multiple versions of the same game concurrently. E.g. two different treatments in schools, with different authoring. Or we may want a new version of authoring, but to keep the old data. (Note: this does not refer to old versions of the software -- we assume all users always have the most recent version.)
2. We may want to change the user data in breaking ways.
For (1) we can put the version number/name of the application at the root of the tree. Nothing in one version ever needs to refer to anything in another, so it should all be contained in the same branch. Possible issue: If we have permissions based on paths, every time we release a new version of the game, we need to update the permissions. The alternative would be to put the appVersion further down the leaves, but it makes it much messier and the user may have to download much more data.