Open djurisic3 opened 7 months ago
I will love to be part of your team
Hi @djurisic3 I see you have the recruiting label on your issue. Are you looking for additional team participants? Would you like to attend our Launch event on the 18th March 2.30pm GMT, to discuss your project idea and attract team members?
@iamkennis hi, let's do it, can you give me your email so we can get in contact.
hi @Sophietn, yes I am, I would gladly join the launch event, can you send me an invitation
@iamkennis hi, let's do it, can you give me your email so we can get in contact.
amodukehindee@gmail.com
Hi both,
@djurisic3 great news you'd like to join our launch event.
Could you and @iamkennis please follow the participant guide steps?
Next step is to please register your project and ask any existing team members to register at the same link, under the same team name. From here we'll get your email address so I can invite you to the launch event. We'll also start a thread with all team members so you can communicate directly there. Thanks!
Hello, are you looking for additional members as I am looking for a team to join. 2-3 years experience in software eng, polyglot (JS, C#, Java, Python). Thanks
Hello, @djurisic3 I would love to join the project if you are still looking for teammates. I have coding experience in Python, C++, JavaScript, and a bit of Java (I would need to have a refresher).
I think I could use some help, could you two give me your phone numbers, we could use Whatsapp for communication?
@djurisic3 Can I also share my WhatsApp contact too
@djurisic3 are you still looking for people to help? I have Java experience I can help with or can pick up anything the team is working on.
@djurisic3 Can I also share my WhatsApp contact too
iamkennis, can you please share your Whatsapp number, if you are still available
08108444864
can you please write the complete number with the country code
@djurisic3 are you still looking for people to help? I have Java experience I can help with or can pick up anything the team is working on.
hi Clifton, are you still interested in the project? Can you give me your phone number so we can chat via Whatsapp
Prize category
Best Plugin
Overview
GreenCode is evolving. My existing MVP, a robust static analyzer within VSCode, now embarks on a groundbreaking journey to integrate IF. This implementation is designed to revolutionize how sustainability departments monitor and forecast software energy consumption directly from the development environment.
Core Features:
Energy Consumption Analysis: GreenCode will now assess the energy impact of code changes, translating complex analyses into actionable insights. Impact Framework Integration: By incorporating IF, GreenCode will offer precise kWh forecasts, empowering developers to see the future energy footprint of their software as they code. Sustainability at Your Fingertips: Tailored for both developers and sustainability departments, our tool aims to bridge the gap between software development and environmental stewardship.
Questions to be answered
No response
Have you got a project team yet?
No, we would like your help to find team-mates
Project team
No response
Terms of Participation
Summary GreenCode revolutionizes sustainable software development by seamlessly integrating detection and suggestion of code optimizations within the developer's workflow, focusing on reducing energy consumption and carbon footprint. In the demo video, you can see two different code snippets, standard (unoptimized) and green (optimized with GreenCode). It leverages the Impact Framework to provide precise measurements of these optimizations' environmental impact. IF will be executed in the background of the VSCode Extension, in the demo video. IF with its Azure plugin is part of the GreenCode VSCode Extension as of version 0.2.1.
Problems The environmental impact of software development, notably its energy consumption and carbon footprint, often goes unnoticed, leading to inefficient and unsustainable applications. GreenCode tackles this by enabling developers to directly identify and rectify energy inefficiencies in their code, while the Impact Framework quantifies the environmental benefits of these optimizations.
Application GreenCode, a VSCode extension, empowers developers to detect and replace inefficient code patterns with energy-efficient alternatives in real-time. Working alongside the Impact Framework, it measures the environmental impact of software, offering a comprehensive toolkit for sustainable development by providing actionable insights and precise impact measurements.
Judging Criteria
Overall Impact & Sustainability Integration: GreenCode introduces a novel solution to a critical but often overlooked aspect of software development—environmental sustainability. By enabling developers to detect and rectify inefficiencies in code that contribute to unnecessary energy consumption, GreenCode not only promotes energy efficiency but also empowers a broad base of software developers to contribute positively to the sustainability movement. The integration with the Impact Framework for accurate measurements amplifies this impact, providing a clear and quantifiable connection between code optimizations and environmental benefits. Further investment in training software developers and making them conscious about this movement will make the integration part easier.
Opportunity By integrating with the IF Azure plugin, GreenCode unlocks the potential for developers to apply IF's sustainability assessments within Azure, and by extension, across varied environments like AWS and Kubernetes. This capability not only broadens the scope of environments where IF's insights can be leveraged, but also simplifies the process for developers to incorporate sustainability metrics into their workflow, promoting widespread adoption of environmental impact assessments across multiple platforms.
Modular The integration between GreenCode and the IF Azure plugin exemplifies the Unix philosophy by doing one job exceptionally well—providing accurate, actionable environmental impact data directly within the developers' workflow. This focused approach ensures the plugin remains lightweight and efficient, fitting seamlessly into existing development pipelines. The IF Azure plugin's ability to deliver specific, valuable insights with minimal overhead showcases its effectiveness and utility as a model of modularity and precision in the development ecosystem.
Innovation and Creativity: The project stands out for its creative approach to sustainability in software development. GreenCode's real-time detection and suggestion mechanism, coupled with actionable insights from the Impact Framework, represent an innovative leap in making sustainability a core aspect of software engineering practices.
Alignment with Design Philosophy: GreenCode's development was also developed by the Impact Framework's design philosophy, emphasizing transparency, neutrality, modularity, and flexibility. By providing developers with immediate feedback on the environmental implications of their code, GreenCode aligns perfectly with these principles, fostering an ecosystem where sustainability can be seamlessly integrated into any software project.
User and Developer Experience: For users, GreenCode demystifies the often complex domain of software sustainability, offering a user-friendly interface and actionable insights that make sustainable coding accessible to all developers. For developers, it ensures a smooth integration into existing workflows, with minimal setup and a focus on enhancing rather than disrupting the development process. This dual focus on UX and DX is crucial for widespread adoption and effectiveness.
Community and Ecosystem Contribution: Beyond its direct functionalities, GreenCode contributes to the broader Impact Framework ecosystem by serving as a model for how tools can bridge the gap between sustainability metrics and everyday coding practices. It opens the door for further innovations and tools in this space, encouraging a community-wide shift towards more sustainable development practices.
Video https://youtu.be/Qe9_IBCE3r0
Artefacts https://marketplace.visualstudio.com/items?itemName=GreenCode.greencode
Usage Ensure Prerequisites: Confirm that both GreenCode and the Azure plugin for the Impact Framework are installed and configured in your VSCode environment.
Open Your Project: Launch VSCode and navigate to the project you wish to analyze.
Configure IF Settings: In your project, make sure you have an azure_test_gc.yaml (or similarly named) file as well as the .env configured with the necessary details for the Azure plugin. This includes specifying your Azure subscription ID, resource group, VM name you're monitoring. In the .env file: tenant ID, client ID, client secret.
Analyze CPU Utilization:
Open the command palette in VSCode using Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS). Type and select GreenCode: Run IF and display results. This command triggers the Azure plugin through the Impact Framework to start the analysis. GreenCode communicates with the Impact Framework, which then fetches and processes CPU utilization data from your specified Azure resources.
View Results: Once the analysis is complete, GreenCode displays the CPU utilization insights directly in VSCode. Look for the output panel or a pop-up notification in VSCode showing the CPU utilization percentage, observation window, and any recommendations for optimization if the utilization suggests inefficiencies.
Process The development journey began with integrating the Impact Framework's measurement capabilities into GreenCode, enabling real-time environmental impact assessments. Focusing on using IF to measure two different sets of instructions run in SQL (eco vs. standard), I conducted extensive testing to ensure the tool's accuracy and effectiveness in development environments.
Inspiration The inspiration behind GreenCode was the realization that software developers could play a pivotal role in environmental sustainability if given the right tools. By creating a solution that not only detects inefficiencies but also leverages the Impact Framework for impact measurement, I envisioned transforming software development into a force for good.
Challenges One of the main challenges was making the Azure plugin work in IF, I wanted to keep the workflow simple for the hackathon and had the idea of running the code on an Azure VM, but I had to make many additional changes (not part of the IF tutorial) for the plugin to work. The challenge after that was integrating IF as smooth as possible into the VSCode Plugin GreenCode.
Accomplishments I'm particularly proud of how the plugin facilitates a significant shift towards sustainable development practices. Its ability to detect, suggest, and, with the Impact Framework, measure the environmental impact of code changes represents a groundbreaking advancement in eco-friendly software development.
Learnings Developing the plugin taught me the profound potential of integrating sustainability into the software development lifecycle. I learned the technical challenges of accurate environmental impact measurement and the importance of providing developers with immediate, actionable feedback on their code's sustainability.
What's Next? GreenCode aims to broaden its detection capabilities, support more programming languages, and deepen integration with the Impact Framework for even more precise impact measurements. Moreover, GreenCode is currently in the process of being implemented in a corporate environment. By building a community around sustainable development, GreenCode will continue to drive the software industry towards a more environmentally conscious future.