About:

Aycan Gulez is the author of the website Lack of Imagination.

Website:

Subscribe to RSS:
Time-travel debugging enables developers to replay production execution traces locally, simplifying the debugging process and enhancing error visibility without compromising user privacy.
The article discusses the challenges of testing functions in applications where business logic is tightly coupled with database calls and side effects. It introduces a new approach called the 'Effect System' that separates the des...
A JavaScript Effect System transforms side effects into data descriptions, enhancing code clarity and testability while minimizing risks during testing.
The text discusses the process of building a line array speaker using eight 2" Lavoce FSN020.71F drivers, featuring neodymium magnets and 3/4" voice coils. The speaker is designed to have controlled vertical directivity and is int...
The text discusses the potential issues with loops in programming, particularly when dealing with large datasets. It provides solutions such as offloading work to the database, chunked processing, and parallel execution to mitigat...
The author has been building subwoofers for years and recently started using pro-audio drivers. They decided to build pro-audio subwoofers and did research on pro-audio subwoofer drivers. They chose the Lavoce SAF184.03 and built ...
David Lynch was a good human being who cared deeply for his actors and crew. He discovered extraordinary talent like Naomi Watts. He was famous for refusing to explain his movies. He was generous in sharing his views on creativity...
The text discusses the importance of runtime diagnostics in software development, comparing it to automated regression tests and integrity checks on data stores. It explains the use of assert statements and Design by Contract to i...
The text discusses the challenges of hi-fi speakers at high volume levels and the author's process of building a compact high-output speaker called Valkyrie using pro-audio drivers. It details the selection of drivers, cabinet des...
The text discusses the use of SQL and query builders like Knex for Node.js to handle complex queries and the difficulties in integrating SQL with host languages. It also demonstrates how to model a simple discussion forum and retr...
The text discusses the challenges of understanding unfamiliar code and provides an example of a JavaScript function that creates a user account. It suggests using named constants, extracting complex logic, using short-circuit eval...
The text discusses the development of a taxi-hailing mobile app and the challenges of nested if statements in the driver assignment code. It provides solutions to flatten the code, such as using guard clauses, decision tables, and...
The text discusses the need for more fine-grained access controls in code and how to implement them using the concept of firewalls. The author has created a Node.js library called firewall-js using JavaScript proxies to limit acce...
The author discusses the process of building high-sensitivity speakers using pro-audio drivers to achieve improved dynamics and decent vertical directivity. The speaker, named Valeria, is complete and the author provides details o...
The text discusses the author's experience with programming in GW-BASIC, the features of the language, and its usefulness in teaching beginners the basics of programming. The author also addresses the criticism of BASIC and its re...
The author discusses the importance of not trusting one's own code and the common mistakes made by developers. He emphasizes the need to challenge assumptions and thoroughly test code to avoid errors.
The text explains how to deploy an application using Linux, including creating a user with limited privileges, generating an SSH key pair, creating a deploy script, rolling back deployments, creating a service file, and putting th...
The text discusses the evolution of web technologies, starting with HTML and moving on to CSS, JavaScript, Ajax, jQuery, AngularJS, React, Vue.js, and web bundlers. It also touches on the concept of progressive enhancement and the...

0Beyond Foreign Keys

2024-04-05

The text discusses the limitations of using foreign keys in a relational database and introduces Tie-in, a relational data component library for Node.js, which allows for dynamic relationship definitions without adding extra colum...
The text discusses the importance of software architectures and the different types of architectures such as layered, event-based, microservices, and plug-ins. It emphasizes the need for separation of concerns and the benefits of ...
The text discusses principles for making major technical decisions in software development, including focusing on core business, avoiding rewrites unless absolutely necessary, having a simple tech stack, minimizing dependencies, a...

0Economics of Bugs

2024-02-20

The text discusses the prevalence of bugs in software development, the challenges of producing bug-free software, and the economic incentives that influence the quality of software. It highlights the trade-offs between time, resou...

0Works On My Machine

2024-02-07

The text discusses the common reasons why a program may work on a developer's machine but not on others, such as differences in subsystems, automated deploys, package managers, database snapshots, message queues, and testing with ...
The text discusses complex-sounding programming terms and provides examples in JavaScript. It compares these terms to the story of Richard Feynman's experience with complex biology terms. It also explains the terms dependency inje...