This repository contains notes I took when using diverse tools and reading IT-related articles, over the last 10 years.
It should give a good idea of what I can work with, although it is primarly intended for my own usage. This includes notably:
- Languages: JavaScript (including Node, Deno, DOM, Web APIs), TypeScript, HTML, CSS, Go, PHP, Bash and Unix commands, SQL, C, C++, ASM x86, R, VBA
- Architecture: design patterns, algorithms, type theory, requirements analysis, dependencies, compatibility/versioning, async programming, streaming, functional programming, metaprogramming, parsing theory
- Networking: HTTP, RPC (including REST, GraphQL, gRPC), realtime (including WebSocket), TLS, TCP, IP, DNS, load balancing, proxies, inter-process communication, identifiers, crawling, tasks and messages
- Frameworks: Node (including Express, Sails, Swagger/OpenAPI), React, Flux/Redux, Angular, Backbone
- Data: Postgres (including Supabase), MongoDB, Redis, validation, ORM, character encoding, fake data, offline, filesystems, templating, serialization (including Protobuf)
- Platforms: cross-platform/interoperability, mobile, Chrome extensions, headless browsers, OS kernels theory, CLI applications, GitHub (including API, apps, actions)
- Infrastructure: AWS, IaC (including CloudFormation, CDK, Pulumi), serverless (including Lambda, Middy, SAM, API Gateway), containers (including Docker), orchestration (including Step Functions, Kubernetes), Pub/Sub (including EventBridge, SNS), queues (including SQS), deployment, continuous integration, configuration
- Testing: test runners, coverage, browser testing, CSS, performance, stress, fuzz testing
- User experience: patterns, design, internationalization, accessibility, typography, animations, colors
- Performance: caching, lazy calculation, pooling, concurrency, compression, minification, memory management
- Security: authentication, authorization, cryptography
- Supervision: logging, monitoring, debugging, analytics
- Code quality: version control, documenting, coding style, beautifying, static analysis, linting, source maps
- Automating: build automation, scaffolding
- Business: SEO, Payment
- Utilities: string manipulation, date/time
Number of files: 1917
Number of lines: 315449
Number of pages (if it were a printed book): 12617
- Algorithms
- Min max
- Search
- Shuffle
- algorithms (Theory)
- information theory (Theory)
- merge (Theory)
- shortest path (Theory)
- sorting (Theory)
- Requirements
- Software methodology
- Types
- Compatibility
- Deprecation security
- Deprecation security
- Upgrades automation
- Versioning
- Changelog
- SemVer
- Version notification
- versioning (Theory)
- standards list (Theory)
- Deprecation security
- Dependency loading
- Dependency manager
- CDN
- Client
- Publish
- Search
- Packaging
- Binary OS packages
- OS packages
- Runtime manager
- Deno
- Node
- Functors
- Immutable
- Utilities
- Cartesian product
- Clone
- Equal
- Filter arrays
- Filter objects
- Find
- Get
- Group
- Invert
- Join
- Map objects
- Merge
- Once
- Partition
- Reduce
- Set operation
- Slice
- Sort min max
- Sum
- Unique
- Zip
- deno sum (Deno)
- recompose (React)
- reselect (Node)
- underscore lodash immutable (JavaScript)
- Async
- Abstraction
- Callbacks
- Debugging
- Events
- General framework
- Iterators
- Promises
- Cancel
- Detect
- Errors
- Filter
- Find
- Helpers
- Map
- Merge
- Normalize
- Reduce
- Split
- Test
- Timeout
- Retry
- Signals
- Streams
- Combine
- Create
- Detect
- Errors
- JSON
- Mapping
- Slice
- Split
- Waiting
- event-stream (Node)
- Caching
- Fingerprints
- HTTP
- LRU
- Memoization
- caching (Theory)
- Compression
- HTTP
- Protocols
- Types
- Varint
- compression (Theory)
- compression algos (Theory)
- Concurrency
- Debugging
- Locks
- concurrency (Theory)
- Lazy calculation
- Lazy loading
- HTML images
- Infinite scrolling
- Pagination
- Lazy loading
- Limiting
- Concurrency
- Debounce
- Throttle
- Rate limiting
- Utilities
- Timeout
- Memory management
- Parallelism
- Performance analytics
- Client side
- Performance debugging
- Flame graphs
- Profiling
- Performance testing
- Benchmark
- Duration timing
- Load testing
- Now
- Stopwatch
- Precalculation
- cpu optimization (Theory)
- performance (Theory)
- Authentication
- Common websites
- Framework
- HTTP
- JWT
- Authorization
- Framework
- OAuth
- authorization (Theory)
- Cryptography
- Algorithm
- Certifications
- Checksum
- Cryptanalyse
- Database
- History
- Key
- Legal
- Random
- Theory
- Privacy
- Fingerprinting
- Referrer
- tracking (Theory)
- Security general
- Injection
- XSS
- CSP
- Sanitize
- HTML
- xss (Theory)
- injection (Theory)
- XSS
- Isolation
- Permissions
- Sniffing
- Web
- normalization security (Theory)
- Injection
- Steganography
- Payment
- Project management
- Team management
- Ads
- Badges
- SEO
- Chat
- General
- MIME
- Content negotiation
- Content type
- Extensions
- Matching
- Parsing
- Fake data
- Composite
- Generic
- Programming language
- RegExp
- mocker-data-generator (JavaScript)
- ORM
- Key value
- Many types
- Validation
- API request response
- DOM binding
- JavaScript
- General
- JSON schema
- JSON schema (Format)
- Registry
- Validation
- JTD
- approvejs (JavaScript)
- async-validator (JavaScript)
- indicative (JavaScript)
- jest-validate (Node)
- joi (Node)
- obey (JavaScript)
- schm (JavaScript)
- skema (JavaScript)
- spected (JavaScript)
- structure (JavaScript)
- superstruct (JavaScript)
- swagger-model-validator (JavaScript)
- valid.js (JavaScript)
- validate.js (JavaScript)
- validatorjs (JavaScript)
- whitelister (JavaScript)
- yup (JavaScript)
- JSON schema
- Specific types
- validation (Theory)
- Data format
- Documents
- Flat tables
- Key value
- Structured
- Offline
- Databases
- Client only
- Browser local
- Single value
- Browser only
- Key value
- Browser local
- Local
- On disk
- Client only
- utilities
- Databases
- Relations
- Database
- Population
- SQL
- Sanitize
- Distributed filesystem
- Protocols
- Files general
- Archives
- Tar
- Zip
- Commands
- Cache files
- Check
- Copy
- Create directory
- Delete
- Ensure
- Error handling
- Find
- Hard links
- List
- Metadata
- Move
- Open
- Read
- Symlinks
- Create
- Read
- Temporary files
- Truncate
- Unnecessary files
- Watch
- Write
- File paths
- Filesystem abstraction
- file uri scheme (Identifier)
- Archives
- Virtual filesystem
- Fuse
- HTML
- HTML (Language)
- Transpiler
- Markdown
- Parsing
- Rendering
- Syntax
- Templates
- Binary
- Utilities
- Concatenation
- JSON like
- CSON
- ESON
- HJSON
- JSON
- Beautification
- Canonical
- Circular
- Parser serializer
- Syntax
- Viewer editor
- JSON5
- JSONC
- Memory efficient
- Protobuf
- Query
- JSON
- JMESPath
- JSON path
- JSON pointer
- jsonata (Node)
- JSON
- Schemaful
- XML
- Syntax
- XML
- Simplistic
- INI
- Parser serializer
- ini (Format)
- TOML
- Parsers serializers
- toml (Format)
- INI
- Table
- CSV
- Parser serializer
- Syntax
- Excel
- Parsing serializing
- CSV
- Type rich
- YAML
- Beautifier
- Linting
- Parser serializer
- yaml (Format)
- YAML
- serialization formats (Summary)
- Client server state
- Cookies
- General
- Databases general
- Identifiers
- Decentralized
- Full-content
- Hash
- Human-friendly
- Others
- URI
- Manipulation
- Path parameters
- Query string
- uri.js (JavaScript)
- URI (Identifier)
- Manipulation
- identifiers (Summary)
- web architecture (Theory)
- state (Theory)
- Math
- abstract algebra (Theory)
- algebra (Theory)
- algebra equations (Theory)
- analysis (Theory)
- arithmetic (Theory)
- calculus (Theory)
- combinatorics (Theory)
- financial math (Theory)
- functions math (Theory)
- game theory (Theory)
- graph theory (Theory)
- logic (Theory)
- math summary (Theory)
- matrices (Theory)
- number theory (Theory)
- numeral history (Theory)
- numeral systems (Theory)
- numerical analysis (Theory)
- order theory (Theory)
- set theory (Theory)
- statistics theory (Theory)
- survey (Theory)
- General
- CSS (Language)
- CSS in JavaScript
- Animations
- Specific animations
- General
- Specific animations
- Colors
- Manipulation
- Terminal
- Typography
- Configuration data
- Configuration files
- Configuration management
- Continuous integration
- Deployment general
- Deploying
- On premise
- CDN
- FaaS serverless
- IaC
- CloudFormation
- Assets
- CDK
- CI CD
- CLI
- Core
- Diagrams
- Diff
- Generate
- Linting
- PR comment
- SAM
- Testing
- Integration
- Unit
- UI
- Pulumi
- CloudFormation
- IaaS
- AWS
- aws actions (AWS)
- aws auth (AWS)
- aws billing (AWS)
- aws cli (AWS)
- aws config (AWS)
- aws endpoint (AWS)
- aws general (AWS)
- aws identifiers (AWS)
- aws javascript (AWS)
- aws list services (AWS)
- aws network (AWS)
- aws new service (AWS)
- aws regions (AWS)
- aws signature (AWS)
- aws support (AWS)
- aws tags (AWS)
- aws toolkit (AWS)
- Compute
- AWS
- PaaS
- SaaS
- Cluster orchestration
- Process supervisor
- Containers
- Build automation
- Desktop automation
- Screenshots
- copy-paste (Node)
- Live reloading
- Scaffolding
- Documentation
- API
- From code itself
- From comments
- UI component
- Tutorial
- IDE
- Configuration
- Open source
- Source code
- Version control
- Logging
- Aggregator
- Automatic logging
- Errors
- Network interaction
- Dashboard
- Error shape
- Logger
- Request logging
- Monitoring
- Custom metrics
- Alerting
- Host metrics
- Alerting
- Collecting
- Collecting dashboard
- Dashboard
- Uptime monitoring
- Health checks
- Custom metrics
- Debugging
- Environment reporting
- General debugger
- Stack traces
- Async
- Beautify
- Context
- Generation
- Nesting
- Parsing
- Tracing
- Testing
- Assertions
- HTTP
- ava assertions (Node CLI)
- chai (JavaScript)
- deno assertions (Deno)
- expect more (JavaScript)
- jasmine assertions (JavaScript)
- jasmine matchers (JavaScript)
- jasmine utils (JavaScript)
- jest-extended (JavaScript)
- jest assertions (JavaScript)
- must js (JavaScript)
- node assert (Node)
- node tap assertions (JavaScript)
- power-assert (JavaScript)
- should js (JavaScript)
- tape-modern assertions (JavaScript)
- tape assertions (JavaScript)
- unexpected (JavaScript)
- Browser testing
- Selenium
- Coverage
- Go
- LCOV
- Badges
- Core
- Merging
- Parsing
- Reporting
- Source maps
- lcov (Format)
- V8
- coverage (Theory)
- Data driven test
- Diff testing
- Fuzzy testing
- Mocking
- Dependencies
- Generic
- HTTP
- Request mocking
- Client side
- Server side
- Request stubs
- Request mocking
- Specific framework
- Timers
- Platforms
- Browsers
- Node
- Reporting
- TAP
- Merging
- Parsing
- Reporting
- Serialiazing
- tap (Format)
- ava reporters (Node CLI)
- jasmine reporters (Node CLI)
- jest reporters (Node CLI)
- mocha reporters (Node CLI)
- node-tap reporters (JavaScript CLI)
- node-test reporters (Node CLI)
- TAP
- Smoke testing
- Stress testing
- Test runner
- Visual testing
- testing (Theory)
- Assertions
- C (Language)
- Compiling
- shared libraries (Theory)
- Linting
- CSS
- CoffeeScript
- Go
- HTML
- JavaScript
- JavaScript CSS
- TypeScript
- remark-lint (Node CLI)
- Version migration
- Go
- Data binding
- Deno
- JavaScript core
- JavaScript frameworks
- MVC
- Minimalistic
- Opiniated
- View
- One way data binding
- MVC
- Node
- State management
- Beautifiers
- CSS
- Go
- HTML
- JavaScript
- Multi language
- Minification
- CSS
- HTML
- JavaScript
- Post processing
- Compile time generation
- Parsing
- AST format
- JavaScript
- TypeScript
- Parse tokenize
- Serialize
- JavaScript
- Traverse
- parsing (Theory)
- AST format
- Source maps
- Concatenation
- Core
- Format
- Location
- Mappings
- Reverse compilation
- Stack traces
- Validation
- Visualization
- Complexity size analysis
- Dead code
- CSS
- JavaScript
- Duplicated code
- JavaScript
- General
- CSS
- JavaScript
- Multiple languages
- Type checking
- TypeScript
- Ambient generation
- Core
- Testing
- flow (Language)
- TypeScript
- Excel Formulas (Language)
- Excel objet model (Language)
- PowerPoint object model (Language)
- VBA (Language)
- Assembler
- MMX SSE (Language)
- x86 (Language)
- x86 64 (Language)
- x86 C compilation (Language)
- x86 General (Language)
- x86 Segmentation Paging Tasks (Language)
- x86 encodage opcodes (Language)
- x86 extensions (Language)
- x87 (Language)
- Game
- Design gamification
- Engines
- IP geolocation
- 3D
- OpenGL
- Common images
- Emoji
- Detection
- List
- Icons
- Emoji
- Favicon
- Manipulation
- Serving
- Image display
- Carousel
- Lightbox
- Image manipulation
- Diff
- Info
- Minification
- Audio
- DNS
- Client
- DNS (Protocol)
- Registration
- IP
- Load balancing
- Load balancer
- Networking general
- Phones
- Proxy
- QUIC
- Service discovery
- TCP
- Library
- TCP (Protocol)
- TLS
- UDP
- Library
- UDP (Protocol)
- Browser extensions
- DOM
- Abstraction
- DOM (JavaScript)
- Manipulation
- Virtual DOM
- Headless browser
- Desktop only features
- Notifications
- OS
- Executable
- OS Kernel
- Partitions
- System
- architectures (Theory)
- calcul binaire (Algorithm)
- little big endian (Format)
- taille octet bits bytes (Theory)
- Browser
- Browser list
- CSS
- Linting
- Normalizer
- Transpiler
- Device identification
- Feature support
- Node
- OS
- Applications
- Environment variables
- Identification
- Path
- Permissions
- Spawn
- cross-os (Summary)
- Mobile responsiveness
- CLI
- Input
- Interactive
- ANSI sequences
- Cursor
- Detection
- Output
- Terminal general
- Emulator
- Prompt
- Remote
- SSH
- Unix commands
- coreutils
- Scraping crawling
- Broken links
- Crawler
- Detection
- Simple client
- File downloads
- HTTP
- axios (JavaScript)
- bent (Node)
- cross-fetch (JavaScript)
- fetch (JavaScript)
- got (Node)
- http-console (CLI)
- http-prompt (Tui)
- http client (Summary)
- httpie (CLI)
- isomorphic-fetch (JavaScript)
- ky (JavaScript)
- needle (Node)
- node-fetch (Node)
- pgsql http (Postgres)
- phin (Node)
- postman (GUI)
- qwest (JavaScript)
- r2 (JavaScript)
- request (Node)
- reqwest (JavaScript)
- superagent (JavaScript)
- trae (JavaScript)
- unfetch (JavaScript)
- wuzz (Tui)
- Multi protocols
- SDK
- API gateway
- API specification
- Formats
- Formats conversion
- Generation
- OpenAPI
- apicurio-studio (GUI)
- fastify-swagger (Node)
- hapi-swagger (Node)
- hapi-swaggered (Node)
- koa-joi-router-docs (Node)
- koa-swagger-decorator (Node)
- loopback-swagger (Node)
- nestjs swagger (Node)
- openapi-designer (GUI)
- openapi-gui (GUI)
- sails hook swagger generator (Node)
- swagger-definer (Node)
- swagger-editor (GUI)
- swagger-jsdoc (Node CLI)
- OpenAPI
- Parsing validating
- Specifications list
- HTTP
- Body
- HTTP (Protocol)
- Headers
- Methods
- Response
- File
- String
- Statuses
- Streaming
- Inter process communication
- Interface definition
- IDL
- GraphQL
- Beautifiers
- Debugging
- Query
- Schema
- Format
- Realtime
- Schema generation
- From specification
- Server execution
- Web server
- REST
- gRPC
- json-rpc (Format)
- GraphQL
- IDL
- Semantic web
- Linked data
- URI routing
- Client side
- Server side
- Orchestration
- PubSub
- Task coordination
- Task queue
- Task scheduler
- Realtime server
- Server sent events
- Syndication
- Formats
- Parser
- WebSocket
- API generation
- From database
- BaaS
- From API specification
- From database
- Mock server
- Configuration driven
- Server framework
- MVC
- Declarative
- Micro framework
- Declarative
- Minimalist
- Serverless
- AWS Lambda
- MVC
- Static server
- Directory listing
- For development
- For production
- Bash
- Commandes
- 7z
- abs makepkg
- agrep
- alias unalias
- anacron
- at atq atrm batch
- awk
- base64
- basename dirname
- cal ncal
- cat tac
- cd
- chkdupexe
- chmod
- clear
- cloud-init
- command builtin enable
- cp mv
- cron crontab
- csplit
- cut
- date
- dd
- df
- dmesg
- du
- echo
- env printenv
- expand unexpand
- factor
- find
- fold
- getopts getopt
- grep egrep fgrep rgrep
- hash
- head tail
- help
- history
- iconv
- id
- info
- ipcalc
- kill
- less
- line
- ln link
- locate
- look
- ls dir vdir
- lsattr chattr
- man
- mapfile readarray
- mesg
- mkdir
- mkfifo
- mknod
- mktemp
- more
- mount
- mtrace
- ncat
- nice renice
- nohup
- od hexdump hd
- pacman
- passwd
- paste join
- pathchk
- popd pushd dirs
- printf
- pwd
- read
- readlink
- rev
- rm unlink
- rmdir
- sed
- seq
- shred
- shuf
- sleep
- sort
- split
- stat
- stdbuf
- sum cksum md5sum shasum
- sync
- tee
- time times
- top
- touch
- tr
- trap
- truncate
- tsort
- tty
- type which
- ulimit
- umask
- uname arch
- uniq
- updatedb
- upstart
- uptime
- watch
- wc
- whatis apropos
- whereis
- write wall
- xargs
- xdotool
- yes
- zdump
- Options_avec ou sans whitespace
- afaire unix
- atime ctime mtime
- buffering
- character block special files
- droits d acces
- fifo unamedpipe
- human readable sizes
- lock
- newline
- packets essentiels
- regexps
- repertoire dev
- sequence echappement backslash
- sequence echappement date
- specifications
- taille des fichiers
- users and groups
- Gnome
- argument dependent lookup
- exception safety
- generic programming
- metaprogramming
- naming convention
- optimization
- C
- Glibc
- IO filedescriptors
- IO memoire
- IO normale
- attributs fichiers
- caracteres
- communication interprocess
- dynamic allocation
- encodage crypto
- erreurs
- extension 64 bits
- fichiers temporaires
- goto
- limites
- options programme
- program execution
- repertoires
- signaux
- strings
- systeme de fichier
- time
- unfinished
- wchar wstr
- Standard library
- Glibc
- C++
- Boost
- Standard library
- Date time general
- Date picker
- Date popovers
- Utilities
- Numbers general
- Arbitrary precision
- Integers
- Arbitrary precision
- Units
- Human friendly units
- Strings general
- Diff
- Encoding
- Manipulation
- Case
- Concatenation
- Indent
- Newline
- Reverse
- Slugify
- Utilities
- Matching
- Globbing
- Braces
- Detection
- Format
- Match
- Path
- RegExp
- Escape
- Format
- Replace
- Tokenize
- balanced-match (JavaScript)
- Globbing
- Search
- Fuzzy
- Validation
- Empathy engineering
- accessibility (Theory)
- Analytics
- Copy paste
- Modals
- Toast notification
- Full
- Bootstrap
- Form input
- Autosize
- Form select
- Form sliders
- Progress bars
- Rich editor
- Autocompletion
- Inside input
- RTF
- Autocompletion
- Spinners
- Buttons
- General
- Theory
- Hamburger menu
- Whole menu
- Layout
- Bricks
- Sticky header
- Presentations
- Tables
- Gestures
- Keyboard
- Orientation
- Scrolling
- Animate on scroll
- Enhanced scrolling
- Content
- i18n
- Country-dependent
- Encoding
- All
- Non-Unicode
- Unicode
- General
- Recognition
- Translation
- Library
- Extraction
- Formats
- Replacement
- Library
- internationalization (Theory)