├── .gitignore ├── CNAME ├── LICENSE ├── README.md ├── _config.yml ├── _includes └── cookie-consent.html ├── _layouts └── default.html ├── about.md ├── ads.txt ├── ai └── meet-our-new-tech-support-guy_fine-tuned-chatgpt-4-with-external-long-term-memory │ ├── README.md │ └── media │ ├── ChatGPT-powered-chat-robot.png │ ├── ai-manuel.jpg │ ├── ai-manuel.psd │ └── supportbot_event_sequence.svg ├── algorithms ├── .gitignore ├── README.md ├── distributed-computing │ └── distributed-sorting │ │ ├── README.md │ │ ├── distributed-sorting.js │ │ └── media │ │ ├── chromium_design_document_template.png │ │ ├── distributed_sort_problem_definition.png │ │ ├── intro.mp4 │ │ ├── leader_controller_group.png │ │ ├── node_failure.mp4 │ │ ├── problem_visualization.mp4 │ │ ├── thumb.png │ │ └── tournament_tree.mp4 ├── dynamic-programming │ ├── common-sequences │ │ └── longest-common-subsequence.js │ ├── kadanes-algorithm │ │ ├── README.md │ │ ├── max-min-sum-subarray.js │ │ └── media │ │ │ └── kadanes-algorithm.mp4 │ ├── sliding-window │ │ ├── README.md │ │ ├── desired-subarray-sum.js │ │ ├── max-sequence-by-flipping.js │ │ ├── max-subarray-sum.js │ │ ├── media │ │ │ └── sliding_window_technique.mp4 │ │ └── shortest-substring-of-letters.js │ └── staircase-problems │ │ ├── README.md │ │ ├── media │ │ ├── alternative_big_o_notation_mug.jpg │ │ ├── memoized_recursive_fibonacci_animation.mp4 │ │ ├── recursion_tree.png │ │ ├── recursive_fibonacci_animation.mp4 │ │ ├── staircase_problem.png │ │ └── thumb.png │ │ ├── staircase-problems.js │ │ └── staircase-problems.py ├── merge │ ├── k-way-merge.js │ └── two-way-merge.py ├── package-lock.json ├── package.json ├── primitives │ ├── alternative-big-o-notation │ │ ├── README.md │ │ └── media │ │ │ ├── alternative_big_o_notation_poster.jpg │ │ │ ├── alternative_big_o_notation_sticker.jpg │ │ │ └── thumb.png │ ├── big-o-time-space-complexity-types-explained │ │ ├── README.md │ │ └── media │ │ │ ├── alternative_big_o_notation_poster.jpg │ │ │ ├── binary_search.mp4 │ │ │ └── quanticdev_sticker.jpg │ ├── recursion-visualization │ │ ├── README.md │ │ └── media │ │ │ ├── fibonacci_5.mp4 │ │ │ ├── modified_fibonacci_5.mp4 │ │ │ ├── power_of_2.mp4 │ │ │ ├── recursion_tree.png │ │ │ └── thumb.png │ └── subarray-vs-substring-vs-subsequence-vs-subset │ │ └── README.md ├── sort │ └── insertion-sort.js └── trees │ ├── generic-tree │ └── generic-tree.js │ ├── heap │ └── binary-heap.js │ ├── lockable-tree │ ├── README.md │ └── lockable-tree.js │ └── tournament-tree │ └── tournament-tree.js ├── articles ├── _template │ ├── README.md │ └── media │ │ └── THUMB_TODO.png ├── automating-my-youtube-uploads-using-nodejs │ ├── README.md │ └── media │ │ ├── software_development_life_cycle.png │ │ └── thumb.jpg ├── cleaning-macbook-after-16800-hours-of-use │ ├── README.md │ └── media │ │ ├── macbook_battery_service_recommended.jpg │ │ └── macbook_pro_open_back.jpg ├── engineering-principles │ └── README.md ├── essential-software-for-working-from-home │ ├── README.md │ └── media │ │ ├── quanticdev_github_repo.png │ │ ├── slack_apps.png │ │ ├── slack_bot.png │ │ ├── slack_desktop_and_mobile.png │ │ ├── trello_board.png │ │ ├── word_online.png │ │ ├── zoom_meeting.jpg │ │ └── zoombombing.png ├── fastest-php-best-practices │ └── README.md ├── h265-encoding-on-arm-cpus │ ├── README.md │ └── media │ │ └── x265-arm_vs_x86.png ├── how-i-mass-refactored-our-production-codebase-without-fear │ ├── README.md │ └── media │ │ ├── appium_architecture_diagram.png │ │ ├── device_farm-automated_testing_on_mobile_phone.mp4 │ │ ├── device_farm.jpg │ │ ├── device_farm.mp4 │ │ ├── device_farm_usb_hub.jpg │ │ ├── firebase_test_lab.png │ │ ├── method_chaining.mp4 │ │ ├── opensft.png │ │ └── thumb.jpg ├── how-to-fund-your-project │ └── README.md ├── how-to-manage-money │ ├── README.md │ └── media │ │ ├── dow_jones_industrial_average_100_years.png │ │ ├── euro_vs_usd.png │ │ ├── msci_world_10y_performance.png │ │ ├── my_portfolio.jpg │ │ └── yearly_mortgage_rates.png ├── how-to-present-like-apple │ ├── README.md │ └── media │ │ └── apple_special_event_quanticdev.jpg ├── how-to-use-github │ ├── README.md │ └── media │ │ ├── bitbucket_about.png │ │ ├── git_about.jpg │ │ ├── github_raspberry_pi_schematics.png │ │ ├── github_top_bar.png │ │ ├── gitlab_features.png │ │ └── my_macbook_setup.jpg ├── is-windows-good-for-developers │ ├── README.md │ └── media │ │ ├── thumb.png │ │ ├── winget-dependency-management.png │ │ └── winget-package-versions.png ├── linux-laptop-at-perfect-price │ ├── README.md │ └── media │ │ ├── lenovo_thinkpad_e595.png │ │ └── lenovo_thinkpad_e595_ports.jpg ├── manjaro-linux-productivity-machine │ └── README.md ├── max-value-pc-build-guide │ ├── README.md │ └── media │ │ ├── bios_settings.png │ │ ├── computer_build_black_mesa_gameplay.mp4 │ │ ├── computer_cable_management.jpg │ │ ├── computer_chassis_back_io.jpg │ │ ├── computer_components_on_desk.jpg │ │ ├── computer_under_desk.jpg │ │ ├── coomputer_build_cleanup.jpg │ │ ├── cpu_fan_installation.jpg │ │ ├── cpu_installation.jpg │ │ ├── graphics_card_installation.jpg │ │ ├── motherboard_installation.jpg │ │ ├── motherboard_power_cables_installation.jpg │ │ ├── passmark_cpu.png │ │ ├── passmark_gpu.png │ │ ├── power_supply_cables.jpg │ │ ├── power_supply_installation.jpg │ │ ├── quantic_developers_club_poster.jpg │ │ ├── ram_installation.jpg │ │ ├── ssd_installation.jpg │ │ └── thumb.jpg ├── method-chaining │ ├── README.md │ └── media │ │ └── thumb.png ├── most-valuable-thing-to-learn-in-one-hour │ ├── README.md │ └── media │ │ ├── first_aid_kit.jpg │ │ ├── google_notes.png │ │ ├── levels_fyi.png │ │ ├── raspberry_pi_kit.jpg │ │ └── raspberry_pi_screen.jpg ├── my-project-got-800-stars-in-two-days-on-github │ ├── README.md │ └── media │ │ ├── koan_github.png │ │ ├── koan_github_README.png │ │ ├── koan_github_issues.png │ │ ├── koan_hackernews_2014.png │ │ ├── koan_heroku_demo.png │ │ ├── koan_heroku_demo_login.png │ │ ├── koan_logo.png │ │ ├── koan_on_newsletters.png │ │ └── thumb.png ├── obs-studio │ ├── README.md │ └── media │ │ ├── crowner_screenshot.png │ │ ├── github_10000USD_bounty.png │ │ └── obs_studio_screenshot.jpg ├── raspberry-pi-guide-for-developers │ ├── README.md │ └── media │ │ ├── docker_performance_cpu.png │ │ ├── docker_performance_latency.png │ │ ├── overlayfs.png │ │ ├── raspberry_connected.jpg │ │ └── raspberry_hardware_features.jpg ├── serverless │ ├── README.md │ └── media │ │ └── serverless-architecture.png ├── software-design-patterns │ └── README.md ├── software-engineer-compensation-guide │ ├── README.md │ └── media │ │ ├── senior-eng-companies.png │ │ └── senior-eng-l6.png ├── software-engineering-in-2020 │ ├── README.md │ └── media │ │ ├── github_organization_count.png │ │ ├── github_user_count.png │ │ ├── growth_of_natural_language_processing_nlp.png │ │ ├── jupyter_notebooks_per_year.png │ │ ├── largest_tech_companies_by_revenue.png │ │ ├── open_source_by_continent.png │ │ ├── open_source_contributions_per_year.png │ │ ├── software_engineer_demand_by_role.png │ │ ├── software_engineer_salaries_by_role.png │ │ ├── top_open_source_contributor_companies.png │ │ ├── top_open_source_projects.png │ │ ├── top_package_managers.png │ │ └── top_programming_languages.png └── website-with-github-pages │ ├── README.md │ └── media │ ├── github_pages_react.jpg │ ├── quanticdev_com-github_source.jpg │ ├── quanticdev_com-google_analytics.jpg │ └── quanticdev_com-mobile.jpg ├── assets ├── css │ └── style.scss └── media │ ├── quanticdev_poster.jpg │ └── quanticdev_sticker.jpg ├── favicon.ico ├── favicon.png ├── gpt.py ├── notes.md ├── privacy.md ├── shop.md ├── tools ├── code-animation │ ├── code.js │ ├── code.py │ └── main.py └── recursion-visualization │ ├── asset-manifest.json │ ├── icon │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── apple-touch-icon.png │ ├── browserconfig.xml │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon.ico │ ├── mstile-150x150.png │ ├── safari-pinned-tab.svg │ └── site.webmanifest │ ├── index.html │ ├── prism-dark.css │ ├── prism-light.css │ └── static │ ├── js │ ├── 2.676818fa.chunk.js │ ├── 2.676818fa.chunk.js.LICENSE.txt │ ├── 2.676818fa.chunk.js.map │ ├── main.673ef02c.chunk.js │ ├── main.673ef02c.chunk.js.map │ ├── runtime-main.0131dfd2.js │ └── runtime-main.0131dfd2.js.map │ └── media │ ├── first.e33117eb.svg │ ├── last.14dc4eba.svg │ ├── logo.b572fca9.svg │ ├── next.fbb21171.svg │ └── previous.aad86071.svg └── web ├── react-js-frequenty-asked-questions-faq ├── README.md └── media │ ├── mui_component_library.jpg │ ├── react_diagrams_1.jpg │ ├── react_logo.png │ ├── react_native.png │ ├── sample_react_source_code.jpeg │ └── virtual-dom.png └── what-is-react-and-why-should-i-use-it ├── README.md └── media ├── mui_component_library.jpg ├── react_diagrams_2.jpg ├── react_logo.png ├── react_native.png ├── sample_react_source_code.jpeg └── virtual-dom.png /.gitignore: -------------------------------------------------------------------------------- 1 | # Editors 2 | .idea/ 3 | .vscode/ 4 | tools/code-animation/media/ 5 | 6 | # Other 7 | .DS_Store 8 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | quanticdev.com -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Teoman Soygul 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # QuanticDev 2 | QuanticDev's engineering and software development resources. All the articles and videos are based on my experiences as a software engineer with a decade of experience and education in electronics and semiconductor physics. In my career, I have developed several popular open-source projects, apps, games, services, and more. 3 | 4 |
5 | 6 | ### Social 7 | * YouTube: [youtube.com/quanticdev](https://www.youtube.com/quanticdev) 8 | * Twitter: [twitter.com/quanticdev](https://twitter.com/quanticdev) 9 | * Instagram: [instagram.com/quantic_dev](https://www.instagram.com/quantic_dev) 10 | 11 | ### Contributing 12 | If you want to contribute to any article, you are welcome to make a pull request or create a new issue on GitHub. You can comment under YouTube videos, or read existing comments. 13 | 14 | ## Tools 15 | * [Recursion Visualizer](/tools/recursion-visualization) 16 | 17 | ## Courses 18 | * _Upcoming.._ 19 | 20 | ## Software Engineering 21 | * [A Senior Developer's Linux Setup](https://www.youtube.com/watch?v=fa2Z1wdjFYg) [Video Only] 22 | * [AI Socks Matching App in 10 Minutes](https://www.youtube.com/watch?v=nE_VbgEPogs) [Video Only] 23 | * [How I Mass Refactored Our Production Codebase Without Fear - Engineering Stories](/articles/how-i-mass-refactored-our-production-codebase-without-fear) 24 | * [Method Chaining is Awesome](/articles/method-chaining) 25 | * [Automating My YouTube Uploads Using Node.js](/articles/automating-my-youtube-uploads-using-nodejs) 26 | * [My Project Got 800 Stars in Two Days on GitHub - KOAN (Open-Source)](/articles/my-project-got-800-stars-in-two-days-on-github) 27 | * [Is Windows Good for Developers Again?](/articles/is-windows-good-for-developers) 28 | * [Responding to Harvard's Survey Request About My Open-Source Contributions](https://www.youtube.com/watch?v=rtmHrhOeAfI) [Video Only] 29 | * [Fastest PHP Best Practices Guide](/articles/fastest-php-best-practices) 30 | * [State of Software Engineering in 2020](/articles/software-engineering-in-2020) 31 | * [How to Correctly Use GitHub for Software Development - My Full Workflow With Tutorial](/articles/how-to-use-github) 32 | * [Raspberry Pi: A Developer's Companion - A Complete Guide with Docker](/articles/raspberry-pi-guide-for-developers) 33 | * [What Is Serverless (Function-as-a-Service), and Is It Worth?](/articles/serverless) 34 | * [Cleanest Linux Productivity and Development Environment using Manjaro Linux](/articles/manjaro-linux-productivity-machine) 35 | * [Software Quality Assurance - How Do Software Companies Test Their Products?](https://www.youtube.com/watch?v=ztb8HNc2kCU) [Video Only] 36 | * [Software Design Patterns, Principles, and Best Practices](/articles/software-design-patterns) 37 | 38 | ## Engineering Essentials 39 | * [Software Engineer Compensation Guide - From Junior ($100K) to Senior ($500K++) Engineer Compensations](/articles/software-engineer-compensation-guide) 40 | * [Fundamental Engineering Principles - What are the expectations form developers and engineers?](/articles/engineering-principles) 41 | 42 | ## Algorithms 43 | * [Distributed Sorting - Google Interview Question - Algorithm and System Design - Full 2 Hour Interview Walkthrough](/algorithms/distributed-computing/distributed-sorting) 44 | * [Merge Algorithms - 2-Way and K-Way Merge](https://www.youtube.com/watch?v=Xo54nlPHSpg) [Video Only] 45 | * [Recursion Visualization](/algorithms/primitives/recursion-visualization) 46 | * [Staircase Problems](/algorithms/dynamic-programming/staircase-problems) 47 | * [Alternative Big O Notation](/algorithms/primitives/alternative-big-o-notation) 48 | * [Big O Time/Space Complexity Types Explained - Logarithmic, Polynomial, Exponential, and More](/algorithms/primitives/big-o-time-space-complexity-types-explained) 49 | * [Kadane's Algorithm and Its Proof - Max/Min Sum Subarray Problem](/algorithms/dynamic-programming/kadanes-algorithm) 50 | * [Lockable Tree - Google Interview Question](/algorithms/trees/lockable-tree) 51 | * [Subarray vs Substring vs Subsequence vs Subset](/algorithms/primitives/subarray-vs-substring-vs-subsequence-vs-subset) 52 | * [Sliding Window Technique](/algorithms/dynamic-programming/sliding-window) 53 | 54 | ## AI 55 | * [Meet Our New Tech-Support Guy: Fine-Tuned ChatGPT-4 with External Long-Term Memory](/ai/meet-our-new-tech-support-guy_fine-tuned-chatgpt-4-with-external-long-term-memory) 56 | 57 | ## Web Development 58 | * [What is React and why should I use it?](/web/what-is-react-and-why-should-i-use-it) 59 | * [React.js - Frequently asked Questions (FAQs)](/web/react-js-frequenty-asked-questions-faq) 60 | 61 | ## Guides 62 | * [Maximum Value PC Build by a Software Engineer - Complete Desktop Computer Build Guide](/articles/max-value-pc-build-guide) 63 | * [How to Get a Great Linux Laptop at a Perfect Price - Lenovo ThinkPad Without a Pre-installed OS](/articles/linux-laptop-at-perfect-price) 64 | * [How to Find Funding for Your Project](/articles/how-to-fund-your-project) 65 | * [Essential Software for Working From Home](/articles/essential-software-for-working-from-home) 66 | * [OBS Studio: Open-Source Software for Video Recording and Live Streaming](/articles/obs-studio) 67 | * [How to Manage Money as a Techie - How I Invest as a Software Engineer](/articles/how-to-manage-money) 68 | * [How to Set up a Free Website with GitHub Pages & How I Created quanticdev.com](/articles/website-with-github-pages) 69 | * [What Is the Most Valuable Thing You Can Learn in One Hour?](/articles/most-valuable-thing-to-learn-in-one-hour) 70 | 71 | ## Hardware & Software 72 | * [Cleaning My MacBook After 16800 Hours of Use!](/articles/cleaning-macbook-after-16800-hours-of-use) 73 | * [How Fast is H.265/HEVC Software Encoding on ARM CPUs (iPhone/Android) With FFmpeg?](/articles/h265-encoding-on-arm-cpus) 74 | 75 | ## Product Management 76 | * [How to Present Like Apple? - Recreating an Apple Keynote](/articles/how-to-present-like-apple) 77 | 78 | ## Case Studies 79 | * [Stripe's $35B valuation in 8 years - How a tech startup reaches billion-dollar valuation?](https://www.youtube.com/watch?v=nlFAbBvu7hA) [Video Only] 80 | 81 | ## Other 82 | * [Our Startup Office Tour - But He Gets Wider After Every Corner](https://www.youtube.com/watch?v=Et5I2w59Pkw) [Video Only] 83 | * [Physicist Reviews Black Mesa Research Facility](https://www.youtube.com/watch?v=GLGRkMQdm78) [Video Only] 84 | 85 | ## Your Host 86 | Teoman "QuanticDev" Soygul ([soygul.com](https://soygul.com){:target="_blank"}{:rel="noopener"}) · info(at)quanticdev.com 87 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-hacker 2 | show_downloads: false 3 | -------------------------------------------------------------------------------- /_includes/cookie-consent.html: -------------------------------------------------------------------------------- 1 | 9 | 10 | 60 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 14 | {% if page.url == "/" %}