631 P.2d 1337 (1981)
Alton C. WOOTTON and Geneva Wootton, husband and wife, Appellants,
v.
Lela MELTON, a widow, and Thermo-Dyne, Inc., Appellees.
No. 53822.
Court of Appeals of Oklahoma, Division No. 2.
April 14, 1981.
Released for Publication May 21, 1981.
James R. Moore, Hollis, for appellants.
*1339 Yonne P. McDaniel, Mangum, for appellee Lela Melton.
Released for Publication by Order of Court of Appeals May 21, 1981.
*1338 BRIGHTMIRE, Judge.
The principal issue to be decided is whether or not the evidence is sufficient to sustain a finding that the grantor of certain land is the beneficial owner of a life estate interest in one-half the income from oil and gas production from land conveyed years earlier. The trial court, in holding the 88-year-old grantor was entitled to such income, found "that by virtue of the acts of the Parties, a Trust has been created in which B.D. MELTON and LELA MELTON [defendant] are to receive 1/2 of the income from oil and gas produced from the mineral interest owned by ALTON C. WOOTTON and GENEVA WOOTTON ... [and] ... that said Trust Agreement is a Life Estate only and will terminate upon the death of LELA MELTON."

I
The orientational facts are largely undisputed. The Meltons sold 160 acres of Greer County, Oklahoma land to the Woottons in 1955. The recorded written contract of sale recited that it is "specifically understood that first parties [sellers] reserve from this sale an undivided one-half (1/2) of all the minerals in and under said premises ... ."
In 1961, Alton Wootton said, B.D. Melton was redoing his house and approached him wanting to know if he, Wootton, could pay off early the balance due under the contract. To induce a favorable response, said Wootton, Melton agreed to relinquish his contractual rights to half the minerals. Wootton told the inquirer that he thought he could borrow the necessary money from the bank and promised to try. He got the needed funds and on December 5, 1961, he and his wife met with the Meltons in the office of the Meltons' lawyer  the same one who represents Mrs. Melton in this proceeding. Apparently to determine how the deed should be drawn, the lawyer inquired about the minerals reserved in the contract. Said Melton to his lawyer: "The minerals do go with the place." Accordingly, the lawyer prepared a deed that conveyed all of the Meltons' interest in the land and that did not reserve any mineral interest. Both Meltons signed it and it was filed of record the same day.
Alton Wootton also testified that Melton had asked him earlier if he, Wootton, would let him have half of the lease bonus money in the event Wootton leased during Melton's lifetime. Wootton said he would and thereafter leased it twice. The first time he divided the lease bonus with Melton and the next time he divided it with his widow as a gesture of appreciation for the fact that Melton had been good to him.
Thus the matter laid until March 2, 1977, when Mrs. Melton's lawyer prepared a warranty deed in which "Lela Melton, a widow," purported to convey the land in question to the Woottons, reserving nearly a half interest in the minerals. Lela signed the deed, her lawyer acknowledged it, and it was filed of record.
What undoubtedly provoked this action was the fact that defendant Thermo-Dyne, Inc., had obtained an oil and gas lease on the property in 1976 and drilled a producing well. Because of these conflicting mineral interest claims, the lessee held the royalty proceeds in suspense. The Woottons, consequently, brought this action in January 1978 asking the court to cancel the 1977 Melton deed, quiet their title to the minerals, and direct the lessee to pay all the royalty to them. Lela Melton answered with a denial and a cross-petition in which she admitted she executed the 1961 warranty deed conveying all her interest in subject land, but alleging she, in the earlier contract of sale, reserved a half interest in the minerals and that "plaintiffs acknowledged and recognized said mineral interest ... at all times from the date of [the] contract until about January, 1977." It was about this time, she alleged, that she became aware that the Woottons were claiming all *1340 the mineral interest and, consequently, she made, executed and filed "a clarification deed" of record on March 2, 1977. She asked the court to quiet her title to nearly half the minerals.
The case was tried on April 25, 1979. After hearing the evidence, the trial court: (1) cancelled the "clarification" deed and quieted the Woottons' title to all the minerals; and (2) ordered that half the oil and gas royalty be paid to Lela Melton for the rest of her life based on the finding of a trust having been established by the "acts of the [p]arties."
The Woottons contend the court should have found that: (1) relief to Lela Melton was barred by the statute of limitations; (2) there was no pleaded nor proved foundation for the trust established; and (3) the Woottons were entitled to a reasonable attorney's fee.
Lela Melton, on the other hand, says the court should have reformed the 1961 deed by inserting a clause reserving half the minerals in her.

II
The trial court's cancellation of the beclouding and slanderous "clarification" deed inappropriately filed by Lela Melton in 1977 was legally, equitably, and factually correct. The deed was at war with the warranty she solemnized in 1961. Neither the pleadings nor the proof allude to any fact or circumstance which would justify judicial alteration of the 1961 deed. No mistake was made, mutual or otherwise. The undisputed evidence is that the deed was prepared by the Meltons' lawyer in accord with the express direction of B.D. Melton that all the "minerals ... go with the place." And, of course, it superceded the contract of sale.
Absent some showing that the 1961 deed in some manner failed to comport with the intention of the parties, there was nothing to reform, and the trial court's judicial duty compelled him to place a protective shield around the document.

III
The remaining substantive question is whether judicial creation of the trust was factually permissible. Lela Melton did not plead that the Woottons held any minerals in trust for her. She alleged that the reservation specified in the contract of sale had the effect of reserving half of the minerals in her and that "plaintiffs acknowledged [such] interest ... at all times from the date of said contract until about January, 1977." And, she continued, it was not long after this that she filed her celebrated "clarification" deed. Nor did Mrs. Melton ask the court to establish a trust with regard to the minerals. Instead, she asked that title to nearly half of the minerals be quieted in her. Later she filed an amendment "to the prayer" of her cross-petition asking the court for "an order reforming the Warranty Deed dated December 5, 1961," by adding to the description a clause reserving half of the minerals in the grantors.
As we said, the trial judge concluded that validity of the 1961 deed had to be confirmed. Apparently, however, he felt that an oral commitment Alton Wootton said he made to B.D. Melton just before execution of the 1961 deed  to give half of the "lease bonus" of any lease he made to B.D. Melton as long as the latter lived  meant that Wootton agreed to give half of all "income from oil and gas for their [the Meltons] lifetime ...," and such commitment justified judicial creation of an equitable trust.
Without the advantage we have  that is, having a transcript of the testimony to review  we can see how the trial court might well have arrived at this assessment of the facts. Given this advantage, though, we are inclined to think he would agree with us that the evidence really will not support a finding the Woottons hold half of the minerals in trust for the Meltons with beneficial interest reverting to the Woottons upon the death of both Meltons.
To begin with we know, of course, no express trust was created. An oral vow *1341 to pay another half of any bonus received from a future mineral lease does not operate to transfer title or any interest in the minerals to the vowee. If a trust there was, it had to be one created by the law  either a constructive or resulting one.
Both constructive and resulting trusts are remedial in the sense that they are devices to prevent wrongful taking or unlawful holding of property. A constructive trust may be implied by law when one, through some manner of wrongdoing  e.g. fraud, abuse of confidence, or trick  obtains title to property. A resulting trust, on the other hand, may be judicially imposed on one holding legal title to property if it was obtained under facts and circumstances disclosing an intention that the beneficial interest was not to be enjoyed by the legal title holder. It is usually difficult to prove a foundation for such a trust because it takes more than a preponderance of the evidence  it takes evidence that is "clear, unequivocal and decisive beyond a reasonable doubt." Cacy v. Cacy, Okl., 619 P.2d 200 (1980).
As the facts we narrated earlier suggest, the Woottons were guilty of no wrongful act in obtaining the 1961 deed. To the contrary, they responded to a request of the Meltons for early payment of the purchase price balance as consideration for the mineral interest contractually reserved by the Meltons. Hence, constructive trust cannot be imposed.
Nor can Alton Wootton's promise to split any future lease bonus with B.D. Melton be construed to impute an intention to divide income from any future oil and gas production. The likelihood is  judging from the casualness with which they regarded the mineral rights  that the parties had no real appreciation for or expectancy of eventual oil and gas production. They did know that leases were occasionally being sought and thus it is not at all unlikely that the parol commitment of Wootton was limited to just what he said it was  to lease bonus money. Viewed in any light, the evidence will not support a finding that the Meltons, in conveying title to the minerals to the Woottons, intended to reserve the beneficial interest to half of it. And, as we have seen, the absence of such intention is fatal to the judicial establishment of a resulting trust.

IV
The decree is modified by deleting the last paragraph, which provides that Lela Melton shall receive one-half "of the income from oil and gas produced from the mineral interest owned by ALTON C. WOOTTON and GENEVA WOOTTON," for the rest of her life. The judgment is further modified by entering judgment in favor of the Woottons on Lela Melton's cross-petition. In all other respects the judgment of the trial court is affirmed. Each party is ordered to pay his or her own attorney's fee.
BACON, P.J., and BOYDSTON, J., concur.


Originally published on AlterNet and republished here with the author’s permission.

Pop culture often promotes some lousy ideas about consent.

Persistence and not taking no for an answer are portrayed as romantic. Rape and sexual assault are excused because the victim “wanted it.” Lying and manipulating people into bed, and having sex with people too drunk to consent, are offered as light, prime-time humor. Rape victims stay friends and lovers with their rapists, with rape being trivialized and even denied.

But pop culture does have its moments. Whether it’s because the creators were thinking consciously about consent or simply had good values, here are five times pop culture got consent right.

(Spoilers for Steven Universe, Thelma and Louise, Frozen, The Philadelphia Story, and Buffy the Vampire Slayer.)

1. Steven and Connie, Steven Universe

In “Alone Together,” Steven and Connie fuse (a magical process where two beings fuse into one, usually temporarily). And when they fuse into Stevonnie, they do something rarely seen in pop culture.

They don’t just check in at the beginning of their encounter. They continue to check in.

The fusion is a surprise to them both – to everyone, in fact, since nobody had imagined it would be physically possible. It’s both fun and scary, exciting and disconcerting. And after they’ve been playing with their new body for a while (running, swimming, and eating doughnuts – yeah, that sounds about right), they touch base: “Are you okay? We can stop if you… No. Don’t worry.”

When it starts getting seriously uncomfortable, they check in again, talk through how they’re feeling, and when a stranger intrudes on them and things get even scarier, they break off the fusion. It’s an amazing example of ongoing, active consent.

Too often, our culture assumes that when you’ve consented to something once, you’ve consented to it forever. But that’s crap. It’s always important to get clear consent, and we always have the right to say no, to people we’ve said yes to before, to experiences we’ve said yes to before, at any time.

We have the right to change our minds, and to stop doing things we aren’t enjoying.

And with new partners, new experiences, or both, it’s a really good idea to periodically check in and make sure everyone’s still happy.

Steven and Connie – Stevonnie – clearly followed the advice of Garnet, Steven’s mentor and mother figure, when she finds out they’ve fused: “You are an experience. Make sure you’re a good experience.”

2. Thelma and JD, Thelma and Louise

There’s a moment in Thelma and Louise, when Thelma and JD (Geena Davis and Brad Pitt) are starting to have sex. They’ve been having a grand time together in her motel room, giggling and romping, horsing around and making out.

But when he moves things forward, gently sliding her onto her back and kissing her belly, Thelma suddenly stops and says, “Wait. Wait.” And JD immediately takes his mouth off her, takes his hands off her, backs away from her, and waits. He says nothing, does nothing, until she reaches out to him to show she’s ready to start again.

It’s one of the hottest, sexiest moments in the history of pop culture sex. It’s a moment that lets her know she can go ahead with the wild romping, because nothing will happen that she doesn’t want.

Being careful about getting consent is often seen as an unsexy buzzkill. It’s a baffling idea for a lot of reasons, including all the ways that clear consent makes sex better. It makes people feel more open, more relaxed, more trusting, more comfortable in their skin, more willing to try freaky new things. That’s not the most important reason for it, of course – not raping people is the most important reason – but it’s one reason, and it’s real.

3. Anna and Kristoff, Frozen

“I could kiss you! I could. I mean, I’d like to. I. May I? We me? I mean, may we? Wait, what?” (Smile.) “We may.”

Hell yes. Ask before you kiss someone. (Or touch them, or dance with them, or hug them.) It’s a frustratingly common trope in pop culture that impulsively grabbing someone and kissing them is romantic, a sign of true love and passion. But it’s a lousy model for consent, especially with someone you’ve never kissed before.

If you know someone well and have kissed them a lot, you can probably read their body language pretty well, but if you just grab someone you’ve never kissed before, you’re not giving them room to say “No,” or “Maybe,” or “Not now but maybe later,” or “Can I think about it?” You’re forcing them into a position where they have to decide right that second, while your lips are on their body.

If you’re thinking that asking first is awkward, unsexy, clinical, or unromantic, ask yourself, why is that?

Why does our culture think it’s weird to talk about physical intimacy and make sure it’s consented to? Why is it seen as graceful, sexy, passionate, and romantic to grab someone and kiss them when you aren’t sure they’d like it?

Asking before a kiss can be sweet, intense, and a great way to show that you care about the other person’s pleasure. This kiss in Frozen is a beautiful example.

4. Oz and Willow, Buffy the Vampire Slayer

There are lots of things to like about Oz and Willow’s sexual courtship. It’s moved forward by both of them, with each initiating intimacy at different times. It breaks with gender stereotypes by having Willow be the one who’s generally more eager for kissing and sex, and Oz being the one who wants to take things slow.

But one of the best things about their courtship is that it’s so verbal. When Willow makes her first pass at him (in “Innocence”), she says, “Do you want to make out with me? They have a conversation about how he’s interested, but doesn’t want to just yet.

When she wants to let him know she’s ready and eager for sex (“Amends”), she uses non-verbal cues, but they also talk about it: He lets her know he’s interested, but isn’t ready, and while she’s disappointed, she respects his decision. They even have a hilarious meta-conversation (in “Surprise”) before they start dating, in which they discuss the fact that he’s going to ask her out.

Their relationship does look different when you know that Willow is a lesbian (or possibly bisexual). Their breakup is a disaster, of course. And Oz does lose a few points for his one use of the Impulsive Grab-and-Kiss in Graduation Day, Part 1 (see #3 above).

But even then, they talk (briefly) about what they’re doing before they move forward. And they’d been dating for a while at that point, and she’d made her interest in him clear, so it’s not unreasonable to think he was able to read her body language. Their courtship isn’t perfect, but I’m going to give it a solid eight points out of ten.

5. Tracy and Mike, The Philadelphia Story

Even in 1940, some movie writers were getting it right.

In this classic romantic comedy, Tracy (Katharine Hepburn) is confused and uncertain about her impending wedding to George, and gets very drunk with Mike (Jimmy Stewart). They go for a nighttime swim, kiss twice, and he puts her to bed and leaves her there. Alone.

Afterward, when Tracy asks him why nothing happened between them (“Why? Was I so unattractive, so distant, so forbidding?”)

He replies, “You were extremely attractive, and as for distant and forbidding, on the contrary. But you also were a little the worse – or the better – for wine, and there are rules about that.”

Even in 1940, people knew that. You don’t have sex with people who are so drunk that their judgment is seriously impaired. You certainly don’t have sex with people who are barely conscious. It’s sad that more than 75 years later, this should still be controversial.

I’m not going to call this heroic. Not being a rapist isn’t heroic; it’s a baseline for decent behavior. But it is a good model of consent.

And importantly, Mike doesn’t shame Tracy for getting drunk, or for getting wild and loose. He describes their escapade as one “which I thoroughly enjoyed, and the memory of which I wouldn’t part with for anything.”

Dishonorable Mention: Xander, Buffy the Vampire Slayer

When good models of pop culture consent are discussed, Xander Harris’ name often comes up. After all, in the “Bewitched, Bothered, and Bewildered” episode, when Buffy is under a love spell and comes on to him, he refuses her, even though he’s had an intense, unrequited crush on her for some time.

But this overlooks two things. One: The entire reason Buffy was supernaturally hot for Xander was that he’s the one who did the love spell, a spell on Cordelia that misfired. Casting a love spell – forcing someone to desire you against their wishes – isn’t exactly a model of great consent.

Casting a love spell, and then refusing the sex that’s offered as a result, is like putting roofies in someone’s drink and then changing your mind at the last minute. In this case, it’s like putting roofies in someone’s drink and then changing your mind because the wrong person drank it.

The other problem is that Xander’s entire attitude toward Buffy, for years, was one of entitlement.

When Buffy rejected him, he reacted by getting hostile and sex-shaming her about Angel, the guy she really likes. Long after Buffy rejected him, he continued to hit on her and sex-shame her about sleeping with Angel.

He held a grudge for years against Angel, and even neglected to give Buffy crucial information that might have helped her save his life. And he complained for years about how Buffy only liked bad boys instead of nice guys like him, and took it upon himself more than once to critique her choices in men.

He’s a classic nice guy – a guy who thinks he’s nice and therefore deserves sexual attention from women. So no consent cookies for Xander Harris.

***

You may have noticed that in some of these examples, the encounter ends with no encounter. No sex, no kiss. Being careful about consent sometimes means not having sex you might otherwise have had. Think for a moment about what that implies. When you’re not careful about consent, you’re taking a real chance that some of the sex you’re having isn’t consensual.

I’m going to assume that nobody reading this wants that. If that’s true, a good way to start is to pay attention to what your culture has taught you about consent and think about which messages you want to burn in a fire, and which ones you want to embrace.


Structural elucidation of O-linked glycopeptides by high energy collision-induced dissociation.
O-linked glycopeptides that bear a GalNAc core with and without the presence of sialic acid have been analyzed by high energy collision-induced dissociation (CID). We show that the CID spectra from the glycosylated precursor ions contain sufficient information to identify the peptide sequence and to determine the glycosylated site(s). Asialo O-linked glycopeptides, previously prepared from a tryptic digest of bovine fetuin were studied. One of the glycopeptides contained only a single Hex (hexose)-HexNAc (N-acetylhexosamine) substitution at Thr(262), whereas the other exhibited Hex-HexNAc moieties at both Thr(262) and Ser(264). In addition, sialo and asialo fetuin glycopeptides from a pronase digest were derivatized with t-butoxycarbonyl-tyrosine, and characterized by high energy CID analysis. The presence of a Galβ(1,3)GalNAc core structure at Ser(264) was confirmed by using the substrate specificity of endo-α-N-acetylgalactosaminidase. These studies revealed the presence of a β-galactosidase specific for β(1,4) linkages in the endo-α-N-acetylgalactosaminidase preparation employed. Finally, the relative stability of N-and O-glycosyl bonds to high energy CID is addressed based upon comparison of the behavior of a synthetic N-linked glycopeptide with analogous O-linked structures.


<?php

/*
 * This file is part of the easybook application.
 *
 * (c) Javier Eguiluz <javier.eguiluz@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Easybook\Tests\Publishers;

use Easybook\DependencyInjection\Application;
use Easybook\Publishers\Epub2Publisher;

class Epub2PublisherTest extends \PHPUnit_Framework_TestCase
{
    private $app;

    public function setUp()
    {
        $this->app = new Application();
    }

    public function testPrepareBookTemporaryDirectory()
    {
        $directoriesRequiredForEpubBooks = array(
            'book',
            'book/META-INF',
            'book/OEBPS',
            'book/OEBPS/css',
            'book/OEBPS/images',
            'book/OEBPS/fonts',
        );

        $this->app['publishing.book.slug'] = uniqid('phpunit_');
        $publisher = new Epub2Publisher($this->app);

        $method = new \ReflectionMethod('Easybook\Publishers\Epub2Publisher', 'prepareBookTemporaryDirectory');
        $method->setAccessible(true);
        $bookDir = $method->invoke($publisher);

        foreach ($directoriesRequiredForEpubBooks as $expectedDirectory) {
            $this->assertFileExists($bookDir.'/'.$expectedDirectory);
        }

        $this->app['filesystem']->remove($bookDir);
    }

    public function testPrepareBookCoverImageIfTheBookDefinesNoCoverImage()
    {
        $app = $this->getMock('Easybook\DependencyInjection\Application', array('getCustomCoverImage'));
        $app->expects($this->any())
            ->method('getCustomCoverImage')
            ->will($this->returnValue(null));

        $publisher = new Epub2Publisher($app);

        $method = new \ReflectionMethod('Easybook\Publishers\Epub2Publisher', 'prepareBookCoverImage');
        $method->setAccessible(true);

        $this->assertEquals(null, $method->invoke($publisher, ''));
    }

    /**
     * @dataProvider getTestPrepareBookCoverImageData
     */
    public function testPrepareBookCoverImage($width, $height, $mimeType, $fileName)
    {
        if (!extension_loaded('gd')) {
            $this->markTestSkipped(
                'This test generates sample image files and therefore it requires
                to enable the GD extension in your PHP configuration'
            );
        }

        $tmpDir = $this->app['app.dir.cache'].'/'.uniqid('phpunit_');
        $this->app['filesystem']->mkdir($tmpDir);

        $imageFilePath = $tmpDir.'/'.$fileName;

        $app = $this->getMock('Easybook\DependencyInjection\Application', array('getCustomCoverImage'));
        $app->expects($this->any())
            ->method('getCustomCoverImage')
            ->will($this->returnValue($imageFilePath));

        switch ($mimeType) {
            case 'png':
                $image = imagecreate($width, $height);
                imagefill($image, 0, 0, imagecolorallocate($image, 255, 255, 255));
                imagepng($image, $imageFilePath);
                break;
            case 'jpg':
                $image = imagecreatetruecolor($width, $height);
                imagefill($image, 0, 0, imagecolorallocate($image, 255, 255, 255));
                imagejpeg($image, $imageFilePath);
                break;
            case 'gif':
                $image = imagecreate($width, $height);
                imagefill($image, 0, 0, imagecolorallocate($image, 255, 255, 255));
                imagegif($image, $imageFilePath);
                break;
        }

        $publisher = new Epub2Publisher($app);

        $method = new \ReflectionMethod('Easybook\Publishers\Epub2Publisher', 'prepareBookCoverImage');
        $method->setAccessible(true);

        $coverImage = array(
            'height' => $height,
            'width' => $width,
            'filePath' => 'images/'.$fileName,
            'mediaType' => 'image/'.$mimeType,
        );

        $this->assertEquals($coverImage, $method->invoke($publisher, $tmpDir));

        $this->app['filesystem']->remove($tmpDir);
        imagedestroy($image);
    }

    public function getTestPrepareBookCoverImageData()
    {
        return array(
            array(640, 1136, 'png', 'cover.png'),
            array(768, 1024, 'png', 'cover.png'),
            array(1536, 2048, 'png', 'cover.png'),
            array(640, 1136, 'gif', 'cover.gif'),
            array(768, 1024, 'gif', 'cover.gif'),
            array(1536, 2048, 'gif', 'cover.gif'),
            // JPEG images are disabled because I get errors that I can't solve
            // array(640, 1136, 'jpeg', 'cover.jpg'),
            // array(768, 1024, 'jpeg', 'cover.jpg'),
            // array(1536, 2048, 'jpeg', 'cover.jpg'),
        );
    }
}


It’s fairly commonplace to hear about someone taking a nasty spill in the bathroom. Floors are often slippery, so it’s easy to slip and fall. If you’re absent-minded and stub your toes upon the shower threshold, or trip while getting out of the bathtub, the resulting sprains and fractures will definitely be painful to recover from.

Now imagine that happening to a family elder! The older you get, the longer it takes to recover even from minor injuries. Here are eight safe design solutions for senior-friendly bathrooms to help you make your elders’ bathrooms as injury-proof as possible.

Are you creating a budget for your project? Explore financing options for your senior bathroom remodel without affecting your credit score Loan amount Get started

1. Space

Remember that it’s not easy for an elderly person to maneuver around narrow spaces. Some of them may even have mobility limitations. So it is of paramount importance that your bathroom design is spacious enough for a person in a wheelchair to be able to use the facilities without having to bother about tight spaces.

2. Easy Accessibility

The bathroom should be easily accessible without any obstructions. Make sure there are no stairs, platforms, or loose rugs to impede access to the bathroom.

Sensor operated lights illuminate the way to the bathroom and to light up the bathroom automatically when occupied will also be an added convenience.

Light switches should otherwise be at an easily accessible height and placement.

The door to the bathroom should also be easily operable. Ensure door levers are at an easily accessible point of the door and simple to operate. Sliding doors are among your best options. Do away with locking systems so the bathroom can be easily accessed from the outside in case of an emergency.

3. Floor Safety

The deadly combination of soap and water makes bathroom floors dangerous for everyone, and doubly so for those with limited mobility. This means your senior-friendly bathroom needs to have a slip-proof floor.

Nonslip ceramic tiles, epoxy, cementitious boards, and rubberized floors are the most preferred materials for the job.

Installing an anti-slip shower mat in the shower area or bathtub is a great way to lower the chances of your elders slipping and hurting themselves in the bathroom.

Try and avoid fabric rugs and foot baths in senior-friendly bathrooms, since slipping on them can be hazardous. Make sure they’re either rubber mats or at the very least, rubberized where they’re in contact with the bathroom floor to avoid slippage.

For those of you with an ecologically responsible bent of mind, you can choose mats made of natural rubber, recycled PVC, and bamboo strips, among other options.

4. Toilet Comfort

It becomes difficult for older people to sit and stand up if toilets are fixed too low. Ideally, toilets should be at least 18 inches from the floor and firmly cemented to the floor to ensure they’re used comfortably.

If the senior in your family is in a wheelchair or has mobility issues, you will need to build them an accessible toilet.

5. Support

The elderly and those with disabilities will need help to get onto the toilet and to stand up. Installing grab bars to assist them is of paramount importance.

These bars should be strong enough to handle the weight of the user, so stainless steel or aluminum bars are usually preferred. Make sure they’re mounted firmly enough on to the walls on either side and behind the toilet.

6. Sinks and Faucets

Like with toilets, sinks need to be at the ideal height for the senior members of your family. For example, if the person in question is wheelchair-bound, the sink needs to be low enough for him or her to access without having to stand up.

Try to avoid faucets that are knob operated. These become cumbersome for elders to use. Instead, choose automated sensor-driven faucets so there is no question of having to turn them on or off.

If you do have to choose manual faucets, choose those that are lever operated.

7. Showers and Tubs

To start with, make sure the shower area can be entered without any steps or thresholds. This greatly reduces the chances of accidents happening while getting in and out of the shower.

A lot of seniors require the help of a caregiver while showering, so make sure the shower room is large enough to facilitate that.

Add a shower bench so the user has the comfort of sitting while showering.

While we’d suggest you avoid bathtubs altogether, there are walk-in tubs that are built specifically for the convenience of seniors without severe mobility issues.

As with toilets, strategically placed grab bars and rails are a must for support.

8. Alarm Systems

No matter how many precautions you take, accidents are inevitable. In the eventuality that your senior ward should face such a predicament, have alarm systems installed that can be operated with minimal effort.

There are multiple alarm solutions that you can consider, including ones that connect to a telephone service provider or emergency service at the push of a button. There are also sensors that the elder in question can wear on his or her person that will detect abnormalities and alert caretakers.

Eventually, It’s All About Personal Care

You know what they say about life coming a full circle? We’re all vulnerable and helpless when we are born into this world, and often, we find ourselves in a similar situation in our senior years.

While these bathroom renovations may help make the bathroom more secure for our elders, what they all need more than anything is patience, love, and positivity. Making their lives easier will definitely make us feel as good as they will.


This invention relates generally to network communications, and more particularly but not exclusively, to managing network communications for TCP over TCP traffic using multiple TCP connections between communicating network devices.
Transmission Control Protocol (TCP) is one of the protocols within the Internet protocol set of network communication protocols on which many of today's networks run. Applications on network devices may employ TCP to create connections with each other and exchange data using network packets. TCP protocol is known as a connection-oriented protocol that was designed to guarantee reliable, in-order delivery of data.
TCP devices package the data into streams of bytes called segments which may be sent as individual IP datagrams. TCP checks to make sure that no packets are lost by giving each segment a sequence number which numbers the bytes in the stream, and an acknowledgement number which tells a receiving network device the next expected sequence number, from which the last received sequence number may be intuited. Indirectly, the acknowledgement number tells the sending network device if a segment is lost, by noting whether an acknowledgement for a sent segment is received by the sending network device within a defined amount of time. This time period is typically referred to as a retransmission time out period (RTO). Thus, if a segment is determined to be lost, the sending device may retransmit that segment after the RTO expires, or sooner based on certain optional recovery mechanisms.
Over the Internet, however, parameters such as bandwidth, latency, jitter, and loss rate may vary vastly from one connection to another or even change over time for a single connection. Thus, a fixed timeout for determining whether a packet is lost may be inappropriate. In fact, selection of a fixed timeout might result in inappropriately sending more packets than necessary, thereby increasing congestion over a network, and leading to an effect sometimes known as “meltdown.” Therefore, TCP uses an adaptive timeout for determining packet loss and whether to retransmit a packet. Several such congestion avoidance algorithms are described in Request for Comments (RFC) 2001, which is available through the Internet Engineering Task Force (IETF). A typical implementation might start with a conservative timeout estimate, and when a segment is not acknowledged within this timeout estimate, increases the timeout and reduces the estimate of available network capacity (via “the congestion window”) for subsequent segments.


Kendall Jenner's Modeling Career

Kendall Jenner: the Anti-Kardashian

Kendall Jenner, 18, has gone from growing up on low-brow reality TV to walking the runway for the biggest names in high fashion. We're talking a hat trick of Marc Jacobs, Givenchy, and Chanel this season. The half-sister of Kourtney, Kim, and Khloé Kardashian has been crowned Fashion's newest It girl, mingling with Vogue's Anna Wintour in the front row at London Fashion week and instagraming backstage photos with supermodels. She's managed to get a job outside of the family business of reality TV. Let's examine her path to a different type of fame.

She Smartly Leveraged Her Connections

Kendall might seem like an unexpected high-fashion model, but she's not the only one with a famous last name. Think of today's top models. You have Cara Delevingne and Georgia May Jagger, who also come from high-profile families. With the help of her mom, an army of publicists, and maybe even Kanye West, Kendall has carefully leveraged the Kardashian connections to get work, without letting it take over her own image. In fact Kendall, who also has a famous father in Olympian Bruce Jenner, was willing to physically transform for the Marc Jacobs show, making herself unrecognizable to many fans of her TV show. Katie Grand, editor of Love magazine and the casting director for Marc Jacobs, said thanks to bleached eyebrows and a wig "some of the other models had been coming up to her to tell her Kendall Jenner was in the show."

Of course, fans of Keeping Up With the Kardashians might remember it wasn't always this way. In the 2011 episode "Kim Becomes a Stage Mom," Kendall appears to resent her sister for making her attend a runway class. She told the camera confessional: "Kim originally wanted to do runway but ended up being too short for it, so I think she's taking her fantasy out on me." Today, however, Kendall says she's living her dream.

She Has Something Tangible to Offer

Kendall, with her 7 million-plus Twitter followers and nearly 9 million Instagram followers, can give brands access to a younger, mainstream market. Booking Kendall allows a designer to get Kardashian hype and attention without actually hiring a Kardashian and dealing with the baggage that might bring. Perhaps that's why Kendall and her youth-targeted selfie photo shoot ended up on Vogue recently, while Kim got cropped out of a shot with Kanye West at last year's Met Gala. When it comes to Vogue and Kim, it's complicated. Not so much for Kendall.

Kendall is also straight-up qualified to be a model. Even the New York Times is drinking the pseudo-Kardashian Kool-Aid. In June 2013, the paper of record outlined her better qualities:

She is taking her modeling seriously. The plot twist is that unlike other celebrity/aspiring models, Ms. Jenner actually has the raw material. She has big doe eyes, shiny dark hair and full lips. She is 5 feet 10 inches, very slender and very leggy. She has a real shot, even without her family connections.

Her Personal Life Takes a Backseat

Kendall has been linked to One Direction's Harry Styles, but the rumors haven't overshadowed her career. It appears the family has been careful about overexposure. On their reality show, Keeping Up With the Kardashians, Kendall typically plays into other storylines, rather than the focus being on her. For now, the strategy is working. Take a further look at her evolution below.

Okay, first of all...she has not broken out of any Kardashian mold. As we still understand it, she is still part of that family, correct? Has she moved out? No. Is she still on the show? Yes. Okay, so where is the mold breaking? Secondly, I would like to hear one reason why any girl who is 6 feet tall, beautiful, and leggy would not have the same opportunity as Kendall? There are literally thousands of girls who look like Kendall or are prettier. I would have greater respect for Kendall if she had actually had done something, rather than attend meetings or have her mother call to get them. The only reason Kendall is where she is...is NOT because of dues that have been paid by the likes of millions of unknown models, but because she is famous and oh yeah, has money...and happened to date for a moment a curly-haired famous boy. Breaking the mold would be actually DOING something and not having everything handed to you on a silver platter and served with a silver spoon.


Q:

Should I use an array or object to reference system settings?

I am building a site that has 30-40 system settings. These are editable in a text file. I want to make sure that I set the site up with the most logical and less resource-intensive method of pulling these settings.
I have been thinking about using an array:
$system['language'] = 'en';
$system['version'] = '0.1';

And referencing them throughout the site like: echo $system['version'];
Or, I can set them up as an object:
class SiteConfig {
  public $language = 'en';
  public $version = '0.1';
}

$system = new SiteConfig;

And referencing them throughout the site like: echo $system->version;
Which is best to use, or does anyone have a better suggestion?

A:

The approach taken by some frameworks (Laravel for example) is to create a settings file, that you pull in with require.
Your various settings are all defined in that file in a single array, that  is returned:
settings.php
<?php

return array(
    'language' => 'en',
    'version'  => '0.1',
    'timezone' => 'America/Sao_Paulo',
);

Then you can use it like:
$system = require 'settings.php';
echo $system['version'];

See example #5 on the php.net docs for include for more about this return.


24 Mich. App. 306 (1970)
180 N.W.2d 201
PEOPLE
v.
DORNER
Docket No. 7,548.
Michigan Court of Appeals.
Decided June 2, 1970.
*307 Harry T. Cook, for defendant on appeal.
Before: HOLBROOK, P.J., and BRONSON and MUNRO,[*] JJ.
PER CURIAM.
Defendant entered a voluntary plea of guilty to breaking and entering a drug store on February 7, 1969, with intent to commit larceny therein. MCLA § 750.110 (Stat Ann 1970 Cum Supp § 28.305). Sentence was from 2-1/2 to 10 years. On appeal, defendant requests withdrawal of the guilty plea, contending that his answers to the court at the plea acceptance hearing were prompted by promises allegedly made to him by the sheriff and probation officer that by entering a guilty plea his sentence would be probation.
There is no basis in the record for the claim advanced upon appeal that the defendant "was lured and induced" to plead guilty by "an expectation of leniency".
The following question was asked at arraignment:
"Q. Has anyone told you that some kind of a special arrangement would be made, that if you entered a guilty plea you'd get a particular kind of treatment or some special consideration?
"Mr. Dorner: No, sir."
In the sentence record the court asked the following questions:
"Q. Is there anything that you would like to say to the court before the court disposes of your case?
"A. No, but there's one thing I'd like to ask.
"Q. All right.
"A. If I'm going to be sentenced to Jackson how is my wife going to take care of herself seeing how she's going to have a baby in October."
*308 The defendant's participation in the commission of the crime was adequately established by direct questioning of the defendant, as required by People v. Barrows (1959), 358 Mich 267, 272; the defendant stated, "I broke through a door" and later, "I went inside and found two cash registers there and I proceeded to empty them."
Defendant's assertion that his plea was not voluntary is made for the first time in this appeal. A reading of the transcript of the arraignment discloses a thorough and careful questioning of the defendant by the trial judge, which establishes, in so far as the record is concerned, that the defendant's plea of guilty was voluntary and not the result of any promises made to him of probation or leniency. In the defendant's brief he refers to an affidavit, which we fail to find in the file on appeal. The proper forum for such an issue to be determined is in the trial court by way of a motion to withdraw the plea of guilty, set aside the judgment, and for a new trial. This the defendant has not done. We therefore affirm, without prejudice to the defendant to file such a motion in the circuit court for Kalkaska County. We do not retain jurisdiction of this matter.
Affirmed without prejudice.
NOTES
[*]  Circuit judge, sitting on the Court of Appeals by assignment.


Torstar Corp. will lay off 21 staff at its StarMetro office in Toronto as part of a shift of production operations to nearby Hamilton.

The cuts include nine full-time editors, two full-time reporter-photographers, and 10 part-time copy editors, who will have work at the paper until the end of August, company spokesman Bob Hepburn said Thursday.

The cuts are part of the company's centralization of editing and production operations in Hamilton for cost efficiencies, he said, adding copy editors will be able to apply for jobs at the expanding office in that city.

Torstar, which owns weekly and daily newspapers including the Toronto Star and the Hamilton Spectator, rebranded its Metro papers in Calgary, Edmonton, Halifax, Toronto, and Vancouver under the StarMetro name as part of a relaunch in April.

The layoffs come just days after media publishing rival Postmedia Network Inc. announced it would close six small-town newspapers and reduce print publication of four more, while slashing 10 per cent of its total salary outlay through staff layoffs and voluntary buyouts by the end of August.

Last November, Torstar and Postmedia announced they had exchanged a total of 41 publications, mostly in Ontario, and would stop publishing most of them, resulting in 291 job losses, prompting an ongoing Competition Bureau investigation.

Both publishers have undergone rigorous cost-cutting measures in recent years, including several rounds of staff reductions through both buyouts and layoffs as they attempt to offset the impact of declining advertising revenue in a digital world dominated by the likes of Google and Facebook.

In April, Torstar announced it was doubling the pool of reporters at its western Canadian Metro free daily newspapers -- an unusual move in a shrinking industry.

CEO John Boynton said at the time the initiative represented a major investment in journalism outside of the company's Toronto headquarters, where it publishes the daily Toronto Star.

The company's five Metro newspapers -- in Vancouver, Calgary, Edmonton, Toronto and Halifax -- were rebranded StarMetro, with city-specific versions of the thestar.com for each.

Aside from the Star and its affiliated website, Torstar owns daily and community newspapers throughout Ontario, a 56.4 per cent interest in VerticalScope and minority interests in a number of other companies.

Torstar also holds an investment in The Canadian Press as part of a joint agreement with a subsidiary of the Globe and Mail and the parent company of Montreal's La Presse.


It's hard to keep track of the asshattery of this year's Republican candidates, so we'll refresh your memory: Ken Buck said to vote for him because he doesn't wear high heels. He's also hard-line anti-choice, and terrible to rape victims.

The Colorado Independent is doing a three part series on Buck's positions as they relate to women, and it's not pretty.

The latest revelation is Buck's conduct in a sexual assault case five years ago, when he was district attorney:

The alleged assault occurred five years ago. A man entered the alleged victim's apartment and had sex with her while she was drunk, she says. As she passed in and out of consciousness, she says she told him "no" and tried to push him away. If he had been a stranger, the case may have played out differently, but he was a former lover, and she had invited him over.

The victim happened to have been an advocate for sexual assault survivors. She said the police recommended felony charges, which is backed up by the police report but not by the police department itself. And she recorded a conversation between Buck and her, in which he put forward his position in a rather callous fashion, to say the least.

He told a Colorado paper, "A jury could very well conclude that this is a case of buyer's remorse," and said the facts were "pitiful." Even if you give Buck the benefit of the doubt and consider that he may have been, in the meeting and elsewhere, earnestly speaking for a jury that he believed would never convict based on the evidence, there is more than enough evidence of his contempt for women.

Exhibit A: He supports the Fetal Personhood Amendment, which would give fertilized eggs full legal rights, with no exception for rape and incest and serious implications for the rights of pregnant women, not to mention in vitro fertilization and stem cell research. He opposes abortion in all cases except to save the life of the mother. Oh, and its advocates ran a radio ad with an actor playing a "slave" comparing abortion to slavery.

As of last week, Buck is leading in the polls over Democrat Michael Bennet, but trailing among women voters. So, well, don't forget to vote, women of Colorado!

Buck's Refusal To Prosecute 2005 Rape Case Reverberates In U.S. Senate Race [Colorado Independent]

Women Have Yet To Catch Buck's Wave [Greeley Independent]

Earlier: Senate Candidate Is Not Man Enough, But At Least He's Not Wearing Heels


The Lansing State Journal has put together a list of 5 marked-up retail categories to be aware of when you’re making purchasing decisions, most of which you hopefully already know. If you can’t find wholesale sources or DIY replacements, then at least make sure you do a lot of comparison shopping to get the best deal.

We received an email from Guitar Center’s Chief Marketing Officer this afternoon letting us know that the $100 markup on their iPods was a pricing mistake, and that they’re automatically refunding the difference to anyone who bought at the wrong price as well as giving them $10 gift cards.

An alert reader noticed that something looked fishy on the Sam’s Club order screen when he was ordering new checks—if you decide to order double the number of checks, your price-per-box magically goes up the tiniest bit. We figure the amount is so small that most people don’t even notice it, or they notice it but figure they’ll still save time and shipping so it’s worth the 3-5 cents extra. Still, it’s a sneaky thing for a bulk discount store to do.


Q:

is this what is happening in this react code?

this is an experimental code to represent probable misunderstanding of how react works
https://jsfiddle.net/Dr_Coder/h6da2jku/78/

const App = () => {
      const {
        useState,
        useEffect
      } = React;

    const [firstCount, setFirstCount] = useState(0);
    const [secondCount, setSecondCount] = useState(0)

    const increment = () => setFirstCount(firstCount + 1)
    useEffect(() => {
     if(firstCount >= 1) setSecondCount(firstCount)

     const timer = setTimeout(() => {
      setFirstCount(0)
     }, 1000);

     return () => clearTimeout(timer)
    }, [firstCount, secondCount]);

      return (

       <button onClick={increment}>click  {firstCount}</button>

{secondCount}

      )
    }

ReactDOM.render( < App / > , document.getElementById('root'))

in my mind i think this happens:
1 - clicking the button and  this will increment firstCount
2 - rendering with the new value of firstCount
3 - useEffect will work because there is a change in firstCount dependency value
4 - the condition is true and this will change the value of secondCount to be equal to the value of firstCount
5 - this will render component again with the new value of secondCount
6 - timer finishes, and set firstCount to 0, this will render component again
7 - after render useEffect will work, the condition is false, nothing happens
Is this what really happening in the code, the life cycle of a react component is overwhelming, and i hope someone clarify what is exactly happening in the code!

A:

Yes, that's mostly right, but:

You missed out a small bit prior to #1: The first render will call the useEffect callback. The condition is false, but a timer is set; unless you do something within a second, firstCount is set to 0 by the timer callback.
The "nothing happens" isn't true in #7 - the useEffect callback still starts a timer, and a second later, the timer still fires. You just don't notice because it's setting the value firstCount already has (0). You can see that if you step through in the debugger or use some console.logs:

const {
    useState,
    useEffect
} = React;

const App = () => {

    console.log("App called");

    const [firstCount, setFirstCount] = useState(0);
    const [secondCount, setSecondCount] = useState(0);

    const increment = () => setFirstCount(firstCount + 1);

    useEffect(() => {
        console.log("useEffect callback");
        if (firstCount >= 1) {
            console.log("useEffect callback - setSecondCount to " + firstCount);
            setSecondCount(firstCount);
        }

        console.log("useEffect callback - start timer");
        const timer = setTimeout(() => {
            console.log("timer fired, setFirstCount(0)");
            setFirstCount(0)
        }, 1000);

        return () => {
            console.log("useEffect cleanup callback, cancel timer [if it hasn't run]");
            clearTimeout(timer);
        };
    }, [firstCount, secondCount]);

    return (

        <button onClick={increment}>click  {firstCount}</button>

{secondCount}

    );
}

ReactDOM.render(<App/> , document.getElementById('root'))

You can learn more about the React component lifecycle, specifically in regard to hooks, in this article by Dan Abramov. It's ostensibly about useEffect, but really it's about the component lifecycle.


Effects of maternal age and environment on offspring vital rates in the oleander aphid (Hemiptera: Aphididae).
Maternal effects have the potential to affect population dynamics and evolution. To affect population dynamics, maternal effects must influence offspring vital rates (birth, death, or movement). Here, we explore the magnitude of nongenetic maternal influence on the vital rates of an insect herbivore and explore predictability of maternal effects with reference to published studies. We experimentally studied the effects of maternal age, host plant species (two Asclepias spp.), and density on offspring vital rates in Aphis nerii, the oleander aphid. Older mothers produced offspring that lived shorter lives, consistent with the "Lansing Effect." Older mothers also produced offspring that matured at a younger age. As maternal age increased, offspring mass at maturity decreased when mothers were on Asclepias syriaca. However, offspring mass was highest from intermediate aged mothers on A. viridis. The absence of maternal density effects seems to exclude maternal density as a potential source of delayed density dependence in A. nerii. Our results indicate that maternal effects have some influence on A. nerii vital rates. However, references to published studies suggest that only the Lansing Effect is a predictable response to maternal age in insects. Moreover, the magnitude of observed effects was generally low.


Jerky mechanical robots are staples of science fiction, but to seamlessly integrate into everyday life they’ll need the precise yet powerful motor control of humans. Now scientists have created a new class of artificial muscles that could soon make that a reality.

The advance is the latest breakthrough in the field of soft robotics. Scientists are increasingly designing robots using soft materials that more closely resemble biological systems, which can be more adaptable and better suited to working in close proximity to humans.

One of the main challenges has been creating soft components that match the power and control of the rigid actuators that drive mechanical robots – things like motors and pistons. Now researchers at the University of Colorado Boulder have built a series of low-cost artificial muscles – as little as 10 cents per device – using soft plastic pouches filled with electrically insulating liquids that contract with the force and speed of mammalian skeletal muscles when a voltage is applied to them.

Three different designs of the so-called hydraulically amplified self-healing electrostatic (HASEL) actuators were detailed in two papers in the journals Science and Science Robotics last week. They could carry out a variety of tasks, from gently picking up delicate objects like eggs or raspberries to lifting objects many times their own weight, such as a gallon of water, at rapid repetition rates.

“We draw our inspiration from the astonishing capabilities of biological muscle,” Christoph Keplinger, an assistant professor at UC Boulder and senior author of both papers, said in a press release. “Just like biological muscle, HASEL actuators can reproduce the adaptability of an octopus arm, the speed of a hummingbird and the strength of an elephant.”

The artificial muscles work by applying a voltage to hydrogel electrodes on either side of pouches filled with liquid insulators, which can be as simple as canola oil. This creates an attraction between the two electrodes, pulling them together and displacing the liquid. This causes a change of shape that can push or pull levers, arms or any other articulated component.

The design is essentially a synthesis of two leading approaches to actuating soft robots. Pneumatic and hydraulic actuators that pump fluids around have been popular due to their high forces, easy fabrication and ability to mimic a variety of natural motions. But they tend to be bulky and relatively slow.

Dielectric elastomer actuators apply an electric field across a solid insulating layer to make it flex. These can mimic the responsiveness of biological muscle. But they are not very versatile and can also fail catastrophically, because the high voltages required can cause a bolt of electricity to blast through the insulator, destroying it. The likelihood of this happening increases in line with the size of their electrodes, which makes it hard to scale them up. By combining the two approaches, researchers get the best of both worlds, with the power, versatility and easy fabrication of a fluid-based system and the responsiveness of electrically-powered actuators.

One of the designs holds particular promise for robotics applications, as it behaves a lot like biological muscle. The so-called Peano-HASEL actuators are made up of multiple rectangular pouches connected in series, which allows them to contract linearly, just like real muscle. They can lift more than 200 times their weight, but being electrically powered, they exceed the flexing speed of human muscle.

As the name suggests, the HASEL actuators are also self-healing. They are still prone to the same kind of electrical damage as dielectric elastomer actuators, but the liquid insulator is able to immediately self-heal by redistributing itself and regaining its insulating properties.

The muscles can even monitor the amount of strain they’re under to provide the same kind of feedback biological systems would. The muscle’s capacitance – its ability to store an electric charge – changes as the device stretches, which makes it possible to power the arm while simultaneously measuring what position it’s in.

The researchers say this could imbue robots with a similar sense of proprioception or body-awareness to that found in plants and animals. “Self-sensing allows for the development of closed-loop feedback controllers to design highly advanced and precise robots for diverse applications,” Shane Mitchell, a PhD student in Keplinger’s lab and an author on both papers, said in an email.

The researchers say the high voltages required are an ongoing challenge, though they’ve already designed devices in the lab that use a fifth of the voltage of those features in the recent papers.

In most of their demonstrations, these soft actuators were being used to power rigid arms and levers, pointing to the fact that future robots are likely to combine both rigid and soft components, much like animals do. The potential applications for the technology range from more realistic prosthetics to much more dextrous robots that can work easily alongside humans.

It will take some work before these devices appear in commercial robots. But the combination of high-performance with simple and inexpensive fabrication methods mean other researchers are likely to jump in, so innovation could be rapid.


Hydrogen peroxide induces association between glyceraldehyde 3-phosphate dehydrogenase and phospholipase D2 to facilitate phospholipase D2 activation in PC12 cells.
Oxidative stress or signaling is widely implicated in apoptosis, ischemia and mitogenesis. Previously, our group reported that the hydrogen peroxide (H2O2)-dependent activation of phospholipase D2 (PLD2) in PC12 cells is involved in anti-apoptotic effect. However, the precise mechanism of PLD2 activation by H2O2 was not revealed. To find H2O2-dependent PLD2-regulating proteins, we immunoprecipitated PLD2 from PC12 cells and found that glyceraldehyde 3-phosphate dehydrogenase (GAPDH) coimmunoprecipitated with PLD2 upon H2O2 treatment. This interaction was found to be direct by in vitro reconstitution of purified GAPDH and PLD2. In vitro studies also indicated that PLD2-associated GAPDH was modified on its reactive cysteine residues. Koningic acid, an alkylator of GAPDH on catalytic cysteine residue, also increased interaction between the two proteins in vitro and enhanced PLD2 activity in PC12 cells. Blocking H2O2-dependent modification of GAPDH with 3-aminobenzamide resulted in the inhibition of the GAPDH/PLD2 interaction and attenuated H2O2-induced PLD2 activation in PC12 cells. From the results, we suggest that H2O2 modifies GAPDH on its catalytic cysteine residue not only to inactivate the dehydrogenase activity of GAPDH but also to endow GAPDH with the ability to bind PLD2 and the resulting association is involved in the regulation of PLD2 activity by H2O2.


Every year since 1970, the NFL has awarded one NFL player with a prestigious award known as the Man of the Year. Each team nominates one player, and then a panel of judges consisting of the NFL Commissioner, Connie Payton (Walter's widow), and NFL players, cast their votes to see who will be the winner.

In 1999, the name was changed from Man of the Year to Walter Payton Man of the Year Award, in honor of the man himself.

The award recognizes performance both on the field, as well as off the field, and this year, the Chicago Bears have nominated running back Matt Forte for this great honor.

You can read more about Forte's nomination HERE, but a quick excerpt:

Matt Forte founded The Matt Forte 'What's Your Forte?' Foundation in 2013 to empower at-risk Chicago-area youth striving to achieve their dreams of higher education by providing mentoring, counseling, tutoring and academic scholarships. It is Matt's mission to help youth meet their full potential. This summer, Matt hosted his third annual Matt Forte Football ProCamp. Matt has also hosted various mentoring dinners and camps in prior years, both in Chicago and his hometown, Slidell, La. In preparation for the upcoming school year, the Matt Forte "What's Your Forte?" Foundation hosted its inaugural "Back to School 'Kicks' and Backpack Giveaway." Matt provided more than 200 kids with backpacks, school supplies, tennis shoes and other clothing items. Matt understands that the families of many Chicago-area youth are unable to provide their children with "back-to-school" clothing items. Filling this void helps remove the stigma that children face upon returning to school each year, allowing them to focus on academics and not individual appearances. The foundation additionally has a turkey giveaway planned for Thanksgiving.

Forte has also been selected as the team's Brian Piccolo Award winner both as a rookie, as well as this past year as the veteran recipient.

Previous Chicago Bears players to win the overall award include:

- 1977, Walter Payton

- 1987, Dave Duerson

- 1990, Mike Singletary

- 2000, Jim Flannigan

- 2013, Charles Tillman

The Bears are tied with the Chiefs for most MOY winners at five.

Congratulations to Matt on this award nomination, and good luck when the votes are cast!


package com.github.javaparser.symbolsolver.model.typesystem.parametrization;

import com.github.javaparser.symbolsolver.model.declarations.TypeParameterDeclaration;
import com.github.javaparser.symbolsolver.model.typesystem.Type;
import com.github.javaparser.symbolsolver.model.typesystem.Wildcard;

import java.util.Optional;

/**
 * @author Federico Tomassetti
 */
public interface TypeParameterValueProvider {

    /**
     * Calculate the value for the given type parameter.
     * It could be inherited.
     */
    Optional<Type> typeParamValue(TypeParameterDeclaration typeParameterDeclaration);

    /**
     * Replace the type typeParametersValues present in the given type with the ones for which this type
     * has a value.
     */
    default Type useThisTypeParametersOnTheGivenType(Type type) {
        if (type.isTypeVariable()) {
            TypeParameterDeclaration typeParameter = type.asTypeParameter();
            if (typeParameter.declaredOnType()) {
                Optional<Type> typeParam = typeParamValue(typeParameter);
                if (typeParam.isPresent()) {
                    type = typeParam.get();
                }
            }
        }

        if (type.isWildcard() && type.asWildcard().isBounded()) {
            if (type.asWildcard().isExtends()) {
                return Wildcard.extendsBound(useThisTypeParametersOnTheGivenType(type.asWildcard().getBoundedType()));
            } else {
                return Wildcard.superBound(useThisTypeParametersOnTheGivenType(type.asWildcard().getBoundedType()));
            }
        }

        if (type.isReferenceType()) {
            type = type.asReferenceType().transformTypeParameters(tp -> useThisTypeParametersOnTheGivenType(tp));
        }

        return type;
    }

    Optional<Type> getGenericParameterByName(String name);
}


Identification and diagnostic value of a major antibody epitope on the 12 kDa antigen from Echinococcus granulosus (hydatid disease) cyst fluid.
An IgG1 monoclonal antibody (MoAb), designated C9E7H8, has been produced against an epitope on the 12 kDa antigen of Echinococcus granulosus cyst fluid, believed to represent the smallest subunit of antigen B. This MoAb, raised against purified 12 kDa antigen eluted from a reducing SDS-PAGE gel, demonstrated strong binding to native sheep cyst fluid in ELISA and recognition of all three subunits of antigen B (at 12, 16, 23 kDa) by immunoblot under both reducing and non-reducing conditions. Immunoblot analysis also indicated that the complementary epitope is conserved amongst cyst fluids from different intermediate hosts of E. granulosus, including fluids from cysts of two distinct strains, and is present in cyst fluid from E. multilocularis. The monoclonal displays binding to a cDNA clone, EgPS-3, which we have previously shown expresses part of the 12 kDa molecule. EgPS-3, expressed as a glutathione-S-transferase fusion protein, was successful in positive detection of 74% of cystic hydatid patients, although cross-reactions were observed with 25% of sera from alveolar hydatid and 22% of sera from schistosomiasis japonica patients. Three peptides, based on the predicted amino acid sequence of EgPS-3, showed increased specificity but slightly reduced sensitivity in the detection of antibody from E. granulosus patients. The predominant epitope recognized by human antibody occurs in the N-terminal 27 amino acids (peptide 65) of EgPS-3 which also correlates with the location of the monoclonal antibody epitope.


(;CA[UTF-8]AP[YuanYu]GM[1]FF[4]
SZ[19]
GN[]
DT[2016-11-01]
PB[绝艺]BR[9段]
PW[ziggler]WR[9段]
KM[0]HA[0]RU[Japanese]RE[B+R]TM[60]TC[3]TT[15]
;B[pd];W[pp];B[dc];W[cp];B[ce];W[nc];B[qf];W[pb];B[qn];W[nq];B[lc]
;W[qc];B[oc];W[nb];B[ob];W[oa];B[nd];W[re];B[mc];W[qe];B[pf];W[rf]
;B[qh];W[ec];B[ed];W[fc];B[db];W[ge];B[hc];W[ee];B[fd];W[gd];B[fe]
;W[ff];B[dd];W[gc];B[gf];W[ic];B[hf];W[hb];B[ie];W[id];B[ke];W[dj]
;B[on];W[kp];B[mo];W[lp];B[kn];W[qo];B[rn];W[kl];B[ep];W[eq];B[dp]
;W[dq];B[co];W[fp];B[cq];W[bp];B[cr];W[bo];B[cn];W[dr];B[fq];W[fr]
;B[gq];W[fo];B[en];W[br];B[fn];W[ho];B[in];W[gn];B[gm];W[fm];B[eo]
;W[hp];B[hn];W[go];B[gl];W[fl];B[fk];W[el];B[ek];W[dl];B[dk];W[cl]
;B[ck];W[bk];B[bj];W[bm];B[ak];W[bl];B[gk];W[jo];B[jn];W[pe];B[oe]
;W[rg];B[pj];W[qg];B[pg];W[ph];B[oh];W[pi];B[oi];W[qi];B[qj];W[ri]
;B[rj];W[pn];B[pm];W[po];B[om];W[ro];B[si];W[rh];B[so];W[sp];B[sn]
;W[rp];B[io])


What the community has to say about
Warstler Brothers Landscaping

Designing, creating and maintaining a beautiful landscape can be both easy and affordable. Warstler Brothers Landscaping has... been providing a full line of landscaping services for more than 25 years. Customers appreciate the fact that we offer the convenience of providing a complete package of lawn and landscape services. What sets Warstler Brothers apart, and has earned us an unmatched...


Thursday, February 24, 2005

This is a repost of a comment I made on an eternity road entry about intelligence. The subject was brought up in the comments on my Subtelty and bullshit post, and indeed the post itself, and I thought it'd be approrpiate here.

---------

Some folks assume that the very intelligent (or those that think they are) sit around all day congratulating themselves on how smart they are.

The mean of the various IQ tests I’ve had comes out to about 180, the lowest was 157, the highest over 200. According to the most recent numbers I’ve seen, there are somewhere between 6000, and 60000 people smarter than me in the world (gotta love those orders of magnitude eh).

That and $4.50 gets you a starbucks latte.

My intelligence is a fact of my life. I’m very proud of my capability, but my raw intelligence is no big deal to me. I generally don’t make a thing out of it, and when I mention it it’s as an interesting fact, or most frequently to explain why I was able to come up with an answer in the way I have (I'm a bit of a trivia nut and frequently come out with weird correct answers to weird obscure questions). I can’t imagine being any other way, and I just dont think about it on a daily basis.

As many have pointed out in the past, the highly intelligent really do think differently, and others often find it disconcerting. They may even be hostile to your ideas, no matter how they are presented, because of their own insecurity about intelligence. They may percieve you as arrogant. They may become self righteous.

Such is life.

More in the extended entryOur society has a love hate relationship with intelligence. Clearly it is one of the highest commercially valued attributes. The very intelligent are in general higher valued by society than the less intelligent.

The intellectual elite certainly shout the praises of the highly intelligent, since of course they percieve themselves to be highly intelligent(often correctly; intelligence has little to do with common sense or factual reality).

On the other side, the intelligent are often looked on with self righteous indignation. “how dare they think they’re better than us”. Or we are geeks, freaks, weirdos (and I am, and I celebrate this fact) etc…

We mock the intelligent, we parody them, we have many derogatory stereotypes etc… Some discriminate against them. Some dont want to work with them.

We as a society are simply not comfortable with what we do not understand. The highly intelligent are therefore in a position where they understand more than most others, which makes many of those people uncomfortable, even resentful or fearful.

Unfortunately making this relationship worse, many very intelligent people are exactly what the rest of the world hates about us: they are arrogant and overbearing, they have poor social skills, they have little regard for others feelings etc…

Again, such is life.

The thing that angers me about all of this is those that pretend that either intelligence is not a factor, or that it is somehow unfair that some are more intelligent than others.

I ask, “How is it unfair using what god or nature or my parents gave me?”

So then they get into veil of ignorance or inherent value bullshit, which they almost invariably use to justify why I should be artificially handicapped against others, to “level the playing field”.


Q:

Finding the coordinates from a BCV plot in edgeR

How do I know the function(x) and consequently, the coordinates of the function that generate the graph of dispersion (BCV) from edgeR package?
I need to know "the coordinates" of the Vertex (max and min value for each Vertex) of the "trend" dispersion and where the "trend line (blue)" intersect the common dispersion line (red line)

For convenience, I did an example:
data <- "chr start end depth depth1 depth2 depth3 depth4 depth5 depth6
chr1 3273 3273 7 200 35 1 200 850 0
chr1 3274 3274 3 50 25 5 300 1500 2
chr1 3275 3275 8 600 15 8 100 300 5
chr1 3276 3276 4 30 2 10 59 20 0
chr1 3277 3277 25 20 7 4 600 45 0"
data <- read.table(text=data, header=T)

datamatrix <- data [, c(4:10)]
library (edgeR)

#grouping factor
group <- c(1, 2, 2, 2, 2, 2, 2) #groups of each sample)

#create a DGEList
y <- DGEList(counts=datamatrix,group=group)

According to edgeR package, I can estimate the dispersion of my dataset using:
y <- estimateDisp(y)

y$common.dispersion

The square root of the common dispersion gives the coefficient of biological variation. And, the dispersion estimates can be viewed in a BCV plot:
plotBCV(y)

A:

I think this solves the trick
#finding dispersion coordinates

    afun <- approxfun(y$AveLogCPM, y$trended.dispersion)

#ranging between -2 and 12 the "par" number to check the intersection
    optim(par=-1, function(x) { (afun(x) - y$common.dispersion)^2 }) #-0.9056
    optim(par=0, function(x) { (afun(x) - y$common.dispersion)^2 }) #-0.4955
    optim(par=2, function(x) { (afun(x) - y$common.dispersion)^2 }) #1.8237

#with the plotBCV function code, I have the access to tagwise, trended, common dispersions, and the abundance values, for each CpG as: y$tagwise.dispersion, y$trended.dispersion, y$common.dispersion, and y$AveLogCPM, respectively.

min (y$trended.dispersion) #[1] 1.09009
max (y$trended.dispersion) #[1] 1.50691

#to the vertex, you can subset a table according to the AveLogCPM range that you want to know the max and min like this:

afuntable<- data.table(y$AveLogCPM, y$trended.dispersion)
afuntablemod <-subset (afuntable, V1 >= 0)
afuntablemod <-subset (afuntablemod, V1 <= 2)
min (afuntablemod$V2) #[1] 1.318002

#and again
afuntable<- data.table(y$AveLogCPM, y$trended.dispersion)
afuntablemod <-subset (afuntable, V1 >= 2)
afuntablemod <-subset (afuntablemod, V1 <= 12)
max (afuntablemod$V2) #[1] 1.50691


<?php

namespace Oro\Bundle\TagBundle\Form\Transformer;

use Doctrine\Common\Collections\ArrayCollection;
use Oro\Bundle\TagBundle\Entity\TagManager;
use Oro\Component\PropertyAccess\PropertyAccessor;
use Symfony\Component\Form\DataTransformerInterface;

class TagTransformer implements DataTransformerInterface
{
    /**  @var TagManager */
    protected $tagManager;

    /**  @var PropertyAccessor */
    protected $propertyAccessor;

    public function __construct(TagManager $tagManager)
    {
        $this->tagManager = $tagManager;
        $this->propertyAccessor = new PropertyAccessor();
    }

    /**
     * {@inheritdoc}
     */
    public function reverseTransform($value)
    {
        if (!$value) {
            return new ArrayCollection();
        }

        $tags  = explode(';;', $value);
        $names = [];
        foreach ($tags as $tag) {
            $tag = json_decode($tag, true);
            if ($tag && array_key_exists('name', $tag) === true) {
                $names[] = $tag['name'];
            }
        }

        if (!empty($names)) {
            return new ArrayCollection($this->tagManager->loadOrCreateTags($names));
        }

        return new ArrayCollection();
    }

    /**
     * {@inheritdoc}
     */
    public function transform($value)
    {
        $result = [];
        if (is_array($value)) {
            $result = array_map(
                function ($tag) {
                    return json_encode(
                        [

                            'id'   => $this->propertyAccessor->getValue($tag, 'id'),
                            'name' => $this->propertyAccessor->getValue($tag, 'name'),
                        ]
                    );
                },
                $value
            );
            $result = implode(';;', $result);
        }

        return $result;
    }
}


Pricing for Amazon ML

With AWS services, you pay only for what you use. There are no minimum fees and no
upfront
commitments.

Amazon Machine Learning (Amazon ML) charges an hourly rate for the compute time used
to compute data statistics
and train and evaluate models, and then you pay for the number of predictions generated
for your
application. For real-time predictions, you also pay an hourly reserved capacity charge
based on
the size of your model.

Estimating Batch Prediction Cost

When you request batch predictions from an Amazon ML model using the Create Batch
Prediction
wizard, Amazon ML estimates the cost of these predictions. The method to compute the
estimate
varies based on the type of data that is available.

Estimating Batch Prediction Cost When Data Statistics Are Available

The most accurate cost estimate is obtained when Amazon ML has already computed summary
statistics on the datasource used to request predictions. These statistics are always
computed for datasources that have been created using the Amazon ML console. API users
must set
the ComputeStatistics flag to True when creating datasources
programmatically using the CreateDataSourceFromS3, CreateDataSourceFromRedshift, or the CreateDataSourceFromRDS APIs. The datasource must be in the READY
state for the statistics to be available.

One of the statistics that Amazon ML computes is the number of data records. When
the number
of data records is available, the Amazon ML Create Batch Prediction wizard estimates
the number
of predictions by multiplying the number of data records by the fee for batch
predictions.

Your actual cost may vary from this estimate for the following reasons:

Some of the data records might fail processing. You are not billed for predictions
from failed data records.

The estimate doesn't take into account pre-existing credits or other adjustments
that are applied by AWS.

Estimating Batch Prediction Cost When Only Data Size Is Available

When you request a batch prediction and the data statistics for the request datasource
are not available, Amazon ML estimates the cost based on the following:

The total data size that is computed and persisted during datasource
validation

The average data record size, which Amazon ML estimates by reading and parsing the
first
100 MB of your data file

To estimate the cost of your batch prediction, Amazon ML divides the total data size
by the
average data record size. This method of cost prediction is less precise than the
method
used when the number of data records is available because the first records of your
data
file might not accurately represent the average record size.

When neither data statistics nor the data size are available, Amazon ML cannot estimate
the
cost of your batch predictions. This is commonly the case when the data source you
are using
to request batch predictions has not yet been validated by Amazon ML. This can happen
when you
have created a datasource that is based on an Amazon Redshift (Amazon Redshift) or
Amazon Relational Database Service (Amazon RDS) query,
and the data transfer has not yet completed, or when datasource creation is queued
up behind
other operations in your account. In this case, the Amazon ML console informs you
about the fees
for batch prediction. You can choose to proceed with the batch prediction request
without an
estimate, or to cancel the wizard and return after the datasource used for predictions
is in
the INPROGRESS or READY state.

Estimating Real-Time Prediction Cost

When you create a real-time prediction endpoint using the Amazon ML console, you will
be shown
the estimated reserve capacity charge, which is an ongoing charge for reserving the
endpoint
for prediction processing. This charge varies based on the size of the model, as explained
on
the service pricing
page. You will also be informed about the standard Amazon ML real-time prediction charge.

Javascript is disabled or is unavailable in your browser.

To use the AWS Documentation, Javascript must be enabled. Please refer to your browser's
Help pages for instructions.


The danger of early industrialization

Industrializing early is difficult for even the most powerful nations.

Artisans start out more efficient than industry and as a result will put factories out of business

The World Market doesn't have enough resources (e.g. they are not extracted efficiently and in sufficient quantity) to fuel mass production. For example, trying to industrialize early as Prussia causes factories to starve for critical resources half the time, even if they are factories that need something like coal, which Germany makes in mass quantities. Between POPs and RGO inefficiency, there isn't enough coal to keep cement or steel factories running at full speed every day.

Labour isn't being efficiently used in RGOs due to inferior technology, thus there is no ready pool of labor to run factories. National focus on craftsmen would be disastrous: miners and farmers would leave inefficient RGOs for factories, further reducing the availability of raw material inputs for industry.

Having factories as early as 1836 is not necessarily bad (look at the UK) but it can be challenging. Many nations will need to subsidize factories for some time while encouraging capitalists with their National Focus points. This essentially transfers money from the state's treasury to capitalists, which will give you an edge once technological advances make RGO's more efficient and factories more profitable. Wealthy capitalists will build new factories and upgrade railroads for you. If you can appoint a party with State Capitalism, start by building factories that make basic goods like cement, steel, lumber, etc. in states with the requisite RGO's. Beware of military goods factories in particular, as availability of inputs as well as demand may be sporadic. Later in the game, your economy will function with less input from you.

Creating the foundations for industrialization

The early game needs to be spent focusing on how to create a solid foundation for future industrialization. Generally, industry can't be effective until at least the 1860s.

Research

Research industrial and commercial techs to increase RGO efficiencies to allow for naturally firing POPs from the RGOs. Increasing RGO efficiency makes labor available while increasing industrial efficiency enables factories to compete with artisans. Commercial techs are a top priority.

Commerce—Economic Thought And Critique: -4% factory input is possible by around 1850.

Commerce—Organization: +16% factory output is possible by around 1850.

Industry—Power: +30-60% in RGO output is possible by around 1850.

Industry—Mechanization: +20% factory throughput is possible by around 1850. Also improves the output of several RGOs and couple of different factories.

Domestic Policy

In the start of the game, a policy that allows you to build factories like State Capitalism or Planned Economy is optimal, as capitalists are not in large numbers and a incorrect factory (eg: clipper ships) can lead to large negative consequences.

While Laissez-Faire has been greatly improved in A House Divided, it is still only advisable when one has an established industrial base. Once a country has a developed economy, with more than five factories being built by capitalists at a time, Laissez-Faire is an extremely effective policy, especially considering the throughput boost it gives. It basically puts a nation's industry on autopilot. However, smaller countries will most always benefit from a human controlled industry.

Promoting literacy is key to ensuring a natural promotion of the population. All national focuses should be devoted to clergy, rather than craftsmen, until they are 2% nationally. After that national focus on clerks and capitalists helps tremendously, as they both make factories more efficient: Clerks can increase factory input by up to 50%.

Railroads improve factory and RGO throughput. Railroads are another example of where increased technology provides continual benefits to factories, while artisans are left in the dust bin of history.

Budget

Tariffs are extremely important, as anything over ten percent will starve factories, causing a snowball effect. Eventually, a country's POPs will demote to farmers, and you will be exactly where you started. As a result, whenever possible, tariffs should be set to 0%.

Taxes should be used primarily to ensure that POPs are having their needs met. This ensures that local POPs can afford to purchase the goods that industry produces.

Sphere of Influence

Nations that are a great power should work on bringing countries into their sphere that provide raw materials for industry. However, beware of China! Sphering large countries with a substantial RGO and artisan base will cause demand for factory-made goods to cease. Sphering any of the large Chinese nations in the early game (1836 to 1880), will cause your industry (and possibly the world economy) to implode.

Prestige is absolutely critical. The difference between being #2, #7, and #29 is vast. If you can get and keep #1, you are well on your way to building an awesome economy.

Critical resources

Successful nations must either sphere or annex critical resources, lest they are doomed to be an agrarian power until gaining enough prestige to buy them from nations that finally produce enough.

Dye is controlled by the UK and Netherlands until Synthetic Dye is invented, so you are at their mercy if you want to produce cloth.

Coal is used in so many industries, not to mention POPs using it up, that if you don't have your own coal, you are at a serious disadvantage to everyone else.

Iron is really important in the early and middle game.

Timber is useful early on, but once Russia gets some techs, it gets much more common.

Sulfur is vital to anyone who wants to produce weapons.

Factory Management

Guide industrial development during the first half of the game using available resources. Let the artisans satisfy demand in other products, but let factories only work along supply chains you have full access to. During the second half of the game, you can start looking at demand more often, but even then you still need to monitor supply. The specter of supply chain problems never disappears completely.

Subsidizing industries must be carefully considered. Industries that just keep failing every day of their life should be deleted or closed. The only time subsidizing is important is when you have a sine-wave supply bottleneck or when you need to immobilize labor in a state while you build new factories. That sine-wave bottleneck is a real problem, since the factory gets its inputs half the time, but half the time it's missing something. Rather than just close it down or let it fire workers, I can run that factory at 100% the moment it gets inputs again. Still, letting workers move to industries that are doing better is usually the best strategy.

Heart of Darkness Changes

In Heart of Darkness, the industry system has been massively revamped. Factories are now able to artificially reduce throughput temporarily when running a deficit, instead of immediately laying off workers. Furthermore, Capitalists are once again somewhat improved. Most important however, are the resource throughput bonuses. Factories can achieve up to a 25% bonus if all inputs are produced in the state, either by RGOs or by other factories. An example chain of industry for Scotland to maximize production would then be as follows;

Steel produced in the Lowlands, garnering a 15% bonus from the coal (but not the full 25%, because the Lowlands lack iron)

Machine Parts and Steamers produced in the Lowlands, getting the full 25% bonus from the coal and the Steel plant

Ammunition, Fertilizer, Explosives and Artillery all produced in the Highlands, as they complement each other and create a full chain of production from RGO to artillery guns

As you can see, planning factories in Hearts of Darkness is somewhat more in-depth than simply building in your most populated states.


The effect of roundabout design features on cyclist accident rate.
Roundabouts are known to result in fewer traffic accidents than traditional intersections. However, this is to a lesser degree true for bicycles than for vehicles. In this paper, we aimed at establishing statistical relationships through Poisson regression and logistic regression analyses between yearly rate of cyclist accidents on one hand and roundabout geometry, age and traffic volume (vehicles and cyclists) on the other. We related all roundabout cyclist accidents recorded by the hospital emergency department of the town of Odense, Denmark, through the years 1999-2003 (N=171) to various geometric features, age and traffic volume of all roundabouts on the Danish island of Funen (N=88). Cyclist and vehicle volumes turned out to be significant predictors in most of our models-the higher the volumes, the more accidents. Moreover, potential vehicle speed was a significant predictor, and so was age of the roundabout-older roundabouts related to more accidents and higher accident probability. Excluding 48 single cyclist accidents strengthened the relationship between accidents on one hand and vehicle and cyclist volume and potential vehicle speed on the other. This stresses the significance of speed and traffic volume for traffic accidents with more than one partner involved. The 48 single cyclist accidents were significantly related to the traffic volume of cyclists only. Due to our limited number of observations, the models should be regarded as indicative.


// Alternative main sample. Same as ../main.go, but uses a struct of func
// values instead of an interface on the Go side.
//
// Eli Bendersky [http://eli.thegreenplace.net]
// This code is in the public domain.
package main

/*
#include <stdlib.h>
#include "clibrary.h"

#cgo CFLAGS: -I .
#cgo LDFLAGS: -L . -lclibrary

// Since main.go has //export directives we can't place function definitions in
// it - we'll get multiple definition errors from the linker (see
// https://golang.org/cmd/cgo/#hdr-C_references_to_Go for more on this
// limitation). We can't mark them 'static inline' either because we're taking
// their address to pass to clibrary; thus, they are moved to a separate Go
// file.

extern void startCgo(void*, int);
extern void endCgo(void*, int, int);
*/
import "C"
import (
	"fmt"
	"unsafe"
)

import gopointer "github.com/mattn/go-pointer"

type GoStartCallback func(int)
type GoEndCallback func(int, int)

type GoCallbacks struct {
	startCb GoStartCallback
	endCb   GoEndCallback
}

func GoTraverse(filename string, cbs *GoCallbacks) {
	cCallbacks := C.Callbacks{}

	if cbs.startCb != nil {
		cCallbacks.start = C.StartCallbackFn(C.startCgo)
	}
	if cbs.endCb != nil {
		cCallbacks.end = C.EndCallbackFn(C.endCgo)
	}

	// Allocate a C string to hold the contents of filename, and free it up when
	// we're done.
	var cfilename *C.char = C.CString(filename)
	defer C.free(unsafe.Pointer(cfilename))

	// Create an opaque C pointer for cbs to pass ot traverse.
	p := gopointer.Save(cbs)
	defer gopointer.Unref(p)

	C.traverse(cfilename, cCallbacks, p)
}

//export goStart
func goStart(user_data unsafe.Pointer, i C.int) {
	gcb := gopointer.Restore(user_data).(*GoCallbacks)
	gcb.startCb(int(i))
}

//export goEnd
func goEnd(user_data unsafe.Pointer, a C.int, b C.int) {
	gcb := gopointer.Restore(user_data).(*GoCallbacks)
	gcb.endCb(int(a), int(b))
}

func main() {
	cb := &GoCallbacks{
		startCb: func(i int) { fmt.Println("from go start", i) },
		endCb:   func(a, b int) { fmt.Println("from go end", a, b) },
	}
	GoTraverse("joe", cb)

	// Another traverse, with state
	var state int
	cb = &GoCallbacks{
		startCb: func(i int) { state = i },
		endCb:   func(a, b int) { fmt.Println("end; state =", state) },
	}
	GoTraverse("joe", cb)
}


Rugby: Bray - Thumbs up for scrum work

Sanzar refs' boss picks out set pieces in first All Blacks-Pumas match as example of how they should work

Video will play in

Play now

Don't auto play

Never auto play

This year's first All Blacks-Pumas clash is being hailed as a poster game for the global scrum trials.

The sides delivered an intriguing battle during their Hamilton test which suffered when rain fell consistently after the first quarter to leave a slippery Waikato Stadium surface.

Conditions restricted the teams' work but Sanzar referees boss Lyndon Bray has pinpointed their first-half scrum work as an example for others to emulate.

"[It] showed what we can do - with just one reset scrum and one scrum penalty - with a very good engagement, contest and co-operation between referees and packs," he said.

"It is about the contest and teams being able to exert pressure on each other. We don't want to lose that, but at the same time it has to be both legal and effective to still having scrums completed and ensure that teams can still launch attacks off scrums."

Bray was assessing a range of issues for referees including the 70 per cent targets for scrums to work on their first hit and for ball to be cleared in 3s while also gauging the offside lines at rucks and turnovers.

The crouch, bind, set commands were new to the Rugby Championship and Bray said data from six games were not yet enough to assess the impact. Coaches and players were adjusting and there were signs teams understood they could not "chase and hit" any more.

Bray picked out the start of the All Blacks-Pumas duel to emphasise the law's aims but conceded progress had slipped in the last round when the All Blacks played the Springboks and Wallabies met the Pumas.

"It is important we win back that stability post the engagement."

Talk about the scrum is sweet music to the Pumas and the All Blacks will have to be at their best on Sunday in La Plata, to stay with the hosts in that set-piece area.

It is one of a clutch of areas which will focus attention as the championship heads into its deciding two rounds. Confident talk continues from the hosts about their ability to stay with their rivals and the standard of the competition.

The All Blacks won a scrappy duel in Hamilton 28-13 where they suffered several injuries, lost experienced loosehead Tony Woodcock to flu at halftime and struggled to contain the Pumas scrum.

The Pumas were also aggressive on defence and brought an attitude which belied the pounding they had taken from the Boks at the start of this year's series.

At home, the Pumas should have nicked a draw in the niggling rematch with the Boks where they showed a huge improvement in their organisation and attitude.

They should bring those qualities once more this Sunday and will be buoyed by the injury absence of both Richie McCaw and Daniel Carter.


May calls for early general polls

British prime minister Theresa May called Tuesday for an early general election on 8 June in a surprise announcement as Britain prepares for delicate negotiations on leaving the European Union.

"We need a general election and we need one now. We have at this moment a one-off chance to get this done... before the detailed talks begin," May said, despite previously denying that she would do so.

Speaking outside her Downing Street residence in London, May warned that "division in Westminster will risk our ability to make a success of Brexit".

She said parliament would be asked to vote Wednesday to decide on whether or not to hold an election.

The dramatic announcement comes after months of tumult in British politics following the Brexit vote.

A round of opinion polls over the Easter weekend also showed her Conservative Party far ahead of the main opposition Labour Party.

The Conservatives polled at between 38 per cent and 46 per cent, with Labour at 23 per cent to 29 per cent, according to the polls by YouGov, ComRes and Opinium.

The poll lead had prompted many senior Conservatives to call for an election, particularly as May will need a strong parliamentary majority as she seeks to negotiate Britain's exit from the European Union.

The Conservatives currently have a working majority of just 17 from the last election in 2015 and some of their MPs have indicated they could vote against the government on key aspects of Brexit legislation.

EU leaders except May are set to hold a summit on 29 April where they will agree on the strategy for negotiating Britain's expected departure in 2019.

The negotiations themselves are not expected to start until May or June at the earliest. The European Commission has said it wants the exit talks to be concluded by October 2018 at the latest.

Britain's next election was due to have been held in 2020 -- a date enshrined in legislation according to which elections have to be held every five years in May.

But the law can be overruled if two-thirds of lawmakers in the British parliament vote in favour of early elections - something that Labour leader Jeremy Corbyn has previously indicated he would do.

Corbyn, a veteran socialist with support on the left of the party, won the Labour leadership in September 2015 after the party's defeat in that year's election.

High approval rating
Corbyn, 67, enjoys grassroots support from left-wingers but is opposed by most of the party's more centrist lawmakers, who say that Labour under his leadership is not appealing to the middle classes.

May in contrast has scored consistently well in terms of personal popularity and polls have shown approval of her handling of the run-up to Brexit negotiations.

When asked who they thought would be the best prime minister, 50 percent of respondents in the YouGov poll said Theresa May and only 14 per cent Corbyn.

May came to power in July 2016 after her predecessor David Cameron resigned following the shock Brexit referendum vote in June for which he had campaigned for Britain to stay in the European Union.

The 60-year-old vicar's daughter is Britain's second prime minister after Margaret Thatcher and many commentators have drawn comparisons to the steely determination of the "Iron Lady".

May worked in finance, including at the Bank of England, before being elected as MP for the London commuter town of Maidenhead in 1997.

As Conservative chairwoman in 2002, she made waves by suggesting the Tories were seen as "the nasty party" and needed to overhaul their image - something that they did under Cameron's leadership.

When the Conservatives won the 2010 general election, May was named home secretary, the hardest job in government which has wrecked a string of other political careers.