Skip to content

Instantly share code, notes, and snippets.

View raffazizzi's full-sized avatar
🌈

Raffaele Viglianti raffazizzi

🌈
View GitHub Profile

Keybase proof

I hereby claim:

  • I am raffazizzi on github.
  • I am raffazizzi (https://keybase.io/raffazizzi) on keybase.
  • I have a public key whose fingerprint is 32DC 2F75 D974 EF3C 7D23 E17E F04E B9EA 202C 4AC3

To claim this, I am signing this object:

@raffazizzi
raffazizzi / build.scala
Created October 10, 2014 20:13
Trying to run /sga in refactoring branch
import sbt._
import Keys._
object Scalanvas extends Build {
lazy val util: Project = Project(
id = "util",
base = file("util"),
settings = commonSettings ++ Seq(
libraryDependencies ++= Seq(
"org.scalaz" %% "scalaz-concurrent" % "7.0.6",
@raffazizzi
raffazizzi / CORS
Created February 27, 2015 22:13
Rewrite of CORS
<div type="div3" xml:id="CORS2"><head>Creating New Reference Systems</head>
<p>If a text has no canonical reference system of its own, a new custom reference
system may be used.</p>
<p>The global attributes <att>n</att> and <att>xml:id</att> may be used to
assign reference identifiers to segments of the text. Identifiers
specified by either attribute apply to the entire element for which they
are given. ID attributes must be unique within a single
document, and ID values must begin with a letter. No such restrictions
are made on the values of <att>n</att> attributes.
@raffazizzi
raffazizzi / grammar
Last active August 29, 2015 14:16
EMA selection grammar
start ::= "start"
startOrEnd ::= "start" | "end"
all ::= "all"
measure ::= integer
measureRange ::= {measure | startOrEnd | all / ","} | {measure | start, "-", measure | end / ","}
staff ::= integer
staffRange ::= {staff | startOrEnd | all / "+"} | {staff | start, "-", staff | end / "+"}
stavesToMeasure ::= {staffRange / ","}
beat ::= float
beatRange ::= {"@", beat | startOrEnd | all / "+"} | {"@", beat | start, "-", beat | end / "+"}
@raffazizzi
raffazizzi / VESA
Last active August 29, 2015 14:17
<div type="div2" xml:id="VESA">
<head>Encoding Textual Structures Across Verses</head>
<p>It is possible that certain textual structures may span multiple lines of verse, either by
incorporating more than one, or by crossing line hierarchy. This is common,
for example, when lines contain reported thought or speech (i.e. <gi>said</gi>),
or other forms of quotation (i.e. <gi>q</gi>). For these cases, it is recommended practice
to fragment and reconstruct the elements representing the textual structures.
</p>
<p>The following example from Margaret Cavendish's <title>Nature's Pictures</title> shows speech
encoded across two lines reconstructed by chaining elements with <att>prev</att> and
<elementSpec ident="ornament" module="MEI.cmnOrnaments">
<desc>An element indicating an ornament that is not a mordent, turn, or trill.
</desc>
<classes>
<memberOf key="att.common"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.ornament.log"/>
<memberOf key="att.ornament.vis"/>
<memberOf key="att.ornament.ges"/>
<memberOf key="att.ornament.anl"/>
@raffazizzi
raffazizzi / README.md
Created August 1, 2012 15:57
RV extensions to MEItoVexFlow

This page shows a live example of extensions to the projects VexFlow (a music rendering JavaScript library) and MEItoVexFlow (a JS program to render MEI scores using VexFlow).

Most of the extension work is focusing on MEItoVexFlow to extend the support of MEI elements (I have been the main development since November 2011). Such as the repetition signs with multiple endings in the example above.

Changes to VexFlow include support for lyrics, musica ficta and crescendo / diminuendo signs. MIT's music analysis library Music21 uses my latest build for in-browser music display.

@raffazizzi
raffazizzi / README.md
Created August 5, 2012 09:14
Wrapper for "Integrating Digital Papyrology"

The Integrating Digital Papyrology was an international project that joined together several databases of (mainly) Greek papyri; converted them to Epidoc, a fully conformant TEI P5 flavour. It formed the basis of the editorial project papyri.info.

The source databases had many differences not only in the way the data was structured, but also in the representation of ancient Greek alphabet and editorial intervention. A number of tools were created by the project team (I contributed to the development of some of the tools as well) and I wrote the Python script below to "run" all the programs according to parametrized requirements.

Some of the programs called are XSLTs, which are passed to one Saxon instance through a socket (instead of opening and closing Saxon at every transformation).

@raffazizzi
raffazizzi / index.html
Created September 10, 2012 14:51
testing d3.js brush
<!DOCTYPE html>
<meta charset="utf-8">
<style>
.brush .extent {
stroke: gray;
fill: blue;
fill-opacity: .165;
}
@raffazizzi
raffazizzi / gist:5090912
Created March 5, 2013 15:03
SGA ext resource - example
Template:
<resource> a ore:Aggregation, rdf:List, sc:TextAnnotationList ;
ore:isDescribedBy <external-URL> .
<external-URL> a ore:ResourceMap .
<manifest1> ore:aggregates <resource> .
JSON for <resource>:
"_:UUID": {