diff --git a/public/bibtex/bibtex_cv.bib b/public/bibtex/bibtex_cv.bib new file mode 100644 index 0000000..c7e72dd --- /dev/null +++ b/public/bibtex/bibtex_cv.bib @@ -0,0 +1,213 @@ +@article{Winter20c, +author = {with Dantas, P.}, +title = {Evolving curricula: reflections on The Quarantine Seminars}, +year = {forthcoming} +} + +@misc{Winter20b, + author = {}, + title = {Liner notes to the album the yggdrasil-soli by Ulrich Krieger}, + publisher = {Winds Measures Recordings}, + year = {2020}, + howpublished = {krieger_yggdrasil_soli_liner_notes.pdf} +} + +@incollection{Winter20a, + author = {}, + title = {Meta+phenomenology: primer towards a phenomenology formally based on algorithmic information theory and metabiology}, + editor = {Doria, F. & Wuppuluri, S.}, + booktitle = {Unravelling Complexity: Life and Work of Gregory Chaitin}, + publisher = {World Scientific}, + year = {2020}, + howpublished = {https://www.academia.edu/37925387/Unravelling_Complexity_Wuppuluri_Doria_World_Scientific_2020_} +} + +@incollection{Winter19c, + author = {}, + title = {A few more thoughts about Leibniz: the prediction of harmonic distance in harmonic space (with text to preliminary thoughts)}, + journal = {MusMat: Brazilian Journal of Music and Mathematics}, + volume = {3}, + number = {1}, + pages = {79–92}, + year = {2019}, + howpublished = {A_few_more_thoughts_about_Leibniz.pdf} +} + +@incollection{Winter19b, + author = {}, + title = {steady state: a study in taxation}, + editor = {Vriezen, S.}, + volume = {38}, + journal = {nY}, + year = {2019}, + howpublished = {https://www.ny-web.be/tijdschrift/feb-2019/} +} + +@misc{Winter19a, + author = {with Polansky, L.}, + title = {liner notes to the album Changes by James Tenney}, + publisher = {New World Records}, + year = {2019}, + howpublished = {tenney_changes_liner_notes.pdf} +} + +@incollection{Winter17, + author = {}, + title = {On minimal change musical morphologies}, + editor = {Pareyon, G., Pina-Romero, S., Agustin-Aquino, O.A., and Lluis-Puebla, E.}, + booktitle = {The Musical-Mathematical Mind}, + publisher = {Springer}, + year = {2017}, + howpublished = {On_minimal_change_musical_morphologies.pdf} +} + + +@misc{Winter16, + author = {}, + title = {Liner notes to the album Three Pieces for Two Pianos by Larry Polansky}, + publisher = {New World Records}, + year = {2016}, + howpublished = {polansky_piano_liner_notes.pdf} +} + +@Book{Tenney15, + author = {Tenney, J.}, + title = {From Scratch: Writings in Music Theory}, +editor = {Polansky, L., Pratt, L., Wannamaker, R., and Winter, M.}, + publisher = {University of Illinois Press}, + year = {2015}, + howpublished = {https://www.press.uillinois.edu/books/catalog/78det5km.html} +} + +@misc{grove, + author = {}, + title = {Approximating Omega}, + journal = {Carbono (online)}, + volume = {7}, + year = {2014}, + howpublished = {https://revistacarbono.com/artigos/07-omega-michael-winter/} +} + + + +@article{Winter10, +author = {with Akhmedov, A.}, +title = {Chordal and timbral morphologies using Hamiltonian cycles}, +journal = {Journal of Mathematics and Music}, +volume = {8}, +number = {1}, +pages = {1–24}, +year = {2014}, +howpublished = {Chordal_and_timbral_morphologies_using_Hamiltonian_cycles.pdf} +} + +@incollection{Winter12, + author = {}, + title = {Relativity and scalability with respect to sound and silence}, + editor = {Lely, J. & Saunders, M.}, + booktitle = {Word Events: Perspectives on Verbal Notation}, + publisher = {Bloomsbury}, + year = {2012}, + howpublished = {https://www.bloomsbury.com/us/word-events-9781441173102/} +} + + +@article{Polansky11, +author = {with Polansky, L. & Barnett, A.}, +title = {A few more words about James Tenney: dissonant counterpoint and statistical feedback}, +journal = {Journal of Mathematics and Music}, +volume = {5}, +number = {2}, +pages = {63–82}, +year = {2011}, +howpublished = {Dissonant_counterpoint_and_statistical_feedback.pdf} +} + +@misc{emy, + author = {}, + title = {Notes on a new economics for a new music}, + journal = {Experimental Music Yearbook (online)}, + volume = {2}, + year = {2010}, + howpublished = {https://experimentalmusicyearbook.com/filter/Michael-Winter/notes-on-a-new-economics-for-a-new-art} +} + +@article{doi:10.1080/07494467.2010.509594, +author = {with Barrett, G.D.}, +title = {LiveScore: real–time notation in the music of Harris Wulfson}, +journal = {Contemporary Music Review}, +volume = {29}, +number = {1}, +pages = {55–62}, +year = {2010}, +howpublished = {Livescore.pdf} +} + + + +@phdthesis{WinterDiss10, + type = {Dissertation}, + title = {Structural Metrics: an epistemology}, + author = {}, + publisher = {Dissertation}, + school = {University of California, Santa Barbara}, + year = {2010}, + howpublished = {Structural_Metrics.pdf} +} + + +@article{SAM:7914368, +author = {}, +title = {James Tenney: Selected Works 1961–1969 (review)}, +journal = {Journal of the Society for American Music}, +volume = {4}, +number = {Special Issue 04}, +month = {11}, +year = {2010}, +pages = {531–533} +} + +@misc{grove, + author = {with Hanson, S., Streb, C., and Polansky, L.}, + title = {James Tenney biographical entry}, + booktitle = {Grove Dictionary of American Music}, + publisher = {Oxford University Press}, + year = {2009} +} + +@article{doi:10.1080/07494460701671566, +author = {}, +title = {On James Tenney's Arbor Vitae for string quartet}, +journal = {Contemporary Music Review}, +volume = {27}, +number = {1}, +pages = {131–150}, +year = {2008}, +howpublished = {On_Arbor_Vitae.pdf} +} + +@article{Winter07, +author = {}, +title = {Mavericks on mavericks: James Tenney’s last courses at CalArts}, +journal = {MusikTexte}, +volume = {112}, +pages = {66–69}, +year = {2007}, +howpublished = {https://musiktexte.de/epages/dc91cfee-4fdc-41fe-82da-0c2b88528c1e.sf/de_DE/?ObjectPath=/Shops/dc91cfee-4fdc-41fe-82da-0c2b88528c1e/Products/MT-112} + +} + + +@inproceedings{Wulfson:2007, + author = {with Barrett, G.D. & Wulfson, H.}, + title = {Automatic Notation Generators}, + booktitle = {Proceedings of the 7th International NIME Conference}, + series = {NIME '07}, + year = {2007}, + pages = {346–351}, + acmid = {1279817}, + address = {New York, NY, USA}, + howpublished = {Automatic_notation_generators.pdf} +} + + diff --git a/public/stylesheets/resume_style.css b/public/stylesheets/resume_style.css index e8f9b9c..90782ae 100644 --- a/public/stylesheets/resume_style.css +++ b/public/stylesheets/resume_style.css @@ -2,6 +2,10 @@ body { font-size: 12px; + width: 175mm; + margin-top: 30px; + margin-left:auto; + margin-right:auto; } hr { @@ -34,9 +38,15 @@ a { .section-title { font-size: 14px; + margin-left: -45px; margin-top: 0px; } +.section-subtitle { + font-size: 14px; + margin-left: -30px; +} + .skill { font-weight: bold; } @@ -58,18 +68,34 @@ a { } .section { - margin-left: 100px; + margin-left: 15px; + margin-bottom: 10px; +} + +.entry { + margin-left: 10px; +} + +.subsection { + margin-left: 1px; } .company-position { + padding-left: 30px } .company-summary { - margin-bottom: 5px; + margin-bottom: 0px; } .company-description { margin-bottom: 0px; + padding-left: 30px; + text-indent: -15px; +} + +.bib { + padding-left: 15px; } .company-description ul { @@ -91,19 +117,45 @@ a { .pagebreak { page-break-before: always; } +.separator { + display: flex; + align-items: center; + text-align: center; + color: rgba(0, 0, 0, 0.35) !important; +-webkit-print-color-adjust: exact;//:For Chrome +color-adjust: exact;//:For Firefox +} + +.separator::before { + content: ''; + flex: 1; + border-bottom: 1px solid #d3d3d3; +} + +.separator:not(:empty)::before { + margin-right: .25em; +} + +.separator:not(:empty)::after { + margin-left: .25em; +} + @media print { @page { - size: 330mm 427mm; - margin: 14mm; - } - .container { - width: 1170px; + margin: 15mm; } + body { + margin-top: 0px; + margin-left:auto; + margin-right:auto; + } + .entry { page-break-inside: avoid;} - .col-xs-1 { page-break-after: avoid;} + .h4 { page-break-after: avoid;} .section { page-break-before: avoid;} - + .section-subtitle { page-break-after: avoid;} + } @page { @@ -113,5 +165,3 @@ a { content: counter(page); } } - - diff --git a/routes/index.js b/routes/index.js index a24ed0b..7c0974d 100644 --- a/routes/index.js +++ b/routes/index.js @@ -19,7 +19,7 @@ router.get('/', function(req, res, next) { router.get('/cv', function(req, res, next) { var css = fs.readFileSync( path.join(__dirname, '../public/stylesheets/resume_style.css'), 'utf8'); - var pubdata = fs.readFileSync( path.join(__dirname, '../public/bibtex/bibtex.bib'), 'utf8'); + var pubdata = fs.readFileSync( path.join(__dirname, '../public/bibtex/bibtex_cv.bib'), 'utf8'); var db = req.db; db.collection('resume').find().toArray(function (err, items) { @@ -57,6 +57,7 @@ router.get('/cv', function(req, res, next) { } function processWork(err, work) { + /* if(work === null) { db.collection('works').aggregate( [ @@ -72,6 +73,29 @@ router.get('/cv', function(req, res, next) { }); return; // All done! } + */ + + if(work === null) { + db.collection('works').aggregate( + [ + {'$sort' : {'date' : -1}}, + {'$group': {_id: { $year: "$date" }, works: { $push: "$$ROOT" }}}, + {'$sort' : {'_id' : -1}}]).toArray(function (err, worksCV) { + db.collection('talks').aggregate( + [ + {'$sort' : {'date' : -1}}, + {'$group': {_id: { $substr: ['$date',0,4] }, talks: { $push: "$$ROOT" }}}, + {'$sort' : {'_id' : -1}}]).toArray(function (err, talks) { + dict.works = worksCV; + dict.talks = talks; + console.log('talks: ' + talks); + console.log('works: ' + worksCV); + res.render('cv.template', {resume: dict, css: css}); + db.collection('works').update({}, {$unset: {'events':1}}, {multi: true}); + }); + }); + return; // All done! + } var titleToSearch = work.title; //the abstract will need to be handled better eventually @@ -229,6 +253,14 @@ router.get('/cv', function(req, res, next) { return str.toLowerCase(); }); + Handlebars.registerHelper('toArray', function(val) { + if (typeof val === 'string') { + return [val] + } else { + return val + } + }); + Handlebars.registerHelper('unless_blank', function(item, block) { return (item && item.replace(/\s/g,"").length) ? block.fn(this) : block.inverse(this); }); diff --git a/views/cv.template b/views/cv.template index 3e3e40f..513ad32 100644 --- a/views/cv.template +++ b/views/cv.template @@ -1,445 +1,432 @@ - - - - - {{#resume.basics}}{{name}}{{/resume.basics}} - - - + + + + + {{#resume.basics}}{{name}}{{/resume.basics}} + + + + + + + + + + + + + +
+ {{#resume.basics}} +
+
+

{{name}}

+

{{label}}

+
+
+
    +
  • {{email}}
  • +
  • {{phone}}
  • +
  • {{website}}
  • +
  • + {{#each profiles}} + {{username}} + {{/each}} +
  • +
+
+
+
+ + + + + +
+
+ {{#each resume.education}} +
+ {{#if @first}} +
+

Education

+
+ {{/if}} +
+
+
{{studyType}} in {{area}}, {{institution}}, {{prettifyYearDate endDate}}
+
- - +
+
+ {{/each}} +
+
- - - + - -
- {{#resume.basics}} +
+
+ {{#each resume.teaching}} +
+ {{#if @first}} +
+

+
+ Teaching

+
+ {{/if}}
-
-

{{name}}

-

{{label}}

+
+
{{company}}, {{position}}
+ {{prettifyMonthDate startDate}} – {{prettifyMonthDate endDate}}
-
-
    -
  • {{email}}
  • -
  • {{phone}}
  • -
  • {{website}}
  • -
  • - {{#each profiles}} - {{username}} - {{/each}} -
  • + +
+
+
+
    +
  • {{summary}}
  • + {{#each highlights}} +
  • {{this}}
  • + {{/each}}
-
+
+ {{/each}} +
+
- - +
+ {{#each resume.talks}} + {{#each this.talks}} + {{#if @first}} + +
+ {{/if}} +
+
+ {{#if @../first}} + {{#if @first}} +
+

+
+ Lectures

+
+ {{/if}} + {{/if}} + {{#if @first}}
-
-

Profile

-
-
- {{summary}} -
- {{/resume.basics}} -
-
- --> - - -
-

About

-
-
-
-

- My work often explores simple processes where dynamic systems, situations, and settings are realized in a variety of ways from performances to installations. To me, everything we experience is computable. Given this digital philosophy, I acknowledge even my most open works as algorithmic; and, while not always apparent on the surface of any given piece, the considerations of computability and epistemology are integral to my practice. I often reconcile epistemological limits with artistic practicality by considering and addressing the limits of computation from an artistic and experiential vantage point and by collaborating with other artists, mathematicians, and scientists in order to integrate objects, ideas, and texts from various domains as structural elements in my pieces. -

-My work has been presented at venues and festivals throughout the world such as REDCAT, in Los Angeles; the Ostrava Festival of New Music in the Czech Republic; Tsonami Arte Sonoro Festival in Valparaiso, Chile; the Huddersfield New Music Festival in the United Kingdom; and Umbral Sesiones at the Museo de Arte Contemporáneo in Oaxaca, Mexico. Recordings of my music have been released by Another Timbre, New World Records, Edition Wandelweiser, Bahn Mi Verlag, Tsonami Records, and Pogus Productions. From 2018 to 2019, I was a fellow / artist-in-residence at the Akademie Schloss Solitude in Stuttgart, Germany. In 2008, I co-founded the wulf., a Los Angeles-based organization dedicated to experimental performance and art. As a laboratory and hub for exploring new ideas, the wulf. has become an experiment in alternative communities and economies. Similarly, my work subverts discriminatory conventions and hierarchies by exploring alternative forms of presentation and interaction. -

+
-
-
+
+
{{prettifyYearDate date}}
+
+ {{/if}} +
+
+
{{location}}
+
+
+ {{#each (toArray title)}} - -
-

Works

-
-
+
{{this}}
+{{/each}} -
- A chronological performance / exhibition history, scores, and recordings are available at <www.unboundedpress.org>. -
- All scores are also published or forthcoming through Frog Peak at <www.frogpeak.org/fpartists/fpwinter.html>. -
+
- -
-
- {{#each resume.works}} - - {{#each this.works}} -
- {{#if @first}} -
- {{/if}} -
-
-
{{title}}
- {{#each instrument_tags}} -
{{this}}
- {{/each}} - {{#each events}} -
   {{prettifyDayDate start_date}} - {{ venue.name }}; {{ venue.city }}, {{ venue.state }}
+
+
+
    +
  • {{summary}}
  • + {{#each highlights}} +
  • {{this}}
  • {{/each}} -
- {{#if @first}} -
- {{prettifyYearDate date}} -
- {{/if}} -
- -
-
-
-
-
    -
  • {{summary}}
  • - {{#each highlights}} -
  • {{this}}
  • - {{/each}} -
-
-
+
- {{/each}} - - {{/each}}
-
- -
- - - -
-

Publications

-
-
- {{#each resume.publications}} -
-
-
-
{{entryTags.title}}
-
{{entryTags.author}} - {{#if entryTags.booktitle}}{{entryTags.booktitle}}. {{/if}} - {{#if entryTags.journal}}{{entryTags.journal}}. {{/if}} - {{#if entryTags.editor}}editors {{entryTags.editor}}{{/if}} - {{#if entryTags.volume}}volume {{entryTags.volume}}{{#if entryTags.number}} ({{entryTags.number}}){{/if}}. {{/if}} - {{#if entryTags.pages}}pages {{entryTags.pages}}. {{/if}} - {{#if entryTags.publisher}} {{entryTags.publisher}}. {{/if}}{{entryTags.year}}.
-
-
-
-
-
    - {{#if website}} -
  • {{website}}
  • - {{/if}} -
  • {{summary}}
  • - {{#each highlights}} -
  • {{this}}
  • - {{/each}} -
-
-
-
- {{/each}} -
-
-
- + {{/each}} +
+ {{/each}} +
- -
-

Talks

-
-
-
- {{#each resume.talks}} -
-
-
-
{{location}}
-
{{title}}
-
-
- {{prettifyMonthDate date}} -
-
-
-
-
    -
  • {{summary}}
  • - {{#each highlights}} -
  • {{this}}
  • - {{/each}} -
-
-
-
- {{/each}} +
+
+ {{#each resume.work}} +
+ {{#if @first}} +
+

+
+ Relevant Positions

+
+ {{/if}} +
+
+
{{company}}, {{position}}
+ {{prettifyMonthDate startDate}} – {{prettifyMonthDate endDate}}
-
-
- -
-

Releases

-
-
-
- {{#each resume.releases}} -
-
-
-
{{title}}
-
{{work}}
-
{{publisher}}. {{media_type}}. {{date}}.
-
-
-
-
-
    - {{#if website}} -
  • {{website}}
  • - {{/if}} -
  • {{summary}}
  • - {{#each highlights}} -
  • {{this}}
  • - {{/each}} -
-
-
-
- {{/each}} -
- -
- - -
-

Residencies and Awards

-
-
-
- {{#each resume.residencies}} -
-
-
-
{{org}}
-
{{type}}
-
-
- {{ date }} -
-
-
-
-
    - {{#if website}} -
  • {{website}}
  • - {{/if}} -
  • {{summary}}
  • - {{#each highlights}} -
  • {{this}}
  • - {{/each}} -
-
-
-
- {{/each}} +
+
+
    +
  • {{summary}}
  • + {{#each highlights}} +
  • {{this}}
  • + {{/each}} +
+
+ {{/each}} +
+
-{{!-- -
-

Works and Performances

-
-
-
- Work list, scores, and performance list available at www.unboundedpress.org or on request. -
+ +
+
+
+
+

+
+ Coding Skills

+
+
+
+ {{#each resume.skills}} + Expertise in: + {{#each keywords}} + {{#if @last}} + {{this}} + {{else}} + {{this}}, + {{/if}} + {{/each}} +
+ {{/each}}
-
- --}} - - -
+
+
+
+
- -
-

Work Experience

-
-
+ +
+
+ {{#each resume.publications}} +
+ {{#if @first}} +
+

+
+ Publications

+
+ {{/if}} +
- {{#each resume.work}} -
-
-
-
{{company}}
-
{{position}}
-
-
- {{prettifyMonthDate startDate}} – {{prettifyMonthDate endDate}} -
+
{{{entryTags.title}}}
+
+
+ {{entryTags.author}} ({{entryTags.year}}). + {{#if entryTags.editor}}(Eds.) {{entryTags.editor}}{{/if}} + {{#if entryTags.booktitle}}{{entryTags.booktitle}}.{{/if}} + {{#if entryTags.journal}}{{entryTags.journal}},{{/if}} + {{#if entryTags.volume}}{{entryTags.volume}}{{#if entryTags.number}}({{entryTags.number}}){{/if}}.{{/if}} + {{#if entryTags.publisher}}{{entryTags.publisher}}.{{/if}}
-
-
-
    -
  • {{summary}}
  • - {{#each highlights}} -
  • {{this}}
  • - {{/each}} -
-
+
+
+
+
    + {{#if website}} +
  • {{website}}
  • + {{/if}} +
  • {{summary}}
  • + {{#each highlights}} +
  • {{this}}
  • + {{/each}} +
- {{/each}}
-
- - - -
-

Education

+ {{/each}} +
+
+ + + + +
+ +
+
+ {{#each resume.solo_releases}} +
+ {{#if @first}} +
+

+
+ Recordings

+
+
+
Solo Albums
+
+ {{/if}} +
+
+
{{title}}. {{publisher}}. {{media_type}}. {{date}}.
+
-
-
- {{#each resume.education}} -
-
-
-
{{institution}}
- {{studyType}} in {{area}} - {{#if gpa}} -
- {{gpa}} -
+
+
+
-
-
- {{prettifyMonthDate endDate}} -
-
-
+
  • {{summary}}
  • + {{#each highlights}} +
  • {{this}}
  • + {{/each}} +
    - {{/each}}
    - -
    - - -
    -

    Skills

    + {{/each}} +
    +
    + +
    +
    + {{#each resume.compilation_releases}} + {{#if @first}} +
    +
    Compilation Albums
    +
    + {{/if}} +
    +
    +
    +
    {{title}}. {{publisher}}. {{media_type}}. {{date}}.
    +
    featuring {{work}}
    +
    -
    -
    - {{#each resume.skills}} - {{name}}: - {{#each keywords}} - {{#if @last}} - {{this}} - {{else}} - {{this}}, - {{/if}} - {{/each}} -
    - {{/each}} +
    +
    +
      + {{#if website}} +
    • {{website}}
    • + {{/if}} +
    • {{summary}}
    • + {{#each highlights}} +
    • {{this}}
    • + {{/each}} +
    +
    + {{/each}} +
    +
    -
    +
    - - +
    +
    + {{#each resume.residencies}} +
    + {{#if @first}} +
    +

    +
    + Residencies and Awards

    +
    + {{/if}}
    -
    -

    Interests

    +
    +
    {{org}}, {{ date }}
    -
    - {{#each resume.interests}} - {{name}}: - {{#each keywords}} - {{#if @last}} - {{this}} - {{else}} - {{this}}, - {{/if}} - {{/each}} -
    - {{/each}} +
    +
    +
    +
      + {{#if website}} +
    • {{website}}
    • + {{/if}} +
    • {{summary}}
    • + {{#each highlights}} +
    • {{this}}
    • + {{/each}} +
    -
    - --> +
    + {{/each}} +
    +
    - -
    -

    References

    + + +
    +
    + {{#each resume.references}} +
    + {{#if @first}} +
    +

    +
    + References

    +
    + {{/if}} +
    +
    +
    {{name}}
    +
    {{position}}
    +
    {{email}}
    -
    -
    - {{#each resume.references}} -
    -
    -
    -
    {{name}}
    -
    {{position}}
    -
    {{email}}
    -
    -
    -
    -
    -
      - {{#if website}} -
    • {{website}}
    • - {{/if}} -
    • {{summary}}
    • - {{#each highlights}} -
    • {{this}}
    • - {{/each}} -
    -
    -
    -
    - {{/each}} +
    +
    +
    +
      + {{#if website}} +
    • {{website}}
    • + {{/if}} +
    • {{summary}}
    • + {{#each highlights}} +
    • {{this}}
    • + {{/each}} +
    +
    + {{/each}} +
    +
    - -
    - - +
    +