Pains

2403 pains collected

Category:
Tech:
Severity:

PyTorch data loading bottlenecks starve GPU compute

6

When the data pipeline is slower than the model, the GPU sits idle waiting for the CPU to serve batches, wasting expensive compute cycles. This is a common but often overlooked performance killer in PyTorch training workflows.

performancePyTorchDataLoader

Cost vs. performance optimization tradeoffs

6

Developers must balance using the best resources for performance with managing costs. Finding the optimal resource configuration to meet both requirements is a constant struggle.

performanceAWS

Connection Pooling Neglect and Resource Exhaustion

6

Failing to implement connection pooling is a common mistake in PostgreSQL deployments. Each connection consumes approximately 10MB of RAM, and applications that create new connections for each database operation can quickly exhaust server resources, leading to performance degradation and application failures.

configPostgreSQL

Front-end developers struggling with CI/CD pipelines

6

Front-end developers list CI configuration (26%) and code writing (28%) as primary challenges. CI/CD complexity isn't traditionally in their wheelhouse but increasingly required.

dxCI/CD

Multiple tool dependencies for database operations

6

Teams must manage multiple separate tools to handle different aspects of database operations, increasing complexity and reducing efficiency.

ecosystemDatabase tools

Email marketing incumbents lack modern developer experience

6

Established email/marketing platforms dominate the market but are difficult to use, lack developer-first design, and offer poor API experiences. The market has no single developer-focused email platform optimized for great DX.

dxemail marketing platforms

tf.data pipeline debugging produces cryptic, unhelpful error messages

6

When chaining tf.data operations like .map().shuffle().prefetch() incorrectly, TensorFlow produces error messages that are extremely difficult to interpret and debug. The strict, functional nature of tf.data makes it hard to use standard Python debugging techniques like print statements or breakpoints.

dxTensorFlowtf.data

Storage costs grow uncontrollably without lifecycle policies

6

Teams often skip lifecycle policy configuration in favor of shipping product, leading to silent accumulation of logs, backups, and old data in expensive S3 Standard storage. Old multipart uploads and indefinite retention strategies cause storage bills to spiral without a clear owner.

configAmazon S3

Email authentication limits and user lockout risks

6

Supabase's email authentication has undocumented limits that can leave users unable to authenticate, creating support headaches and potential user experience issues.

authSupabase

Memory leaks from improper lifecycle event handling

6

Developers often fail to properly handle component lifecycle events in Svelte, particularly failing to unsubscribe from stores or clean up side effects in onDestroy, leading to memory leaks.

performanceSvelte

High switching costs and vendor lock-in concerns with Supabase

6

Developers fear vendor lock-in due to Supabase's deep integration with cloud providers and the high operational overhead and complexity of migration, limiting willingness to adopt for long-term projects.

migrationSupabaseAWS

Edge functions performance bottlenecks

6

Supabase edge functions introduce performance degradation that can become a bottleneck in production applications, limiting their practical utility for performance-critical operations.

performanceSupabaseEdge Functions

Poor compiler error messages for templates

6

C++ compiler messages are unhelpful when template code is incorrect, making debugging difficult. C++20 concepts help but require significant effort to understand.

dxC++templatesC++20 concepts

S3 lacks native deduplication and safe expiration for backup jobs

6

Running backup jobs to S3 creates safety issues when attempting to implement deduplication and expire old data. There is no built-in incremental feature to address this common backup use case.

architectureAmazon S3

GitHub Actions cache limit causes repeated dependency downloads in monorepos

6

The previous 10GB cache limit forced teams with large dependencies or multi-language monorepos to have build dependencies evicted before the next workflow run, requiring repeated downloads and slowing builds. While recently increased, this was a long-standing pain point.

performanceGitHub Actions

SvelteKit lags behind peers for full-stack application development

6

SvelteKit feels behind competing frameworks when building real full-stack applications, separate from reactivity/runes concerns. Fundamental platform maturity gap exists.

architectureSvelteKit

Setting Up CI/CD Pipelines from Scratch

6

Approximately 31% of C++ developers report setting up continuous integration pipelines as a major or minor pain point. The challenge involves automated builds, tests, and deployment—with persistent difficulty despite slight improvements.

deployC++

Poor debugging and tooling support compared to established frameworks

6

Svelte lacks comprehensive debugging capabilities and IDE support comparable to React or Angular. While the Svelte compiler is fast, it doesn't offer the same level of debugging features, making it harder for developers to identify and fix issues in their code.

dxSvelte

RTTI Performance and Binary Size Overhead

6

Runtime Type Information (RTTI) introduces performance overhead and increases binary size, which is critical in embedded systems. Some developers avoid RTTI due to security concerns like aiding reverse engineering, creating tension between pragmatic use and performance requirements.

performanceC++RTTI

Toolchain and IDE setup

6

Configuring development toolchains and integrated development environments presents a significant barrier for C++ developers.

configC++

Runes reactivity complexity in edge cases

6

Svelte's runes-based reactivity system works well for basic use cases but becomes problematic in complex scenarios with multiple reactive dependencies. Developers need to use getters and setters to pass reactive variables into functions, creating unintuitive patterns when combining features like signals with effects and derived state.

dxSvelterunes

Unpredictable and difficult cost management

6

DynamoDB's on-demand pricing model can lead to unexpected expenses with variable workloads. Provisioned mode requires careful capacity planning to avoid throttling or waste, and cost monitoring is complex without proper tooling configuration.

configDynamoDBAWS

No subscription support for real-time use cases

6

SQLite does not support database subscriptions, making it unsuitable for real-time applications that require push notifications or live data synchronization between clients.

architectureSQLite

Battery drain on laptops and mobile devices

6

Electron applications consume significant power due to continuous background processes including the Chromium engine, leading to rapid battery depletion on laptops and mobile devices, causing user frustration and driving adoption of more efficient alternatives.

performanceElectronChromium