Commit 75d0d8f4 authored by Bryan Richter's avatar Bryan Richter

Add HCAR 10/2015 entry

parents
\ProvidesPackage{hcar}
\newif\ifhcarfinal
\hcarfinalfalse
\DeclareOption{final}{\hcarfinaltrue}
\ProcessOptions
\RequirePackage{keyval}
\RequirePackage{color}
\RequirePackage{array}
\ifhcarfinal
\RequirePackage[T1]{fontenc}
\RequirePackage{lmodern}
\RequirePackage{tabularx}
\RequirePackage{booktabs}
\RequirePackage{framed}
\RequirePackage[obeyspaces,T1]{url}
\RequirePackage
[bookmarks=true,colorlinks=true,
urlcolor=urlcolor,
linkcolor=linkcolor,
breaklinks=true,
pdftitle={Haskell Communities and Activities Report}]%
{hyperref}
\else
\RequirePackage[obeyspaces]{url}
\fi
\urlstyle{sf}
\definecolor{urlcolor}{rgb}{0.1,0.3,0}
\definecolor{linkcolor}{rgb}{0.3,0,0}
\definecolor{shadecolor}{rgb}{0.9,0.95,1}%{0.98,1.0,0.95}
\definecolor{framecolor}{gray}{0.9}
\definecolor{oldgray}{gray}{0.7}
\newcommand{\Contact}{\subsubsection*{Contact}}
\newcommand{\FurtherReading}{\subsubsection*{Further reading}}
\newcommand{\FuturePlans}{\subsubsection*{Future plans}}
\newcommand{\WhatsNew}{\subsubsection*{What is new?}}
\newcommand{\Separate}{\smallskip\noindent}
\newcommand{\FinalNote}{\smallskip\noindent}
\newcommand{\urlpart}{\begingroup\urlstyle{sf}\Url}
\newcommand{\email}[1]{\href{mailto:\EMailRepl{#1}{ at }}{$\langle$\urlpart{#1}$\rangle$}}
\newcommand{\cref}[1]{($\rightarrow\,$\ref{#1})}
\ifhcarfinal
\let\hcarshaded=\shaded
\let\endhcarshaded=\endshaded
\else
\newsavebox{\shadedbox}
\newlength{\shadedboxwidth}
\def\hcarshaded
{\begingroup
\setlength{\shadedboxwidth}{\linewidth}%
\addtolength{\shadedboxwidth}{-2\fboxsep}%
\begin{lrbox}{\shadedbox}%
\begin{minipage}{\shadedboxwidth}\ignorespaces}
\def\endhcarshaded
{\end{minipage}%
\end{lrbox}%
\noindent
\colorbox{shadecolor}{\usebox{\shadedbox}}%
\endgroup}
\fi
\ifhcarfinal
\newenvironment{hcartabularx}
{\tabularx{\linewidth}{l>{\raggedleft}X}}
{\endtabularx}
\else
\newenvironment{hcartabularx}
{\begin{tabular}{@{}m{.3\linewidth}@{}>{\raggedleft}p{.7\linewidth}@{}}}
{\end{tabular}}
\fi
\ifhcarfinal
\let\hcartoprule=\toprule
\let\hcarbottomrule=\bottomrule
\else
\let\hcartoprule=\hline
\let\hcarbottomrule=\hline
\fi
\define@key{hcarentry}{chapter}[]{\let\level\chapter}
\define@key{hcarentry}{section}[]{\let\level\section}
\define@key{hcarentry}{subsection}[]{\let\level\subsection}
\define@key{hcarentry}{subsubsection}[]{\let\level\subsubsection}
\define@key{hcarentry}{level}{\let\level=#1}
%\define@key{hcarentry}{label}{\def\entrylabel{\label{#1}}}
\define@key{hcarentry}{new}[]%
{\let\startnew=\hcarshaded\let\stopnew=\endhcarshaded
\def\startupdated{\let\orig@addv\addvspace\let\addvspace\@gobble}%
\def\stopupdated{\let\addvspace\orig@addv}}
\define@key{hcarentry}{old}[]{\def\normalcolor{\color{oldgray}}\color{oldgray}}%
\define@key{hcarentry}{updated}[]%
{\def\startupdated
{\leavevmode\let\orig@addv\addvspace\let\addvspace\@gobble\hcarshaded}%
\def\stopupdated{\endhcarshaded\let\addvspace\orig@addv}}
\def\@makeheadererror{\PackageError{hcar}{hcarentry without header}{}}
\newenvironment{hcarentry}[2][]%
{\let\level\subsection
\let\startupdated=\empty\let\stopupdated=\empty
\let\startnew=\empty\let\stopnew=\empty
%\let\entrylabel=\empty
\global\let\@makeheaderwarning\@makeheadererror
\setkeys{hcarentry}{#1}%
\startnew\startupdated
\level{#2}%
% test:
\global\let\@currentlabel\@currentlabel
%\stopupdated
\let\report@\empty
\let\groupleaders@\empty
\let\members@\empty
\let\contributors@\empty
\let\participants@\empty
\let\developers@\empty
\let\maintainer@\empty
\let\status@\empty
\let\release@\empty
\let\portability@\empty
\let\entry@\empty}%
{\stopnew\@makeheaderwarning}%
\renewcommand{\labelitemi}{$\circ$}
\settowidth{\leftmargini}{\labelitemi}
\addtolength{\leftmargini}{\labelsep}
\newcommand*\MakeKey[2]%
{\expandafter\def\csname #1\endcsname##1%
{\expandafter\def\csname #1@\endcsname{\Key@{#2}{##1}}\ignorespaces}}
\MakeKey{report}{Report by:}
\MakeKey{status}{Status:}
\MakeKey{groupleaders}{Group leaders:}
\MakeKey{members}{Members:}
\MakeKey{contributors}{Contributors:}
\MakeKey{participants}{Participants:}
\MakeKey{developers}{Developers:}
\MakeKey{maintainer}{Maintainer:}
\MakeKey{release}{Current release:}
\MakeKey{portability}{Portability:}
\MakeKey{entry}{Entry:}
\newcommand\Key@[2]{#1 & #2\tabularnewline}
\newcommand\makeheader
{\smallskip
\begingroup
\sffamily
\small
\noindent
\let\ohrule\hrule
\def\hrule{\color{framecolor}\ohrule}%
\begin{hcartabularx}
\hline
\report@
\groupleaders@
\members@
\participants@
\developers@
\contributors@
\maintainer@
\status@
\release@
\portability@
\hcarbottomrule
\end{hcartabularx}
\endgroup
\stopupdated
\global\let\@makeheaderwarning\empty
\@afterindentfalse
\@xsect\smallskipamount}
% columns/linebreaks, interchanged
\newcommand\NCi{&\let\NX\NCii}%
\newcommand\NCii{&\let\NX\NL}%
\newcommand\NL{\\\let\NX\NCi}%
\let\NX\NCi
\newcommand\hcareditor[1]{&#1 (ed.)&\\}
\newcommand\hcarauthor[1]{#1\NX}%
\newcommand\hcareditors[1]{\multicolumn{3}{c}{#1 (eds.)}\\[2ex]}
\documentclass[DIV16,twocolumn,10pt]{scrreprt}
\usepackage{paralist}
\usepackage{graphicx}
\usepackage[final]{hcar}
%include polycode.fmt
\begin{document}
\begin{hcarentry}{Snowdrift.coop}
\report{Bryan Richter <bryan@snowdrift.coop>}
\status{Work in progress}
\participants{Aaron Wolf <aaron@snowdrift.coop> \\ et al.}% optional
\begin{figure}[h]
\vspace{-25pt}
\centering
\includegraphics[width=0.48\textwidth]{snowdrift-logo_symbol-wordmark_dark-blue}
\vspace{-25pt}
\end{figure}
\makeheader
Snowdrift.coop is a web platform for funding and supporting free/libre/open
projects. We are tackling the `snowdrift dilemma' that limits contributions
to non-rivalrous goods such as open-source software. The organization is a
non-profit multi-stakeholder cooperative, and all code is available under
OSI- and FSF-approved licenses. Haskell is our primary programming
language, and we welcome any interested contributors to help us accelerate
our progress.
In our current work we have recently focused on three main areas: 1)
opening the project to greater participation through code refactoring and
tool development, 2) firming up the co-op governance structure, and 3)
creating a comprehensive design framework for the website. There is also
plenty of ongoing feature development on various aspects of the live site.
One notable contribution Snowdrift has made to the Haskell ecosystem is a
thorough `getting started' experience for beginners, from text editor
suggestions to introductions to git. As part of that effort, we have
developed a foolproof build process, with a tip of our hats to the new tool
\texttt{stack}, and have developed a database initialization tool and
various Yesod integrations with ghci and text editors. Interested
contributors will find many opportunities for progress in this area.
The funding mechanism is not yet functional but progressing. Once
functional, Snowdrift.coop itself will be a supported project, and should
prove to be an excellent test-case for the adoption and success of the
concept. In the meanwhile, we are actively looking for ways to improve both
productivity and opportunities for our distributed team of volunteers.
Experienced Haskellers are invited to mentor volunteers, take ownership of
component libraries, and provide opinions and insights. New
Haskellers---not to mention designers, writers, economists, legal
professionals, or anyone else philosophically inclined to our mission of
freeing the commons---are especially welcome; we pride ourselves on being
inclusive and approachable by (non\mbox{-})programmers at any level of
technical sophistication!
\FurtherReading
\url{https://snowdrift.coop} (main site, with many resources)\\
\url{https://lists.snowdrift.coop} (mailing lists)\\
\url{https://git.gnu.io/snowdrift} (code repository)
\end{hcarentry}
\end{document}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment