<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:planet="http://planet.intertwingly.net/" xmlns:indexing="urn:atom-extension:indexing" indexing:index="no"><access:restriction xmlns:access="http://www.bloglines.com/about/specs/fac-1.0" relationship="deny"/>
  <title>Planet GNU</title>
  <updated>2016-10-20T10:15:03Z</updated>
  <generator uri="http://intertwingly.net/code/venus/">Venus</generator>
  <author>
    <name>GNU webmasters admins</name>
    <email>planet@gnu.org</email>
  </author>
  <id>http://planet.gnu.org/atom.xml</id>
  <link href="http://planet.gnu.org/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://planet.gnu.org/" rel="alternate"/>

  <entry>
    <id>http://www.fsf.org/blogs/licensing/judge-mayer-provides-a-strong-case-against-software-patents-in-intellectual-ventures-v-symantec</id>
    <link href="http://www.fsf.org/blogs/licensing/judge-mayer-provides-a-strong-case-against-software-patents-in-intellectual-ventures-v-symantec" rel="alternate" type="text/html"/>
    <title>Judge Mayer provides a strong case against software patents in Intellectual Ventures v. Symantec</title>
    <summary>Federal Circuit concurrence makes case that software is not patentable subject matter</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The Free Software Foundation (FSF) has argued for years via its <a href="http://endsoftpatents.org/">End Software Patents</a> campaign that software patents are a threat to computer users everywhere and need to be abolished. In 2010, the FSF even funded a documentary, <a href="https://www.fsf.org/news/new-documentary-film-patent-absurdity">"Patent Absurdity: how software patents broke the system,"</a> laying out the history of this destructive force.  More recently, FSF, the Open Source Initiative, and the Software Freedom Law Center filed an <a href="https://www.softwarefreedom.org/resources/2014/alice_v_cls-sflc_amicus.html">amicus curae</a> in the United State's Supreme Court case of <em>Alice Corp. v. CLS Bank Int’l</em> (<em>Alice</em>). There, we explained the dangers of software patents and <a href="https://www.fsf.org/news/fsf-joins-forces-with-software-freedom-law-center-and-open-source-initiative-to-fight-software-patents-in-u-s-supreme-court">argued</a> that "not only do software idea patents fail established tests for patentability; they also violate the First Amendment." It appears that someone on the Federal Circuit (the court that hears appeals on cases involving patents in the U.S.) took note.</p>
<p>That someone is Judge Haldane Robert Mayer, who in a stunning concurrence in <a href="http://www.cafc.uscourts.gov/sites/default/files/opinions-orders/15-1769.Opinion.9-28-2016.1.PDF"><em>Intellectual Ventures v. Symantec</em> (links to a PDF)</a> outlined the case against software patents. The argument will be familiar to those who have read the FSF's Amicus in <em>Alice</em>: software patents fail basic tests for patentability and violate the First Amendment. And while the fact that it is only a concurrence (and not the main opinion of the court) means that it is not settled law, it is a huge step forward in protecting computer users from the dangers of software patents.</p>
<p>Mayer lays out the First Amendment argument against patentability of certain subjects, noting that limits on the subject matter of patents are meant to protect free expression. Under U.S. law, 35 U.S.C § 101 (section 101) lays out the scope of patentable subject matter. In analysing this section, courts have carved out certain subjects as being outside the scope of patentability so as to protect freedom of expression. In particular, abstract ideas and mental process have been found too threatening to the free exchange of ideas to permit them to be locked up in patents. After outlining the basics, Mayer goes on to state that "Most of the First Amendment concerns associated with patent protection could be avoided if this court were willing to acknowledge that <strong>Alice sounded the death knell for software patents.</strong>"</p>
<p>This is a really significant statement, offering clear guidance in the right direction as to how the Supreme Court case should be viewed.</p>
<p>Mayer notes that the Supreme Court in <em>Alice</em> "... explained that the 'mere recitation of a generic computer cannot transform a patent-ineligible abstract idea into a patent-eligible invention.' ... Accordingly, '[t]he fact that a computer necessarily exist[s] in the physical, rather than purely conceptual, realm is beside the point'..."</p>
<p>Mayer explains that "Software lies in the antechamber of patentable invention. Because generically-implemented software is an 'idea' insufficiently linked to any defining physical structure other than a standard computer, it is a precursor to technology rather than technology itself."</p>
<p>Mayer continues the line of thought to its practical conclusion: "Given that an 'idea' is not patentable ... and a generic computer is 'beside the point' in the eligibility analysis ... <strong>all software implemented on a standard computer should be deemed categorically outside the bounds of section 101.</strong>"</p>
<p>Mayer even points out that the existence of free software itself is a strong argument against the granting of software patents. That the free software community has flourished for decades without the use of patents "suggests that innovation can flourish in software absent patent" restrictions. </p>
<p>This opinion is exactly the sort of thing we've been fighting for all these years. If only the rest of the court in <em>Intellectual Ventures v. Symantec</em> had joined in with Mayer in recognizing that software should never be subject to patents. While it is a great victory to see this analysis produced by a judge here in the U.S., there's obviously more that needs to be done before the 'death knell' truly sounds for software patents all around the world. Here's what you can do to help bring about that victory even faster:</p>
<ul>
<li>Keep up to date on the fight against software patents by joining the campaign to <a href="http://endsoftpatents.org/">End Software Patents</a></li>
<li>Support our work in fighting software patents by making a <a href="https://donate.fsf.org">donation</a> or joining as an <a href="https://www.fsf.org/join">FSF Associate member</a></li>
</ul></div>
    </content>
    <updated>2016-10-18T18:08:55Z</updated>
    <source>
      <id>http://www.fsf.org/blogs/recent-blog-posts</id>
      <author>
        <name>FSF Blogs</name>
      </author>
      <link href="http://www.fsf.org/blogs/recent-blog-posts" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/blogs.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Writing by representatives of the Free Software Foundation.</subtitle>
      <title>FSF's blog</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/blogs/directory/free-software-directory-meeting-recap-for-october-14th-2016</id>
    <link href="http://www.fsf.org/blogs/directory/free-software-directory-meeting-recap-for-october-14th-2016" rel="alternate" type="text/html"/>
    <title>Free Software Directory meeting recap for October 14th, 2016</title>
    <summary>Check out the great work our volunteers accomplished at the last Free Software Directory meeting.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Every week free software activists from around the world come together in #fsf on irc.freenode.org to help improve the <a href="https://directory.fsf.org/">Free Software Directory</a>. This recaps the work we accomplished on the Friday, October 14th, 2016 meeting.</p>
<p>This week we were the "Skeleton GNU", with a theme of looking to add substance to entries with only a few details. Unfortunately we were a bit of  skeleton crew, with only a few participants. We discussed a bit how to improve turnout and decided to experiment next week with starting the meeting an hour later. Most participants in the past have been joining in the second hour or later of the meeting, so hopefully scheduling the meeting a little later will help overlap better with people's schedules.</p>
<p>The meeting started out working through GNU Project packages to make sure they were robustly detailed on the directory. In the end that turned out to be not a great starting point, as the GNU entries tended to be well documented already, which is a good problem to have.</p>
<p>In working to flesh out entries, we often found that packages with limited information were often quite old and dormant. For some of these the home for the project had disappeared, and new resources were difficult to track down. Iankelling proposed using some new method of tagging these dormant but still potentially useful packages. Even a package that isn't under active development can be useful in some particular cases, and even where a package hasn't been developed in some time, someone can obviously choose to pick it back up and make it live once again. The meeting ended with the decision that handling these 'Ghost' packages would be the theme of next week's meeting.</p>
<p>If you would like to help chase down ghost entries or just help update the directory in general, meet with us every Friday in #fsf on irc.freenode.org from 1pm to 4pm EDT (17:00 to 20:00 UTC).</p></div>
    </content>
    <updated>2016-10-18T16:11:06Z</updated>
    <source>
      <id>http://www.fsf.org/blogs/recent-blog-posts</id>
      <author>
        <name>FSF Blogs</name>
      </author>
      <link href="http://www.fsf.org/blogs/recent-blog-posts" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/blogs.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Writing by representatives of the Free Software Foundation.</subtitle>
      <title>FSF's blog</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/blogs/directory/friday-skeleton-gnu-directory-irc-meetup-october-14th</id>
    <link href="http://www.fsf.org/blogs/directory/friday-skeleton-gnu-directory-irc-meetup-october-14th" rel="alternate" type="text/html"/>
    <title>Friday 'Skeleton GNU' Directory IRC meetup: October 14th</title>
    <summary>Join the FSF and friends Friday, October 14th, from 12pm to 3pm EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory (FSD), with this week having a special theme of looking to beef up bares bones entries with more information.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Participate in supporting the <a href="https://directory.fsf.org/">FSD</a> by adding new entries and updating existing ones. We will be on IRC in the <a href="irc://irc.gnu.org/fsf">#fsf channel on freenode</a>.</p>
<p>Tens of thousands of people visit <a href="https://directory.fsf.org/">directory.fsf.org</a> each month to discover free software. Each entry in the Directory contains a wealth of useful information, from basic category and descriptions, to providing detailed info about version control, IRC channels, documentation, and licensing info that has been carefully checked by FSF staff and trained volunteers.</p>
<p>While the FSD has been and continues to be a great resource to the world over the past decade, it has the potential of being a resource of even greater value. But it needs your help!</p>
<p>This week we're the 'Skeleton GNU' looking to beef up bares bones entries with more information. While even the most skeletal entry can be useful, the best ones have robust description, links to documentation and other resources. We'll be looking for entries with minimal information, adding as much as we can and making sure they're up to date.</p>
<p>If you are eager to help and you can't wait or are simply unable to make it onto IRC on Friday, our <a href="https://directory.fsf.org/wiki/FSD:Participate">participation guide</a> will provide you with all the information you need to get started on helping the Directory today! There are also weekly <a href="https://directory.fsf.org/wiki/Free_Software_Directory:Meetings">FSD Meetings pages</a> that everyone is welcome to contribute to before, during, and after each meeting.</p></div>
    </content>
    <updated>2016-10-13T19:19:34Z</updated>
    <source>
      <id>http://www.fsf.org/blogs/recent-blog-posts</id>
      <author>
        <name>FSF Blogs</name>
      </author>
      <link href="http://www.fsf.org/blogs/recent-blog-posts" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/blogs.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Writing by representatives of the Free Software Foundation.</subtitle>
      <title>FSF's blog</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/blogs/rms/photo-blog-2016-october-libre-learn-lab</id>
    <link href="http://www.fsf.org/blogs/rms/photo-blog-2016-october-libre-learn-lab" rel="alternate" type="text/html"/>
    <title>October 2016: photos from Libre Learn Lab, in Cambridge</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
<div style="border-style: solid; border-width: 2px; text-align: center; margin: 4px 50px 4px 50px; padding-top: 4px;">

<p>RMS was in <strong>Cambridge, Massachusetts,</strong> last week, at
the <a href="http://librelearnlab.org/">Libre Learn Lab</a>
(2016-10-08–09), a summit “for people who create and
implement freely licensed resources for education, bringing together
educators, policy experts, software developers, hardware hackers, and
activists to share best practices and address the challenges of
widespread adoption of these resources in education.” He was one
of the keynote speakers and, on October 8<sup>th</sup>, gave his
speech “Education for Freedom with Free (Libre)
Software,”<sup><a href="http://static.fsf.org/fsforg/rss/blogs.xml#fn1" id="ref1">1</a></sup> underscoring
why exclusive use of free software is essential to educational
institutions' role in teaching social responsibility and
independence:</p>




<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-01-02-03-thumb.png" style="margin-top: 4px;" width="530"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-04-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-05-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-07-thumb.png" style="margin-top: 4px;" width="132"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-06-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-08-thumb.png" style="margin-top: 4px;" width="132"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-09-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-10-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-11-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-12-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-13-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-14-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-15-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-17-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-16-thumb.png" style="margin-top: 4px;" width="170"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-18-thumb.png" style="margin-top: 4px;" width="360"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-19-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-20-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20161008-cambridge/20161008-cambridge-21-thumb.png" style="margin-top: 4px;" width="530"/>


<p style="padding: 0px 20px 0px 20px; margin-top: 1px; text-align: center;">

<em>(Photos under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC BY-SA 4.0</a> and courtesy of Rubén Rodriguez.)</em>



</p><p>Please fill out our contact form, so that we can inform you about
future events in and around <a href="https://my.fsf.org/civicrm/profile/create?gid=228&amp;reset=1">
Cambridge</a>.  Please see <a href="http://www.fsf.org/events">www.fsf.org/events</a> for a full
list of all of RMS's confirmed engagements, and contact <a href="mailto:rms-assist@gnu.org">rms-assist@gnu.org</a> if you'd like
him to come speak.</p>

<p style="text-align: center;"><strong>Thank you to Mariah Villarreal,
Mark Barnett, and Walter Bender for having made this appearance
possible!</strong></p>

<hr/>

<div align="left">
<div style="margin-left: 4px;">

<sup id="fn1">1. A recording of RMS's speech will soon be available in <a href="http://audio-video.gnu.org/video/#2016">our audio-video archive</a>.<a href="http://static.fsf.org/fsforg/rss/blogs.xml#ref1" title="Jump back to footnote 1 in the text.">↩</a></sup><br/>
</div>
</div></div></div>
    </content>
    <updated>2016-10-13T14:07:03Z</updated>
    <source>
      <id>http://www.fsf.org/blogs/recent-blog-posts</id>
      <author>
        <name>FSF Blogs</name>
      </author>
      <link href="http://www.fsf.org/blogs/recent-blog-posts" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/blogs.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Writing by representatives of the Free Software Foundation.</subtitle>
      <title>FSF's blog</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/blogs/directory/free-software-directory-meeting-recap-for-october-7th-2016</id>
    <link href="http://www.fsf.org/blogs/directory/free-software-directory-meeting-recap-for-october-7th-2016" rel="alternate" type="text/html"/>
    <title>Free Software Directory meeting recap for October 7th, 2016</title>
    <summary>Check out the great work our volunteers accomplished at the last Free Software Directory meeting.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Every week free software activists from around the world come together in #fsf on irc.freenode.org to help improve the <a href="https://directory.fsf.org/">Free Software Directory</a>. This recaps the work we accomplished on the Friday, October 7th, 2016 meeting.</p>
<p>This week was the 'Meeting of the Undead' where we hunted down dead and broken links in the directory. Thanks to the efforts of Iankelling and adfeno, we have a script that runs to find dead external links on the directory and compile them into a list. One common problem we ran into was packages changing the location of their documentation without providing a redirect or updating their directory entry. So, if you are  a maintainer out there who is itching to move documentation to a new location, keep in mind that you might be making your documentation harder to find.</p>
<p>We had lots of participants at this week's meeting cracking away at the hordes of undead, but as fmkb pointed out we couldn't get to everything and needed a good way to track entries where a new link couldn't be immediately found. We resolved to simply add notes at the top of the script generated list, but we'll have to revisit and work on a more nuanced solution in the future. Biotim, enrico, and jantwisted were some new faces to the meeting, and bill-auger returned to help mow down dead links.</p>
<p>We didn't end up deciding on a theme for this week during the meeting, but a suggestion afterwards came in that we work as the 'Skeleton GNU' and work on beefing up entries with limited information. While an entry can still be useful with only a short description and a few items of information, robust entries provide better documentation and make the directory an even better resource.</p>
<p>If you would like to help hunt and put meet on the bones of skeleton articles or just help update the directory in general, meet with us every Friday in #fsf on irc.freenode.org from 12pm to 3pm EDT (16:00 to 19:00 UTC).</p></div>
    </content>
    <updated>2016-10-12T20:41:25Z</updated>
    <source>
      <id>http://www.fsf.org/blogs/recent-blog-posts</id>
      <author>
        <name>FSF Blogs</name>
      </author>
      <link href="http://www.fsf.org/blogs/recent-blog-posts" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/blogs.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Writing by representatives of the Free Software Foundation.</subtitle>
      <title>FSF's blog</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://wingolog.org/2016/10/12/an-incomplete-history-of-language-facilities-for-concurrency</id>
    <link href="http://wingolog.org/archives/2016/10/12/an-incomplete-history-of-language-facilities-for-concurrency" rel="alternate" type="text/html"/>
    <title>An incomplete history of language facilities for concurrency</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div><p>I have lately been in the market for better concurrency facilities in <a href="https://gnu.org/s/guile/">Guile</a>.  I want to be able to write network servers and peers that can gracefully, elegantly, and efficiently handle many tens of thousands of clients and other connections, but without blowing the complexity budget.  It's a hard nut to crack.</p><p>Part of the problem is implementation, but a large part is just figuring out what to do.  I have often thought that modern musicians must be crushed under the weight of recorded music history, but it turns out in our humble field that's also the case; there are as many concurrency designs as languages, just about.  In this regard, what follows is an incomplete, nuanced, somewhat opinionated history of concurrency facilities in programming languages, with an eye towards what I should "buy" for the <a href="https://github.com/wingo/fibers">Fibers</a> library I have been tinkering on for Guile.</p><p><center>* * *</center></p><p>Modern machines have the raw capability to serve hundreds of thousands of simultaneous long-lived connections, but it’s often hard to manage this at the software level.  Fibers tries to solve this problem in a nice way.  Before discussing the approach taken in Fibers, it’s worth spending some time on history to see how we got here.</p><p>One of the most dominant patterns for concurrency these days is “callbacks”, notably in the <a href="https://twistedmatrix.com/">Twisted</a> library for Python and the <a href="https://nodejs.org/">Node.js</a> run-time for JavaScript.  The basic observation in the callback approach to concurrency is that the efficient way to handle tens of thousands of connections at once is with low-level operating system facilities like <code>poll</code> or <code><a href="https://en.wikipedia.org/wiki/Epoll">epoll</a></code>.  You add all of the file descriptors that you are interested in to a “poll set” and then ask the operating system which ones are readable or writable, as appropriate.  Once the operating system says “yes, file descriptor 7145 is readable”, you can do something with that socket; but what?  With callbacks, the answer is “call a user-supplied closure”: a callback, representing the continuation of the computation on that socket.</p><p>Building a network service with a callback-oriented concurrency system means breaking the program into little chunks that can run without blocking.  Whereever a program could block, instead of just continuing the program, you register a callback.  Unfortunately this requirement permeates the program, from top to bottom: you always pay the mental cost of inverting your program’s control flow by turning it into callbacks, and you always incur run-time cost of closure creation, even when the particular I/O could proceed without blocking.  It’s a somewhat galling requirement, given that this contortion is required of the programmer, but could be done by the compiler.  We Schemers demand better abstractions than manual, obligatory continuation-passing-style conversion.</p><p>Callback-based systems also encourage unstructured concurrency, as in practice callbacks are not the only path for data and control flow in a system: usually there is mutable global state as well.  Without strong patterns and conventions, callback-based systems often exhibit bugs caused by concurrent reads and writes to global state.</p><p>Some of the problems of callbacks can be mitigated by using <a href="https://www.promisejs.org/">“promises”</a> or other library-level abstractions; if you’re a Haskell person, you can think of this as lifting all possibly-blocking operations into a monad.  If you’re not a Haskeller, that’s cool, neither am I!  But if your typey spidey senses are tingling, it’s for good reason: with promises, your whole program has to be transformed to return promises-for-values instead of values anywhere it would block.</p><p>An obvious solution to the control-flow problem of callbacks is to use threads.  In the most generic sense, a thread is a language feature which denotes an independent computation.  Threads are created by other threads, but fork off and run independently instead of returning to their caller.  In a system with threads, there is implicitly a scheduler somewhere that multiplexes the threads so that when one suspends, another can run.</p><p>In practice, the concept of threads is often conflated with a particular implementation, <em>kernel threads</em>.  Kernel threads are very low-level abstractions that are provided by the operating system.  The nice thing about kernel threads is that they can use any CPU that is the kernel knows about.  That’s an important factor in today’s computing landscape, where Moore’s law seems to be giving us more cores instead of more gigahertz.</p><p>However, as a building block for a highly concurrent system, kernel threads have a few important problems.</p><p>One is that kernel threads simply aren’t designed to be allocated in huge numbers, and instead are more optimized to run in a one-per-CPU-core fashion.  Their memory usage is relatively high for what should be a lightweight abstraction: some 10 kilobytes at least and often some megabytes, in the form of the thread’s stack.  There are ongoing efforts to reduce this for some systems but we cannot expect wide deployment in the next 5 years, if ever.  Even in the best case, a hundred thousand kernel threads will take at least a gigabyte of memory, which seems a bit excessive for book-keeping overhead.</p><p>Kernel threads can be a bit irritating to schedule, too: when one thread suspends, it’s for a reason, and it can be that user-space knows a good next thread that should run.  However because kernel threads are scheduled in the kernel, it’s rarely possible for the kernel to make informed decisions.  There are some “user-mode scheduling” facilities that are in development for some systems, but again only for some systems.</p><p>The other significant problem is that building non-crashy systems on top of kernel threads is hard to do, not to mention “correct” systems.  It’s an embarrassing situation.  For one thing, the low-level synchronization primitives that are typically provided with kernel threads, mutexes and condition variables, are not composable.  Also, as with callback-oriented concurrency, one thread can silently corrupt another via unstructured mutation of shared state.  It’s worse with kernel threads, though: a kernel thread can be interrupted at any point, not just at I/O.  And though callback-oriented systems can theoretically operate on multiple CPUs at once, in practice they don’t.  This restriction is <a href="https://glyph.twistedmatrix.com/2014/02/unyielding.html">sometimes touted as a benefit</a> by proponents of callback-oriented systems, because in such a system, the callback invocations have a single, sequential order.  With multiple CPUs, this is not the case, as multiple threads can run at the same time, in parallel.</p><p>Kernel threads can work.  The Java virtual machine does at least manage to prevent low-level memory corruption and to do so with high performance, but still, even Java-based systems that aim for maximum concurrency avoid using a thread per connection because threads use too much memory.</p><p>In this context it’s no wonder that there’s a third strain of concurrency: shared-nothing message-passing systems like Erlang.  Erlang isolates each thread (called <em>processes</em> in the Erlang world), giving each it its own heap and “mailbox”.  Processes can spawn other processes, and the concurrency primitive is message-passing.  A process that tries receive a message from an empty mailbox will “block”, from its perspective.  In the meantime the system will run other processes.  Message sends never block, oddly; instead, sending to a process with many messages pending makes it more likely that Erlang will pre-empt the sending process.  It’s a strange tradeoff, but it makes sense when you realize that Erlang was designed for network transparency: the same message send/receive interface can be used to send messages to processes on remote machines as well.</p><p>No network is truly transparent, however.  At the most basic level, the performance of network sends should be much slower than local sends.  Whereas a message sent to a remote process has to be written out byte-by-byte over the network, there is no need to copy immutable data within the same address space.  The complexity of a remote message send is O(n) in the size of the message, whereas a local immutable send is O(1).  This suggests that hiding the different complexities behind one operator is the wrong thing to do.  And indeed, given byte read and write operators over sockets, it’s possible to implement remote message send and receive as a process that serializes and parses messages between a channel and a byte sink or source.  In this way we get cheap local channels, and network shims are under the programmer’s control.  This is the approach that the Go language takes, and is the one we use in Fibers.</p><p>Structuring a concurrent program as separate threads that communicate over channels is an old idea that goes back to Tony Hoare’s work on <a href="http://usingcsp.com/">“Communicating Sequential Processes”</a> (CSP).  CSP is an elegant tower of mathematical abstraction whose layers form a pattern language for building concurrent systems that you can still reason about.  Interestingly, it does so without any concept of time at all, instead representing a thread’s behavior as a <em>trace</em> of instantaneous events.  Threads themselves are like functions that unfold over the possible events to produce the actual event trace seen at run-time.</p><p>This view of events as instantaneous happenings extends to communication as well.  In CSP, one communication between two threads is modelled as an instantaneous event, partitioning the traces of the two threads into “before” and “after” segments.</p><p>Practically speaking, this has ramifications in the Go language, which was heavily inspired by CSP.  You might think that a channel is just a an <a href="https://developer.gnome.org/glib/stable/glib-Asynchronous-Queues.html">asynchronous queue</a> that blocks when writing to a full queue, or when reading from an empty queue.  That’s a bit closer to the Erlang conception of how things should work, though as we mentioned, Erlang simply slows down writes to full mailboxes rather than blocking them entirely.  However, that’s not what Go and other systems in the CSP family do; sending a message on a channel will block until there is a receiver available, and vice versa.  The threads are said to “rendezvous” at the event.</p><p>Unbuffered channels have the interesting property that you can <a href="https://tour.golang.org/concurrency/5"><code>select</code></a> between sending a message on channel <var>a</var> or channel <var>b</var>, and in the end only one message will be sent; nothing happens until there is a receiver ready to take the message.  In this way messages are really owned by threads and never by the channels themselves.  You can of course add buffering if you like, simply by making a thread that waits on either sends or receives on a channel, and which buffers sends and makes them available to receives.  It’s also possible to add explicit support for buffered channels, as Go, <tt>core.async</tt>, and many other systems do, which can reduce the number of context switches as there is no explicit buffer thread.</p><p>Whether to buffer or not to buffer is a tricky choice.  It’s possible to implement singly-buffered channels in a system like Erlang via an explicit send/acknowlege protocol, though it seems difficult to implement completely unbuffered channels.  As we mentioned, it’s possible to add buffering to an unbuffered system by the introduction of explicit buffer threads.  In the end though in Fibers we follow CSP’s lead so that we can implement the nice <code>select</code> behavior that we mentioned above.</p><p>As a final point, <code>select</code> is OK but is not a great language abstraction.  Say you call a function and it returns some kind of asynchronous result which you then have to <code>select</code> on.  It could return this result as a channel, and that would be fine: you can add that channel to the other channels in your <code>select</code> set and you are good.  However, what if what the function does is receive a message on a channel, then do something with the message?  In that case the function should return a channel, plus a continuation (as a closure or something).  If <code>select</code> results in a message being received over that channel, then we call the continuation on the message.  Fine.  But, what if the function itself wanted to <code>select</code> over some channels?  It could return multiple channels and continuations, but that becomes unwieldy.</p><p>What we need is an abstraction over asynchronous operations, and that is the main idea of a CSP-derived system called <a href="https://courses.cs.washington.edu/courses/cse590p/06sp/reppy93concurrent.pdf">“Concurrent ML”</a> (CML).  Originally implemented as a library on top of Standard ML of New Jersey by John Reppy, CML provides this abstraction, which in Fibers is called an <em>operation</em><a href="http://wingolog.org/#FOOT1" name="DOCF1"><sup>1</sup></a>.  Calling <code>send-operation</code> on a channel returns an operation, which is just a value.  Operations are like closures in a way; a closure wraps up code in its environment, which can be later called many times or not at all.  Operations likewise can be <em>performed</em><a href="http://wingolog.org/#FOOT2" name="DOCF2"><sup>2</sup></a> many times or not at all; performing an operation is like calling a function.  The interesting part is that you can compose operations via the <code>wrap-operation</code> and <code>choice-operation</code> combinators.  The former lets you bundle up an operation and a continuation.  The latter lets you construct an operation that chooses over a number of operations.  Calling <code>perform-operation</code> on a choice operation will perform one and only one of the choices.  Performing an operation will call its <code>wrap-operation</code> continuation on the resulting values.</p><p>While it’s possible to implement Concurrent ML in terms of Go’s channels and baked-in <code>select</code> statement, it’s more expressive to do it the other way around, as that also lets us implement other operations types besides channel send and receive, for example timeouts and condition variables.</p><p><hr/><a href="http://wingolog.org/#DOCF1" name="FOOT1"><sup>1</sup></a> CML uses the term <em>event</em>, but I find this to be a confusing name.  In this isolated article my terminology probably looks confusing, but in the context of the library I think it can be OK.  The jury is out though.</p><p><a href="http://wingolog.org/#DOCF2" name="FOOT2"><sup>2</sup></a> In CML, <em>synchronized</em>.</p><p><center>* * *</center></p><p>Well, that's my limited understanding of the crushing weight of history.  Note that part of this article is now in the <a href="https://github.com/wingo/fibers/wiki/Manual">Fibers manual</a>.</p><p>Thanks very much to Matthew Flatt, Matthias Felleisen, and Michael Sperber for pushing me towards CML.  In the beginning I thought its benefits were small and complication large, but now I see it as being the reverse.  Happy hacking :)</p></div></div>
    </content>
    <updated>2016-10-12T13:45:12Z</updated>
    <published>2016-10-12T13:45:12Z</published>
    <author>
      <name>Andy Wingo</name>
      <uri>http://wingolog.org/</uri>
    </author>
    <source>
      <id>http://wingolog.org/feed/atom</id>
      <link href="http://wingolog.org/" rel="alternate" type="text/html"/>
      <link href="http://wingolog.org/feed/atom" rel="self" type="application/atom+xml"/>
      <subtitle>A mostly dorky weblog by Andy Wingo</subtitle>
      <title>wingolog</title>
      <updated>2016-10-12T13:45:12Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://savannah.gnu.org/forum/forum.php?forum_id=8705</id>
    <link href="http://savannah.gnu.org/forum/forum.php?forum_id=8705" rel="alternate" type="text/html"/>
    <title>GNU Guile 2.0.13 released [security fixes]</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>We've just released a new version of GNU Guile, version 2.0.13, which is a security release for Guile (see <a href="https://lists.gnu.org/archive/html/guile-user/2016-10/msg00010.html">the original announcement</a>).
<br/>
</p>
<p>This handles a significant security vulnerability affecting the live REPL, <a href="http://seclists.org/oss-sec/2016/q4/100">CVE-2016-8606</a>.  Due to the nature of this bug, Guile applications themselves in general aren't vulnerable, but Guile developers are.  Arbitrary Scheme code may be used to attack your system in this scenario.    (A more minor security issue is also addressed, <a href="http://seclists.org/oss-sec/2016/q4/92">CVE-2016-8605</a>.)
<br/>
</p>
<p>There is also a lesson here that applies beyond Guile: the presumption that "localhost" is only accessible by local users can't be guaranteed by modern operating system environments.  If you are looking to provide local-execution-only, we recommend using Unix domain sockets or named pipes.  Don't rely on localhost plus some port.
<br/>
</p>
<p>To give context, Guile supports a nice live-hacking feature where a user can expose a REPL to connect to, through <a href="http://www.nongnu.org/geiser">Geiser</a> or so on.  This allows Guile users to hack programs even while programs are running.
<br/>
</p>
<p>When using the live hacking feature, the default in Guile has been to expose a port over localhost to which code may be passed.  The assumption for this is that only a local user may write to localhost, so it should be safe.  Unfortunately, users simultaneously developing Guile and operating modern browsers are vulnerable to a combination of an <a href="https://www.jochentopf.com/hfpa/">HTML form protocol attack</a> and a <a href="https://en.wikipedia.org/wiki/DNS_rebinding">DNS rebinding attack</a>.  How to combine these attacks is published in the article <a href="http://bouk.co/blog/hacking-developers/">How to steal any developer's local database</a>.
<br/>
</p>
<p>In Guile's case, the general idea is that you visit some site which presumably loads some JavaScript code (or tricks the developer into pressing a button which performs a POST), and the site operator switches the DNS from their own IP to 127.0.0.1.  Then a POST is done from the website to 127.0.0.1 with the body containing Scheme code.  This code is then executed by the Guile interpreter on the listening port.
<br/>
</p>
<p>The version we are releasing <a href="http://git.savannah.gnu.org/cgit/guile.git/commit/?h=stable-2.0&amp;id=08c021916dbd3a235a9f9cc33df4c418c0724e03">mitigates this problem</a> by detecting incoming HTTP connections and closing them before executing any code.
<br/>
</p>
<p>However, there is a better long term solution, which is already available even to users of older versions of Guile: Guile supports Unix domain sockets in POSIX environments.  For example, users may run the command:
<br/>
</p>
<input class="verbatim" readonly="readonly" size="60" type="text" value="guile --listen=/tmp/guile-socket "/>

<p>to open and listen to a socket at /tmp/guile-socket.  Geiser users may then connect using M-x geiser-connect-local.  This is considerably safer.
<br/>
</p>
<p>We hope that other program authors take heed of this lesson as well: many programs make use of localhost + port as a way of limiting connections.  Unfortunately, in today's complex networked environment, this isn't a safe assumption.  It's very difficult to predict what programs may provide a way of chaining requests to an application listening on localhost, and certainly difficult on a system where web browsers are involved.  Take heed!
<br/>
</p>
<p>(This post <a href="https://lists.gnu.org/archive/html/guile-user/2016-10/msg00007.html">originally appeared on the guile-users mailing list</a>.)<br/>
</p></div>
    </content>
    <updated>2016-10-12T12:56:00Z</updated>
    <author>
      <name>Christopher Allan Webber</name>
    </author>
    <source>
      <id>http://savannah.gnu.org/news/atom.php?group=guile</id>
      <link href="http://savannah.gnu.org/news/atom.php?group=guile" rel="self" type="application/atom+xml"/>
      <title>Guile - News</title>
      <updated>2016-10-14T13:19:32Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/news/the-free-software-foundation-seeks-nominations-for-the-19th-annual-free-software-awards</id>
    <link href="http://www.fsf.org/news/the-free-software-foundation-seeks-nominations-for-the-19th-annual-free-software-awards" rel="alternate" type="text/html"/>
    <title>The Free Software Foundation seeks nominations for the 19th annual Free Software Awards</title>
    <summary>BOSTON, Massachusetts, USA -- Tuesday, October 11, 2016 -- The Free
Software Foundation (FSF) and the GNU Project today call upon the free
software community to submit nominations for the 19th annual Free
Software Awards. The Free Software Awards include the Award for the
Advancement of Free Software and the Award for Projects of Social
Benefit. The awards are presented each year at the LibrePlanet free
software conference.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><h3>Award for the Advancement of Free Software</h3>
<p>This award is presented annually by FSF president Richard
Stallman to an individual who has made a great contribution to
the progress and development of free software, through activities
that accord with the spirit of free software.</p>
<p>Individuals who describe their projects as <a href="https://www.gnu.org/philosophy/open-source-misses-the-point">"open"</a> instead
of "free" are eligible nonetheless, provided the software is in
fact <a href="https://gnu.org/philosophy/free-sw">free/libre.</a></p>
<p>Last year, Werner Koch was recognized with the <a href="https://www.fsf.org/news/library-freedom-project-and-werner-koch-are-2015-free-software-awards-winners">Award for the
Advancement of Free Software</a> for his work on <a href="https://www.gnupg.org/">GnuPG</a>, the
de facto tool for encrypted communication. Koch joined a
prestigious list of previous winners including Sébastien Jodogne,
Matthew Garrett, Dr. Fernando Perez, Yukihiro Matsumoto, Rob
Savoye, John Gilmore, Wietse Venema, Harald Welte, Ted Ts'o,
Andrew Tridgell, Theo de Raadt, Alan Cox, Larry Lessig, Guido van
Rossum, Brian Paul, Miguel de Icaza, and Larry Wall.</p>
<h3>Award for Projects of Social Benefit</h3>
<p>Nominations are also sought for the 2016 Award for Projects of
Social Benefit.</p>
<p>This award is presented to the project or team responsible for
applying free software, or the ideas of the free software
movement, in a project that intentionally and significantly
benefits society in other aspects of life.</p>
<p>The award recognizes projects or teams that encourage people to
cooperate in freedom to accomplish tasks of great social benefit,
and those that apply free software ideas and lessons outside the
free software community. A long-term commitment to one's
project (or the potential for a long-term commitment) is crucial
to this end.</p>
<p>This award stresses the use of free software in the service of
humanity. The FSF has deliberately chosen this broad criterion so
that many different areas of activity can be considered. However,
one area that is not included is that of free software
itself. Projects with a primary goal of promoting or advancing
free software are not eligible for this award (the FSF honors
individuals working on those projects with its annual Award for
the Advancement of Free Software).</p>
<p>The award committee will consider any project or team that uses
free software or its philosophy to address a goal important to
society. To qualify, a project must use free software, produce
free documentation, or use the idea of free software as defined
in the <a href="https://gnu.org/philosophy/free-sw">Free Software Definition</a>. Projects that promote or
depend on the use of non-free software are not
eligible. Commercial projects are not excluded, but commercial
success is not the metric for judging projects.</p>
<p>Last year, <a href="https://libraryfreedomproject.org/">the Library Freedom Project</a> received the award.
A partnership among librarians, technologists, attorneys, and
privacy advocates which aims to make real the promise of
intellectual freedom in libraries, the Library Freedom Project
teaches librarians about surveillance threats, privacy rights and
responsibilities, and offers digital tools to stop surveillance,
all with the aim of creating a privacy-centric paradigm shift in
libraries and the local communities they serve. Notably, the
project helps libraries launch Tor exit nodes.</p>
<p>Other previous winners have included Reglue, the GNOME Outreach
Program for Women (now Outreachy), OpenMRS, GNU Health, Tor, the
Internet Archive, Creative Commons, Groklaw, the Sahana project,
and Wikipedia.</p>
<h3>Eligibility</h3>
<p>In the case of both awards, previous winners are not eligible for
nomination, but renomination of other previous nominees is
encouraged.  Only individuals are eligible for nomination for the
Advancement of Free Software Award (not projects), and only
projects can be nominated for the Social Benefit Award (not
individuals). For a list of previous winners, please visit
<a href="https://www.fsf.org/awards">https://www.fsf.org/awards</a>.</p>
<p>Current <a href="https://fsf.org/about/staff-and-board">FSF staff and board members</a>, as well as award
committee members, are not eligible.</p>
<p>Winners will be decided by a committee to be announced, including
several previous winners. Last year's committee was:</p>
<ul>
<li>Suresh Ramasubramanian</li>
<li>Rob Savoye</li>
<li>Jonas Öberg</li>
<li>Fernanda Weiden</li>
<li>Wietse Venema</li>
<li>Matthew Garrett</li>
<li>Vernor Vinge</li>
<li>Hong Feng</li>
<li>Andrew Tridgell</li>
<li>Marina Zhurakhinskaya</li>
<li>Richard Stallman</li>
</ul>
<h3>Instructions</h3>
<p>After reviewing the eligibility rules above, please click on
the links below to submit your nominations. All nominations need
to be submited before Sunday, November 6th, 2016 at 23:59 UTC.</p>
<ul>
<li>
<p>Nominations for the <a href="https://my.fsf.org/projects-of-social-benefit-award-nomination">Award for Projects of Social Benefit</a></p>
</li>
<li>
<p>Nominations for the <a href="https://my.fsf.org/advancement-of-free-software-award-nomination">Award for the Advancement of Free Software</a></p>
</li>
</ul>
<p>Information about the previous awards can be found at
<a href="https://www.fsf.org/awards">https://www.fsf.org/awards</a>. Winners will be announced at an
awards ceremony at the <a href="https://libreplanet.org/conference">LibrePlanet conference</a>, March 25-26
2016, in the Boston area.</p>
<h3>About the Free Software Foundation</h3>
<p>The Free Software Foundation, founded in 1985, is dedicated to
promoting computer users' right to use, study, copy, modify, and
redistribute computer programs. The FSF promotes the development
and use of free (as in freedom) software -- particularly the GNU
operating system and its GNU/Linux variants -- and free
documentation for free software. The FSF also helps to spread
awareness of the ethical and political issues of freedom in the
use of software, and its Web sites, located at fsf.org and
gnu.org, are an important source of information about
GNU/Linux. Donations to support the FSF's work can be made at
<a href="https://donate.fsf.org">https://donate.fsf.org</a>. Its headquarters are in Boston, MA,
USA.</p>
<p>More information about the FSF, as well as important information
for journalists and publishers, is at
<a href="https://www.fsf.org/press">https://www.fsf.org/press</a>.</p>
<h3>Media Contacts</h3>
<p>Georgia Young
Program Manager
Free Software Foundation
+1 (617) 542 5942
<a href="mailto:campaigns@fsf.org">campaigns@fsf.org</a><br/>
</p></div>
    </content>
    <updated>2016-10-11T18:30:00Z</updated>
    <source>
      <id>http://www.fsf.org/news/aggregator</id>
      <author>
        <name>FSF News</name>
      </author>
      <link href="http://www.fsf.org/news/aggregator" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/news.xml" rel="self" type="application/rdf+xml"/>
      <title>FSF News</title>
      <updated>2016-10-20T06:17:54Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/events/john-sullivan-20161026-raleigh</id>
    <link href="http://www.fsf.org/events/john-sullivan-20161026-raleigh" rel="alternate" type="text/html"/>
    <title>John Sullivan - "Freedom Embedded: Devices That Respect Users and Communities" (Raleigh, NC)</title>
    <summary>Raleigh, NC</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>John Sullivan will be speaking at <a href="https://allthingsopen.org/talk/freedom-embedded-devices-that-respect-users-and-communities/">All
Things Open</a> (2016-10-26–27).  His speech will be
nontechnical and the public is encouraged to attend.</p>

<blockquote>GNU and Linux are now embedded in more kinds of hardware
than ever, but nearly always only by requiring proprietary bits. The
world’s most popular tablets and phones are based on a free core
system loaded with nonfree software on top. How do we get the freedom
we all want, and what is the market for that? The Free Software
Foundation has a certification program called “Respects Your Freedom”
(RYF) that awards a certification mark to hardware meeting a set of
free software standards (fsf.org/ryf). Embedded and IoT devices are a
major target for the future of this program.</blockquote>

<blockquote>RYF has already made significant gains, especially over
the last few years, certifying USB wifi adapters, 3D printers, home
wifi routers, and earlier generation laptops. Even bigger things are
planned, and most involve the embedded world. Get updates on what’s in
store, learn what it takes to get your product certified, hear about
the impact of certification so far and the community that has formed
around the program, and discuss possible improvements to the
standards.</blockquote>

<p><strong>Location:</strong> <em><a href="https://allthingsopen.org/travel/">Raleigh Convention
Center,</a> Raleigh, NC</em></p>

<p>Please fill out our contact form, so that <a href="https://my.fsf.org/civicrm/profile/create?gid=462&amp;reset=1">we
can contact you about future events in and around Raleigh.</a></p></div>
    </content>
    <updated>2016-10-11T11:35:01Z</updated>
    <source>
      <id>http://www.fsf.org/events/aggregator</id>
      <author>
        <name>FSF Events</name>
      </author>
      <link href="http://www.fsf.org/events/aggregator" rel="alternate" type="text/html"/>
      <link href="http://static.fsf.org/fsforg/rss/events.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Site Events</subtitle>
      <title>Events</title>
      <updated>2016-10-20T06:17:56Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/events/rms-20161130-alcaladehenares</id>
    <link href="http://www.fsf.org/events/rms-20161130-alcaladehenares" rel="alternate" type="text/html"/>
    <title>Richard Stallman to speak in Alcala de Henares, Spain</title>
    <summary>Alcala de Henares, Spain</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Esa charla de Richard Stallman no será técnica y será abierta al
público; todos están invitados a asistir.</p>

<p><em>El título y la hora de la charla serán determinados.</em></p>

<p><strong>Lugar:</strong> <em>por determinar</em></p> 

<p>Favor de rellenar este formulario, para que podamos <a href="https://my.fsf.org/civicrm/profile/create?gid=69&amp;reset=1">contactarle
acerca de eventos futuros en la región de Alcalá de Henares.</a></p></div>
    </content>
    <updated>2016-10-10T16:45:00Z</updated>
    <category term="RMS Speech"/>
    <source>
      <id>http://www.fsf.org/events/aggregator</id>
      <author>
        <name>FSF Events</name>
      </author>
      <link href="http://www.fsf.org/events/aggregator" rel="alternate" type="text/html"/>
      <link href="http://static.fsf.org/fsforg/rss/events.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Site Events</subtitle>
      <title>Events</title>
      <updated>2016-10-20T06:17:56Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/events/rms-20161118-laspalmasdegrancanaria</id>
    <link href="http://www.fsf.org/events/rms-20161118-laspalmasdegrancanaria" rel="alternate" type="text/html"/>
    <title>Richard Stallman to speak at GNU Health Con 2016 (Las Palmas, Spain)</title>
    <summary>Las Palmas de Gran Canaria, Spain</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Richard Stallman will be speaking at <a href="http://gnuhealthcon.org/2016-las_palmas/">I International GNU
Health Conference</a> (2016-11-18–20).  His speech will be
nontechnical and the public is encouraged to attend.</p>

<p><em>Speech topic and start time to be determined.</em></p>

<p><strong>Location:</strong> <em>to be determined</em></p>

<p>Please fill out our contact form, so that <a href="https://my.fsf.org/civicrm/profile/create?gid=84&amp;reset=1">we
can contact you about future events in and around Las Palmas.</a></p></div>
    </content>
    <updated>2016-10-07T15:25:00Z</updated>
    <category term="RMS Speech"/>
    <source>
      <id>http://www.fsf.org/events/aggregator</id>
      <author>
        <name>FSF Events</name>
      </author>
      <link href="http://www.fsf.org/events/aggregator" rel="alternate" type="text/html"/>
      <link href="http://static.fsf.org/fsforg/rss/events.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Site Events</subtitle>
      <title>Events</title>
      <updated>2016-10-20T06:17:56Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/events/rms-20161111-barcelona</id>
    <link href="http://www.fsf.org/events/rms-20161111-barcelona" rel="alternate" type="text/html"/>
    <title>Richard Stallman - "El Software Libre y Tu Libertad" (Barcelona, Spain)</title>
    <summary>Barcelona, Spain</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><blockquote>Richard Stallman hablará sobre las metas y la filosofía
del movimiento del Software Libre, y el estado y la historia del
sistema operativo GNU, el cual junto con el núcleo Linux, es
actualmente utilizado por decenas de millones de personas en todo el
mundo.</blockquote>

<p>Esa charla de Richard Stallman no será técnica y será abierta al
público; todos están invitados a asistir.</p>

<p><strong>Lugar:</strong> <em>Sala de actos Instituto Ausiàs Mach,
Avenida de Esplugues, 38 08034 (metro linea 3, Parada Zona
Universitaria), Barcelona, Spain</em></p>

<p>Favor de rellenar este formulario, para que podamos <a href="https://my.fsf.org/civicrm/profile/create?gid=84&amp;reset=1">contactarle
acerca de eventos futuros en la región de Barcelona.</a></p>

<a href="https://my.fsf.org/civicrm/profile/create?gid=459&amp;reset=1">El
registro</a> para esta charla se puede hacer de modo anónimo. (No es
obligatorio, pero <a href="https://my.fsf.org/civicrm/profile/create?gid=459&amp;reset=1">se
agradecerá para facilitar la organización del evento</a>.)</div>
    </content>
    <updated>2016-10-07T14:45:47Z</updated>
    <category term="RMS Speech"/>
    <source>
      <id>http://www.fsf.org/events/aggregator</id>
      <author>
        <name>FSF Events</name>
      </author>
      <link href="http://www.fsf.org/events/aggregator" rel="alternate" type="text/html"/>
      <link href="http://static.fsf.org/fsforg/rss/events.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Site Events</subtitle>
      <title>Events</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/events/rms-20161129-salamanca</id>
    <link href="http://www.fsf.org/events/rms-20161129-salamanca" rel="alternate" type="text/html"/>
    <title>Richard Stallman - "El software libre en la ética y en la práctica" (Salamanca, Spain)</title>
    <summary>Salamanca, Spain</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><blockquote>Richard Stallman hablará sobre las metas y la filosofía
del movimiento del Software Libre, y el estado y la historia del
sistema operativo GNU, el cual junto con el núcleo Linux, es
actualmente utilizado por decenas de millones de personas en todo el
mundo.</blockquote>

<p>Esa charla de Richard Stallman no será técnica y será abierta al
público; todos están invitados a asistir.</p>

<p><strong>Lugar:</strong> <em>Salón de Actos de la Facultad de
Ciencias, Universidad de Salamanca Plaza de los Caídos, S/N, 37008
Salamanca, España</em></p>

<a href="https://my.fsf.org/civicrm/profile/create?gid=461&amp;reset=1">El
registro</a> para esta charla se puede hacer de modo anónimo. (No es
obligatorio, pero <a href="https://my.fsf.org/civicrm/profile/create?gid=461&amp;reset=1">se
agradecerá para facilitar la organización del evento</a>.)

<p>Favor de rellenar este formulario, para que podamos <a href="https://my.fsf.org/civicrm/profile/create?gid=460&amp;reset=1">contactarle
acerca de eventos futuros en la región de Salamanca.</a></p></div>
    </content>
    <updated>2016-10-07T14:35:00Z</updated>
    <category term="RMS Speech"/>
    <source>
      <id>http://www.fsf.org/events/aggregator</id>
      <author>
        <name>FSF Events</name>
      </author>
      <link href="http://www.fsf.org/events/aggregator" rel="alternate" type="text/html"/>
      <link href="http://static.fsf.org/fsforg/rss/events.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Site Events</subtitle>
      <title>Events</title>
      <updated>2016-10-20T06:17:56Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>https://gnunet.org/2635 at https://gnunet.org</id>
    <link href="https://gnunet.org/gns-reverse-ideas" rel="alternate" type="text/html"/>
    <title xml:lang="en">Reverse lookups in GNS</title>
    <summary type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p><strong>Motivation</strong><br/>
DNS allows to resolve the name of an IP address. This is sometimes called "reverse lookup". In fact, it is actually "normal" resolution of a PTR record. The name of such a record would be, for example, 4.4.8.8.in-addr.arpa. The .arpa TLD is managed by IANA.</p>
<p>This blogpost is meant to spread ideas that have been exchanged via private email and might be interesting for a broader audience. If you feel like you have useful comments, don't hesitate to do so.</p></div></div></div></div>
    </summary>
    <updated>2016-10-07T09:16:21Z</updated>
    <author>
      <name>Martin Schanzenbach</name>
    </author>
    <source>
      <id>https://gnunet.org/frontpage</id>
      <link href="https://gnunet.org/frontpage" rel="alternate" type="text/html"/>
      <link href="https://gnunet.org/rss.xml" rel="self" type="application/rss+xml"/>
      <title xml:lang="en">GNUnet - GNU's Framework for Secure Peer-to-Peer Networking</title>
      <updated>2016-10-20T06:17:15Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/blogs/community/register-now-for-libreplanet-2017-the-roots-of-freedom-march-25-26-2017-in-boston-ma</id>
    <link href="http://www.fsf.org/blogs/community/register-now-for-libreplanet-2017-the-roots-of-freedom-march-25-26-2017-in-boston-ma" rel="alternate" type="text/html"/>
    <title>Register now for LibrePlanet 2017: "The Roots of Freedom" March 25-26, 2017 in Boston, MA</title>
    <summary>Clear your calendars for the last weekend of March 2017!</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div>
<strong>LibrePlanet 2017</strong><br/>March 25-26<br/>Greater
Boston<br/><br/>Gratis for students and FSF associate members<br/><br/> <a href="https://my.fsf.org/civicrm/event/register?id=47&amp;reset=1" target="_blank">Register now</a> </div>

<p>Clear your calendars for the last weekend of March 2017!
<a href="https://my.fsf.org/civicrm/event/register?id=47&amp;reset=1">Registration</a> for <a href="https://libreplanet.org/conference">LibrePlanet</a> is now open. The
conference will be held March 25-26, 2017, in the Boston area.</p>
<p>Last year, over 350 people participated in LibrePlanet, traveling
from 11 countries and 28 U.S. states. And guess what? Students
and FSF members attend LibrePlanet gratis. Not a member?  <a href="https://fsf.org/join">Join
today</a> to register gratis, or <a href="https://my.fsf.org/civicrm/event/register?id=47&amp;reset=1">register</a> at our non-member
rate.</p>
<p>This year's theme is "The Roots of Freedom." Some talks at this year's
conference will look back at the historical "roots" of the free
software movement, including the Four Freedoms, the GNU General Public
License and copyleft, and the focus on strong security and privacy
protections. Others will look at the movement's strong, foundational
"roots" -- and the exciting developments that grow from them in
education, business, activism, and the arts.</p>
<h1>Want to speak at LibrePlanet?</h1>
<p>You have just a few weeks left to <a href="https://my.fsf.org/lp-call-for-sessions">submit a session proposal</a>
-- the deadline is November 14th, 2016 at 18:59 EST (23:59 UTC).</p>
<p>Do you have questions about what makes a strong proposal? We're
hosting an information session to answer any questions you have
about submitting a proposal for LibrePlanet on Tuesday, November
1st from 15:00 - 18:00 EDT (19:00 - 22:00 UTC). Join us in the
<a href="irc://irc.gnu.org/libreplanet">#libreplanet</a> IRC channel on irc.freenode.net. Don't use IRC? Email
your questions to <a href="mailto:campaigns@fsf.org">campaigns@fsf.org</a>.</p>
<h1>Need help traveling to LibrePlanet?</h1>
<p>We have a limited amount of funding to bring conference
participants to LibrePlanet from all around the world. <a href="https://my.fsf.org/lp-scholarship-application">You can
apply for a scholarship starting now</a> -- the application
deadline is Monday, December 1st, 2016 at 10:00 EST in
the morning (15:00 UTC). Scholarship recipients will be notified in
mid-December.</p>
<p>If you don't need a scholarship, you can help us welcome all
types of people to LibrePlanet 2016 by <a href="https://my.fsf.org/civicrm/contribute/transact?reset=1&amp;id=33">making a contribution</a>
to the conference's scholarship fund now, or when you register
for LibrePlanet.</p>
<h1>Will your company sponsor LibrePlanet?</h1>
<p>Would your employer consider sponsoring LibrePlanet? We'll be
providing the info you need to persuade them soon, but you can
also contact us now at <a href="mailto:campaigns@fsf.org">campaigns@fsf.org</a> for more information.</p>
<p>LibrePlanet is an energizing, friendly event where you'll meet
activists, students, developers, and leaders -- and you may get
involved in a new project, gain new energy for free software
activism, and make new friends. We work hard to ensure a
welcoming environment for all, and we have a <a href="https://libreplanet.org/2017/safe-space-policy/">safe space
policy</a>. Don't wait to register: we want you here with us on
March 25-26, 2017 for <a href="https://libreplanet.org/conference">LibrePlanet 2017</a>.</p>
<p>Check out LibrePlanet 2016's <a href="https://media.libreplanet.org/u/libreplanet/m/libreplanet-2016-fork-the-system/">video of testimonials</a>
about why the free software community loves this annual event!</p></div>
    </content>
    <updated>2016-10-06T19:03:59Z</updated>
    <source>
      <id>http://www.fsf.org/blogs/recent-blog-posts</id>
      <author>
        <name>FSF Blogs</name>
      </author>
      <link href="http://www.fsf.org/blogs/recent-blog-posts" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/blogs.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Writing by representatives of the Free Software Foundation.</subtitle>
      <title>FSF's blog</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:dustycloud.org,2016-10-06:blog/an-even-more-distributed-activitypub/</id>
    <link href="http://dustycloud.org/blog/an-even-more-distributed-activitypub/" rel="alternate" type="text/html"/>
    <title>An even more distributed ActivityPub</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>So <a class="reference external" href="https://www.w3.org/TR/activitypub/">ActivityPub</a> is nearing
Candidate Recommendation status.
If you want to hear a lot more about that whole process of getting
there, and my recent trip to TPAC, and more,
<a class="reference external" href="http://mediagoblin.org/news/tpac-2016-and-review-activitypub.html">I wrote a post on the MediaGoblin blog about it</a>.</p>
<p>Last night my brother Stephen came over and he was talking about how
he wished ActivityPub was more of a "transactional" system.
I've been thinking about this myself.
ActivityPub as it is designed is made for the social network of 2014
more or less: trying to reproduce what the silos do, which is mutate
a big database for specific objects, but reproduce that in a distributed
way.
Well, mutating distributed systems is a bit risky.
Can we do better, without throwing out the majority of the system?
I think it's possible, with a couple of tweaks.</p>
<ul>
<li><p class="first">The summary is to move to objects and pointers to objects.
There's no mutation, only "changing" pointers (and even this is done
via appending to a log, mostly).</p>
<p>If you're familiar with git, you could think of the objects as well,
objects, and the pointers as branches.</p>
<p>Except... the log isn't in the objects pointing at their previous
revisions really, the logging is on the pointers:</p>
<pre class="literal-block">[pointer id] =&gt; [note content id]
</pre>
</li>
<li><p class="first">There's (activitystreams) objects (which <em>may</em> be content
addressed, to be more robust), and then "pointers" to those, via
signed pointer-logs.</p>
</li>
<li><p class="first">The only mutation in the system is that the "pointers", which are
signed logs (substitute "logs" for "ledger" and I guess that makes
it a "blockchain" loosely), are append-only structures that say
where the new content is.
If something changes a lot, it can have "checkpoints".
So, you can ignore old stuff eventually.</p>
</li>
<li><p class="first">Updating content means making a new object, and updating the
pointer-log to point to it.</p>
</li>
<li><p class="first">This of course leads to a problem: what identifier should objects
use to point at each other?  The "content" id, or the "pointer-log"
id?  One route is that when one object links to another object,
it could link to both the pointer-log id and the object id,
but that hardly seems desirable...</p>
</li>
<li><p class="first">Maybe the best route is to have all content ids point back at their
official log id... this isn't as crazy as it sounds!  Have a three
step process for creating a brand new object:</p>
<ul class="simple">
<li>Open a new pointer-log, which is empty, and get the identifier</li>
<li>Create the new object with all its content, and also add a link
back to the pointer-log in the content's body</li>
<li>Add the new object as the first item in the pointer-log</li>
</ul>
</li>
<li><p class="first">At this point, I think we can get rid of <em>all</em> side effects in
ActivityPub!  The only mutation thing is append-only to that
pointer-log.  As for everything else:</p>
<ul class="simple">
<li>Create just means "This is the first time you've seen this object."
And in fact, we could probably drop Create in a system like this,
because we don't need it.</li>
<li>Update is really just informing that there's a new entry on
the pointer-log.</li>
<li>Delete... well, you can delete your own copy.  You're mostly
informing other servers to delete their copy, but they have
a choice if they really will... though that's always been true!
You now can also switch to the nice property that removing
old content is now really garbage collection :)</li>
</ul>
</li>
<li><p class="first">Addressing and distribution still happens in the same, previous
ways it did, I assume?  So, you still won't get access to an object
unless you have permissions?  Though that gets more confusing if
you use the (optional) content addressed storage here.</p>
</li>
<li><p class="first">You now get a whole lot of things for free:</p>
<ul class="simple">
<li>You have a built in history log of everything</li>
<li>Even if someone else's node goes down, you can keep a copy of
all their content, and keep around the signatures to show that
yeah, that really was the content they put there!</li>
<li>You could theoretically distribute storage pretty nicely</li>
<li>Updates/deletes are less dangerous</li>
</ul>
</li>
</ul>
<p>(Thanks to Steve for encouraging me to think this through more
clearly, and lending your own thoughts, a lot of which is represented
here!  Thanks also to Manu Sporny who was the first to get me thinking
along these lines with some comments at TPAC.  Though, any mistakes in
the design are mine...)</p>
<p>Of course, you can hit even more distributed-system-nerd points by tossing
in the possibility of encrypting everything in the system, but let's
leave that as an exercise for the reader.
(It's not too much extra work if you
<a class="reference external" href="http://w3c.github.io/activitypub/#authorization-lds">already have public keys on profiles</a>.)</p>
<p>Anyway, is this likely to happen?
Well, time is running out in the group, so I'm unlikely to push for it
in this iteration.
But the good news, as I said, is that I think it can be built on top
without too much extra work...
The systems might even be straight-up compatible, and eventually
the old mutation-heavy-system could be considered the "crufty" way
of doing things.</p>
<p>Architectural astronaut'ing?  Maybe!
Fun to think about!
Hopefully fun to explore.
Gotta get the 2014-made-distributed version of the social web out first
though. :)</p></div>
    </summary>
    <updated>2016-10-06T09:43:00Z</updated>
    <category term="activitypub"/>
    <category term="decentralized"/>
    <category term="distributed"/>
    <category term="federation"/>
    <author>
      <name>Christopher Allan Webber</name>
    </author>
    <source>
      <id>http://dustycloud.org/</id>
      <link href="http://dustycloud.org/" rel="alternate" type="text/html"/>
      <link href="http://dustycloud.org/blog/index.xml" rel="self" type="application/atom+xml"/>
      <title>DustyCloud Brainstorms</title>
      <updated>2016-10-06T09:43:00Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:mediagoblin.org,2016-10-05:news/tpac-2016-and-review-activitypub.html</id>
    <link href="http://mediagoblin.org/news/tpac-2016-and-review-activitypub.html" rel="alternate" type="text/html"/>
    <title>ActivityPub and MediaGoblin at TPAC 2016 (or: ActivityPub needs your review!)</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p class="centered">
  <a href="https://www.w3.org/TR/activitypub/">
    <img alt="Screenshot of ActivityPub Working Draft" src="http://mediagoblin.org/blog_images/activitypub_wd_2016-09-04.png"/>
  </a>
</p>

<p>
  Hello everyone!
  We have a lot of news to cover, but I’m going to jump right into the
  thick of it: we’ve been working hard on a new federation (as well as
  client to server) standard called
  <a href="https://www.w3.org/TR/activitypub/">ActivityPub</a>
  (formerly ActivityPump).
  We’ve made tremendous progress, and I was just recently at a face to
  face meeting at <a href="https://www.w3.org/2016/09/TPAC/"><span class="caps">TPAC</span></a>,
  the <span class="caps">W3C</span>’s big technical conference.
</p>

<p>
  The good news: ActivityPub is aiming to hit Candidate Recommendation
  status by October 11th.
  (That’s less than a week away!)
  However, in order to enter that stage, we need <i>your review!</i>
  If you have any interest in the decentralized web, you can help.
  All you have to do is
  <a href="https://w3c.github.io/activitypub/">read the latest editor’s</a>
  draft and provide feedback.
  (The earlier the better… maybe a fun weekend project?)
  You can do this by any of the following:
</p>

<ul>
  <li>
    Post
    <a href="https://github.com/w3c-social/activitypub/issues">issues on the issue tracker</a>
    (yes, I think it’s ironic and problematic that we’re using GitHub,
    I picked my battles here, whether right or wrong).
  </li>
  <li>
    Email the
    <a href="http://lists.w3.org/Archives/Public/public-socialweb-comments/">social working group comments</a>
    mailing list.
  </li>
  <li>
    You can email me directly.
    Email cwebber <span class="caps">AT</span> dustycloud <span class="caps">DOT</span> org, and include “ActivityPub” in
    the subject.
    Note that I will be publishing your comments publicly, probably
    on the Social Working Group wiki!
  </li>
</ul>

<p>
  If you have feedback, we want to hear it!
  (From anyone, but <i>especially</i> from those who are interested in
  implementing ActivityPub!)
  Thank you!
</p>

<h2>ActivityPub live</h2>

<p><i>
  Note, the rest of this post is a bit of a dive into behind the scenes
  decisions and activity in MediaGoblin and ActivityPub… there’s no need to
  read this part to submit a review!
</i></p>

<p>
  I’m kind of traveling through time in all the wrong order in this post…
  but it’s worth jumping forward a bit to see the results of what we’ve done.
  Over the last many months there’s been a huge push on ActivityPub as a
  standard, as we’ll talk about.
  But in order to succeed, I also needed implementations, both of client to
  server and server to server.
  Well, I’m happy to say that those did come together…
</p>

<p class="blog_image">
  <a href="http://mediagoblin.org/blog_images/pubstrate-2016-09-14.png">
    <img alt="Pubstrate in action!" src="http://mediagoblin.org/blog_images/pubstrate-2016-09-14-scaled.png"/></a>
</p>

<p>
  This is <a href="https://gitlab.com/dustyweb/pubstrate">Pubstrate</a>,
  an implementation of ActivityStreams and ActivityPub for
  <a href="https://www.gnu.org/software/guile/"><span class="caps">GNU</span> Guile</a>.
  Sorry for the sappy embedded love-note, though what’s nice about this
  is that it’s the first demo I gave to someone else of the client to
  server functionality working in Pubstrate.
  But wait, what was the client?
</p>

<p class="blog_image">
  <a href="http://mediagoblin.org/blog_images/soci-el-2016-09-14.png">
    <img alt="Soci-El in action!" src="http://mediagoblin.org/blog_images/soci-el-2016-09-14-scaled.png"/></a>
</p>

<p>
  This is <a href="https://gitlab.com/dustyweb/soci-el">soci-el</a>,
  an ActivityPub client written in… you guessed it… emacs lisp.
  You can see the rendering of the user’s outbox here as well as the
  buffers from which the message was composed.
</p>

<p>
  Pretty nerdy!
  I don’t expect everyone to be using emacs as an ActivityPub client of
  course… I hope to see various desktop, web, and mobile clients
  made available.
  But, Emacs is the most fun for me, and I was time pressed, so
  there we are.
</p>

<p>
  Everyone loves seeing screenshots, but maybe not all of this stuff
  makes sense without context.
  What does this mean for MediaGoblin?
</p>

<h2>So what’s been going on?</h2>



<p>
  It seems a recurring meme in MediaGoblin land to say “we’ve been quiet, because
  we’ve been busy” (or maybe historically on every tech blog ever), but I guess
  I can’t resist repeating the mantra.
  It’s true!
  Though the weight of my focus has been shifted from where I expected it to be.
  From the
  <a href="http://mediagoblin.org/news/mediagoblin-0.9.0-three-goblineers.html">last</a>
  <a href="http://mediagoblin.org/news/stripe-retreat-state-of-the-goblin.html">few</a>
  <a href="http://mediagoblin.org/news/state-of-the-goblin-september-2015.html">updates</a>
  over the last year, you would be right to anticipate that the main thing I would
  be working on would be merging the
  <a href="http://mediagoblin.org/news/state-of-federation.html">federation code Jessica
    has written</a>
  and getting 1.0 out the door.
  That was the plan, and we’re still working towards that, but
  priorities shifted as we realized the opportunities and time
  pressures we were under with ActivityPub.
  After the Social Working Group
  <a href="https://www.w3.org/wiki/Socialwg/2016-06-06">face to face meeting in June</a>,
  Jessica and I sat down and talked about what we should do.
  Jessica had recently started working at
  <a href="https://www.igalia.com/">Igalia</a> (great people!) and
  was busy with that and other transitions in her life, so we discussed
  whether we thought it was most sensible to focus my energy on MediaGoblin
  or on ActivityPub.
  It was clear that ActivityPub was shaping into a solid specification,
  but it was also made clear that the Social Working Group’s charter was
  running out by the end of 2016.
  We both think ActivityPub is key to MediaGoblin’s success and didn’t want
  to see our invested time go to waste, so decided my immediate focus
  should switch to ActivityPub so it could successfully make it as
  a standard.
</p>

<p>
  Which isn’t doom and gloom for MediaGoblin!
  MediaGoblin development has continued… the community is good enough that
  people have been able to work while I’ve been busy.
  I’m happy to say we also appointed longtime contributor Boris Bobrov as
  co-maintainer to help reduce me being a bottleneck.
  (Thank you Boris, and congrats!)
  Other contributors have also stepped up to the plate.
  I’m especially thankful of Ben Sturmfels for hosting MediaGoblin hackathons
  and being so responsive to community members.
  (And of course, there are many others to thank, too!)
</p>


<p>
  Anyway, I’m not going anywhere, I’ve just been shifting focus to standards
  work for a bit… but it’s all for the greater good of MediaGoblin.
  (Well, and the greater federated social web!)
  Soon, we’ll be putting the work we’re doing on ActivityPub directly
  into MediaGoblin.
  When we merge Jessica’s work on federation, we will also retool it so that
  the first federated release of MediaGoblin will be blazing the trails with ActivityPub.
</p>  





<p>
  Both ActivityPub and I personally got a significant boost by a happy visit
  from friend and Social Working Group co-conspirator Amy Guy.
  Amy dropped by for an intense four days of standards hacking and scheming,
  and came up with several significant ways to restructure and improve the
  document.
  With her help, we now have much clearer distinction between the use of
  ActivityPub as a client to server protocol (think mobile applications and
  desktop applications connecting to your server) vs the server to server
  protocol (federation).
  Both of these are now clearly intertwined in the document, but are distinct
  enough where they can be used and understood separately if desired.
  We also more clearly established the connections between ActivityPub and
  the linked data community by explaining ActivityPub’s relationship with
  <a href="https://www.w3.org/TR/ldn/">Linked Data Notifications</a>.
</p>

<p>
  Amy has a gift for composing standards language, something I’m still
  struggling to learn (but hopefully getting better with over time).
  ActivityPub is much better with her hard work.
  Thank you Amy!
</p>



<p>
  In addition to the standards side of things, in order to get ActivityPub to
  the next level, we needed to be able to present real live demonstrations
  of the standard in action.
  Hence the work on Pubstrate and soci-el mentioned previously.
  For most of the months before <span class="caps">TPAC</span>, I was working furiously day and night
  to get things ready to show…
  And then, it was time to head off, and hope it was good enough…
</p>


<h2><span class="caps">TPAC</span></h2>

<p class="blog_image">
  <a href="https://www.w3.org/wiki/File:2016-09-21-socialwg-breakout.jpg">
    <img alt="Live demo image, by aaronpk" src="http://mediagoblin.org/blog_images/2016-09-21-socialwg-breakout-by-aaronpk-scaled.jpg"/>
  </a>
  <br/>
  <em>
    <span class="caps">TPAC</span> demo room photo by
    <a href="https://aaronparecki.com/">Aaron Parecki</a>
  </em>    
</p>

<p>
  Fortunately, all that hard work paid off.
  The Social Working Group kicked off <span class="caps">TPAC</span> with live open-viewing
  demonstrations of the various standards we’ve been working on.
  We got in a really solid set of demos from everyone in the group.
</p>



<p>
  From my end, I managed to demo all the core parts of the ActivityPub
  spec: I wrote a note in my client (soci-el), fired it off to the server
  (Pubstrate), where it rendered successfully.
  Then I explained, well, what if you want someone on another machine to
  see it?
  So I had another user on a separate Pubstrate instance, added
  the user over there to the recipients list on my message, shot
  the message over to the server, crossed my fingers and hey!
  The live demo of federation succeeded. (Whew!)
</p>



<p>
  In the actual main Social Working Group meeting, we hammered things
  forward pretty nicely.
  As said, ActivityPub was positioned to move ahead towards
  Candidate Recommendation by the 11th.
  Again, your feedback is most valuable at this time!
</p>



<p class="blog_image">
  <a href="http://mediagoblin.org/pages/campaign.html">
    <img alt="Spying image from the campaign video" src="http://mediagoblin.org/images/campaign/video2_poster-surveillance.png"/></a>
</p>

<p>
  Oh, one more thing.
  On the second day of the main Social Working Group meetings,
  at Amy’s suggestion (apparently she was impressed when I showed her
  at her visit), I showed off the MediaGoblin campaign video to
  the group.
  Apparently I had never done so previously, so it was really nice
  to hear the reaction: “Holy cow, this is describing exactly the
  type of stuff we’re working on in the working group!”
  Yep, exactly… all that stuff you see illustrated in that video,
  we’re working on putting into code and standards.
  The dream lives!
</p>

<p>
  So, all this Social Working Group stuff… things are happening!
  We’re not just goofing off!
</p>

<p class="blog_image">
  <a href="https://www.w3.org/wiki/File:2016-09-23-socialwg-group-animated.gif">
    <img alt="TPAC 2016-09-23 goofoff gif by aaronpk" src="http://mediagoblin.org/blog_images/2016-09-23-socialwg-group-animated-by-aaronpk.gif"/>
  </a>
  <br/>
  <em>
    Super serious <span class="caps">TPAC</span> group “photo” by
    <a href="https://aaronparecki.com/">Aaron Parecki</a>
  </em>
</p>

<p>
  … er, right.
  Not <em>just</em> goofing off! :)
</p></div>
    </summary>
    <updated>2016-10-05T16:45:00Z</updated>
    <category term="activitypub"/>
    <category term="standards"/>
    <category term="w3c"/>
    <category term="tpac"/>
    <author>
      <name>Christopher Allan Webber</name>
    </author>
    <source>
      <id>http://mediagoblin.org/</id>
      <link href="http://mediagoblin.org/" rel="alternate" type="text/html"/>
      <link href="http://mediagoblin.org/news/index.xml" rel="self" type="application/atom+xml"/>
      <title>MediaGoblin</title>
      <updated>2016-10-05T16:45:00Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/blogs/directory/free-software-directory-meeting-recap-for-september-30th-2016</id>
    <link href="http://www.fsf.org/blogs/directory/free-software-directory-meeting-recap-for-september-30th-2016" rel="alternate" type="text/html"/>
    <title>Free Software Directory meeting recap for September 30th, 2016</title>
    <summary>Check out the great work our volunteers accomplished at the last Free Software Directory meeting.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Every week free software activists from around the world come together in #fsf on irc.freenode.org to help improve the <a href="https://directory.fsf.org/">Free Software Directory</a>. This recaps the work we accomplished on the Friday, September 30th, 2016 meeting.</p>
<p>This week we had a special theme of focusing on collaboration related software. This was another big category, but we made some great progress in updating tools for helping people work together. The channel also did some great collaboration in improving the tools we use to work on the directory. adfeno and dachary worked together on the participation guide tools section, improving guides for scripting work in the directory. They made a section in the guide for using <a href="https://directory.fsf.org/wiki/Free_Software_Directory:Participate/Using_pywikibot">pywikibot</a>, a command line, to simplify tasks in the directory.</p>
<p>Iankelling and donaldr3 each started from opposite ends of the project management category and got close to meeting in the middle on updating the pages. jgay helped approve a massive batch of updates to the directory, and mattl was also there to help update entries and provide insight on some of the scripting tasks. The meeting ended up running long after its scheduled end time as everyone wanted to keep working on their projects.</p>
<p>adfeno and Iankelling worked long after the end of even the long-running meeting to put together a resource on broken links in the directory. Using pywikibot they were able to generate a listing of dead external links on the directory. Which means that our first meeting in October will be the 'Meeting of the Undead' where we focus on finding and bring back to life dead links.</p>
<p>If you would like to help hunt for the dead links or just help update the directory in general, meet with us every Friday in #fsf on irc.freenode.org from 12pm to 3pm EDT (16:00 to 19:00 UTC).</p></div>
    </content>
    <updated>2016-10-04T15:53:28Z</updated>
    <source>
      <id>http://www.fsf.org/blogs/recent-blog-posts</id>
      <author>
        <name>FSF Blogs</name>
      </author>
      <link href="http://www.fsf.org/blogs/recent-blog-posts" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/blogs.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Writing by representatives of the Free Software Foundation.</subtitle>
      <title>FSF's blog</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/blogs/community/twenty-two-22-new-gnu-releases-in-september</id>
    <link href="http://www.fsf.org/blogs/community/twenty-two-22-new-gnu-releases-in-september" rel="alternate" type="text/html"/>
    <title>Twenty-two new GNU releases in September</title>
    <summary>Since last month (as of September 26, 2016):</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><ul>
<li><a href="https://www.gnu.org/software/apl/">apl-1.6a</a></li>
<li><a href="https://www.gnu.org/software/autoconf-archive/">autoconf-archive-2016.09.16</a></li>
<li><a href="https://www.gnu.org/software/autogen/">autogen-5.18.12</a></li>
<li><a href="https://www.gnu.org/software/bash/">bash-4.4</a></li>
<li><a href="https://www.gnu.org/software/denemo/">denemo-2.0.12</a></li>
<li><a href="http://www.drgeo.eu/">drgeo-16.10a</a></li>
<li><a href="https://www.gnu.org/software/emacs/">emacs-25.1</a></li>
<li><a href="https://www.gnu.org/software/gawk/">gawk-4.1.4</a></li>
<li><a href="https://www.gnu.org/software/global/">global-6.5.5</a></li>
<li><a href="https://www.gnu.org/software/gnucash/">gnucash-2.6.14</a></li>
<li><a href="https://www.gnu.org/software/chess/">gnuchess-6.2.3</a></li>
<li><a href="https://www.gnu.org/software/gnu-c-manual/">gnu-c-manual-0.2.5</a></li>
<li><a href="https://www.gnu.org/software/gnutls/">gnutls-3.5.4</a></li>
<li><a href="https://www.gnu.org/software/gsl/">gsl-2.2.1</a></li>
<li><a href="https://www.gnu.org/software/libmicrohttpd/">libmicrohttpd-0.9.51</a></li>
<li><a href="https://www.gnu.org/software/osip/doc/html/group__libosip2.html">libosip2-5.0.0</a></li>
<li><a href="https://www.gnu.org/software/nano/">nano-2.7.0</a></li>
<li><a href="https://www.gnu.org/software/parallel/">parallel-20160922</a></li>
<li><a href="https://www.gnu.org/software/readline/">readline-7.0</a></li>
<li><a href="https://www.gnu.org/software/texinfo/">texinfo-6.3</a></li>
<li><a href="https://www.gnu.org/software/unifont/">unifont-9.0.02</a></li>
<li><a href="https://www.gnu.org/software/xorriso/">xorriso-1.4.6</a></li>
</ul>
<p>For announcements of most new GNU releases, subscribe to the info-gnu
mailing list: <a href="https://lists.gnu.org/mailman/listinfo/info-gnu">https://lists.gnu.org/mailman/listinfo/info-gnu</a>.</p>
<p>To download: nearly all GNU software is available from
<a href="https://ftp.gnu.org/gnu/">https://ftp.gnu.org/gnu/</a>, or preferably one of its mirrors from
<a href="https://www.gnu.org/prep/ftp.html">https://www.gnu.org/prep/ftp.html</a>.  You can use the url
<a href="https://ftpmirror.gnu.org/">https://ftpmirror.gnu.org/</a> to be automatically redirected to a
(hopefully) nearby and up-to-date mirror.</p>
<p>This month, we welcome Boris Bobrov as the new GNU MediaGoblin
co-maintainer.</p>
<p>A number of GNU packages, as well as the GNU operating system as a
whole, are looking for maintainers and other assistance: please see
<a href="https://www.gnu.org/server/takeaction.html#unmaint">https://www.gnu.org/server/takeaction.html#unmaint</a> if you'd like to
help.  The general page on how to help GNU is at
<a href="https://www.gnu.org/help/help.html">https://www.gnu.org/help/help.html</a>.</p>
<p>If you have a working or partly working program that you'd like
to offer to the GNU project as a GNU package, see
<a href="https://www.gnu.org/help/evaluation.html">https://www.gnu.org/help/evaluation.html</a>.</p>
<p>As always, please feel free to write to us at <a href="mailto:maintainers@gnu.org">maintainers@gnu.org</a>
with any GNUish questions or suggestions for future installments.</p></div>
    </content>
    <updated>2016-10-04T14:00:21Z</updated>
    <source>
      <id>http://www.fsf.org/blogs/recent-blog-posts</id>
      <author>
        <name>FSF Blogs</name>
      </author>
      <link href="http://www.fsf.org/blogs/recent-blog-posts" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/blogs.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Writing by representatives of the Free Software Foundation.</subtitle>
      <title>FSF's blog</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://savannah.gnu.org/forum/forum.php?forum_id=8701</id>
    <link href="http://savannah.gnu.org/forum/forum.php?forum_id=8701" rel="alternate" type="text/html"/>
    <title>Gnuastro 0.2 released</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I am pleased to announce the second release of GNU Astronomy Utilities (Gnuastro).
<br/>
</p>
<p>Gnuastro is a collection of programs and library functions for astronomical data manipulation and analysis. The programs are run directory on the command-line, enabling easy and efficient operationS (combined with other installed programs) in shell scripts or Makefiles. The libraries are also usable in C and C++ programs.
<br/>
</p>
<p>The main changes in this version can be seen in the NEWS file which is also distributed with this announcement in footnote 1 (below). The most notable new features are:
<br/>
</p>
<ul>
<li>Gnuastro library: to use the building blocks of Gnuastro's programs in other C and C++ programs. Python wrappers will also be coming with the next releases. In this release (first library release), the main emphasis was on having a robust library build, management, and documentation infra-structure, rather than the actual functions. A lot of work still remains on improving the functions. Most of the interesting functions are also still locked up in the programs. But with this infra-structure in place, the next releases will greatly improve the quantity and quality of the offered library functions.
</li>
</ul>
<ul>
<li>A new program to read and write FITS binary and ASCII tables called `Table' with the executable name `asttable'. It can also show the column information of a FITS table, or select columns with regular expressions on their title.
</li>
</ul>
<p>Here are the compressed sources:
<br/>
  <a href="http://ftp.gnu.org/gnu/gnuastro/gnuastro-0.2.tar.gz">http://ftp.gnu.org/gnu/gnuastro/gnuastro-0.2.tar.gz</a>   (4.0MB)
<br/>
  <a href="http://ftp.gnu.org/gnu/gnuastro/gnuastro-0.2.tar.lz">http://ftp.gnu.org/gnu/gnuastro/gnuastro-0.2.tar.lz</a>   (2.7MB)
<br/>
</p>
<p>Here are the GPG detached signatures, see footnote 2 (below):
<br/>
  <a href="http://ftp.gnu.org/gnu/gnuastro/gnuastro-0.2.tar.gz.sig">http://ftp.gnu.org/gnu/gnuastro/gnuastro-0.2.tar.gz.sig</a>
<br/>
  <a href="http://ftp.gnu.org/gnu/gnuastro/gnuastro-0.2.tar.lz.sig">http://ftp.gnu.org/gnu/gnuastro/gnuastro-0.2.tar.lz.sig</a>
<br/>
</p>
<p>Use a mirror for higher download bandwidth:
<br/>
  <a href="http://ftpmirror.gnu.org/gnuastro">http://ftpmirror.gnu.org/gnuastro</a>
<br/>
or
<br/>
  <a href="http://www.gnu.org/order/ftp.html">http://www.gnu.org/order/ftp.html</a>
<br/>
(Note that mirrors will need some time to synchronize with the main server)
<br/>
</p>
<p>Here are the MD5 and SHA1 checksums of the tarballs.
<br/>
</p>
<p>175ee211b20d6a667a7186f564b5cc79  gnuastro-0.2.tar.gz
<br/>
2f68cead777e4a6d38d1bccb7c200362  gnuastro-0.2.tar.lz
<br/>
703918a2f180e3c448c66fc6e8180f40a15bb460  gnuastro-0.2.tar.gz
<br/>
fbfd3eccf0fc15f49cb25b30ffa5dc95a74d30fc  gnuastro-0.2.tar.lz
<br/>
</p>
<p>Mosè Giordano and Vladimir Markelov contributed to the code in this release. I am also very grateful to Alan Lefor, Yahya Sefidbakht, and Mohammad-reza Khellat for their many patient tests during development along with useful comments and suggestions.
<br/>
</p>
<p>Gnuastro 0.2 tarball was bootstrapped with the following tools:
<br/>
  Texinfo 6.1
<br/>
  Autoconf 2.69
<br/>
  Automake 1.15
<br/>
  Libtool 2.4.6
<br/>
  Help2man 1.47.3
<br/>
  Gnulib v0.1-898-ge63f5eb
<br/>
  Autoconf Archives v2016.09.16-8-g8a6b028
<br/>
Note that these are not installation dependencies, for those, please see
<br/>
<a href="https://www.gnu.org/software/gnuastro/manual/html_node/Dependencies.html">https://www.gnu.org/software/gnuastro/manual/html_node/Dependencies.html</a>
<br/>
</p>
<p>Cheers,
<br/>
Mohammad Akhlaghi
<br/>
</p>
<p>--
<br/>
Postdoctoral research fellow
<br/>
CRAL (Lyon Observatory), France.
<br/>
</p>




<h4>Footnote 1</h4>

<p>Noteworthy changes in release 0.2 (library 0.0.0) (2016-10-03) [stable]
<br/>
</p>
<h5>Bug fixes</h5>

<ul>
<li>Linker errors on some operating systems have been fixed (<em><a href="http://savannah.gnu.org/bugs/?48076">bug #48076</a></em>).
</li>
</ul>
<ul>
<li>Several memory allocation, checks or redundancies have been fixed: <em><a href="http://savannah.gnu.org/bugs/?48453">bug #48453</a></em>, <em><a href="http://savannah.gnu.org/bugs/?48516">bug #48516</a></em>, <em><a href="http://savannah.gnu.org/bugs/?48603">bug #48603</a></em>, <em><a href="http://savannah.gnu.org/bugs/?48611">bug #48611</a></em>, <em><a href="http://savannah.gnu.org/bugs/?48571">bug #48571</a></em>, <em><a href="http://savannah.gnu.org/bugs/?48650">bug #48650</a></em>, <em><a href="http://savannah.gnu.org/bugs/?48657">bug #48657</a></em>, <em><a href="http://savannah.gnu.org/bugs/?48692">bug #48692</a></em>, <em><a href="http://savannah.gnu.org/bugs/?48770">bug #48770</a></em>, <em><a href="http://savannah.gnu.org/bugs/?47866">bug #47866</a></em>, <em><a href="http://savannah.gnu.org/bugs/?48899">bug #48899</a></em>, <em><a href="http://savannah.gnu.org/bugs/?49049">bug #49049</a></em>, <em><a href="http://savannah.gnu.org/bugs/?49007">bug #49007</a></em>.
</li>
</ul>
<ul>
<li>ImageCrop no longer crashes with very long output file names (<em><a href="http://savannah.gnu.org/bugs/?46241">bug #46241</a></em> and <em><a href="http://savannah.gnu.org/bugs/?45380">bug #45380</a></em>).
</li>
</ul>
<h5>New programs or headers</h5>

<ul>
<li>Table: a new utility to read and write FITS binary and ASCII tables. It can also print the column information or select columns using regular expressions (<em><a href="http://savannah.gnu.org/task/?13579">task #13579</a></em>).
</li>
</ul>
<ul>
<li>Shared libraries and headers are now installed. The libraries can be used in C and C++ programs. This release includes the following headers: `gnuastro.h', `array.h', `box.h', `fits.h', `linkedlist.h', `mesh.h', `polygon.h', `qsort.h', `spatialconvolve.h', `statistics.h', `threads.h', `wcs.h', `txtarray.h' (<em><a href="http://savannah.gnu.org/task/?13765">task #13765</a></em>).
</li>
</ul>
<ul>
<li>Gnuastro now comes with a script in its top source directory (`tmpfs-config-make') to configure and build it in the tmpfs (on the RAM), for those systems that have it. See the new "Configure and build in RAM" section in the book for more (<em><a href="http://savannah.gnu.org/task/?14100">task #14100</a></em>).
</li>
</ul>
<h5>New features</h5>

<ul>
<li>MakeProfiles also accepts WCS positions (<em><a href="http://savannah.gnu.org/task/?13566">task #13566</a></em>).
</li>
</ul>
<ul>
<li>Flat profiles in MakeProfiles can be given a profile specific value. The new `--mforflatpix' option MakeProfile will use the value in the magnitude column as a fixed value for each pixel. This can be very useful in defining a mask, or creating segmentation maps or labeled images (<em><a href="http://savannah.gnu.org/task/?14115">task #14115</a></em>).
</li>
</ul>
<ul>
<li>MakeProfiles can now use input image as canvas. Instead of specifying the WSC and image size paramteres manually. With the new `--inputascanvas' option, MakeProfiles will get this information (along with blank pixels) from an already existing image (<em><a href="http://savannah.gnu.org/task/?14116">task #14116</a></em>).
</li>
</ul>
<ul>
<li>Type of output in MakeProfiles and Arithmetic can be specified with the `--type' option.
</li>
</ul>
<ul>
<li>Magnitude error column in MakeCatalog with the `--magnitudeerr' option.
</li>
</ul>
<ul>
<li>Arithmetic now has new conditional (<em><a href="http://savannah.gnu.org/task/?13870">task #13870</a></em>) and logical operators (<em><a href="http://savannah.gnu.org/task/?14153">task #14153</a></em>) along with an operator for actions only when conditions are true: `where'. The new `isblank' operator will also enable you to select blank, or masked, pixels (<em><a href="http://savannah.gnu.org/task/?14146">task #14146</a></em>).
</li>
</ul>
<ul>
<li>The `--noerodequant' in NoiseChisel enables it to detect small and sharper profiles by disabling erosion on pixels above a certain quantile (<em><a href="http://savannah.gnu.org/task/?14139">task #14139</a></em>).
</li>
</ul>
<ul>
<li>MakeCatalog can also calculate the upper limit magnitude for each given object in the image by randomly positioning the object's footprint over undetected regions of the image (<em><a href="http://savannah.gnu.org/task/?14167">task #14167</a></em>).
</li>
</ul>
<ul>
<li>The source tarball is now also distributed with Lzip for a much better compression ratio and more robust archival file format.
</li>
</ul>
<h5>Changes in behavior</h5>

<ul>
<li>The two MakeProfiles options `--setconsttonan', `--setconsttomin' have been removed (see `--mforflatpix' above for their alternative).
</li>
</ul>
<ul>
<li>MakeCatalog makes clump catalog only when asked (when the `WCLUMPS' header exists in the objects HDU). This can be very useful in cases like aperture photometry, when the object labels are not generated by NoiseChisel and so a clump image doesn't exist (<em><a href="http://savannah.gnu.org/task/?14122">task #14122</a></em>).
</li>
</ul>
<ul>
<li>Default cosmological parameters in CosmiCalculator set to Plank 2015 results: A&amp;A (2016), 594, A13 (arXiv 1502.01589).
</li>
</ul>
<ul>
<li>The `--envseed' option (to read random number generator type and seed from the environment) to MakeProfiles and MakeNoise can also be given in the configuration files.
</li>
</ul>




<h4>Footnote 2</h4>
<p>Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact.  First, be sure to download both the .sig file and the corresponding tarball.  Then, run a command like this (similar for `tar.lz' files):
<br/>
</p>
<input class="verbatim" readonly="readonly" size="60" type="text" value="gpg --verify gnuastro-0.2.tar.gz.sig "/>

<p>If that command fails because you don't have the required public key,
<br/>
then run this command to import it:
<br/>
</p>
<input class="verbatim" readonly="readonly" size="60" type="text" value="gpg --keyserver keys.gnupg.net --recv-keys 16A8A4B2AEC42AFF "/>

<p>and rerun the 'gpg --verify' command.<br/>
</p></div>
    </content>
    <updated>2016-10-03T13:27:11Z</updated>
    <author>
      <name>Mohammad Akhlaghi</name>
    </author>
    <source>
      <id>http://savannah.gnu.org/news/atom.php?group=gnuastro</id>
      <link href="http://savannah.gnu.org/news/atom.php?group=gnuastro" rel="self" type="application/atom+xml"/>
      <title>GNU Astronomy Utilities - News</title>
      <updated>2016-10-03T13:27:39Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://savannah.gnu.org/forum/forum.php?forum_id=8697</id>
    <link href="http://savannah.gnu.org/forum/forum.php?forum_id=8697" rel="alternate" type="text/html"/>
    <title>grep-2.26 released [stable]</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><textarea class="verbatim" cols="80" readonly="readonly" rows="20">This is to announce grep-2.26, a stable release.

There have been 110 commits by 5 people in the 23 weeks since 2.25.
See the NEWS below for a brief summary.

Thanks to everyone who has contributed (both code and testing)!
The following people contributed code changes to this release:

  Arnold Robbins (1)
  Jim Meyering (29)
  Norihiro Tanaka (23)
  Paul Eggert (43)
  Zev Weiss (14)

Jim [on behalf of the grep maintainers]
==================================================================

Here is the GNU grep home page:
    http://gnu.org/s/grep/

For a summary of changes and contributors, see:
  http://git.sv.gnu.org/gitweb/?p=grep.git;a=shortlog;h=v2.26
or run this command from a git-cloned grep directory:
  git shortlog v2.25..v2.26

To summarize the 145 gnulib-related changes, run these commands
from a git-cloned grep directory:
  git checkout v2.26
  git submodule summary v2.25
==================================================================

Here are the compressed sources and a GPG detached signature[*]:
  http://ftp.gnu.org/gnu/grep/grep-2.26.tar.xz
  http://ftp.gnu.org/gnu/grep/grep-2.26.tar.xz.sig

Use a mirror for higher download bandwidth:
  http://ftpmirror.gnu.org/grep/grep-2.26.tar.xz
  http://ftpmirror.gnu.org/grep/grep-2.26.tar.xz.sig

[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact.  First, be sure to download both the .sig file
and the corresponding tarball.  Then, run a command like this:

  gpg --verify grep-2.26.tar.xz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

  gpg --keyserver keys.gnupg.net --recv-keys 7FD9FCCB000BEEEE

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
  Autoconf 2.69.168-2b48
  Automake 1.99a
  Gnulib v0.1-897-g65e6915

==================================================================
NEWS

* Noteworthy changes in release 2.26 (2016-10-02) [stable]

** Bug fixes

  Grep no longer omits output merely because it follows an output line
  suppressed due to encoding errors.  [bug introduced in grep-2.21]

  In the Shift_JIS locale, grep no longer mistakenly matches in the
  middle of a multibyte character. [bug present since "the beginning"]

** Improvements

  grep can be much faster now when standard output is /dev/null.

  grep -F is now typically much faster when many patterns are given,
  as it now uses the Aho-Corasick algorithm instead of the
  Commentz-Walter algorithm in that case.

  grep -iF is typically much faster in a multibyte locale, if the
  pattern and its case counterparts contain only single byte characters.

  grep with complicated expressions (e.g., back-references) and without
  -i now uses the regex fastmap for better performance.

  In multibyte locales, grep now handles leading "." in patterns more
  efficiently.

  grep now prints a "FILENAME:LINENO: " prefix when diagnosing an
  invalid regular expression that was read from an '-f'-specified file.
</textarea></div>
    </content>
    <updated>2016-10-03T02:26:43Z</updated>
    <author>
      <name>Jim Meyering</name>
    </author>
    <source>
      <id>http://savannah.gnu.org/news/atom.php?group=grep</id>
      <link href="http://savannah.gnu.org/news/atom.php?group=grep" rel="self" type="application/atom+xml"/>
      <title>grep - News</title>
      <updated>2016-10-03T02:27:07Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>https://gnunet.org/2634 at https://gnunet.org</id>
    <link href="https://gnunet.org/node/2634" rel="alternate" type="text/html"/>
    <title xml:lang="en">GNUnet for Gentoo</title>
    <summary type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>In summer 2015 I started to package GNUnet for Gentoo as contributor to the <i>youbroketheinternet-overlay</i>.</p>
<p>This short post is to announce that, among other packages, you can now build and install GNUnet (and gnunet-gtk, gnurl) on Gentoo as easy as:</p>
</div></div></div></div>
    </summary>
    <updated>2016-10-02T23:16:23Z</updated>
    <author>
      <name>ng0</name>
    </author>
    <source>
      <id>https://gnunet.org/frontpage</id>
      <link href="https://gnunet.org/frontpage" rel="alternate" type="text/html"/>
      <link href="https://gnunet.org/rss.xml" rel="self" type="application/rss+xml"/>
      <title xml:lang="en">GNUnet - GNU's Framework for Secure Peer-to-Peer Networking</title>
      <updated>2016-10-20T06:17:15Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-14978667.post-1275886447584546225</id>
    <link href="http://lcinexile.blogspot.com/feeds/1275886447584546225/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/>
    <link href="http://lcinexile.blogspot.com/2016/10/the-bug-report.html#comment-form" rel="replies" title="0 Comments" type="text/html"/>
    <link href="http://www.blogger.com/feeds/14978667/posts/default/1275886447584546225" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/14978667/posts/default/1275886447584546225" rel="self" type="application/atom+xml"/>
    <link href="http://lcinexile.blogspot.com/2016/10/the-bug-report.html" rel="alternate" title="The Bug Report" type="text/html"/>
    <title>The Bug Report</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">So I get a bug report. It is on GNU/Linux, of course, because that is the only ecosystem that sends bug reports.<br/><br/>So first I boot up my work box (Computer #1, Windows 10) which is the one that has the sweet monitor and try to VPN to the Server box (Computer #2, GNU/Linux Fedora Server, amd64).  But, of course, at one point I'd stripped all the non-console-mode functionality off of the server, so VPN is a fail.  I could have done the fix easily via ssh and emacs-nox, but, I figure it will only take a minute to get a graphical environment up and running.<br/><br/>There's a GNU Linux VM running on VirtualBox on the work box, but, I get distracted from the actual problem when I can't figure out how to get VirtualBox to create a large screen.  Totally not a problem, but, I get obsessed with this minutiae and can't let it go. I waste time tweaking the virtual graphics card settings with no effect.<br/><br/>So then I boot up the old linux box (Computer #3, GNU/Linux Fedora Workstation). It is 64 bit, but, it is running the i686 distro for reasons lost to history.  And then I remember that when I upgraded my wireless router, it stopped connecting via USB-connected Wifi. There are wpa_supplicant errors. Don't know why.  Spent a couple of hours trying to make it work.<br/><br/>Thus, I drag the old linux box to the room with the router so I can plug it in directly.  The only table is covered in padlocks, bottles of sunscreen, beads, jars of coins, and multiple Rubik's Cubes.  I clear a space.<br/><div class="separator" style="clear: both; text-align: center;"><a href="https://3.bp.blogspot.com/-_14-9QZy86Y/V_E3loPAWZI/AAAAAAAAANI/CAJlEqua34wkmXNoJguR5-_wNTOekB21wCLcB/s1600/IMG_20161002_093238.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-_14-9QZy86Y/V_E3loPAWZI/AAAAAAAAANI/CAJlEqua34wkmXNoJguR5-_wNTOekB21wCLcB/s320/IMG_20161002_093238.jpg" width="320"/></a></div><br/><br/>The power cable to the spare monitor has gone missing.  It is a tiny HP w17e, but, still higher resolution than what I was getting from VirtualBox.   I search for 20 minutes. Eventually steal the power cable from work box.  My mostly ruined back complains when I shimmy under the desk to untangle it from the cable octopus.<br/><br/>I boot up old linux box.  Huh, it is only 100BaseT.  I dutifully do a "dnf upgrade". 1404 packages to update.  That takes another half hour.<br/><br/>And thus, I've used up the four hours of Saturday morning time which is the only time I have to devote to personal hacking.  Sorry bug reporter.  I'm too stupid to work on your request, and the computer gods hate me.  Better luck next week.<br/><br/></div>
    </content>
    <updated>2016-10-02T16:40:50Z</updated>
    <published>2016-10-02T16:40:00Z</published>
    <author>
      <name>Mike</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/00699531526967964528</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-14978667</id>
      <category term="guile"/>
      <category term="php"/>
      <category term="b2evolution"/>
      <category term="mysql"/>
      <category term="serveez-mg"/>
      <category term="sizzweb"/>
      <author>
        <name>Mike</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/00699531526967964528</uri>
      </author>
      <link href="http://lcinexile.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/14978667/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://lcinexile.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://www.blogger.com/feeds/14978667/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>A life of punk, code and apathy</subtitle>
      <title>Lonely Cactus</title>
      <updated>2016-10-19T17:09:34Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://savannah.gnu.org/forum/forum.php?forum_id=8694</id>
    <link href="http://savannah.gnu.org/forum/forum.php?forum_id=8694" rel="alternate" type="text/html"/>
    <title>Version 1.8 Released</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>GNU Rush version 1.8 is available for download from <a href="http://ftp.gnu.org/gnu/rush">Main GNU</a> and <a href="http://download/release/rush">GNU.ORG.UA</a> archives. 
<br/>
</p>
<p>New in this version:
<br/>
</p>
<h4>rushlast and rushwho</h4>

<p>Select the most suitable time representation for the duration field, depending on the requested width.
<br/>
</p>
<h4>Chroot Handling</h4>

<p>If chroot is requested, re-read the password database after chrooting.
<br/>
</p>
<h4>Supplementary User Groups</h4>

<p>Set supplementary groups when switching to user privileges.
<br/>
</p>
<h4>Change Provisions for Interactive Shell Usage</h4>

<p>Interactive rules are marked with the keyword "interactive".  Only such rules are considered when rush is invoked without the -c option.  Support for the old (global) <strong>interactive</strong> keyword is discontinued.
<br/>
</p>
<h4>The "env" Statement</h4>

<p>The <strong>env</strong> statement can contain references to unmodified environment variables.  E.g. this is now valid:
<br/>
</p>
<input class="verbatim" readonly="readonly" size="60" type="text" value="  env PATH=/sbin:$PATH "/>

<h4>Testsuite is Provided</h4>
  
<h4>Bugfixes</h4>

<ul>
<li>Minor fix in TXPMUX code.
</li>
</ul>
<ul>
<li>Fix CVE-2013-6889
</li>
</ul>
<h4>Manpages are Provided</h4></div>
    </content>
    <updated>2016-10-01T09:20:33Z</updated>
    <author>
      <name>Sergey Poznyakoff</name>
    </author>
    <source>
      <id>http://savannah.gnu.org/news/atom.php?group=rush</id>
      <link href="http://savannah.gnu.org/news/atom.php?group=rush" rel="self" type="application/atom+xml"/>
      <title>GNU Rush - News</title>
      <updated>2016-10-01T09:20:42Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://savannah.gnu.org/forum/forum.php?forum_id=8693</id>
    <link href="http://savannah.gnu.org/forum/forum.php?forum_id=8693" rel="alternate" type="text/html"/>
    <title>FreeIPMI 1.5.4 Released</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://ftp.gnu.org/gnu/freeipmi/freeipmi-1.5.4.tar.gz">http://ftp.gnu.org/gnu/freeipmi/freeipmi-1.5.4.tar.gz</a>
<br/>
</p>
<p>o Various changes/fixes in libipmiconsole
<br/>
  - If user retrieves file descriptor from ipmiconsole_ctx_fd, 
<br/>
    user is required to close it.  ipmiconsole_ctx_destroy no 
<br/>
    longer closes it.  This is to avoid a potential double close 
<br/>
    which can be a problem for multithreaded applications.  This 
<br/>
    is a change in behavior, but we do not believe this will 
<br/>
    affect most applications since most users close the file 
<br/>
    descriptor under most scenarios anyways.
<br/>
  - ipmiconsole_ctx_destroy() should now be called to free 
<br/>
    resources even if ipmiconsole_engine_teardown() has been 
<br/>
    called.  This has been done to create consistent behavior in 
<br/>
    the API and avoid a former segfault possibility.  This is a 
<br/>
    change in behavior, but we do not believe this will affect 
<br/>
    most applications since ipmiconsole_engine_teardown() is 
<br/>
    only called when an application is being shutdown.
<br/>
  - The use of IPMICONSOLE_ENGINE_CLOSE_FD has been clarified in 
<br/>
    the header file.  Some of the prior text was unclear.  
<br/>
    Behavior has not been changed.
<br/>
o In ipmi-oem, support Intel get-bmc-services and set-bmc-
<br/>
  services commands.
<br/>
o In ipmi-oem, support Gigabyte get-nic-mode and set-nic-mode 
<br/>
   commands.
<br/>
o Support Gigabyte MD90-FS0-ZB OEM SEL events.<br/>
</p></div>
    </content>
    <updated>2016-09-30T22:45:41Z</updated>
    <author>
      <name>Albert Chu</name>
    </author>
    <source>
      <id>http://savannah.gnu.org/news/atom.php?group=freeipmi</id>
      <link href="http://savannah.gnu.org/news/atom.php?group=freeipmi" rel="self" type="application/atom+xml"/>
      <title>GNU FreeIPMI - News</title>
      <updated>2016-09-30T22:46:54Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/blogs/community/libre-learn-lab-a-summit-on-freely-licensed-resources-for-education</id>
    <link href="http://www.fsf.org/blogs/community/libre-learn-lab-a-summit-on-freely-licensed-resources-for-education" rel="alternate" type="text/html"/>
    <title>Libre Learn Lab: a summit on freely licensed resources for education</title>
    <summary>Libre Learn Lab is a two-day summit  for people who create, 
use and implement freely licensed resources for K-12 
education, bringing together educators, policy experts, 
software developers, hardware hackers, and activists to 
share best practices and address the challenges of 
widespread adoption of these resources in education. The 2nd 
biennial conference is Saturday, October 8th, and Sunday, 
October 9th, at the MIT Tang Center.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The keynote addresses will be delivered by the FSF’s own 
Richard M. Stallman, former Chief Open Education Advisor
Andrew Marcinek and founder of HacKIDemia Stefania Druga. At
the event, there will be a special tribute to Dr. Seymour 
Papert (the father of educational computing) by Dr. Cynthia 
Solomon.</p>
<p>The event will have workshops and presentations given by 
over 20 speakers, with perspectives from the free software, 
maker  education, open education communities and more. The 
event will challenge participants with the theme “From Play
to Policy," leading to next steps for the community.</p>
<p>Here are the details:</p>
<p><a href="http://www.librelearnlab.org">http://www.librelearnlab.org</a></p>
<p>Saturday, October 8th and Sunday, October 9th</p>
<p>MIT Tang Center</p>
<p>Cost: $25,  or Free (as in beer) for students. Registration 
is optional if only attending Dr. Richard Stallman’s talk, 
“Education for Freedom with Libre Software.” If you plan to 
attend the rest of the event, please <a href="http://www.librelearnlab.org/registration">register</a>.</p></div>
    </content>
    <updated>2016-09-30T19:38:37Z</updated>
    <source>
      <id>http://www.fsf.org/blogs/recent-blog-posts</id>
      <author>
        <name>FSF Blogs</name>
      </author>
      <link href="http://www.fsf.org/blogs/recent-blog-posts" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/blogs.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Writing by representatives of the Free Software Foundation.</subtitle>
      <title>FSF's blog</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/blogs/rms/photo-blog-2016-september</id>
    <link href="http://www.fsf.org/blogs/rms/photo-blog-2016-september" rel="alternate" type="text/html"/>
    <title>August and September 2016: photos from Pittsburgh and Fresno</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
<div style="border-style: solid; border-width: 2px; text-align: center; margin: 4px 50px 4px 50px; padding-top: 4px;">

<p>RMS was in Pennsylvania last month and in California this month. He
was

</p><p>…in <strong>Pittsburgh, PA,</strong> on August
20<sup>th</sup>, at the Abstractions conference, on the invitation of
Code &amp; Supply, an organization that “nurture[s] Pittsburgh's
growing tech community,” to give his speech “Free Software
and Your Freedom”<sup><a href="http://static.fsf.org/fsforg/rss/blogs.xml#fn1" id="ref1">1</a></sup> to an audience of over 1500 professional
developers involved in all aspects of development, from design to
management to back-end engineering to front-end development and
more:</p>




<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20160820-pittsburgh/20160820-pittsburgh-01-thumb.png" style="margin-top: 4px;" width="530"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20160820-pittsburgh/20160820-pittsburgh-02-thumb.png" style="margin-top: 4px;" width="530"/>


<p style="padding: 0px 20px 0px 20px; margin-top: 1px; text-align: center;">

<em>(Photos under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC BY-SA 3.0</a>.  Photos courtesy of Jesse Reese.)</em>

</p><p>…and in <strong>Fresno, CA,</strong> where, on the invitation
of the Clovis ACM Student Chapter, he gave his speech “What
Makes Digital Inclusion Good or Bad?”<sup><a href="http://static.fsf.org/fsforg/rss/blogs.xml#fn2" id="ref2">2</a></sup> on September 27<sup>th</sup>:</p>




<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20160927-fresno/20160927-fresno-mason-bill-thumb.png" style="margin-top: 4px;" width="530"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20160927-fresno/20160927-fresno-15-thumb.png" style="margin-top: 4px;" width="530"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20160927-fresno/20160927-fresno-16-thumb.png" style="margin-top: 4px;" width="530"/> 
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20160927-fresno/20160927-fresno-19-thumb.png" style="margin-top: 4px;" width="265"/>
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20160927-fresno/20160927-fresno-22-thumb.png" style="margin-top: 4px;" width="265"/> 
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20160927-fresno/20160927-fresno-24-thumb.png" style="margin-top: 4px;" width="265"/> 
<img alt="" src="http://static.fsf.org/static/nosvn/rms-photos/20160927-fresno/20160927-fresno-25-thumb.png" style="margin-top: 4px;" width="265"/> 


<p style="padding: 0px 20px 0px 20px; margin-top: 1px; text-align: center;">

<em>(Photos under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC BY-SA 3.0</a>.  First two photos courtesy of Bill Kerney; the others, of Mason Tjuanta.)</em>



</p><p>Please fill out our contact form, so that we can inform you about
future events in and around <a href="https://my.fsf.org/civicrm/profile/create?gid=316&amp;reset=1">Montreal</a>,
<a href="https://my.fsf.org/civicrm/profile/create?gid=456&amp;reset=1">Pittsburgh</a>,
<a href="https://my.fsf.org/civicrm/profile/create?gid=457&amp;reset=1">Amsterdam</a>,
and <a href="https://my.fsf.org/civicrm/profile/create?gid=144&amp;reset=1">Oakdale</a>,
all of which RMS visited over the past two months.  Please see <a href="http://www.fsf.org/events">www.fsf.org/events</a> for a full
list of all of RMS's confirmed engagements, and contact <a href="mailto:rms-assist@gnu.org">rms-assist@gnu.org</a> if you'd like
him to come speak.</p>

<p style="text-align: center;"><strong>Thank you to Justin, Mason, and Bill for having made these trips possible!</strong></p>

<hr/>

<div align="left">
<div style="margin-left: 4px;">

<sup id="fn1">1. A recording of RMS's August 20th<sup>th</sup>, 2016, Pittsburgh, PA, speech will soon be available in <a href="http://audio-video.gnu.org/video/#2016">our audio-video archive</a>.<a href="http://static.fsf.org/fsforg/rss/blogs.xml#ref1" title="Jump back to footnote 1 in the text.">↩</a></sup><br/>
<sup id="fn2">2. A recording of RMS's September 27<sup>th</sup>, 2016, Fresno, CA, speech will soon be available in <a href="http://audio-video.gnu.org/video/#2016">our audio-video archive</a>.<a href="http://static.fsf.org/fsforg/rss/blogs.xml#ref1" title="Jump back to footnote 2 in the text.">↩</a></sup><br/>
</div>
</div></div></div>
    </content>
    <updated>2016-09-30T16:25:00Z</updated>
    <source>
      <id>http://www.fsf.org/blogs/recent-blog-posts</id>
      <author>
        <name>FSF Blogs</name>
      </author>
      <link href="http://www.fsf.org/blogs/recent-blog-posts" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/blogs.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Writing by representatives of the Free Software Foundation.</subtitle>
      <title>FSF's blog</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/blogs/directory/friday-working-together-for-free-software-directory-irc-meetup-september-30th</id>
    <link href="http://www.fsf.org/blogs/directory/friday-working-together-for-free-software-directory-irc-meetup-september-30th" rel="alternate" type="text/html"/>
    <title>Friday Working together for Free Software Directory IRC meetup: September 30th</title>
    <summary>Join the FSF and friends every Friday to help improve the Free Software Directory (FSD), with this week having a special theme of updating entries for collaboration software.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><img alt="Working together for free software" src="https://static.fsf.org/nosvn/working/w/gnu.png" style="float: right; width: 250px; margin: 10px 0px 10px 10px;"/>

<p>Join the FSF and friends Friday, September 30th, from 12pm to 3pm EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory.</p>
<p>Participate in supporting the <a href="https://directory.fsf.org/">Free Software Directory</a> by adding new entries and updating existing ones. We will be on IRC in the <a href="irc://irc.gnu.org/fsf">#fsf channel on freenode</a>.</p>
<p>Tens of thousands of people visit <a href="https://directory.fsf.org/">directory.fsf.org</a> each month to discover free software. Each entry in the Directory contains a wealth of useful information, from basic category and descriptions, to providing detailed info about version control, IRC channels, documentation, and licensing info that has been carefully checked by FSF staff and trained volunteers.</p>
<p>While the Free Software Directory has been and continues to be a great resource to the world over the past decade, it has the potential of being a resource of even greater value. But it needs your help!</p>
<p>This week we're having a special theme focusing on updating entries for collaborative software. Working together as a team takes tools that let you plan, communicate, and collaborate, so making sure people have great free software for these tasks is really important. Come collaborate with all of us in updating the directory entries for these tools!</p>
<p>If you are eager to help and you can't wait or are simply unable to make it onto IRC on Friday, our <a href="https://directory.fsf.org/wiki/FSD:Participate">participation guide</a> will provide you with all the information you need to get started on helping the Directory today! There are also weekly <a href="https://directory.fsf.org/wiki/Free_Software_Directory:Meetings">FSD Meetings pages</a> that everyone is welcome to contribute to before, during, and after each meeting.</p></div>
    </content>
    <updated>2016-09-29T19:34:57Z</updated>
    <source>
      <id>http://www.fsf.org/blogs/recent-blog-posts</id>
      <author>
        <name>FSF Blogs</name>
      </author>
      <link href="http://www.fsf.org/blogs/recent-blog-posts" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/blogs.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Writing by representatives of the Free Software Foundation.</subtitle>
      <title>FSF's blog</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/blogs/licensing/licensing-resource-series-free-gnu-linux-distributions-gnu-bucks</id>
    <link href="http://www.fsf.org/blogs/licensing/licensing-resource-series-free-gnu-linux-distributions-gnu-bucks" rel="alternate" type="text/html"/>
    <title>Licensing resource series: Free GNU/Linux distributions &amp; GNU Bucks</title>
    <summary>This is the latest installment in the Free Software Foundation's Licensing &amp; Compliance Lab's series highlighting licensing resources.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><img alt="A GNU buck" src="https://www.gnu.org/help/gnubuck400.jpg" style="float: right; width: 250px; margin: 10px 0px 10px 10px;"/>

<p>When Richard Stallman set out to <a href="https://www.gnu.org/gnu/initial-announcement.en.html">create the GNU Project</a>, the goal was to create a fully free operating system. Over 33 years later, it is now possible for users to have a computer that runs only free software. But even if all the software is available, putting it all together yourself, or finding a distribution that comes with only free software, would be quite the task. That is why we provide a list of <a href="https://www.gnu.org/distros/free-distros.en.html">Free GNU/Linux distributions</a>.</p>
<p>Each distro on the list is commited to only distributing free software. With many to choose from, you can find a distro that meets your needs while respecting your freedom.</p>
<p>But with so much software making up an entire operating system, how is it possible to make sure that nothing nasty sneaks into the distro? That's where you, and <a href="https://www.gnu.org/help/gnu-bucks.en.html">GNU Bucks</a> come in.</p>
<p>Our GNU Bucks program is a fun bounty program for finding licensing issues in endorsed distros. Helpful users and volunteers can file bugs with the distro if they happen to find some potentially non-free software. At the same time, they can email the FSF at <a href="mailto:report-nonfree@fsf.org">report-nonfree@fsf.org</a>. Once the maintainer of the distro verifies the issue, the reporter can receive a GNU Buck, signed by Richard Stallman.</p>
<p>Like many of our resources, we depend on users like you to keep our endorsed distributions list and GNU Bucks program up and running. Here's how you can help:</p>
<ul>
<li>
<p>Install and use a fully <a href="https://www.gnu.org/distros/free-distros.en.html">free GNU/Linux distribution</a>.</p>
</li>
<li>
<p>Report any licensing issues you might find in an endorsed distro and let us know at <a href="mailto:report-nonfree@fsf.org">report-nonfree@fsf.org</a></p>
</li>
<li>
<p>You can help fund our work in creating these licensing resources by <a href="https://www.fsf.org/join">becoming a member</a> or by <a href="https://donate.fsf.org/">making a donation</a>.</p>
</li>
</ul>
<p><em>Enjoy this article? Check out our previous entry on <a href="https://www.fsf.org/blogs/licensing/licensing-resource-series-h-node-hardware-directory">the h-node hardware directory</a></em>.</p></div>
    </content>
    <updated>2016-09-29T19:00:51Z</updated>
    <source>
      <id>http://www.fsf.org/blogs/recent-blog-posts</id>
      <author>
        <name>FSF Blogs</name>
      </author>
      <link href="http://www.fsf.org/blogs/recent-blog-posts" rel="alternate" type="text/html"/>
      <link href="http://www.fsf.org/static/fsforg/rss/blogs.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Writing by representatives of the Free Software Foundation.</subtitle>
      <title>FSF's blog</title>
      <updated>2016-10-20T06:17:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.fsf.org/events/rms-20161011-paris</id>
    <link href="http://www.fsf.org/events/rms-20161011-paris" rel="alternate" type="text/html"/>
    <title>Richard Stallman - "What Makes Digital Inclusion Good or Bad?" (Paris, France)</title>
    <summary>Paris, France</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><blockquote>There are many threats to freedom in the digital society.
They include massive surveillance, censorship, digital handcuffs,
nonfree software that controls users, and the War on Sharing.  Other
threats come from use of web services.  Finally, we have no positive
right to do anything in the Internet; every activity is precarious,
and can continue only as long as companies are willing to cooperate
with it.</blockquote>

<p>Richard Stallman's speech will be nontechnical, admission is
gratis, and the public is encouraged to attend.</p>

<p><strong>Location:</strong> <em/></p>

<p>Please fill out our contact form, so that <a href="https://my.fsf.org/civicrm/profile/create?gid=46&amp;reset=1">we
can contact you about future events in and around Paris.</a></p></div>
    </content>
    <updated>2016-09-28T15:02:24Z</updated>
    <category term="RMS Speech"/>
    <source>
      <id>http://www.fsf.org/events/aggregator</id>
      <author>
        <name>FSF Events</name>
      </author>
      <link href="http://www.fsf.org/events/aggregator" rel="alternate" type="text/html"/>
      <link href="http://static.fsf.org/fsforg/rss/events.xml" rel="self" type="application/rdf+xml"/>
      <subtitle>Site Events</subtitle>
      <title>Events</title>
      <updated>2016-10-11T14:18:12Z</updated>
    </source>
  </entry>
</feed>
