A selection of the links I find interesting over time.
The Descent to C, by Simon Tatham
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
range - a library that makes it easy to deal with ranges
haskell-hedgehog’s model-based state machine testing together with inline-java
A Guide to GHC’s Extensions
mgajda/json-autotype - Automatic Haskell type inference from JSON input
GHC User’s Guide
Haskell/GHC symbol search cheatsheet
Scrap Your Constructors: Church Encoding Algebraic Types
Object Oriented Programming in Haskell (without sacrificing referential transparency) using open recursion and lense
Smart constructors that cannot fail
Deriving the Y Combinator in Haskell
require - Scrap your qualified import clutter
An example of dynamically loading a Haskell source module
Fishy Documentation (awesome Haddock tutorial)
State Machine Testing with Echidna
BFPG talk series based on the CIS194 lecture series
Haddock Markup Quick Reference
config-value - A simple, layout-based value definition language used for supplying configuration values to various applications
Validation - Several data-types like Either but with differing properties and type-class instances
MTL style for free
GHCi’s pretty-printer can be switched
“Well, regarding the name, Cabal is indeed the library that all tools use, e.g. the .cabal file in a project. The bad name here is the build tool “cabal-install” because that has confused the hell out of everyone. There’s three things here: a library called Cabal, a build tool called “Stack”, and a build tool that should be called “some-haskell-build-tool” like maybe “haskbuilder” but is instead called “cabal-install” because it is some-build-tool-that-uses-the-Cabal-library (although that description works for Stack too). So the two tools with cabal in the name confuse everyone.”
QuickCheck in Test-suite type “detailed”
Which package version do I have?
An opinionated guide to Haskell in 2018
Reverse Dependencies - You choose a package and it tells you its reverse dependencies: those packages that depend upon it. It also tells you which packages are incompatible with the current version of the package
An introduction to parsing text in Haskell with Parsec
Real World Haskell - Chapter 16. Using Parsec
Parsec, a fast combinator parser
An Introduction to the Parsec Library
Impact on style of GHC -Wall (re-learned to write parsers in Applicative style)
Intro to Parsing with Parsec in Haskell
A nice example of using parsec to parse XML files
xleb - A simple monadic language for parsing XML structures
Lights are flashing, cars are crashing, getting frequent now - A small library of useful quickcheck generators, laws and other bits and pieces
Jacob Stanley - YOW! Lambda Jam 2017 Sydney - Gens N’ Roses: Appetite for Reduction
State machine testing with Hedgehog
Moving Beyond Types (I wrote a bit about why starting from types is the wrong API for property-based testing)
Haskell foreign import stdcall on DLL function
FizzBuzz without modulo
Get timings in GHCi
Creating a GUI application in Haskell
HTagLib - Haskell bindings for TagLib, an audio meta-data library
Mark Karpov’s OSS (FLAC, LAME, etc)
Screencasts focused on practical Haskell programming
Reading Simple Haskell
Haskell by Example
Lined-up Haskell types
CSCI 360: Programming Languages (Fall 2016)
The Curse of the Excluded Middle - “Mostly functional” programming does not work
How much space does an 8-bit integer occupy in C and Haskell?
This guy wrote the TCP state transitions in #Haskell with the hope that he would remember them better … might have worked:
Haskell Bits #1: Randomness
Haskell Bits #2: Application Beginnings
Haskell Bits #3: Connecting to Databases
Haskell Bits #4: Environment Variables
Relationship between fmap and bind
How to make illegal values unrepresentable?
A Gentle Introduction to Monad Transformers or, Values as Exceptions
Can’t see the four-est for the trees
Continuations From the Ground Up
Modern FP with mtl
“[..] we can get the signature of foldr by reversing the arrows of unfoldr, and vice versa.”
How do I modify a variable in Haskell?
Roll your Own Bitcoin Exchange in Haskell
Monoidal Parsing - Edward Kmett
What does Free buy us?
What is the Store comonad?
Introduction to golden testing
Deploying Haskell Programs
Workthrough: Tutorial Intro to Lambda Calculus (Rojas)
Workthrough: Haskell Programming (Allen & Moronuki)
Assert Explainer is a library & GHC source plugin to help writing assertions. In particular, it is to help you understand why an assertion has failed.
OOPH: Data Inheritance
Stop supporting older GHCs
This table correlates GHC versions with the versions of the base and Cabal libraries it ships with.
This table lists the versions of GHC against those of its boot libraries, including most notably the
base library. This may be useful if you ever want to find out which version of the
base package was bundled with which version of GHC or vice versa.
A table covering some GHC 6.* releases. Core packages are shaded yellow. From GHC 6.12.1, only core packages are released with GHC.
Papers We Love Athens - Prof. Nikolaos Papaspyrou on QuickCheck. The talk was in Greek.
Bartosz Milewski’s Category Theory for Programmers
Workthrough: Category Theory for Programmers (Milewski)
From design patterns to category theory
Jan-Willem Buurlage’s Notes on Category Theory and Haskell
What is Category Theory Anyway?
Null Value guard active pattern
Calculator written using Elmish.XamarinForms (full Elmish, no XAML)
Model = 20 lines, Update = 35 lines, View = 40 lines
Rezoom.SQL statically typechecks a common SQL dialect and translates it to various RDBMS backends
Going Down the Property Based Testing Rabbit Hole
F# language evolution
Notes and Guidance on FSharp.Core
The Gamma - Experiments in tooling for data-driven storytelling
Free monads - A terrible way of separating pure and impure code
Why ‘object-programming’ (see Twitter link below) matters in F#
Why object-programming matters in F# (Twitter discussion)
Domain Modeling Made Functional - Tackle Software Complexity with Domain-Driven Design and F# (Scott Wlaschin)
Understanding Functional Programming
(Nearly) Everything You Ever Wanted to Know About F# Active Patterns but were Afraid to Ask
From Dependency Injection to Dependency Rejection
A great post on using F# type providers for database access on Linux
How to transform OO calls into a some generic function calls
F# how to pass equivalent of interface (Free Monad /
F# compiles down into (similar) IL code as VB and C#
.NET debugger and assembly editor
Ranges proposal for C# 7.3 (Roslyn)
Use command-line parameters to install Visual Studio 2017
Ever wanted to inspect the Assembly code that the .NET JIT emits? Or needed to find out the exact layout of your objects in memory? There’s some tools that can help
Tools built on top of CLRMD - that replace functionality of WinDBG
docs.microsoft.com is Microsoft’s new unified technical documentation experience
.NET Application Architecture
Difference between decimal, float and double in .NET?
http on Stack Overflow: The End of a Long Road (don’t know where else to put this one)
How .NET Standard relates to .NET Platforms?
Very cool video on the history of .NET and .NET Standard
.NET Standard 2.0 is final
The Book of the Runtime (BOTR) for the .NET Runtime
@DamianEdwards NDC London talk w/ @davidfowl on #aspnetcore patterns & anti-patterns
WordPress Running on .NET Core
ILLink (a .NET Core build of the mono linker) now ships with .NET Core and trims non-public unreachable IL and metadata
F# and .NET Core SDK working together
Who’s actually using .net core in production?
Creating .NET Bindings for C Libraries with ObjectiveSharpie
Automating Windows Applications Using the WCF Equipped Injected Component
FuGet Gallery - Like NuGet Gallery but better (shows API diff, etc)
Pipelines - a guided tour of the new IO API in .NET
TIL: git has a rebase.autoStash setting
Flight rules for git - A guide for astronauts (now, programmers using git) about what to do when things go wrong
Use git add –patch for better commit history and mitigating bugs
Visualize how common Git operations affect the commit graph
midipix - a development environment that lets you create programs for Windows using the standard C and POSIX APIs
Workshop on how to use Vim Plugins
Vim editor ported to WebAssembly
Oh My Zsh
Nix: Under the hood by Gabriel Gonzalez
The Ultimate Vim Distribution
Now color-coded! Two diagrams of the Unix architecture, 50 years apart. What they tell us and how I drew them.
fzf - A command-line fuzzy finder written in Go
tmux - a “terminal multiplexer”. It enables a number of terminals to be accessed and controlled from a single terminal.
Linux intro course - A gentle introduction to programming networked services on linux
Master the command line, in one page (in case I use neovim)
Panic Inc - By request: here’s a Terminal theme based on our official “Panic Palette”. Enjoy!
ShellProgressBar - display progress in your console application
Terminal Spinner for .NET Core/Standard
Why does man print “gimme gimme gimme” at 00:30?
How do I mount shared folders in Ubuntu using VMware tools?
How do I install a .deb file via the command line?
Linus Torvalds’ Micro-emacs
Arbitrage - What it is and how it works
Bitcoinity.org - Abritrage matrix, markets, and more
Adjoint Open Source
Adjoint Uplink - Here is a contract to exchange USD for tokens between 2 accounts
CoinAPI - A platform which provides fast, reliable and unified data APIs to cryptocurrency markets
Merkle Trees and Merkle Proofs
A minimal viable blockchain
A simple cryptocurrency implementation, written to illustrate the basic components of a Proof-of-Work based, public distributed ledger
My Crypto Guide - The Definitive Crypto guide for Beginners and Veterans Alike
CCRG - The Cryptocurrency Research Group
Why Haskellers should be interested in ‘Smart Contracts’
Bitcoin: A Peer-to-Peer Electronic Cash System, Satoshi Nakamoto, October 31, 2008
Blockchain 101 - A Visual Demo
Programming The Blockchain in C#
Live price charts and market data for Bitcoin, Ethereum, and more
Coinbase Index Fund
TX Highway - Live Bitcoin Cash vs Bitcoin Core Transaction Visualizer
miscreant - Misuse-resistant symmetric encryption library with AES-SIV (RFC 5297) and AES-PMAC-SIV support
Windows 95 in Electron. Runs on macOS, Linux, and Windows.
Terminal based YouTube player and downloader
Hyperpolyglot - Programming Languages - Cmmonly used features in a side-by-side format
188.8.131.52 — the Internet’s Fastest, Privacy-First DNS Resolver
Why Time Flies - Maximilian Kiener
A great demonstration of why we need to plot the data and never trust statistics tables!
High Fidelity Phonograph Cartridge - Technical Seminar
Hoerboard – Pro Audio & DJ Furniture
The Elements of Style
Response Curves of Analog Recorders - Jack Endino
Juno Records (Latest checked)
Pink Tango EP (hand-stamped 12”)
Cat: FBR 057. Rel: 19 Mar 18
Pink Tango (5:52)
Pink Tango (Fabrizio Mammarella remix) (7:17)
Time Spiral (5:35)
Appreciate It While It’s Not Too Late (6:21)
‘We Love’ Desyn Masiello live set archive
LUKE FAIR dj sets by bringthebeats
audiokeychain - AudioKeychain: Song Key Finder
Tomahawk, the multi-source music player
© 2011-2018 Nikos Baxevanis. All written content on this site is provided under a Creative Commons ShareAlike license. All code is provided under a MIT license unless otherwise stated.