Link list
- Papers We Love
- okmij.org
- GitXiv
- Awesome Hacking
- Research papers/Functional pearls
- Research skills
- How to Do Research
- 10PL
- Richard Jones's Garbage Collection page
- 80 Linux Monitoring Tools
- Mozilla - SummerOfCode
- Open Source for Academics -- Microsoft
- Xiao Jia
- ACM SRC Submissions
- continuations - okmij
- ACM Fellows from the Programming Language Research Community
- SIGPLAN Conferences
- Great Works in Programming Languages
- PL + SE @ MIT CSAIL
- Resources for Running Research Groups
- Project topics on F*
- arXiv.org > cs > cs.PL
- Programming Language Seminar | NEU PRL
- Recommended Reading for Developers
- What are the best plugins to increase productivity on Emacs
- Technical and non-technical guide for rocking your coding interview
- Machine Learning & Deep Learning Tutorials
- Every Programmer Should Know
- 10 Breakthrough Technologies | 2017
Website
- Bugzilla
- the Grad Cafe
- Stockfighter
- Microsoft Research
- Dafny: A Language and Program Verifier for Functional Correctnes
- PL/Verification @ MPI-SWS
- Web Interface Language
- SpiderMonkey
- Mozilla Hacks
- Homu.io
- Iris: A Basis for Concurrent Reasoning
- Easy lecture slides made difficult with pandoc and beamer
- DeepSpec
- HackerWeb
- Chan Zuckerberg Biohub
- Efficient Formally Secure Compilers to a Tagged Architecture
- R16 Korea
- The Notorious IBE
- Red Bull BC One
- The Savvy Backpacker
- Bugs Ahoy!
- Harvard Business Review
- The Opinion Pages - The New York Times
- Computer Science Rankings
- Build it Break it Fix it
- PhD Posters
- SIGSOFT
- Cybersecurity Lab @ CSE, HKUST
- CyberGrandChallenge
- GHC Developer Wiki
- Rust Internals
- Conference Share
- Prosecco Team | INRIA
- The POPLmark Challenge
- DESTROY ALL SOFTWARE | Computation explained briskly, for programmers.
- SIGLOG
- UDEF Pro Breaking Tour
- The Cornell, Maryland, Max Planck Pre-doctoral Research School 2017
- Welcome to Startup Graveyard
- Hayoo! - Haskell API Search
- The Movie Database
- Your AI Pair Programmer | Codota
- BitShares OpenLedger
- EtherScan
- Enterprise workstations built for Deep Learning | Lambda Labs
- IDE-like code search and navigation, on the cloud | Insight.io
- Sourcebrella
- ZeroMQ
- BotVS | Marvel quants world
- BitMEX
- WeQuant
- Cognitive medium | Michael Nielsen
- DMLC for Scalable and Reliable Machine Learning
- Ripple
- playground
- Quantopian
- Hyperledger
- PolyConf
- LMAX
- EOS
- IBM Q Experience
Courseware
- CS 252r: Advanced Topics in Programming Languages - Spring 2011
- CS510 - Advanced Functional Programming - Spring 2014
- Foundations of Programming Languages - Spring 2016
- 15-819 O: Program Analysis - Spring 2013
- 15-818A4 Current Research on Separation Logic (6 units) Spring 2011
- 15-818A3 Introduction to Separation Logic (6 units) Spring 2011
- 15-819 Homotopy Type Theory
- 6.824: Distributed Systems
- Advanced Operating Systems | COMP9242 2016/S2
- http://cs231n.github.io/convolutional-networks/ CS231n Convolutional Neural Networks for Visual Recognition
- https://db.cs.cmu.edu/seminar2017/ TSDB lectures
Tutorials
- An Introduction to Redex with Abstracting Abstract Machines
- Guide to x86 Assembly
- Rust for functional programmers
- Receive SMS on a Raspberry Pi
- Statement of Purpose Guidelines
- How to Setup a Multi-Protocol VPN Server Using SoftEther
- Linux Objdump Command Examples
- CREATE YOUR OWN CRYPTO-CURRENCY WITH ETHEREUM
- Manifestly type-preserving, effective partial evaluation in the tagless-final style
- Practical Dependent Types in Haskell: Type-Safe Neural Networks (Part 1)
- Doomsday planning for less crazy folk
- Howto Access a Linux Machine Behind a Home Router With SSH Tunnels
- How To Use Google Logging Library (glog)
- An Introduction to HAProxy and Load Balancing Concepts
- Automated testing with Headless Chrome
- Linux List The Open Ports And The Process That Owns Them
- 6 Steps to an Effective Performance Monitoring Strategy
- https://getweeklyupdate.com/manager-guide
-
https://blog.bookandledger.com/topics/business-formation/form-a-california-llc Form a California LLC in 10 minutes for \$70
Advice
- Writing a Research Plan
- Advice for Prospective Research Students
- Getting into CS Graduate School in the USA
- Advice for Ph.D. Program Applications
- Advice for Foreign Students Wishing to Pursue Graduate Study in Computer Science at UCSC
- Advice to Graduate School Recommendation Letter Writers
- Continually aim just beyond your current range
- How to Date Women
- Advice for First-Time ICSE Participants
- Attending an academic conference
- Where should you study your PhD?
- So you're thinking about graduate school in operations research, math, or engineering
- Advice on writing a Ph.D. statement of purpose for CMU
- Networking Tips for Younger PhD Students
- What Are The Pros And Cons Of Interning At A Startup Versus A Big Established Tech Company?
- GSoC Student Guide
- YC’s Essential Startup Advice
- 职业规划之方法论
- Why Should I Start a Startup?
- How (and How Not) to Write a Good Systems Paper
Posts
- A successful Git branching model
- Making presentations with Pandoc
- Abstraction without overhead: traits in Rust
- A tour of V8: Garbage Collection
- Locking in WebKit
- A Very General Method of Computing Shortest Paths
- Functors and Recursion
- Personal Statement vs. Statement of Purpose – What’s the Difference? Is there one?
- Tough love: An insensitive guide to thriving in your PhD
- CS Grad School Part 4: Applications
- 7 ways to boost your endurance and stamina
- Things I Keep Repeating About Writing
- An Introduction to Recursion Schemes
- A More Detailed Tour of the Rust Compiler
- Back to the Futu-rr-e: Deterministic Debugging with rr
- Stop Trying to Sound Smart When You’re Writing
- GHC Development: OutsideIn
- Hacking on GHC
- Removing Garbage Collection From the Rust Language
- C++ vtables - Part 2 - Multiple Inheritance
- What is PL research and how is it useful?
- Interview with Avik Chaudhuri (PL in industry)
- The missing method: Deleting from Okasaki's red-black trees
- Xen Project 2017 Predictions: The Growth and Changes of the Hypervisor in 2017 and More
- Neural Networks, Types, and Functional Programming
- Toward an exploratory medium for mathematics
- Thought as a Technology
- Twelve LaTeX packages to get your paper accepted
- A New Publishing Model in Computer Science
- Notes on writing well
- 7 Lessons From 100+ Failed Startups
- Rubber Duck Problem Solving
- I had a Startup and a Girlfriend. I left one.
- How to debug Haskell code?
- After three weeks in China, it's clear Beijing is Silicon Valley's only true competitor
- Everything You Always Wanted to Know About Fsync()
- MEET MICHELANGELO: UBER’S MACHINE LEARNING PLATFORM
- The USE Method
- "What next?"
- Becoming a CTO
- Ironing out your development style
- Ten Years of Worthless Side Projects
- Multi to Mono Repository
- technicalities: "not rocket science" (the story of monotone and bors)
- How Rust is tested
- How we fine-tuned HAProxy to achieve 2,000,000 concurrent SSL connections
- DPOS Consensus Algorithm - The Missing White Paper
- Memory Consistency Models, and how to compare them automatically
- Metrics-Driven Development
- Python in production engineering
- Linux Performance Analysis in 60,000 Milliseconds
- https://joshgreaves.com/reinforcement-learning/understanding-rl-the-bellman-equations/ Understanding RL: The Bellman Equations
- https://engineering.riotgames.com/news/taxonomy-tech-debt A TAXONOMY OF TECH DEBT
- https://martinfowler.com/articles/lmax.html The LMAX Architecture
-
The three types of cache https://www.robustperception.io/the-three-types-of-cache
Book
- The Rustonomicon: The Dark Arts of Advanced and Unsafe Rust Programming
- Abstract Algebra: Theory and Applications
- Distributed Computing: Principles, Algorithms, and Systems
- Neural Networks and Deep Learning
- Michael Abrash’s Graphics Programming Black Book, Special Edition
- Category Theory for Programmers
- Bitcoin and Cryptocurrency Technologies
- https://landing.google.com/sre/book/index.html Site Reliability Engineering
Blogs
- Existential Pontification and Generalized Abstract Digressions (Edward Z. Yang)
- The {pnk}f(eli)x Blog: The informal ramblings of an ex-pat PL enthusiast
- updated sporadically at best (Jean Yang)
- Joe Duffy's Blog
- Christopher Meiklejohn's Blog
- Baby Steps: A blog about programming, and tiny ways to improve it.
- Peter Bailis :: Highly Available, Seldom Consistent
- KC Sivaramakrishnan's Blog
- Better Posters
- The Programming Languages Enthusiast
- The Morning Paper
- Aaron Turon's Blog
- Jonathan Turner's blog
- Stephen Diehl's blog
- Notes from Jon Sterling Thought
- Xudifsd | Rational life
- Nick's Blog | because repeating myself sucks
- Existential Type | Thoughts from an existential type.
- Bλog
- Triplebyte | Building a better hiring process
- Apple Machine Learning Journal
- PATPAT: Program analysis, the practice and theory
- Kevin Sookocheff
- Dariusz Łuksza
- https://www.allthingsdistributed.com AWS CTO
- http://word-bits.flurg.com redhat engineer
- http://programanalysis.blogspot.com Michael Ernst's technical blog
- http://mysql.taobao.org/monthly/ 数据库内核月报
- Personal finance for engineers https://cs007.blog
Doc
- PEP 339 -- Design of the CPython Compiler
- dis — Disassembler for Python bytecode
- FileAPI - W3C
- Separation logic and bi-abduction
- Using ld | The GNU linker
- contents - arch-x86_64 - Xen public headers
- DOS INT 21h - DOS Function Codes
- musl 1.0.0 Reference Manual
- Standard C
- Comprehensive overview of using the Build System | GHC
- GHC Source Tree Roadmap: rts
- Modifying the build system | GHC
- KVM Documents
- Xen Project Software Overview
- Getting Started | Xen
- Git Tools - Submodules
- SFINAE - "Substitution Failure Is Not An Error"
- Markup | Haddock
- Introduction to Smart Contracts
- PHP Standards Recommendations
- An Introduction to Programming in Emacs Lisp
- Google C++ Style Guide
- NetworkExtension | Apple Developer
- PyAlgoTrade
- Matching Algorithms | CME
- 3.18.4 ARM Options | GCC
QA
- Is there any programming language theory describing foreign function interfaces (FFI) and multiple language bindings?
- What are the differences between logical relations and simulations?
- In C++, what is a virtual base class?
- Issues with Screen Scaling on External Monitor
- Dependent types vs refinement types
- Sublime Text - spell check but only certain file extensions
- What's the relation and difference between Calculus of Inductive Constructions and Intuitionistic Type Theory?
- Is it possible to create a startup while doing a PhD?
- How to ignore files only locally in git?
- How to get .pem file from .key and .crt files?
- What is a Pem file and how does it differ from other OpenSSL Generated Key File Formats?
Projects
- ClickNP
- LegUp High-Level Synthesis
- The CH2O formalization of ISO C11
- ERATO MMSD - Metamathematics for Systems Design
- Iris Project
- Logical Abstract Interpretation
- Fiat | Mostly Automated Synthesis of Correct-by-Construction Programs
- eXtensible Modular Hypervisor Framework
- Autosubst: Automation for de Bruijn syntax and substitution in Coq
- CoqdocJS
- Programming Languages and Machine Learning | SRL
- Security and Reliability of Smart Contracts | SRL
- Learning from Big Code
- europilot
- Python Tutor
- pytrader
- Crypto AI
- bocker | Docker implemented in around 100 lines of bash
- DeepLearning.scala
- Bamboo: a morphing smart contract language
- Apache Beam: An advanced unified programming model
- Diesel is a Safe, Extensible ORM and Query Builder for Rust
- Alloy language
- Lightning Network
- Prophet | Forecasting time-series data
- Edward | library for probabilistic modeling, inference, and criticism
- Prometheus
Misc
- OpenGL / OpenGL ES Reference Compiler
- Ephemeron
- haskell-beats-C
- Browser.html + Servo issues
- Any support for functional programming in Rust?
- 假期到了,让这 100 篇文章带给你全新的旅行灵感
- Help on Formatting Papers
- Technical Resume Hints
- Notes on notation and thought
- Author Information for SIGPLAN Conferences
- Mathematics: What do grad students in math do all day?
- A basic ray-caster
- Left Out: Independent, Reality-Based Radio
- the Professional Association of Diving Instructors
- Concert Reading Group
- OOP vs type classes
- The Pure and Applied Logic (PAL) program
- The Secret To Making The Glycemic Index Work For You
- VerifyThis Competitions
- “So long, and thanks for the Ph.D.!”
- How 25 Male CEOs Manage Work and Life
- Haskell Style Guide
- Intelligence amplification
- 2017 Biotech Trends–Regrown Organs, Augmented Brains, and AI Diagnosis
- Programming with Millions of Examples
- Cryptocurrency Historical Prices
- Neural Abstract Machines & Program Induction
- Growing a Language, by Guy Steele
- USE Method: Rosetta Stone of Performance Checklists
- C++ Performance Tips
- C++ Optimization Strategies and Techniques
- Linux Performance
- The Lost Art of C Structure Packing
- Introducing Open Equity: Buffer’s Equity Formula and Full Individual Breakdown
- Optimizing Open Source Projects for Contribution
- Notes on the DAO re-entrancy bug and behavioral types
- Problems | Ethereum Wiki
- 153k Ether Stolen in Parity Multi-Sig Attack | HN
- Apple Design Awards
- Ph.D. 2.0: Adopting the Startup Culture for Research
- HN | Blockchains Considered Harmful: Is Brute-Force Processing Replacing Good Design?
- tmux shortcuts & cheatsheet
- https://www.chartjs.org JavaScript charting
- jQuery http://youmightnotneedjquery.com
- JavaScript http://youmightnotneedjs.com
- PHP best practice https://www.phptherightway.com/#docker
- Is your database under version control? https://blog.codinghorror.com/is-your-database-under-version-control/