Skip to main content
Ryan Orban

Ryan Orban

Subject
61 entries

Programming

Bookmarks

  1. Solve It With Code: problem-solving course with AI and craftsmanship

    Solve It With Code is a 5-week course by Jeremy Howard (fast.ai) and Eric Ries (Lean Startup) teaching the SolveIt method — problem-solving that combines AI tools with independent thinking and craftsmanship. The anti-vibe-coding curriculum.

  2. DSPy: Compiling Declarative Language Model Calls (SBTB23 talk)

    Omar Khattab's ScalaBytesConf 2023 talk introducing DSPy — the core presentation that launched the framework into wider attention. Covers the compile-don't-prompt philosophy and demonstrates self-improving LLM pipelines.

  3. pytudes: Peter Norvig's Python Skill-Building Programs

    Peter Norvig's collection of Python programs of "considerable difficulty" designed to perfect specific programming skills — a curated library of well-crafted exercises in algorithms, puzzles, and problem-solving by one of the most respected programmers alive.

  4. Ideas for Better Programming Tools

    Emil's exploration of ideas for better programming tools — focused on making programs more visible, legible, and interactive. Sits in the tradition of Bret Victor's work on seeing inside running programs.

  5. CodeCrafters: Advanced Programming Challenges

    CodeCrafters offers advanced programming challenges where you rebuild real systems — Redis, Git, SQLite, a Unix shell — from scratch in your own IDE using Git-push-based testing. Designed for experienced developers who want systems-level depth.

  6. Eli Bendersky's Website

    Eli Bendersky's personal blog is a deep-dive technical reference for systems programming, compilers, and Go/Python internals. His posts on how things work at the implementation level — parsers, ELF binaries, coroutines, LLVM — are consistently among the best on the internet.

  7. Programming in the Apocalypse

    Mat Duggan's essay on what software engineering looks like when the tech industry's golden decade is over — slower hiring, tighter budgets, and the shift from 'move fast' to 'keep the lights on.' A realistic recalibration for developers who only knew the boom years.

  8. My Recurse Center Syllabus

    Ashley Blewer's self-directed syllabus from her Recurse Center batch — a structured plan for a self-directed coding retreat covering audio/video formats, networking, compilers, and systems programming. A useful template for independent deep-learning programs.

  9. interviewing.io: Anonymous Technical Mock Interviews

    interviewing.io provides anonymous technical mock interviews with engineers from top companies — practice with real interviewers under realistic conditions, with feedback, before your actual loop.

  10. Patterns to Ace Coding Interviews

    A pattern-based framework for coding interview preparation — reduces hundreds of LeetCode problems to ~20 recognizable patterns. Knowing which pattern applies is usually harder than solving once the pattern is identified.

  11. What's a Linked List, Anyway? (BaseCS)

    The first part of Vaidehi Joshi's BaseCS series on linked lists — a beginner-friendly explanation of singly and doubly linked lists with illustrations. Part of a comprehensive CS fundamentals series written for self-taught developers.

  12. Hacker Laws: Laws, Theories, Principles, and Patterns for Developers

    Dave Kerr's curated reference of laws, principles, and patterns that recur in software development and technology organizations, covering everything from Brooks' Law to Conway's Law to the Pareto Principle. A useful mental model library for recognizing why projects, teams, and systems behave the way they do.

  13. Grok {Shan, Shui}* — Understanding Generative Art Code

    Viktor Zverok's deep-dive into understanding the Shan, Shui* generative art codebase — a JavaScript program that generates ink-wash style Chinese landscape paintings. An 'advent of understanding' tracing how algorithmic art is constructed from procedural noise and layered rendering.

  14. Programming Bitcoin — Jimmy Song

    Jimmy Song's 'Programming Bitcoin' book repository — a hands-on O'Reilly book that teaches Bitcoin internals by implementing the cryptography and protocol layer from scratch in Python. The deepest technical introduction to how Bitcoin actually works.

  15. btc-heist — Bitcoin Key Generation Educational Tool

    btc-heist is a toy Bitcoin key generation tool that generates random private/public key pairs and checks if the address matches any in a list of addresses with non-zero balances. An educational demonstration of why Bitcoin's 2^256 key space makes brute-force impossible in practice.

  16. Tour of Python Itertools

    Martin Heinz's comprehensive walkthrough of Python's itertools module — chaining, slicing, grouping, and combining iterators efficiently. One of the best references for using Python's built-in iterator toolkit before reaching for third-party alternatives.

  17. Functools: The Power of Higher-Order Functions in Python

    Martin Heinz's guide to Python's functools module — partial application, memoization via lru_cache, reducing sequences, and higher-order function patterns. The companion to itertools for functional-style Python.

  18. The Art of Code — Dylan Beattie

    Dylan Beattie's 'The Art of Code' is a conference talk covering the weird, playful, and surprisingly profound corners of software — esoteric languages, code golf, musical programming, and the question of what 'beautiful code' even means. A reminder that software is a creative medium.

  19. Mappers vs Packers

    Ward Cunningham's wiki pattern distinguishing 'Mappers' (who think in connected concepts and structures) from 'Packers' (who think in discrete lists and procedures). A useful lens for diagnosing communication friction in technical teams.

  20. Data-Oriented Programming

    Yehonathan Sharvit's book on Data-Oriented Programming — four principles for separating code from data, using generic structures, embracing immutability, and decoupling schema from representation. A response to the complexity of OOP.

  21. laarc — Lisp-Oriented Hacker News Alternative

    laarc was a Hacker News-style link aggregator built in Arc (Paul Graham's Lisp dialect) and oriented toward Lisp, functional programming, and programming language theory. The site has since shut down or pivoted.

  22. Labuladong Algorithm Book (English)

    Labuladong's English-translated algorithm patterns book — a framework-first approach to competitive programming and interview preparation that teaches mental models for problem types rather than individual solutions. Popular for its emphasis on patterns over memorization.

  23. Comprehensive Python Cheatsheet

    A comprehensive, single-page Python reference covering everything from basic syntax to advanced features like decorators, generators, and metaclasses. Unusually complete and well-organized for a cheatsheet — more like a structured quick-reference manual.

  24. Fizz Buzz in TensorFlow

    Joel Grus deliberately solves FizzBuzz using TensorFlow — a satirical demonstration of using a neural network where simple conditional logic would do. A sharp critique of ML overcomplexity disguised as a tutorial.

  25. Changing Education: How Bootcamps Outperform University

    Liz Abinante's argument for how coding bootcamps outperform university education for software development — focusing on applied skills, tight feedback loops, and job-readiness. Written by someone who ran and taught at bootcamps at the height of the coding bootcamp boom.

  26. You're Not Allowed Bioinformatics Anymore

    Mick Watson's provocative post arguing that if you can't code, you shouldn't call yourself a bioinformatician — drawing the line between biological data consumers and practitioners who can actually build analysis pipelines. Resonated widely in 2014's data science credentialing debates.

  27. An Introduction to Programming in Go

    Caleb Doxsey's free online book introducing the Go programming language — a clean, concise introduction covering types, functions, concurrency primitives, and the standard library. Go had just turned four years old in 2014 and was attracting serious attention for systems and network programming.

  28. 30 Python Language Features and Tricks You May Not Know About

    Sahand Saba's tour of 30 Python language features that intermediate programmers often overlook — covers unpacking, generators, context managers, decorators, and more. A practical companion to reading the Python docs.

  29. Advanced R — Hadley Wickham

    Hadley Wickham's Advanced R — the definitive guide to R's unusual object systems, functional programming patterns, environments, and performance profiling. Essential reading for anyone who wants to move from R user to R programmer.

  30. Why's (Poignant) Guide to Ruby

    _why the lucky stiff's infamous illustrated guide to Ruby — part tutorial, part surrealist comic, part programming philosophy. Became a cult object after _why's mysterious disappearance from the internet in 2009.

  31. Ruby on Codecademy

    Codecademy's interactive Ruby track — browser-based exercises covering variables, loops, methods, OOP, and blocks. The accessible on-ramp to Ruby for non-programmers in 2014.

  32. The Best Things and Stuff of 2013 — fogus

    Fogus's curated annual list of the best things in programming and technology for 2013 — blog posts, books, papers, and miscellany. A high-signal reading list from a well-read Clojure/functional programming practitioner.

  33. How to Be a Programmer: A Short, Comprehensive, and Personal Summary

    Robert Read's comprehensive guide to being a programmer — covering debugging, communication, teamwork, and judgment that textbooks leave out. Unusually honest about the human and organizational side of software development.

  34. Understanding Slices in Go Programming

    Going Go Programming's deep explanation of slices in Go — the difference between arrays and slices, the three-field slice header, and the subtle bugs that emerge from sharing underlying arrays. Essential reading for anyone moving from C or Python to Go.

  35. What Every Computer Science Major Should Know

    Matt Might's canonical essay on what a CS graduate should know across breadth and depth — from formal theory to systems to software engineering practice. A widely-shared framework for thinking about CS education and self-directed learning gaps.

  36. Python Quirks

    LShift's catalog of Python behaviors that surprise experienced programmers — mutable default arguments, late-binding closures, class variable vs instance variable traps. The kind of language-design decisions that seem reasonable in isolation but bite you in real code.

  37. Untrod Blog

    The Untrod blog — a Python and Django-focused technical blog by Chris Clark. Pinned as a reference for practical Python web development posts in 2013.

  38. ABC: Always Be Coding

    David Byttow's Medium post arguing that the best way to get a software engineering job at top companies is to code constantly — side projects, open source, and deliberate practice rather than cramming interview prep. The ABC (Always Be Coding) philosophy.

  39. Statistical Formulas for Programmers

    Evan Miller's reference sheet of statistical formulas presented as code-friendly pseudocode rather than academic notation. A practical bridge between statistical theory and implementation, covering the formulas programmers actually need for A/B testing and product analytics.

  40. Math ∩ Programming Primers

    Jeremy Kun's Math ∩ Programming blog primers page — a growing collection of self-contained posts bridging undergraduate mathematics (linear algebra, group theory, topology, probability) and programming. The best resource for programmers who want mathematical depth without a full course sequence.

  41. Coding for Interviews — Book Recommendations

    Coding for Interviews was a weekly newsletter and book-recommendation site for software engineering interview preparation — curating the canonical algorithm and data structure books used in technical interviews at top tech companies.

  42. How to Implement an Algorithm from a Scientific Paper

    Emmanuel Goossaert's guide to the specific challenges of implementing an algorithm from a research paper — reading notation, handling undefined edge cases, bridging the gap between mathematical description and working code. Practical advice for a surprisingly common problem.

  43. Probability Theory — A Primer

    Jeremy Kun's Math ∩ Programming blog post introducing probability theory from first principles — sample spaces, events, probability measures, conditional probability, and random variables. Part of his series making advanced mathematics accessible to programmers.

  44. The Mindful Programmer

    The Mindful Programmer — a blog about applying mindfulness practices to software development work. Part of the 2012-2013 wave of writing connecting contemplative practices to programmer productivity, predating the mainstream mindfulness-at-work trend.

  45. Codular — Web Development Tutorials

    Codular was a web development tutorial site from 2012-2013 focused on HTML, CSS, and JavaScript guides. Part of the wave of indie tutorial sites that preceded the consolidation around a few major platforms like CSS-Tricks, Smashing Magazine, and later freeCodeCamp.

  46. The Mathematical Hacker

    Evan Miller's essay arguing that programmers who invest in mathematical fluency gain compounding advantages — because math enables them to evaluate methods rather than just apply them, and to work with uncertainty and probability naturally. The case for quantitative education in software.

  47. The 7 Books of a Highly Effective Programmer — Fogus

    Fogus's 2009 list of seven books for making a highly effective programmer — a curated reading list weighted toward PL theory, Lisp, and computation fundamentals. Influential enough that it circulated on Hacker News for years after posting.

  48. How to Code a Life

    A BuzzFeed essay framing life decisions using programming metaphors — an early example of using software concepts to explain life choices to a general audience. Part of the 2012 wave of coding-as-metaphor content.

  49. Five Questions: Brian Harvey, CS Education Innovator

    Daily Cal interview with Brian Harvey on CS education innovation — covering Snap! (the visual programming language he built), the transition away from SICP in CS61A, and his philosophy on teaching programming to beginners. A ground-level view of Berkeley's CS curriculum debates.

  50. 7 Python Libraries You Should Know About

    A 2012 roundup of seven Python libraries worth knowing — a snapshot of which tools the Python community considered essential before the data science wave fully landed. Useful as a historical marker for the state of the Python ecosystem.

  51. Software Development Final Exam Answers: Part 1

    Colin Percival grades a software development final exam and finds most developers can recall what data structures do but not why they're useful in specific contexts — the gap between memorization and understanding. Average score: 15.2/25.

  52. The 5-Minute Guide to C Pointers

    A concise primer on C pointers — the concept that trips up most programmers learning C. The guide covers pointer declaration, dereferencing, pointer arithmetic, and common pitfalls, aimed at getting past the initial confusion quickly.

  53. God Uses Lisp

    A Twitpic image shared with the caption 'Guess God really does use Lisp' — programmer humor around the idea that the universe's underlying structure resembles a Lisp program. A recurring joke in hacker culture about Lisp's elegance and its position as the 'language of ideas'.

  54. A Few Things to Remember While Coding in Python

    A practical reference post on Python idioms and gotchas — covering mutable default arguments, list comprehensions, generators, decorators, and other patterns that distinguish experienced Python code from novice code.

  55. Please Understand Learning to Code

    A response to the early-2012 'everyone should learn to code' movement arguing that understanding what coding actually involves — not just advocating for it abstractly — is what matters. Coding literacy and professional programming are different skills with different demands.

  56. Don't Become Anything, Especially Not a Programmer

    Zed Shaw's contrarian post arguing that 'learning to code' for career reasons is a trap — programming should be learned because you love it, not as a get-rich-quick path. A direct rebuke of the 'anyone can be a programmer in 12 weeks' message gaining traction at the time.

  57. Inverse FizzBuzz

    Hacker News discussion of Inverse FizzBuzz: given output like 'fizz buzz fizzbuzz fizz', figure out the smallest integer range that produces it. A clever inversion of the classic coding interview problem that tests parsing/reasoning rather than just implementation.

  58. Three Tips to Succeed as a Programmer

    Facebook Engineering's post on three principles for succeeding as a programmer — written at a moment when Facebook was the most visible example of what high-performing engineering culture could produce. Likely covers ownership, breadth vs depth, and learning from code review.

  59. Coding Horror: Learn to Read the Source, Luke

    Jeff Atwood's Coding Horror post arguing that reading source code directly — not documentation, not Stack Overflow — is the highest-leverage skill for programmers. The ability to trace behavior to its root in code is what separates competent from exceptional developers.

  60. Never Stop Hacking

    Randall Degges's manifesto on maintaining a hacker's curiosity as a professional programmer — the argument that the best developers never stop building things purely for learning, outside of their day job. About intrinsic motivation over career optimization.

  61. Code School — Learn by Doing

    Code School homepage bookmarked in 2012 — an early interactive coding education platform using a 'learn by doing' model with in-browser code challenges. Competed with Codecademy and later Treehouse in the first wave of interactive programming education.

All bookmarks