Skip to content

Instantly share code, notes, and snippets.

Vo Minh Thu noteed

Block or report user

Report or block noteed

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
noteed / site.hs
Created Oct 21, 2018
Hakyll compiler for inline (embedded in site.hs) content
View site.hs
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE OverloadedStrings #-}
import Data.Binary (Binary (..))
import Data.Typeable (Typeable)
import Hakyll.Core.Compiler.Internal (compilerAsk, compilerProvider)
import Hakyll.Core.Provider (resourceFilePath)
import Hakyll
noteed / output.txt
Created Oct 21, 2018
Hakyll Compiler to create files from inline (embedded in site.hs) content
View output.txt
$ ./dist/build/site/site build
Creating store...
Creating provider...
Running rules...
Checking for out-of-date items
updated hello.txt
$ ls _site/
noteed /
Last active Mar 18, 2018
Haskell troubleshooting

Haskell troubleshooting

Notes about problems I had and what I did about them.


gusdev@d6a1d607e6fe:~$ cabal install newtype-generics-
Resolving dependencies...


  • Agda
  • BlueSpec
  • Carp
  • clash
  • cogent
  • Cryptol
  • dhall
  • Elm

Web app


The theme-color meta tag is used to specify a toolbar color on Android. The color is used both in Chrome and when the page is used as a web app added to the home screen (actually, there is also a theme-color attribute in the manifest).

To turn the page into a web app (instead of a Chrome tab), add a web app manifest file. See for some detail. Note that the service worker is not necessary for the web app look.

The service-worker is used to implement the off-line behavior of the app, but also web push notifications.

View default.nix
{ pkgs ? import <nixpkgs> { } }:
kernel_version = "4.4.52";
kernel-sha256 = "e8d2ddaece73e1a34e045bbdcdcc1383f658e24537797f8d8e0dd520cf1b1f06";
nix_version = "1.11.9";
nix-sha256 = "0e943e277f37843f9196b0293cc31d828613ad7a328ee77cd5be01935dc6e7e1";
in rec
linux-tarball = pkgs.fetchurl {
noteed /
Created Jan 17, 2017
Certificate notes

Certificate notes

  • View a certificate
openssl x509 -text -noout -in certificate.crt
View raw-http-serve.hs
{-# LANGUAGE OverloadedStrings #-}
-- | This example shows 'rawHttpServe', which use "raw" handlers, instead of
-- 'Snap' handlers.
-- (It is built using the "commandline" branch from the `snap-server`
-- repository.)
-- 'ServerConfig' is a record containing logging functions, users hooks and
-- some low-level HTTP server options.

How to release a package to Hackage

I keep forgetting how to upload a package to Hackage:

  • Update the version stanza of the package's .cabal file.
  • Run cabal sdist
  • Instead of cabal upload <tarball>, use the Candidate upload page and then "publish" the candidate.
You can’t perform that action at this time.