# 林子篆

I am a programming language theory lover; good at system software like Networking, OS.

Education

Kaohsiung Medical University

A wrong question: Is a Square a Rectangle?

## A wrong question: Is a Square a Rectangle?

### Want to connect with 林子篆?

Create an account to connect with 林子篆. You can also sign in below to proceed if you already have an account.

How to find mk fixed point

## How to find mk fixed point

Hindley-Milner type system: Incrementally build way & Make new language in Racket

## Hindley-Milner type system: Incrementally build way & Make new language in Racket

De Bruijn index: why and how

## De Bruijn index: why and how

How to parse expression with the parser combinator

## How to parse expression with the parser combinator

Explain Homotopy type theory like I'm five

## Explain Homotopy type theory like I'm five

From Functor to Applicative

## From Functor to Applicative

Binary Encoding of Integer

## Binary Encoding of Integer

NOTE: simply typed lambda calculus

## NOTE: simply typed lambda calculus

A Racket macro tutorial – get HTTP parameters easier

## A Racket macro tutorial – get HTTP parameters easier

NOTE: bounded polymorphism

## NOTE: bounded polymorphism

Type as Constraint: Why we need more type?

## Type as Constraint: Why we need more type?

Reflection on Working effectively with legacy code — chapter 20 to 23

## Reflection on Working effectively with legacy code — chapter 20 to 23

Reflection on Working effectively with legacy code — chapter 11 to 19

## Reflection on Working effectively with legacy code — chapter 11 to 19

Interaction with C in Zig

## Interaction with C in Zig

NOTE: get labels from Pod

## NOTE: get labels from Pod

How to test in Haskell: HSpec setup

## How to test in Haskell: HSpec setup

From Infinite Type to Functor

## From Infinite Type to Functor

elz inviting contributors

Infinite Type

## Haskell quick start

Reflection on Working effectively with legacy code — chapter 6 to 10

## Reflection on Working effectively with legacy code — chapter 6 to 10

Reflection on Working effectively with legacy code — Part I

## Reflection on Working effectively with legacy code — Part I

Algebra data type vs Class

## Algebra data type vs Class

How to use .gitignore

## How to use .gitignore

Weird behavior in Go: encoding/gob

## Weird behavior in Go: encoding/gob

DPDK usertools: devbind

## DPDK usertools: devbind

DPDK – EAL Input/output error

nix report

## nix report

Privileged Pod – Debug kubernetes node

## Privileged Pod – Debug kubernetes node

Notes: Ruby Conf Taiwan 2019

## Notes: Ruby Conf Taiwan 2019

How trait with lifetime can be a trouble and how to fix it

## How trait with lifetime can be a trouble and how to fix it

tcpdump cheat sheet

## tcpdump cheat sheet

A simple way to ensure interface won’t be implemented accidently

## A simple way to ensure interface won’t be implemented accidently

The Go concurrency bug I made

## The Go concurrency bug I made

Kubernetes Networking: concept and overview from underlying perspective

## Kubernetes Networking: concept and overview from underlying perspective

HugePages on Kubernetes

## HugePages on Kubernetes

5 tools for file transfer

## 5 tools for file transfer

gRPC proxy: approach & pain

## gRPC proxy: approach & pain

on -- A CLI tool helps you work on certain context

## on -- A CLI tool helps you work on certain context

Introduction of LLDB

## Introduction of LLDB

Make googletest-like test framework from scratch

## Make googletest-like test framework from scratch

Tracing source code of Kubernetes client-go

## Tracing source code of Kubernetes client-go

A lightweight web framework for Go

## A lightweight web framework for Go

How to compare Go benchmark in TravisCI

## How to compare Go benchmark in TravisCI

Kubernetes context

Testing in Go

## Testing in Go

Test LLVM Go binding in travis

Go quick start

## Go quick start

Use httpexpect to test server

## Use httpexpect to test server

gRPC quick start in Go

## gRPC quick start in Go

Practical issue about DNS – EDNS0

## Practical issue about DNS – EDNS0

Reflection in Go: create a stack[T]

## Reflection in Go: create a stack[T]

Magic in redux-go v2.1: package rematch

Error is Value

## Error is Value

Another build system for Cpp

## Another build system for Cpp

How to get started with Rust