This beautiful Spanish Mediterranean residence is awaiting. Period details, gorgeous, parquet wood floors, and a gracious foyer greet guests upon entering the home.
The spacious living level features a grand living room with vaulted ceilings, beautiful picture window, and wood burning fireplace that flows seamlessly to the over-sized formal dining room and large breakfast area in the generous kitchen.
The kitchen is flooded with light and has been newly renovated with marble countertops, refinished cabinets, new appliances, gas range, double ovens and overlooks the expansive yard.
Step out the door to a lush backyard and find a rare oasis with mature plants, trees and sunshine. The second level of the home features three generous bedrooms and one bath.
The garage level has a bonus room, bedroom, full bathroom, and an abundance of space for parking and storage. Expansion potential. Close to El Camino boutique eateries, shopping, dining, freeways, transit, airport and highly rated schools.
For more information, contact Rachel Swann at 415-225-7743 or [email protected].
Rachel Swann and Michelle Long are the exclusive agents representing the Nob Hill/Noe Valley/Russian Hill, San Francisco, real estate market as a member of the Haute Residence Real Estate Network. View all of their listings here.


text:
Q: Is There Any Reason to Remove System.Diagnostic.Trace Calls from a .NET MVC Production Application? I hope this isn't a dumb question, but I am writing a .NET MVC application and I was going to heavily use System.Diagnostics during development. If so, I was just going to leave all of those calls (mostly Trace.WriteLine), in the application once it goes to production.
Is there any reason (performance, security, etc...) to not leave System.Diagnostics calls in an application? Maybe certain parts of that library? I had heard that with some libraries (like libraries that use reflection) you have to be careful how you use it because you could potentially expose your application to certain types of attacks.
Any thoughts on what I should beware of would be helpful (if there is anything).

A: All calls use CPU and Memory.
You dont need to remove this from your code, you can disable System.Diagnostics.Trace calls to be compiled.
System.Diagnostics.Trace are ConditionalAttribute.
https://msdn.microsoft.com/en-us/library/system.diagnostics.Trace.aspx:

In Visual Studio projects, by default, the "DEBUG" conditional
  compilation symbol is defined for debug builds, and the "TRACE" symbol
  is defined for both debug and release builds. For information about
  how to disable this behavior, see the Visual Studio documentation.

How to disable:

Compilers that support  ConditionalAttribute ignore calls to these
  methods unless "TRACE" is defined as a conditional compilation symbol.
  To define the "TRACE" conditional compilation symbol in C#, add the
  /d:TRACE option to the compiler command line when you compile your
  code using a command line, or add #define TRACE to the top of your
  file. In Visual Basic, add the /d:TRACE=True option to the compiler
  command line or add #Const TRACE=True to the file.

Happy to help you!

A: This is the reason why you should look into ETW and use Eventsource calls for logging.
[Event(2, Level = EventLevel.Error)]
public void TaskCreate(long TaskId)
{
    if (IsEnabled())
       WriteEvent(2, TaskId);
}

This demo event shows that it only gets fired if an active listener is listening to Events for a ETW provider. So ONLY if you use Perfview or Windows Performance Recorder (which is part of the WPT/Windows SDK) to capture a trace, the events are written. If not, the Event never gets raised.

A: Leaving any unnecessary code in could have implications. First that comes to mind is performance. If those Diagnostic calls use up system resources, even just a little, it could have an impact. It could cause longer running times, etc.
The second part that you already covered was security. Anytime you expose internal parts of your code, it allows the potential for exploitation. It might be minor, but the tighter the better regarding security...
If you can easily remove the Diagnostic/development code, I'd recommend doing so, then testing again before deploying to production.

redpajama_set_name: RedPajamaStackExchange


The European Nature Trust (TENT) is hosting a unique guided cycling trip through the mythical lands of Transylvania in Romania this September. The five-day, 200km journey through the Carpathian Mountains will have guests winding through wild flower meadows, medieval villages, virgin forests, historic castles, panoramic views and bear watching opportunities.
Cycling mainly on wild tracks, forestry roads and backroads, this is an opportunity to experience a rare pocket of Europe's last remaining unspoilt countryside in all its natural glory. Participants will spend time with Europe's leading conservationists and stay in exclusive venues such as HRH The Prince of Wales's private nature retreat, and on the historic estate of a Hungarian noble family. Good company, delicious food and drink, local entertainment and wild experiences combine to create an exceptional itinerary designed to immerse guests in the beauty, culture and unique environment of this remote region.
The enriching travel experience is an initiative TENT has developed in collaboration with Foundation Conservation Carpathia (FCC), and forms a part of TENT's wider vision to promote the conservation of areas of natural beauty, and environmental importance that desperately need protecting throughout Europe.
Romania is home to some of the most important conservation areas in Europe, encompassing more than half of the vast Carpathians – Europe's second longest mountain range – and over half of the continent's original virgin forests, where brown bears, wolves and lynx coexist in one of the world's rare remaining natural ecosystems.
TENT and FCC are working together to raise funds to protect over 200,000 hectares of forests and Alpine meadows, and create a world-class wilderness reserve that would become 'the Yellowstone of Europe'. By encouraging the development of sustainable tourism initiatives – in areas that are at grave risk of being irrecoverably destroyed by illegal logging and deforestation – the two organisations are seeking to show local communities the longer-term value in the natural beauty of Romania's precious landscape, and the hugely important role it's ecosystems play in the environmental health of Europe and the wider world.
Over the past decade, the FCC has purchased, and fully protected, over 21,000 hectares of forests and meadows in the south-eastern Carpathians, restored forest ecosystems on 500 hectares and now employs more than 6o staff, including rangers, foresters, biologists, education specialists, protected area specialists, legal advisers and accountants.
The cost of the Ride Romania trip is £1,250 per person, inclusive of all accommodation, meals and airport transfers. Flights to and from Bucharest must be booked separately. Participants of Ride Romania are also required to fundraise a minimum of £2,000 per individual. These funds will go directly to the Foundation Conservation Carpathia, helping to support their conservation work to preserve the biodiversity of this unique landscape – one of the last remaining pockets of natural wilderness in Europe, and a critically important ecosystem.


Well, readers, it is about that time. Hopefully all of your cookies have been baked, presents wrapped, and shopping done so that now the only thing left to do is relax and enjoy the time with your families and friends. This is such a special time of year, truly magical. All we need now is a little snow!
This outfit post will be my last bit of inspiration until after the new year. That said, I hope that you all have a wonderful time celebrating with your loved ones!
As always, thanks so much for reading and following along with me. I so appreciate the support!


Why British universities are limiting the experience of secondary education. How can they be doing a better job?
This was the title of the Thirteenth Askes's Education Lecture held in the Haberdasher's Hall, West Smithfield, London, given by Dr Anthony Seldon, Master, Wellington College.
Anthony delivered an impassioned plea to sit up and take notice of the damage done by league tables and subject examinations to the notion of a broad education and the well-being of future citizens. He observed that education had improved markedly in each of the preceding three decades, but that the whole child was only being developed in few schools and without proper acknowledgement. Part of the blame was placed on the university system with its exam expectations, narrow academic focus and selection processes.
I asked Anthony (and others): where is innovation in higher education to spring from to improve the situation? Imaginative action is needed – I'm ready!


text:
Review: Mentalist – A Journey Into The Unknown
Mentalist Records/ Pride & Joy Music (20/08/21)
Reviewer: David Pearce
Mentalist are a Swedish group consisting of the guitars of Peter Moog and Kai Stringer, the drums of Thomen Stauch and the vocals of Rob Lundgren. On 'A Journey into the Unknown', they are joined by the keyboards of Oliver Palotai, the bass of Mike LePond and vocalist Henning Basse.
The album begins with a one minute track called 'Horizon' that sounds like an excerpt from the soundtrack of a fantasy epic. The first full track is the title track 'A Journey into the Unknown'. There's a definite Europe feel to the song as the guitars of Peter Moog and Kai Stringer join Thomen Stauch's furious drumming and Mike LePond's expertise on the bass in creating a wall of sound which gives Rob Lundgren a brilliant backdrop to let loose with his fantastic vocals. It is a great soundscape that tells you that Mentalist are full of confidence as they tackle their second album.
'Modern Philosophy' has a subtle start that allows the record to build slowly but inexorably as they mine influences such as Judas Priest and Rainbow but create their own unique style. It is a really interesting song both musically and lyrically and shows a band that almost seem to be riffing off of each other as they create an increasingly intricate tune. It's a really impressive track and definitely one of my favourites on the album.
'Evil Eye' is one of those tracks that you know will be fantastic live. Fast and furious, it will get the crowd singing along from the start. There were hints of Europe's Rock the Night to me in this one and I really enjoyed it. 'An Ocean so Deep' is a rock ballad that shows the smoothness and quality of Lundgren's vocals and shows off the talents of Oliver Palotai, whose keyboards give the track a really different feel. It's the type of track that will get the phones lit up at any concert and is one of the best rock ballads I've heard in ages.
'Dentalist' is an uncompromising Iron Maiden style track that sees Lundgren switch from the smoothness of the previous track to the growl of a pure heavy metal vocalist. 'Soldier Without A War' is a really different track that sounds unlike anything else on the album. It's a percussion driven, soft rock song that has a really different sound, but front and centre is Stauch's drumming, which has been fantastic throughout the album but really comes into its own on this track.
'Torture King' has a playfulness to the tune that sees Mentalist having some fun and letting their hair down in the way Queen famously did. 'Battle Dressed' is a 7 minute opus that builds slowly with a tune that increases the complexity and pace as it goes through the first 90 seconds as an instrumental. When Lundgren does come in he restrains his vocals in a way that perfectly suits the music. It's another song that you can't imagine coming from another band.
'Live Forever', an 8 minute epic sees Lundgren duetting with Henning Basse and their voices blend together perfectly. They start off quite softly but as the song gets louder they encourage each other to greater heights, and it is utterly exhilarating to hear. A male duet is quite unusual but these two pull it off perfectly and the quality of both singers makes this my favourite song on the album. The final track 'Manchild' starts off with an intro that once again makes the most of Thomen Stauch's drumming. He really is one of the best rock drummers I've heard in years and is the beating heart of many of the songs. The song reminded me of 70s rock legends Sweet with Lundgren channelling Brian Connolly. It's a great finish to a great album.
Mentalist are a group who clearly have great rapport as musicians and this second album gives them the chance to do this with a collection of high quality tracks that include a couple of stone cold classics!
A Journey Into The Unknown
Henning Basse
Kai Stringer
Mentalist
Mentalist Records
Mike LePond
Oliver Palotai
Peter Moog
Rob Lundgren
Thomen Stauch
Prev Post: Shameless Bassist Alexx Michael Announces Release Of Tenth Album 'Live Your Dream'
Next Post: Iron Maiden Partner With Asda Supermarkets To Launch Exclusive 'Senjutsu' Album Products

redpajama_set_name: RedPajamaCommonCrawl


text:
Erasmus partners
Vilnius University granted Distinguished Professor Status to three Scholars
For the second year in a row, Vilnius University (VU) has granted three Professors with the Distinguished Professor award. Distinguished Professor Status is given for excellence in science and studies. This year, commission decided to dedicate this award to Vladislav Fomin (VU's Kaunas Faculty), Gediminas Juzeliūnas (VU's Physics Faculty) and Česlovas Venclovas (VU's Life Sciences Center).
According to VU Rector Prof. Artūras Žukauskas, the Status is given to scientists who are leading international standards, promoting innovations and progress. It is also an acknowledgment as their activities benefit not only the University but Lithuania as well.
Vladislav Fomin's research area includes design and application of information and communication technologies, information systems management and information infrastructure development. He has experience in international projects and stands out for his modern approach to academia with clear plans for its development.
Chief Researcher Gediminas Juzeliūnas is a physicist and a pioneer of cold atom research in Lithuania. He has published more than 100 scientific articles and leads six postdoctoral trainees. Mr. Juzeliūnas' recognition worldwide is growing.
Chief Scientist Česlovas Venclovas works in the field of computational biology and bioinformatics. He strengthens Lithuania's prestige in this field and has a clear international visibility of scientific publications and high-level project activities. Mr. Venclovas leads PhD and postdoctoral fellows.
International selection and evaluation criteria
The award of the Distinguished Professor Status was decided by the Commission consisted of VU scientists and lecturers who represented various science fields. Members of Commission are non-partisan and non-aspirant persons of academia who have broad academic background and research experience at foreign Universities. Scientists from foreign Universities were also consulted. The head of the Commission is VU Vice-Rector for Science prof. Rimantas Jankauskas.
Commission has examined 11 applications, which were provided by the academic units and researchers themselves. In order to attract international scientists to Vilnius University, this year for the first time the public competition for the position of .Distinguished Professor Status was announced at VU's Kaunas Faculty.
Saulėtekio av. 9, III bld., Vilnius, LT-10222
Ⓒ 2018 Vilnius university
Cookies make it easier for us to provide you with our services. With the usage of our services you permit us to use cookies.	More information


We are all used to the fact that TV's invariably drop in price, but I think Panasonic have created a new yardstick.
There is no disputing the performance of Panasonics OLED screens – they are quickly building a reputation for the best TVs – ever! At this year's Sound and Image awards their 65" TH-65FZ950U was awarded 'Television of the Year', and they continue to receive accolades world-wide. (Panasonic also picked up the UHD Blu-Ray player of the year over $500 – for the excellent DP-UB9000 – and the TV Recorder of the Year at these awards).
It is no surprise that the Panasonic OLED's are described as 'the choice of Hollywood' due to Deluxe and Technicolour (who between them deliver around 70% of Hollywood's blockbuster films a year), and others, using Panasonic OLED's for their main large-screen mastering monitoring solutions.
The pinnacle of the Panasonic range is the 77" TH77EZ1000U. Tuned by real filmmakers this 4K Pro HDR TV combines the stunning contrast and colour of their OLED technology with cutting-edge processing creating in the most impressive picture quality available. It also features a Technics tuned soundbar, resulting in a much better sound performance than we have come to expect from today's TV's.
When released this TV retailed for $35,000. Understandably at that price sales were slow. It quickly went through a number of price revisions settling at today's price of $14,995, making it one of the best large screen buys on the market.
This is an exceptional TV for the money. We predict that stock holdings will run out before the promotion finish date, so if you are interested please don't delay in contacting us.


Hey! You caught me working!
I'm making some website upgrades - yay! For now, here are a few links that will help you find what you need! And my new, updated site will be back shortly.
You can email me if you need to reach me right away!


text:
← Banda Island and the Banda Sea marine gardens
Dragon's Paradise Lost – Varanus komodoensis →
In Search of the Wallace hut on the island of Waigio
In June and July 1860, Alfred Russel Wallace sailed north from the island of Ceram in Maluku to the island of Mysool and then to the south coast of the island of Waigio near Papua in search of Birds of Paradise.
Wallace's Voyages around the Indonesian Archipelago (Ian Burnet)
From Alfred Russel Wallace's The Malay Archipelago:
'Leaving the village the next morning (July 1st) with a light wind, it took us all day to reach the entrance to the channel, which resembled a small river, and was concealed by a projecting point, so that it was no wonder that we did not discover it amid the dense forest vegetation which everywhere covers these islands to the water's edge'.
Searching for the 'Wallace Hut' on Waigio (Ian Burnet)
From Alfred Russel Wallace's book The Malay Archipelago:
'This part of Waigiou appears to consist of almost entirely of raised coral. The shores were a range of low limestone cliffs, worn out by water, so that the upper parts generally overhung. At distant intervals were little coves and openings, where small streams came from the interior; and in one of these we landed, pulling our boat up on a patch of white sandy beach. Immediately above was a large newly made plantation of yams and plantains, and a small hut, which the chief said we might have use of if it would do for me'.
A sketch of Wallace working under his 'dwarfs house' from his book The Malay Archipelago
He spent from July to September 1860 in his hut and this is its description from The Malay Archipelago:
'It was quite a dwarf's house, just eight feet square, raised on posts so that the floor was four and half feet above the ground, and the highest part of the ridge only five feet above the floor. As I am six feet and an inch in my stockings, I looked at this with some dismay; but finding that the other houses were much further from water, were dreadfully dirty, and were crowded with people, I at once accepted the little one, and determined to make the best of it.
In the lower part I fixed up a small table, arranged my boxes, put up hanging shelves, laid a mat on the groundwith my wicker chair upon it, hung up another mat on the windward side, and then found that, by bending double and carefully creeping in, I could sit on my cahir with my head just clear of the ceiling. Here I lived pretty comfortably for six weeks, taking all my meals and doing all my work at my little table, to and from which I had to creep in a semi-horizontal position a dozen times a day; and after a few severe knocks on the head by suddenly rising from my chair, learned to accomodate myself to circumstances'.
The male Red Bird of Paradise performing its mating dance on Waigio
'I began to think that we would not get this magnificent species. At length the fruit ripened on the fig tree close to my house and many birds came to feed on it; and one morning as I was taking my coffee a male paradise bird waa seen to settle on its top … the head back and shoulders are clothed with a rich yellow, the deep metal green colour of the throat extends further over the head, and the feathers are elongated on the forehead into two little erectile crests. The side plumes are shorter, but are of a rich red colour, terminating in delicate white points, and the middle tail feathers are represented by two long rigid glossy ribbands, which are black, thin, semi-cylindrical and droop gracefully into a spiral curve'.
The Wallace Hut as rebuilt by Seatrek Sailing Adventure and Flora and Fauna International (Jeffrey Mellefont)
This plaque at the Wallace Hut honours the memory of both Alfred Russel Wallace and of Tony Witten of Flora and Fauna International, who was instrumental in having it built.
Looking somewhat worse for wear (the hut that is) during our 2018 visit with Seatrek Sailing Adventures (Richard Orr)
Find out more about the Alfred Russel Wallace, the Wallace Line and the region of Wallacea in Ian Burnet's latest book – Where Australia Collides with Asia.
This entry was posted in Uncategorized and tagged alfred russel wallace, birds of paradise, flora and fauna international, ian burnet, raja ampat, seatrek sailing adventures, tony witten, waigio, Where Australia Collides with Asia. Bookmark the permalink.
5 Responses to In Search of the Wallace hut on the island of Waigio
Denis O'Hara says:
Good work Ian. So good that the light is being shone on these wonderfull corners of Indonesia. On On. Denis O'Hara
Thanks Denis and I will keep you advised of my next voyage
sytske arnason says:
Hi, Ian – This is a lovely contribution to the stories about Wallace. I had not heard that a replica of the hut was built and love the picture of you in front of it. It is hard to imagine that a six foot man could make use of it, but he did and thanks to you the history comes alive. Stay the course and keep on writing. Warmest wishes Sia
Neil Smith says:
Good read thanks Ian. The hut and I have something in common. Both feeling a bit weathered.
Yes. Somewhat worse for wear but we do keep going.


I created this blog in order to write about my experiences as a DM, and sometimes as a player. I will also try to provide original content and advice for DMs and players.
Recently, I started writing reviews for DMs Guild products and it turns out I enjoy it more than I thought I would.
I also like drawing maps. I'm not good enough to share them or provide advice yet but that's another thing you can expect from this blog in the future.
My name is Chris and I'm from Greece. I started playing tabletop RPGs in 2014. I mostly play Dungeons and Dragons at the moment but I want to try more RPGs in the future. Most of the time I'm the Dungeon Master because I really enjoy it.


There are many advantages of Boss without a muzzle brake feature. It has a 1 piece, no hole accessory that is designed to fit only Bar MK II's and A-bolt II's previously factory fitted with Boss. Comes in many finishes from stainless to blue gloss.


5:2 That thou mayest regard discretion, and that thy lips may keep knowledge.
5:6 Lest thou shouldest ponder the path of life, her ways are moveable, that thou canst not know them.
5:7 Hear me now therefore, O ye children, and depart not from the words of my mouth.
5:13 And have not obeyed the voice of my teachers, nor inclined mine ear to them that instructed me!
5:15 Drink waters out of thine own cistern, and running waters out of thine own well.
5:16 Let thy fountains be dispersed abroad, and rivers of waters in the streets.
5:17 Let them be only thine own, and not strangers' with thee.
5:18 Let thy fountain be blessed: and rejoice with the wife of thy youth.
5:19 Let her be as the loving hind and pleasant roe; let her breasts satisfy thee at all times; and be thou ravished always with her love.
5:20 And why wilt thou, my son, be ravished with a strange woman, and embrace the bosom of a stranger?
5:21 For the ways of man are before the eyes of the LORD, and he pondereth all his goings.
5:22 His own iniquities shall take the wicked himself, and he shall be holden with the cords of his sins.


The HR Business Partner for Pharmaceutical Systems will support the regional Sales & Marketing organization, the Global Account organization, the global Core & Safety Platforms, the global Marketing organization, the global R&D organization and the global Medical & Regulatory Affairs organization that are based in Pont de Claix.
This experienced HR Specialist will work closely with Business Leaders & Head of Department to develop and deliver an HR agenda aligned to the business strategy. Pharmaceutical Systems requires the talent, culture & leadership to support the successful implementation of our vision which is to enable our customers 'success with high quality and innovative drug delivery solutions that improve patient quality of life around the world.Partners with business leaders regarding HR agenda development. Creates the HR/workforce component of the business plan. Identifies the internal and external resources that are needed to accomplish the HR component, and monitors progress towards its key objectives.
Based on business strategy, works to identify, design and implement appropriate organizational structures and key capabilities required to achieve business objectives. Acts as change agent.
Assesses the business competencies that are required to meet strategic objectives, and the capability of the organization to maximize business opportunities. Identifies opportunities to fill competency gaps through talent acquisition and talent development.
Works with the appropriate BD entities (i.e Center Of Excellence, Associate Service Center, Regional HR team & Corporate HR Departments) to customize HR programs & HR communications as appropriate for the business.
Leads the functional/regional leadership team discussion of HR issues. Influences this team to introduce programs & initiatives. Identifies opportunities and problems that require decisions and approval by the leadership team. Gathers and presents the relevant information to enable the leaders to understand and take action regarding HR related business needs and opportunities. Facilitates business decisions related to approval or rejection of these opportunities.
Leads the creation and implementation of a clear Talent Management plan for the business.
Analyzes metrics, reports and data. Shares relevant information with the leaders. Determines how this information should drive change and continuous improvement across the business.
Evaluates internal and external HR related tools/options for solving business problems. Provides recommendations to the leaders, and is responsible for developing important internal and external relationships.
Provides HR leadership through collaboration with BD leaders to evaluate and resolve business needs.
May be required to act as team leader for projects associated with HR initiatives.
We can offer you a great possibility to work in an international company (first-in-class in its business area). We offer great opportunities for professional growth in a challenging and rewarding work environment within dynamic, international teams.
BD promotes an inclusive & diverse work environment and is dedicated to hiring a diverse workforce.


text:
NIH Announces Study for Vaccine and Menstrual Health. Um, Didn't the FDA Approve Vax Already?!
Remember, if you don't get the poke, you're literally killing people. Never mind that vaccines are supposed to protect he, she or ze who takes the vaccine. 2020 and 2021 are all about shifting the overton window. Over the past few weeks and months, women have been told there's no reproductive fear in taking the jab. So just do it already. Except now the NIH has announced a 1.67 million smacker study to investigate taking the COVID vax and how it might affect people who menstruate. Which seems, I dunno, kind of like maybe what we were told initially maybe wasn't entirely accurate or something, possibly and allegedly.
From the New York Post:
It's been a little over six months since the three COVID-19 vaccines in the US — Pfizer, Moderna and Johnson & Johnson — became widely available to all adults. But even in the early days of vaccine rollout, some women were noticing irregular periods following their shots, as reported first by the Lily in April.
Shana Clauson, 45, spoke to the Washington Post's women's news site at the time, and again this week, about her experience after getting the jab — revealing that her period arrived earlier and heavier than what she considers normal. She was one of many who gathered on social media to share what they were seeing.
If you're not a menstruating person, let me clue you in: women pay close attention to their visits from Aunt Flo. I know the feminists have made bleeding from their whatevers seem like a hot button issue insisting there's such a thing as "period shame" (lol, no), but regardless of what those swamp harpies screech, menstruation is an important function of our feminine bodies. We notice when things change. We know what's normal for us. We get alarmed when things are not normal. Just like any other function of a human body. When something is off, you take notice and monitor it. I know each and everyone of you has consulted Doctor Google when something is amiss. Do not even lie to me about it.
So yes, if a woman gets poked and her flow changes, she's going to notice. She'll be concerned. This isn't as simple as "I ate something that disagreed with me" and you wait in misery as your body expels it. Often the thought that comes to mind when something is off about a period is "Does this mean I cannot have children."
What's disturbing, despite the fluffy fluff language The New York Post stuffed its article with, is the insistence it's still fine for ladies to take the vaccine. Even though NIH is going to study how the vaccine affects reproductive health. After the FDA has greenlit the vaccine. Perhaps I'm just being too rational about it, but shouldn't "how does this affect reproduction" have been studied before?
Perhaps this is why vaccines take time. Maybe one reason people are hesitant to take the jab is ALL OF THIS.
Pfizer Scientist Claims Antibodies Probably Better Than Shot - Louder With Crowder ›
NIH Funded 257 Equity Studies Related to COVID, - Louder With Crowder ›
DO NOT COMPLY! New Tax Proposed for UNVAXXED?? - Louder With Crowder ›


A geometric design that resembles the drawing of a beautiful classic wrought iron gate. This fabric is a great quality indoor and outdoor fabric in sunny locations.
Suitability includes: Soft furnishings - cushion covers, slips, table top applications - placemats, table cloths, table runners, covering indoor and outdoor settings, chair pads, and home decor.
Qualities: Stain, water resistant finish, manufactured to withstand up to 500 hours in direct sunlight without fading. Durable and versatile.
Colours: yellow, white, toned peach, red.
A geometric design that resembles the drawing of a beautiful outdoor screen. This fabric is a ..


text:
using content::BrowserThread;

namespace {

// Google Documents List API requires uploading in chunks of 512kB.
const int64 kUploadChunkSize = 512 * 1024;

// Maximum number of times we try to open a file before giving up.
const int kMaxFileOpenTries = 5;

}  // namespace

namespace google_apis {

DriveUploader::DriveUploader(DriveServiceInterface* drive_service)
  : drive_service_(drive_service),
    next_upload_id_(0),
    ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) {
}

DriveUploader::~DriveUploader() {
  STLDeleteContainerPairSecondPointers(pending_uploads_.begin(),
                                       pending_uploads_.end());
}

int DriveUploader::UploadNewFile(
    const GURL& upload_location,
    const FilePath& drive_file_path,
    const FilePath& local_file_path,
    const std::string& title,
    const std::string& content_type,
    int64 content_length,
    int64 file_size,
    const UploadCompletionCallback& completion_callback,
    const UploaderReadyCallback& ready_callback) {
   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
   DCHECK(!upload_location.is_empty());
   DCHECK(!drive_file_path.empty());
   DCHECK(!local_file_path.empty());
   DCHECK(!title.empty());
   DCHECK(!content_type.empty());

  scoped_ptr<UploadFileInfo> upload_file_info(new UploadFileInfo);
  upload_file_info->upload_mode = UPLOAD_NEW_FILE;
  upload_file_info->initial_upload_location = upload_location;
  upload_file_info->drive_path = drive_file_path;
  upload_file_info->file_path = local_file_path;
  upload_file_info->title = title;
  upload_file_info->content_type = content_type;
  upload_file_info->content_length = content_length;
  upload_file_info->file_size = file_size;
  upload_file_info->all_bytes_present = content_length == file_size;
  upload_file_info->completion_callback = completion_callback;
  upload_file_info->ready_callback = ready_callback;

  // When uploading a new file, we should retry file open as the file may
  // not yet be ready. See comments in OpenCompletionCallback.
  // TODO(satorux): The retry should be done only when we are uploading
  // while downloading files from web sites (i.e. saving files to Drive).
  upload_file_info->should_retry_file_open = true;
  return StartUploadFile(upload_file_info.Pass());
}

int DriveUploader::StreamExistingFile(
    const GURL& upload_location,
    const FilePath& drive_file_path,
    const FilePath& local_file_path,
    const std::string& content_type,
    int64 content_length,
    int64 file_size,
    const UploadCompletionCallback& completion_callback,
    const UploaderReadyCallback& ready_callback) {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
  DCHECK(!upload_location.is_empty());
  DCHECK(!drive_file_path.empty());
  DCHECK(!local_file_path.empty());
  DCHECK(!content_type.empty());

  scoped_ptr<UploadFileInfo> upload_file_info(new UploadFileInfo);
  upload_file_info->upload_mode = UPLOAD_EXISTING_FILE;
  upload_file_info->initial_upload_location = upload_location;
  upload_file_info->drive_path = drive_file_path;
  upload_file_info->file_path = local_file_path;
  upload_file_info->content_type = content_type;
  upload_file_info->content_length = content_length;
  upload_file_info->file_size = file_size;
  upload_file_info->all_bytes_present = content_length == file_size;
  upload_file_info->completion_callback = completion_callback;
  upload_file_info->ready_callback = ready_callback;

  // When uploading a new file, we should retry file open as the file may
  // not yet be ready. See comments in OpenCompletionCallback.
  // TODO(satorux): The retry should be done only when we are uploading
  // while downloading files from web sites (i.e. saving files to Drive).
  upload_file_info->should_retry_file_open = true;
  return StartUploadFile(upload_file_info.Pass());
}

int DriveUploader::StartUploadFile(
    scoped_ptr<UploadFileInfo> upload_file_info) {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
  DCHECK(upload_file_info.get());
  DCHECK_EQ(upload_file_info->upload_id, -1);
  DCHECK_NE(UPLOAD_INVALID, upload_file_info->upload_mode);

  const int upload_id = next_upload_id_++;
  upload_file_info->upload_id = upload_id;

  // Add upload_file_info to our internal map and take ownership.
  pending_uploads_[upload_id] = upload_file_info.release();
  UploadFileInfo* info = GetUploadFileInfo(upload_id);
  DVLOG(1) << "Uploading file: " << info->DebugString();

  // Create a FileStream to make sure the file can be opened successfully.
  info->file_stream.reset(new net::FileStream(NULL));

  // Create buffer to hold upload data. The full file size may not be known at
  // this point, so it may not be appropriate to use info->file_size.
  info->buf_len = kUploadChunkSize;
  info->buf = new net::IOBuffer(info->buf_len);

  OpenFile(info, FILE_OPEN_START_UPLOAD);
  return upload_id;
}

int DriveUploader::UploadExistingFile(
    const GURL& upload_location,
    const FilePath& drive_file_path,
    const FilePath& local_file_path,
    const std::string& content_type,
    int64 file_size,
    const UploadCompletionCallback& completion_callback,
    const UploaderReadyCallback& ready_callback) {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
  DCHECK(!upload_location.is_empty());
  DCHECK(!drive_file_path.empty());
  DCHECK(!local_file_path.empty());
  DCHECK(!content_type.empty());

  scoped_ptr<UploadFileInfo> upload_file_info(new UploadFileInfo);
  upload_file_info->upload_mode = UPLOAD_EXISTING_FILE;
  upload_file_info->initial_upload_location = upload_location;
  upload_file_info->drive_path = drive_file_path;
  upload_file_info->file_path = local_file_path;
  upload_file_info->content_type = content_type;
  upload_file_info->content_length = file_size;
  upload_file_info->file_size = file_size;
  upload_file_info->all_bytes_present = true;
  upload_file_info->completion_callback = completion_callback;
  upload_file_info->ready_callback = ready_callback;

  // When uploading an updated file, we should not retry file open as the
  // file should already be present by definition.
  upload_file_info->should_retry_file_open = false;
  return StartUploadFile(upload_file_info.Pass());
}

void DriveUploader::UpdateUpload(int upload_id,
                                 content::DownloadItem* download) {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));

  UploadFileInfo* upload_file_info = GetUploadFileInfo(upload_id);
  if (!upload_file_info)
    return;

  const int64 file_size = download->GetReceivedBytes();

  // Update file_size and all_bytes_present.
  DVLOG(1) << "Updating file size from " << upload_file_info->file_size
           << " to " << file_size
           << (download->AllDataSaved() ? " (AllDataSaved)" : " (In-progress)");
  upload_file_info->file_size = file_size;
  upload_file_info->all_bytes_present = download->AllDataSaved();
  if (upload_file_info->file_path != download->GetFullPath()) {
    // We shouldn't see a rename if should_retry_file_open is true. The only
    // rename we expect (for now) is the final rename that happens after the
    // download transition from IN_PROGRESS -> COMPLETE. This, in turn, only
    // happens after the upload completes. However, since this isn't enforced by
    // the API contract, we reset the retry count so we can retry all over again
    // with the new path.
    // TODO(asanka): Introduce a synchronization point after the initial rename
    //               of the download and get rid of the retry logic.
    upload_file_info->num_file_open_tries = 0;
    upload_file_info->file_path = download->GetFullPath();
  }

  // Resume upload if necessary and possible.
  if (upload_file_info->upload_paused &&
      (upload_file_info->all_bytes_present ||
       upload_file_info->SizeRemaining() > kUploadChunkSize)) {
    DVLOG(1) << "Resuming upload " << upload_file_info->title;
    upload_file_info->upload_paused = false;
    UploadNextChunk(upload_file_info);
  }

  // Retry opening this file if we failed before.  File open can fail because
  // the downloads system sets the full path on the UI thread and schedules a
  // rename on the FILE thread. Thus the new path is visible on the UI thread
  // before the renamed file is available on the file system.
  if (upload_file_info->should_retry_file_open) {
    DCHECK(!download->IsComplete());
    // Disallow further retries.
    upload_file_info->should_retry_file_open = false;
    OpenFile(upload_file_info, FILE_OPEN_UPDATE_UPLOAD);
  }
}

int64 DriveUploader::GetUploadedBytes(int upload_id) const {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
  UploadFileInfo* upload_info = GetUploadFileInfo(upload_id);
  // We return the start_range as the count of uploaded bytes since that is the
  // start of the next or currently uploading chunk.
  // TODO(asanka): Use a finer grained progress value than this. We end up
  //               reporting progress in kUploadChunkSize increments.
  return upload_info ? upload_info->start_range : 0;
}

DriveUploader::UploadFileInfo* DriveUploader::GetUploadFileInfo(
    int upload_id) const {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));

  UploadFileInfoMap::const_iterator it = pending_uploads_.find(upload_id);
  DVLOG_IF(1, it == pending_uploads_.end()) << "No upload found for id "
                                            << upload_id;
  return it != pending_uploads_.end() ? it->second : NULL;
}

void DriveUploader::OpenFile(UploadFileInfo* upload_file_info,
                             FileOpenType open_type) {
  // Open the file asynchronously.
  const int rv = upload_file_info->file_stream->Open(
      upload_file_info->file_path,
      base::PLATFORM_FILE_OPEN |
      base::PLATFORM_FILE_READ |
      base::PLATFORM_FILE_ASYNC,
      base::Bind(&DriveUploader::OpenCompletionCallback,
                       weak_ptr_factory_.GetWeakPtr(),
                       open_type,
                       upload_file_info->upload_id));
  DCHECK_EQ(net::ERR_IO_PENDING, rv);
}

void DriveUploader::OpenCompletionCallback(FileOpenType open_type,
                                           int upload_id,
                                           int result) {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));

  UploadFileInfo* upload_file_info = GetUploadFileInfo(upload_id);
  if (!upload_file_info)
    return;

  // The file may actually not exist yet, as the downloads system downloads
  // to a temp location and then renames the file. If this is the case, we
  // just retry opening the file later.
  if (result != net::OK) {
    DCHECK_EQ(result, net::ERR_FILE_NOT_FOUND);

    if (upload_file_info->should_retry_file_open) {
      // File open failed. Try again later.
      upload_file_info->num_file_open_tries++;

      DVLOG(1) << "Error opening \"" << upload_file_info->file_path.value()
               << "\" for reading: " << net::ErrorToString(result)
               << ", tries=" << upload_file_info->num_file_open_tries;

      // Stop trying to open this file if we exceed kMaxFileOpenTries.
      const bool exceeded_max_attempts =
          upload_file_info->num_file_open_tries >= kMaxFileOpenTries;
      upload_file_info->should_retry_file_open = !exceeded_max_attempts;
    }
    if (!upload_file_info->should_retry_file_open) {
      UploadFailed(upload_file_info, DRIVE_UPLOAD_ERROR_NOT_FOUND);
      return;
    }
  } else {
    // Open succeeded, initiate the upload.
    upload_file_info->should_retry_file_open = false;
    if (upload_file_info->initial_upload_location.is_empty()) {
      UploadFailed(upload_file_info, DRIVE_UPLOAD_ERROR_ABORT);
      return;
    }
    drive_service_->InitiateUpload(
        InitiateUploadParams(upload_file_info->upload_mode,
                             upload_file_info->title,
                             upload_file_info->content_type,
                             upload_file_info->content_length,
                             upload_file_info->initial_upload_location,
                             upload_file_info->drive_path),
        base::Bind(&DriveUploader::OnUploadLocationReceived,
                   weak_ptr_factory_.GetWeakPtr(),
                   upload_file_info->upload_id));
  }
  // The uploader gets ready after we complete opening the file, called
  // from the StartUploadFile method. We use PostTask on purpose, because
  // this callback is called by FileStream, and we may access FileStream
  // again from the |ready_callback| implementation. FileStream is not
  // reentrant.
  //
  // Note, that we call this callback if we opened the file, or if we
  // failed, but further retries are scheduled. The callback will not be
  // called if the upload has been aborted.
  if (open_type == FILE_OPEN_START_UPLOAD &&
      !upload_file_info->ready_callback.is_null()) {
    BrowserThread::PostTask(
        BrowserThread::UI,
        FROM_HERE,
        base::Bind(upload_file_info->ready_callback, upload_id));
  }
}

void DriveUploader::OnUploadLocationReceived(int upload_id,
                                             GDataErrorCode code,
                                             const GURL& upload_location) {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));

  UploadFileInfo* upload_file_info = GetUploadFileInfo(upload_id);
  if (!upload_file_info)
    return;

  DVLOG(1) << "Got upload location [" << upload_location.spec()
           << "] for [" << upload_file_info->title << "]";

  if (code != HTTP_SUCCESS) {
    // TODO(achuith): Handle error codes from Google Docs server.
    UploadFailed(upload_file_info, DRIVE_UPLOAD_ERROR_ABORT);
    return;
  }

  upload_file_info->upload_location = upload_location;

  // Start the upload from the beginning of the file.
  UploadNextChunk(upload_file_info);
}

void DriveUploader::UploadNextChunk(UploadFileInfo* upload_file_info) {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
  // Check that |upload_file_info| is in pending_uploads_.
  DCHECK(upload_file_info == GetUploadFileInfo(upload_file_info->upload_id));
  DVLOG(1) << "Number of pending uploads=" << pending_uploads_.size();

  // Determine number of bytes to read for this upload iteration, which cannot
  // exceed size of buf i.e. buf_len.
  const int64 bytes_remaining = upload_file_info->SizeRemaining();
  const int bytes_to_read = std::min(upload_file_info->SizeRemaining(),
                                     upload_file_info->buf_len);

  // Update the content length if the file_size is known.
  if (upload_file_info->all_bytes_present)
    upload_file_info->content_length = upload_file_info->file_size;
  else if (bytes_remaining == bytes_to_read) {
    // Wait for more data if this is the last chunk we have and we don't know
    // whether we've reached the end of the file. We won't know how much data to
    // expect until the transfer is complete (the Content-Length might be
    // incorrect or absent). If we've sent the last chunk out already when we
    // find out there's no more data, we won't be able to complete the upload.
    DVLOG(1) << "Paused upload " << upload_file_info->title;
    upload_file_info->upload_paused = true;
    return;
  }

  if (bytes_to_read == 0) {
    // This should only happen when the actual file size is 0.
    DCHECK(upload_file_info->all_bytes_present &&
           upload_file_info->content_length == 0);

    upload_file_info->start_range = 0;
    upload_file_info->end_range = -1;
    // Skips file_stream->Read and error checks for 0-byte case. Immediately
    // proceeds to ResumeUpload.
    // TODO(kinaba): http://crbug.com/134814
    // Replace the following PostTask() to an direct method call. This is needed
    // because we have to ResumeUpload after the previous InitiateUpload or
    // ResumeUpload is completely finished; at this point, we are inside the
    // callback function from the previous operation, which is not treated as
    // finished yet.
    base::MessageLoopProxy::current()->PostTask(
        FROM_HERE,
        base::Bind(&DriveUploader::ResumeUpload,
                   weak_ptr_factory_.GetWeakPtr(),
                   upload_file_info->upload_id));
    return;
  }

  upload_file_info->file_stream->Read(
      upload_file_info->buf,
      bytes_to_read,
      base::Bind(&DriveUploader::ReadCompletionCallback,
                 weak_ptr_factory_.GetWeakPtr(),
                 upload_file_info->upload_id,
                 bytes_to_read));
}

void DriveUploader::ReadCompletionCallback(
    int upload_id,
    int bytes_to_read,
    int bytes_read) {
  // The Read is asynchronously executed on BrowserThread::UI, where
  // Read() was called.
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
  // Should be non-zero. FileStream::Read() returns 0 only at end-of-file,
  // but we don't try to read from end-of-file.
  DCHECK_NE(0, bytes_read);
  DVLOG(1) << "ReadCompletionCallback bytes read=" << bytes_read;

  UploadFileInfo* upload_file_info = GetUploadFileInfo(upload_id);
  if (!upload_file_info)
    return;

  if (bytes_read < 0) {
    LOG(ERROR) << "Error reading from file "
               << upload_file_info->file_path.value();
    UploadFailed(upload_file_info, DRIVE_UPLOAD_ERROR_ABORT);
    return;
  }

  upload_file_info->start_range = upload_file_info->end_range + 1;
  upload_file_info->end_range = upload_file_info->start_range +
                                bytes_read - 1;

  ResumeUpload(upload_id);
}

void DriveUploader::ResumeUpload(int upload_id) {
  UploadFileInfo* upload_file_info = GetUploadFileInfo(upload_id);
  if (!upload_file_info)
    return;

  drive_service_->ResumeUpload(
      ResumeUploadParams(upload_file_info->upload_mode,
                         upload_file_info->start_range,
                         upload_file_info->end_range,
                         upload_file_info->content_length,
                         upload_file_info->content_type,
                         upload_file_info->buf,
                         upload_file_info->upload_location,
                         upload_file_info->drive_path),
      base::Bind(&DriveUploader::OnResumeUploadResponseReceived,
                 weak_ptr_factory_.GetWeakPtr(),
                 upload_file_info->upload_id));
}

void DriveUploader::OnResumeUploadResponseReceived(
    int upload_id,
    const ResumeUploadResponse& response,
    scoped_ptr<DocumentEntry> entry) {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));

  UploadFileInfo* upload_file_info = GetUploadFileInfo(upload_id);
  if (!upload_file_info)
    return;

  const UploadMode upload_mode = upload_file_info->upload_mode;
  if ((upload_mode == UPLOAD_NEW_FILE && response.code == HTTP_CREATED) ||
      (upload_mode == UPLOAD_EXISTING_FILE && response.code == HTTP_SUCCESS)) {
    DVLOG(1) << "Successfully created uploaded file=["
             << upload_file_info->title;

    // Done uploading.
    upload_file_info->entry = entry.Pass();
    if (!upload_file_info->completion_callback.is_null()) {
      upload_file_info->completion_callback.Run(
          DRIVE_UPLOAD_OK,
          upload_file_info->drive_path,
          upload_file_info->file_path,
          upload_file_info->entry.Pass());
    }

    // This will delete |upload_file_info|.
    RemoveUpload(scoped_ptr<UploadFileInfo>(upload_file_info));
    return;
  }

  // If code is 308 (RESUME_INCOMPLETE) and range_received is what has been
  // previously uploaded (i.e. = upload_file_info->end_range), proceed to
  // upload the next chunk.
  if (response.code != HTTP_RESUME_INCOMPLETE ||
      response.start_range_received != 0 ||
      response.end_range_received != upload_file_info->end_range) {
    // TODO(achuith): Handle error cases, e.g.
    // - when previously uploaded data wasn't received by Google Docs server,
    //   i.e. when end_range_received < upload_file_info->end_range
    LOG(ERROR) << "UploadNextChunk http code=" << response.code
               << ", start_range_received=" << response.start_range_received
               << ", end_range_received=" << response.end_range_received
               << ", expected end range=" << upload_file_info->end_range;
    UploadFailed(
        upload_file_info,
        response.code == HTTP_FORBIDDEN ?
        DRIVE_UPLOAD_ERROR_NO_SPACE : DRIVE_UPLOAD_ERROR_ABORT);
    return;
  }

  DVLOG(1) << "Received range " << response.start_range_received
           << "-" << response.end_range_received
           << " for [" << upload_file_info->title << "]";

  // Continue uploading.
  UploadNextChunk(upload_file_info);
}

void DriveUploader::UploadFailed(UploadFileInfo* upload_file_info,
                                 DriveUploadError error) {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));

  LOG(ERROR) << "Upload failed " << upload_file_info->DebugString();

  if (!upload_file_info->completion_callback.is_null())
    upload_file_info->completion_callback.Run(
        error,
        upload_file_info->drive_path,
        upload_file_info->file_path,
        upload_file_info->entry.Pass());

  // This will delete |upload_file_info|.
  RemoveUpload(scoped_ptr<UploadFileInfo>(upload_file_info));
}

void DriveUploader::RemoveUpload(scoped_ptr<UploadFileInfo> upload_file_info) {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
  pending_uploads_.erase(upload_file_info->upload_id);
}

DriveUploader::UploadFileInfo::UploadFileInfo()
    : upload_id(-1),
      file_size(0),
      content_length(0),
      upload_mode(UPLOAD_INVALID),
      file_stream(NULL),
      buf_len(0),
      start_range(0),
      end_range(-1),
      all_bytes_present(false),
      upload_paused(false),
      should_retry_file_open(false),
      num_file_open_tries(0) {
}

DriveUploader::UploadFileInfo::~UploadFileInfo() { }

int64 DriveUploader::UploadFileInfo::SizeRemaining() const {
  DCHECK(file_size > end_range);
  // Note that uploaded_bytes = end_range + 1;
  return file_size - end_range - 1;
}

std::string DriveUploader::UploadFileInfo::DebugString() const {
  return "title=[" + title +
         "], file_path=[" + file_path.AsUTF8Unsafe() +
         "], content_type=[" + content_type +
         "], content_length=[" + base::UintToString(content_length) +
         "], file_size=[" + base::UintToString(file_size) +
         "], drive_path=[" + drive_path.AsUTF8Unsafe() +
         "]";
}

}  // namespace google_apis

redpajama_set_name: RedPajamaGithub


text:
Q: Lagrangian Derivation of Brachistocrone? I've been trying to derive the functional description of the brachistocrone. To do this, I used the Lagrangian to describe motion along a functional path. given a function $ f(x) $ where $0<y<a$ for all values of x . The lagrangian of this function is $L = KE - PE = \frac{1}{2} m (1+f'(x)^2)\dot x^2 - mgf(x)$.
This simplifies to $ \ddot x = \frac {-gf'(x)}{1+f'(x)^2} $.
Now, in order to solve for which function f(x) is the shortest path in time and space between two points greater than 0, we would have to solve our acceleration for displacement. This mathematics is beyond me, does anyone else understand how to finish the problem and derive the brachistocrone?

A: From what I am looking at, it appears you are applying Euler-Lagrange's equations to the Lagrangian of the system of a particle constrained on a certain curve of shape f(x). However, by doing this, you are minimising the action of this particle, and thus you are getting the equations of motion of the particle. Granted, if you where able to solve them in the general case, you would then be able to compute the time it takes for the particle to reach the bottom, and thus minimise by varying f(x), finding the form of the brachistochrone.
However, this seems a little bit overkill to me. Let's see if there is a better functional to consider other than the action of your system.
Just as a side note, the equation you derived seem to be wrong, the correct equation should be
$$\ddot{x}(1+f'^2)=-f'f''\dot{x}^2-gf'$$
Anyway, since Lagrangian formalism is all about minimisation, let's consider, what do we want to minimize here ? It's very straightforward, and it is the time it takes for the particle to fall down the ramp. Now, parametrising the form of the ramp as you did, how can we compute the time for the ball to reach the bottom ?
To cross the infinitesimal distance $ds = \sqrt{1+f'^2}dx$ at speed v takes a time dt given by :
$$ dt = \frac{ds}{v}$$
We're basically done ! The total time for the ball to reach the bottom will then simply be $T = \int dt = \int \frac{ds}{v} = \int \frac{\sqrt{1+f'2}}{v}dx$.
As we can see, we still miss an element to be able to start doing some lagrangian mechanics. Indeed, we have the speed $v$ that we would like to express as a function of $x$, so that we have an integral on $x$. To do this, we exploit the conservation of energy which tells us that $\frac{1}{2}mv^2+mgh = E$. If we set our y-axis to be directed downwards for convenience (so here, $0<f(x)<-a$) as well as set the Energy to be 0 at $x=0$, we obtain $v(x) = \sqrt{2gf(x)}$
Thus, we have the functional that we would like to minimize :
$$ T = \int \sqrt{\frac{1+f'(x)^2}{2gf(x)}}dx$$. We can strip away the constant $2g$ which plays no role (we just showed that the brachistochrone has the same shape here or on the moon, by the way !), and the problem can be formulated as a function of a Lagrangian :
$$ L = \sqrt{\frac{1+f'(x)^2}{f(x)}} $$
Note that here x plays the role of the time in the usual lagrangian, in the sense that the Euler equations are now :
$$ \frac{d}{dx}\frac{\partial L}{\partial f'} = \frac{\partial L}{\partial f} $$
Just for the record, $f(x)$ is usually renamed $y(x)$.
See if you have more luck working on this formulation of the problem, if not, tell me and I'll complete my answer !

A: Under the assumption that your $f(x)=y(x)$, note that
$$
T=\int dt = \int \frac{ds}{v}
$$
with $ds=\sqrt{dx^2+dy^2}$.  The speed $v$ can be inferred from conservation of energy.  If your particle is starting from rest at height $y_0$ then
$$
E=mgy_0=mgy+\frac{1}{2}mv^2 \quad
\Rightarrow\quad v=\sqrt{2g(y_0-y)}
$$
so
$$
T=\int\sqrt{\frac{dx^2+dy^2}{2g(y_0-y)}}
$$
The sweet trick is to realize that, by making $dy$ your integration variable, i.e.
$$
T=\int\sqrt{\frac{(dx/dy)^2+1}{2g(y_0-y)}}dy
$$
you have a Lagrangian $L=\sqrt{\frac{(dx/dy)^2+1}{2g(y_0-y)}}$ where $x$ is ignorable, so that the Euler-Lagrange equation reads
$$
\frac{d}{dy}\frac{\partial L}{\partial (dx/dy)}-\frac{\partial L}{\partial x}=0
$$
and you get a first integral for free:
\begin{align}
\frac{\partial L}{\partial (dx/dy)}=C
\end{align}
where $C$ is a constant.  From that point it's not terribly hard to reorganize the terms to get an equation that is separable in $x$ and $y$.

A:
This well-known problem is
to find the curve joining two points, along which a particle falling from rest under
the influence of gravity travels from the higher to the lower point in the least time.
It's supposed that the motion on the curve is frictionless.
The time to travel from point 1 to point 2 is
\begin{equation}
t_{12}\boldsymbol{=}\int\limits_{1}^{2}\mathrm{d}t\boldsymbol{=}\int\limits_{1}^{2} \dfrac{\mathrm{d}s}{v}
\tag{01}\label{01}
\end{equation}
where $\:s\:$ the arc-length parameter and $\:v\:$ the speed
\begin{equation}
\mathrm{d}s\boldsymbol{=}\sqrt{\mathrm{d}x^{2}\boldsymbol{+}\mathrm{d}y^{2}}\boldsymbol{=}\sqrt{1+y'^{\,2}}\:\mathrm{d}x
\tag{02}\label{02}
\end{equation}
In equation \eqref{02}
\begin{equation}
y'\boldsymbol{\equiv}\dfrac{\mathrm{d}y}{\mathrm{d}x}
\tag{03}\label{03}
\end{equation}
while from energy conservation
\begin{equation}
v\boldsymbol{=}\sqrt{2gy}
\tag{04}\label{04}
\end{equation}
So
\begin{equation}
t_{12}\boldsymbol{=}\dfrac{1}{\sqrt{2g}}\int\limits_{1}^{2}\sqrt{\dfrac{1\boldsymbol{+}y'^{\,2}}{y}}\,\mathrm{d}x
\tag{05}\label{05}
\end{equation}
Least time means
\begin{equation}
\sqrt{2g}\;t_{12}\boldsymbol{=}\int\limits_{1}^{2}L\left(y,y',x\right)\mathrm{d}x\boldsymbol{=}\text{extremum}
\tag{06}\label{06}
\end{equation}
where
\begin{equation}
L\left(y,y',x\right) \boldsymbol{\equiv} \sqrt{\dfrac{1\boldsymbol{+}y'^{\,2}}{y}}\boldsymbol{=}\left(\dfrac{1\boldsymbol{+}y'^{\,2}}{y}\right)^{\frac{1}{2}}
\tag{07}\label{07}
\end{equation}
is the Lagrangian of the problem.
The Euler-Lagrange equation
\begin{equation}
\dfrac{\mathrm{d}}{\mathrm{d}x}\left(\dfrac{\partial L}{\partial y'}\right)\boldsymbol{-}\dfrac{\partial L}{\partial y}\boldsymbol{=}0
\tag{08}\label{08}
\end{equation}
gives after lengthy differentiation or using the Beltrami Identity the following differential equation for the curve
\begin{equation}
y'^{\,2}\boldsymbol{+}2y y''\boldsymbol{+}1\boldsymbol{=}0
\tag{09}\label{09}
\end{equation}


George and Amal Clooney stepped up to help a cocker spaniel rescue organization in need of funds to help neglected dogs.
Camp Cocker Rescue of Sherman Oaks, California, saved nine cocker spaniels from a backyard breeder situation after the dogs were dumped in a rural desert town. Having never been to the vet before, the medical bills for these dogs were high. Cherry eye, mastectomy, lab work and spay and neuter services were just a few issues the pups faced.
George, who rescued both of his dogs from the organization, caught wind of Camp Cocker Rescue's predicament. He, along with Amal, donated $10,000 and allowed the rescue group let the world know.
This isn't the first time the couple have helped out pups. Besides rescuing his two dogs, Einstein and Louie, the couple also saved a basset hound from a California rescue named Millie. And Christmas of 2015, George gave his parents a terrier mix named Nate from Ohio-based organization LuvFurMutts.
They put their money where their heart is!


text:
Q: Highchart Container, Download Issue at Live Server I have integrated highchart type "Container", while customise tooltip for additional informations. Its working perfectly both render and download at local machine, but I am facing download issue when deployed it at live server. Its rendering perfectly at live server.
Everytime I click to Download "PNG or Jpeg or PDF": I am getting this error "error when performing chart generation: please check your input data" while URL redirect from my website to "https://export.highcharts.com/".
I am scratching my head for last hour but unable to get satisfactory answer/solution.. Why its working fine at local and why not at live. I have grant all permissions to all files at live.
Any help will be highly appreciated.


Mystic Secrets is one of those free slot machine games where you can spend hours and hours of your time without budging. If you have a passion for the mysterious, and if you love to uncover secrets, then you will love how this game functions. Needless to say the game is pretty rewarding. You can see your virtual credits multiplying without having to sign up or register anywhere. It is one of those games which you can just play instantly. There are other games of the Novomatic, which are quite similar to this one, they are, the Gryphon's Gold and the Unicorn Magic.
You might start off the game slowly, but surely, you will be intrigued by the possibility of earning the jackpot – since the game rewards you quite often. You also have to take risks and face challenges when the characters appear on the screen.


text:
Home /The AFC Playoff Picture Is Finally Coming Into Focus – The Ringer
Real News 1December 28, 2020
The AFC Playoff Picture Is Finally Coming Into Focus – The Ringer
The 2020 NFL season has been plenty strange, and the AFC playoff race is bringing the drama right down the wire. Week 16 produced some postseason-altering results that will have significant ramifications on seeding and will determine which teams still have hope in the final week of the year. After an exciting early-afternoon slate, here's where things stand in the AFC playoff picture:
The Steelers sit atop a tightly contested AFC North.
For the first time in the Mike Tomlin era, the Steelers rallied from a 17-point second-half deficit on Sunday, stunning the Colts to complete a 28-24 comeback win and halt a three-game losing streak. But the most surprising part wasn't the comeback. It was that it happened because of the arm of quarterback Ben Roethlisberger, who threw for 244 yards and three touchdowns in the second half, and went 6-for-9 on passes 10 yards or more downfield for 133 yards and two scores, according to Pro Football Focus.
This contest had division-crown implications for both teams, and we'll get to the Colts in a bit. The Steelers offense entered Sunday trending in the wrong direction, and their dominant defense had injuries piled up within nearly every position group. Both were issues during a first-half shellacking at the hands of Philip Rivers and Co. Indianapolis built a 24-7 lead early in the third quarter and seemed firmly in control of things when Pittsburgh's offense finally awakened. Roethlisberger, who entered the game tied for 27th among quarterbacks in intended air yards per attempt (6.9) and 34th in air yards per completion (4.5), connected with Diontae Johnson on a 39-yard touchdown and JuJu Smith-Schuster for a 25-yard go-ahead score with 7:38 remaining. Smith-Schuster's celebration after the play was muted, but for the first time in a while, Roethlisberger and the Steelers offense looked like they were enjoying themselves. Big Ben finished Sunday with a season-high 342 yards and three touchdown passes.
"I just felt like we weren't having fun," Roethlisberger told reporters after the game. "I felt like it was important to come out in the second half [and have fun]. It's not easy to do when you're losing."
Roethlisberger's performance, in tandem with Pittsburgh's defense holding the Colts to three second-half points, led the Steelers to the 12-win mark and their first AFC North title since 2017. It also prevented the team from potentially needing to fight off the Browns and Ravens in Week 17.
The Browns, meanwhile, entered Sunday with a chance to end the NFL's longest playoff drought—and they could do it against the Jets. Considering Cleveland's recent form, that sounded like a cakewalk—until Saturday afternoon, when the Browns learned that four of their wide receivers and two linebackers would be out because of the NFL's COVID-19 protocols.
Cleveland's rushing game has ranked among the best in the league; Football Outsiders had the Browns as no. 8 in rushing DVOA entering Sunday. But absent starting left tackle Jedrick Wills and right guard Wyatt Teller—who were out with an illness and ankle injury, respectively—the Browns struggled to move the ball against New York's front seven (the Jets entered Sunday no. 8 in rush defense DVOA), and finished with 45 rushing yards on 18 carries (2.5 yards per carry). Baker Mayfield and the Browns' passing game missed wideouts Jarvis Landry, Donovan Peoples-Jones, and Rashard Higgins too. The Jets took an early lead and Mayfield failed to find much success through the air, finishing 28-for-53 with 285 yards and three fumbles (two lost).
Still, the Browns pulled within four points early in the fourth quarter and trailed 23-16 with just over a minute to go. They drove to the Jets' 16-yard line, but facing fourth-and-1, Mayfield dove ahead on a QB sneak and the ball was popped loose. Kareem Hunt recovered it behind the line of scrimmage, but the drive ended, along with Cleveland's chances at earning a postseason spot on Sunday.
While the Browns were faltering, the Ravens continued their run of impressive play in a 27-13 win against the Giants. Baltimore's offense has used an easy stretch of games against the Cowboys, Browns, Jaguars, and Giants to channel the form that spurred the team's dominant 2019 season. Running backs Gus Edwards (15 carries, 85 yards) and J.K. Dobbins (11 carries, 77 yards, one touchdown) combined with quarterback Lamar Jackson (13 carries, 80 yards) to help the Ravens notch their 10th win of the year. And with the Colts' loss, Baltimore got back into the playoff picture just in time for the regular season's final week.
The Ravens and Browns each control their fate entering Week 17. Baltimore must beat the Bengals to earn a wild-card berth; Cleveland must defeat the Steelers. Both teams could finish as high as the AFC's no. 5 seed, depending on how the Dolphins perform next week against the Bills. Baltimore owns the tiebreaker with Cleveland based on head-to-head win percentage.
"This one's on me," Mayfield told reporters after the loss. "This one is going to sting for a day or two, but we've got the Steelers to win and get in. Yes, I'm aware of what could have happened if we won today. I'm well aware of that. But it is what it is."
The Colts lose their grip on the AFC South and give the Titans a chance to secure their spot.
The Colts entered Week 16 knowing that if they won out, they'd be in. Things got off to the right start on Sunday against Pittsburgh, as Indianapolis took a 21-7 lead going into halftime; the Steelers' lone scoring drive followed a Rivers fumble that set them up at Indy's 3-yard line. Rookie tailback Jonathan Taylor had rushed for two scores and Rivers had fired a 42-yard touchdown pass to Zach Pascal to help the Colts surge comfortably into the lead.
But things fell apart in the second half. Indy opened the third quarter with a field goal, then went three-and-out on back-to-back drives. The Steelers scored touchdowns on each of the ensuing possessions, as Roethlisberger began picking the Colts' secondary apart. And after Pittsburgh took a 28-24 lead midway through the fourth quarter, Rivers tossed a crucial pick, allowing the Steelers to chew nearly four more minutes off the clock before Indy regained possession. The Colts managed to get to Pittsburgh's 33-yard line, but Rivers threw three straight incompletions to end the drive on downs, and following Sunday's other results, the Colts are back on the outside of the playoff picture looking in.
"I'm gonna believe that 11 [wins] is gonna be enough," Rivers told reporters after the game. "I don't deny that we need help, but…"
Next week, Indy will face the one-win Jaguars in a must-have contest. But even if the Colts win, there's a chance they'll miss the postseason, as the Ravens and Browns each hold head-to-head tiebreakers and the Dolphins have a greater conference win percentage. The Titans, who face the Packers on Sunday Night Football, can now clinch the AFC South title with a victory.
The AFC officially runs through Kansas City.
The Chiefs clinched the AFC's no. 1 seed on Sunday following a dramatic 17-14 victory against the Falcons. For the seventh consecutive game, Kansas City played in a one-score contest, and for the seventh consecutive time, it won. At 4-10, perhaps the Falcons weren't expected to put up much of a contest. But they got stops when they needed to and did a decent job of generating pressure on Patrick Mahomes, specifically from the interior—star defensive tackle Grady Jarrett recorded a pair of QB hits.
Mahomes wasn't at his best Sunday. He completed 24 of 44 passes for 278 yards and two touchdowns and threw an uncharacteristic red-zone interception early in the third quarter. The Chiefs—who've been the NFL's highest-scoring third-quarter offense—didn't get a point in the frame.
None of that mattered.
Matt Ryan's 5-yard touchdown pass to Laquon Treadwell gave the Falcons a 14-10 lead with 4:33 left, but roughly two minutes later, Mahomes drove the Chiefs to Atlanta's 25-yard line. Mahomes was nearly intercepted by rookie cornerback AJ Terrell in the end zone, but Terrell couldn't maintain possession after hitting the ground. The very next play, Mahomes found Demarcus Robinson for the go-ahead score with 1:55 remaining.
The Falcons almost forced overtime, as Ryan led them down to Kansas City's 21-yard line and set up kicker Younghoe Koo—who'd made 27 straight attempts—for a 39-yard field goal. But Koo's drift sailed wide right, and the 14-1 Chiefs clinched the AFC's top seed, home-field advantage, and the conference's lone bye.
"Just a bad day for the offense," Mahomes told reporters after the game, "starting with me."
Perhaps it should be concerning that Kansas City keeps finding itself in close games, and that twice this month it's had some of the lowest outputs ever with Mahomes behind center. But that hasn't mattered yet. And considering the Chiefs boast a QB whose play while trailing is historically good; an All-Pro in Travis Kelce, who's put together the greatest single statistical season by a tight end; and one of the NFL's most explosive receiving corps, it's hard to find a reason why Kansas City won't find its way through the AFC and back to the Super Bowl.
Labor Day Weekend Bringing Travel…
Labor Day heat wave scorches…
Tensions escalate between Taiwan and…
Building shakes during parliamentary debate…
California brush fire spreads over…
Former governor of Alaska Sarah…
Inspectors arrive at Europe's largest…
Biden declares state of emergency…
Boy saves mom from drowning…
Indigenous 'Man of the Hole,'…


2 Bedrooms house for sale in Béziers - £133206 (Ref: AP2249283).
Situated in a calm but central part of the village, bright village house with 75 m2 of living space offering 2 lounges, professional kitchen, 2 bedrooms. Quality renovation by artisans. Overlooking the church square. Possibility to create an independent gite.
Lively winegrowers village with all shops, restaurants and a market, 5 minutes to Roujan, 10 minutes to Pezenas, 25 minutes to Beziers and airport, 25 minutes to beaches.
Ground = Vestibule of 3.5 m2 + lounge of 13.95 m2 + living room/workshop of 6.8 m2 + the two rooms on the street level are accessible by double glazed sliding doors (disabled user standards) with electric shutters and a second door with anti panic bar.
1st = Quality professional kitchen of 18,63 m2 running front to rear of the house (5 ring professional gas burner, professional gas oven, freezer, dishwasher, sinks, extractor fan, breakfast counter/work surfaces and work units, shelves GGMastro, all stainless steel meeting professional chef standards) + bedroom of 8.5 m2 + WC of 2.4 m2 (washbasin,WC, water heater).
2nd = Salon of 18.65 m2 with Velux + bedroom of 9 m2 + mezzanine/living room of 8.2 m2.
Sundry = Renovated with finishes to be done to upper floors + habitable immediately + there is separate access to the upper floors through it's own front door with the possibility to create an independent gite + possibility of revenue as atelier, artist studio or other food related artisan trade + tiled throughout + not overlooked + double glazing + building equipped with photovoltaic panels, returned 1000 € income per year + there is the right for a 20 m2 terrace to the front of the property + roof replaced and insulated throughout.
This property listing (ref: 11500-SLR01851) is an advertisement supplied by Cle France and does not constitute property particulars. While aplaceinthesun.com (APITS Ltd.) requests all advertisers supply correct details, it does not carry out checks on the information supplied and cannot be held responsible for any inaccuracies. Aplaceinthesun.com recommends seeking independent legal advice prior to any overseas property purchase.


And another awesome announcement: Mama Agatha will also be part of this year's 12th edition of International Cycling Film Festival in Herne, Germany!
See their full program here. Mama Agatha is showing on October 21.


text:
Book Review – The Epidemic by Suzanne Young
by Michelle | Apr 19, 2016 | Books Read in 2016, Y Author | 0 comments
Title: The Epidemic
Author: Suzanne Young
Genre: Young Adult; Fiction
Origins: Simon Pulse
"Can one girl help others find closure by slipping into the identities of their loved ones? Find out in this riveting sequel to The Remedy and companion to the New York Times bestselling The Treatment and The Program.
In a world before The Program…
Quinlan McKee has spent her life acting as other people. She was a closer—a person hired to play the role of the recently deceased in order to give their families closure. Through this process, Quinn learned to read people and situations, even losing a bit of herself to do so. But she couldn't have guessed how her last case would bring down her entire world.
The only person Quinn trusts is Deacon, her best friend and the love of her life. Except Deacon's been keeping secrets of his own, so Quinn must set out alone to find Arthur Pritchard, the doctor who's been trying to control her life. The journey brings Quinn to Arthur's daughter, Virginia, who tells Quinn the truth about Pritchard's motives. The former closer will start to see that she is the first step in fighting an epidemic.
But Quinlan doesn't want to be a cure. And with all the lies surrounding her, she realizes she has no one left to rely on but herself—even if she doesn't know who that is anymore."
My Thoughts: The Epidemic picks up at the exact moment The Remedy ends. While this is usually cause for concern, especially if you are like me and did not go back to re-read any of the previous books to refresh your memory, Ms. Young does a fantastic job picking up the strands of the narrative and weaving into them enough of the backstory to cause no hiccups in understanding. At the same time, she does not linger overlong on such backstory elements but rather allows Quinn's story to move forward at its own pace. Given how temporary her life is within the opening pages, this means the action starts quickly and really never pauses for breath. The reader is along for the entire ride.
All of the favorites from The Remedy are back for Quinn's journey for answers, which is a good thing. Quinn's friends bring humor and add much-needed lightness to a story that could very easily get bogged down in the cryptic and depressing. It is key to remember that the next story in this "series" is The Program, so The Epidemic is never going to be a happy and charming novel. Still, things are not quite as bad as they are later, and the moments of levity are a welcome emotional palate cleanser.
Quinn's struggles regarding identity are intriguing if not a little overly dramatic. Then again, if you had no idea what your true name was or grew up switching names and imitating others as fluidly and as often as one changes shoes, the idea of identity does tend to take on an entirely different meaning. Still, this is one of the weaker areas of the story, as Quinn hashes and rehashes her concerns, her angst, and her drive to find answers. It is not only redundant but somewhat boring as all teens struggle with the idea of identity during their formative years. It is part of the growing-up process after all.
So much time is spent on Quinn's internal musings in fact that the explanation for and fight against the pending epidemic are anticlimactic. The explanation is cursory at best, confusing at worst and altogether lacking in specificity. Given that this epidemic is the driving force behind four novels, I expected more pages devoted to it. What we are given seems rather lacking, and frankly, I don't buy it. While I could accept the idea of closures, of drugs that target selected memories and erase them, and other memory manipulation drugs, I struggle to accept the rationale behind the epidemic. While the psychology exists, the contagion seems rather extreme, and therein lies my issue.
However, as much as I may have been bored at times with Quinn's angst-fueled reflections and as much as I do not accept the explanation given for the epidemic, I still enjoyed the novel. A lot. Deacon manages to exude the right balance of sexy, vulnerability, and confidence that will drive most girls wild. Quinn is rather kick-ass when it comes to getting answers. Her plans may lack a lot, but she takes decisive action, something you automatically respect. The action itself is practically nonstop, as Quinn takes off running during the first chapter and really never finishes running. The whole story comes to a nice conclusion, setting the stage for Sloan and James to make their entrance in the next novel. It's a satisfying end to a great series.
BOTTOM LINE: A strong and chilling finish to a spectacular series.


Deporting country can now share deportee's data with rest of the states DUBAI Gulf Co-operation Council (GCC) countries have started applying a law that bans expatriates deported from any of the six countries from entering the rest of them, according to Manafez Dubai, the official newsletter of the General Directorate of Residency and Foreigners Affairs Dubai (GDRFA). A report in its September issue of the newsletter said the new law is based on the GCC security pact. "Moreover, the country which deports an expatriate will be allowed to take the deportee's fingerprints and share the information with the rest of the GCC countries," it said.
It said the GCC countries are coordinating efforts to control drugs with exchanges of information, including names of smugglers, their modus operandi and data.
O.V. Musthafa Zafeer of Musthafa & Almana International Legal Consultants said: "The GCC-wide entry ban for deported expats is not automatic, except in drug-related cases. Otherwise, it is applied on a case-to-case basis."
Tina Thapar of Al Midfa & Associates said: "The security pact of 1994 was amended in 2012 and thereafter implemented for major crimes such as drugs, money laundering, murder etc."
Citing some cases, she said a man implicated in a drug case in Saudi Arabia was deported from the UAE without a trial based on the judgment issued by the Saudi court. Another man in South Africa, who defaulted on alimony in the UAE, wanted to relocate to Bahrain. He had read about the GCC law, so he found out if there was an arrest warrant against him in the UAE and got his name cleared before flying to Bahrain.


About MedVet: MedVet, with headquarters in Columbus, Ohio, is a widely recognized and growing group of emergency, critical care and specialty referral veterinary hospitals for companion animals. MedVet is veterinary owned and led, and is leading specialty healthcare for pets. MedVet provides specialty referral services for in-depth care and patient management, as well as emergency services, most available 24 hours a day, 365 days a year. More than 100,000 dogs and cats are treated annually at MedVet's expanding network of medical centers across the country.
Locations: We are home to a 60,000 square foot state-of-the-art hospital covering 14 veterinary specialties in Columbus, Ohio. MedVet has 22 locations including those in Ohio, Kentucky, Illinois, Indiana, Alabama, Louisiana, Pennsylvania, Texas, Utah, Idaho, and Michigan.
For more information on our locations, go to MedVet Locations.
Employees: We have over 1225 employees of which 235 are doctors and 800 supporting staff including registered veterinary technicians, animal aids and customer service representatives.
Patient Visits: In 2016, we had 100,000 patient visits across our locations.
Hours: Most of our hospitals are open 24/7/365. No appointment is necessary for emergency care. Appointments are required for specialty and referral services and varies by location.
Training: Research and education: We have over 25 residents and interns in training in our accredited training programs.
Education: MedVet doctors and technicians share their ideas and expertise through free Continuing Education (CE) meetings for Referring Veterinarians and Veterinary Technicians at all locations. MedVet offers approximately 200 hours of CE/year.
Research: MedVet advances veterinary medicine through clinical studies. Our Clinical Studies Center leads collaborative initiatives with MedVet specialists and veterinarians worldwide. MedVet partners with a wide variety of investigative institutions and sponsors to complete clinical studies. The outcome of these important studies benefits the entire veterinary community by putting safer, more effective treatments into the hands of veterinarians in Ohio and around the world.
If you are from an organization that would like to learn more about MedVet's Clinical Studies Center or collaborating with one of the clinical investigative teams at MedVet, click here.
MedVet has several clinical studies now enrolling patients.
Accreditation: Most MedVet hospitals are accredited by American Animal Hospital Association (AAHA). MedVet Medical & Cancer Centers for Pets was named the American Animal Hospital Association (AAHA) Accredited Referral Practice of the Year for 2014 (Columbus) and 2016 (Cincinnati), the only group of practices to receive this award twice. The American Animal Hospital Association, AAHA, is the only organization in the United States and Canada that accredits companion animal hospitals based on standards that meet or exceed state regulations. To learn more, visit aaha.org for more information.
Community Partnerships: Varies with location.
Sponsorships: MedVet is a proud sponsor of the Foundations of both the American College of Veterinary Internal Medicine and the American College of Veterinary Surgeons. These Foundations are devoted to the advancement of internal medicine (including cardiology, neurology and oncology) and surgery through funding of educational and research opportunities for residents and board-certified veterinary specialists.


The Digital Concepts TR-60N Camera Tripod is designed for most film and digital cameras as well as camcorders. Featuring a quick-releae plate that makes it a breeze to switch to handheld shooting and a professional grip for fluid 3-way panning and tilt, the TR-60N lets you capture images from any angle you can imagine. The tripod can extend to a height of 55 inches when in use, and collapse to just 22 inches for travel or storage. For your convenience, a carrying case is included. Lightweight, versatile, and affordable, the Digital Concepts TR-60N is a great tripod for photographers of all levels of experience.
Interesting in Deluxe 57 Camera Tripod with Carrying Case For The Kodak Easyshare M1073 M1063 M893 M863 M853 M763 M753 V705 V610 V570 V550 Digital Cameras? We can provide you our best price!


text:
July 7, 2016 5:00AM EDT
Kyrgyzstan: Support Release of Rights Defender
Supreme Court to Hear Petition Based on UN Ruling
The Kyrgyzstan Supreme Court will hear a petition on July 11, 2016 to release Azimjon Askarov, a long-imprisoned human rights defender, and quash his conviction, Human Rights Watch and the Committee to Protect Journalists said today.
Askarov and his lawyers are bringing the petition to require the government to carry out an April 21 ruling by the UN Human Rights Committee, which found that Askarov had been arbitrarily detained, held in inhumane conditions, and denied a fair trial. The Kyrgyz authorities are obligated to carry out the UN ruling, the organizations said. The Human Rights Committee also found that Askarov, who is serving a life sentence, had been tortured, and otherwise mistreated without redress.
Click to expand Image
Azimjan Askarov in an undated photograph before his imprisonment.
"The authorities should have released Askarov already and are ignoring their obligations by keeping him locked up," said Hugh Williamson, Europe and Central Asia director at Human Rights Watch. "The proceedings before the Supreme Court offer Kyrgyzstan's authorities the opportunity to do the right thing, and they should fully support the request to the court to carry out the UN decision."
Askarov, 65, has been in prison for almost six years following his arrest and subsequent conviction, in September 2010, for "organizing mass disturbances" and "inciting interethnic hatred" leading to the killing of a policeman in Bazar-Kurgan. His sentencing followed a period of interethnic violence in southern Kyrgyzstan in June 2010.
An investigation by the Committee to Protect Journalists found that Askarov's conviction was retaliation for his years of work reporting and documenting law enforcement corruption and human rights abuses in southern Kyrgyzstan, which had ended careers and embarrassed local officials time and again. The conviction was challenged at the time by Kyrgyzstan's own ombudsman's office.
Askarov's trial was marred by his credible allegations of ill-treatment and torture, as well as attacks on his lawyer and hostility in the courtroom that undermined his right to a fair trial.
In November 2012, Askarov's lawyers filed a complaint with the Human Rights Committee under the Optional Protocol to the International Covenant on Civil and Political Rights (ICCPR), to which Kyrgyzstan is a party. The Human Rights Committee found that Kyrgyzstan's treatment of Askarov violated multiple rights protected by the ICCPR and called on it to release him immediately and quash his conviction.
Article 41 of Kyrgyzstan's constitution provides that it should carry out decisions of international human rights bodies, including the Human Rights Committee. The Criminal Procedure Code gives the Supreme Court powers to "cancel the [original] verdict and close the case when a new investigation or a new trial is not necessary for a final decision on the case."
In the months since the Human Rights Committee issued its decision, Kyrgyz authorities have not taken their own steps to enforce the decision. They should support Askarov's application to the Supreme Court and not try to prevent the court from quashing the verdict, thus bringing an end to this miscarriage of justice, Human Rights Watch and the Committee to Protect Journalists said.
No matter what the Supreme Court rules in its upcoming hearing, the authorities have an obligation to take the necessary steps to ensure that the Human Rights Committee's decision is carried out in full and that Askarov's imprisonment comes to an immediate end, Human Rights Watch and the Committee to Protect Journalists said.
"Kyrgyzstan has to abide by the Human Rights Committee's decision to release Askarov without delay," said Nina Ognianova, Europe and Central Asia program coordinator at the Committee to Protect Journalists. "Selective implementation of the decision or further stalling is not acceptable. Now is the time to act."
Europe/Central Asia
February 1, 2023 Letter
Joint Letter to President Sadyr Japarov of Kyrgyzstan
January 31, 2023 News Release
Uzbekistan: 16-Year Sentence in Autonomous Region Protests
September 17, 2018 Report
"We Live in Constant Fear"
Possession of Extremist Material in Kyrgyzstan
March 28, 2018 Report
"You Can't See Them, but They're Always There"
Censorship and Freedom of the Media in Uzbekistan


text:
Q: How to vertically center TListBox item? So I want to vertically center the TListBox (not TListView) item.
I can use TopIndex property, but how do I do the whole thing.
If there are fewer items so the scroll bar doesn't appear, then centering is not required, only selection of default item will do just fine.
Something like this:

A:
//IF YOU WANT TO SELECT THE CENTER ITEM
procedure TForm2.Center;
  var VisibleItems : Integer;
begin
  VisibleItems := ListBox1.ClientHeight div  ListBox1.ItemHeight;
  ListBox1.TopIndex := Trunc((ListBox1.Items.Count / 2) - (VisibleItems / 2));
  if ListBox1.Items.Count > VisibleItems then
    ListBox1.Selected[ListBox1.TopIndex + (VisibleItems div 2)] := True
  else
    ListBox1.Selected[ListBox1.Items.Count div 2] := True;
end;

//IF YOU WANT TO CENTER A ITEM
procedure TForm2.Center(Index : Integer);
  var VisibleItems : Integer;
begin
  VisibleItems := ListBox1.ClientHeight div ListBox1.ItemHeight;
  if Index > VisibleItems then
    ListBox1.TopIndex :=  Index - (VisibleItems div 2);
end;


These posts are written especially for laypersons and those coming late to the conversation currently stirring within the UMC. Part one focuses on the heart of our current debate: connection. Part two is an overview of the four plans being considered at the called General Conference that begins this weekend. This post is about the grace that needs to be part of whatever decision is made, so that people who have invested heavily in their local ministries can continue their work whatever the outcome of GC2019. Portions of this post were published by the Religion News Service on February 22, 2019.
For forty years, the United Methodist Church has developed its waiting muscles. We've been waiting for decades for a decision around issues of human sexuality to stick — a decision that will release us to move on from this conversation. The last three years have been an especially intense time of waiting. With General Conference now upon us, I sense that none of us has any certainty about how this will shake out. There seems to be a split opinion around three outcomes — either one of the two more likely plans up for consideration will succeed (One Church or Traditional), or no decision will be reached at all due to a bureaucratic logjam (please, Lord, deliver us from this fate!).
My deep hope — more than which plan wins the day — is that an exit ramp will become part of any plan approved. Right now, only one of the three plans proposed provides for an "exit ramp" — a way out for pastors and churches that does not punish them for their choice to leave the "connection" with property and position intact. A "gracious exit" was recommended for all plans by the commission that proposed the three options up for debate; but with one exception, the exit ramp option has been removed (and even that one is so narrow as to be unhelpful). That is discouraging. I so want our tribe to do this differently than others who have gone before us. There is no winning if we are all biting and devouring each other on the other side of this. No one, regardless of their theological position, should be held hostage by a system they cannot live in wholeheartedly.
A gracious exit would allow local churches who find themselves unable to support United Methodist teaching and polity to leave the denomination with all their property and assets in tact. Rather than removing our theological center for the sake of preserving the institution, I want the delegation to remove the restrictions that bind unwilling churches to a system they can no longer in good conscience support.
Why should laypersons insist on a gracious exit provision?
This seems just. How is it possible to change the rules then penalize those who disagree with that change by asking them to surrender assets they've poured so much into?
This seems like the spirit of the freedom we espouse as followers of Jesus. The role of the denomination should be to guard and promote its theological task, not control assets. Freedom suggests we can disagree in love, and hold one another with an open hand. Freedom suggests we can hear one another and hold one another as treasures, not hostages.
This seems like the best way to witness positively to a watching world. By providing a gracious exit, we support viable ministry and prove ourselves gracious by refusing to bite and devour one another in the wake of whatever choice is made. This offers a solid public witness while maintaining a clear theological center.
This seems like grace. And grace is what Wesleyans do best. Let's trust God with how a divestiture might affect the resulting institution(s) while we keep the main thing the main thing.
There are a lot of questions we cannot yet answer because General Conference contains the very unpredictable variable of human emotion (not to mention the winds of the Holy Spirit). It is impossible to know (and probably unhealthy to prognosticate) where we'll end up. I know we are all more than ready for the process to play itself out and are praying for those we've voted in as delegates to get the job done.
Delegates, hear us: we want you to decide something. Many of us would consider it both demoralizing and spiritually disastrous to find we could not lead ourselves out of this crisis.
that God will "pluck the brand from the fire." In other words, that God will do such a miraculous thing in the UMC that we become a revived and renewed evangelical movement as a result of our holy conferencing.
that God will turn hearts and enlighten minds.
that God will move powerfully at GC2019, speaking healing grace and peace over our leaders.
I hope you will join me in these prayers. I also encourage you — before the closing prayer on Tuesday — to answer this question for yourself: What connects me to the United Methodist Church — institutional loyalty, or a passionate commitment to our theological task? Your answer to that question will go a long way toward helping you know how to personally respond once a decision has been handed down.
Between now and the closing prayer of GC2019, be encouraged not to allow the pressure of the moment to craft your convictions for you. Spend time on your knees, in prayer. Search the scriptures. Ask the Holy Spirit to show you where the lines have been pleasantly drawn so you don't default to what is most convenient, and so you don't find yourself blown about by every wind of doctrine.
Finally, I encourage you not to allow the spirit of fear to whisper threats or doom into your spirit. My friends, we have been given a spirit of power, love and sound judgment, and now is exactly the time we ought to call on that higher nature. On the other side of this denominational crisis, Christ will still be King. The Kingdom of God will still be forcefully coming. All over the globe, people will still be drawn to the good news about Jesus. We may not know how General Conference ends but we most certainly know how The Story ends.