> For the complete documentation index, see [llms.txt](https://timhwang21.gitbook.io/index/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://timhwang21.gitbook.io/index/programming.md).

# Programming

- [React](https://timhwang21.gitbook.io/index/programming/react.md)
- [Testing Styled Components](https://timhwang21.gitbook.io/index/programming/react/testing-styled-components.md)
- [Typescript](https://timhwang21.gitbook.io/index/programming/typescript.md)
- [curryRecord](https://timhwang21.gitbook.io/index/programming/typescript/curry-record.md)
- [Exhaustive conditionals with ADTs](https://timhwang21.gitbook.io/index/programming/typescript/exhaustive-conditionals-with-adts.md)
- [newtype](https://timhwang21.gitbook.io/index/programming/typescript/newtype.md)
- [OmitTypes](https://timhwang21.gitbook.io/index/programming/typescript/omit-types.md)
- [Safe JSON clone](https://timhwang21.gitbook.io/index/programming/typescript/safe-json-clone.md)
- [Type inferrers](https://timhwang21.gitbook.io/index/programming/typescript/type-inferrers.md)
- [XOR type](https://timhwang21.gitbook.io/index/programming/typescript/xor-type.md)
- [Ruby](https://timhwang21.gitbook.io/index/programming/ruby.md)
- [Pry](https://timhwang21.gitbook.io/index/programming/ruby/pry.md): Pry tricks
- [RSpec](https://timhwang21.gitbook.io/index/programming/ruby/rspec.md): Certain RSpec patterns.
- [Rails](https://timhwang21.gitbook.io/index/programming/rails.md)
- [Attributes](https://timhwang21.gitbook.io/index/programming/rails/attributes.md)
- [Cheap many to many](https://timhwang21.gitbook.io/index/programming/rails/cheap-many-to-many.md)
- [(Don't use) counter cache](https://timhwang21.gitbook.io/index/programming/rails/counter-cache.md)
- [Databases](https://timhwang21.gitbook.io/index/programming/databases.md)
- [Metrics](https://timhwang21.gitbook.io/index/programming/databases/metrics.md)
- [Testing indexes](https://timhwang21.gitbook.io/index/programming/databases/testing-indexes.md): How to test indexes in MySQL without permanently applying them.
