Apple Silicon, SOLID Principles and More

Summary of my bookmarked links from Mar 7th, 2023


  • It’s Time To Stop Buying MacBook Pros

    The author reflects on the impact of Apple Silicon on the personal computing industry. They argue that Apple's M1 and M2 SOCs have brought a fundamental shift in personal computing, revitalizing conversations around laptop and desktop technology. The author states that even Apple's own lineup has been disrupted, with the M1 and M2 Air models surpassing the performance of the MacBook Pro. They suggest that for most users, the MacBook Air is sufficient and that opting for a Pro model would be unnecessary and financially irresponsible. The author recommends 16 GB of RAM and 512 GB of SSD storage as the ideal configuration for future Air models.

  • ⚛️ React 19? Should We Be Worried?

    The author expresses disappointment with the lack of updates from the React team, while other frameworks like Vue and Angular have been actively releasing new features. The author mentions that there is a milestone for React 19 with some tasks completed, mostly related to internal improvements and removing deprecated code. However, there is uncertainty about the release date and whether it will be called React 19 or React 20 due to the association with Covid-19. The author hopes for more information from the React team, especially considering the competition from other frameworks.

  • I Don’t Give a F⋆⋆⋆ About S.O.L.I.D Principles — Here Are My Reasons

    The author reflects on their experience with coding and the SOLID principles in programming. They emphasize that after years of practice, they no longer consciously think about these principles while coding. They briefly touch upon each principle, stating that they naturally adhere to them without much effort. They mention avoiding large classes, embracing new functionalities without modifying existing code, preferring composition over inheritance, splitting large interfaces into smaller ones, and implementing a layered code design. The author concludes that the dependency inversion principle is a natural outcome of a well-designed layered application.

  • 9:30 am: “What did you do yesterday? What are you doing today? Any blockers?”

    The author expresses a critical view of daily standup meetings, suggesting that they often lack efficiency and have become a form of management control rather than a developer-focused practice. The article highlights the proliferation of standups in various departments, leading to increased organizational and monetary overhead. The author proposes alternative approaches, emphasizing the importance of small team sizes, shared vision, common principles, frequent pair programming, and focusing on task progress rather than individual updates. While acknowledging the difficulty of eliminating daily standups entirely, the author advocates for a shift in focus and more effective questioning during these meetings.

  • Context: The Missing Feature of Programming Languages

    In this article, the author discusses the concept of software projects becoming complex over time, likening them to Rube Goldberg Machines. As features are added to a codebase, the process becomes more complicated, leading to issues like integration tests becoming slow and error-prone. The author suggests that a good compiler can act as the best integration test by preventing certain problems from occurring in the code. They also explore the challenges of managing context in programming languages and propose a solution using the Kotlin programming language's experimental Context Receivers API.

  • Nicholas C. Zakas Announced The End Of ESLint Code Line

    ESLint, a popular static analysis tool for JavaScript and TypeScript, is undergoing a major rewrite according to its creator, Nicholas C. Zakas. The rewrite aims to introduce type checking through JSDoc and make ESLint language agnostic, expanding its capabilities beyond JavaScript and TypeScript. Zakas also plans to improve ESLint's performance using WebAssembly and Rust. The proposed changes have been well-received by the community, and it is expected that the new version of ESLint will compete with tools like Prettier. The rewrite promises to deliver a more modular, capable, and performant linter, enhancing the coding experience for developers.