Programación reactiva
Conoce a otras personas de tu localidad interesadas en Programación reactiva: podréis compartir experiencias, inspiraros y animaros mutuamente. Únete a un grupo de Programación reactiva.
0
miembros
0
grupos
Preguntas Frecuentes
¡Sí! Consulta los eventos de programación reactiva que están sucediendo hoy aquí. Estas son reuniones en persona donde puedes conocer a otros entusiastas y participar en actividades ahora mismo.
Descubre todos los eventos de programación reactiva que tienen lugar esta semana aquí. Planea con anticipación y únete a emocionantes encuentros a lo largo de la semana.
¡Absolutamente! Encuentra eventos de programación reactiva cerca de tu ubicación aquí. Conéctate con tu comunidad local y descubre eventos en tu área.
Eventos de Programación reactiva Hoy
Únete a los eventos de Programación reactiva en persona que están sucediendo ahora mismo
Mob Programming at Mofer Coffee
Let’s do some coding together at a cafe! No more working alone in the weekend. Here, we write code together. And I mean together together. Not occupying-the-same-space-but-separate together.
Here’s how it works: Jennifer brings her mobile app project, tells everyone that it is like Pinterest for recipes and she’d like to work on the nav bar. Paul and Chloe think Jennifer's project is fascinating, and they join the group. They gather around Jennifer’s laptop and work on the nav bar for 2 hours. Jennifer is the one typing out the code while Paul and Chloe research, brainstorm, and offer suggestions.
If you’re feeling stuck on your own project or need a motivation boost, bring it to mob programming!
Want to learn by watching how others code and solve problems? Join someone else’s project at this event!
Oh and we love your half-done projects that you are a bit embarrassed to share. Absolutely bring those to the event!
**Discord**:
We use Discord to share screen & code snippets during the event. Also feel free to share your projects here before the event!
https://discord.gg/yvAGbh4PpD
**Event policy**:
* We have 0 tolerance for harassment.
* We don’t allow the projects that are not meant to be shared in public such as school assignments, interview tasks, or trade secrets.
* The goal is to write code. We discourage you from pitching business ideas here, doing code reviews, or spending the whole event on planning what to do.
* Please buy a drink, and tip the barista well.
20s 30s Social Party & Activities in toronto
Hey Toronto!
This is your weekly escape into global cultures.
[[[Click this WhatsApp Groupchat Link to join](https://chat.whatsapp.com/Liiuvdrax8d6nywXcfXDMV) ]]
Every Saturday at 7:30 PM, people in their 20s and 30s gather for a mix of language practice, travel stories, and community.
Whether you’re new in town or born here, this is where world citizens connect.
No judgment, no pressure — just pure, human interaction.
Dupont Morning Code
[Summary]
This meetup is for those who are interested in code, web development, design, cloud, or AI. All levels are welcome, so feel free to bring your laptop and discuss what you are working on or what you are learning. You can share your projects and ideas with other participants freely. There are outlets and WiFi, drinks are about $5 for tea, they take card only.
[Price]
Attendance is FREE. But you need to buy something from the venue.
[Policies]
\- We do not tolerate harassment of our members
\- We remind users that that this meetup is intended for networking and hobby development\, and any attempts at using this meetup event as a dating platform will not be not be tolerated
Further information: https://torontostack.exchange/
Feminine Embodiment Coaching
Please note: this is an invitation to experience group workshops and private feminine embodiment coaching. To learn more please contact Amanda Clarke at lusciousfeminine@gmail.com.
Feminine Embodiment Women's Circles & Coaching
https://secure.meetupstatic.com/photos/event/c/2/f/0/600_460789904.jpeg
There is a cosmic shift happening on the planet and women are tired of playing second fiddle in this game of life. Playing small not only keeps you from manifesting what you truly want, but it also holds you back from living out your divine purpose. I’ve been there, stuck, held back, and yearning to break-free and frankly being in that place plain 'ol sucks!
What if you could step-up and make a difference; a meaningful contribution in this world by just being you? How might the landscape of your life look?
Over for the past six years, I’ve worked with women who are looking to break out of the spell of smallness. It pangs me to see women depressed, depleted, disconnected and downright insecure. One of the reasons many of my clients rave about the work we do together is because I provide immediate results. What I teach is inherent within you but there are layers of gunk bogging you down from accessing this wisdom. Spinning your wheels, and living a life of lack is no way to live, beautiful. You are so much more!
What can you expect from our sessions together:
• A solid understanding of what feminine energy is, and how to use it to have your way with the world
• Develop a physical and energetic presence that attracts what you want: personally and professionally.
• Feel more comfortable with your sensuality, and with receiving positive attention.
• Experience more passion in your life - particularly your love life.
• Be more at ease setting clear boundaries with others.
• Learn to be in flow rather than always pushing and striving to make things happen.
• Look and feel more sexy, confident and radiant
• Gain clarity about your life purpose and the greatest gifts you have to offer the world
• Establish or strengthen your intuitive guidance
Book a FREE 30-minute discovery call to learn how I can help support you on your journey to coming home to yourself as a woman. This means MORE self-love, MORE self-confidence, MORE clarity, MORE empowerment and saying YES to living out your divine mission.
For more information on my coaching packages please visit www.lusciousfeminine.com or to book a FREE 30-minute complimentary Discovery Call, email Amanda at lusciousfeminine@gmail.com
“Before working with Amanda, I was the dried-out, work-obsessed intellectual. I lived in my head and felt completely severed from the neck-down. I over-intellectualized emotionally-charged situations to avoid being present…I am [now] able to ease my ‘mind-babble’, step into my power as a woman knowing that I am safe and secure within my own space, and practice expressing my needs and desires from a more authentic place… Amanda helped me to be trust in the power of vulnerability, surrender, and acceptance. It has been a pleasurable journey! \~ Stefanie T.
Amanda Clarke
The Luscious Feminine
http://www.lusciousfeminine.com
http://www.facebook.com/thelusciousfeminine
lusciousfeminine@gmail.com
Spanglish - the Original
New Rules:
Starting now, we are asking that each person contribute $2 towards maintaining this page. Without our space here on MeetUp, there is no group. So we ask that you bring a tooney when you come to keep us operational. Thank you very much!
Thank you to everyone who has ordered something to eat or drink. It's very important that we each make a purchase, even just a tea or coffee, to maintain our welcome. Mil veces, gracias!
IN-PERSON Saturday Meeting!
Join us for our in-person Saturday critique session! We'll be meeting in the basement of **The Blake House**, which is located near Wellesley and Jarvis, about a 10-minute walk from Wellesley Station or Sherbourne Station.
**In respect to the Blake House for hosting us, we humbly request that attendees purchase a meal, dessert, or drink if you are able to do so.**
Feel free to bring in a piece of writing up to **2000 words** for reading and critique. Please bring paper copies so that listeners can easily follow and make notes. Dedicated listeners are equally welcome. In larger groups, please be mindful of giving everyone a fair chance to speak.
Our group values and meeting structure can be found here:
[https://www.torontosffwriters.com/sff-writer-rules-and-guidelines](https://www.torontosffwriters.com/sff-writer-rules-and-guidelines)
We ask that writers provide content warnings when necessary.
To limit the spread of diseases, we kindly ask that you stay home if you're feeling sick. We will be here every week!
**\*\*We support the hard work and effort that goes into writing fiction, and do not condone the use of AI to replace the creative process.\*\***
And, that's everything! See you there!
Easter Weekend 🐰🥚 with Toronto’s BIGGEST Language Exchange Event & Social
**Join [TILE.]** at the **most popular Saturday Language Learning Social Event & Party in Toronto! 🍁**
**[TILE.] = Toronto International Language Exchange [Instagram](https://www.instagram.com/tilelearning/)**
**[TILE.]** now has a **2-for-1 special event,** which includes:
**1.** From **[6:30 - 7:15 PM](https://www.meetup.com/english-class-with-certified-award-winning-teacher):** An optional new $5 small group 45-minute **[English language class](https://www.meetup.com/english-class-with-certified-award-winning-teacher)**[ ](https://www.meetup.com/english-class-with-certified-award-winning-teacher)led by a certified language teacher
**2.** From **[7:15 - 11 PM](https://www.meetup.com/biggest-language-party-event-social-in-toronto):** Our usual huge group **[BIGGEST LANGUAGE EXCHANGE SOCIAL EVENT AND PARTY IN TORONTO](https://www.meetup.com/biggest-language-party-event-social-in-toronto)** (Cost: *$0-$5\*, see below)*
Both events happen Saturday on the 2nd floor of the Madison Pub (14 Madison Avenue). ***Attend either or both events!***
Meet Toronto locals and international friends. Talk to language teachers and speakers to learn English, French, Korean, Japanese, Spanish, and much more! Join us for board games, conversation, dancing, singing, and more! Make sure to get a nametag from one of our helpers.
*You **must** read the full event description below before attending. By attending, you agree to all the terms listed.*
**[TILE.] Toronto International Language Exchange** event details:
* We are on the 2nd floor of the Madison pub on the patio with all the international flags! *The dance floor opens around 10 PM, and the live piano bar singer start around 10:30 on the 1st floor.*
* With our night ride promotion, the second event (the 7:15- 11 PM Party & Social event) is **FREE** for women who will be traveling alone at night to promote inclusion and equity\*. This event normally $5.
* The cost for the first event (the 6:30 - 7:15 PM English Language class) is $5 for everyone.
**PAY** **$5** right at the event by **CASH, CREDIT, or DEBIT**, or **SEND $5 E-TRANSFERS** to: **TILETORONTO1@GMAIL.COM**. You can also support the bar by buying a drink or appetizer.
**\*** The second event ends late at night. It is 100% your own responsibility to ensure you get home safe. We can simply waive the $5 event entry/cover fee for women who will be traveling home alone so that they may instead put this money towards taking a safe ride home.
\-\-\-\-\-\-
**IMPORTANT DISCLAIMER – Meetup Group**
By attending any TILE events, including these ones, you acknowledge and agree to the following:
* *The organizers and hosts of TILE events are are not liable for any loss, injury, damage, or other unforeseen outcomes that may occur before, during, or after any event.*
* *Participation in TILE events is entirely voluntary and at your own risk. You are solely responsible for your own safety, personal belongings, transportation, behavior, and well-being. It is your responsibility to assess the risks involved in any activity or location and to act accordingly.*
* *TILE and its organizers do not provide insurance and cannot guarantee the safety, accuracy of information, or quality of venues, third-party services, or other attendees.*
* *By attending, you release TILE, its organizers, and affiliates from any and all claims or liability, and you agree to conduct yourself respectfully and in accordance with local laws and venue rules.*
* ***If you do not agree with this disclaimer, please do not attend TILE events.***
Eventos de Programación reactiva Esta Semana
Descubre lo que está sucediendo en los próximos días
Portfolio System - Progressive/Melodic
This week we have all sorts progressive sounds. We’ll be starting off the night with progressive and ending the night with some more energy. Come by support homegrown talent!
For this weeks line up we have:
[@statuousquo](https://www.instagram.com/statuousquo/)
[@djtash_music](https://www.instagram.com/djtash_music/)
[@lostnfound.ang](https://www.instagram.com/lostnfound.ang/)
[@djvivianofficial](https://www.instagram.com/djvivianofficial/)
Can wait to see everyone there!
Sunday April 5th, 2026
Doors at 5PM \| Free Entry All Day
Location: Sound Machine - 178 Bathurst St
This Portfolio Session is brought to you by [@bnbhurtspodcast](https://www.instagram.com/bnbhurtspodcast/)
Unas palabras
¡Hola!
Welcome, and welcome back!
We meet in the North York Centre, at 5150 Yonge St. (subway: North York), in the Food Court, every Sunday from 3:30 pm to 5:30 pm.
Angela will be your hostess.
¡Hasta luego!
FREE Oral Conversational Spanish, English, and French Classes 4 Adults!!
\*These classes are not a language exchange, but instead are meant to be a step in between so that students feel confident maintaining in depth and grammatically correct oral conversations outside of class\*
\***Meetup event numbers only tend to show new students registering and do not include returning students attending class.** **Per class, there is an average of 7 students.** The first 2 classes are free and then only cost between $15 and $45 depending on which type of class you want to continue with\*
These French, English (for Spanish and French speakers only), and Spanish classes are primarily meant for adults who are travellers, or who are planning to live in a French, English, or Spanish-speaking country. The classes are primarily oral-based through guided conversations. They will teach you how to handle conversations in situations such as **"Going to the Convenience Store"**, **"Making Plans"**, **"Negotiating Prices"**, and **"Going out for a Drink"**. To ensure that students get used to using the language automatically, students will learn to maintain contextual conversations with timing before moving on to the next lesson. **Program is also offered in private and online classes**. Call (647)787-9953, e-mail us info@monkeylingo.ca, or visit monkeylingo.ca for more information! **Online and private classes are also available!**
No other language classes are as oral as these ones. We guarantee it! Group classes are hosted at **600 Bay Street** every Sunday, Monday, Tuesday and Wednesday. Call (647)904-5285 upon arrival if no one is there to let you in, and someone will come down to let you in.
Cheap parking can be found using the "Spot Hero" app.
FREE Oral Conversational Spanish, French, and English Classes 4 Adults!!
\*These classes are not a language exchange, but instead are meant to be a step in between so that students feel confident maintaining in depth and grammatically correct oral conversations outside of class\*
\***Meetup event numbers only tend to show new students registering and do not include returning students attending class.** **Per class, there is an average of students.** The first 2 classes are free and then only cost between $15 and $45 depending on which type of class you want to continue with\*\*
These Spanish, English (For Spanish and French speakers only), and French classes are primarily meant for adults who are travellers, or who are planning to live in a French, English, or Spanish-speaking country. The classes are primarily oral-based through guided conversations. They will teach you how to handle conversations in situations such as **"Going to the Convenience Store"**, **"Making Plans"**, **"Negotiating Prices"**, and **"Going out for a Drink"**. To ensure that students get used to using the language automatically, students will learn to maintain contextual conversations with timing before moving on to the next lesson. **Program is also offered in private and online classes**. Call (647)787-9953, e-mail us info@monkeylingo.ca, or visit monkeylingo.ca for more information! **Online and private classes are also available!**
No other language classes are as oral as these ones. We guarantee it! Group classes are hosted at **600 Bay Street** every Sunday, Monday, and Tuesday. Call (647)904-5285 upon arrival if no one is there to let you in, and someone will come down to let you in.
Cheap parking can be found using the "Spot Hero" app.
Fresh Kitchen + Juice Bar - and Later - Maybe we go Salsa Dancing
Fresh on 386 Bloor st W near Spadina has also been around for a long time. They have to be good for them to around so long including all the other Freah franchises. So it it time to pay them a visit.
See their menu here:
https://www.freshkitchens.ca/en/menu.html
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
After for those interested, there is a Salsa Community Dance nearby -only about a 5 min by walk. They do it every Saturday fro 3 - 5 pm and have been doing if for more than 20 years now.
That is where I learned most of all my Salsa and other latin dances. I also use to help the instructors teach new people to salsa.
So if you are new or experienced, you are in good hands.
Why not come out and give it a try.
They do charge $10 for admittance. But you learn and get some nice practice.
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
Lastly, please be respectful of your attendance, No shows are a big problem for restaurants who reserve seats at the expense of paying customers,
Be sure to update and confirm your attendance.
FREE Spanish, English, and French Oral Conversational Classes 4 Adults!
\*These classes are not a language exchange, but instead are meant to be a step in between so that students feel confident maintaining in depth and grammatically correct oral conversations outside of class\*
\***Meetup event numbers only tend to show new students registering and do not include returning students attending class.** **Per class, there is an average of 7 students.** The first 2 classes are free and then only cost between $18 and $36 depending on which type of class you want to continue with\*
These French, English (For Spanish and French speakers only), and Spanish classes are primarily meant for adults who are travellers, or who are planning to live in a French, English, or Spanish-speaking country. The classes are primarily oral-based through guided conversations. They will teach you how to handle conversations in situations such as **"Going to the Convenience Store"**, **"Making Plans"**, **"Negotiating Prices"**, and **"Going out for a Drink"**. To ensure that students get used to using the language automatically, students will learn to maintain contextual conversations with timing before moving on to the next lesson. Call (647)787-9953, e-mail us info@monkeylingo.ca, or visit monkeylingo.ca for more information! **Online and private classes are also available!**
No other language classes are as conversational as these ones. We guarantee it! Cheap parking can be found using the "Spot Hero" app.
FREE Spanish, English, and French Oral Conversational Classes4 Adults!!
\*These classes are not a language exchange, but instead are meant to be a step in between so that students feel confident maintaining in depth and grammatically correct oral conversations outside of class\*
\***Meetup event numbers only tend to show new students registering and do not include returning students attending class.** **Per class, there is an average of 7 students.** The first 2 classes are free and then only cost between $18 and $36 depending on which type of class you want to continue with\*
These French, English (For Spanish and French speakers only), and Spanish classes are primarily meant for adults who are travellers, or who are planning to live in a French, English, or Spanish-speaking country. The classes are primarily oral-based through guided conversations. They will teach you how to handle conversations in situations such as **"Going to the Convenience Store"**, **"Making Plans"**, **"Negotiating Prices"**, and **"Going out for a Drink"**. To ensure that students get used to using the language automatically, students will learn to maintain contextual conversations with timing before moving on to the next lesson. Call (647)787-9953, e-mail us info@monkeylingo.ca, or visit monkeylingo.ca for more information! **Online and private classes are also available!**
No other language classes are as conversational as these ones. We guarantee it! Cheap parking can be found using the "Spot Hero" app.
Eventos de Programación reactiva Cerca de Ti
Conéctate con tu comunidad local de Programación reactiva
Columbus Code & Coffee 85 @ Improving
Columbus Code & Coffee is an inclusive, informal co-working session. People of all skill levels attend, and we love it that way. Many people (optionally) bring projects to work on, and many other people (optionally) socialize the entire time. It's entirely up to you!
**What to Expect at the Intro Circle**
\~\~\~\~\~\~\~\~\~\~\~\~\~
Near the beginning of the event (1:30 pm), we do a standup:
* Organizer announcements, updates, and logistics
Round 1 - (7 secs max):
* Your name
* What you're working on
* What you can help others with
Round 2:
* Community events you wanna plug. If none, that's cool too.
Round 3:
* Job opportunities you're hiring for OR announce that you are looking for one. If none, that's cool.
After the introduction circle, everything is self-organized! Feel free to work alone, pair up, attend one of our workshops/presentations, or mingle!
Free In-Person Meeting: Get Over Losses & Betrayals, Build Lasting Relationships
This is a free, in-person meeting on the subject of betrayals, losses and how to get over them so you can build lasting relationships.
Burdened by a stressful relationship? Unhealthy relationships can trigger feelings of anger, despair or self-doubt. They can create dwindling spirals of fights and seeking to make-up, or trying to “pin the blame” on someone or something. If you don’t find the RIGHT reasons, or select the correct sources of the problem, the problem can just get worse and worse.
Whether in love or personal ties, with friends or at work, our life really IS affected by the quality of our relationships. Good ones can promote pleasure and survival while less optimum ones can lead to annoyance, anger, self-doubt, stress, or even affect our health and ability to survive well.
Whether you are suffering from a divorce, or a painful break-up, don’t know who to trust (or who to CHOOSE) as a partner, friend, boss or employee - the anxiety of relationship troubles can really make a mess of things. Maybe you’ve suffered a betrayal, or are dealing with hostility or criticalness or invalidation. Dwindling relationships can involve destructive behavior, where we hurt those we love, or start succumbing to self-destructive thoughts, attitudes or behaviors that spiral out of control and affect much more than our immediate relationship.
Past losses in love or life can affect how we act or react to new people and situations and hold us back from even starting to create new, possibly great relationships! How can one get back onto a saner course of action?
Come to our Meetup, where we can introduce you to some of the knowledge, tools and techniques of the breakthroughs in the field of the mind that we can apply to this ever important area of life: human relationships!
Break free from self imposed limitations
Here we will discuss:
• How to “erase” the trauma of past hurts and betrayals so that one isn’t always repeating past mistakes.
• Why and how do the negative emotions of others affect you?
• Why is my partner withdrawing and what can I do about it?
• Why do we sometimes feel compelled to hurt the ones we love?
• Fights & arguments - what's really behind them?
• What underlies “corrosive criticism” or the need to invalidate self or others?
• How one can stably change one’s outlook on life so they can affect positive change?
• Where do compulsive destructive behaviors come from and what can be done about them?
• How to form closer bonds & keep growing the relationships with the people you care about?
• How to enhance one’s own ability to survive and create positive healthy relationships whether in love, family & friendships or in work, business or one’s career?
Relationships can be hard and life itself IS challenging. Why not arm yourself with the knowledge and breakthroughs that have been made about the mind, mental reactions & interpersonal relationships, so that one has better awareness and control over themselves and life in general.
Learn where painful experiences are “stored” and how they can unknowingly affect us. You will also find out how one can “erase” those past painful experiences so that one is free to move forward without being tripped up by the past. Learn too, about what can lead some people to become “toxic” personalities and how to identify those traits in others so you won’t be tripped up trusting the wrong person.
Our free Meet-ups occur in a safe environment where one can learn, without fear of judgment or criticism, and without the recommendation of harmful mental techniques or therapies, just how YOU can get yourself onto a happier & more successful path: in love & in life.
We look forward to having you join us!
This class is sponsored by the Dianetics & Scientology Life Improvement Center of Central Ohio.
Conversacion en español (en persona)
While some are still meeting online, this is an in person event. Please note that we have attendees of all levels of speaking, including some native speakers. All are welcome!
Also, as we meet at the same time and place each week, many don’t RSVP on the app, so we will likely have more attendees than noted here.
Note: if you are asked to pay and upgrade the Meetup app, this is not necessary. You can ignore this and still attend our meetings.
Columbus Comedy Improv Meetup at Gresso's!
Whether you've never done improv before, or you've done it for so long you knew Del Close on a personal level, or anywhere in between, come join us! Swing by *Gresso's* for the **Columbus Improv Comedy Meetup** for some fun and games!
The idea behind improv is to create entire scenes from scratch based on a suggestion from the audience. This can be done in game form, like *Whose Line Is It Anyway*, *ComedySportz*, or *Wild 'n Out*; it could also be done to tell stories, like *Middleditch and Schwartz*. Our meetup, which is central Ohio's longest running (and free!) weekly comedy event, brings the games (and occasionally different forms) for you to play in a safe, supportive, and compassionate environment. Not only is it a lot of fun, but you get to work on thinking faster on your feet, plus it's an excellent way to meet new people and make friendships that'll last a lifetime!
Ask yourself if you want to join the **Columbus Improv Comedy Meetup**, and say "Yes, And" that you'll have fun!
Columbus PHP: Monthly Meetup
Our monthly PHP meetup.
A virtual shindig courtesy of Zoom. Check back here for the details around 6:15 pm
In-Person Meeting: How to Improve Relationships with Others
Attend a free seminar on how to have successful and lasting relationships.
At this seminar you will learn:
How to spot and handle negative and toxic relationships.
How to get through the "rough patches" in a relationship.
How to choose the right people to work with.
The three things that make or break any relationship.
How to make a good relationship great.
All are welcome. Be sure to click on the red "Attend" button below to come to this local event. We look forward to seeing you there.
Hosted by the Dianetics and Scientology Life Improvement Center of Central Ohio.
Cocoaheads
Come out to Improving for our monthly iOS and Mac meetings.
This Month's Presentation:
Nothing yet. (You should volunteer).
What is Cocoaheads (http://cocoaheads.org/)?
CocoaHeads is a group devoted to discussion of Apple Computer's Cocoa Framework for programming on MacOS X and iOS (including the iPhone, iPad and Apple Watch). During monthly meetings, members present on their projects and offer tutorials on various programming topics.
What is BuckeyeCocoa (http://buckeyecocoa.org/)?
BuckeyeCocoa is a group of Objective-C/Swift developers/enthusiasts. We host monthly Cocoaheads and near-weekly NSCoder meetings in Columbus, Ohio. The meetings are free to attend.
Presentations!
Presenters welcome! We are always in need of people willing to present material. Any Swift and/or Objective-C related topic is welcome. Times can be 5 minutes (i.e. lightning talks) to a maximum of 2 hours. Interested? Contact info is on the BuckeyeCocoa website.
To volunteer for a presentation contact us at @BuckeyeCocoa on Twitter.
Follow us on Twitter! @BuckeyeCocoa (https://twitter.com/#!/Buckeyecocoa/) For more information: http://buckeyecocoa.org/




















