/r/ProgrammerTIL
Learn something new? Wanna share? Post here along with the language/framework you learned it in.
This is a great place for novice and advanced programmers alike to come and discover all the interesting things they could learn tomorrow ;)
Learn something new? Wanna share? Post here along with the language/framework you learned it in.
This is a great place for novice and advanced programmers alike to come and discover all the interesting things they could learn tomorrow
Sort by language C# Java Javascript PHP .NET C++ Python C Objective-C R Swift VBA Visual Basic Matlab Ruby Perl ScalaDelphi lua SQL Other Languages Other
Learn something about technology? Post it on r/technologytil
Learn something about real life or something not programming? Post it on the original /r/todayilearned
Rules
TIL posts should be made in the following format:
[programming language] TIL rest of post...
If you don't you'll need to flair your post manually.
Refrain from putting two languages in between the brackets in the title.
Don't post suggestion threads, message the moderators instead.
This isn't an AskProgrammers sub, ask questions on /r/learnprogramming
Don't use the code as the title.
Guidelines
Try not to post vague titles, if possible, provide the name of the feature in the title so people aren't clicking on your post because of "this fast and clever way to do x" that they already knew but didn't realize it's what you where going to show.
Don't criticize posts because they're "too obvious", not everyone here is a level 100 master champion Assembly programmer that made their own OS from scratch.
General programming TILs should be tagged with [General].
Be nice to your fellow programmers. :)
/r/ProgrammerTIL
Hey all, I’m curious about your experiences working with software agencies. What’s worked well? What hasn’t? How do you manage communication, team alignment, and project expectations? Any red flags you’ve noticed or tips for a smoother partnership?
Howdy Reddit!!
i made my spotify recommendations system which is a huggingface spaces app allowing you to generate recommendations based on the music taste you have, steps on how to use it :-
https://huggingface.co/spaces/krishnendughosh/Spotify-Recommendations-System (heres the link)
a)first you need to login to your spotify account after which you will get a callback url which you need to copy paste in the interface to initiate the app
b)you get 5 songs on which u can base the generations off, minimum songs you can add is 1 maximum is 5
c)after this step you can choose on how many songs generated playlist you want, the default or minimum is set to 5 songs
c)then you click the generate recommendations button creating the playlist which will be shown first to you where you can overview all the songs (generated+added) in the form of spotify preview letting you listen to all the songs for a amount of time.
d) you can name it a designated playlist name you want which will form a spotify playlist whose link will be provided after all the above steps
e) enjoy your musical adventure
i have also provided a video demo which you can view on youtube the link is given on this (ps: the choosing number of recommendations feature is yet not added in the video meanwhile it is present now)
https://youtu.be/OAxsvKLg0BM?si=QnznFqE8dIGyjUUn
drop down suggestions and queries in comments
hmu if you guys are interested in my newsletter containing weekly updates about this and more stuff
here's my github profile if you wanna see it
https://github.com/6069krish
The guide below provides a software testing podcast collection, providing expert insights to stay up to date on the latest trends on different aspects of testing: Best 10 Software Testing Podcasts in 2024
The comparison below discusses the best coding AI copilots for 2024 - as advanced tools that assist developers throughout the software development lifecycle by providing real-time code suggestions and completions (which distinguishes them from regular coding AI assistants that may only offer task-specific support): 4 Best Coding AI Copilots for 2024
It explains the key benefits of these copilots as increased efficiency, error reduction, consistent code quality, and natural language processing.
The article discusses best practices and various aspects of software testing, to provide a comprehensive checklist to ensure effective testing processes: Software Testing Best Practices Checklist
Join the Pujo Atlas Project: Calling Flutter, Django, and Web Developers!
At r/kolkata, we’re building Pujo Atlas—an app that will be a go-to resource for Pujo enthusiasts and pandal hoppers. This app will guide users to notable Durga Puja pandals across the city, helping them explore Kolkata's rich cultural heritage during the festivities.
While we’ve made significant progress on the UI/UX front, our frontend and backend development is lagging due to a lack of dedicated developers. We need contributors with expertise in Flutter (frontend) and Django (backend) to help push the project forward.
Backend (Django, Python):
Frontend (Flutter/Dart):
DevOps (AWS):
UI/UX:
Web Development (React & TypeScript):
Pujo Atlas is an FOSS project, so while we cannot provide monetary compensation, we will offer recognition and credits for your contributions. In the future, we hope to distribute physical tokens to contributors, which can be showcased in various social settings to acknowledge your affiliation with the project.
GitHub Repo: Pujo Atlas Frontend
If this project resonates with you and you’d like to be part of this journey, feel free to DM me for an invite link! Also, if you have any questions, don’t hesitate to ask in the comments.
Signing off,
u/suspicious-tooth-93
Hey everyone!
I’m excited to introduce FetchPHP, a lightweight and open source HTTP library for PHP, directly inspired by JavaScript’s fetch
API. It simplifies making HTTP requests in PHP while providing both synchronous and asynchronous support, making it perfect for API requests, file uploads, and more.
fetch
ok()
, isClientError()
, and isServerError()
Check it out on GitHub! I’d love your feedback and suggestions. If you find it useful, consider giving the project a ⭐️ to support further development. 🙌
🔗 GitHub Repository: Link to the project
Thanks for reading 😊
This article provides an overview of various tools that can help developers improve their testing processes - it covers eight different automation tools, each with its own strengths and use cases: Python Automation Tools for Testing Compared - Guide
The article discusses strategies to improve software testing methodologies by adopting modern testing practices, integrating automation, and utilizing advanced tools to enhance efficiency and accuracy in the testing process. It also highlights the ways for collaboration among development and testing teams, as well as the significance of continuous testing in agile environments: Enhancing Software Testing Methodologies for Optimal Results
The functional and non-functional testing methods analysed include the following:
The article below discusses the differences between alpha testing and beta testing - the goals, processes, and importance of both testing phases in ensuring software quality. It explains how alpha testing is typically conducted by internal teams to identify bugs before the product is released to external users, while beta testing involves a limited release to external users to gather feedback and identify any remaining issues: Alpha Testing vs. Beta Testing: Understanding Key Differences and Benefits
It's pretty simple actually. You can basically transform any website into a Progressive Web App that can later be distributed on App Store and Google Play. It's awesome, you can send push notifications, pre cache assets, fetch data in the background and hook into native APIs of the devices. Here is a Laravel tutorial that can be applied in any stack: https://youtu.be/xA9B2hwA1-w?si=qv8rmQDUGtiN8Dtt
The article discusses various testing tools that are commonly used in DevOps workflows. It provides an overview of the following popular tools for different types of testing (unit, integration, performance, security, monitoring) to help choose the right testing tools for their specific needs and integrate them: 9 Best DevOps Testing Tools For 2024
This article discusses various strategies and best practices for reducing test automation execution times: Best Ways to Reduce Test Automation Execution Times
It covers techniques such as parallel test execution, test prioritization, and optimizing test environments to improve the overall speed and effectiveness of automated testing workflows, etc.
The article discusses the best test management tools available for software development and quality assurance. It provides an overview of the following tools - how they help teams plan, execute, and track testing processes efficiently: 10 Best Test Management Tools For 2024
The article below provides an in-depth overview of conformance testing for ensuring that software systems adhere to specified standards and requirements: Conformance Testing for Software
It outlines the various approaches to conformance testing, including formal methods, model-based testing, and automated testing techniques as well as discusses its best practices, such as creating a clear testing strategy, utilizing appropriate tools, and ensuring thorough documentation.
The article discusses the best CI/CD tools for DevOps, its role in automating the software development process, improving code quality, and accelerating the release cycles - their features, benefits, and use cases, providing insights into how they can enhance DevOps practices: The 11 Best CI/CD Tools For DevOps
The guide explores common use cases for testing documentation, such as verifying API documentation, testing installation guides, and validating user manuals as well as best practices for testing documentation, including using automated tools, conducting regular reviews, and involving cross-functional teams: Testing Documentation: Benefits, Use Cases, and Best Practices
In Feb 2024, Meta published a paper introducing TestGen-LLM, a tool for automated unit test generation using LLMs, but didn’t release the TestGen-LLM code.The following blog shows how CodiumAI created the first open-source implementation - Cover-Agent, based on Meta's approach: We created the first open-source implementation of Meta’s TestGen–LLM
The tool is implemented as follows:
Code coverage target and maximum iterations to run, Additional context and prompting options) 2. Generate more tests in the same style 3. Validate those tests using your runtime environment - Do they build and pass? 4. Ensure that the tests add value by reviewing metrics such as increased code coverage 5. Update existing Test Suite and Coverage Report 6. Repeat until code reaches criteria: either code coverage threshold met, or reached the maximum number of iterations
I wrote down the story https://flakm.com/posts/phantom_leak/ of a frustrating debugging journey with a rust application that was migrated to Kubernetes.
Everything seemed fine until a suspected memory leak caused our application to scale uncontrollably. I dove deep into tracing memory usage with eBPF
, heaptrack
, and jemalloc
profiling tools.
The real twist came when I discovered that the memory leak was a phantom menace - a misinterpretation of Kubernetes memory metrics rather than a genuine issue.
This post details the steps I took, the tools I used, and the lessons I learned about problem-solving, metric accuracy, and effective debugging in containerized environments.
The article below highlights various tools that can help ensure the functionality, performance, and security of web applications - their features, and how they can be utilized in the development process to improve software quality: 8 Best Web Apps Testing Tools
The article explains the importance of QA automation in the software development process as well as delves into a detailed analysis of five popular Ai-driven automation tools, highlighting their features, advantages, and potential drawbacks: 5 Best QA Automation Tools For Software Testing
The guide below presents a detailed code review checklist covering various aspects such as code functionality, readability, maintainability, security, and performance - to help developers and teams improve their code review process: Elevating Code Quality: The Ultimate Code Review Checklist
The article below highlights various tools that can help ensure the functionality, performance, and security of web applications - their features, and how they can be utilized in the development process to improve software quality: 8 Best Web Apps Testing Tools
The article explores the importance of code reviews in software development, outlines the advantages of conducting code reviews, such as early bug detection, compliance with coding standards, and improved team communication as well as introduces top code review tools for 2024: Code Review Tools For 2024 - Guide
The guide discusses the development and implementation of code generation tools tailored for enterprise environments as well as the specific challenges enterprises face when adopting code generation, such as maintaining code quality, ensuring security, and integrating with existing systems: Building code generation that makes sense for the enterprise
This article discusses the top 8 static code analysis tools for 2024 - how they examine source code without executing it, helping developers identify potential bugs, security vulnerabilities, and code quality issues early in the development process: 8 Best Static Code Analysis Tools For 2024
The guide provides a comprehensive SOC 2 compliance checklist that includes secure coding practices, change management, vulnerability management, access controls, and data security, as well as how it gives an opportunity for organizations to elevate standards, fortify security postures, and enhance software development practices: SOC 2 Compliance Guide
The article below explains the key distinctions and workflows associated with pull requests (PRs) on GitHub and merge requests (MRs) on GitLab: Pull Request vs. Merge Request: Essential Differences
It is highlighting their roles in facilitating collaborative software development. It outlines how both PRs and MRs serve to integrate changes into the main codebase through a structured process involving branch creation, code changes, commits, and review, as well as emphasizes the benefits of using PRs and MRs, such as streamlined workflows, enhanced communication, and transparent version history.
It also introduces how AI-powered tools simplify code review processes, offering features like automatic PR descriptions, test suggestions, and code improvement recommendations.
Everyday work and career oppurtunities of software developers have changed drastically in the last two years.
The article explores how integrating AI into your workflow can dramatically increase your productivity and allow you to focus on the creative and complex aspects of software development: Will AI Take Over Your Programming Job?
Continuous learning and adaptation are crucial in staying relevant and making the most of the AI revolution in tech. AI in software development is less about replacing developers and more about enhancing their capabilities, allowing them to achieve more with their unique human insights. As AI handles the mundane, the creative and complex aspects of programming will come to the forefront.