<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/medium_js/best-of/2024/11" -->

---
title: Best Medium posts — November 2024 | daily.dev
description: The most upvoted Medium posts from November 2024, curated by the daily.dev community.
canonical: https://daily.dev/sources/medium_js/best-of/2024/11
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/medium_js/best-of/2024/11
og:type: website
og:site_name: daily.dev
og:title: Best Medium posts — November 2024 | daily.dev
og:description: The most upvoted Medium posts from November 2024, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Medium — November 2024

1. 1  
[](https://daily.dev/posts/goodbye-chatgpt-here-are-8-new-free-ai-tools-that-will-blow-your-mind-2huwzxyhc "Goodbye ChatGPT: Here Are 8 (New & Free) AI Tools That Will Blow Your Mind")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Goodbye ChatGPT: Here Are 8 (New & Free) AI Tools That Will Blow Your Mind  
Discover 8 new and free AI tools that can significantly enhance your productivity. The featured tools include Fiverr's Logo Maker for quick logo designs, APIDNA for easy API integration, Mailbox AI for email management, Skibs for creating animated 3D characters, Overlap for converting long videos into short clips, Loomos for enhancing video presentations, Paperguide for conducting research, and Runway Act-One for generating expressive videos. These tools provide innovative solutions for various tasks while being accessible for free up to certain limits.  
789  
22
2. 2  
[](https://daily.dev/posts/ai-agents-how-to-build-digital-workers-tljqfcxew "AI Agents: How to build Digital Workers")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
AI Agents: How to build Digital Workers  
AI agents are transforming software development by integrating reasoning, decision-making, and action-taking capabilities. Leveraging large language models (LLMs), these agents can autonomously perform complex tasks, evolving from passive responders to intelligent systems. Key components include perception, reasoning (brain), memory, knowledge, and action through APIs. Designing an effective agent involves defining its role, tasks, memory, knowledge sources, and tools. When facing complex problems, a team of specialized agents working together can be more effective. Deployment considerations include security and operational tracking.  
141  
5
3. 3  
[](https://daily.dev/posts/20-ai-coding-tools-to-know-in-2025-nehlzp7jg "20 AI Coding Tools To Know in 2025")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
20 AI Coding Tools To Know in 2025  
This post reviews 20 AI coding tools available as of 2025, including GitHub Copilot, Cursor, Replit, Hope AI, and more. These tools aim to enhance developer productivity, provide intelligent code suggestions, and automate numerous coding tasks. Special emphasis is placed on tools that create managed, reusable code components and offer organizational controls and analytics.  
126  
6
4. 4  
[](https://daily.dev/posts/design-system-from-scratch-in-flutter-t3estotnz "Design System from scratch in Flutter")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Design System from scratch in Flutter  
This post provides a detailed guide on creating a design system from scratch in Flutter to share design code across mobile, web, and desktop apps. It covers the steps from defining atomic parts like colors and shadows to developing themes and components such as buttons and text fields. The post also explains how to manage theme modes and assets independently, and ends by emphasizing the importance of testing the design system.  
71
5. 5  
[](https://daily.dev/posts/data-validation-with-pandera-in-python-iyszm5yw6 "Data Validation with Pandera in Python")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Data Validation with Pandera in Python  
Pandera is a Python library designed to validate dataframe-like objects in production ML pipelines. It supports various dataframe libraries including pandas, polars, dask, modin, and pyspark.pandas. Users can define schemas and models to enforce column types and properties, set custom validations, and use configurations like strict, coerce, and lazy validation to streamline data processing. Integrating Pandera in ML pipelines helps ensure data quality and prevents processing errors, offering robust data checks and handling invalid rows efficiently.  
45  
1
6. 6  
[](https://daily.dev/posts/tuning-go-application-which-has-gc-issues-with-a-few-steps-ngroqlnjq "Tuning Go Application, which has GC issues with a few steps")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Tuning Go Application, which has GC issues with a few steps  
Working on a project involving Kafka and Google Cloud Storage, the author faced significant GC issues with their Go application compared to the Confluent Google Cloud Sink Connector. By employing techniques like using sync.Pool, preallocating slices, switching to the bytedance/sonic JSON library, and tuning GOGC and GOMEMLIMIT settings, they improved performance, reducing GC pause frequency and time, while increasing CPU utilization and memory usage for better overall efficiency.  
38
7. 7  
[](https://daily.dev/posts/more-free-udemy-courses-ryyf24ihk "More Free Udemy Courses")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
More Free Udemy Courses  
Discover a selection of free courses available on Udemy, ranging from Python programming for beginners and cryptocurrency investing to stock market trading techniques, TikTok marketing, and building Web3 token balance applications.  
37  
1
8. 8  
[](https://daily.dev/posts/treating-ai-agents-as-personas-ozsxwcfqz "Treating AI Agents as personas")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Treating AI Agents as personas  
AI agents are transforming from tools into active participants in digital environments, prompting a new era of Agent-Computer Interaction where UX design must consider both human and AI user needs. AI agents can now navigate graphical user interfaces, performing complex tasks autonomously. Designers should develop personas for AI agents, shape their behavior through effective prompting, and ensure transparency and user control to enhance human-AI interactions.  
28
9. 9  
[](https://daily.dev/posts/i-spoke-to-643-software-developers-here-are-3-issues-all-developers-struggle-with-and-how-to-tackle-ozdlmg7kg "I Spoke to 643 Software Developers: Here are 3 Issues ALL Developers Struggle With and How to Tackle Them")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
I Spoke to 643 Software Developers: Here are 3 Issues ALL Developers Struggle With and How to Tackle Them  
Over a span of two years, the author spoke to 643 software developers and identified three common issues: impostor syndrome, difficulty in landing the first job, and choosing relevant side projects. The post provides actionable advice on addressing these challenges, including strategies for gaining confidence, improving job application tactics, and selecting impactful projects that boost practical skills.  
25
10. 10  
[](https://daily.dev/posts/the-python-operator-you-didn-t-know-you-needed--qjtvs67gm "The Python Operator You Didn’t Know You Needed!")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
The Python Operator You Didn’t Know You Needed!  
The walrus operator (\`:=\`), introduced in Python 3.8, allows developers to assign values to variables directly within expressions. This helps make the code more concise and readable, especially in conditions and loops. While it simplifies code, it should be used judiciously to avoid readability issues. The article provides examples of how to use the walrus operator effectively in different scenarios.  
22  
1
11. 11  
[](https://daily.dev/posts/how-we-reduced-flutter-memory-usage-by-375mb-image-optimization-strategies-acxcpn5ul "How We Reduced Flutter Memory Usage by 375mb: Image Optimization Strategies")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
How We Reduced Flutter Memory Usage by 375mb: Image Optimization Strategies  
Efficient image handling is crucial in mobile app development to enhance performance and user experience. Key strategies include using appropriate file types like WebP, resizing, caching with the \`cached\_network\_image\` package, and implementing lazy loading. Tools like Flutter DevTools, Widget Inspector, and the \`VisibilityDetector\` widget help diagnose and resolve performance issues. By balancing image quality and resource usage, developers can significantly reduce memory consumption and improve app responsiveness.  
18
12. 12  
[](https://daily.dev/posts/why-llm-watermarking-will-never-work-lgcfajjhs "Why LLM watermarking will never work")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Why LLM watermarking will never work  
The post argues that watermarking, or the process of embedding detectable patterns in AI-generated text, is ineffective in distinguishing between AI-generated and human-generated content. It discusses three critical conditions that render watermarking ineffective: the existence of capable LLMs that don't implement watermarking, the allowance of user control over token selection, and the availability of open-source models. The author questions the true goals behind watermarking and suggests that focusing on detecting harmful content directly would be more effective in reducing AI-generated harms.  
16  
1
13. 13  
[](https://daily.dev/posts/the-softmax-activation-function-with-keras-jjahlnrxk "The Softmax Activation Function with Keras")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
The Softmax Activation Function with Keras  
The Softmax activation function is essential for neural networks dealing with multiclass classification. It converts logits, the outputs of the last layer of a neural network, into a discrete probability distribution over target classes. Softmax ensures probabilities are nonnegative and sum to 1\. By learning to maximize logit outputs, models improve their accuracy in class predictions. This post explains Softmax's working, its importance in neural networks, and demonstrates its implementation in Keras.  
15
14. 14  
[](https://daily.dev/posts/graph-neural-networks-fraud-detection-and-protein-function-prediction-znbijbusi "Graph Neural Networks: Fraud Detection and Protein Function Prediction")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Graph Neural Networks: Fraud Detection and Protein Function Prediction  
Graph Neural Networks (GNNs) are a powerful alternative for modeling relational data in financial networks and protein structures, which are complex and not well-represented in Euclidean space. GNNs capture relationships between entities more effectively than traditional deep learning architectures, making them crucial for tasks such as fraud detection and protein function prediction. GNNs use message-passing frameworks to update node embeddings based on aggregated features from neighboring nodes, ultimately improving detection and prediction accuracy in various applications.  
14
15. 15  
[](https://daily.dev/posts/a-developer-s-roadmap-to-mastering-kotlin-multiplatform-yxeffargc "A Developer’s Roadmap to Mastering Kotlin Multiplatform")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
A Developer’s Roadmap to Mastering Kotlin Multiplatform  
Kotlin Multiplatform (KMP) allows developers to share business logic across multiple platforms such as Android, iOS, Desktop, and Web, using Kotlin. It emphasizes code consistency and efficient development by enabling platform-specific UIs while sharing core logic. Tools like Compose Multiplatform, Ktor, and various Jetpack libraries enhance the ecosystem by offering solutions for UI, networking, and local storage. KMP's architecture involves defining and implementing shared and platform-specific code, leveraging Kotlin's coroutines for asynchronous tasks. The growing support from JetBrains and Google makes KMP a promising option for developers familiar with Kotlin.  
14
16. 16  
[](https://daily.dev/posts/how-facebook-sets-goals-v91b7egdg "How Facebook Sets Goals")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
How Facebook Sets Goals  
Meta sets goals on an annual or six-month basis using a 'goal map', a tool that visually represents the organization's vision, goals, and metrics. The goal map fosters alignment between team goals, organization-level goals, and the company's mission. Teams use this map to prioritize tasks, identify collaboration opportunities, and set realistic targets using a combination of top-down and bottom-up inputs. Meta employs countermetrics to ensure teams uphold values like quality and integrity while pursuing ambitious goals, aiming to hit around 50% of their targets to balance ambition with practicality.  
13
17. 17  
[](https://daily.dev/posts/mastering-flutter-iterables-how-we-made-our-list-operations-10x-faster-bxia6stuf "Mastering Flutter Iterables: How We Made Our List Operations 10x Faster")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Mastering Flutter Iterables: How We Made Our List Operations 10x Faster  
Optimizing iterable operations in Flutter is crucial for app performance. Understanding methods such as \`.where()\`, \`.map()\`, and their impact on resolution can significantly improve efficiency. Utilizing \`.toList()\` to convert iterables into lists after chaining operations prevents repeated evaluations. Assigning iterable results to list variables also ensures better performance, thereby avoiding multiple expensive computations.  
13  
1
18. 18  
[](https://daily.dev/posts/predict-housing-price-using-linear-regression-in-python-zzze0jfzt "Predict Housing Price using Linear Regression in Python")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Predict Housing Price using Linear Regression in Python  
Learn how to implement linear regression in Python using the Boston Housing dataset. The post covers key concepts like cost computation, gradient descent, and feature scaling, and it demonstrates how to improve model performance through regularization techniques such as Ridge and LASSO regression. Step-by-step code examples are provided to help you understand the underlying processes and achieve optimal results.  
12
19. 19  
[](https://daily.dev/posts/perform-outlier-detection-more-effectively-using-subsets-of-features-v2bhlxyco "Perform outlier detection more effectively using subsets of features")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Perform outlier detection more effectively using subsets of features  
Identifying outliers in data, especially in high-dimensional datasets, poses significant challenges. Using subspaces, or subsets of features, can enhance the outlier detection process by reducing the curse of dimensionality, improving accuracy, and facilitating interpretability. Techniques like KNN and LOF benefit from this approach. The post provides an overview of creating and using subspaces, and mentions tools such as PyOD, SOD, and FeatureBagging that help implement these techniques effectively.  
11
20. 20  
[](https://daily.dev/posts/modeling-viewmodel-state-in-android-a-guide-to-clean-scalable-patterns-4sahnzt7a "Modeling ViewModel State in Android: A Guide to Clean, Scalable Patterns")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Modeling ViewModel State in Android: A Guide to Clean, Scalable Patterns  
Poorly designed presentation models can complicate ViewModel classes, leading to bloated, error-prone code. This post explores different approaches to modeling ViewModel state in Android, starting with plain data classes and enums, moving to sealed interfaces, and ultimately proposing a method that combines data classes and sealed interfaces. This hybrid approach aims to offer simplicity, readability, and scalability, while ensuring data consistency across different UI states. The post also includes code examples to illustrate each approach and highlights the pros and cons, recommending unit tests to catch errors.  
11
21. 21  
[](https://daily.dev/posts/what-is-data-cleaning--fwkbqr9qu "What is Data Cleaning?")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
What is Data Cleaning?  
Data cleaning involves finding and correcting errors, incomplete data, and inconsistencies in datasets to ensure accuracy and reliability for analysis. Clean data is crucial for businesses to avoid dysfunction and financial losses, support GDPR compliance, boost customer support and trust, and enhance efficiency. Tools like Excel, R, and Python libraries can facilitate more efficient data cleaning processes.  
11

[See all Medium archives](/sources/medium%5Fjs/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/sources/medium_js/best-of/2024/11#page","url":"https://daily.dev/sources/medium_js/best-of/2024/11","name":"Best Medium Posts — November 2024","description":"The most upvoted Medium posts from November 2024, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/medium_js/best-of/2024/11#items","numberOfItems":21,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/goodbye-chatgpt-here-are-8-new-free-ai-tools-that-will-blow-your-mind-2huwzxyhc","name":"Goodbye ChatGPT: Here Are 8 (New & Free) AI Tools That Will Blow Your Mind"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/ai-agents-how-to-build-digital-workers-tljqfcxew","name":"AI Agents: How to build Digital Workers"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/20-ai-coding-tools-to-know-in-2025-nehlzp7jg","name":"20 AI Coding Tools To Know in 2025"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/design-system-from-scratch-in-flutter-t3estotnz","name":"Design System from scratch in Flutter"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/data-validation-with-pandera-in-python-iyszm5yw6","name":"Data Validation with Pandera in Python"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/tuning-go-application-which-has-gc-issues-with-a-few-steps-ngroqlnjq","name":"Tuning Go Application, which has GC issues with a few steps"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/more-free-udemy-courses-ryyf24ihk","name":"More Free Udemy Courses"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/treating-ai-agents-as-personas-ozsxwcfqz","name":"Treating AI Agents as personas"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/i-spoke-to-643-software-developers-here-are-3-issues-all-developers-struggle-with-and-how-to-tackle-ozdlmg7kg","name":"I Spoke to 643 Software Developers: Here are 3 Issues ALL Developers Struggle With and How to Tackle Them"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/the-python-operator-you-didn-t-know-you-needed--qjtvs67gm","name":"The Python Operator You Didn’t Know You Needed!"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/how-we-reduced-flutter-memory-usage-by-375mb-image-optimization-strategies-acxcpn5ul","name":"How We Reduced Flutter Memory Usage by 375mb: Image Optimization Strategies"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/why-llm-watermarking-will-never-work-lgcfajjhs","name":"Why LLM watermarking will never work"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/the-softmax-activation-function-with-keras-jjahlnrxk","name":"The Softmax Activation Function with Keras"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/graph-neural-networks-fraud-detection-and-protein-function-prediction-znbijbusi","name":"Graph Neural Networks: Fraud Detection and Protein Function Prediction"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/a-developer-s-roadmap-to-mastering-kotlin-multiplatform-yxeffargc","name":"A Developer’s Roadmap to Mastering Kotlin Multiplatform"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/how-facebook-sets-goals-v91b7egdg","name":"How Facebook Sets Goals"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/mastering-flutter-iterables-how-we-made-our-list-operations-10x-faster-bxia6stuf","name":"Mastering Flutter Iterables: How We Made Our List Operations 10x Faster"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/predict-housing-price-using-linear-regression-in-python-zzze0jfzt","name":"Predict Housing Price using Linear Regression in Python"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/perform-outlier-detection-more-effectively-using-subsets-of-features-v2bhlxyco","name":"Perform outlier detection more effectively using subsets of features"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/modeling-viewmodel-state-in-android-a-guide-to-clean-scalable-patterns-4sahnzt7a","name":"Modeling ViewModel State in Android: A Guide to Clean, Scalable Patterns"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/what-is-data-cleaning--fwkbqr9qu","name":"What is Data Cleaning?"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/medium_js/best-of"},{"@type":"ListItem","position":5,"name":"November 2024"}]}]}
```

