text:
Oscar Best Picture Odds 2023: Here's how likely all 10 shortlisted movies are to win the Academy Awards - from The Fabelmans to Avatar
Oscars 2023: Latest odds for Best Actor award - from Austin Butler to Paul Mescal
Pacifists who opposed First World War remembered
THE thousands of Scots who protested against the First World War have been commemorated in a new book telling the stories of conscientious objectors and others who campaigned against the conflict.
By TOM PETERKIN
25th Mar 2015, 12:00am
Conscientious objectors pictured during their imprisonment in Dyce Camp near Aberdeen. Picture: Getty
Those who were jailed for their pacifist beliefs are remembered in the book, as are politicians, clergymen and members of the public who took a principled stance against the 1914-18 war.
The anti-war movement that saw 5,000 people gather on Glasgow Green after the outbreak of hostilities is chronicled by author Robert Duncan in Objectors & Resisters: Opposition to Conscription and War in Scotland.
The book examines the role played by political figures like the Labour Party founder Keir Hardie, the early Scottish nationalist Roland Muirhead and the Communist MP Willie Gallacher.
Gallacher was one of many to be jailed for sedition, serving a sentence in Calton Prison.
Also imprisoned was John Maclean, the revolutionary socialist who was tried for seditious speeches in and around Glasgow, and sentenced to three years imprisonment, initially in Calton, then Peterhead.
Also dealt with is the exiled anti-war Russian revolutionary Peter Petroff, who worked closely with Maclean in Glasgow and was imprisoned in Edinburgh Castle, followed by a two-year internment in a labour camp.
Yesterday Mr Duncan said: "This book redresses the balance in that there has been a lot written about the Great War, but there has been very little about those who objected.
"They were taking a courageous stance for their principles. They were prepared to go to prison or labour camps. They were prepared to suffer for their principles and that is something that not many people know about these days."
With many of the male leaders of the movement imprisoned, the book charts the important role played by female peace campaigns including rallies organised by the Women Peace Crusaders that attracted up to 14,000 men, women and children through Glasgow.
It also details the "state suppression" of the anti-war movement, discussing state surveillance, harassment, intimidation, political victimisation, repression, and what it describes as "violent attention from organised jingoism".
The book does not neglect the courage of ordinary working class people who argued for their right not to fight.
For example, it quotes a teenage tailor from Edinburgh, Abel Freeman, who was brought before a tribunal to explain his anti-war stance. Appearing before the tribunal, Freeman, 19, said: "If you do not grant me absolute exemption, I am prepared to be shot for my principles, which I would not allow to be violated."
The book has been published this week by Common Print, the publishing arm of the left-wing Common Weal think-tank.
Isobel Lindsay of the Common Weal, who is also vice-convener of Scottish CND said: "The opponents of WW1 deserve recognition and now they have it. Scotland had the highest proportionate loss of life on the battlefield apart from Turkey and Serbia but Scotland also saw some of the most active opposition to the war.
"The struggles of those who opposed the war in the face of persecution and repression helped to shape Scotland's radical tradition in ways that live on today."
Twitter | Facebook | Google+
Subscribe to our DAILY NEWSLETTER (requires registration)
SCOTSMAN TABLET AND MOBILE APPS
iPhone | iPad | Android | Kindle


"We have a duty towards music, we must invent it," Igor Stravinsky said. We have the duty towards music to play it and you can come to the Convergences to listen to it.
The rebel, the globetrotter and the compositional icon of the music of the 20th century IGOR STRAVINSKY (1882 – 1971) comes in February 2019 as an exclusive guest to the Festival Convergences. During three evenings in the Slovak Radio except other pieces by Stravinsky will resound also the scandalous Rite of Spring in captivating interpretation of the piano duo of Miki and Nora Skuta, the sophisticated Bachian Concerto "Dumbarton Oaks", the elegant Italian Suite and Musical Story, the timeless anti-war message The Soldier's Tale (translation Ján Štrasser) with the charismatic Robert Roth in the role of the narrator. Excellent home and foreign artists will be performing also this time: the violinists Igor Karško and Milan Paľa, the Canadian violist Juan-Miguel Hernandez, the cellist Jozef Lupták, the contrabassist Juraj Griglák, the clarinetist Ronald Šebesta, the Hungarian trumpeter Zoltán Molnár, the soprano Eva Šušková, the dancers Krisztián Gergye, Ivica Franeková and others.
A part of the Festival will be already indispensably the accompanying events, thanks to which we offer to the audience the opportunity to have closer insight into the life and work of the composer and to get in the mood for the main programme. Also this time will take place a reading about music performed by Robert Roth, a movie night and an informal discussion with the artists.
We are looking forward to meetings with music.


No filler neck included. Must use existing filler neck. For a better seal use Permatex Indian Head Gasket Shellac Compound or Aviation Form-A-Gasket sealant on the gasket and screws.
Holley and Sniper will help you to complete your EFI swap with our new EFI Conversion Fuel Tanks. Each tank is a direct fit for your application-no modifications necessary. The kit includes the tank, a 255 lph fuel pump, internal baffling, a fuel level sender, and the filler neck. The tank is powder coated for corrosion resistance and great looks. These tank kits are a complete solution for your EFI project! ***Steel filler neck is not included. You must use your existing stock filler neck or purchase one through restoration suppliers. Supports up to 550 EFI (@ 60 PSI at 13.5 Volts / 10.4 AMP Draw) ***No filler neck included. Must use existing filler neck. Size is: 38" x 15-1/8" x 11-1/8" Gauge sender included is for 0-30 ohms.
No filler neck included. Must use existing filler neck.


The value of this variable is a search list used by load (and equivalents like the :ld top-level command) to find a file to load when incomplete pathname information is supplied.
See Search lists in loading.htm for a description of the search list algorithm and structure.
That tells what file type to look for when no type is provided.
See loading.htm for general information on loading and search lists in Allegro CL.


And then it happened. One night on one of my many commuter train rides home from Northwestern – this time it was the 11PM train after teaching a night class – I found myself asking God again to reveal himself to me. And then I heard it, inaudibly, but I heard it, or better said, I just knew. It was an epiphany moment. It was a light bulb going off. I describe it as God telling me. All of a sudden, in answer to my plea "reveal yourself to me," I heard "I already did. Jesus." Whoa! Whoa! Whoa!!!!!!!!!!!!!!!!
I hope you can imagine my sheer joy, my awe, my satisfaction and peace, my adrenaline and energy, all wrapped up in one simple little moment on the commuter train with people and life going on all around me like a typical 11PM train ride normally contains. But in that moment, in my seat, my life just changed forever. I was thrilled. God had answered my prayer. I raced home and rapidly typed out a long e-mail to a couple of my prayer group friends who had been hearing me pray this request to God for at least a few weeks. I couldn't contain myself. I had just fell in total love with Jesus, and I hardly even knew him yet!
Since this all took place, I have not been able to keep my eyes off Jesus. I am fixated on him. Like Mary in the story of Mary and Martha, all I want to do is sit at Jesus' feet and listen to him speak. When I read the Gospels I join the crowd as one who is there in the first century AD, and I just watch Jesus work. I watch God act, speak, move, and love as a human being. It is the most fantastic and precious gift we could ever ask for. For all those asking the same question I asked – "God, what are you?" – here is the answer in Jesus! Jesus is God. Incredible, nearly. A mystery, yes. Does Jesus say this about himself? YES! Why did I miss this my whole life? I think I know.
I've heard it said that until someone is asking the question, the answer is un-impactful. That applies to my story here. Even growing up a Christian, it wasn't until my heart was pleading with God for him to allow me to know him that I realized the depth of the gift he gave us by becoming man. Now I can know him. Now I can know God.
And what I have even more recently come to appreciate is that Jesus is still alive today!
Oh to know him deeply.


It's the same thing every time, no lamp in place when you need one – so why not build a lot of these – always in place !
Start with localising the anode (+) and cathode (-) of the LED. Mark them up as I did (with a felt-pen), red for anode (the longer leg) and black for cathode (shorter leg and phased edge on the bottom of the plastic of the LED). I will in the following text write red and black.
Then you need to open the old battery, as we will use the plastic part with contacts on the top. Don't forget to throw the rest in recycling for batteries.
Now to the LED's. Carefully bend the legs towards each other, hold between the plastic and bending point with a prier as you see in the picture.
as LED's don't like high temperature. Beware of short circuits between the legs.
Then cut off the rest of the legs outside of the soldering points. Check that you have one black side and one red side of the LED's with the legs intact.
Place the LED-packet in the plastic top, trim and adjust the black and red legs so they fit to the back of the contacts. The red connects to the contact which have openings, and the black to the round contact (opposite to the fresh battery) and solder carefully and quickly (the LED's don't like the heat and the plastic can melt).
Adjust the LED's so they point forward nicely, and check once more that no short circuits have appeared.
Put just one contact together with the battery, and swing the LED-box over the other contact – and see – the three LED's light up! Just swing back – and you have an integrated switch.
The LED's in this application will not light up fully, they need almost 4 Volt to do that and here they get only 3 Volt – but I think it's enough, three LED's give a lot of light.
If you are brave (and rich) why not test with only two LED's, they will not have a long life – but one hell of a light.
What about the magnet? Yes, glue it up on the wall, and your lamp will stick on it – and you always know where the lamp is.
But don't do as I did – I put my lamp on the magnet before the glue was dry and so I had to pick it all up from the floor (but nothing broke – the construction is now tested in both function and strength).
Great DIY! Far cheaper than buying a flashlight and batteries. Simple and functional. I might try it myself. We don't have those same 9V batteries here in Canada, but I should be able to find a sutable 9V battery connector at the electonics store.
You show a total ignorance of basic electronics.
LEDs are not resistive devices like lightbulbs, they are semi-conductors. That 3.5V rating or whatever is not a measure of what you need to apply to light the LED, it's a forward bias voltage drop.
There is a very narrow voltage range where the LED switches from opened to closed circuit (in a theoratically ideal LED, this would be 0, in the real world there's a small range).
At best your circuit will have highly variable brightness, as the battery weakens a little, the LEDs will dim a lot and you'll seem to have a dead battery when it's mostly good. At worst, you're destorying the LEDs.
I think it is a great DIY. It isn't an engeneering feat or anything of the like and has an obvious fault, but for the application it is a perfect solution. If I improved anything I would snip off one of the "tabs" of the connection with the "holes" (very technical) so that the connectors can slide smoothly over each other for a quick beam of light. Great job!
electronics 101, instead of having a go the project why don't you suggest a way of improving it. It would be more constructive and you'd look like less of a d**k.
Great project. If you connect the leds in parallel with a 150ohm resistor you get great light, longer led life, and extended battery life(3 days of constant on time). You an also cut part of the metal top off of the disgarded battery to use as a case for more complex projects that will work in the same manner. Sand the paint off for a cool metal look.
Maybe you could fill the base of the LED holder with epoxy. That way there won't be any shorts later on and it'll be really sturdy. It appears to be a nice cup shape already.
The parallel LED suggestion seems like a good modification too.
what is the website where I can buy the 3 LEDs?
pumps, project boxes, etc. Nice prices, too.
what I am supposed to be buying? Are these the correct ones to buy? Have other people bought these and worked?
Ethan, those look like they'll work, but the price is obscene. You can usually get a 50 pack for under $10 shipped. Try ebay, I've ordered from the Chi-Wing Led shop there several times.
You're right, E101, Chi-Wing does have better prices on their LED's, and 2x-3x the light output. But you can't beat Sciplus for variety of merchandise and witty item descriptions.
Thank you, but Chi- Wing does not carry this one. Can somebody give me an exact URL of where this item is located?
Check #14 – more links !
↑↑↑ And this means what?
Ethan, it means you are far to stupid to be allowed to play with batteries or solder – did you eat a lot of both when you were younger?
Ethan (#15), if you are looking for cheap shipping we have low shipping rates and high quality LEDs. $3.00 shipping anywhere in North America (a bit more for the rest of the planet) for 100 or less LEDs.
LED and 5.5V across the remaining wire. Since theoretical wire has zero resistance, infinite current will flow.
battery. Also, the 3.5V is a "soft" number (hence, the "or so" earlier"), and some light will be emitted at a lower voltage.
Ohm's Law for further details on this.
Any recommendations on where to obtain and how to insert a simple on/off switch to this project? Thanks.
I use a similar configuration, only 2 LEDs in series wit a 100 ohm resistor (1/4 watt) and a 1N4148 diode. With a fresh 9V battery you have 20 milliamps that is the desired maximum current for the usual LEDs.
And, vhen you dismount the dumped battery, pick too the plastic bottom, make two 5 mm holes with your solder iron and put this piece like a cover over your lamp with the upper part of the leds protruding out of the holes. Carefully you can fix well the leds and close all with epoxy or, in my case i had used hot glue (aiii it is hot!!!). If you desire is possible to fix on a side of the cover a little loop realised with iron wire, so you can connect your lamp to a lanyard (to me happens to drop the head of the lamp in the darkness, so better to have a lanyard). For the switch i use the #25 method, swing switch BUT fix well everything with the glue or the torsion can break the internal leads of your circuit.
Sorry for my english but is not my mother language.
the diode 1N4148 is required to protect the leds from an eventual reverse tension, 98% of the times is not necessary …. but Murphy…..
As Alberto posted it would be easier with 2LED's glowing and a resistor in place.
My intention was to use all battery energy to light (no burning of energy in a resistor)- But perhaps you can use that burning energy in the resistor as a 'handwarmer'.
Any idea how long the light output is usable?
What about usable light versus a commercial light, or versus the modification of using the resistor with two led's?
Nifty project…but what's up with the quick-tempers?! Does playing with 9v batteries give you some sort of rage issues? Be nice, people.
store.. unless you want to 'butcher something that is broken, but has 2, 3 or even 4 hi-output white LEDS in it.
and putting them in series. that's just me though. (plus, 3 AAs (even rechargables) will last far longer than a 9V.
has come up with, is infantile and tactless. do us a favor.. Please use your knowledge and not your attitude.
for the tail lights too..
Thanx for the motivation Chris!
Chris J, your idea of using the top of an old 9v battery is very clever.
Better,IMO, than using a 9v battery clip, with its' attending wires.
are still pretty cool. I got all the parts from various vendors on eBay.
The epoxy idea is great, too.
but I am too much of a novice to say for sure.
I just built the PopSci LED candle today (mentioned above by Marvin, #34) and found this article while looking for modifications. Love the old battery top idea. The PopSci method requires no soldering, which is nice.
Oh, and Marvin, I'm also a novice but Popular Science clearly did get the polarities wrong, as you said: they made the red lead of the battery snap (battery clip) negative, but I knew from Alan's website that RED is positive. I also had to google to learn that the LONGER LED lead is usually the positive one.
Sorry for the multiple post: this picture should help my fellow novices.
Thanks for the feedback, Dave. I thought the polarities were backwards.
with the right resistors, these LED candles will last virtually a lifetime.
The wiki article was helpful also, Dave. Thanks.
This was awsome! All kinds of great ideas and knowledge. I found a great place to get all your led's and resistors for a really good price try digikey.com, you buy in bulk but way cheaper than ebay;) thanks everyone.
hey please explain, how did you put the LED in the plastic socket?
please email me at superinggofan@yahoo.com.ph please!
I've been crazy about this for awhile and had to take it one step further. Kimmer, start with an old solar yard light that quit working. Take it apart and clean the contacts. Radio shack sells circuit/contact cleaner in a spray. I replaced the little LED with a 10mm led! Then I replaced the battery. Next, I sprayed silver/chrome paint on anything that looked like it was going to be reflecting the light that is emitted. I now have a solar charged light that is bright! It has lasted a year in the yard. One the occasions that power goes out, I have a 4″x4″x2″ block of wood with a hole drilled in it. The post from the light sits in it so I can use it indoors at night if I need to.
I started collecting old solar yard lights from neighbors for free and rebuilding them. Then I give them back as gifts!
Does anyone know where I can buy very inexpensive 5mm 365nm – 375nm UV Led's, everyone seems to want lots of money.


Draft minutes of the Administration and Finance Committee meeting held on Thursday 2 March 2017.
Draft minutes of the Administration and Finance Committee meeting held on Wednesday 8 March 2017.
Copy of the DRAFT DBOM contract from Freeths for Parkwood Leisure.
Please take a look through this document prior to the meeting on 5 July 2018.
Draft minutes of the Neighbourhood Plan Delivery and Monitoring Group meeting held on 9 June 2016.
Draft minutes of the Parish Council meeting held on Thursday 21 March 2019.
Draft minutes of the Neighbourhood Plan Delivery and Monitoring Group meeting held on 6 July 2017.


text:
Anirudh, Amy Jackson team up for music video
July 9, 2015 by safoora
Southern composer Anirudh Ravichander of "Why this kolaveri di" fame and actress Amy Jackson will soon head to the US to shoot a music video for the single "Enakenna Yaarum Illaye" from upcoming Tamil film "Aakko".
"While the single was released earlier this year, the makers are now planning to shoot a music video featuring Anirudh and Amy Jackson. The video will be shot in the US most likely in August," a source from the film's unit told IANS.
The song, which was penned by director Vignesh Shivan, was composed and crooned by Anirudh himself.
Directed by M. Shyam Kumar, the film features Geethan Britto, Tulika Gupta and Arjunan in important roles.
Initially, Anirudh was offered the lead role in the film, but he passed it and agreed to compose the film's music.
Categories Bollywood Tags Amy Jackson, Anirudh, music video
Mohammed Raushan brings laurels to the city
Online symptom checkers may guide you to doctor

redpajama_set_name: RedPajamaCommonCrawl


text:
Flashback: State Visit to Germany, 1965
As we get ready for this year's state visit to Germany for The Queen and The Duke of Edinburgh, we're flashing back to a few previous German/British state visits. We've covered the 1958 German visit to the U.K.; today, we have the accompanying return visit. The Queen and Duke traveled to the Federal Republic of Germany (West Germany) in May of 1965, the first time a British head of state had done so since before the two world wars.
We're stepping deep into a far more adventurous period of millinery for Her Majesty here, by the way. And if you love a bit of ridiculous retro headgear (and who doesn't love that?!), I have just a few glorious examples for you:
This newsboy-style topper with an added bow on top works perfectly for the category of "looking cool on a boat in your shades", wouldn't you say?
This pile of spaghetti was bright yellow and apparently donut-style, sans crown, as you can see below, and yet still I find it preferable to the unflattering upturned brim on the right:
Anyway, on to the brooches: the Dorset Bow was big on this trip, and on the left there, we have the Modern Ruby Brooch. The newsboy-style cap with bow at the beginning was accompanied by the complete Teck Corsage Brooch, which has now become such a rare sight.
Speaking of things that are rare sights now, this trip included no fewer than three tiara events.
A suite of pearls and diamonds took care of one of those events (above and far right below), with the Grand Duchess Vladimir Tiara in its pearl version, the Duchess of Gloucester's Pendant Earrings, Queen Victoria's Golden Jubilee Necklace, the Kensington Bow Brooch, and a diamond evening watch. The Queen is wearing the Order of Merit of the Federal Republic of Germany.
For another gala event (far left above), Her Maj put on the full sparkle with Queen Alexandra's Kokoshnik Tiara, a smaller pair of diamond earrings, the George VI Festoon Necklace, the True Lover's Knot Brooch, and Queen Victoria's Diamond Bracelet. And for another gala event (center above), she selected the True Lover's Knot Brooch again and paired it with her George VI and Modern Sapphire Set (tiara, earrings, necklace, bracelet). The tiara and bracelet were fresh adds to her collection at this time.
Video, including more millinery madness and two of the three tiara events shown here
The upcoming visit won't be anything near a three tiara affair, but there is one state banquet on the agenda with promises for some sparkle.
Photos: via Getty Images as indicated, Young, British Pathe video
Labels: Flashbacks
Holyrood Week, Day 1: Arrival
Event Roundup: State Visit to Germany, 2015
State Visit to Germany, Final Day
State Visit to Germany, Garden Party
State Visit to Germany, Visit to Frankfurt
State Visit to Germany, State Banquet
State Visit to Germany, Day 1
State Visit to Germany, Arrival
Queen's Young Leaders Awards
Flashback: State Visit to Germany, 1992 (Plus Anot...
Royal Ascot, Day 5
The Duchess of Cornwall at the Waterloo Banquet
Queen Victoria's Crown Ruby Brooch
Royal Ascot, Day 1 and Audience at Windsor Castle
Magna Carta 800th Anniversary Service
Cartier Queen's Cup Polo (and More Polo Fun)
Royal Welsh New Colours Presentation
Presentation of The Queen's Truncheon (and Your As...
Gurkha 200 Pageant
Flashback: German State Visits in the 1970s
Women's Institute Centenary Meeting and Prince Har...
The Riband, Badge, and Star of the Royal Victorian...
The Duchess of Cornwall at the Royal Academy of Ar...


Yesterday we saw this train going west through the town of Dragoon Mountains, AZ. I took a few pictures but there was at least every train car full on the whole train. Every car was filled to capacity and it was very long, we sat at least 1/2 hour . I have never seen that big of a train with all the military equipment on the cars. Looks like war is in the air.
Would love to get ahold of one of those cargo trucks with a trailer, nice piece of machinery..
The one thing missing from the many sightings of military equipment on the move are the real fighting vehicles. Where are the tanks, the APC's, the artillery, the actual combat vehicles? There are two APC's in the top picture but they look like recovery vehicles such as mechanics would drive.
Hey guys I didn't see this train but a neighbor sent me the pics. He is a retired Trucker. The machinery is headed out of this area but something big is going on here. The private land owners are trying to be driven out of here by the Arizona Department of Water Resources and the gmo farmer and a few organic small growers in Sunsites. They have grouped together and drew of a petition to stop all new well drilling permits. That means also permits to deepen existing wells should they go dry. I am told that a huge amount of gold has been taken out of the Dragoon Mountains (Cochise Stronghold) and that it has been sent to Portal and shipped out of the country. I don't think much of this has to do with the water but to drive out the home owners so that the large landowners (Free Mason's) can get the gold and have their way without a fuss from the people. Without water their would be no people here. I would hope someone could do some investigation here on this gold thief as it belongs to the people in AZ. A man that goes by the name of "Randy Redhawk" heads up as a self appointed spokes person for the community of Pearce. He has a website last I looked. He is not an Indian and no one knows his real name but lives up in the Stronghold in a five sided house (pentagram) with a tiled Phoenix Bird in the center under a skylight. No this is real I saw it with my own eyes and the Good Lord Jesus as my witness. I questioned his involvement in the water situation as he gets his water from the mountain springs. So what is his connection with the water? No it's not the water but the gold.


text:
Gandhi Jayanti Vancouver
Institute for the Humanities
JS Woodsworth Chair in the Humanities at SFU
Thakore Charitable Foundation
Origins of Gandhi Jayanti From the Founder of Thakore Charitable Foundation
Gandhi Bust History
Gandhi Student Peace Award
Previous Student Peace Awards
Thakore Foundation Visiting Scholar Award
2001 – Lloyd Axworthy
2002 – James Lawson
2003 – Dr Samantha Nutt and Dr Eric Hoskins
2004 – Marilyn Gullison
2005 – Michael Clague
2006 – Roy Miki
2007 – James Pau
2008 – Free the Children – Marc Kielburger
2009 – Ela Bhatt
2010 – Heribert and Kogila Adam
2011 – John OBrian
2012 – Jim Green
2013 – Lee Lakeman
2015 – Jennifer Simons
2016 – Judy Graves
2017 – John Volken
2018 – Jean Augustine
2019 – Raffi Cavoukian
Submit a Scholar Suggestion
Gandhi Youth Camp
HomeGandhi Student Peace Award
Mahatma Gandhi Annual Student Award
Up to $1,500 awarded in Fall
The Mahatma Gandhi Annual Student Award was established at Simon Fraser University in 2007 through the generous contributions of the JS Woodsworth Chair in the Humanities at SFU , the Thakore Endowment and the Institute for the Humanities at SFU (and prior to 2016, the India Club of Vancouver). The purpose of this award is to recognize and honour those SFU students who, in the spirit of Gandhi's work, have been active in voluntary community service in areas related to peace, justice and human rights.
The Mahatma Gandhi Annual Student Award, valued at up to $1,500, will be granted annually to a current or newly admitted full-time SFU student in good academic standing on the basis of demonstrated community service and leadership.
Voluntary service may include any voluntary service which contributes toward the betterment of the human condition: health related and caring services, literacy and training programs, peer group assistance, work with peace organizations, social justice initiatives, community building services, anti-violence programs, anti-poverty programs, and local, national and international programs that address issues related to peace, justice, and human rights.
All applicants must meet the following criteria:
Be a new or current full-time undergraduate student at SFU.
Must be in good academic standing and have a minimum cumulative GPA of 2.00 at SFU. In the case that the student is a first-term or transfer student, he/she must possess an equivalent secondary school or college standing.
Registered in a minimum of 9 units of standard graded courses in the fall term.
Applications must include:
A 1-page description of the student's volunteer work, which includes why the specific volunteer work was chosen, the student's experience as a volunteer, and the effectiveness or impact of their volunteer work.
At least one letter of reference (signed and sealed by the referee) from a person in the organization or group with which the student volunteered.
A resume that includes all of the student's paid and volunteer work to date.
The recipient of the award will be made by the Senate Undergraduate Awards Adjudication Committee based upon the nomination of the Institute of Humanities Gandhi committee. Recipients will be recognized at the Gandhi Jayanti Event on October 2nd each year and therefore must be available for the garlanding.
Deadline for all entries is August 31 of each year.
Entries are to be sent to the:
#3150, SFU Harbour Centre
For further information, contact Huyen Pham, Institute for the Humanities: insthum@sfu.ca.
For more information visit: https://www.sfu.ca/humanities-institute/About/Students.html
*NEW* subscribe to our mailing list to get important event updates!
Institute for the Humanities @ SFU


text:
package org.apache.jackrabbit.oak.plugins.document;

import java.util.List;
import java.util.concurrent.TimeUnit;

import javax.management.openmbean.CompositeData;

import org.apache.jackrabbit.api.stats.TimeSeries;
import org.apache.jackrabbit.oak.plugins.document.util.Utils;
import org.apache.jackrabbit.oak.stats.MeterStats;
import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import org.apache.jackrabbit.oak.stats.StatsOptions;
import org.apache.jackrabbit.oak.stats.TimerStats;
import org.apache.jackrabbit.stats.TimeSeriesStatsUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import static com.google.common.base.Preconditions.checkNotNull;

/**
 * Document Store statistics helper class.
 */
public class DocumentStoreStats implements DocumentStoreStatsCollector, DocumentStoreStatsMBean {
    private final Logger perfLog = LoggerFactory.getLogger(DocumentStoreStats.class.getName() + ".perf");

    public static final int PERF_LOG_THRESHOLD = 1;

    static final String NODES_FIND_CACHED = "DOCUMENT_NODES_FIND_CACHED";
    static final String NODES_FIND_SPLIT = "DOCUMENT_NODES_FIND_SPLIT";
    static final String NODES_FIND_SLAVE = "DOCUMENT_NODES_FIND_SLAVE";
    static final String NODES_FIND_PRIMARY = "DOCUMENT_NODES_FIND_PRIMARY";
    static final String NODES_FIND_MISSING = "DOCUMENT_NODES_FIND_MISSING";
    static final String NODES_FIND_MISSING_TIMER = "DOCUMENT_NODES_FIND_MISSING_TIMER";
    static final String NODES_FIND_TIMER = "DOCUMENT_NODES_FIND";

    static final String NODES_QUERY_FIND_READ_COUNT = "DOCUMENT_NODES_QUERY_FIND";
    static final String NODES_QUERY_FILTER = "DOCUMENT_NODES_QUERY_FILTER";
    static final String NODES_QUERY_TIMER = "DOCUMENT_NODES_QUERY";
    static final String NODES_QUERY_SLAVE = "DOCUMENT_NODES_QUERY_SLAVE";
    static final String NODES_QUERY_PRIMARY = "DOCUMENT_NODES_QUERY_PRIMARY";

    static final String NODES_QUERY_LOCK = "DOCUMENT_NODES_QUERY_LOCK";
    static final String NODES_QUERY_LOCK_TIMER = "DOCUMENT_NODES_QUERY_LOCK_TIMER";

    static final String NODES_CREATE = "DOCUMENT_NODES_CREATE";
    static final String NODES_CREATE_UPSERT = "DOCUMENT_NODES_CREATE_UPSERT";
    static final String NODES_CREATE_SPLIT = "DOCUMENT_NODES_CREATE_SPLIT";
    static final String NODES_CREATE_UPSERT_TIMER = "DOCUMENT_NODES_CREATE_UPSERT_TIMER";
    static final String NODES_CREATE_TIMER = "DOCUMENT_NODES_CREATE_TIMER";
    static final String NODES_UPDATE = "DOCUMENT_NODES_UPDATE";
    static final String NODES_UPDATE_FAILURE = "DOCUMENT_NODES_UPDATE_FAILURE";
    static final String NODES_UPDATE_RETRY_COUNT = "DOCUMENT_NODES_UPDATE_RETRY";
    static final String NODES_UPDATE_TIMER = "DOCUMENT_NODES_UPDATE_TIMER";

    static final String NODES_REMOVE = "DOCUMENT_NODES_REMOVE";
    static final String NODES_REMOVE_TIMER = "DOCUMENT_NODES_REMOVE_TIMER";

    static final String NODES_PREFETCH = "DOCUMENT_NODES_PREFETCH";

    static final String NODES_PREFETCH_TIMER = "DOCUMENT_NODES_PREFETCH_TIMER";

    static final String JOURNAL_QUERY = "DOCUMENT_JOURNAL_QUERY";
    static final String JOURNAL_CREATE = "DOCUMENT_JOURNAL_CREATE";
    static final String JOURNAL_QUERY_TIMER = "DOCUMENT_JOURNAL_QUERY_TIMER";
    static final String JOURNAL_CREATE_TIMER = "DOCUMENT_JOURNAL_CREATE_TIMER";

    private final MeterStats findNodesCachedMeter;
    private final MeterStats findNodesMissing;
    private final TimerStats findNodesMissingTimer;
    private final MeterStats findNodesSlave;
    private final TimerStats findNodesTimer;
    private final MeterStats findNodesPrimary;
    private final MeterStats queryNodesSlave;
    private final MeterStats queryNodesPrimary;
    private final MeterStats queryNodesResult;
    private final TimerStats queryNodesWithFilterTimer;
    private final TimerStats queryNodesTimer;
    private final MeterStats queryJournal;
    private final TimerStats queryJournalTimer;
    private final TimerStats createNodeUpsertTimer;
    private final TimerStats createNodeTimer;
    private final TimerStats updateNodeTimer;
    private final MeterStats createNodeUpsertMeter;
    private final MeterStats createNodeMeter;
    private final MeterStats updateNodeMeter;
    private final MeterStats createJournal;
    private final TimerStats createJournalTimer;
    private final MeterStats findSplitNodes;
    private final StatisticsProvider statisticsProvider;
    private final MeterStats queryNodesLock;
    private final TimerStats queryNodesLockTimer;
    private final MeterStats createSplitNodeMeter;
    private final MeterStats updateNodeFailureMeter;
    private final MeterStats updateNodeRetryCountMeter;
    private final MeterStats removeNodes;
    private final TimerStats removeNodesTimer;
    private final MeterStats prefetchNodes;
    private final TimerStats prefetchNodesTimer;

    public DocumentStoreStats(StatisticsProvider provider) {
        statisticsProvider = checkNotNull(provider);
        findNodesCachedMeter = provider.getMeter(NODES_FIND_CACHED, StatsOptions.DEFAULT);
        findNodesMissing = provider.getMeter(NODES_FIND_MISSING, StatsOptions.DEFAULT);
        findNodesMissingTimer = provider.getTimer(NODES_FIND_MISSING_TIMER, StatsOptions.METRICS_ONLY);
        findNodesTimer = provider.getTimer(NODES_FIND_TIMER, StatsOptions.METRICS_ONLY);
        findSplitNodes = provider.getMeter(NODES_FIND_SPLIT, StatsOptions.DEFAULT);

        findNodesSlave = provider.getMeter(NODES_FIND_SLAVE, StatsOptions.DEFAULT);
        findNodesPrimary = provider.getMeter(NODES_FIND_PRIMARY, StatsOptions.DEFAULT);

        queryNodesSlave = provider.getMeter(NODES_QUERY_SLAVE, StatsOptions.DEFAULT);
        queryNodesPrimary = provider.getMeter(NODES_QUERY_PRIMARY, StatsOptions.DEFAULT);
        queryNodesResult = provider.getMeter(NODES_QUERY_FIND_READ_COUNT, StatsOptions.DEFAULT);

        queryNodesWithFilterTimer = provider.getTimer(NODES_QUERY_FILTER, StatsOptions.METRICS_ONLY);
        queryNodesTimer = provider.getTimer(NODES_QUERY_TIMER, StatsOptions.METRICS_ONLY);

        queryJournal = provider.getMeter(JOURNAL_QUERY, StatsOptions.DEFAULT);
        queryJournalTimer = provider.getTimer(JOURNAL_QUERY_TIMER, StatsOptions.METRICS_ONLY);
        createJournal = provider.getMeter(JOURNAL_CREATE, StatsOptions.DEFAULT);
        createJournalTimer = provider.getTimer(JOURNAL_CREATE_TIMER, StatsOptions.METRICS_ONLY);

        createNodeUpsertTimer = provider.getTimer(NODES_CREATE_UPSERT_TIMER, StatsOptions.METRICS_ONLY);
        createNodeTimer = provider.getTimer(NODES_CREATE_TIMER, StatsOptions.METRICS_ONLY);
        updateNodeTimer = provider.getTimer(NODES_UPDATE_TIMER, StatsOptions.METRICS_ONLY);
        createNodeMeter = provider.getMeter(NODES_CREATE, StatsOptions.DEFAULT);
        createNodeUpsertMeter = provider.getMeter(NODES_CREATE_UPSERT, StatsOptions.DEFAULT);
        createSplitNodeMeter = provider.getMeter(NODES_CREATE_SPLIT, StatsOptions.DEFAULT);
        updateNodeMeter = provider.getMeter(NODES_UPDATE, StatsOptions.DEFAULT);
        updateNodeFailureMeter = provider.getMeter(NODES_UPDATE_FAILURE, StatsOptions.DEFAULT);
        updateNodeRetryCountMeter = provider.getMeter(NODES_UPDATE_RETRY_COUNT, StatsOptions.DEFAULT);

        queryNodesLock = provider.getMeter(NODES_QUERY_LOCK, StatsOptions.DEFAULT);
        queryNodesLockTimer = provider.getTimer(NODES_QUERY_LOCK_TIMER, StatsOptions.METRICS_ONLY);

        removeNodes = provider.getMeter(NODES_REMOVE, StatsOptions.DEFAULT);
        removeNodesTimer = provider.getTimer(NODES_REMOVE_TIMER, StatsOptions.METRICS_ONLY);

        prefetchNodes = provider.getMeter(NODES_PREFETCH, StatsOptions.DEFAULT);
        prefetchNodesTimer = provider.getTimer(NODES_PREFETCH_TIMER, StatsOptions.METRICS_ONLY);
    }

    //~------------------------------------------< DocumentStoreStatsCollector >

    @Override
    public void doneFindCached(Collection<? extends Document> collection, String key) {
        //findCached call is almost done for NODES collection only
        if (collection == Collection.NODES){
            findNodesCachedMeter.mark();
        }
    }

    @Override
    public void doneFindUncached(long timeTakenNanos, Collection<? extends Document> collection, String key,
                                 boolean docFound, boolean isSlaveOk) {
        if (collection == Collection.NODES){
            //For now collect time for reads from primary/secondary in same timer
            TimerStats timer;
            if (docFound) {
                timer = findNodesTimer;
            } else {
                timer = findNodesMissingTimer;
                findNodesMissing.mark();
            }
            timer.update(timeTakenNanos, TimeUnit.NANOSECONDS);

            //For now only nodes can be looked up from slave
            if (isSlaveOk){
                findNodesSlave.mark();
            } else {
                findNodesPrimary.mark();
            }

            if (Utils.isPreviousDocId(key)){
                findSplitNodes.mark();
            }
        }

        perfLog(timeTakenNanos, "findUncached on key={}, isSlaveOk={}", key, isSlaveOk);
    }

    @Override
    public void doneQuery(long timeTakenNanos, Collection<? extends Document> collection, String fromKey, String toKey,
                          boolean indexedProperty, int resultSize, long lockTime, boolean isSlaveOk) {
        if (collection == Collection.NODES){
            //Distinguish between query done with filter and without filter
            TimerStats timer = indexedProperty ? queryNodesWithFilterTimer : queryNodesTimer;
            timer.update(timeTakenNanos, TimeUnit.NANOSECONDS);

            //Number of nodes read
            queryNodesResult.mark(resultSize);

            //Stats for queries to slaves
            if (isSlaveOk){
                queryNodesSlave.mark();
            } else {
                queryNodesPrimary.mark();
            }

            if (lockTime > 0){
                queryNodesLock.mark();
                queryNodesLockTimer.update(lockTime, TimeUnit.NANOSECONDS);
            }

            //TODO What more to gather
            // - Histogram of result - How the number of children vary
        } else if (collection == Collection.JOURNAL){
            //Journals are read from primary and without any extra condition on indexedProperty
            queryJournal.mark(resultSize);
            queryJournalTimer.update(timeTakenNanos, TimeUnit.NANOSECONDS);
        }
        perfLog(timeTakenNanos, "query for children from [{}] to [{}], lock:{}", fromKey, toKey, lockTime);
    }

    @Override
    public void doneCreate(long timeTakenNanos, Collection<? extends Document> collection, List<String> ids, boolean insertSuccess) {
        if (collection == Collection.NODES && insertSuccess){
            for (String id : ids){
                createNodeMeter.mark();
                if (Utils.isPreviousDocId(id)){
                    createSplitNodeMeter.mark();
                }
            }
            createNodeTimer.update(timeTakenNanos / ids.size(), TimeUnit.NANOSECONDS);
        } else if (collection == Collection.JOURNAL){
            createJournal.mark(ids.size());
            createJournalTimer.update(timeTakenNanos, TimeUnit.NANOSECONDS);
        }
        perfLog(timeTakenNanos, "create");
    }

    @Override
    public void doneCreateOrUpdate(long timeTakenNanos,
                                   Collection<? extends Document> collection,
                                   List<String> ids) {
        if (collection == Collection.NODES) {
            for (String id : ids){
                createNodeUpsertMeter.mark();
                if (Utils.isPreviousDocId(id)){
                    createSplitNodeMeter.mark();
                }
            }
            createNodeUpsertTimer.update(timeTakenNanos / ids.size(), TimeUnit.NANOSECONDS);
        }
        perfLog(timeTakenNanos, "createOrUpdate {}", ids);
    }

    @Override
    public void doneFindAndModify(long timeTakenNanos, Collection<? extends Document> collection, String key, boolean newEntry,
                                  boolean success, int retryCount) {
        if (collection == Collection.NODES){
            if (success) {
                if (newEntry) {
                    createNodeUpsertMeter.mark();
                    createNodeUpsertTimer.update(timeTakenNanos, TimeUnit.NANOSECONDS);
                } else {
                    updateNodeMeter.mark();
                    updateNodeTimer.update(timeTakenNanos, TimeUnit.NANOSECONDS);
                }

                if (retryCount > 0){
                    updateNodeRetryCountMeter.mark(retryCount);
                }
            } else {
                updateNodeRetryCountMeter.mark(retryCount);
                updateNodeFailureMeter.mark();
            }
        }
        perfLog(timeTakenNanos, "findAndModify [{}]", key);
    }

    @Override
    public void doneRemove(long timeTakenNanos,
                           Collection<? extends Document> collection,
                           int removeCount) {
        if (collection == Collection.NODES) {
            if (removeCount > 0) {
                removeNodes.mark(removeCount);
                removeNodesTimer.update(timeTakenNanos / removeCount, TimeUnit.NANOSECONDS);
            }
        }
        perfLog(timeTakenNanos, "remove [{}]", removeCount);
    }

    @Override
    public void donePrefetch(long timeTakenNanos,
                             Collection<? extends Document> collection,
                             List<String> ids) {
        if (collection == Collection.NODES) {
            prefetchNodes.mark(ids.size());
            prefetchNodesTimer.update(timeTakenNanos, TimeUnit.NANOSECONDS);
        }
        perfLog(timeTakenNanos, "prefetch {}", ids);
    }

    private void perfLog(long timeTakenNanos, String logMessagePrefix, Object... arguments){
        if (!perfLog.isDebugEnabled()){
            return;
        }

        final long diff = TimeUnit.NANOSECONDS.toMillis(timeTakenNanos);
        if (perfLog.isTraceEnabled()) {
            // if log level is TRACE, then always log - and do that on TRACE
            // then:
            perfLog.trace(logMessagePrefix + " [took " + diff + "ms]",
                    (Object[]) arguments);
        } else if (diff > PERF_LOG_THRESHOLD) {
            perfLog.debug(logMessagePrefix + " [took " + diff + "ms]",
                    (Object[]) arguments);
        }
    }

    //~--------------------------------------------< DocumentStoreStatsMBean >

    @Override
    public long getNodesFindCount() {
        return findNodesSlave.getCount() + queryNodesPrimary.getCount();
    }

    @Override
    public long getNodesFindQueryCount() {
        return queryNodesSlave.getCount() + queryNodesPrimary.getCount();
    }

    @Override
    public long getNodesFindMissingCount() {
        return findNodesMissing.getCount();
    }

    @Override
    public long getNodesReadByQueryCount() {
        return queryNodesResult.getCount();
    }

    @Override
    public long getNodesCreateCount() {
        return createNodeMeter.getCount() + createNodeUpsertMeter.getCount();
    }

    @Override
    public long getNodesUpdateCount() {
        return updateNodeMeter.getCount();
    }

    @Override
    public long getNodesRemoveCount() {
        return removeNodes.getCount();
    }

    @Override
    public long getJournalCreateCount() {
        return createJournal.getCount();
    }

    @Override
    public long getJournalReadCount() {
        return queryJournal.getCount();
    }

    @Override
    public long getNodesPrefetchCount() {
        return prefetchNodes.getCount();
    }

    @Override
    public CompositeData getFindCachedNodesHistory() {
        return getTimeSeriesData(NODES_FIND_CACHED,
                "Number of find node document calls served from the cache.");
    }

    @Override
    public CompositeData getFindSplitNodesHistory() {
        return getTimeSeriesData(NODES_FIND_SPLIT,
                "Number of un-cached find calls for split document.");
    }

    @Override
    public CompositeData getFindNodesFromPrimaryHistory() {
        return getTimeSeriesData(NODES_FIND_PRIMARY,
                "Number of un-cached find node document calls targeting the primary.");
    }

    @Override
    public CompositeData getFindNodesFromSlaveHistory() {
        return getTimeSeriesData(NODES_FIND_SLAVE,
                "Number of un-cached find node document calls targeting a slave/secondary.");
    }

    @Override
    public CompositeData getFindNodesMissingHistory() {
        return getTimeSeriesData(NODES_FIND_MISSING,
                "Number of un-cached find node document calls that returned no document.");
    }

    @Override
    public CompositeData getQueryNodesFromSlaveHistory() {
        return getTimeSeriesData(NODES_QUERY_SLAVE,
                "Number of queries for node documents targeting a slave/secondary.");
    }

    @Override
    public CompositeData getQueryNodesFromPrimaryHistory() {
        return getTimeSeriesData(NODES_QUERY_PRIMARY,
                "Number of queries for node documents targeting the primary.");
    }

    @Override
    public CompositeData getQueryNodesLockHistory() {
        return getTimeSeriesData(NODES_QUERY_LOCK,
                "Number of queries for node documents done while holding a lock.");
    }

    @Override
    public CompositeData getQueryJournalHistory() {
        return getTimeSeriesData(JOURNAL_QUERY,
                "Number of queries for journal documents.");
    }

    @Override
    public CompositeData getCreateJournalHistory() {
        return getTimeSeriesData(JOURNAL_CREATE,
                "Number of journal documents created.");
    }

    @Override
    public CompositeData getCreateNodesHistory() {
        return getTimeSeriesData(NODES_CREATE,
                "Number of node documents created.");
    }

    @Override
    public CompositeData getUpdateNodesHistory() {
        return getTimeSeriesData(NODES_UPDATE,
                "Number of node documents updated.");
    }

    @Override
    public CompositeData getUpdateNodesRetryHistory() {
        return getTimeSeriesData(NODES_UPDATE_RETRY_COUNT,
                "Number of times a node document update had to be retried.");
    }

    @Override
    public CompositeData getUpdateNodesFailureHistory() {
        return getTimeSeriesData(NODES_UPDATE_FAILURE,
                "Number of times a node document update failed.");
    }

    @Override
    public CompositeData getRemoveNodesHistory() {
        return getTimeSeriesData(NODES_REMOVE,
                "Number of removed node documents.");
    }

    @Override
    public CompositeData getPrefetchNodesHistory() {
        return getTimeSeriesData(NODES_PREFETCH,
                "Number of prefetched node documents.");
    }

    private CompositeData getTimeSeriesData(String name, String desc){
        return TimeSeriesStatsUtil.asCompositeData(getTimeSeries(name), desc);
    }

    private TimeSeries getTimeSeries(String name) {
        return statisticsProvider.getStats().getTimeSeries(name, true);
    }
}

redpajama_set_name: RedPajamaGithub


I'm just so grateful for where I am today. Colors are brighter, birds tweet louder, and my world is just so much richer because of the incredible gift we've been given. I just lay in bed in the mornings and feel Sammy kick me and I am in awe. There is no better feeling in this world. I feel like my heart could burst with love and gratitude for the little miracle in my belly, and for the donor families who made this possible for us. I never would be able to experience this joy without them.
Pardon me while I cry tears of joy this morning. :) I am so blessed.
And you can't imagine it yet, but when she gets here---those feelings will somehow feel BIGGER.
Awwwww! LOVE this! And I echo the sentiment above, it'll only get BETTER!
I second what these ladies have said. I just had my baby boy a week ago, and the feelings only grow stronger and bigger when you lay eyes on your baby for the first time. The love you have today will only grow exponentially! I love seeing sucess stories like yours because I know where you've been. Been there myself. Your baby girl is blessed to have you as her mama!


GNU/Linux and GNU/kfreebsd) __stack_chk_fail is available from glibc.
* Remove libffi symbol files.
* debian/rules.patch: Don't apply sh4-multilib.dpatch.
* Update to SVN 20080705 from the ubuntu/gcc-4_2-branch.
- Fix PR target/36634, wrong-code on powerpc with -msecure-plt.
* debian/rules.defs: Remove hurd-i386 from ssp_no_archs (Samuel Thibault).
* Do not create a /usr/lib/gcc/<target-arch>/4.2.3 symlink.
* debian/patches/multiarch-lib.dpatch: Remove obsolete patch.
cause errors, but warnings instead.
* Don't run the libjava testsuite with -mabi=n32 (not built as multilib).
* libjava/classpath: Set and use EXTRA_CFLAGS (taken from the trunk).
Casadeval for the m68k port). Addresses: #489234.


Faded Outlook Black T-Shirt from H33M.
Screen printed logo script on chest and large graphic on back.
32" (81 cm) from top shoulder seam to bottom hem.
Tie your looks together with classic H33M flair with their all-new Faded Outlook Black T-Shirt. Made from a soft cotton blend and featured with logo script printed on the chest while the back displays a large hand and smoky crystal ball image.


Energy Harvesting System Market 2025 With: O-Flexx Technologies GmbH, Fujitsu Global, STMicroelectronics, EnOcean, ABB, Bionic Power, Honeywell, Texas Instruments, GreenPeak Technologies, Microchip Technology Inc., Cymbet Corporation, Voltree Power Inc.
CNC Controller Market Comprehensive Analysis 2025: Bosch Rexroth, Simplex, Fagor Automation USA, Xometry, FANUC America Corporation, Okuma America Corporation, Mitsubishi Electric Corporation, Siemens, Mazak North America, Haas Automation, Inc.
Depth Sensing Market 2025 With: Sony Depthsensing Solutions, VRmagic, TowerJazz, Infineon Technologies, ASUS, Qualcomm, Crunchbase, MELEXIS, PrimeSense, Intel Corporation, Texas Instruments, Stereolabs, Vision Technologies, Aquifi, Inc , LIPS Corp.
Breast Cancer Liquid Biopsy Market Comprehensive Study 2019: MDxHealth, Thermo Fisher Scientific, Biocept, Inc, Trovagene, Bio-Rad Laboratories, RainDance Technologies, Myriad Genetics, Fluxion Biosciences, Isogen Life Science, Cynvenio Biosystems, Inc.