Programming

Table of Contents

“The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform… But it is likely to exert an indirect and reciprocal influence on science itself.” - Ada Lovelace

“Software is a great combination between artistry and engineering.” - Bill Gates

“organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.” - M. Conway

Computers are good at tedium.

Why does one love programming? the simplicity and purity of the relationship, sound of keyboard, the feeling of control, the gratification of the outcome, the challenge of the puzzle, the room for improvement, the patience of the machine

TODO

  1. Newton’s method:
    1. https://en.wikipedia.org/wiki/Newton%27s_method
    2. https://go.dev/tour/flowcontrol/8
  2. OpenID Connect
    1. https://www.google.com/search?q=openid+connect+github+actions&sca_esv=6031b854f1326109&ei=hZVZZ8rnG5G8p84PmNKC8Ag&oq=openid+connect+git&gs_lp=Egxnd3Mtd2l6LXNlcnAiEm9wZW5pZCBjb25uZWN0IGdpdCoCCAIyCxAAGIAEGJECGIoFMgUQABiABDIFEAAYgAQyBRAAGIAEMgYQABgWGB4yBhAAGBYYHjIGEAAYFhgeMgYQABgWGB4yBhAAGBYYHjIGEAAYFhgeSOkkUKoHWLgPcAF4AZABAJgBbaAB6AKqAQMzLjG4AQPIAQD4AQGYAgWgApMDwgIKEAAYsAMY1gQYR8ICDRAAGIAEGLADGEMYigWYAwCIBgGQBgqSBwM0LjGgB4MY&sclient=gws-wiz-serp
    2. https://developers.google.com/identity/openid-connect/openid-connect
    3. https://www.microsoft.com/en-us/security/business/security-101/what-is-openid-connect-oidc
    4. https://auth0.com/docs/authenticate/protocols/openid-connect-protocol
    5. https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect
    6. https://openid.net/developers/how-connect-works/

Tags

  1. Programming Languages
    1. Programming Paradigms
    2. Compiled, Interpreted and Hybrid (Portable Compiled) Programming Languages
    3. Programming Languages - Speed of development and Speed of execution
    4. Statically vs Dynamically Typed Languages
    5. Java notes
      1. Java vs C++
    6. Rust - notes
    7. GoLang notes
      1. Hard truths before switching to Go
    8. Haskell - notes
    9. Javascript and Typescript notes
      1. The Case Against JavaScript
    10. Python notes
      1. Python and C++
      2. NumPy: Supercharging Python for Scientific and Numerical Computing
    11. No Silver Bullets
  2. Web developer
    1. Front end development
  3. Agile methodology
  4. Apache Camel
  5. Artificial intelligence (AI) and machine learning (ML)
  6. API Versioning
  7. Asynchronous programming
  8. Bad programming practices
  9. Base64 encoding and decoding
  10. Build tools
  11. Caching
  12. Characters, Character Sets and Encodings
  13. Cloud computing
  14. Code aesthetics
  15. Compilers and LLVM
  16. Computing process, Thread and Scheduler
  17. Continuous integration and continuous delivery (CI/CD or CICD)
  18. Contexts and Dependency Injection (CDI)
  19. Convention Over Configuration
  20. cron schedules
  21. Databases
    1. Data Engineering
    2. Data Engineering vs Data Science
    3. Big Data Processing Frameworks
    4. How databases store passwords securely
    5. Data Science
  22. Dependency hell
  23. Disaster recovery
  24. Edge Computing
  25. Enterprise Search Engines
  26. Environment variables
  27. Error handling
  28. Git
  29. GitHub Actions
  30. gRPC
  31. Hosts file
  32. html and css
  33. Idempotence or Idempodent operation
  34. Inbound Outbound models in programming
  35. Linux
  36. Managing certificates in Java_Home and Websphere_Application_Server
  37. Multi threading and Concurrency
  38. Numeral Systems
  39. Object-Oriented Programming
  40. ObjectMapper
  41. OpenAPI
  42. Path
  43. Pointers
  44. Process improvements
  45. Programming - how to get better at it
  46. Quantum Computing
  47. Recursion
  48. Redis
  49. Regular Expressions (regex)
  50. Reverse proxy server
  51. Scripts to do something on multiple applications
  52. Security, Authentication, Authorization and SSL
  53. Short Circuit Evaluation
  54. Special characters in proxies
  55. Testing
  56. Understanding programming
  57. Toolbox
  58. Vulnerabilities
  59. Websphere Integration Developer
  60. Policy Language
  61. Parsing Grammer Expressions and Specifications
  62. Programming outside of work
    1. Open source projects
    2. To apply or not to apply
      1. Applying for a job in Silicon Valley companies
    3. Preparation
      1. Coding challenges
        1. General tips for solving coding challenges
        2. Websites to prepare for coding challenges
        3. Topics and questions for coding challenges
        4. Wordle Coding Exercise
        5. Knowledge gaps and ideas for Proof of concepts
        6. Some cool programs every programmer should make atLeast once
      2. Preparing for jobs at top tier companies
      3. System Design and Architecture
      4. The only 6 types of questions you need to know to ace any coding interview
      5. Can you cheat recruitment process by practicing Algorithmic Puzzles?
      6. How can I prepare for interviews in any big software company?
      7. The 2 types of software engineering interviews and how to prepare for them
      8. What is the best way to prepare for Google interview in 3 months?
      9. How often do tech companies ask LeetCode Hard questions during interviews?
      10. Why do I need to know how to code on paper if it is only useful during an interview?
      11. How should I prepare for the Amazon online coding interview?
      12. Why is there a huge difference between algorithm questions in a technical interview and the actual software development?
      13. What does it take to crack Google’s interview?
      14. What questions were you asked in the programming interview for Google, Amazon, Facebook, or Microsoft?
      15. How to Crack Your Next Software Developer Job Interview: An Actionable Guide
    4. How databases store passwords securely
    5. How to interview engineers?

No notes link to this note