Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/moodmosaic/bookmarks

A selection of the links I find interesting over time. Updated on a regular basis.
https://github.com/moodmosaic/bookmarks

c category-theory cryptocurrencies dotnet fsharp git haskell leisure unix-like

Last synced: 7 days ago
JSON representation

A selection of the links I find interesting over time. Updated on a regular basis.

Lists

README

        

# Bookmarks

*A selection of the links I find interesting over time. Updated on a regular basis.*

* [C/C++](#cc)
* [Python](#python)
* [Haskell](#haskell)
* [Category theory](#category-theory)
* [GraphQL](#graphql)
* [TypeScript](#typescript)
* [C#](#c)
* [F#](#f)
* [Scala](#scala)
* [CLR](#clr)
* [JavaScript](#javascript)
* [Git](#git)
* [Docker](#docker)
* [Sublime Text](#sublime-text)
* [Microsoft Visual Studio](#microsoft-visual-studio)
* [Nix](#nix)
* [Unix-like](#unix-like)
* [Go](#go)
* [Rust](#rust)
* [Blockchains](#blockchains)
* [Further](#further)

## C/C++

* Build Your Own Redis with C/C++


* rxi/microui - A tiny immediate-mode UI library


* kroitor/gjk.c - Gilbert-Johnson-Keerthi (GJK) collision detection algorithm in 200 lines of clean plain C. (Beautiful diagrams!)


* C++ Best Practises - Part of Jason Turner's collection of C++ Best Practices resources


* h/cpp hacking C++


* Walkthrough: Compiling a Native C++ Program on the Command Line


* Why Aren't There C Conferences?


* More DLL fun with w64devkit: Go, assembly, and Python


* C? Go? Cgo!


* Why use double indirection? or Why use pointers to pointers?


* jq - lightweight and flexible command-line JSON processor, written in portable C


* C Programming Language, 2nd Edition *(K&R C)*


* c-repl - C read-eval-print loop


* The Descent to C, by Simon Tatham


* Making 8-bit Arcade Games in C


* 21st Century C: C Tips from the New School


* Property-based testing for C: generate input to find obscure bugs, then reduce to minimal failing input


* Throw The Switch - C Code That Doesn't Suck


* w64devkit: a Portable C and C++ Development Kit for Windows


* Running w64devkit.exe from an existing cmd.exe prompt


* C++ By Example

[Back to top](#)

## Python

* Life is short, I use Python.


* kellyjonbrazil/jc - CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts


* Python Design Patterns


* Hypermodern Python


* What is the meaning of single and double underscore before an object name?


* rhettinger/Python's Class Development Toolkit


* rhettinger/modernpython


* Diagrams - Diagrams lets you draw the cloud system architecture in Python code

[Back to top](#)

## Haskell

* Graham Hutton - Interested in learning Haskell? The full set of 16 videos from my introductory course based on the book "Programming in Haskell" is now freely available.


* Kleidukos/get-tested - A CLI tool that retrieves the tested-with stanza of a cabal file and formats it in such a way that GitHub Actions can use it.


* falsify: Hypothesis-inspired shrinking for Haskell




* Bartosz Milewski - ploeh Enjoyed your one-liner implementation of anagrams. Using Data.List.Extra, you can shorten it even further


* thma/srv - srv is a tiny web server for local deployments


* chshersh/dr-cabal - Haskell dependencies build times profiler


* Parametrised unit tests in Haskell




* Applicative assertions






* tittoassini/notebook - Transform your old and tired Haskell source files into shining Notebooks


* dmjio/functional-lexing-and-parsing-talk


* Easy JSON in Haskell


* mtl is Not a Monad Transformer Library


* Dynamic Exception Reporting in Haskell


* Across the Kmettverse with Edward Kmett


* Universal and Existential Quantification in Haskell


* Set Up a Haskell Development Environment in Three Steps (incl Stack integration with GHCUp)


* Algebraic Data Types in Haskell


* hemanth/functional-programming-jargon - Jargon from the functional programming world in simple terms


* Could not find module ‘Test.QuickCheck’ (hint: cabal install --lib QuickCheck)


* TDD for an algorithm involving randomness


* Ever think to yourself, "How do I know if my generators are good enough?"


* John Hughes - Building on developers' intuitions


* digitally induced GmbH - ihp, thin-backend, and more






* Principles of Model Checking (The MIT Press) (Joost-Pieter Katoen, Christel Baier)


* Model Checking lectures (Joost-Pieter Katoen)


* This is a simple introduction to model checking, written in literate Haskell




* trailofbits/umberto - poststructural fuzzing


* Haskell to-do list


* Very clean Haskell codebase - nasa/ogma


* Hexgrip - Haskell Cloud IDE based on (I think) haskell-language-server


* lazamar/haskell-docs-cli - Browse Hackage from the terminal


* tfausak/evoke - GHC plugin that automatically derives type class instances without using generics or Template Haskell


* Magical Haskell - modern functional programming and type theory in a fun and accessible way


* This is worth it! Core Haskell tools


* State Machine Testing in Hedgehog


* Sandwich - Yet another test framework for Haskell


* fromMaybe is Just a fold


* Quickstrom - Writing Your First Specification




* Haskell Books: This page provides a tagged index of English books related to the Haskell programming language


* Graham Hutton's Haskell videos on YouTube


* API JSON calls with Haskell


* Updating IHaskell to a Newer GHC (Vaibhav Sagar's blog)


* agentultra/postgresql-replicant


* Announcing Ema - Static Sites in Haskell


* Announcing Neuron - Zettelkasten in Haskell


* Default exception handler in Haskell


* New random interface


* Snap Framework


* Calling C++ from Haskell


* IHP Casts


* The visitor pattern is essentially the same thing as Church encoding


* Precis Setup


* Learnings From Solving Advent Of Code 2020 In Haskell


* StateT vs. IORef: a benchmark


* Haskell: The Bad Parts, part 1


* TypeClasses - Index


* uptop - a terminal client for Up Bank zap written in Haskell




* I wrote a nice display function for parse errors in Parsec (Haskell library)




* ihp - batteries-included Web Framework, built on top of Haskell and Nix


* Don't use Ghcide anymore (directly)


* thma/TypelevelReflection


* cabal-auto-expose is a build time library which, like hpack, auto detects new and removed Haskell modules and Backpack signatures in your project’s sources and exposes them for you so you don’t have to manually keep your .cabal file in sync


* serras/munihac-2020-miso


* (λblog.rainbyte) Haskell from 0 to IO (Maybe Hero)


* freckle/hspec-expectations-json


* LeapYear/graphql-client1130


* Whirlwind Tour Of Cabal For Beginners


* How stylish-haskell works


* pepeiborra - Let’s write a Haskell Language Server plugin


* Revisiting application structure


* Haskell Love 2020


* i-am-tom/haskell-exercises


* haskell/haskell-language-server - installation


* IDE 2020


* Haskeller Competency Matrix


* sublimehq/Packages - [Haskell] Rewrite Haskell syntax


* lexi-lambda on 'How to manually install Haskell package with ghc-pkg'


* Deriving the Reader (and State) monad from first principles


* Haskell for all: Record constructors


* ghcup makes it easy to install specific versions of ghc on GNU/Linux, macOS (aka Darwin) and FreeBSD and can also bootstrap a fresh Haskell developer environment from scratch


* sdiehl/cabal-edit


* Stan - Stan is a Haskell STatic ANalysis tool


* ! Automatic UI's for Command Lines with cmdargs


* Haskell Time Crib Sheet


* The power of IO in Haskell


* jrp2014/smuggler2 - Minimise haskell imports, make exports explicit, forked from kowainik/smuggler


* hkgr: Simple Hackage release workflow for package maintainers


* Haskell install instructions - ZuriHac 2020


* Google CodeWorld


* Using client-side Haskell web frameworks in CodeWorld


* Making the most of Cabal


* TOTBWF/omit-generics - Omit fields for instance deriving


* Cleaning up threads in Haskell


* How to define JSON instances quickly


* odd-jobs: Haskell job queue with an admin UI


* Cleaning up threads in Haskell


* Environment variables parsing for free (applicatives)


* Dead simple cross-platform GitHub Actions for Haskell


* Dead simple Haskell Travis settings for cabal and stack


* JSON Parsing from Scratch in Haskell: Error Reporting


* JSON Parsing from Scratch in Haskell


* The Power of RecordWildCards


* Common JSON patterns in Haskell, Rust and TypeScript


* Compile and link a Haskell package against a local C library


* Migrating from QuickCheck to Hedgehog: mixed results


* The ReaderT Design Pattern


* The Glasgow Haskell Compiler (GHC) a contributor's cheatsheet


* Evolving Import Style For Diff Friendliness


* validation-selective: Lighweight pure data validation based on Applicative and Selective functors


* Tracking Changes to Base


* Haskell with UTF-8


* rio: A standard library


* How to script with Stack


* Nota - A calculator with a beautiful interface for the Terminal, Including unicode-based charting and rich mathematical notation rendering


* Haskell98
























* A newtype indexed by a sum type lifted with DataKinds


* Semigroup resonance FizzBuzz


* FizzBuzz Revisited




* felixmulder/hedgehog-golden


* felixmulder/hedgehog-servant


* saurabhnanda/hedgehog-db-testing - Newtype #2


* saurabhnanda/hedgehog-db-testing - Newtype #1


* Defaulting fields in a record (via HKD)


* Statically checked overloaded strings


* The Four Simple Ways To Encode Sum-Types


* Time Travelling and Fixing Bugs with Property-Based Testing

https://wickstrom.tech/programming/2019/11/17/time-travelling-and-fixing-bugs-with-property-based-testing.html>
* A bare-bones Twitter clone implemented with Haskell + Nix




* -funclutter-valid-hole-fits


* Revisiting Monadic Parsing in Haskell








* Haskell In Production: Designing Testable Components


* Zero bullshit Haskell


* Web app for typical Haskeller answers to everything (nice POC)


* Haskell Implementation of the JSON-API specification (HATEOAS)


* A dead-simple web stack in Haskell


* A cheatsheet to JSON handling with Aeson


* Servant's type-level domain specific language


* MuniHac 2019: Making a Haskell IDE




* The ZuriHac registration system - How and why we wrote our own tools from scratch


* Haskell Extensions - by example


* ixy-languages/ixy-languages - A high-speed network driver written in C, Rust, Go, C#, Java, OCaml, Haskell, Swift, Javascript, and Python


* Processing CSV files in Haskell


* Instructions for setting up Haskell editors/IDEs


* Haskell Runtime for AWS Lambda


* HaskellCosm - curated collection of Haskell in Production


* I love #DerivingVia in #Haskell!


* Let me demonstrate you how to create proper #Haskell #wat


* Defining overridable default generators for Hedgehog using Higgledy


* Overloaded record fields (related with Higgledy above)


* Brave New World: Tales of PureScript and Haskell in Production


* Higher-Kinded Data


* HIE Files - coming soon to a GHC 8.8


* gvolpe/exchange-rates - Querying a rate-limited currency exchange API using Redis as a cache


* Andreas Klebingers - Taking a look at how GHC creates unique Ids


* Holmusk/elm-street - Crossing the road between Haskell and Elm


* elminator - Generate Elm type definitions and json encoders/decoders from Haskell types


* tweag/ormolu - A formatter for Haskell source code


* String interpolation and overlapping instances 101 | William Yao


* Property-Based Testing in a Screencast Editor, Case Study 3: Integration Testing


* Compatibility packages


* Competitive Programming in Haskell: Scanner


* Profiling in Haskell for a 10x Speedup (xoshiro/xoroshiro PRNG)


* Integrated versus Manual Shrinking


* QuickCheck Gen is not a monad


* A great collection for anyone interested in digging deeper into Haskell


* Demystifying folds with ghci


* Haskell bindings for libarchive. Provides the ability to unpack archives, including the ability to unpack archives lazily


* Installing and Running Multiple GHC Versions


* Herbert Valerio Riedel's Ubuntu PPA from which one can install multiple GHC, cabal, happy, and alex versions


* pretty-printer for Haskell data types that have a Show instance


* Simple example in ghci passes when it shouldn't (:set -XNoExtendedDefaultRules)


* The Minimalist Prelude


* foldr is made of monoids


* The Water Jug Problem in Hedgehog


* clay: CSS preprocessor as embedded Haskell


* Write a client library for any web API in 5 minutes


* usethetypes#8: Hosting Your App on Heroku


* A webcam server in 35 lines of Haskell


* A declarative terminal UI programming library written in Haskell


* Haskell add-in done right, using just GHCi, finally


* Lambda the ultimate Pattern Factory: FP, Haskell, Typeclassopedia vs Software Design Patterns


* Course material for lens by qfpl


* waargonaut - JSON decoding/encoding/manipulation library by qfpl


* Haskell's kind system - a primer


* Haskell: journey from 144 min to 17 min


* Add the following GHC options to the top of your module to see automatically derived instances by GHC in a more human-readable way


* You can replace the default Prelude in #haskell with some alternative prelude quite easily with the `mixins` Cabal feature


* ghcid for the win


* ghcid for Web App Development (not really, just some nice ghcid usage)


* komposition - The video editor built for screencasters


* [ANN] Haskell code explorer: tool that helps understand Haskell codebases



* Writing a simple web-application


* Metric a Haskell application


* Detailed walkthrough for a beginner Haskell program


* autoexporter: Automatically re-export modules


* Haskero - Intero inside VSCode


* intero/TOOLING.md


* Haskell library for debugging


* cabal check requires absolute cabal-version numbers


* stack build - settings with their defaults


* stack dot - dependency visualization