profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/snoyberg/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Michael Snoyman snoyberg @fpco Israel https://www.snoyman.com/ Haskell and Rust, founder and maintainer of many OSS Haskell projects: Yesod, Conduit, Stack, Stackages, and more. VP of Engineering at FP Complete (@fpco)

simonmichael/hledger 1831

easy-to-use command-line/curses/web plaintext accounting tool; a modern and largely compatible Haskell rewrite of Ledger

haskell/cabal 1289

Official upstream development repository for Cabal and cabal-install

commercialhaskell/rio 721

A standard library for Haskell

kallisti-dev/hs-webdriver 172

A Haskell client for the Selenium WebDriver protocol.

kazu-yamamoto/logger 139

A fast logging system for Haskell

fpco/haskell-scratch 67

Base Docker image which includes minimal shared libraries for GHC-compiled executables

haskell/process 67

Library for dealing with system processes

haskell/ecosystem-proposals 49

Proposals for the Haskell Ecosystem

fizruk/http-api-data 43

Converting to/from HTTP API data like URL pieces, headers and query parameters.

ekmett/exceptions 41

mtl friendly exceptions

pull request commentsnoyberg/tonic-example

Suggest simplification for hybrid server by unification of response body and error types

Seems overall like a good approach, but different from what I put in the blog post. I don't want to merge it, since I don't want to create a difference with what's in the posts. But leaving this open as an example alternative approach for readers seems like a Good Thing. Thank you!

CthulhuDen

comment created time in 12 hours

pull request commentsnoyberg/yaml

Fix #199: adding option -o to the converters

That’s high praise, thank you!

andreasabel

comment created time in a day

created tagsnoyberg/githash

taggithash-0.1.6.2

Compile git revision info into Haskell projects

created time in 2 days

push eventsnoyberg/githash

Genki Sato

commit sha 18c20c8325d0073e336687f522b248c0be6d537d

Bugfixes: Let `getGitFilesRegular` work with branching and rewording Fixed several bugs in `getGitFilesRegular`. 1. It now stores `./git/HEAD` as dependency even if you don't have your HEAD detached. 2. It now strips the trailing newlines from the content of `.git/HEAD` to get the ref file of the current branch. With this commit the function does both. Prior to this commit, commit/ref-level changes that doesn't affect the actual working directory was often ignored. With the absence of the Item 1, `git branch -b` was dismissed and not considered as a change by GHC. Without the Item 2, `git commit --amend --only` directory was ignored by GHC.

view details

Genki Sato

commit sha eb3de28faf70fded1868bceed5856a84d347ee6f

Add comments about defects of current `getGitFilesRegular` Commented that getGitFilesRegular doesn't work right if: - the current branch's name contains non-ASCII char, - it is recorded only in .git/packed-refs, or - branch file is a symbolic ref Also, commented about reftable.

view details

Genki Sato

commit sha 82c95bceb48af05eac64cac8cf0288f53a95f576

Version bump for 0.1.6.2

view details

Michael Snoyman

commit sha 4cf3730b646b41a8222d90831917fca4ed030bd8

Merge pull request #23 from gksato/dependency-fix Bugfixes: Let `getGitFilesRegular` work with branching and rewording

view details

push time in 2 days

PR merged snoyberg/githash

Bugfixes: Let `getGitFilesRegular` work with branching and rewording

Fixed several bugs in getGitFilesRegular.

  1. It now stores ./git/HEAD as dependency even if you don't have your HEAD detached.

  2. It now strips the trailing newlines from the content of .git/HEAD to get the ref file of the current branch.

With this commit the function does both. Prior to this commit, commit/ref-level changes that doesn't affect the actual working directory was often ignored. With the absence of the Item 1, git branch -b was dismissed and not considered as a change by GHC. Without the Item 2, git commit --amend --only was ignored by GHC.

+38 -3

1 comment

3 changed files

gksato

pr closed time in 2 days

PullRequestReviewEvent

delete branch yesodweb/haskell-xss-sanitize

delete branch : actions

delete time in 2 days

push eventyesodweb/haskell-xss-sanitize

Michael Snoyman

commit sha 7f9aba69a6a3418db2affcbec63ea0acf3f2047b

Switch to GitHub Actions

view details

Michael Snoyman

commit sha 1c5364dcc581df09a2ac9402fffc886e2174af55

Badge update

view details

push time in 2 days

created tagyesodweb/haskell-xss-sanitize

tagxss-sanitize-0.3.7

prevent XSS attacks by sanitizing html (this is different then escaping!)

created time in 2 days

create barnchyesodweb/haskell-xss-sanitize

branch : actions

created branch time in 2 days

push eventyesodweb/haskell-xss-sanitize

Daniel Smith

commit sha fb435ff06beca01616070af7a34c6f50440f358d

Add support for tag clearing

view details

Daniel Smith

commit sha abc3dcad8e81e857283ecea59c3151252065478b

Remove unused import

view details

Daniel Smith

commit sha 028b4ce216686ff04a459d6026695396440b034f

Bump version and add ChangeLog entry

view details

Michael Snoyman

commit sha d555598bc2fd09d45ff3a61ea6285069001240e8

Merge pull request #22 from polimorphic/clear-tags Add support for tag clearing

view details

push time in 2 days

issue closedyesodweb/haskell-xss-sanitize

Script and style tag contents should likely be cleared

Currently sanitizing script and style stags preserves the internal content as escaped html:

sanitize "<script>console.log('foo');</script>"
-- "console.log(&#39;foo&#39;);"

sanitize "<style>* { color: red }</style>"
-- "* { color: red }"

This is of course perfectly safe. However it seems very unlikely to be the desired resulting html.

Accordingly it seems like an explicit clear-list of html tags that should be emptied instead of escaped would be useful, with ["script", "style"] as the default list.

One could reasonably argue that <head> should make the list as well.

closed time in 2 days

tysonzero

created tagsnoyberg/yaml

tagyaml-0.11.6.0

Support for serialising Haskell to and from Yaml.

created time in 2 days

PullRequestReviewEvent

push eventsnoyberg/yaml

Michael Snoyman

commit sha ab03235b0b6eb6a403029000eea5afd1097a5b87

Update changelog

view details

push time in 2 days

push eventsnoyberg/yaml

Andreas Abel

commit sha 16d360dcca5189e6b4b6ca9c100c4b9a28246943

Re #199: Add option -o to json2yaml

view details

Andreas Abel

commit sha aeeddf1cbbdd672249981d2b77b221609b09cab7

Fix #199: add -o to yaml2json, unified appearance $ yaml2json -h yaml2json version 0.11.6.0 https://github.com/snoyberg/yaml/ Convert YAML to JSON. Usage: yaml2json [IN] [-o|--output OUT] Available options: -h,--help Show this help text -V,--version Show version info. --numeric-version Show just version number. IN The input file containing the YAML document; use '-' for stdin (default). -o,--output OUT The file to hold the produced JSON document; use '-' for stdout (default). $ json2yaml -h json2yaml version 0.11.6.0 https://github.com/snoyberg/yaml/ Convert JSON to YAML. Usage: json2yaml [IN] [-o|--output OUT] Available options: -h,--help Show this help text -V,--version Show version info. --numeric-version Show just version number. IN The input file containing the JSON document; use '-' for stdin (default). OUT The file to hold the produced YAML document; use '-' for stdout (default). The old call pattern 'json2yaml IN OUT' is also accepted, but deprecated.

view details

Michael Snoyman

commit sha 52b5c516b1c222e774f39bc1c2959c88b81fed8c

Merge pull request #200 from andreasabel/option-o Fix #199: adding option -o to the converters

view details

push time in 2 days

issue closedsnoyberg/yaml

Give `yaml2json` the same interface as `json2yaml`?

PRs #197 and #198 preserve the existing cmdline interfaces:

Usage: json2yaml [IN] [OUT]
  IN                       The input file containing the JSON document; use '-' for stdin.
  OUT                      The file to hold the produced YAML document; use '-' for stdout.

Usage: yaml2json FILE
  FILE                     The input file containing the YAML document; use '-' for stdin.

It would make sense to give yaml2json the same interface as json2yaml. This would be backwards compatible. However it would allow two new call patterns:

  1. Pipe: yaml2json, now: yaml2json -.
  2. Outfile: yaml2json in.yaml out.json, now: yaml2json in.yaml > out.json.

Alternatively, an option -o OUTFILE could be added to both, and the json2yaml IN OUT syntax be deprecated in favor of json2yaml IN -o OUT.

In general, I prefer -o. It is more robust and does not confuse IN and OUT should IN happen to be the empty string.

closed time in 2 days

andreasabel

PR merged snoyberg/yaml

Fix #199: adding option -o to the converters

With added option -o, the interfaces look like this:

$ yaml2json -h

yaml2json version 0.11.6.0 https://github.com/snoyberg/yaml/
Convert YAML to JSON.

Usage: yaml2json [IN] [-o|--output OUT]

Available options:
  -h,--help                Show this help text
  -V,--version             Show version info.
  --numeric-version        Show just version number.
  IN                       The input file containing the YAML document; use '-'
                           for stdin (default).
  -o,--output OUT          The file to hold the produced JSON document; use '-'
                           for stdout (default).

$ json2yaml -h

json2yaml version 0.11.6.0 https://github.com/snoyberg/yaml/
Convert JSON to YAML.

Usage: json2yaml [IN] [-o|--output OUT]

Available options:
  -h,--help                Show this help text
  -V,--version             Show version info.
  --numeric-version        Show just version number.
  IN                       The input file containing the JSON document; use '-'
                           for stdin (default).
  OUT                      The file to hold the produced YAML document; use '-'
                           for stdout (default).

The old call pattern 'json2yaml IN OUT' is also accepted, but deprecated.
+89 -32

0 comment

3 changed files

andreasabel

pr closed time in 2 days

PullRequestReviewEvent
PullRequestReviewEvent

issue commentsnoyberg/yaml

Give `yaml2json` the same interface as `json2yaml`?

Looks great!

andreasabel

comment created time in 4 days

issue commentyesodweb/haskell-xss-sanitize

Script and style tag contents should likely be cleared

All of that seems reasonable, PR welcome.

tysonzero

comment created time in 4 days

issue commentyesodweb/yesod-scaffold

Update templates to use a newer LTS.

Definitely updates we could make! Most likely it's just a matter of updating the upper bounds on package requirements. If you'd like to take a crack at it, that would be awesome. Happy to provide guidance, though for personal reasons it may be more sporadic than usual.

lowderdev

comment created time in 4 days

issue commentsnoyberg/yaml

Give `yaml2json` the same interface as `json2yaml`?

I'm OK with moving towards the -o approach, as long as we keep the old support for now. And definitely +1 for adding the functionality to yaml2json

andreasabel

comment created time in 6 days

push eventsnoyberg/yaml

Andreas Abel

commit sha 620ef8eb7b68b6629d3350db43c09eb45bcbd74e

Re #195: factor out parts of yaml2json into module Common This is code to be reused by json2yaml.

view details

Andreas Abel

commit sha 90e3cd20fee97ef72fe9b8bd7a7ef0e7585538f5

RE #195: json2yaml now uses optparse-applicative The help text now looks like this: Reads a JSON document and writes it out as YAML document. Usage: json2yaml [IN] [OUT] Available options: -h,--help Show this help text -V,--version Show version info. --numeric-version Show just version number. IN The input file containing the JSON document; use '-' for stdin. OUT The file to hold the produced YAML document; use '-' for stdout. Only semantic change: use `die` instead of `error`, so the error json2yaml: Invalid input JSON CallStack (from HasCallStack): error, called at exe/json2yaml.hs:19:20 in main:Main is now just json2yaml: Invalid input JSON

view details

Andreas Abel

commit sha 58a883cdfae26b113578760cc55b044200a5f05d

Re #194: README: include build instructions for json2yaml and yaml2json These executables haven't been mentioned in README so far.

view details

Michael Snoyman

commit sha 81e9b2981e0662b2f539708171ec876297761909

Merge pull request #198 from andreasabel/options-json2yaml Re #195: json2yaml now uses optparse-applicative

view details

push time in 6 days

PR merged snoyberg/yaml

Re #195: json2yaml now uses optparse-applicative

Re #195: json2yaml now uses optparse-applicative

The help text now looks like this:

Reads a JSON document and writes it out as YAML document.

Usage: json2yaml [IN] [OUT]

Available options:
  -h,--help                Show this help text
  -V,--version             Show version info.
  --numeric-version        Show just version number.
  IN                       The input file containing the JSON document; use '-'
                           for stdin.
  OUT                      The file to hold the produced YAML document; use '-'
                           for stdout.

Only semantic change: use die instead of error, so the error

json2yaml: Invalid input JSON
CallStack (from HasCallStack):
  error, called at exe/json2yaml.hs:19:20 in main:Main

is now just

json2yaml: Invalid input JSON

Also: mention json2yaml and friend in the README.

+154 -56

0 comment

6 changed files

andreasabel

pr closed time in 6 days

PullRequestReviewEvent