GHC 2016-12-19

5 comments.

, https://git.io/v1bTY in Homebrew/homebrew-core
You don't need to rebuild the man page for stable releases. No point in bumping the revision.

As for head, `jq.1.prebuilt` is a slightly outdated option.

, https://git.io/v1dgQ in blackducksoftware/ohcount
Possibility of cutting a release for downstream packagers?
==========================================================

The latest release, 3.0.0, is from 2009, and this is the release packaged by packagers (Debian, Homebrew and MacPorts on macOS, etc). 175 commits have been added to master since then, with 19 new languages added:

```
augeas
bfpp
brainfuck
chaiscript
coffeescript
coq
forth
golang
jam
logtalk
modula2
modula3
nsis
oberon
prolog
puppet
rebol
rust
tex_dtx
```

In particular, CoffeeScript, Go and Rust are very widely used these days, but the packaged version is useless for all these languages.

Therefore, could you please consider cutting a release so that downstream packagers could pick up the (not-so-)recent improvements? Thanks.

, https://git.io/v1duq in jarun/googler
Previous discussion starting here: https://github.com/jarun/googler/issues/83#issuecomment-219848271. The concluding remark there was

> I didn't think from this perspective earlier, but you can always use the o key at the omniprompt to open the search in the browser. One additional step in the workflow but what is the percentage of pages you do not trust? I'ld say it's a rare case and we already have a way.

and I agree with that.

Since @jarun and I are no longer interested in implementing complex features (this one will be rather involved), new features won't materialize without PRs (and even then they may be rejected).

, https://git.io/v1dg9 in zmwangx/bilibili-feedgen
Add atom:uri to atom:author
===========================

Patch:

```diff
diff --git a/bilibili_feedgen/generator.py b/bilibili_feedgen/generator.py
index 8a2d175..0ec4cbc 100644
--- a/bilibili_feedgen/generator.py
+++ b/bilibili_feedgen/generator.py
@@ -40,7 +40,7 @@ def gen(feed_url: str, member_id: str, data: APIData, output_file: str = None) -
     fg = feedgen.feed.FeedGenerator()
     fg.id(feed_url)
     fg.title(f"{user}'s Bilibili feed")
-    fg.author({'name': user})
+    fg.author({'name': user, 'uri': f'http://space.bilibili.com/{member_id}/'})
     fg.link(href=feed_url, rel='self', type='application/atom+xml')
     fg.link(href=f'http://space.bilibili.com/{member_id}', rel='alternate', type='text/html')
 
```

This is currently blocked by https://github.com/lkiesow/python-feedgen/pull/54.

, https://git.io/v1dRp in lkiesow/python-feedgen
Rename url to uri in Atom feeds for RFC 4287 compliance
=======================================================

According to RFC 4287, there is no `atom:url` element, only `atom:uri`, so replace occurrences of `atom:url` with `atom:uri` for compliance.

Also rename variables holding `atom:uri` from `email` to `uri` to better indicate what they actually are.

---

Previously, generated feeds would fail the [W3 Feed Validation Service](https://validator.w3.org/feed/). A simple test script `gen.py`:

```py
#!/usr/bin/env python3
from feedgen.feed import FeedGenerator

author = {'name': 'Zhiming Wang', 'email': '[email protected]', 'uri': 'https://zhimingwang.org'}

fg = FeedGenerator()
fg.id('https://zhimingwang.org/test.atom')
fg.title('Test feed')
fg.author(author)

fe = fg.add_entry()
fe.id('https://zhimingwang.org/1970/1/1/test.html')
fe.title('Test entry')
fe.author(author)
fe.content('Test piece.')

print(fg.atom_str().decode('utf-8'))
```

Pass it through the validator:

```sh
$ curl -sS -X POST --data-urlencode "rawdata=$(./gen.py)" --data-urlencode 'output=soap12' https://validator.w3.org/feed/check.cgi | xmllint --format -
```

Response:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
  <env:Body>
    <m:feedvalidationresponse xmlns:m="http://www.w3.org/2005/10/feed-validator" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
      <m:uri/>
      <m:checkedby>http://validator.w3.org/feed/check.cgi</m:checkedby>
      <m:date>2016-12-19T05:51:39.782184</m:date>
      <m:validity>false</m:validity>
      <m:errors>
        <m:errorcount>1</m:errorcount>
        <m:errorlist>
          <error>
            <level>error</level>
            <type>UndefinedElement</type>
            <line>2</line>
            <column>224</column>
            <text>Undefined author element: url</text>
            <msgcount>2</msgcount>
            <backupcolumn>224</backupcolumn>
            <backupline>2</backupline>
            <element>url</element>
            <parent>author</parent>
          </error>
        </m:errorlist>
      </m:errors>
      <m:warnings>
        <m:warningcount>1</m:warningcount>
        <m:warninglist>
          <warning>
            <level>warning</level>
            <type>MissingSelf</type>
            <line>2</line>
            <column>0</column>
            <text>Missing atom:link with rel="self"</text>
            <msgcount>1</msgcount>
            <backupcolumn>320</backupcolumn>
            <backupline>2</backupline>
            <element>feed</element>
            <parent>root</parent>
          </warning>
        </m:warninglist>
      </m:warnings>
      <m:informations>
        <m:infocount>0</m:infocount>
        <m:infolist/>
      </m:informations>
    </m:feedvalidationresponse>
  </env:Body>
</env:Envelope>
```

Note the error:

```
Undefined author element: url
```