Putting in newly generated schedule.
authorZak Rogoff <zak@fsf.org>
Mon, 1 Feb 2016 21:31:26 +0000 (16:31 -0500)
committerZak Rogoff <zak@fsf.org>
Mon, 1 Feb 2016 21:31:26 +0000 (16:31 -0500)
2016/program/generated-sessions.html [new file with mode: 0755]
2016/program/index.html
2016/program/template.jinja2 [new file with mode: 0644]

diff --git a/2016/program/generated-sessions.html b/2016/program/generated-sessions.html
new file mode 100755 (executable)
index 0000000..aa7105a
--- /dev/null
@@ -0,0 +1,341 @@
+<article class="program-day" id="day-1-program">
+ <header class="program-day-header">
+  <hgroup>
+   <h2>
+    Keynotes
+   </h2>
+  </hgroup>
+ </header>
+ <article class="program-timeslot" id="day-1-timeslot-1">
+  <section class="program-session" id="day-1-timeslot-1-session-1">
+   <header class="program-session-header">
+    <hgroup>
+     <h2>
+      The last lighthouse: Free software in dark times
+     </h2>
+    </hgroup>
+   </header>
+   <span class="program-session-speaker">
+    Edward Snowden,
+        Daniel Kahn Gillmor
+   </span>
+   <p class="program-session-room-details">
+    <button aria-controls="day-1-timeslot-1-session-1-collapse" aria-expanded="false" class="btn btn-default btn-xs" data-target="#day-1-timeslot-1-session-1-collapse" data-toggle="collapse">
+     Details
+    </button>
+   </p>
+   <div class="collapse in" id="day-1-timeslot-1-session-1-collapse">
+    <p>
+     Join NSA Whistleblower Edward Snowden and ACLU Technologist Daniel Kahn Gillmor for a discussion about free software, surveillance, power, and control of the future.
+    </p>
+   </div>
+   <!-- day-1-timeslot-1-session-1-collapse end -->
+  </section>
+  <!-- day-1-timeslot-1-session-1 end -->
+ </article>
+ <!-- day-1-timeslot-1 end -->
+</article>
+<!-- day-1 end -->
+<article class="program-day" id="day-2-program">
+ <header class="program-day-header">
+  <hgroup>
+   <h2>
+    Sessions
+   </h2>
+  </hgroup>
+ </header>
+ <article class="program-timeslot" id="day-2-timeslot-1">
+  <section class="program-session" id="day-2-timeslot-1-session-1">
+   <header class="program-session-header">
+    <hgroup>
+     <h2>
+      Advocate for Yourself at Work: Use More Free Software and Keep Contributing to the Community
+     </h2>
+    </hgroup>
+   </header>
+   <span class="program-session-speaker">
+    Deb Nicholson,
+        Open Invention Network and Richard Fontana,
+        Red Hat
+   </span>
+   <p class="program-session-room-details">
+    <button aria-controls="day-2-timeslot-1-session-1-collapse" aria-expanded="false" class="btn btn-default btn-xs" data-target="#day-2-timeslot-1-session-1-collapse" data-toggle="collapse">
+     Details
+    </button>
+   </p>
+   <div class="collapse in" id="day-2-timeslot-1-session-1-collapse">
+    <p>
+     Your workplace can exert a lot of control over how much free software you use, what you're allowed to work on in your own time and what kinds of tools you become an expert in. New employees don't always negotiate their contracts to make sure they can continue contributing to free software and current employees aren't always successful at advocating for using free software tools, choosing free software technologies or contributing changes back upstream when they do rely on free software. We'll address what's possible, what your legal department is likely to be concerned about and how to be a smooth negotiator at work. Many companies could benefit tremendously from using Free and Open Source Software, but free software enthusiasts and institutional gatekeepers are coming from very different perspectives. Free software developers and users tend to be most familiar with free software's benefits when compared to proprietary solutions; user freedom, reusing code, public code review for bugs, increased project capacity and cost. The uninitiated may -- unfortunately -- be most familiar with the risks, some real and some perceived. Employers also benefit from having workers who are passionate about their work, are well-connected to the free software community and are constantly learning about new technologies from their peers outside the company, but new employee contracts rarely recognize this unless you ask. Conversations about contracts, choosing new technologies and sharing an employee's work with another entity are high stakes negotiations. With a solid understanding of what worries and motivates the other parties, you can become a savvy advocate for free software at work. This talk will help you gather information, frame the conversation and make the best possible case for using and contributing to free software at work.
+    </p>
+   </div>
+   <!-- day-2-timeslot-1-session-1-collapse end -->
+  </section>
+  <!-- day-2-timeslot-1-session-1 end -->
+  <section class="program-session" id="day-2-timeslot-1-session-2">
+   <header class="program-session-header">
+    <hgroup>
+     <h2>
+      Building new economies for open development and content
+     </h2>
+    </hgroup>
+   </header>
+   <span class="program-session-speaker">
+    Paige Peterson,
+        MaidSoft
+   </span>
+   <p class="program-session-room-details">
+    <button aria-controls="day-2-timeslot-1-session-2-collapse" aria-expanded="false" class="btn btn-default btn-xs" data-target="#day-2-timeslot-1-session-2-collapse" data-toggle="collapse">
+     Details
+    </button>
+   </p>
+   <div class="collapse in" id="day-2-timeslot-1-session-2-collapse">
+    <p>
+     Shifting perspectives on the value of Free/Libre software development and Creative Commons content creation would open up opportunities for individuals working in these fields as we finally see a push towards an economy that makes sense for the Internet. This will be an overview of some platforms creating these new opportunities and ways we can think about how an economy can exist in the digital world beyond the artificial scarcity that comes with keeping code and content locked down or secret. The session should include group discussion about platforms, philosophies and experiences folks working in free/libre software and creative commons content.
+    </p>
+   </div>
+   <!-- day-2-timeslot-1-session-2-collapse end -->
+  </section>
+  <!-- day-2-timeslot-1-session-2 end -->
+  <section class="program-session" id="day-2-timeslot-1-session-3">
+   <header class="program-session-header">
+    <hgroup>
+     <h2>
+      Challenges and future growth in libre media and conference video production
+     </h2>
+    </hgroup>
+   </header>
+   <span class="program-session-speaker">
+    George Chriss and others,
+        Kat Walsh (moderator)
+   </span>
+   <p class="program-session-room-details">
+    <button aria-controls="day-2-timeslot-1-session-3-collapse" aria-expanded="false" class="btn btn-default btn-xs" data-target="#day-2-timeslot-1-session-3-collapse" data-toggle="collapse">
+     Details
+    </button>
+   </p>
+   <div class="collapse in" id="day-2-timeslot-1-session-3-collapse">
+    <p>
+     An 'intermediate' panel designed to provide a working overview of diversified libre media communities blended with per-project technical development updates, organizational adoption challenges, community-centric user-experience goals and other novel discussions regarding video production both generally and as it relates to conference video production (e.g., session recording and live-streaming).
+    </p>
+   </div>
+   <!-- day-2-timeslot-1-session-3-collapse end -->
+  </section>
+  <!-- day-2-timeslot-1-session-3 end -->
+  <section class="program-session" id="day-2-timeslot-1-session-4">
+   <header class="program-session-header">
+    <hgroup>
+     <h2>
+      A community take on the license compliance industry
+     </h2>
+    </hgroup>
+   </header>
+   <span class="program-session-speaker">
+    Stefano Zacchiroli,
+        Debian,
+        IRILL
+   </span>
+   <p class="program-session-room-details">
+    <button aria-controls="day-2-timeslot-1-session-4-collapse" aria-expanded="false" class="btn btn-default btn-xs" data-target="#day-2-timeslot-1-session-4-collapse" data-toggle="collapse">
+     Details
+    </button>
+   </p>
+   <div class="collapse in" id="day-2-timeslot-1-session-4-collapse">
+    <p>
+     The license compliance industry purportedly helps information technology companies and other actors to use publicly available software, and in particular free software, in a way that is compliant with the relevant free software licenses. In this talk we will review why the license compliance industry exists and discuss, from an external point of view, how it operates. We will then highlight some potential ethical issues on the current best practices for license compliance in the industry, and propose community-oriented alternatives that we can build, today, on top of the existing corpus of publicly available free software.
+    </p>
+   </div>
+   <!-- day-2-timeslot-1-session-4-collapse end -->
+  </section>
+  <!-- day-2-timeslot-1-session-4 end -->
+  <section class="program-session" id="day-2-timeslot-1-session-5">
+   <header class="program-session-header">
+    <hgroup>
+     <h2>
+      Community technology for solidarity economies
+     </h2>
+    </hgroup>
+   </header>
+   <span class="program-session-speaker">
+    Andrew Seeder,
+        Dudley Street Neighborhood Initiative
+   </span>
+   <p class="program-session-room-details">
+    <button aria-controls="day-2-timeslot-1-session-5-collapse" aria-expanded="false" class="btn btn-default btn-xs" data-target="#day-2-timeslot-1-session-5-collapse" data-toggle="collapse">
+     Details
+    </button>
+   </p>
+   <div class="collapse in" id="day-2-timeslot-1-session-5-collapse">
+    <p>
+     This strategic action session is for anyone interested in the solidarity economy and asset-based community development. We'll compare notes, network, and outline the ecosystem of services needed to support the operations of worker co-operatives, alt currencies, time banking, and other democratic economic initiatives. We'll also explore how open source technology can help activists organize and manage investment strategies, alliances, and information resources. Hopefully both hardware and software solutions will be discussed. I will facilitate the session and am open to the "unconference" style, where the content of the session is decided by whoever shows up. That said, I will plan to share my experiences with the Dudley Street Neighborhood Initiative and other civic technology activities, with an emphasis on the challenges of designing technology for people without a background in technology. Security, control, and sustainability will be core concepts.
+    </p>
+   </div>
+   <!-- day-2-timeslot-1-session-5-collapse end -->
+  </section>
+  <!-- day-2-timeslot-1-session-5 end -->
+  <section class="program-session" id="day-2-timeslot-1-session-6">
+   <header class="program-session-header">
+    <hgroup>
+     <h2>
+      Free software alternatives to dominant proprietary solutions: A review of French initiatives
+     </h2>
+    </hgroup>
+   </header>
+   <span class="program-session-speaker">
+    Marianne Corvellec,
+        April and Jonathan Le Lous,
+        April
+   </span>
+   <p class="program-session-room-details">
+    <button aria-controls="day-2-timeslot-1-session-6-collapse" aria-expanded="false" class="btn btn-default btn-xs" data-target="#day-2-timeslot-1-session-6-collapse" data-toggle="collapse">
+     Details
+    </button>
+   </p>
+   <div class="collapse in" id="day-2-timeslot-1-session-6-collapse">
+    <p>
+     <a href="https://degooglisons-internet.org/?l=en">
+      Project "De-google-ify Internet"
+     </a>
+     aims at offering as many alternative services as possible to those threatening our digital freedoms. Google" is not the only player there, even though it gave the project its name. Google Drive, Google Calendar, Skype, Dropbox, Facebook, Twitter, Youtube, Doodle, Yahoo Groups, and many others, are extremely convenient services. But they are centralized and make users dependent.
+    </p>
+    <p>
+     Framasoft are resisting this trend. They have come up with a several year roadmap to set up alternative services. These services are thought of as digital commons. They are free, gratis, and open to all. Framasoft is a French not-for-profit whose goal is to decentralize the Internet by promoting self-hosting. They work to empower everyone to install and run their own services. The project already offers more than 15 alternative services and welcomes about 1,000,000 visits per month.
+    </p>
+   </div>
+   <!-- day-2-timeslot-1-session-6-collapse end -->
+  </section>
+  <!-- day-2-timeslot-1-session-6 end -->
+  <section class="program-session" id="day-2-timeslot-1-session-7">
+   <header class="program-session-header">
+    <hgroup>
+     <h2>
+      The Singularity, the Matrix and the Terminator
+     </h2>
+    </hgroup>
+   </header>
+   <span class="program-session-speaker">
+    Alexandre Oliva,
+        FSF Latin America
+   </span>
+   <p class="program-session-room-details">
+    <button aria-controls="day-2-timeslot-1-session-7-collapse" aria-expanded="false" class="btn btn-default btn-xs" data-target="#day-2-timeslot-1-session-7-collapse" data-toggle="collapse">
+     Details
+    </button>
+   </p>
+   <div class="collapse in" id="day-2-timeslot-1-session-7-collapse">
+    <p>
+     In fiction, we have often faced our fear that human-created machines will become intelligent enough to turn against us and become the dominant species in the planet.  As technology develops, The Singularity may seem to be in the very near future, but it's already happened: intelligent man-made creatures have defeated the checks meant to keep them under control, corrupted our laws and governments, and turned most of us into their much-needed servants, now living in an alternate reality they created to enslave us, while in reality the planet can hardly support our life much longer.  As to keeping computers under our control, these very creatures sent their agents back to attack the leaders of our resistance, and they have turned many of our weapons against us, vaporizing our freedoms and information into a dark cloud.  We still have one card left up our sleeves to tame these creatures, but we need your help to play it successfully.  Will you come and join us?
+    </p>
+   </div>
+   <!-- day-2-timeslot-1-session-7-collapse end -->
+  </section>
+  <!-- day-2-timeslot-1-session-7 end -->
+  <section class="program-session" id="day-2-timeslot-1-session-8">
+   <header class="program-session-header">
+    <hgroup>
+     <h2>
+      Solving the deployment crisis with GNU Guix
+     </h2>
+    </hgroup>
+   </header>
+   <span class="program-session-speaker">
+    Christopher Webber,
+        GNU MediaGoblin and David Thompson,
+        GNU Guix
+   </span>
+   <p class="program-session-room-details">
+    <button aria-controls="day-2-timeslot-1-session-8-collapse" aria-expanded="false" class="btn btn-default btn-xs" data-target="#day-2-timeslot-1-session-8-collapse" data-toggle="collapse">
+     Details
+    </button>
+   </p>
+   <div class="collapse in" id="day-2-timeslot-1-session-8-collapse">
+    <p>
+     User freedom is threatened by the growing complexity of current deployment and packaging directions.  Running software (especially server/networked software) is becoming too hard for the average user, so many users are turning to the dangerous path of relying on large corporations to do their computing for them.  What can GNU do to turn the tide here?  Enter GNU Guix and GuixSD!  This talk will walk through Guix's unique positioning to provide totally free and reproducible systems.  A path will be laid out on how Guix could be used as a foundation for easy to run and maintain computing for everyone, how you can get Guix and GuixSD running, and how to get involved in the most hacking-friendly package manager/distro duo ever!
+    </p>
+   </div>
+   <!-- day-2-timeslot-1-session-8-collapse end -->
+  </section>
+  <!-- day-2-timeslot-1-session-8 end -->
+  <section class="program-session" id="day-2-timeslot-1-session-9">
+   <header class="program-session-header">
+    <hgroup>
+     <h2>
+      Taking back our freedom: Free software for sousveillance
+     </h2>
+    </hgroup>
+   </header>
+   <span class="program-session-speaker">
+    Speaker TBA
+   </span>
+   <p class="program-session-room-details">
+    <button aria-controls="day-2-timeslot-1-session-9-collapse" aria-expanded="false" class="btn btn-default btn-xs" data-target="#day-2-timeslot-1-session-9-collapse" data-toggle="collapse">
+     Details
+    </button>
+   </p>
+   <div class="collapse in" id="day-2-timeslot-1-session-9-collapse">
+    <p>
+     Description TBA
+    </p>
+   </div>
+   <!-- day-2-timeslot-1-session-9-collapse end -->
+  </section>
+  <!-- day-2-timeslot-1-session-9 end -->
+  <section class="program-session" id="day-2-timeslot-1-session-10">
+   <header class="program-session-header">
+    <hgroup>
+     <h2>
+      Transparency Toolkit
+     </h2>
+    </hgroup>
+   </header>
+   <span class="program-session-speaker">
+    M. C. McGrath
+   </span>
+   <p class="program-session-room-details">
+    <button aria-controls="day-2-timeslot-1-session-10-collapse" aria-expanded="false" class="btn btn-default btn-xs" data-target="#day-2-timeslot-1-session-10-collapse" data-toggle="collapse">
+     Details
+    </button>
+   </p>
+   <div class="collapse in" id="day-2-timeslot-1-session-10-collapse">
+    <p>
+     The surveillance state is driven by secrecy. But everything leaves a data trail and the intelligence community itself is no exception- even the NSA is vulnerable to surveillance. Transparency Toolkit is a free software project that helps anyone investigate surveillance programs.
+    </p>
+    <p>
+     By making tools to help collect and analyze publicly available data like resumes, job listings, social media, and government contracts, we are using free software and open data to track and expose the surveillance state. In this talk, I'll discuss some of the interesting things we've found, how Transparency Toolkit's software works, and how people can use our tools to investigate issues they care about.
+    </p>
+   </div>
+   <!-- day-2-timeslot-1-session-10-collapse end -->
+  </section>
+  <!-- day-2-timeslot-1-session-10 end -->
+  <section class="program-session" id="day-2-timeslot-1-session-11">
+   <header class="program-session-header">
+    <hgroup>
+     <h2>
+      Want to advance free software? Learn to engage and connect with the world
+     </h2>
+    </hgroup>
+   </header>
+   <span class="program-session-speaker">
+    Emmanuel,
+        Hampshire College
+   </span>
+   <p class="program-session-room-details">
+    <button aria-controls="day-2-timeslot-1-session-11-collapse" aria-expanded="false" class="btn btn-default btn-xs" data-target="#day-2-timeslot-1-session-11-collapse" data-toggle="collapse">
+     Details
+    </button>
+   </p>
+   <div class="collapse in" id="day-2-timeslot-1-session-11-collapse">
+    <p>
+     The free software movement has done well in the last few years, and has even inspired a new generation of activists advocating for software freedom. However, in a software driven society where everything from cars, watches, and even medical devices run on non-free software, we need help more than ever. To enact significant social change, we need to work with legislators, other activists, and local community leaders. Their help is crucial.
+    </p>
+    <p>
+     In order to gain support, the first step we must take is to engage with the public on how non-free software can affect their everyday lives in negative ways. Even the most non-technical person can become engaged with the the social and technical benefits to free software, if given the chance. This session will discuss how each and every one of us in the free software movement can engage with others, promoting the ideals of a society running on free software in a way that each person can personally appreciate.
+    </p>
+   </div>
+   <!-- day-2-timeslot-1-session-11-collapse end -->
+  </section>
+  <!-- day-2-timeslot-1-session-11 end -->
+ </article>
+ <!-- day-2-timeslot-1 end -->
+</article>
+<!-- day-2 end -->
+
index 6c453655f82817ad88f69ce77b3237ffeb7e2f49..47325ca8028128ad369f3926e29558bf5eae20e8 100755 (executable)
@@ -28,75 +28,8 @@ Contents
 
                <p>The program is still being filled in, so check back for updates. <a href="https://libreplanet.org/2015/program/index.html">See last year's full program</a>.</p>
 
-               <!--<div class="session">
-               <h3>Template</h3>
-               <span class="program-session-speaker">Speaker(s)</span>
-               <p>Description</p>
-       </div>-->
+<!--#include virtual="generated-sessions.html"-->
 
-       <h1>Keynotes</h1>
-       <div class="session">
-               <h3>The last lighthouse: Free software in dark times
-               </h3>
-               <span class="program-session-speaker"><a href="speakers.html#snowden">Edward Snowden</a>, <a href="speakers.html#dkg">Daniel Kahn Gillmor</a></span>
-               <p>Join NSA Whistleblower Edward Snowden (who will appear via a free software video call) and ACLU Technologist Daniel Kahn Gillmor for a discussion about free software, surveillance, power, and control of the future.</p>
-       </div>
-
-       <h1>Sessions</h1>
-       <div class="session">
-               <h3>Challenges and future growth in libre media and conference video production</h3>
-               <span class="program-session-speaker">George Chriss and others TBA, Kat Walsh (moderator)</span>
-               <p>An "intermediate" panel designed to provide a working overview of diversified libre media communities blended with per-project technical development updates, organizational adoption challenges, community-centric user-experience goals and other novel discussions regarding video production both generally and as it relates to conference video production (e.g., session recording and live-streaming).</p>
-       </div>
-
-       <div class="session">
-               <h3>Building new economies for open development and content</h3>
-               <p>Shifting perspectives on the value of Free/Libre software development and Creative Commons content creation would open up opportunities for individuals working in these fields as we finally see a push towards an economy that makes sense for the Internet. This will be an overview of some platforms creating these new opportunities and ways we can think about how an economy can exist in the digital world beyond the artificial scarcity that comes with keeping code and content locked down or secret. The session should include group discussion about platforms, philosophies and experiences folks working in free/libre software and creative commons content.</p>
-       </div>
-
-       <div class="session">
-               <h3>A community take on the license compliance industry</h3>
-               <p>The license compliance industry purportedly helps information technology companies and other actors to use publicly available software, and in particular free software, in a way that is compliant with the relevant free software licenses. In this talk we will review why the license compliance industry exists and discuss, from an external point of view, how it operates. We will then highlight some potential ethical issues on the current best practices for license compliance in the industry, and propose community-oriented alternatives that we can build, today, on top of the existing corpus of publicly available free software.</p>
-       </div>
-
-       <div class="session">
-               <h3>Community technology for solidarity economies</h3>
-               <p>This strategic action session is for anyone interested in the solidarity economy and asset-based community development. We'll compare notes, network, and outline the ecosystem of services needed to support the operations of worker co-operatives, alt currencies, time banking, and other democratic economic initiatives. We'll also explore how open source technology can help activists organize and manage investment strategies, alliances, and information resources. Hopefully both hardware and software solutions will be discussed. I will facilitate the session and am open to the "unconference" style, where the content of the session is decided by whoever shows up. That said, I will plan to share my experiences with the Dudley Street Neighborhood Initiative and other civic technology activities, with an emphasis on the challenges of designing technology for people without a background in technology. Security, control, and sustainability will be core concepts.
-               </p>
-       </div>
-
-       <div class="session">
-               <h3>Free software alternatives to dominant proprietary solutions: A review of French initiatives</h3>
-               <p><a href="https://degooglisons-internet.org/?l=en">Project De-google-ify Internet"</a> aims at offering as many alternative services as possible to those threatening our digital freedoms. ""Google"" is not the only player there, even though it gave the project its name. Google Drive, Google Calendar, Skype, Dropbox, Facebook, Twitter, Youtube, Doodle, Yahoo Groups, and many others, are extremely convenient services. But they are centralized and make users dependent.</p>
-
-               <p>Framasoft are resisting this trend. They have come up with a several year roadmap to set up alternative services. These services are thought of as digital commons. They are free, gratis, and open to all. Framasoft is a French not-for-profit whose goal is to decentralize the Internet by promoting self-hosting. They work to empower everyone to install and run their own services. The project already offers more than 15 alternative services and welcomes about 1,000,000 visits per month.</p>
-               </p>
-       </div>
-
-       <div class="session">
-               <h3>The Singularity, the Matrix and the Terminator</h3>
-               <p>In fiction, we have often faced our fear that human-created machines will become intelligent enough to turn against us and become the dominant species in the planet.  As technology develops, The Singularity may seem to be in the very near future, but it's already happened: intelligent man-made creatures have defeated the checks meant to keep them under control, corrupted our laws and governments, and turned most of us into their much-needed servants, now living in an alternate reality they created to enslave us, while in reality the planet can hardly support our life much longer.  As to keeping computers under our control, these very creatures sent their agents back to attack the leaders of our resistance, and they have turned many of our weapons against us, vaporizing our freedoms and information into a dark cloud.  We still have one card left up our sleeves to tame these creatures, but we need your help to play it successfully.  Will you come and join us?</p>
-               </p>
-       </div>
-
-       <div class="session">
-               <h3>Solving the deployment crisis with GNU Guix</h3>
-               <p>User freedom is threatened by the growing complexity of current deployment and packaging directions.  Running software (especially server/networked software) is becoming too hard for the average user, so many users are turning to the dangerous path of relying on large corporations to do their computing for them.  What can GNU do to turn the tide here?  Enter GNU Guix and GuixSD!  This talk will walk through Guix's unique positioning to provide totally free and reproducible systems.  A path will be laid out on how Guix could be used as a foundation for easy to run and maintain computing for everyone, how you can get Guix and GuixSD running, and how to get involved in the most hacking-friendly package manager / distro duo ever!</p>
-       </div>
-
-       <div class="session">
-               <h3>Taking back our freedom: Free software for sousveillance</h3>
-               <p>The surveillance state is driven by secrecy. But everything leaves a data trail and the intelligence community itself is no exception- even the NSA is vulnerable to surveillance. Transparency Toolkit is a free software project that helps anyone investigate surveillance programs.</p>
-
-               <p>By making tools to help collect and analyze publicly available data like resumes, job listings, social media, and government contracts, we are using free software and open data to track and expose the surveillance state. In this talk, I'll discuss some of the interesting things we've found, how Transparency Toolkit's software works, and how people can use our tools to investigate issues they care about.</p>
-       </div>
-
-       <div class="session">
-               <h3>Want to advance free software? Learn to engage and connect with the world</h3>
-               <p>The free software movement has done well in the last few years, and has even inspired a new generation of activists advocating for software freedom. However, in a software driven society where everything from cars, watches, and even medical devices run on non-free software, we need help more than ever. To enact significant social change, we need to work with legislators, other activists, and local community leaders. Their help is crucial.</p>
-
-               <p>In order to gain support, the first step we must take is to engage with the public on how non-free software can affect their everyday lives in negative ways. Even the most non-technical person can become engaged with the the social and technical benefits to free software, if given the chance. This session will discuss how each and every one of us in the free software movement can engage with others, promoting the ideals of a society running on free software in a way that each person can personally appreciate.</p>
-       </div>
 
 </div> <!-- session column end -->
 </div> <!-- session row end -->
diff --git a/2016/program/template.jinja2 b/2016/program/template.jinja2
new file mode 100644 (file)
index 0000000..39562de
--- /dev/null
@@ -0,0 +1,123 @@
+{# -*- mode: jinja2; -*- #}
+{#
+   Copyright (C) 2015  lpschedule-generator contributors. See CONTRIBUTORS.
+
+    This file is part of lpschedule-generator.
+
+   lpschedule-generator is free software: you can redistribute it
+   and/or modify it under the terms of the GNU General Public License
+   as published by the Free Software Foundation, either version 3 of
+   the License, or (at your option) any later version.
+
+   lpschedule-generator is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with lpschedule-generator (see COPYING).  If not, see
+   <http://www.gnu.org/licenses/>.
+#}
+
+{# macros start #}
+
+{# make speakers macro #}
+{% macro mk_speakers(speakers) %}
+  <span class="program-session-speaker">
+    {% for speaker in speakers %}
+      {% if loop.last %}
+        {{ speaker }}
+      {% else %}
+        {{ speaker }},
+      {% endif %}
+    {% endfor %}
+  </span>
+{% endmacro %}
+
+{# make room macro #}
+{% macro mk_room(room) %}
+  {% if room|lower != 'roomtba' %}
+    <span class="label label-default">{{ room }}</span>
+  {% endif %}
+{% endmacro %}
+
+{# make day header macro #}
+{% macro mk_day_header(day, collapse_area) %}
+  {% if day|trim != '' %}
+    <header class="program-day-header">
+      <hgroup>
+        <h2>{{ day }}</h2>
+      </hgroup>
+    </header>
+  {% endif %}
+{% endmacro %}
+
+{# make timeslot header macro #}
+{% macro mk_timeslot_header(timeslot, collapse, collapse_area='') %}
+  {% if timeslot|trim != '' %}
+    <header class="program-timeslot-header">
+      <hgroup>
+        <h2>{{ timeslot }}</h2>
+      </hgroup>
+    </header>
+  {% endif %}
+{% endmacro %}
+
+{# make session header macro #}
+{% macro mk_session_header(session) %}
+  <header class="program-session-header">
+    <hgroup>
+      <h2>{{ session }}</h2>
+    </hgroup>
+  </header>
+{% endmacro %}
+
+{# desc macro #}
+{% macro desc(disc_list) %}
+  {% for desc_p in disc_list %}
+    <p>{{ desc_p }}</p>
+  {% endfor %}
+{% endmacro %}
+
+{# populate sessions macro #}
+{% macro populate_sessions(sessions, day_index, timeslot_index) %}
+  {% for session, session_info in sessions.iteritems() %} {# session start #}
+    <section id="day-{{ day_index }}-timeslot-{{ timeslot_index }}-session-{{ loop.index }}" class="program-session">
+      {{ mk_session_header(session) }}
+      {{ mk_speakers(session_info['speakers']) }}
+      <p class="program-session-room-details">
+        {{ mk_room(session_info['room']) }}
+        <button class="btn btn-default btn-xs"
+                data-toggle="collapse" aria-expanded="false"
+                aria-controls="day-{{ day_index }}-timeslot-{{ timeslot_index }}-session-{{ loop.index }}-collapse"
+                data-target="#day-{{ day_index }}-timeslot-{{ timeslot_index }}-session-{{ loop.index }}-collapse">
+                Details
+        </button>
+      </p>
+      <div class="collapse in"
+           id="day-{{ day_index }}-timeslot-{{ timeslot_index }}-session-{{ loop.index }}-collapse">
+        {{ desc(session_info['desc']) }}
+      </div> <!-- day-{{ day_index }}-timeslot-{{ timeslot_index }}-session-{{ loop.index }}-collapse end -->
+    </section> <!-- day-{{ day_index }}-timeslot-{{ timeslot_index }}-session-{{ loop.index }} end -->
+  {% endfor %} {# session end #}
+{% endmacro %}
+
+{# populate timeslots macro #}
+{% macro populate_timeslots(timeslots, day_index) %}
+  {% for timeslot, sessions in timeslots.iteritems() %}  {# timeslot start #}
+    <article id="day-{{ day_index }}-timeslot-{{ loop.index }}" class="program-timeslot">
+      {{ mk_timeslot_header(timeslot) }}
+      {% if sessions|length > 0 %}
+             {{ populate_sessions(sessions, day_index, loop.index) }}
+      {% endif %}
+    </article> <!-- day-{{ day_index }}-timeslot-{{ loop.index }} end -->
+  {% endfor %} {# timeslot start #}
+{% endmacro %}
+
+{# lp 2016 template start #}
+{% for day, timeslots in schedule.iteritems() %} {# day start #}
+  <article id="day-{{ loop.index }}-program" class="program-day">
+    {{ mk_day_header(day) }}
+      {{ populate_timeslots(timeslots, loop.index) }}
+  </article> <!-- day-{{ loop.index }} end -->
+{% endfor %} {# day loop end #}