Tumgik
#char husbandry
charcorner · 4 months
Text
Tumblr media
This may seem like a shitpost, but it's actually one of the best Char husbandry tips out there. Chars need regular exercise and mental stimulation, or else they will get bored and take to making your home basically uninhabitable, by way of knocking things over, causing messes, blowing things up with their MSes, etc.
Be a responsible Char owner and do your research.
32 notes · View notes
sneakydevilship · 2 months
Text
Tumblr media
Yippeee Bugsnax fanart!!! @abhorablestuff fuckin redpilled me with this god damn psychological horror puzzle game so now I'm making it everyone else's problem
Green dude is Domblo, my grumpus oc :3
more (+ char ref) under cut
Tumblr media
My little guy :3 Domblo (he/they)
I guess he's the Journalist?? Idk I also think of him as a towns person?
His loves r Beffica and Cromdo, and their hate is Floofty (tho this is less deep-seated and apparent than the other Hate relationships; he just dislikes them very much because they're rude and look down on him and the others) (his opinion of Floofty prolly improves later idk I'll think about it)
He likes painting, music, and is an animal lover :3 he cares for Snax similar to Gramble but only certain types, and he's focused on proper "animal husbandry" with larger pen sizes and such
yes he is into Beffica shut up
29 notes · View notes
the-sword-lesbian · 5 months
Note
Thoughts on the Arcadia Gays' Stardew Valley playstyle and who would be Best Girl for each of them?
Allllllright LiS plays Stardew Valley let’s go!
You said Arcadia Gays but I plan to do more as well so let’s get into it!
Chloe: primarily focuses on combat and mining and only really grows enough to cover favors/gifts at first but then gets really into cooking and expands the farming a bit more for ingredience. Favored relationships: Maru because fellow science nerd, Abigail because fellow adventure enthusiast, Penny because she reminds Chloe of Max. Platonic besties with Sam.
Max: terrible at keeping any crops alive so she mostly focuses on exploring, foraging, and some fishing when she gets the hang of it. Favored relationships: Abigail because she reminds Max of Chloe, Penny because she reminds Max of Kate, Sam because skater boys are cute, Leah because aloof artist girl she keeps bumping into in the woods while foraging.
Kate: Animal husbandry out the wazoo. Especially coop animals, especially rabbits. But she adores her chickens, dogs, and cats. Not super good at fishing and a bit too nervous to delve too deep in the mines. Favored relationships: Haley! Because she’s the exact same brand of “I can fix her” pretty artistic meangirl that Kate falls for every time. Penny because she can relate too much to her.
Rachel: Miss “stop at nothing” perfectionist won’t settle for anything less than hundred percenting this game. She does it all and just for the sake of getting everything she romances everyone to be a shit disturber and to get the group events. After unlocking and completing the island she will literally just log into the game and stand on the beach for whole days. Favored Relationships: Abigail because she can really relate to the feelings of being stuck in the mold that your parents want for you. Emily because she’s fun. Leah because she’s hot. Alex because a big dumb cute footballer is fun. Sam because skater boys are cute.
Victoria: playing not just the vanilla game but stardew valley expanded as well. She tries to max out all the questlines and do good at the festivals. Favored romances: Sophia because she can’t not date the cute anime nerd. Olivia because hot MILF. Leah because who wouldn’t? And very specifically NOT Haley because “god who would ever deal with all that negging elitist bs??”
Bonus rounds!!
Courtney: terrifyingly invested in this game. Has more money than you thought the UI would actually show. Beat the whole game and is now in it entirely for the aesthetic builds and collecting every clothing item. Wears a different outfit every day. Favored relationships: none by design but has romanced every romanceable character just to have done it. Gets along best with Emily though.
Taylor: Bought the game because she saw Victoria playing it. Romanced Haley and did nothing else.
Steph: All around consistent player. Likes adventuring the most. Also playing a modded version. Favored relationships: Abigail because she likes the ttrpg and adventuring parts of her character. Leah because she ticks a lot of Steph’s boxes. Emily because she’s fun. She tried to romance Haley but got tired of the negging. Sophia because of course. She also installed a mod that made Sebastian transfemme to romance.
Warren/Lauren: Made a girl character, loves the game but plays in secret. Has romanced 11 out of the 12 dateable characters.
Alex: likes the fishing and adventuring. Has a few animals. Favored relationships: Abigail, Sam, and Seb because fellow musicians/nerds. Penny because she’s just so sweet! Harvey because he’s a nice guy. Emily because she’s so much fun and so positive. She also romanced Leah and it gave her gay feelings about Char so she avoids that romance now.
Riley: one part mining nerd, one part beekeeper. Has grown all the flowers and has a textbook perfect garden/apiary arrangement. Favored relationships: Maru because fellow science and robotics nerd! Abigail and Leah because she thinks they’re both cute.
23 notes · View notes
sm-baby · 1 year
Text
teehee... I finally have time to draw! Lovely servant girl!
Tumblr media
Hehehe... she vibin,,, very happy to say that she's compensated for her work, she overall loves her job cuz she's constantly commissioned to do all kinds of things while being able to help people.
her village loved her so much that they all banded to pay her to serve Steve for a whole day 👁👁 she killed it.
MAN... she's very talented... according to Char ai shes..
raised cattle and paultry
husbandry
helps with cooking duty
had nanny duties
cleaning duties
pet/house/baby sitting
weaved clothing out of wool
has helped sheep give birth
gives real good massages
farming
fishing
messenger duty
blacksmithing! (Still trying to master it)!
the only thing she can't do... is math, and directions... this is also why she can't do cartography.
loves her work cuz she sometimes takes jobs to help families who cant afford much,,, very loyal and lovely lady
she also *looks at character ai* is Japanese and has a chabudai
131 notes · View notes
i-can-even-burn-salad · 7 months
Note
Which of your stories has the most whump in it?
What is one of the strangest things you have had to research for your whumpy writing?
Has anyone ever called you out on an incorrectly written medical or whumpy scene (such as telling you that the character would have bled out long before help arrived)? *shifty eyes*
Thank you for the ask! From this ask game.
Which of your stories has the most whump in it?
I actually don't know 😂 Draw between Undeserved and Till Death, perhaps? Depends on what is considered "whump"? For those who think of it as comfort the moment the char is freed freed, that would probably be Undeserved, because it's 100% in "captivity".
But if you're inclined to add the chapters of wound care and panic attacks and breakdowns and angst and despair, then I guess TD. They do get very few breaks 👉👈
(Actually, Finnian does get a lot of breaks. But that's the other kind.)
What is one of the strangest things you have had to research for your whumpy writing?
I mean. We all have a questionable search history of blood loss, organ failure, long term consequences of stuff, and disabilities, right? Right??
Fun things for Till Death specifically included:
How to make yarn/fabric from nettles
How hot fire is depending on what's used to make it, how quickly metal heats up, and second/third degree burns
Historical wheelchairs
Goat husbandry
Drop spindles
How long to survive without water (no thank you, google, I do not want to send my grandfather into a nursing home, he's dead) and trying to figure out how a shitton of blood loss would affect it, and then deciding fuck it, *healing magic*
Baking bread in a dutch oven :)
Has anyone ever called you out on an incorrectly written medical or whumpy scene (such as telling you that the character would have bled out long before help arrived)? *shifty eyes*
What? Who would do such a thing? :o
5 notes · View notes
Text
Organic fertilizer granulator is widely used in various categories
Organic fertilizer granulator can be divided into disc granulator, ball granulator, horizontal granulator, rotary drum granulator, flat die granulator. The working principle of the organic fertilizer granulator is to crush and compress organic fertilizers, such as corn straw, wheat straw, straw and other plant stalks, as well as plant fruit shells such as straw and peanut shells, and finally form organic fertilizer particles that are conducive to preservation and use. For organic manure raw material animal manure and urine, pile retting fertilizer, green fertilizer, sea fertilizer, cake fertilizer, grass char, soil fertilizer, microorganism and other urban domestic waste organic fermentation fertilizer granulation specific, the particles are pellet. Organic fertilizer granulator qualified granulation rate of more than 80-90%, adapt to a variety of different formulations, the compressive strength of organic fertilizer is higher than the disk and drum, the large ball rate is less than 15%, the particle size uniformity can be adjusted according to user requirements through the organic fertilizer granulator stepless speed regulation function. Organic fertilizer granulator is the most widely used fertilizer granulation equipment, advanced technology, uniform granulation, the production of organic fertilizer particles, non-toxic, tasteless, pollution-free, is the best fertilizer to replace fertilizer, organic fertilizer factory, feed factory, agricultural and animal husbandry plant, sewage treatment plant, township, town, village, farmers entrepreneurial ideal choice. Coupled with low price, good quality, small investment, quick effect, is a good project to start a business and get rich.
Tumblr media
0 notes
pennumbra · 4 years
Photo
Tumblr media Tumblr media Tumblr media
Here’s the character based on that comment meme I did!
I tried to channel some of the show’s style, and it was a fun mini char design challenge- thanks to everyone for playing and submitting comments!
Trying to blend up all the answers into one thing, my thoughts on her backstory WOULD BE: she comes from an old wealthy family, and after inheriting the fam estate, decides to follow her dream of renovating their old country manor on the outskirts of Corona into a sanctuary/rehabilitation center for animals and birds.
(And I’m thinking maybe her family has a history of of being big game hunters/furriers/trading in animal products/etc. too, to make it more of a dream.)
Though she loves animals, she doesn't have a ton of practical experience actually... working with them due to her upbringing. SO, post-series, she meets  the Princess, who loves the idea and helps out by putting her in contact w/ her and her friends’ animal companions, along with some of the veterinary/animal husbandry pros at the castle!
I imagine her wardrobe would get increasingly practical/more zookeeperish and less stuffy/formal and gothic over time, tho the epicurean culinary tastes remain. 
The bottom doodle is from the grand opening/welcome party once the center open. Adira is in attendance to nosh on hors d'oeuvres b/c ofc she is 
87 notes · View notes
thegirl20 · 6 years
Text
Vanity ficlet
Just a little thing set around this glimpse we saw in last night’s ep.
Tumblr media
Vanessa’s just back from doing the lunchtime feed at the surgery, heading through to the bar, when Charity appears in front of her out of the cellar door. She jumps, putting a hand over her racing heart.
“You nearly gave me a heart attack.”
"Never mind that,” Charity says. Her eyes are wide and she’s fidgety, full of nervous energy, and Vanessa’s suddenly on alert. “You have to talk to Ryan."
"Okay..." Vanessa frowns. "About what? Tell me you're not asking me to try and talk him out of seeing Dawn now? Because, Char-"
"No need. She's gone and dumped him, hasn't she?" Charity rolls her eyes, arms folded tight across her chest. "After all that flaming drama, she tells him she thinks they shouldn't see each other right now."
"But why?" Vanessa kind of agrees with Charity. If Dawn had decided this a few days ago, there would have been no need for bribes or overdoses or disownings. "I thought they were getting on really well."
Snorting out a dismissive laugh, Charity shakes her head. "Reckons she needs to get her head straight before getting involved with anyone or summat."
Vanessa rubs Charity’s upper arm, tilting her head and squinting one eye, trying to ward off a blow up. "Well, that's actually pretty sensible, don't you think?"
There’s a pause and then a sigh. "Look, truth be told I'm over the moon about it.” Charity points through to the bar. “But the poor lad's devastated. You'd think he'd just been turned down by Claudia Schiffer instead of having a lucky escape."
Vanessa wrinkles her nose. "Your references are a bit dated. Claudia Schiffer's older than the pair of us, never mind Ryan."
"Vanessa...just-” Charity throws her hands up. “Go and cheer him up, will you?"
"Okay! Fine, I'm going." Vanessa moves around Charity, smiling when hands land on her hips, propelling her into the bar. She leans back against Charity, causing just a bit of resistance.
Charity’s chin comes to rest on her shoulder.  "Remember and do that thing you do, yeah?"
"What thing’s that then?"
"You know, the thing you do with me.” Charity squeezes her hips. “Being all nice and that."
"Comfort him, you mean?” Vanessa laughs. “Yeah, that's what I was planning on doing."
"I mean-" Lips brush against her ear as Charity whispers her next words. "-don't do all the things that you do to comfort me, obviously."
"Charity."
Charity pecks her cheek. "I'm joking. Go."
Vanessa heads out from behind the bar. "Bring me over a drink. On you."
She slides in beside Ryan. He rolls his eyes.
"Sent you over to babysit, has she?"
"No. She just thought you might want a bit of company, that's all." She nudges him. "Hey, from what Charity said, it doesn't sound like this is forever, you know? Sounds like Dawn wants to sort herself out so she can give the two of you a decent chance."
He looks down at his hands and shrugs. "Yeah, that or she's just letting me down easy."
"Oh, Ryan." She rubs his shoulder. "I'm sure that's not it. She seems to really like you."
"I don't want to talk about it. S’pointless."
Vanessa nods, stealing one of the chips from the bowl on the table. "So, what d’you want to talk about instead? I can do animal husbandry? Toddler care? Beginners’ knitting?” He shrugs. “Seen any good films lately?” He shakes his head. “No? How about telly programmes? Me and Charity keep trying to find something decent to watch on Netflix after the kids go to bed but we keep falling asleep during the first episode of everything we try.”
He sighs. “I don’t think we like the same shows.”
She nods, shoving another chip in her mouth. After a moment, she slides closer to him on the seat, leaning in and lowering her voice. “I could tell you stories about my terrible lovelife if you like? Make you feel a bit better about your current situation."
There’s an indignant gasp from behind her. "Uh, excuse me."
Vanessa widens her eyes at Ryan, but doesn't turn around. "Pre-Charity, of course."
"Jesus, babe, I said cheer him up, not depress the hell out of him." Charity sets a pint down in front of Vanessa, winking at Ryan. "This one's dating history was a tragedy before I came along."
"Oh, like yours was much better!" Vanessa says, tipping her head back and frowning up at Charity. “How many weddings have you had again?”
Charity wrinkles her nose at her. "Yeah, fair point. But I'm not the one offering to tell my sorry tales, am I?"
Ryan huffs out a laugh and they both look at him.
"What's funny?" Charity asks, her hand coming to rest on the back of Vanessa’s neck, thumb sweeping over the skin under her ponytail.
"Nothing." He smirks. "It's just...it's hard for me to picture the two of you with anyone else, that's all."
Vanessa laughs. "Well, that makes you the opposite of pretty much everyone else when we first got together, then."
"Really?" He shakes his head. "I can't imagine you apart."
"S'pose you've never known us when we've not been together, have you?" Charity ponders.
"Nope.”
“Well, if anything, me and Charity should give you hope.” Vanessa takes Charity’s hand from her shoulder and squeezes it. “Because if you’d seen the flamin’ bother I had trying to get this one to say we were actually having a relationship-”
“Uh, yeah, he doesn’t need to hear all the gory details, thank you,” Charity says, but she links her fingers through Vanessa’s. “I may have been slightly reluctant to commit to a relationship in the very beginning-”
“It took her eight months to leave a toothbrush at mine,” Vanessa interjects.
“Oi, I’ve made up for it since, haven’t I?” Charity rolls her eyes. “Asking you to move in, always prattling on about how much I love you.”
“Hmmmm.” Vanessa pulls Charity down by her lapel, pressing their lips together. “S’pose that’s true.” She pecks Charity’s lips again and then shifts her attention back to Ryan. “What I’m trying to say is that, if you’re patient and you let Dawn work through what she needs to, you could end up with something really wonderful.”
She feels Charity sigh against her shoulder, but she keeps her gob shut, which is a step up.
“So, the pair of you are relationship goals, yeah?” Ryan asks, clearly amused by this.
“Yes!” Vanessa nods. “Hashtag!”
Just as the word is leaving  her mouth, Noah drops into the seat opposite. He closes his eyes, shaking his head.
“I don’t even want to know.”
99 notes · View notes
industrytrends1 · 2 years
Text
Why Is Wood Vinegar Used in Wastewater Treatment Plants?
Tumblr media
Wood vinegar or wood acid or pyroligneous acid is a dark liquid, which is derived from charcoal. It is obtained by heating biomass in a closed container. The smoke generated during charcoal production is cooled into a liquid and then separated into bio-oil, tar, and wood vinegar. The dark liquid is a combination of nearly 80–90% water and over 200 organic compounds, such as acetic acid, esters, formic acid, ketones, methanol, and phenol. 
Moreover, the increasing implementation of government initiatives regarding bio-based products will also ensure the large-scale adoption of wood vinegar for wastewater treatment, food, animal husbandry, wood tar, and agriculture applications. In the recent past, the agriculture sector has emerged as the largest consumer of wood vinegar due to the enormous use of bio-based fertilizers and pesticides to increase productivity. For instance, the Ministry of New and Renewable Energy, Government of India, has launched several programs in recent times to promote the use of biomass materials and bio-based products, such as wood vinegar.
The manufacturing segment of the wood vinegar market is categorized into slow paralysis, fast and intermediate pyrolysis, and others. Under this segment, the slow pyrolysis category is expected to account for the largest market share during the forecast period as slow pyrolysis provides a better yield of wood vinegar, char, and other products than other manufacturing processes. In comparison to other processes, slow pyrolysis exhibits a longer vapor resistance time and slower heating rate.   
In recent years, wood vinegar producers, such as TAGROW CO. LTD., Nakashima Trading Co. Ltd., Ace (Singapore) Pte Ltd., Canada Renewable Bioenergy Corporation, Byron Biochar, and Nettenergy BV,  have engaged in technological advancements to develop better and improved pyrolysis kiln methods to produce char, biochar, and wood vinegar. Additionally, the advanced pyrolysis methods help enhance the production process of wood vinegar and reduce the total manufacturing process. Further, the producers are also focusing on involving poverty-ridden people in wood vinegar production processes as the material is majorly produced in villages by using local resources and feedstock.
Thus, the escalating need for treated water and surging government focus on using bio-based products will fuel the consumption of wood vinegar globally.
0 notes
charcorner · 4 months
Text
Welcome to Char Corner!
Hi there, fellow Char owners! My name is Astra, I use any pronouns but mostly she/they, and I raise Homo aznablii (also known as Chars) for a living! I have worked at multiple Char shelters, and own multiple Chars myself. Here's a quick intro to them!
(Plus, some tips I shared in the comments of a Strange Aeons video about clown husbandry:)
Tumblr media
Mars
Male 0079
Age: 4
Mars is a new addition to the family. I picked him up from a Char shelter back in July. He was surrendered to the shelter after his owners couldn't take care of them. PSA: Purebred 0079s are not good starter Chars! They need constant stimulation to keep from engaging in the classic Char pastime of destroying everything in your home, along with 0079s needing to be disciplined regularly, (without force! please do not hit or yell at your char, as they will distrust you and be more likely to indiscriminately attack you. i like to use spray bottles) to actually make them listen to you. If you REALLY like 0079s but don't have any experience raising Chars, get a 0079/Quattro cross. While Mars can have an attitude sometimes and has tried to escape a few times when I let him outside for more than a few minutes, he's a really sweet Char. Fun fact: he's the same 0079 Char from the Garfield story I shared above
---
Hallie Jr.
Female Quattro/CCA mix
Age: 3
Hallie Jr. is one of the Char pups from the story I shared above. Her mother, a Quattro named Hallie, was one of the first Chars I raised, and was a general sweetheart. Sadly, last May, Hallie was diagnosed with cancer at the age of 17, and I had no choice but to end her life in a humane way. I'll never forget the day I took her home from the shelter all those years ago, and how she was so scared on the ride back home... Anyways, Hallie Jr. is chaotic. That's it. I remember when I first took Mars home and Hallie Jr. gave him a nice chomp on the shoulder. What a way to roll in the welcome wagon... She's also given me a few nips, too, and almost attacked another Char at the Char park (my pride and joy as a char owner. /s) Anyways, I always say that Quattros are the ideal starter breed of Char, due to their mostly-docile temperament. CCAs, however, need a great deal of training and socialization, which I know a lot of casual Char owners can't afford to provide. Sadly, this has led to many CCAs turning aggressive and getting the breed as a whole classified as dangerous in a lot of jurisdictions. (They're kinda like the "bully breeds" of dogs.)
---
Meteor
Male Full Frontal
Age: 27
While I normally do not condone getting Full Frontals due to the problems with the breed (see above), a friend gave me Meteor because they were moving to a place which did not allow Chars in the lease (an unfortunate truth in many places) and I couldn't say no. Even if he is getting on in the years (the average Char lifespan is 33 years), he is still one of the most amazing Chars I have ever taken care of. However, last month he started to become more lethargic and nipped me when I tried to pet him (an action he usually enjoys). I'm planning to take him to the vet soon to see what's up with him.
---
Ceres
Female mutt (with 0079 and CCA features)
Age: 1½ years
Last but not least, Ceres was a stray Char pup who was rejected by her mother. I found her in my front lawn in critical condition and I just had to take her in because I couldn't let a newborn Char die like that, and bottle-fed her and nursed her back to health. She's currently in her "teen phase" (Chars fully mature at 2 years old) and is starting to test her boundaries. She often gets zoomies and even scratched Hallie Jr. once (she's probably learned her lesson now). However, she's still as sweet as the day I took her in!
Random Char facts and tips:
Chars only started being imported to the western world in the past 25 years. Before that, they were popular pets in Japan and other East Asian countries, hitting their stride in the late seventies, although a small portion of Chars were imported to Italy around the early eighties in the hopes of starting a fad, although they never caught on back then.
CHARS AND CLOWNS DO NOT GO TOGETHER!! I've seen so many Chars get surrendered to shelters because they attacked or even killed clowns, one of their NATURAL PREY SOURCES. Come on.
Chars are facultative carnivores. In the wild, they prey on not only clowns, but also deer and other large herbivores. But domesticated Chars will still be as happy eating small animals such as live mice as they would chasing down a deer in the wild.
Please do not keep attack/guard Chars, especially CCAs. The training to turn them into one cannot be done in a way that does not involve abuse. Please get a functioning security system.
You may have noticed that Chars are horny AF. It's a survival strategy: Chars mate with anything and everything as wild mother Chars have a tendency to reject or even eat their offspring. Thankfully for Char breeders, domesticated Chars have had this behavior almost entirely bred out of them.
Chars are pregnant for 6 months and usually give birth to a litter of 4-9 Char pups.
Anyways, good luck in your own Char breeding and owning adventures!
~ Astra
10 notes · View notes
adventuredelight · 3 years
Text
Leh Ladakh tour and travel company
Tumblr media
Pangi Valley It's a retired vale of Himanchal Pradesh and is unique in its unspoiled natural beauty and splendor. The sights are inspiring and striking. Nature has handed it with thick timber, aqueducts, falls, snow- limited mountains, virgin glaciers, snow coverts, colorful verdures and faunas, grassy pitches of high mountains, and gutters flowing in deep hand. It has got commodity for everyone. The people are hard-working, God- stewing, and helpful by nature, and they indulge in husbandry practices close to their hearts. Multitudinous aqueducts of melting glaciers give pure water, and the presence of fresh air enables townies to follow organic ways learned from generation to generation, free of any chemicals. This journey is a natural paradise for ornithologists, botanists, pedestrians, and rovers.
Sacch Pass It's one of the loftiest mountain Passes of India, with a height of 4414 measures from ocean position. It's a connection for Chamba Valley to Pangi Valley in the Pir Panjal range of mountains.
We'll start beforehand from Bairagarh to Killar. First, it'll be the sight of an cornucopia of Pine Tree timber, and while thrusting towards Sacch Pass, it'll give way to snow- covered mountains and multitudinous falls. The Misty mountain road provides an unmatched exhilaration. The fifteen bases high snow walls on both sides of the road give the print of a snow lair. The diversity of flowers with pictorial colors and the witching sight of floating shadows feel so surreal.
Stylish Tour Drivers in India, Stylish India stint package, Bespeak India Tour Packages Online, India Holiday Tour Package, Tenures to India from USA, Stylish trip company in India, Luxury stint package in India, Stylish India tourism packages, Delhi to Auli stint package, Delhi Varanasi Ayodhya stint package, Delhi Ayodhya Prayagraj stint, Stylish stint agency for Taj Mahal, Best Andaman trip agency, Leh Ladakh stint and trip company, Leh Ladakh tour and travel company, Stylish Agra Jaipur trip agency, Stylish Char Dham stint package, Best Tour Drivers in New Delhi, Best Agra stint package, Stylish Ladakh stint package, Stylish south India stint package, Book Delhi Tour Packages Online, Book Taj Mahal Tour Packages Online, Book Leh Ladakh Tour Packages Online, Book Chardham Tour Packages Online, Book Varanasi Tour Packages Online, Book Ayodhya Tour Packages Online, Book Rajasthan Tour Packages Online, Stylish trip company in New Delhi, Luxury stint package in New Delhi, Best Agra Jaipur trip agency in New Delhi, Leh Ladakh stint and trip company in New Delhi
0 notes
cripplepunk-sylveon · 3 years
Note
Why would you need to feel guilty if you don't eat animals? i'm confused 😮 wouldn't it be a good thing if possible? I mean, since growing food for livestock is destroying the rainforest and isn't adopting a plant based diet one of the biggest things an individual can do to combat climate change?
As gently as I can manage: no, it's not that simple, and a plant-based diet as most folks think of it is not inherently better for the environment. Nothing any group of individuals from the general public can do will counteract the damage being done by big corporations.
tl;dr: A PBD is not inherently better for the environment, it highly depends on where you live and what you can/should buy, and many folks don't understand nor want to understand that. The history of food is a history of colonialism and violence and we need to address that, especially when it comes to veganism in North America and the importing of non-native foods to support it.
Full essay under the cut that I never meant to write but it sure did happen
Is it possible to go on a plant-based diet (a PBD, for future use of the term, because it will be popping up plenty here) within a localized area because it's more affordable/better for you/better for your environment? Yes. But it takes work to do so. As in, research, a willingness to buy and grow local, and an acute awareness of what the invasive species of your region are.
The unfortunate truth is that many people are unwilling or flat-out incapable of doing said research and work. They just want quick and easy access to plant-based food because they've heard somewhere that it's better and more humane than raising animals for meat/dairy/eggs. This is only possible because we live on colonized land, where we've created a massive distance between us and the origins of what we eat- and brought in non-native animal and plant species to reproduce what our colonizers eat, regardless of the impact on the land and the people. In fact, this was done very much on purpose. Native people reliant on colonial food systems are less likely to cause a ruckus, because they can just be starved out.
For an example, let's look at the Canadian North. The Inuit have hunted whales, seals, caribou, polar bear, and arctic char during the cold months in a sustainable fashion for thousands of years. Inuk people will hunt a single whale and feed their family for a year- never mind the uses for whale oil, baleen, and whale hide. They would use every part of the whale that they could find a use for, nothing was wasted. Nowadays, though... their traditional foods are called "barbaric" and "cruel", and hunting traditionally is frowned upon, while we ship fruit and vegetables that cannot be grown in permafrosted soil up to them and charge them as consumers for the cost to us. Here's a video from 2013 talking about the issue. From 2013! It's still happening now!! I would never recommend a PBD to someone living in such a situation because of both the expense and the destruction of the traditional hunting culture of the Inuit.
Before anyone tries to say I'm shitting on folks who can't eat meat- I'm really not. I get it, the lone star tick is an asshole of epic proportions, and allergies are a fuck you from the universe- I myself can't eat eggs! And they are in EVERYTHING! If we can accommodate allergies and dietary restrictions we absolutely should. I like to think there's a particularly shitty corner of the universe for people who think allergies are a joke or just someone being picky. But those are not choices. Those are required restrictions to keep the person alive and healthy.
Going vegan to "go green", on the other hand, is 100% a personal choice. Unfortunately it's also one frequently shaped by misinformation and propaganda. Vegans never really consider where their food comes from, and because the vast majority of them are city-dwellers who have access to a grocery store, they don't feel like they need to. It's not affecting them personally, so they don't care.
They should though. Many of the plants they rely on for food cause massive ecological damage, way more than growing feed for cattle, chickens, or pigs. Quinoa is farmed using child labour, and the sharp spike in price as white diners demand it- combined with the fact it's a thirsty crop that uses a lot of water that the locals also used as drinking water- kind of destroys any good it's doing by being a "superfood" (It was not a staple crop, however, and has done a little bit of good. Emphasis on a LITTLE BIT). Avocado is facing a similar situation- it was a staple food for the people growing it, now they can't afford it and they're resorting to inhumane measures to grow enough of it to meet white settler demand. (Also, if they fail to pay their cartel fees, they're very likely to have their farm burnt to the ground or worse. El Narco has their fingers in EVERYTHING, even in fruit production.) Cashews are mainly grown and processed in India, where workers suffer low pay and sweatshop conditions and caustic burns to ensure we have them to snack on. Soy products were once the main destructive force facing the Amazon rainforest, and now it's threatening the Cerrado and the millions of species that call the region home while filling local water supplies with silt and grime. There's also hundreds of reports detailing the slavery afoot at soy plantations, AND it's causing topsoil to erode faster.
No, meat and dairy as industries are not without fault. I never claimed they were. It's not hard to find things wrong with beef and dairy, and you can thank militant preachy vegans for that. You can also thank them for those horrifying ads everyone with a certain app spent their first two weeks blocking and reporting with a fervor like no other to make sure they stopped seeing them. (Or, maybe that was just me, idk what tiktok's deal is with giving me PETA and vegan propaganda videos but I'd like it to stop.) HOWEVER. The actual people producing my food, working the land to raise animals for meat and whatnot? They know what they're doing. Many of them have been studying husbandry and animal welfare since they were in middle school at the latest. I trust them to provide a good quality of life for a cow, chicken, pig, or bison that will end up on my plate one day.
Besides, they don't see me eating jerky instead of something I'm deathly allergic to and tell me a horror story about how the cow who provided it was flayed alive (yes, this has happened, more than once- it wasn't even beef jerky, it was bison from a local ranch). They just let me snack in peace and we go about both our days.
0 notes
dfrobots-blog · 5 years
Text
Smart Terrarium
Automated environment for reptiles to promote good husbandry and enable maximum lifespan for animals in captivity.
Tumblr media Tumblr media
Things used in this project
Hardware components
Raspberry Pi 3 Model B×1
Arduino MKR1000 ×1
Arduino UNO & Genuino UNO ×1
DHT22 Temperature Sensor×1
Adafruit Waterproof DS18B20 Digital temperature sensor ×1
DFRobot Gravity: Analog UV Sensor (ML8511)×1
DFRobot Gravity: Analog Capacitive Soil Moisture Sensor- Corrosion Resistant×1
Ultrasonic Sensor - HC-SR04 (Generic) ×2Seeed Grove - 2-Channel SPDT Relay ×1
Hand tools and fabrication machines
3D Printer (generic)
Story
Intro
Smart Terrarium is the all in one system that provides the necessary information and automation to encourage a full and happy life for your reptiles. This system provides the user with the ability to monitor a variety of sensors in their animals habitat as well as control the lighting and misting system.
Backstory
This system was designed for my chameleon, Curie. She is a veiled chameleon and loves having her cage always kept in the optimal conditions. She is currently benefiting from the daily scheduled misting routines that the Smart Terrarium provides. This keeps her humidity in the appropriate range while also providing her with a nice place to cool off and get a drink.Another great part of having the Smart Terrarium is peace of mind. You no longer need to randomly check on the status of the mister bucket water level. You can always rely on the Smart Terrarium to notify you when you are running low. Also get notifications when the drain bucket is approaching maximum capacity.The most important part of this setup is the monitoring of the UV light. Chameleons require UV-B to produce Vitamin D. When a chameleon does not absorb enough calcium a chameleon can develop abnormalities in bone growth, rachitis, Metabolic Bone Disease (MBD) or just get very weak bones that are prone to breaking. The Smart Terrarium provides constant monitoring of UV light and can notify the user when the average UV index is below a certain threshold.
Hardware
This project uses a Raspberry Pi 3, an Arduino Uno, and a ArduinoMKR1000. The Raspberry Pi acts as our main system receiving readings from the Uno and MKR1000. The Pi also acts as a web server which delivers our app to the client when a user wants to monitor their system. They simply log in to a web page allowing them to interact with the Smart Terrarium from anywhere around the globe.
Tumblr media
Raspberry Pi 3 A+
The MKR1000 is the main workhorse for getting sensor data and it sends its readings every second over wifi to the web server running on the Raspberry Pi. It has the following sensors connected to it:
(5) DS18B20 Digital Tempearture probes
(1) DHT22 Temperature & Humidity sensor
(1) UV sensor
(1)Soil Moisture sensor     
Tumblr media
Arduino MKR1000
The Arduino Uno is connected to the
Raspberry Pi via USB. It is used to monitor the water levels and also control the relays for the lights and misting pump. It has the following hardware connected:(2) HC-SR04 Ultrasonic Sensor
(2) Relays
Tumblr media
 Arduino Uno connected to 2 proximity sensors and 2 relays
Tumblr media
Misting Bucket, Misting Pump, Drain Bucket with Proximity Sensor
Software
This system leverages the following open source software:Node.jsJohnny-fiveRethinkDBFirmataVue
Backend
The Raspberry Piis running an Express web server which collects readings from the sensors and saves them to a RethinkDB instance. The readings are being reported to the Pi every second so the user has access to the most current measurements.
 The readings are saved every 5 minutes in Rethink DB for historical data.The Uno is running the PingFirmataSketch and using serial to expose the proximity sensors and relays to the Pi using Firmata protocol. The Pi leverages Johnny-five to allow the user to program in javascript.The MKR1000 is running a custom sketch using OneWire for the 5 temperature probes and then using analog inputs for the other sensors.
 It posts the values to the Pi every second making sure the readings the user sees are fresh.
Frontend
The Raspberry Pi also serves up the front end portion of this app which leverages Vue.js. It allows the user to log in from anywhere having complete control over their pet's environment. The app works on any modern web browser so you can access it from a computer, tablet, or phone.The Smart Terrarium app allows the user to view the latests readings along with a sparkline graph of the previous day's historical data.The user can click through on any of the sensors
to view their history data. 
The Measurements page shows a graph with the entire sensor history. The user can select a section of the bottom graph to display a zoomed in version in the graph above. This allows the user to inspect the historic data for any spikes or dips where the environment is out of the norm.The user has the ability to schedule events including lighting and misting events. 
The Event page displays the currently scheduled events and allows the user to add, edit, and delete events. These events are used to automate the lighting and misting sessions which provides peace making sure you never forget.
The Controls page allows the user to manually override the scheduled lighting and misting events. The page displays the current status of each relay and allows the user to toggle them with a click of a button.The Admin page allow the user to enter information about themselves for contact purposes. This is for the email notifications on high/low water levels on misting system as well as notifications for when the daily average UV index gets too low. There is also a spot for the animals birthday so we can provide birthday notifications.
Screenshots
Home Page
Tumblr media
                                                                        Home Page
Tumblr media
                                                                  Historical Measurements
Tumblr media
                                                                        Historical Measurements
Tumblr media
                                                                         Historical Measurements
Tumblr media
                                                                  Historical Measurements (zoomed)>
Tumblr media
Historical Measurements
Tumblr media
                                                    Historical Measurements (zoomed)
Tumblr media
    Historical Measurements
Events page for lighting and misting events.
Tumblr media
                                           Schedule Lighting and Misting Events
Controls page where the user can override the scheduled events.                                              
Tumblr media
                                         Misting and Lighting Overrides
Demo
Here is a demo of the overall system.
youtube
                                        Demo of The Smart Terrarium
We hope you enjoyed our presentation of the Smart Terrarium and encourage any reptile owners to use this project to improve the lives of your pets.Thanks for your time and happy making!
Custom parts and enclosures
Plant Holder Brace
This provides extra support to the cage for hanging a plant.
Download Here
Mister Mount
This provides a nice clean installation of the misting head for the misting system.
Download Here
Schematics
Arduino Uno diagram
The Arduino Uno circuit used to control both relays for the lighting and misting system, as well as monitor the water levels on the misting bucket and drain.
Tumblr media
Arduino MKR1000
This is really for the MKR1000 but tinkercad circuits didn't have it as a component. All pins are still correct.
Tumblr media
Code
Ping Firmata
 C#This is the version of firmata required for the
Proximity sensors
to function properly. Install this sketch on the Arduino Uno.
/* * Firmata is a generic protocol for communicating with microcontrollers * from software on a host computer. It is intended to work with * any host computer software package. * * To download a host software package, please clink on the following link * to open the download page in your default browser. * * http://firmata.org/wiki/Download */ /*  Copyright (C) 2006-2008 Hans-Christoph Steiner.  All rights reserved.  Copyright (C) 2010-2011 Paul Stoffregen.  All rights reserved.  Copyright (C) 2009 Shigeru Kobayashi.  All rights reserved.  Copyright (C) 2009-2011 Jeff Hoefs.  All rights reserved.  Copyright (C) 2012 Julian Gaultier.  All rights reserved.  Copyright (C) 2015 Rick Waldron.  All rights reserved.  This library is free software; you can redistribute it and/or  modify it under the terms of the GNU Lesser General Public  License as published by the Free Software Foundation; either  version 2.1 of the License, or (at your option) any later version. */ #include <Servo.h> #include <Wire.h> #include <Firmata.h> #define I2C_WRITE B00000000 #define I2C_READ B00001000 #define I2C_READ_CONTINUOUSLY B00010000 #define I2C_STOP_READING B00011000 #define I2C_READ_WRITE_MODE_MASK B00011000 #define I2C_10BIT_ADDRESS_MODE_MASK B00100000 #define MAX_QUERIES 8 #define MINIMUM_SAMPLING_INTERVAL 10 #define REGISTER_NOT_SPECIFIED -1 #define PING_READ 0x75 // PING_READ is for use with HCSR04 and similar "ultrasonic ping" components /*============================================================================== * GLOBAL VARIABLES *============================================================================*/ // analog inputs int analogInputsToReport = 0; // bitwise array to store pin reporting // digital input ports byte reportPINs[TOTAL_PORTS];   // 1 = report this port, 0 = silence byte previousPINs[TOTAL_PORTS]; // previous 8 bits sent // pins configuration byte pinConfig[TOTAL_PINS];         // configuration of every pin byte portConfigInputs[TOTAL_PORTS]; // each bit: 1 = pin in INPUT, 0 = anything else int pinState[TOTAL_PINS];           // any value that has been written // timer variables unsigned long currentMillis;  // store the current value from millis() unsigned long previousMillis; // for comparison with currentMillis int samplingInterval = 19;    // how often to run the main loop (in ms) // i2c data struct i2c_device_info {  byte addr;  byte reg;  byte bytes; }; // for i2c read continuous more i2c_device_info query[MAX_QUERIES]; byte i2cRxData[32]; boolean isI2CEnabled = false; signed char queryIndex = -1; // default delay time between i2c read request and Wire.requestFrom() unsigned int i2cReadDelayTime = 0; Servo servos[MAX_SERVOS]; /*============================================================================== * FUNCTIONS *============================================================================*/ void readAndReportData(byte address, int theRegister, byte numBytes) {  // allow I2C requests that don't require a register read  // for example, some devices using an interrupt pin to signify new data available  // do not always require the register read so upon interrupt you call Wire.requestFrom()  if (theRegister != REGISTER_NOT_SPECIFIED)  {    Wire.beginTransmission(address);    Wire.write((byte)theRegister);    Wire.endTransmission();    delayMicroseconds(i2cReadDelayTime); // delay is necessary for some devices such as WiiNunchuck  }  else  {    theRegister = 0; // fill the register with a dummy value  }  Wire.requestFrom(address, numBytes); // all bytes are returned in requestFrom  // check to be sure correct number of bytes were returned by slave  if (numBytes == Wire.available())  {    i2cRxData[0] = address;    i2cRxData[1] = theRegister;    for (int i = 0; i < numBytes; i++)    {      i2cRxData[2 + i] = Wire.read();    }  }  else  {    if (numBytes > Wire.available())    {      Firmata.sendString("I2C Read Error: Too many bytes received");    }    else    {      Firmata.sendString("I2C Read Error: Too few bytes received");    }  }  // send slave address, register and received bytes  Firmata.sendSysex(SYSEX_I2C_REPLY, numBytes + 2, i2cRxData); } void outputPort(byte portNumber, byte portValue, byte forceSend) {  // pins not configured as INPUT are cleared to zeros  portValue = portValue & portConfigInputs[portNumber];  // only send if the value is different than previously sent  if (forceSend || previousPINs[portNumber] != portValue)  {    Firmata.sendDigitalPort(portNumber, portValue);    previousPINs[portNumber] = portValue;  } } /* ----------------------------------------------------------------------------- * check all the active digital inputs for change of state, then add any events * to the Serial output queue using Serial.print() */ void checkDigitalInputs(void) {  /* Using non-looping code allows constants to be given to readPort().   * The compiler will apply substantial optimizations if the inputs   * to readPort() are compile-time constants. */  if (TOTAL_PORTS > 0 && reportPINs[0])    outputPort(0, readPort(0, portConfigInputs[0]), false);  if (TOTAL_PORTS > 1 && reportPINs[1])    outputPort(1, readPort(1, portConfigInputs[1]), false);  if (TOTAL_PORTS > 2 && reportPINs[2])    outputPort(2, readPort(2, portConfigInputs[2]), false);  if (TOTAL_PORTS > 3 && reportPINs[3])    outputPort(3, readPort(3, portConfigInputs[3]), false);  if (TOTAL_PORTS > 4 && reportPINs[4])    outputPort(4, readPort(4, portConfigInputs[4]), false);  if (TOTAL_PORTS > 5 && reportPINs[5])    outputPort(5, readPort(5, portConfigInputs[5]), false);  if (TOTAL_PORTS > 6 && reportPINs[6])    outputPort(6, readPort(6, portConfigInputs[6]), false);  if (TOTAL_PORTS > 7 && reportPINs[7])    outputPort(7, readPort(7, portConfigInputs[7]), false);  if (TOTAL_PORTS > 8 && reportPINs[8])    outputPort(8, readPort(8, portConfigInputs[8]), false);  if (TOTAL_PORTS > 9 && reportPINs[9])    outputPort(9, readPort(9, portConfigInputs[9]), false);  if (TOTAL_PORTS > 10 && reportPINs[10])    outputPort(10, readPort(10, portConfigInputs[10]), false);  if (TOTAL_PORTS > 11 && reportPINs[11])    outputPort(11, readPort(11, portConfigInputs[11]), false);  if (TOTAL_PORTS > 12 && reportPINs[12])    outputPort(12, readPort(12, portConfigInputs[12]), false);  if (TOTAL_PORTS > 13 && reportPINs[13])    outputPort(13, readPort(13, portConfigInputs[13]), false);  if (TOTAL_PORTS > 14 && reportPINs[14])    outputPort(14, readPort(14, portConfigInputs[14]), false);  if (TOTAL_PORTS > 15 && reportPINs[15])    outputPort(15, readPort(15, portConfigInputs[15]), false); } // ----------------------------------------------------------------------------- /* sets the pin mode to the correct state and sets the relevant bits in the * two bit-arrays that track Digital I/O and PWM status */ void setPinModeCallback(byte pin, int mode) {  if (pinConfig[pin] == I2C && isI2CEnabled && mode != I2C)  {    // disable i2c so pins can be used for other functions    // the following if statements should reconfigure the pins properly    disableI2CPins();  }  if (IS_PIN_SERVO(pin) && mode != SERVO && servos[PIN_TO_SERVO(pin)].attached())  {    servos[PIN_TO_SERVO(pin)].detach();  }  if (IS_PIN_ANALOG(pin))  {    reportAnalogCallback(PIN_TO_ANALOG(pin), mode == ANALOG ? 1 : 0); // turn on/off reporting  }  if (IS_PIN_DIGITAL(pin))  {    if (mode == INPUT)    {      portConfigInputs[pin / 8] |= (1 << (pin & 7));    }    else    {      portConfigInputs[pin / 8] &= ~(1 << (pin & 7));    }  }  pinState[pin] = 0;  switch (mode)  {  case ANALOG:    if (IS_PIN_ANALOG(pin))    {      if (IS_PIN_DIGITAL(pin))      {        pinMode(PIN_TO_DIGITAL(pin), INPUT);    // disable output driver        digitalWrite(PIN_TO_DIGITAL(pin), LOW); // disable internal pull-ups      }      pinConfig[pin] = ANALOG;    }    break;  case INPUT:    if (IS_PIN_DIGITAL(pin))    {      pinMode(PIN_TO_DIGITAL(pin), INPUT);    // disable output driver      digitalWrite(PIN_TO_DIGITAL(pin), LOW); // disable internal pull-ups      pinConfig[pin] = INPUT;    }    break;  case OUTPUT:    if (IS_PIN_DIGITAL(pin))    {      digitalWrite(PIN_TO_DIGITAL(pin), LOW); // disable PWM      pinMode(PIN_TO_DIGITAL(pin), OUTPUT);      pinConfig[pin] = OUTPUT;    }    break;  case PWM:    if (IS_PIN_PWM(pin))    {      pinMode(PIN_TO_PWM(pin), OUTPUT);      analogWrite(PIN_TO_PWM(pin), 0);      pinConfig[pin] = PWM;    }    break;  case SERVO:    if (IS_PIN_SERVO(pin))    {      pinConfig[pin] = SERVO;      if (!servos[PIN_TO_SERVO(pin)].attached())      {        servos[PIN_TO_SERVO(pin)].attach(PIN_TO_DIGITAL(pin));      }    }    break;  case I2C:    if (IS_PIN_I2C(pin))    {      // mark the pin as i2c      // the user must call I2C_CONFIG to enable I2C for a device      pinConfig[pin] = I2C;    }    break;  default:    Firmata.sendString("Unknown pin mode"); // TODO: put error msgs in EEPROM  }  // TODO: save status to EEPROM here, if changed } void analogWriteCallback(byte pin, int value) {  if (pin < TOTAL_PINS)  {    switch (pinConfig[pin])    {    case SERVO:      if (IS_PIN_SERVO(pin))        servos[PIN_TO_SERVO(pin)].write(value);      pinState[pin] = value;      break;    case PWM:      if (IS_PIN_PWM(pin))        analogWrite(PIN_TO_PWM(pin), value);      pinState[pin] = value;      break;    }  } } void digitalWriteCallback(byte port, int value) {  byte pin, lastPin, mask = 1, pinWriteMask = 0;  if (port < TOTAL_PORTS)  {    // create a mask of the pins on this port that are writable.    lastPin = port * 8 + 8;    if (lastPin > TOTAL_PINS)      lastPin = TOTAL_PINS;    for (pin = port * 8; pin < lastPin; pin++)    {      // do not disturb non-digital pins (eg, Rx & Tx)      if (IS_PIN_DIGITAL(pin))      {        // only write to OUTPUT and INPUT (enables pullup)        // do not touch pins in PWM, ANALOG, SERVO or other modes        if (pinConfig[pin] == OUTPUT || pinConfig[pin] == INPUT)        {          pinWriteMask |= mask;          pinState[pin] = ((byte)value & mask) ? 1 : 0;        }      }      mask = mask << 1;    }    writePort(port, (byte)value, pinWriteMask);  } } // ----------------------------------------------------------------------------- /* sets bits in a bit array (int) to toggle the reporting of the analogIns */ //void FirmataClass::setAnalogPinReporting(byte pin, byte state) { //} void reportAnalogCallback(byte analogPin, int value) {  if (analogPin < TOTAL_ANALOG_PINS)  {    if (value == 0)    {      analogInputsToReport = analogInputsToReport & ~(1 << analogPin);    }    else    {      analogInputsToReport = analogInputsToReport | (1 << analogPin);    }  }  // TODO: save status to EEPROM here, if changed } void reportDigitalCallback(byte port, int value) {  if (port < TOTAL_PORTS)  {    reportPINs[port] = (byte)value;  }  // do not disable analog reporting on these 8 pins, to allow some  // pins used for digital, others analog.  Instead, allow both types  // of reporting to be enabled, but check if the pin is configured  // as analog when sampling the analog inputs.  Likewise, while  // scanning digital pins, portConfigInputs will mask off values from any  // pins configured as analog } /*============================================================================== * SYSEX-BASED commands *============================================================================*/ void sysexCallback(byte command, byte argc, byte *argv) {  byte mode;  byte slaveAddress;  byte slaveRegister;  byte data;  unsigned int delayTime;  switch (command)  {  case I2C_REQUEST:    mode = argv[1] & I2C_READ_WRITE_MODE_MASK;    if (argv[1] & I2C_10BIT_ADDRESS_MODE_MASK)    {      Firmata.sendString("10-bit addressing not supported");      return;    }    else    {      slaveAddress = argv[0];    }    switch (mode)    {    case I2C_WRITE:      Wire.beginTransmission(slaveAddress);      for (byte i = 2; i < argc; i += 2)      {        data = argv[i] + (argv[i + 1] << 7);        Wire.write((byte)data);      }      Wire.endTransmission();      delayMicroseconds(70);      break;    case I2C_READ:    case I2C_READ_CONTINUOUSLY:      if (argc == 6)      {        // a slave register is specified        slaveRegister = argv[2] + (argv[3] << 7);        data = argv[4] + (argv[5] << 7); // bytes to read      }      else      {        // a slave register is NOT specified        slaveRegister = (int)REGISTER_NOT_SPECIFIED;        data = argv[2] + (argv[3] << 7); // bytes to read      }      if (mode == I2C_READ)      {        readAndReportData(slaveAddress, slaveRegister, data);      }      else      {        if ((queryIndex + 1) >= MAX_QUERIES)        {          Firmata.sendString("too many queries");          break;        }        queryIndex++;        query[queryIndex].addr = slaveAddress;        query[queryIndex].reg = slaveRegister;        query[queryIndex].bytes = data;      }      break;    case I2C_STOP_READING:      byte queryIndexToSkip;      // if read continuous mode is enabled for only 1 i2c device, disable      // read continuous reporting for that device      if (queryIndex <= 0)      {        queryIndex = -1;      }      else      {        // if read continuous mode is enabled for multiple devices,        // determine which device to stop reading and remove it's data from        // the array, shifiting other array data to fill the space        for (byte i = 0; i < queryIndex + 1; i++)        {          if (query[i].addr == slaveAddress)          {            queryIndexToSkip = i;            break;          }        }        for (byte i = queryIndexToSkip; i < queryIndex + 1; i++)        {          if (i < MAX_QUERIES)          {            query[i].addr = query[i + 1].addr;            query[i].reg = query[i + 1].reg;            query[i].bytes = query[i + 1].bytes;          }        }        queryIndex--;      }      break;    default:      break;    }    break;  case I2C_CONFIG:    delayTime = (argv[0] + (argv[1] << 7));    if (delayTime > 0)    {      i2cReadDelayTime = delayTime;    }    if (!isI2CEnabled)    {      enableI2CPins();    }    break;  case SERVO_CONFIG:    if (argc > 4)    {      // these vars are here for clarity, they'll optimized away by the compiler      byte pin = argv[0];      int minPulse = argv[1] + (argv[2] << 7);      int maxPulse = argv[3] + (argv[4] << 7);      if (IS_PIN_SERVO(pin))      {        if (servos[PIN_TO_SERVO(pin)].attached())        {          servos[PIN_TO_SERVO(pin)].detach();        }        servos[PIN_TO_SERVO(pin)].attach(PIN_TO_DIGITAL(pin), minPulse, maxPulse);        setPinModeCallback(pin, SERVO);      }    }    break;  case SAMPLING_INTERVAL:    if (argc > 1)    {      samplingInterval = argv[0] + (argv[1] << 7);      if (samplingInterval < MINIMUM_SAMPLING_INTERVAL)      {        samplingInterval = MINIMUM_SAMPLING_INTERVAL;      }    }    else    {      //Firmata.sendString("Not enough data");    }    break;  case EXTENDED_ANALOG:    if (argc > 1)    {      int val = argv[1];      if (argc > 2)      {        val |= (argv[2] << 7);      }      if (argc > 3)      {        val |= (argv[3] << 14);      }      analogWriteCallback(argv[0], val);    }    break;  case CAPABILITY_QUERY:    Serial.write(START_SYSEX);    Serial.write(CAPABILITY_RESPONSE);    for (byte pin = 0; pin < TOTAL_PINS; pin++)    {      if (IS_PIN_DIGITAL(pin))      {        Serial.write((byte)INPUT);        Serial.write(1);        Serial.write((byte)OUTPUT);        Serial.write(1);        Serial.write((byte)PING_READ);        Serial.write(1);      }      if (IS_PIN_ANALOG(pin))      {        Serial.write(ANALOG);        Serial.write(10);      }      if (IS_PIN_PWM(pin))      {        Serial.write(PWM);        Serial.write(8);      }      if (IS_PIN_SERVO(pin))      {        Serial.write(SERVO);        Serial.write(14);      }      if (IS_PIN_I2C(pin))      {        Serial.write(I2C);        Serial.write(1); // to do: determine appropriate value      }      Serial.write(127);    }    Serial.write(END_SYSEX);    break;  case PIN_STATE_QUERY:    if (argc > 0)    {      byte pin = argv[0];      Serial.write(START_SYSEX);      Serial.write(PIN_STATE_RESPONSE);      Serial.write(pin);      if (pin < TOTAL_PINS)      {        Serial.write((byte)pinConfig[pin]);        Serial.write((byte)pinState[pin] & 0x7F);        if (pinState[pin] & 0xFF80)        {          Serial.write((byte)(pinState[pin] >> 7) & 0x7F);        }        if (pinState[pin] & 0xC000)        {          Serial.write((byte)(pinState[pin] >> 14) & 0x7F);        }      }      Serial.write(END_SYSEX);    }    break;  case ANALOG_MAPPING_QUERY:    Serial.write(START_SYSEX);    Serial.write(ANALOG_MAPPING_RESPONSE);    for (byte pin = 0; pin < TOTAL_PINS; pin++)    {      Serial.write(IS_PIN_ANALOG(pin) ? PIN_TO_ANALOG(pin) : 127);    }    Serial.write(END_SYSEX);    break;  case PING_READ:  {    byte pulseDurationArray[4] = {        (argv[2] & 0x7F) | ((argv[3] & 0x7F) << 7),        (argv[4] & 0x7F) | ((argv[5] & 0x7F) << 7),        (argv[6] & 0x7F) | ((argv[7] & 0x7F) << 7),        (argv[8] & 0x7F) | ((argv[9] & 0x7F) << 7)};    unsigned long pulseDuration = ((unsigned long)pulseDurationArray[0] << 24) + ((unsigned long)pulseDurationArray[1] << 16) + ((unsigned long)pulseDurationArray[2] << 8) + ((unsigned long)pulseDurationArray[3]);    if (argv[1] == HIGH)    {      pinMode(argv[0], OUTPUT);      digitalWrite(argv[0], LOW);      delayMicroseconds(2);      digitalWrite(argv[0], HIGH);      delayMicroseconds(pulseDuration);      digitalWrite(argv[0], LOW);    }    else    {      digitalWrite(argv[0], HIGH);      delayMicroseconds(2);      digitalWrite(argv[0], LOW);      delayMicroseconds(pulseDuration);      digitalWrite(argv[0], HIGH);    }    unsigned long duration;    byte responseArray[5];    byte timeoutArray[4] = {        (argv[10] & 0x7F) | ((argv[11] & 0x7F) << 7),        (argv[12] & 0x7F) | ((argv[13] & 0x7F) << 7),        (argv[14] & 0x7F) | ((argv[15] & 0x7F) << 7),        (argv[16] & 0x7F) | ((argv[17] & 0x7F) << 7)};    unsigned long timeout = ((unsigned long)timeoutArray[0] << 24) +                            ((unsigned long)timeoutArray[1] << 16) +                            ((unsigned long)timeoutArray[2] << 8) +                            ((unsigned long)timeoutArray[3]);    pinMode(argv[0], INPUT);    duration = pulseIn(argv[0], argv[1], timeout);    responseArray[0] = argv[0];    responseArray[1] = (((unsigned long)duration >> 24) & 0xFF);    responseArray[2] = (((unsigned long)duration >> 16) & 0xFF);    responseArray[3] = (((unsigned long)duration >> 8) & 0xFF);    responseArray[4] = (((unsigned long)duration & 0xFF));    Firmata.sendSysex(PING_READ, 5, responseArray);    break;  }  } } void enableI2CPins() {  for (byte i = 0; i < TOTAL_PINS; i++)  {    if (IS_PIN_I2C(i))    {      // mark pins as i2c so they are ignore in non i2c data requests      setPinModeCallback(i, I2C);    }  }  isI2CEnabled = true;  // is there enough time before the first I2C request to call this here?  Wire.begin(); } void disableI2CPins() {  isI2CEnabled = false;  queryIndex = -1; } void systemResetCallback() {  if (isI2CEnabled)  {    disableI2CPins();  }  for (byte i = 0; i < TOTAL_PORTS; i++)  {    reportPINs[i] = false;   // by default, reporting off    portConfigInputs[i] = 0; // until activated    previousPINs[i] = 0;  }  // pins with analog capability default to analog input  // otherwise, pins default to digital output  for (byte i = 0; i < TOTAL_PINS; i++)  {    if (IS_PIN_ANALOG(i))    {      // turns off pullup, configures everything      setPinModeCallback(i, ANALOG);    }    else    {      // sets the output to 0, configures portConfigInputs      setPinModeCallback(i, OUTPUT);    }  }  // by default, do not report any analog inputs  analogInputsToReport = 0; } void setup() {  Firmata.setFirmwareVersion(FIRMATA_MAJOR_VERSION, FIRMATA_MINOR_VERSION);  Firmata.attach(ANALOG_MESSAGE, analogWriteCallback);  Firmata.attach(DIGITAL_MESSAGE, digitalWriteCallback);  Firmata.attach(REPORT_ANALOG, reportAnalogCallback);  Firmata.attach(REPORT_DIGITAL, reportDigitalCallback);  Firmata.attach(SET_PIN_MODE, setPinModeCallback);  Firmata.attach(START_SYSEX, sysexCallback);  Firmata.attach(SYSTEM_RESET, systemResetCallback);  Firmata.begin(57600);  systemResetCallback(); // reset to default config } void loop() {  byte pin, analogPin;  /* DIGITALREAD - as fast as possible, check for changes and output them to the   * FTDI buffer using Serial.print()  */  checkDigitalInputs();  /* SERIALREAD - processing incoming messagse as soon as possible, while still   * checking digital inputs.  */  while (Firmata.available())  {    Firmata.processInput();  }  /* SEND FTDI WRITE BUFFER - make sure that the FTDI buffer doesn't go over   * 60 bytes. use a timer to sending an event character every 4 ms to   * trigger the buffer to dump. */  currentMillis = millis();  if (currentMillis - previousMillis > samplingInterval)  {    previousMillis += samplingInterval;    /* ANALOGREAD - do all analogReads() at the configured sampling interval */    for (pin = 0; pin < TOTAL_PINS; pin++)    {      if (IS_PIN_ANALOG(pin) && pinConfig[pin] == ANALOG)      {        analogPin = PIN_TO_ANALOG(pin);        if (analogInputsToReport & (1 << analogPin))        {          Firmata.sendAnalog(analogPin, analogRead(analogPin));        }      }    }    // report i2c data for all device with read continuous mode enabled    if (queryIndex > -1)    {      for (byte i = 0; i < queryIndex + 1; i++)      {        readAndReportData(query[i].addr, query[i].reg, query[i].bytes);      }    }  } }
MKR1000 Sketch
C#This sketch sends the majority of sensor readings to the app running on the Raspberry Pi. Make sure to update the Wifi SSID and Password before uploading.
#include <OneWire.h> #include <DallasTemperature.h> #include <ArduinoHttpClient.h> #include <WiFi101.h> #include <SimpleDHT.h> // Using Pin 5 of MKR1000 #define ONE_WIRE_BUS_PIN 5 // TODO: Move out ot separate file #define SECRET_SSID "SECRET_SSID" #define SECRET_PASS "SECRET_PASS" #define RIG_NAME "Gill" char ssid[] = SECRET_SSID; char pass[] = SECRET_PASS; // Setup a oneWire instance for temperature probes OneWire oneWire(ONE_WIRE_BUS_PIN); // Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); // probe_a: "28 FF 2F 9C B0 16 3 34" // probe_b: "28 FF 36 1E B1 16 4 4D" // probe_c: "28 FF 27 1E B1 16 4 FC" // probe_d: "28 FF 6A 74 B0 16 5 87" // probe_e: "28 FF  E B5 B0 16 3 E2" // Define device addresses for each probe DeviceAddress Probe01 = {0x28, 0xFF, 0x2F, 0x9C, 0xB0, 0x16, 0x03, 0x34}; DeviceAddress Probe02 = {0x28, 0xFF, 0x36, 0x1E, 0xB1, 0x16, 0x04, 0x4D}; DeviceAddress Probe03 = {0x28, 0xFF, 0x27, 0x1E, 0xB1, 0x16, 0x04, 0xFC}; DeviceAddress Probe04 = {0x28, 0xFF, 0x6A, 0x74, 0xB0, 0x16, 0x05, 0x87}; DeviceAddress Probe05 = {0x28, 0xFF, 0x0E, 0xB5, 0xB0, 0x16, 0x03, 0xE2}; int uvSensor = A1; int uvIndex = 0; int pinDHT22 = A2; SimpleDHT22 dht22(pinDHT22); int soilSensor = A3; int soilMoisture = 0; char serverAddress[] = "192.168.86.127"; // raspberry pi address int port = 3030; WiFiClient wifi; HttpClient client = HttpClient(wifi, serverAddress, port); int status = WL_IDLE_STATUS; String response; int statusCode = 0; void setup() {  // start serial port to show results  Serial.begin(9600);  delay(3000);  pinMode(LED_BUILTIN, OUTPUT);  while (status != WL_CONNECTED)  {    Serial.print("Attempting to connect to Network named: ");    Serial.println(ssid); // print the network name (SSID);    // Connect to WPA/WPA2 network:    status = WiFi.begin(ssid, pass);  }  // print the SSID of the network you're attached to:  Serial.print("SSID: ");  Serial.println(WiFi.SSID());  // print your WiFi shield's IP address:  IPAddress ip = WiFi.localIP();  Serial.print("IP Address: ");  Serial.println(ip);  Serial.print("Initializing Temperature Control Library Version ");  Serial.println(DALLASTEMPLIBVERSION);  // Initialize the Temperature measurement library  sensors.begin();  // set the resolution to 10 bit (Can be 9 to 12 bits .. lower is faster)  sensors.setResolution(Probe01, 9);  sensors.setResolution(Probe02, 9);  sensors.setResolution(Probe03, 9);  sensors.setResolution(Probe04, 9);  sensors.setResolution(Probe05, 9); } void loop() /****** LOOP: RUNS CONSTANTLY ******/ {  Serial.println();  Serial.print("Total Probes: ");  Serial.println(sensors.getDeviceCount());  // Command all devices on bus to read temperature  sensors.requestTemperatures();  float probeA = sensors.getTempC(Probe01);  float probeB = sensors.getTempC(Probe02);  float probeC = sensors.getTempC(Probe03);  float probeD = sensors.getTempC(Probe04);  float probeE = sensors.getTempC(Probe05);  float moistureSensorValue = analogRead(soilSensor);  soilMoisture = ((moistureSensorValue / 1024) - 1) * 100 * -1;  float uvSensorValue = analogRead(uvSensor);  uvIndex = uvSensorValue / 1024 * 3.3 / 0.1;  Serial.print("Rig Name: ");  Serial.println(String(RIG_NAME));  Serial.print("ProbeA:  ");  printTemperature(Probe01);  Serial.println();  Serial.print("ProbeB:  ");  printTemperature(Probe02);  Serial.println();  Serial.print("ProbeC:  ");  printTemperature(Probe03);  Serial.println();  Serial.print("ProbeD:  ");  printTemperature(Probe04);  Serial.println();  Serial.print("ProbeE:  ");  printTemperature(Probe05);  Serial.println();  Serial.print("soilMoisture:  ");  Serial.print(soilMoisture);  Serial.println();  Serial.print("uvIndex:  ");  Serial.print(uvIndex);  Serial.println();  byte temperature = 0;  byte humidity = 0;  int err = SimpleDHTErrSuccess;  if ((err = dht22.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess)  {    Serial.print("Read DHT22 failed, err=");    Serial.println(err);  }  else  {    Serial.print("DHT22: ");    Serial.print((int)temperature);    Serial.print(" *C, ");    Serial.print((int)humidity);    Serial.println(" RH%");  }  String postURL = String("POST readings to " + String(serverAddress) + ':' + String(port));  Serial.println(postURL);  String contentType = "application/x-www-form-urlencoded";  String postData = String(      "probeA=" + String(probeA) +      "&probeB=" + String(probeB) +      "&probeC=" + String(probeC) +      "&probeD=" + String(probeD) +      "&probeE=" + String(probeE) +      "&rig_name=" + String(RIG_NAME) +      "&uvIndex=" + String(uvIndex) +      "&soilMoisture=" + String(soilMoisture) +      "&humidity=" + String(humidity) +      "&temperature=" + String(temperature));  digitalWrite(LED_BUILTIN, HIGH);  client.post("/temperatures", contentType, postData);  // read the status code and body of the response  statusCode = client.responseStatusCode();  response = client.responseBody();  Serial.print("Status code: ");  Serial.println(statusCode);  Serial.print("Response: ");  Serial.println(response);  digitalWrite(LED_BUILTIN, LOW);  delay(100);  digitalWrite(LED_BUILTIN, HIGH);  delay(100);  digitalWrite(LED_BUILTIN, LOW);  delay(100);  digitalWrite(LED_BUILTIN, HIGH);  delay(100);  digitalWrite(LED_BUILTIN, LOW);  delay(1000); } // print temperature for device adress void printTemperature(DeviceAddress deviceAddress) {  float tempC = sensors.getTempC(deviceAddress);  if (tempC == -127.00)  {    Serial.print("Error getting temperature  ");  }  else  {    Serial.print(tempC, 1);    Serial.print(" C");    // Serial.print(" F: ");    // Serial.print(DallasTemperature::toFahrenheit(tempC));  } }
SmartTerrariumClient
This is the Client portion of Smart Terrarium built using Vue.js.
ryanjgill / smart-terrarium-client
Client for Smart Terrarium —
Read More
Latest commit to the master branch on 5-27-2019    
Download as zip
SmartTerrariumApp
Smart Terrarium App for receiving data, controlling hardware, and running the Smart Terrarium Client. This repo also contains the sketch for the MKR1000.
ryanjgill / smart-terrarium-app
Smart Terrarium App for receiving data, controlling hardware, and running the Smart Terrarium Client — Read More
Latest commit to the master branch on 5-31-2019      
Download as zip
(This article copied from hackster.io Author: Ryan Gill)
0 notes
gabrielmorrison · 8 years
Note
🔥, 🍳, 💎, 💫
🔥: How many special interests do you have at the moment?
rn mm prob like. 2 main ones lol being animal husbandry and lazytown :D pokemon is still a background one tho :^)
🍳: Do you have a stim related to your special interest?
not 2 b gay but w lazytown lots of dancing stuff w the songs @___@ also a lot of the words get stuck in my head and i repeat it A Lot lol
💎: When and how did you discover your special interest?
W the animal husbandry that was mm last summer? it started w a book on guinea pig care ! after i got my job @ petco tho i got waayyy more into it and now looking into that kind of stuff is always a go to ! w lazytown it was w all the memes lmao but i really love the show and chars regardless of meme status 
💫: Favorite fact about your special interest?
snakes dont have any arms 
lol fr tho w ah theres so many things like aspects about it i love i could go on and on but ig the fact that stands out to me most is that snakes do not have the chemical capacity to love x___x tht breaks my heart dude
w lazytown its that stefan was in his early 20s for ggíl thats so cool dood
2 notes · View notes
margdarsanme · 4 years
Text
NCERT Class 12 Sociology Chapter 3 The Story of Indian Democracy
NCERT Class 12 Sociology: Social Change and Development in India
Chapter 3 The Story of Indian Democracy
NCERT TEXTBOOK QUESTIONS SOLVED : Q. 1.Interest groups are part and parcel of a functioning democracy. Discuss. Ans. :
Interest groups are organised to pursue specific interest in the political arena, operating primarily by lobbying the members of the legislative bodies.
When certain groups feel that their interests are not being taken up, they may move to form an alternative party.
Democracy is a form of government for the people, by the people and of the people. In this system interest groups are formed for specific interest.
Interest groups are private organisation. They are formed to influence public policy.
These are non political systems and their main goal are to take care of their own interest.
Political parties are established organisations with the aim of achieving governmental power and using that power to pursue a specific programme. Different interest groups will work towards influencing political parties.
These organisations are regarded as movements until they achieve recognition.
The interest groups play a significant role in Indian democracy and they perform various important functions such as:
(a) Formation of Public Opinion: 
Using various forms of propaganda and communication, they mould public opinion. To get goodwill of public opinion and change in administrative system in their own favour they use T.V., radio, Email and various forms of social media, twitter and face book.
(b) Function at the time of Natural Disaster: 
These interest groups provide help during natural calamity like Himalayans Tsunami at Kedamath or earthquakes etc. By doing such social activities they get public attention and favour and they influence the government. 
Q. 2. Read the snippets from the debates held in the Constituent Assembly. Identify the interest groups. Discuss what kind of interest groups exist in contemporary India. How do they function? Ans. : 
Snippets from the debates
K.T. Shah said that the right to use full employment could and should be made real by a categoric obligation on the part of the state to provide useful work to every citizen who was able and qualified.
B. Das spoke against classifying the functions of the government as justiciable and non-justiciable. “I think it is the primary duty of Government to remove hunger and render social justice to every citizen and to secure social security…”. The teeming millions do not find any hope that the Union Constitution… will ensure them freedom from hunger, will secure them social justice, will ensure them a minimum standard of living and a minimum standard of public health”.
Ambedkar’s answer was as follows:
“The Draft Constitution as framed only provides a machinery for the government of the country. It is not a controversy to install any particular party in power as has done in some countries. Who should be in power is left to be determined by the people, as it must be, if the system is to satisfy the tests of democracy.
On land reform Nehru said, that social forces were such that law could not stand in the way of reforms, interesting reflection on the dynamic between the two. “If law and Parliament do not fit themselves into the changing picture, they cannot control the situation”.
On the protection of the tribal people and their interests, leaders like Jaipal Singh were assured by Nehru in the following words during the Constituent Assembly „ debates: “It is our intention and our fixed desire to help them as possible; in as efficient a way as possible to protect them from possibly their rapacious neighbours occasionally and to make them advance”.
Even as the Constituent Assembly adopted the title Directive Principles of State Policy to the rights that courts could not enforce, additional principles were added with unanimous acceptance. These included K. Santhanam’s clause that the state shall organise village punchayats and endow them with the powers and authority to be effective units of local self government.
T.A. Ramalingam Chettiar added the clause for promotion of cottage industries on co-operative lines in rural areas. Veteran parlimentarian Thakurdas Bhargava added that the state should organise agriculture and animal husbandry on modem lines.
Interest groups are people outside the government who support the political parties to gain favours from them when they are in power. These are private organisation formed to influence public policy. They are non political groups whose main aim is to uphold their own interest.Political parties are not political parties. In India interest groups adopt two methods i.e. to influence the legislative committees and to help people at the time of natural calamity.
In contemporary India ASSOCHAM, FICCI, Labour Unions, Student’s union,Farmers union, women’s organisations are example of pressure group and interest groups.
Q. 3. Create a ‘phad’ or a scroll with your own mandate when standing for school election.(This could be done in small group of 5, like a panchayat). Ans. : 
Being member of school Panchayat we will focus on following areas:
Panchayat members will try to inculcate self discipline among students. Being students we will function as a role model for rest of the students.
Being co-educational school, we will create an environment where girls get respect
and security so that indirectly we will provide a solid base for a healthy society.
We will take care of developing a system, through which students develop habit of self study and special coaching for professional courses may be arranged in the school.
Panchayat will take care of special children and remedial teaching for them.
Panchayat will coordinate with the Principal and may function as a pressure group to take care of proper student-teacher ratio, admission policy of the school, proper uniform, distribution of mid-day- meal etc.
Panchayat will also coordinate with the Principal and Managing staff to take care of games, sports, co-curricular activities and use of technology in school education.
Q. 4. Have you heard of Bal Panchayats and Mazdoor Kissan Sanghathan? If not, find out and write a note about them in about 200 words. Ans. : 
Bal Panchayat: 
My school follows a prefectoral system. The school has four houses. ,From each house, the house masters and the house children elect five prefects on the basis of their academic performances, leadership traits and their antecedents regarding .contribution for the curricular and co-curricular activities of the house. The principal,teachers and 20 prefects elect head boy of the school. The head boy functions as a prototype of the school. He/she is responsible for discipline, school environment, curricular and co-curricular activities, social interaction particularly with the other schools and is accountable for student’s activities in the school. The head boy particularly coordinates with the principal, headmasters, and house masters with the help of 20 prefects and helps in proper functioning of school buses, maintenance of assets, school fields, taking care of school property and by and large school discipline.
Mazdoor Sanghathan: 
In 1920, first All India Trade Union Congress (AITUC) was established.
It was initiated by the congress but in 1929 hijacked by the communists.
Indian Trade Union Congress (INTUC) untraced by the congress, Hind Mazdoor Sabha organised by the socialists and Bhartiya Mazdoor Sabha linked with Bhartiya Janta Party earlier Jan Sangh.
These trade unions played a very significant role in the recruitment, wage policy, functioning, living conditions, hire and fire policy and by and large developing a political and social awareness among the workers. Kissan Sanghthan: India is a country of villages. Even today 75% of Indian population is living in villages and depends on agriculture.
Earlier this population was not politically aware with their rights. They were very much traditional and attached to their customs and rituals but due to congress and communists now the kissans of India are politically very mature, are aware with their strength and providing strong base to Indian democracy. This is very much proved in 2014 election when these peasants voted for a stable government breaking the caste, class and region bondings.
Pt. Jawaharlal Nehru and Sardar Vallabh Bhai Patel took initiates in 1936 congress session at Lucknow and All India Kissan Sabha was established but due to caste and class conflict it could not function. Later CPI activists took command of Kissan Sabha. Many Kissan organisations emerged in India after independence. The socialists established Hind Kissan Panchayat and instead the Kissan Sabha by Marxist. The communist party of India (Marxists) established revolutionary peasants convention in 1967. This organisation gave lead to Naxalbari movement in West Bengal.
Due to the motivative of Shri Raj Narain and Choudhary Char an Singh in 1978 formed the All India Kissan Kamgar Sammelan. Many politicians and farmers like Shri Mahinder Singh Tikkait tried to organise the Kissans of India but even now this peasant group of India is not a well organised pressure group.
Q. 5. The 73rd amendment has been monumental in bringing a voice to the people in the Villages. Discuss. Ans. : The 73rd amendment has been monumental in bringing a voice to the people in the villages because this amendment is related to the directive principles of the state policy and panchayati raj. The amendment is based on the principle of power of the people and provides . constitutional guarantee to the Panchayats.
Main features of the Act:
Recognition to Panchayats, as institutions of self government.
Panchayat’s power and responsibilities to prepare a plan for economic development and social justice.
Establishment of uniform 3 tier system of strong Panchayats at village, block and district levels for all states having a population of over 20 lakhs.
The Act provides guidelines for the structure powers and functions, finance and elections and reservation of seats for the weaker sections of the given area.
Importance of the Act:
It was a revolutionary step towards establishing grassroot democracy.
All the states have passed legislation on the basis of guidelines and provision of the amendments.
Because of this act Panchayati Raj System at grassroot level became a reality.
Q. 6. Write an essay on the ways that the Indian Constitution touches peoples’ everyday life, drawing upon different examples. Ans. :
Indian constitution has given a democratic system to all of us.
Democracy is a government for the people, of the people and by the people. It is not limited to political freedom or economic and social justice. It is also about equal rights to all respective of caste, creed, race and gender.
Indian constitution has established Secularism. We have respect for all the religions and all the Indians have  fundamental right to have faith in their own religion. Indian constitution provides equal rights to minority communities by extending friendly relationship and all sort of support system to them.
India is a welfare state and a Sociologist patronise society. It is our duty to protect public and national property. We all have equal opportunities to make use of resources and put our best effort for economic development.
Indian constitution provides social, political and economic justice and equality to all citizens of India. 
Therefore it is our duty to support the government to participate in activity of government programmes like population control, smallpox, Malaria or Pulse Polio Programmes. Food Security Bill, Right to Information (RTI), Right to Education (RTE) and efforts for women empowerment are few major efforts made by the government to strengthen Indian democracy.
from Blogger http://www.margdarsan.com/2020/08/ncert-class-12-sociology-chapter-3.html
0 notes
todaybharatnews · 5 years
Link
via Today Bharat nbsp; nbsp; As many as 129 sheep belonging to farmers were killed after lightning struck them in a freak accident at rural Guntur in Andhra Pradesh in the wee hours of Wednesday. The sheep were left in the grazing fields overnight by the farmers, as was their practice but were found dead the next morning. According to the Vedullapalli Police station of Bapatla mandal in Guntur, it was around 6am on Wednesday when the five men to whom the sheep belonged woke up to find that their livestock were all killed. The incident took place between the grazing fields of Vedulapalli and Kothapalem villages. "It's normal practice to take them for grazing in the evening and stay over for the night. The men were also sleeping, but they were not harmed. The men were from Maddiboyinavaripalem village. They had come here to graze their sheep," said Rajasekhara Reddy, Sub Inspector with the Vedullapalli Police station. The official informed that though the farmer's livestock was not insured, the Animal Husbandry Department was mulling on compensating the farmers for their losses. The official in charge for Guntur region was unavailable for comment. Most of the 129 sheep belonged to five farmers viz. Maddiboyina Veeraiah, Maddiboyina Siva, Akki Srinivasa Rao, Akki Musalaiah and Bobby. Sheep owned by a couple of others were also found among the dead, said the police. Earlier this week on October 3, a 55-year-old labourer was killed after being struck by lightning in Krishna district of Andhra Pradesh. The victim, who was identified as B Nageswara Rao, was an agricultural labourer who was returning to his home from the fields with his livestock when lightning stuck him. The incident took place at Chavalapadu village of Mandavalli Mandal. The Indian Meteorological Department (IMD) in the meantime has issued two alerts for Andhra Pradesh. One alert has been issued for the state's Rayalaseema region and the other for north coastal Andhra. "Heavy rain very likely to occur at isolated places over north coastal Andhra Pradesh. Thunderstorm accompanied by lightning very likely to occur at isolated places," the IMD said. "Thunderstorm accompanied with lightning very likely to occur at isolated places over Rayalaseema," it added
0 notes